diff --git a/xbps-src/etc/xbps-src.conf.in b/xbps-src/etc/xbps-src.conf.in index 74438606197..5b2e85ddfe2 100644 --- a/xbps-src/etc/xbps-src.conf.in +++ b/xbps-src/etc/xbps-src.conf.in @@ -14,17 +14,10 @@ XBPS_INSTALLDIR=@@XBPS_INSTALL_PREFIX@@ XBPS_DISTRIBUTIONDIR=$HOME/xbps-templates # -# Master directory: this is where all packages files are copied from -# XBPS_DESTDIR, to resolve dependencies. +# Chroot master directory. # XBPS_MASTERDIR=$XBPS_DISTRIBUTIONDIR/masterdir -# -# Destination directory: this is where all package files will be -# installed. -# -XBPS_DESTDIR=$XBPS_DISTRIBUTIONDIR/destdir - # # Binary packages directory: this is where the binary packages will # be created to. diff --git a/xbps-src/shutils/chroot.sh b/xbps-src/shutils/chroot.sh index 56693bd2c08..2e462b8dc41 100644 --- a/xbps-src/shutils/chroot.sh +++ b/xbps-src/shutils/chroot.sh @@ -199,7 +199,7 @@ mount_chroot_fs() { local cnt= - REQFS="sys proc dev xbps xbps_builddir xbps_destdir \ + REQFS="sys proc dev xbps xbps_builddir \ xbps_packagesdir xbps_srcdistdir" for f in ${REQFS}; do @@ -209,7 +209,6 @@ mount_chroot_fs() case $f in xbps) blah=$XBPS_DISTRIBUTIONDIR;; xbps_builddir) blah=$XBPS_BUILDDIR;; - xbps_destdir) blah=$XBPS_DESTDIR;; xbps_srcdistdir) blah=$XBPS_SRCDISTDIR;; xbps_packagesdir) blah=$XBPS_PACKAGESDIR;; *) blah=/$f;; @@ -292,7 +291,6 @@ XBPSSRC_CF=$XBPS_MASTERDIR/usr/local/etc/xbps-src.conf echo "XBPS_DISTRIBUTIONDIR=/xbps" > $XBPSSRC_CF echo "XBPS_MASTERDIR=/" >> $XBPSSRC_CF -echo "XBPS_DESTDIR=/xbps_destdir" >> $XBPSSRC_CF echo "XBPS_PACKAGESDIR=/xbps_packagesdir" >> $XBPSSRC_CF echo "XBPS_BUILDDIR=/xbps_builddir" >> $XBPSSRC_CF echo "XBPS_SRCDISTDIR=/xbps_srcdistdir" >> $XBPSSRC_CF diff --git a/xbps-src/shutils/common_funcs.sh b/xbps-src/shutils/common_funcs.sh index fc0c40fd5c8..98ce93a6807 100644 --- a/xbps-src/shutils/common_funcs.sh +++ b/xbps-src/shutils/common_funcs.sh @@ -46,8 +46,7 @@ run_rootcmd() [ -n "$in_chroot" ] && unset fakeroot_cmd - lenv="XBPS_DESTDIR=$XBPS_DESTDIR" - lenv="XBPS_DISTRIBUTIONDIR=$XBPS_DISTRIBUTIONDIR $lenv" + lenv="XBPS_DISTRIBUTIONDIR=$XBPS_DISTRIBUTIONDIR" shift if [ "$usesudo" = "yes" -a -z "$in_chroot" ]; then diff --git a/xbps-src/shutils/pkgtarget_funcs.sh b/xbps-src/shutils/pkgtarget_funcs.sh index eb43685121e..b6a36049057 100644 --- a/xbps-src/shutils/pkgtarget_funcs.sh +++ b/xbps-src/shutils/pkgtarget_funcs.sh @@ -153,13 +153,13 @@ remove_pkg() stow_pkg_handler unstow || return $? for subpkg in ${subpackages}; do - if [ -d $XBPS_DESTDIR/${subpkg}-${ver%_${revision}} ]; then - rm -rf $XBPS_DESTDIR/${subpkg}-${ver%_${revision}} + if [ -d "$XBPS_DESTDIR/${subpkg}-${ver%_*}" ]; then + rm -rf "$XBPS_DESTDIR/${subpkg}-${ver%_*}" fi done - if [ -d $XBPS_DESTDIR/${pkgname}-${ver%_${revision}} ]; then - rm -rf $XBPS_DESTDIR/${pkgname}-${ver%_${revision}} + if [ -d "$XBPS_DESTDIR/${pkgname}-${ver%_*}" ]; then + rm -rf "$XBPS_DESTDIR/${pkgname}-${ver%_*}" fi return $? } diff --git a/xbps-src/xbps-src.sh.in b/xbps-src/xbps-src.sh.in index 770dacc9462..d88fce3a0a6 100644 --- a/xbps-src/xbps-src.sh.in +++ b/xbps-src/xbps-src.sh.in @@ -107,6 +107,11 @@ set_defvars() : ${XBPS_META_PATH:=$XBPS_DBDIR/} : ${XBPS_PKGMETADIR:=$XBPS_DBDIR/metadata} : ${XBPS_SRCPKGDIR:=$XBPS_DISTRIBUTIONDIR/srcpkgs} + if [ -n "$in_chroot" ]; then + : ${XBPS_DESTDIR:=/pkg-destdir} + else + : ${XBPS_DESTDIR:=$XBPS_MASTERDIR/pkg-destdir} + fi DDIRS="XBPS_TRIGGERSDIR XBPS_HELPERSDIR" DDIRS="$DDIRS XBPS_COMMONVARSDIR XBPS_SHUTILSDIR" @@ -158,9 +163,7 @@ check_config_vars() msg_error "cannot find configuration file: $XBPS_CONFIG_FILE" fi - local XBPS_VARS="XBPS_MASTERDIR XBPS_DESTDIR XBPS_BUILDDIR \ - XBPS_SRCDISTDIR" - + local XBPS_VARS="XBPS_MASTERDIR XBPS_BUILDDIR XBPS_SRCDISTDIR" for f in ${XBPS_VARS}; do eval val="\$$f" [ -z "$val" ] && msg_error "'$f' not set in configuration file"