2024-03-29 08:12:19 +01:00
|
|
|
#!/bin/sh
|
|
|
|
#
|
|
|
|
# This chroot script uses xbps-uchroot(1).
|
|
|
|
#
|
|
|
|
readonly MASTERDIR="$1"
|
|
|
|
readonly DISTDIR="$2"
|
|
|
|
readonly HOSTDIR="$3"
|
|
|
|
readonly EXTRA_ARGS="$4"
|
|
|
|
readonly CMD="$5"
|
|
|
|
shift 5
|
|
|
|
|
2024-07-15 13:03:48 +02:00
|
|
|
msg_red() {
|
|
|
|
# error messages in bold/red
|
|
|
|
[ -n "$NOCOLORS" ] || printf >&2 "\033[1m\033[31m"
|
|
|
|
printf "=> ERROR: %s\\n" "$@" >&2
|
|
|
|
[ -n "$NOCOLORS" ] || printf >&2 "\033[m"
|
|
|
|
}
|
|
|
|
|
|
|
|
readonly XBPS_UCHROOT_CMD="$(command -v xbps-uchroot 2>/dev/null)"
|
|
|
|
|
|
|
|
if [ -z "$XBPS_UCHROOT_CMD" ]; then
|
|
|
|
msg_red "could not find xbps-uchroot"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
if ! [ -x "$XBPS_UCHROOT_CMD" ]; then
|
|
|
|
msg_red "xbps-uchroot is not executable. Are you in the $(stat -c %G "$XBPS_UCHROOT_CMD") group?"
|
2024-03-29 08:12:19 +01:00
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
2024-07-15 13:03:48 +02:00
|
|
|
if [ -z "$MASTERDIR" ] || [ -z "$DISTDIR" ]; then
|
|
|
|
msg_red "$0: MASTERDIR/DISTDIR not set"
|
2024-03-29 08:12:19 +01:00
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
exec xbps-uchroot $EXTRA_ARGS -b $DISTDIR:/void-packages ${HOSTDIR:+-b $HOSTDIR:/host} -- $MASTERDIR $CMD $@
|