From 666d5e2c8f1b784431bb37b6eec63c2e396f1c79 Mon Sep 17 00:00:00 2001 From: Enrico Scholz Date: Thu, 27 Jan 2005 19:11:15 +0000 Subject: [PATCH] reorganized; moved lots of code into the 'functions' file git-svn-id: http://svn.linux-vserver.org/svn/util-vserver/trunk@1812 94cd875c-1c1d-0410-91d2-eb244daf1a30 --- util-vserver/scripts/vrpm-preload | 53 ++++----------------------------------- 1 file changed, 5 insertions(+), 48 deletions(-) diff --git a/util-vserver/scripts/vrpm-preload b/util-vserver/scripts/vrpm-preload index ec73503..181ecae 100755 --- a/util-vserver/scripts/vrpm-preload +++ b/util-vserver/scripts/vrpm-preload @@ -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 "$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" "$@" -- 1.8.1.5