X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=etc%2Fgrml%2Flsb-functions;h=89c3f390e20b68847f96e6c33ed0e1663e43a2ed;hb=158d2aff363f208b9216e0a7373639a926266601;hp=fadbbe744b5e0ee81d20b6894aa07cce422c408a;hpb=723616a1ccff8dc3494fff9b3a43290a75080261;p=grml-etc-core.git diff --git a/etc/grml/lsb-functions b/etc/grml/lsb-functions index fadbbe7..89c3f39 100644 --- a/etc/grml/lsb-functions +++ b/etc/grml/lsb-functions @@ -31,18 +31,18 @@ TPUT="${TPUT:-"/usr/bin/tput"}" -have_tput() { +_have_tput() { [ -x "$TPUT" ] && "$TPUT" hpa 60 >/dev/null 2>&1 \ && return 0 \ || return 1 } -log_success_msg () { +log_success_msg() { printf " * $@\n" } -log_failure_msg () { - if have_tput ; then +log_failure_msg() { + if _have_tput ; then RED="$("$TPUT" setaf 1)" #NORMAL="$("$TPUT" op)" printf " ${RED}*${NORMAL} $@\n" @@ -51,8 +51,8 @@ log_failure_msg () { fi } -log_warning_msg () { - if have_tput ; then +log_warning_msg() { + if _have_tput ; then YELLOW="$("$TPUT" setaf 3)" #NORMAL="$("$TPUT" op")" # printf " *${NORMAL} $@\n" @@ -62,8 +62,8 @@ log_warning_msg () { fi } -log_warning_msg_nn () { - if have_tput ; then +log_warning_msg_nn() { + if _have_tput ; then YELLOW="$("$TPUT" setaf 3)" printf " ${BLUE}*${NORMAL} $@" else @@ -72,14 +72,14 @@ log_warning_msg_nn () { } # int log_begin_message (char *message) -log_begin_msg () { +log_begin_msg() { if [ "$#" -eq 0 ]; then return 1 fi printf " ${GREEN}*${NORMAL} $@\n" } -log_begin_msg_nn () { +log_begin_msg_nn() { if [ "$#" -eq 0 ]; then return 1 fi @@ -90,14 +90,14 @@ log_begin_msg_nn () { SUBMSG=" ${GREEN}-${NORMAL} " # int log_end_message (int exitstatus) -log_end_msg () { +log_end_msg() { # If no arguments were passed, return [ "$#" -eq 0 ] && return 1 # Only do the fancy stuff if we have an appropriate terminal # and if /usr is already mounted - if have_tput ; then + if _have_tput ; then COLS="$("$TPUT" cols)" if [ -n "$COLS" ]; then COL=$(( "$COLS" - 7 )) @@ -167,23 +167,6 @@ RC_DEFAULT_INDENT=2 #RC_DOT_PATTERN=' .' RC_DOT_PATTERN='' -# void splash(...) -# -# Notify bootsplash/splashutils/gensplash/whatever about -# important events. -# -splash() { - return 0 -} - -# void profiling(...) -# -# Notify bootsplash/whatever about important events. -# -profiling() { - return 0 -} - # void get_bootconfig() # # Get the BOOTLEVEL and SOFTLEVEL by setting @@ -221,19 +204,6 @@ get_bootconfig() { return 0 } -# void get_libdir(void) -# -# prints the current libdir {lib,lib32,lib64} -# -get_libdir() { - if [ -n "${CONF_LIBDIR_OVERRIDE}" ] ; then - CONF_LIBDIR="${CONF_LIBDIR_OVERRIDE}" - elif [ -x "/usr/bin/portageq" ] ; then - CONF_LIBDIR="$(/usr/bin/portageq envvar CONF_LIBDIR)" - fi - printf '%s\n' ${CONF_LIBDIR:=lib} -} - # void esyslog(char* priority, char* tag, char* message) # # use the system logger to log a message @@ -435,84 +405,6 @@ ewend() { return $retval } -# v-e-commands honor RC_VERBOSE which defaults to no. -# The condition is negated so the return value will be zero. -veinfo() { [ "${RC_VERBOSE}" != "yes" ] || einfo "$@"; } -veinfon() { [ "${RC_VERBOSE}" != "yes" ] || einfon "$@"; } -vewarn() { [ "${RC_VERBOSE}" != "yes" ] || ewarn "$@"; } -veerror() { [ "${RC_VERBOSE}" != "yes" ] || eerror "$@"; } -vebegin() { [ "${RC_VERBOSE}" != "yes" ] || ebegin "$@"; } -veend() { - [ "${RC_VERBOSE}" = "yes" ] && { eend "$@"; return $?; } - return ${1:-0} -} -veend() { - [ "${RC_VERBOSE}" = "yes" ] && { ewend "$@"; return $?; } - return ${1:-0} -} - -# char *KV_minor(string) -# -# Return the Minor (Y of X.Y.Z) kernel version -# -KV_minor() { - [ -z "$1" ] && return 1 - - local KV="$@" - KV="${KV#*.}" - printf "${KV%%.*}\n" -} - -# char *KV_micro(string) -# -# Return the Micro (Z of X.Y.Z) kernel version. -# -KV_micro() { - [ -z "$1" ] && return 1 - - local KV="$@" - KV="${KV#*.*.}" - printf "${KV%%[^[:digit:]]*}\n" -} - -# int KV_to_int(string) -# -# Convert a string type kernel version (2.4.0) to an int (132096) -# for easy compairing or versions ... -# -KV_to_int() { - [ -z "$1" ] && return 1 - - local KV_MAJOR="$(KV_major "$1")" - local KV_MINOR="$(KV_minor "$1")" - local KV_MICRO="$(KV_micro "$1")" - local KV_int=$(( KV_MAJOR * 65536 + KV_MINOR * 256 + KV_MICRO )) - - # We make version 2.2.0 the minimum version we will handle as - # a sanity check ... if its less, we fail ... - if [ "${KV_int}" -ge 131584 ] ; then - printf "${KV_int}\n" - return 0 - fi - - return 1 -} - -# int get_KV() -# -# Return the kernel version (major, minor and micro concated) as an integer. -# Assumes X and Y of X.Y.Z are numbers. Also assumes that some leading -# portion of Z is a number. -# e.g. 2.4.25, 2.6.10, 2.6.4-rc3, 2.2.40-poop, 2.0.15+foo -# -get_KV() { - local KV="$(uname -r)" - - printf "$(KV_to_int "${KV}")\n" - - return $? -} - # bool get_bootparam(param) # # return 0 if gentoo=param was passed to the kernel @@ -550,50 +442,6 @@ get_bootparam() { return ${retval} } -# Safer way to list the contents of a directory, -# as it do not have the "empty dir bug". -# -# char *dolisting(param) -# -# print a list of the directory contents -# -# NOTE: quote the params if they contain globs. -# also, error checking is not that extensive ... -# -dolisting() { - local x - local y - local tmpstr - local mylist - local mypath="$*" - - if [ "${mypath%/\*}" != "${mypath}" ] - then - mypath="${mypath%/\*}" - fi - - for x in ${mypath} - do - [ ! -e "${x}" ] && continue - - if [ ! -d "${x}" ] && ( [ -L "${x}" ] || [ -f "${x}" ] ) - then - mylist="${mylist} $(ls "${x}" 2> /dev/null)" - else - [ "${x%/}" != "${x}" ] && x="${x%/}" - - cd "${x}"; tmpstr="$(ls)" - - for y in ${tmpstr} - do - mylist="${mylist} ${x}/${y}" - done - fi - done - - printf "${mylist}\n" -} - # char *add_suffix(char * configfile) # # Returns a config file name with the softlevel suffix @@ -609,57 +457,6 @@ add_suffix() { return 0 } -# Network filesystems list for common use in rc-scripts. -# This variable is used in is_net_fs and other places such as -# localmount. -NET_FS_LIST="afs cifs coda gfs ncpfs nfs nfs4 shfs smbfs" - -# bool is_net_fs(path) -# -# return 0 if path is the mountpoint of a networked filesystem -# -# EXAMPLE: if is_net_fs / ; then ... -# -is_net_fs() { - local fstype - # /proc/mounts is always accurate but may not always be available - if [ -e /proc/mounts ]; then - fstype="$( sed -n -e '/^rootfs/!s:.* '"$1"' \([^ ]*\).*:\1:p' /proc/mounts )" - else - fstype="$( mount | sed -n -e 's:.* on '"$1"' type \([^ ]*\).*:\1:p' )" - fi - case " ${NET_FS_LIST} " in - *" ${fstype} "*) - return 0 - ;; - *) - return 1 - ;; - esac -} - -# bool is_uml_sys() -# -# return 0 if the currently running system is User Mode Linux -# -# EXAMPLE: if is_uml_sys ; then ... -# -is_uml_sys() { - grep -qs 'UML' /proc/cpuinfo - return $? -} - -# bool is_vserver_sys() -# -# return 0 if the currently running system is a Linux VServer -# -# EXAMPLE: if is_vserver_sys ; then ... -# -is_vserver_sys() { - grep -qs '^s_context:[[:space:]]*[1-9]' /proc/self/status - return $? -} - # bool get_mount_fstab(path) # # return the parameters to pass to the mount command generated from fstab