xbps-src: support temp overlays with bwrap
This commit is contained in:
@@ -18,6 +18,14 @@ if [ -z "$MASTERDIR" -o -z "$DISTDIR" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
exec bwrap --bind "$MASTERDIR" / --ro-bind "$DISTDIR" /void-packages \
|
||||
--dev /dev --tmpfs /tmp --proc /proc \
|
||||
${HOSTDIR:+--bind "$HOSTDIR" /host} $EXTRA_ARGS "$@"
|
||||
if [ -z "$XBPS_TEMP_MASTERDIR" ]; then
|
||||
exec bwrap --bind "$MASTERDIR" / \
|
||||
--ro-bind "$DISTDIR" /void-packages \
|
||||
--dev /dev --tmpfs /tmp --proc /proc \
|
||||
${HOSTDIR:+--bind "$HOSTDIR" /host} ${EXTRA_ARGS} "$@"
|
||||
else
|
||||
exec bwrap --overlay-src "$MASTERDIR" --tmp-overlay / \
|
||||
--ro-bind "$DISTDIR" /void-packages \
|
||||
--dev /dev --tmpfs /tmp --proc /proc \
|
||||
${HOSTDIR:+--bind "$HOSTDIR" /host} ${EXTRA_ARGS} "$@"
|
||||
fi
|
||||
|
||||
@@ -33,4 +33,4 @@ if [ -z "$MASTERDIR" ] || [ -z "$DISTDIR" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
exec xbps-uchroot $EXTRA_ARGS -b $DISTDIR:/void-packages ${HOSTDIR:+-b $HOSTDIR:/host} -- $MASTERDIR $CMD $@
|
||||
exec xbps-uchroot ${XBPS_TEMP_MASTERDIR:+-O} $EXTRA_ARGS -b $DISTDIR:/void-packages ${HOSTDIR:+-b $HOSTDIR:/host} -- $MASTERDIR $CMD "$@"
|
||||
|
||||
@@ -179,6 +179,7 @@ chroot_handler() {
|
||||
SOURCE_DATE_EPOCH="$SOURCE_DATE_EPOCH" \
|
||||
XBPS_GIT_REVS="$XBPS_GIT_REVS" \
|
||||
XBPS_ALLOW_CHROOT_BREAKOUT="$XBPS_ALLOW_CHROOT_BREAKOUT" \
|
||||
XBPS_TEMP_MASTERDIR="$XBPS_TEMP_MASTERDIR" \
|
||||
${XBPS_ALT_REPOSITORY:+XBPS_ALT_REPOSITORY=$XBPS_ALT_REPOSITORY} \
|
||||
$XBPS_COMMONDIR/chroot-style/${XBPS_CHROOT_CMD:=uunshare}.sh \
|
||||
$XBPS_MASTERDIR $XBPS_DISTDIR "$XBPS_HOSTDIR" "$XBPS_CHROOT_CMD_ARGS" \
|
||||
|
||||
@@ -627,6 +627,14 @@ if [ "$2" ]; then
|
||||
XBPS_TARGET_PKG="${2##*/}"
|
||||
fi
|
||||
|
||||
# A temporary masterdir requires xbps-uchroot(1) or bwrap(1).
|
||||
if [ -z "$IN_CHROOT" -a -n "$XBPS_TEMP_MASTERDIR" ]; then
|
||||
case "$XBPS_CHROOT_CMD" in
|
||||
uchroot|bwrap) ;;
|
||||
*) XBPS_CHROOT_CMD="uchroot" ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# Check for CHROOT_READY and set up XBPS_ARCH environment var for xbps.
|
||||
chroot_check
|
||||
check_native_arch
|
||||
@@ -719,12 +727,6 @@ for i in REPOSITORY DESTDIR BUILDDIR SRCDISTDIR; do
|
||||
unset val
|
||||
done
|
||||
|
||||
# A temporary masterdir requires xbps-uchroot(1) and -O to use overlayfs
|
||||
# on tmpfs (available with xbps-0.45).
|
||||
if [ -z "$IN_CHROOT" -a -n "$XBPS_TEMP_MASTERDIR" ]; then
|
||||
export XBPS_CHROOT_CMD="uchroot"
|
||||
export XBPS_CHROOT_CMD_ARGS+=" -O"
|
||||
fi
|
||||
#
|
||||
# Sanitize PATH.
|
||||
#
|
||||
|
||||
Reference in New Issue
Block a user