From 6100f83bcf7538622abd1924e11d51fd48a2a993 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sun, 4 Jan 2015 12:14:14 +0100 Subject: [PATCH] Revert "xbps-src: simplify chroot_handler usage." This reverts commit 0e0eb9001a901bf17f541efea297deb385fb09b8. Introduces new issues... revert until it's fixed properly. --- common/xbps-src/shutils/chroot.sh | 2 +- xbps-src | 37 +++++++++++++++++++++++-------- 2 files changed, 29 insertions(+), 10 deletions(-) diff --git a/common/xbps-src/shutils/chroot.sh b/common/xbps-src/shutils/chroot.sh index 8bd18ce8356..63e004315c3 100644 --- a/common/xbps-src/shutils/chroot.sh +++ b/common/xbps-src/shutils/chroot.sh @@ -164,7 +164,7 @@ chroot_handler() { local action="$1" pkg="$2" rv=0 arg= _envargs= _chargs= if [ -n "$IN_CHROOT" -o -z "$CHROOT_READY" ]; then - return 1 + return 0 fi # Debian uses /run/shm instead... if [ -d /run/shm ]; then diff --git a/xbps-src b/xbps-src index 5f2fe3cad9e..65262b66fa3 100755 --- a/xbps-src +++ b/xbps-src @@ -534,38 +534,57 @@ case "$XBPS_TARGET" in install_bbootstrap ;; bootstrap-update) - chroot_handler ${XBPS_TARGET} || remove_pkg_autodeps - ${XBPS_INSTALL_CMD} -yu + if [ -n "$CHROOT_READY" -a -z "$IN_CHROOT" ]; then + chroot_handler ${XBPS_TARGET} dummy + else + pkgver=xbps-src + remove_pkg_autodeps + ${XBPS_INSTALL_CMD} -yu + fi ;; chroot) chroot_handler chroot dummy ;; clean) if [ -z "$XBPS_TARGET_PKG" ]; then - chroot_handler remove-autodeps || remove_pkg_autodeps + if [ -n "$CHROOT_READY" -a -z "$IN_CHROOT" ]; then + chroot_handler remove-autodeps + else + pkgver=xbps-src + remove_pkg_autodeps + fi msg_normal "xbps-src: cleaning up masterdir...\n" rm -rf $XBPS_MASTERDIR/builddir $XBPS_MASTERDIR/destdir else read_pkg - chroot_handler $XBPS_TARGET $XBPS_TARGET_PKG || { + if [ -n "$CHROOT_READY" -a -z "$IN_CHROOT" ]; then + chroot_handler $XBPS_TARGET $XBPS_TARGET_PKG || exit $? + else remove_pkg_wrksrc $wrksrc remove_pkg_statedir if declare -f do_clean >/dev/null; then run_func do_clean fi - remove_pkg $XBPS_CROSS_BUILD - } + fi + remove_pkg $XBPS_CROSS_BUILD fi ;; remove-autodeps) - chroot_handler $XBPS_TARGET || remove_pkg_autodeps + if [ -n "$CHROOT_READY" -a -z "$IN_CHROOT" ]; then + chroot_handler remove-autodeps + else + pkgver=xbps-src + remove_pkg_autodeps + fi ;; fetch|extract|build|configure|install|pkg) BEGIN_INSTALL=1 read_pkg - chroot_handler $XBPS_TARGET $XBPS_TARGET_PKG || { + if [ -n "$CHROOT_READY" -a -z "$IN_CHROOT" ]; then + chroot_handler $XBPS_TARGET $XBPS_TARGET_PKG + else install_pkg $XBPS_TARGET $XBPS_CROSS_BUILD - } + fi ;; remove|remove-destdir) read_pkg