use $_<prog> (which expands to absolute paths) instead of trusting into a good $PATH
authorEnrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Tue, 28 Dec 2004 19:07:48 +0000 (19:07 +0000)
committerEnrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Tue, 28 Dec 2004 19:07:48 +0000 (19:07 +0000)
git-svn-id: http://svn.linux-vserver.org/svn/util-vserver/trunk@1777 94cd875c-1c1d-0410-91d2-eb244daf1a30

util-vserver/scripts/functions
util-vserver/scripts/pkgmgmt
util-vserver/scripts/start-vservers
util-vserver/scripts/util-vserver-vars.pathsubst
util-vserver/scripts/vpkg
util-vserver/scripts/vrpm-preload
util-vserver/scripts/vserver-build.debootstrap
util-vserver/scripts/vserver-build.functions.apt
util-vserver/scripts/vserver-wrapper
util-vserver/scripts/vserver.start
util-vserver/scripts/vserver.stop

index e794173..22371ed 100644 (file)
@@ -63,7 +63,7 @@ function findAndCopy
     findFile tmp "$@"
 
     test "$tmp" -a -s "$tmp" || return 0
-    cp -af "$tmp" "$dst"
+    $_CP -af "$tmp" "$dst"
 }
 
 function getPhysicalDir
@@ -125,13 +125,13 @@ function colorize
     local      style=$1
     shift
     
-    if ! tty -s; then
+    if ! $_TTY -s; then
        "$@"
     else
        local   cfile
        findFile cfile "$CONFDIR"/.defaults/styles/"$style" ''
        if test "$cfile"; then
-         cat "$cfile"
+         $_CAT "$cfile"
        else
          case "$style" in
            (bold)      echo -ne "\e[1m";;
@@ -151,7 +151,7 @@ function colorize
 ## Usage: xtermTitle <title>
 function xtermTitle
 {
-    tty -s || return 0
+    $_TTY -s || return 0
     echo -ne "\e]0;$@\007"
 }
 
@@ -159,12 +159,12 @@ _VS_LOCKS=''
 ## Usage: lock <lockfile> [<timeout>]
 function lock
 {
-    local tmp=$(mktemp /tmp/vserver-lock.XXXXXX)
-    rm -f $tmp
-    mkfifo -m600 $tmp
+    local tmp=$($_MKTEMP /tmp/vserver-lock.XXXXXX)
+    $_RM -f $tmp
+    $_MKFIFO -m600 $tmp
 
     $_LOCKFILE "$1" $tmp $2 &
-    grep -q true $tmp 2>/dev/null || return 1
+    $_GREP -q true $tmp 2>/dev/null || return 1
     
     _VS_LOCKS="$! $_VS_LOCKS"
 }
@@ -189,7 +189,7 @@ function _pkgMountBindDir()
 {
     test "$1" != "$2" || return 0
 
-    mount -n --bind "$1" "$2"
+    $_MOUNT -n --bind "$1" "$2"
 }
 
 function _pkgSetVarsBase
@@ -293,11 +293,11 @@ function _pkgMountRPM
 
     pushd "$VDIR" >/dev/null
 
-    "$_SECURE_MOUNT" --chroot -n --bind "$RPMSTATEDIR" "$_rpmdb_mntpoint"
+    $_SECURE_MOUNT --chroot -n --bind "$RPMSTATEDIR" "$_rpmdb_mntpoint"
     test -z "$WORKAROUND_106057" || mount -n --bind "$RPMSTATEDIR" "$_rpmdb_mntpoint"
 
     test -e "$VDIR"/proc/self/status || \
-       "$_SECURE_MOUNT" --chroot -n -t proc none /proc
+       $_SECURE_MOUNT --chroot -n -t proc none /proc
 
     popd >/dev/null
 }
@@ -426,7 +426,7 @@ function getVserverStatus
 
     if test "$_tmp" = 0; then
        local runfile=$($_READLINK "$1/run")
-       test -z "$4" || rm -f "$runfile"
+       test -z "$4" || $_RM -f "$runfile"
        return 1
     fi
 
