diff --git a/xbps-src b/xbps-src index 3e38212c8fb..4839bcc104f 100755 --- a/xbps-src +++ b/xbps-src @@ -535,12 +535,13 @@ if [ -f $XBPS_MASTERDIR/.xbps_chroot_init ]; then export CHROOT_READY=1 fi -if [ -s $XBPS_MASTERDIR/.xbps_chroot_init ]; then +if [ -z "$XBPS_REINIT" -a -s $XBPS_MASTERDIR/.xbps_chroot_init ]; then export XBPS_ARCH=$(cat $XBPS_MASTERDIR/.xbps_chroot_init) - if [ "$XBPS_MACHINE" = "x86_64" -a "$XBPS_ARCH" = "i686" -a -z "$IN_CHROOT" ]; then + if [[ $XBPS_MACHINE == x86_64* ]] && [[ $XBPS_ARCH == i686* ]]; then # reconfigure pkgs via linux32 linux32 xbps-reconfigure -r ${XBPS_MASTERDIR} -a &>/dev/null # reexec itself via linux32 + export XBPS_REINIT=1 exec linux32 $0 ${XBPS_OPTIONS} $@ fi fi