4 # Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
6 # This program is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; version 2 of the License.
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU General Public License for more details.
15 # You should have received a copy of the GNU General Public License
16 # along with this program; if not, write to the Free Software
17 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
21 : ${UTIL_VSERVER_VARS:=/usr/lib/util-vserver/util-vserver-vars}
22 test -e "$UTIL_VSERVER_VARS" || {
23 echo $"Can not find util-vserver installation (the file '$UTIL_VSERVER_VARS' would be expected); aborting..." >&2
26 . "$UTIL_VSERVER_VARS"
32 if test "$ctx" && ! $_VSERVER_INFO - FEATURE migrate; then
33 set -- $($_CHCONTEXT_COMPAT --xid 1 \
34 sh -c "cat /proc/[0-9]*/status | egrep '^(CapBset|s_context|ctxflags)'" | \
35 grep -B 1 -A 1 "^s_context: $ctx " | \
36 sed -e '1,3p;d' | awk '{ print $2 }')
42 RPM_FAKE_CAP=$[ ~0x$1 ]
45 RPM_FAKE_CAP=$[ ~0xd40c04ff ]
52 #scall_nr=$($_VSERVER_INFO x SYSCALL_NEW_S_CONTEXT_NR 2>/dev/null)
53 #scall_rev=$($_VSERVER_INFO x SYSCALL_NEW_S_CONTEXT_REV 2>/dev/null)
54 vdir=$($_VSERVER_INFO "$CUR_VSERVER" VDIR) || vdir="$CUR_VSERVER"
55 ctx=$($_VSERVER_INFO "$CUR_VSERVER" CONTEXT) || ctx=
58 echo $"Can not find chroot environment at '$vdir' for '$CUR_VSERVER'" >&2
61 for bin in `which rpm` /bin/rpm /usr/lib/rpm/rpm${RPM_FLAVOR:-i} ""; do
62 ldd "$bin" &>/dev/null && break
66 echo $"No dynamically linked rpm binary found; exiting..." >&2
73 export RPM_FAKE_CAP RPM_FAKE_FLAGS
75 #RPM_FAKE_S_CONTEXT_REV=$scall_rev \
76 #RPM_FAKE_S_CONTEXT_NR=$scall_nr \
77 RPM_FAKE_CHROOT=$vdir \
79 LD_PRELOAD=$lib${LD_PRELOAD:+:$LD_PRELOAD} \