@@ -484,11 +484,11 @@ function checkComponents
     for i; do
        local failed=
        case "$i" in
-           core)       test -x "$_CHBIND"           || failed=1;;
-           build)      test -x "$_VSERVER_BUILD"    || failed=1;;
-           sysv)       test -x "$INITRDDIR/vserver" || failed=1;;
-           devel)      test -d "$INCLUDEDIR/vserver.h" || failed=1;;
-           *)          echo "Unknown component '$i'" >&2
+           (core)      test -x "$_CHBIND"           || failed=1;;
+           (build)     test -x "$_VSERVER_BUILD"    || failed=1;;
+           (sysv)      test -x "$INITRDDIR/vserver" || failed=1;;
+           (devel)     test -d "$INCLUDEDIR/vserver.h" || failed=1;;
+           (*)         echo "Unknown component '$i'" >&2
                        return false
                        ;;
        esac
@@ -626,7 +626,7 @@ function vshelper.doSanityCheck
     else
        vshelper=$(cat "$proc_file")
 
-       cmp -s "$vshelper" "$_VSHELPER" || {
+       $_CMP -s "$vshelper" "$_VSHELPER" || {
            warnings=( "${warnings[@]}"
                       $"The configured vshelper '$vshelper' does not match the 'vshelper'
   script of the util-vserver package"
@@ -751,7 +751,7 @@ function vshelper.doInit
     local f="$VSHELPERSTATEDIR/$xid"
     
     set -C
-    rm -f "$f"
+    $_RM -f "$f"
     echo "$1" >"$f"
     set +C
     
@@ -773,19 +773,19 @@ function vshelper.doDestroy
 {
     vshelper.isEnabled || return 0
 
-    rm -f "$VSHELPERSTATEDIR/$2"
+    $_RM -f "$VSHELPERSTATEDIR/$2"
 }
 
 ## Usage: vshelper.initSync <vserver> <pipe-varname>
 function vshelper.initSync
 {
-    local tmpdir=$(mktemp -d /tmp/vserver-stop.XXXXXX) || {
+    local tmpdir=$($_MKTEMPDIR /tmp/vserver-stop.XXXXXX) || {
        warning $"Failed to generate temporary directory for vshelper sync"
        return 1
     }
 
     local fifo="$tmpdir"/pipe
-    mkfifo -m700 "$fifo"
+    $_MKFIFO -m700 "$fifo"
     vshelper.doInit "$1" sync "$fifo"
     eval $2=\$fifo
 }
index fd14ec8..9a644b3 100755 (executable)
@@ -94,16 +94,16 @@ function _hashAuto()
 
     $_EXEC_CD "$dir" "$(which test)" "$file" || return 0
     
-    local tmp=$(mktemp /tmp/apt.conf.XXXXXX)
-    trap "rm -f $tmp" EXIT
+    local tmp=$($_MKTEMP /tmp/apt.conf.XXXXXX)
+    trap "$_RM -f $tmp" EXIT
 
-    $_EXEC_CD "$dir" /bin/cat "$file" | \
-       sed -e "s|^\([^$hash].*@autogenerated@\)|$hash$hash\1|" >$tmp
+    $_EXEC_CD "$dir" $_CAT "$file" | \
+       $_SED -e "s|^\([^$hash].*@autogenerated@\)|$hash$hash\1|" >$tmp
 
-    cat $tmp | $_EXEC_CD "$dir" "$(which cmp)" -s - "$file" || \
+    $_CAT $tmp | $_EXEC_CD "$dir" "$(which cmp)" -s - "$file" || \
        $_CHROOT_CAT "$1" <$tmp
 
-    rm -f $tmp
+    $_RM -f $tmp
 }
 
 function _unhashAuto()
@@ -111,14 +111,14 @@ function _unhashAuto()
     test -e "$1" || return 0
 
     local hash=$2
-    local tmp=$(mktemp /tmp/apt.conf.XXXXXX)
-    trap "rm -f $tmp" EXIT
+    local tmp=$($_MKTEMP /tmp/apt.conf.XXXXXX)
+    trap "$_RM -f $tmp" EXIT
 
-    sed -e "s|^$hash$hash\(.*@autogenerated@\)|\1|" "$1" >$tmp
-    cmp -s "$tmp" "$1" || \
-       cat "$tmp" >"$1"
+    $_SED -e "s|^$hash$hash\(.*@autogenerated@\)|\1|" "$1" >$tmp
+    $_CMP -s "$tmp" "$1" || \
+       $_CAT "$tmp" >"$1"
 
-    rm -f $tmp
+    $_RM -f $tmp
 }
 
 function _mountFilesystemsInternal()
@@ -190,9 +190,9 @@ function processVserver_RH()
        pushd "$vdir" >/dev/null
 
        test ! -L var/lib/rpm || {
-           $_EXEC_CD /var/lib /bin/rm            rpm &&
-           $_EXEC_CD /var/lib /bin/mkdir -m755   rpm &&
-           $_EXEC_CD /var/lib /bin/chown rpm:rpm rpm ||
+           $_EXEC_CD /var/lib $_RM            rpm &&
+           $_EXEC_CD /var/lib $_MKDIR -m755   rpm &&
+           $_EXEC_CD /var/lib $_CHOWN rpm:rpm rpm ||
            :
        } </dev/null 2>/dev/null
 
@@ -200,7 +200,7 @@ function processVserver_RH()
                 var/state/{,apt/{,lists/{,partial}}} \
                 etc/apt etc/rpm; do
            test -d "$i" ||
-               $_EXEC_CD /$(dirname "$i") /bin/mkdir -m755 $(basename "$i") || :
+               $_EXEC_CD /$(dirname "$i") $_MKDIR -m755 $(basename "$i") || :
        done #2>/dev/null
        
        popd >/dev/null
@@ -272,19 +272,19 @@ function processVserver_RH()
     if test "$is_internalize"; then
        :
     else
-       tmpdir=$(mktemp -d /var/tmp/pgmgmt.XXXXXX)
-       trap "rm -rf $tmpdir" EXIT
+       tmpdir=$($_MKTEMPDIR /var/tmp/pgmgmt.XXXXXX)
+       trap "$_RM -rf $tmpdir" EXIT
        pushd "$vdir" >/dev/null
-       $_EXEC_CD /var/lib /bin/mv rpm $tmpdir/
-       $_EXEC_CD /var/lib /bin/ln -s "$rpmdb_mntpoint" rpm
-       rm -rf $tmpdir
+       $_EXEC_CD /var/lib $_MV rpm $tmpdir/
+       $_EXEC_CD /var/lib $_LN_S "$rpmdb_mntpoint" rpm
+       $_RM -rf $tmpdir
     fi
 
     ## Finish it...
     if test "$is_internalize"; then
-       touch "$cfgdir"/internal
+       $_TOUCH "$cfgdir"/internal
     else
-       rm -f "$cfgdir"/internal
+       $_RM -f "$cfgdir"/internal
     fi
 }
 
index 2844d47..2b50c45 100755 (executable)
@@ -113,10 +113,10 @@ while test $i -gt 0; do
     unset vservers[$i]
 done
 
-makedir=$(mktemp -d /tmp/vserver-init.XXXXXX)
-okfile=$(mktemp     /tmp/vserver-init.XXXXXX)
-passedfile=$(mktemp /tmp/vserver-init.XXXXXX)
-trap "rm -rf $makedir $resultfile $passedfile" EXIT
+makedir=$($_MKTEMPDIR /tmp/vserver-init.XXXXXX)
+okfile=$($_MKTEMP     /tmp/vserver-init.XXXXXX)
+passedfile=$($_MKTEMP /tmp/vserver-init.XXXXXX)
+trap "$_RM -rf $makedir $resultfile $passedfile" EXIT
 
 test_cmd=false
 case "$OPTION_FLAVOR" in
@@ -174,7 +174,7 @@ done
 #cat $makedir/Makefile
 make -k ${NOOPTION_DEBUG:+-s} ${OPTION_PARALLEL:+-j$OPTION_PARALLEL} -C $makedir
 
-test -s "$passedfile"          || exit 0
-test -s "$okfile"              || exit 1
-cmp -s "$passedfile" "$okfile" || exit 2
+test  -s "$passedfile"           || exit 0
+test  -s "$okfile"               || exit 1
+$_CMP -s "$passedfile" "$okfile" || exit 2
 exit 0
index 21a79f3..91da0a5 100644 (file)
@@ -87,16 +87,36 @@ _VUNAME="$SBINDIR/vuname"
 _VUNIFY="$PKGLIBDIR/vunify"
 
 _AWK="@AWK@"
+_CAT="@CAT@"
+_CHOWN="@CHOWN@"
+_CMP="@CMP@"
+_CP="@CP@"
+_DIRNAME="@DIRNAME@"
+_EGREP="@EGREP@"
 _ENV="@ENV@"
 _GREP="@GREP@"
 _IP="@IP@"
 _IPTABLES="@IPTABLES@"
+_LN="@LN@"
+_LN_S="$_LN -s"
+_MKDIR="@MKDIR@"
+_MKFIFO="@MKFIFO@"
+_MKTEMP="@MKTEMP@"
+_MKTEMPDIR="$MKTEMP -d"
 _MODPROBE="@MODPROBE@"
 _MOUNT="@MOUNT@"
+_MV="@MV@"
 _NAMEIF="@NAMEIF@"
 _NICE="@NICE@"
+_RM="@RM@"
+_RMDIR="@RMDIR@"
 _RMMOD="@RMMOD@"
+_SED="@SED@"
+_SH="@SH@"
+_TAC="@TAC@"
 _TAR="@TAR@"
+_TOUCH="@TOUCH@"
+_TTY="@TTY@"
 _UMOUNT="@UMOUNT@"
 _VCONFIG="@VCONFIG@"
 _WC="@WC@"
index 7eddabb..2188dfd 100755 (executable)
@@ -84,7 +84,7 @@ case "$style" in
            ## rpm outputs sometimes '(contains no files)', so return
            ## only the valid output
            (get-conffiles)
-               rpm_param=( -qac --pipe "sed '\!^/!p;d'" );;
+               rpm_param=( -qac --pipe "$_SED '\!^/!p;d'" );;
            (install)
                rpm_param=( -Uvh "$@" )
                apt_param=( install "$@" )
index c82978c..ec73503 100755 (executable)
@@ -31,9 +31,9 @@ function getCapFlags
     
     if test "$ctx" && ! $_VSERVER_INFO - FEATURE migrate; then
        set -- $($_CHCONTEXT_COMPAT --xid 1 \
-           sh -c "cat /proc/[0-9]*/status | egrep '^(CapBset|s_context|ctxflags)'" | \
-           grep -B 1 -A 1 "^s_context: $ctx " | \
-           sed -e '1,3p;d' | awk '{ print $2 }')
+           $_SH -c "$_CAT /proc/[0-9]*/status | $_EGREP '^(CapBset|s_context|ctxflags)'" | \
+           $_GREP -B 1 -A 1 "^s_context: $ctx " | \
+           $_SED -e '1,3p;d' | $_AWK '{ print $2 }')
     else
        set --
     fi
