initial checkin
[util-vserver.git] / util-vserver / scripts / functions
index 827910a..4ff4e41 100644 (file)
@@ -87,7 +87,7 @@ function _pkgSetVarsBase
                test -d "$PKGDIR" || {
                    echo "Can not find configuration-directory for package-managment tools"
                    exit 1
-               }
+               } >&2
                findDir EXECDIR      $PKGDIR/execdir     /
            else
                VDIR=$(getPhysicalDir "$vserver")
@@ -99,17 +99,17 @@ function _pkgSetVarsBase
            test -d "$BASEDIR" || {
                echo "Can not find configuration-directory"
                exit 1
-           }
+           } >&2
            
            VDIR=$BASEDIR/vdir
-           test -d "$VDIR"   || VDIR=/vservers/$vserver
+           test -d "$VDIR"   || VDIR=$DEFAULT_VSERVERDIR/$vserver
            VDIR=$(getPhysicalDir "$VDIR")
            
            PKGDIR=$BASEDIR/apps/pkgmgmt
            test -d "$PKGDIR" || {
                echo "Can not find configuration-directory for package-managment tools"
                exit 1
-           }
+           } >&2
 
            findDir EXECDIR      $PKGDIR/execdir     /
 
@@ -176,8 +176,9 @@ function _pkgMountRPM
 
     "$_SECURE_MOUNT" --chroot "$VDIR" -n --secure --bind "$RPMSTATEDIR" "$_rpmdb_mntpoint"
     test -z "$WORKAROUND_106057" || mount -n --bind "$RPMSTATEDIR" "$_rpmdb_mntpoint"
-    
-    "$_SECURE_MOUNT" --chroot "$VDIR" -n --secure -t proc none /proc
+
+    test -e "$VDIR"/proc/self/status || \
+       "$_SECURE_MOUNT" --chroot "$VDIR" -n --secure -t proc none /proc
 }
 
 function _pkgSetEnvBase
@@ -215,7 +216,7 @@ function pkgInit
        case "$i" in
            rpm)        _pkgSetVarsRPM;;
            apt)        _pkgSetVarsApt;;
-           *)          echo "Unknown packaging flavor"; exit 1;;
+           *)          echo "Unknown packaging flavor" >&2; exit 1;;
        esac
     done
 
@@ -334,7 +335,7 @@ function checkComponents
            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'"
+           *)          echo "Unknown component '$i'" >&2
                        return false
                        ;;
        esac
@@ -342,8 +343,15 @@ function checkComponents
        test -z "$failed" || {
            echo "$msg: $i"
            x_failed=1
-       }
+       } >&2
     done
 
     test -z "$x_failed"
 }
+
+## Usage: isKernelAPI <ver> [<cmp-modifier>]
+function isKernelAPI
+{
+    local api=$($_VSERVER_INFO - APIVER) || api=0
+    test $[ $api ] -${2:-ge} $[ $1 ]
+}