#! /bin/bash # $Id$ # Copyright (C) 2003 Enrico Scholz # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; version 2 of the License. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. set -e : ${UTIL_VSERVER_VARS:=/usr/lib/util-vserver/util-vserver-vars} test -e "$UTIL_VSERVER_VARS" || { echo $"Can not find util-vserver installation (the file '$UTIL_VSERVER_VARS' would be expected); aborting..." >&2 exit 1 } . "$UTIL_VSERVER_VARS" 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 } #RPM_FAKE_S_CONTEXT_REV=$scall_rev \ #RPM_FAKE_S_CONTEXT_NR=$scall_nr \ RPM_FAKE_CHROOT=$vdir \ RPM_FAKE_CTX=$ctx \ RPM_FAKE_CAP=$[ ~0xd40c04ff ] \ LD_PRELOAD=$lib${LD_PRELOAD:+:$LD_PRELOAD} \ exec $bin "$@"