use $(LIBENSCVECTOR) instead of libensc_vector.a
[util-vserver.git] / util-vserver / scripts / vrpm-preload
index ec73503..db99902 100755 (executable)
@@ -24,57 +24,14 @@ test -e "$UTIL_VSERVER_VARS" || {
     exit 1
 }
 . "$UTIL_VSERVER_VARS"
+. "$_LIB_FUNCTIONS"
 
-function getCapFlags
-{
-    local ctx=$1
-    
-    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 }')
-    else
-       set --
-    fi
-
-    if test "$3"; then
-       RPM_FAKE_CAP=$[ ~0x$1 ]
-       RPM_FAKE_FLAGS=$3
-    else
-       RPM_FAKE_CAP=$[ ~0xd40c04ff ]
-       RPM_FAKE_FLAGS=4
-    fi
-}
-
-lib=$_RPM_FAKE_SO
-
-#scall_nr=$($_VSERVER_INFO  x SYSCALL_NEW_S_CONTEXT_NR  2>/dev/null)
-#scall_rev=$($_VSERVER_INFO x SYSCALL_NEW_S_CONTEXT_REV 2>/dev/null)
-vdir=$($_VSERVER_INFO "$CUR_VSERVER" VDIR)    || vdir="$CUR_VSERVER"
-ctx=$($_VSERVER_INFO  "$CUR_VSERVER" CONTEXT) || ctx=
-
-test -d "$vdir" || {
-    echo $"Can not find chroot environment at '$vdir' for '$CUR_VSERVER'" >&2
-    exit 1
-}
 for bin in `which rpm` /bin/rpm /usr/lib/rpm/rpm${RPM_FLAVOR:-i} ""; do
     ldd "$bin" &>/dev/null && break
 done
 
-test "$bin" || {
-    echo $"No dynamically linked rpm binary found; exiting..."  >&2
-    exit 1
-}
-
-
-getCapFlags "$ctx"
-
-export RPM_FAKE_CAP RPM_FAKE_FLAGS
+test -x "$bin" ||
+    panic $"No dynamically linked rpm binary found; exiting..."
 
-#RPM_FAKE_S_CONTEXT_REV=$scall_rev \
-#RPM_FAKE_S_CONTEXT_NR=$scall_nr \
-RPM_FAKE_CHROOT=$vdir \
-RPM_FAKE_CTX=$ctx \
-LD_PRELOAD=$lib${LD_PRELOAD:+:$LD_PRELOAD} \
-exec $bin "$@"
+rpmFake.init "$CUR_VSERVER"
+rpmFake.exec "$bin" "$@"