index a69f486..2824292 100644 (file)
@@ -17,7 +17,7 @@
 
 function cleanUp
 {
-    test ! -d "$workdir"  || rm -rf "$workdir"
+    test ! -d "$workdir"  || $_RM -rf "$workdir"
 }
 
 function init
@@ -50,7 +50,7 @@ function findDebootstrap
 {
     pushd . &>/dev/null
     DEBOOTSTRAP=$(which debootstrap 2>/dev/null) || {
-        dir=$(mktemp -d /var/tmp/debootstrap.XXXXXX)
+        dir=$($_MKTEMPDIR /var/tmp/debootstrap.XXXXXX)
         workdir=$dir
         dst=$dir/debootstrap.deb
         
@@ -60,7 +60,7 @@ function findDebootstrap
        (/*)                    ln -s "$tmp" "$dst";;
        (http://*|ftp://*)
            $_WGET -nv -O "$dst" "$tmp" || {
-               cat <<EOF >&2
+               $_CAT <<EOF >&2
 ERROR: Could not download the debootstrap package from
 
    $dst
@@ -96,8 +96,8 @@ EOF
 
 function fixupDebian
 {
-    rm -rf "$1"/dev
-    mv "$1"/dev.X "$1"/dev
+    $_RM -rf "$1"/dev
+    $_MV "$1"/dev.X "$1"/dev
 }
 
 
index ae0a993..dd54cae 100644 (file)
@@ -69,14 +69,14 @@ function apt.initFilesystem
 
     local f="$PKGCFGDIR"/apt/etc/apt.conf
     if test -e "$f"; then
-       sed -e "s!@APTETCDIR@!$PKGCFGDIR/apt/etc!g" "$f" >"$f.tmp"
-       cmp -s "$f" "$f.tmp" || cat "$f.tmp" >"$f"
-       rm -f "$f.tmp"
+       $_SED -e "s!@APTETCDIR@!$PKGCFGDIR/apt/etc!g" "$f" >"$f.tmp"
+       $_CMP -s "$f" "$f.tmp" || $_CAT "$f.tmp" >"$f"
+       $_RM -f "$f.tmp"
     fi
 
     test -z "$APTCONFDEFAULT" || \
-       ln -s "$APTCONFDEFAULT"   "$PKGCFGDIR"/apt/etc/apt.conf.d/default.conf
+       $_LN_S "$APTCONFDEFAULT"   "$PKGCFGDIR"/apt/etc/apt.conf.d/default.conf
 
     test -z "$APTVENDORDEFAULT" || \
-       ln -s "$APTVENDORDEFAULT" "$PKGCFGDIR"/apt/etc/vendors.list.d/default.conf
+       $_LN_S "$APTVENDORDEFAULT" "$PKGCFGDIR"/apt/etc/vendors.list.d/default.conf
 }
index c210a33..41a3a80 100755 (executable)
@@ -66,7 +66,7 @@ function stop()
     $_START_VSERVERS -m "$MARK" -j "$NUMPARALLEL" --all --stop
     _tellResult $?
     local rc=$?
-    rm -f "$lockfile"
+    $_RM -f "$lockfile"
     return $rc
 }
 
index dbc5ca4..ef18c3f 100644 (file)
@@ -27,7 +27,7 @@ function cleanup()
 {
     set +e
 
-    test -z "$startsync_pipe"  || rm -f "$startsync_pipe"
+    test -z "$startsync_pipe"  || $_RM -f "$startsync_pipe"
     test -z "$is_started"      || { unlock; return 0; }
 
     if test "$is_configured" -a -z "$is_executed"; then
@@ -109,9 +109,9 @@ if $_VSERVER_INFO - FEATURE migrate; then
     "${INITCMD_START[@]}"
 else
     if test "$_IS_FAKEINIT"; then
-       startsync_pipe=$(mktemp /tmp/vserver-start.XXXXXX)
-       rm -f "$startsync_pipe"
-       mkfifo -m600 "$startsync_pipe"  ## safe, since mkfifo does not follow symlinks
+       startsync_pipe=$($_MKTEMP /tmp/vserver-start.XXXXXX)
+       $_RM -f "$startsync_pipe"
+       $_MKFIFO -m600 "$startsync_pipe"        ## safe, since mkfifo does not follow symlinks
     fi
     
     ${NICE_CMD[@]} \
index 129ce0b..3b4153b 100644 (file)
@@ -33,8 +33,8 @@ function cleanup
     unlock
     
     test ! -p "$sync_fifo" || {
-       rm -f "$sync_fifo"
-       rmdir $(dirname "$sync_fifo")
+       $_RM -f "$sync_fifo"
+       $_RMDIR $($_DIRNAME "$sync_fifo")
     }
 }