X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=scripts%2Fpkgmgmt;h=c174991c7718cfefff4336b30abb3567f7b32453;hb=95e2774070e989fe9cf9f48dae5fa054e55e2a3e;hp=99cc96c95641b849ecf7ca44f1a07f7b09ee9370;hpb=3f3cf95f755f3ef1c31ad8e38153deb4ee214c66;p=util-vserver.git diff --git a/scripts/pkgmgmt b/scripts/pkgmgmt index 99cc96c..c174991 100755 --- a/scripts/pkgmgmt +++ b/scripts/pkgmgmt @@ -1,5 +1,5 @@ #!/bin/bash -# $Id: pkgmgmt,v 1.13 2005/07/03 17:43:34 ensc Exp $ +# $Id: pkgmgmt 2599 2007-08-26 21:30:50Z dhozac $ # Copyright (C) 2004,2005 Enrico Scholz # @@ -23,6 +23,7 @@ test -e "$UTIL_VSERVER_VARS" || { } . "$UTIL_VSERVER_VARS" . "$_LIB_FUNCTIONS" +. "$_LIB_VSERVER_BUILD_FUNCTIONS" . "$_LIB_VSERVER_BUILD_FUNCTIONS_PKGMGMT" . "$__PKGLIBDIR/vserver.functions" @@ -54,7 +55,6 @@ function init() else rpmdb_mntpoint=/.rpmdb fi - pkgmgmt.initVariables } function _createDirs() @@ -94,7 +94,7 @@ function _substFile() $_CHROOT_SH testfile "$file" || return 0 - local tmp=$($_MKTEMP /tmp/pkgmgmt_subst.XXXXXX) + local tmp=$($_MKTEMP pkgmgmt_subst.XXXXXX) trap "$_RM -f $tmp" EXIT $_CHROOT_SH cat "$file" | \ @@ -113,7 +113,7 @@ function _hashAuto() $_CHROOT_SH testfile "$file" || return 0 - local tmp=$($_MKTEMP /tmp/apt.conf.XXXXXX) + local tmp=$($_MKTEMP apt.conf.XXXXXX) trap "$_RM -f $tmp" EXIT $_CHROOT_SH cat "$file" | \ @@ -130,7 +130,7 @@ function _unhashAuto() test -e "$1" || return 0 local hash=$2 - local tmp=$($_MKTEMP /tmp/apt.conf.XXXXXX) + local tmp=$($_MKTEMP apt.conf.XXXXXX) trap "$_RM -f $tmp" EXIT $_SED -e "s|^$hash$hash\(.*@autogenerated@\)|\1|" "$1" >$tmp @@ -160,8 +160,9 @@ function _mountFilesystems() } test -n "$_HAVE_CHBIND_OPTIONS" || _generateChbindOptions "$1" - _mountFilesystemsInternal "$cfgdir"/fstab $_CHBIND "${CHBIND_OPTS[@]}" || return 1 - _mountFilesystemsInternal "$cfgdir"/fstab.local $_CHBIND "${CHBIND_OPTS[@]}" || return 1 + _mountFilesystemsInternal "$cfgdir"/fstab || return 1 + _mountFilesystemsInternal "$cfgdir"/fstab.local || return 1 + _mountFilesystemsInternal "$cfgdir"/fstab.remote "${CHBIND_CMD[@]}" || return 1 } function _umountFilesystems() @@ -176,8 +177,9 @@ function _umountFilesystems() test -n "$_HAVE_CHBIND_OPTIONS" || _generateChbindOptions "$1" pushd "$vdir/" >/dev/null || return 1 - _umountVserverInternal "$cfgdir"/fstab.local || is_ok= - _umountVserverInternal "$cfgdir"/fstab $_CHBIND "${CHBIND_OPTS[@]}" || is_ok= + _umountVserverInternal "$cfgdir"/fstab.remote "${CHBIND_CMD[@]}" || is_ok= + _umountVserverInternal "$cfgdir"/fstab.local || is_ok= + _umountVserverInternal "$cfgdir"/fstab || is_ok= popd >/dev/null || return 1 test -n "$is_ok" @@ -350,7 +352,7 @@ Can not continue; use '--force' to override this check" if test -n "$is_internalize"; then : else - tmpdir=$($_MKTEMPDIR /var/tmp/pgmgmt.XXXXXX) + tmpdir=$($_MKTEMPDIR -p /var/tmp pkgmgmt.XXXXXX) trap "$_RM -rf $tmpdir" EXIT pushd "$vdir" >/dev/null $_EXEC_CD /var/lib $_MV rpm $tmpdir/ @@ -396,6 +398,11 @@ function processVserver() echo $"Vserver '$vserver' does not seem to exist; skipping it..." return 1 } >&2 + + _setVserverDir "$vserver" + _setVserverName + _setVserverDirName + pkgmgmt.initVariables pkgmgmt.isInternal "$vserver" || is_external=1