;;
esac
+
+ if test -z "$WORKAROUND_106057"; then
+ _rpmdb_mntpoint=/dev
+ else
+ _rpmdb_mntpoint=/.rpmdb
+ fi
}
function _pkgSetVarsRPM
{
_pkgMountBindDir "$RPMETCDIR" /etc/rpm
test "$RPMLIBDIR" = "/" || _pkgMountBindDir "$RPMLIBDIR" /usr/lib/rpm
- "$_SECURE_MOUNT" "$VDIR" "$RPMSTATEDIR" /var/lib/rpm
+
+ "$_SECURE_MOUNT" "$VDIR" "$RPMSTATEDIR" "$_rpmdb_mntpoint"
+ test -z "$WORKAROUND_106057" || mount -n --bind "$RPMSTATEDIR" "$_rpmdb_mntpoint"
}
function _pkgSetEnvBase
function _pkgSetEnvRPM
{
CUR_VSERVER=$vserver
- RPM_FAKE_NAMESPACE_MOUNTS=/var/lib/rpm
+ RPM_FAKE_NAMESPACE_MOUNTS=$_rpmdb_mntpoint
RPM_BINARY=$_VRPM_PRELOAD
export CUR_VSERVER RPM_FAKE_NAMESPACE_MOUNTS RPM_BINARY
eval "$var=\"$var ${i##$CONFDIR/}\""
done
}
+
+function isVserverRunning
+{
+ local vdir=$1
+ test -r "$vdir/run" || return 1
+
+ local ctx
+ read ctx <"$vdir"/run || { echo "Failed to read ctx information" >&2; return 0; }
+
+ local cnt=$($_VPS ax | $_AWK '{print $2}' | $_GREP -x "$ctx" | $_WC -l )
+
+ if test $cnt = 0; then
+ ## Remove old lock-file
+ rm -f $(readlink "$vdir/run")
+ return 1
+ else
+ return 0
+ fi
+}