X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fporterbox%2Ffiles%2Fsetup-dchroot;h=81732c614cf20d9830032ac5674546dc6794debd;hb=5e6d9dff0b2445ea867131e13d7a793cd8649e48;hp=7f9b117d82518cba40b8ad720fd95fd1ae93d997;hpb=0c891b0304074738b02ec41430abad92f4412e2a;p=mirror%2Fdsa-puppet.git diff --git a/modules/porterbox/files/setup-dchroot b/modules/porterbox/files/setup-dchroot index 7f9b117d8..81732c614 100755 --- a/modules/porterbox/files/setup-dchroot +++ b/modules/porterbox/files/setup-dchroot @@ -157,7 +157,7 @@ bare="" declare -a cleanup trap do_cleanup EXIT -while getopts "a:b:cd:fg:hk:m:p:r:su" OPTION +while getopts "a:b:Bcd:fg:hk:m:p:r:su" OPTION do case $OPTION in a) @@ -260,6 +260,19 @@ debootstrap \ echo "$tuple" > "$rootdir/etc/debian_chroot" echo "force-unsafe-io" > "$rootdir/etc/dpkg/dpkg.cfg.d/force-unsafe-io" +cleanup+=("umount $rootdir/dev") +case "$(uname -s)" in + Linux) + ;; + GNU/kFreeBSD) + mount -t devfs none "$rootdir/dev" + ;; + *) + echo >&2 "Warning: Unexpected uname -s output." + ;; +esac + + chroot "$rootdir" apt-get update chroot "$rootdir" apt-get install -y --force-yes --no-install-recommends policyrcd-script-zg2 cat > "$rootdir/usr/local/sbin/policy-rc.d" << 'EOF' @@ -285,7 +298,8 @@ chroot "$rootdir" apt-get install -y --force-yes --no-install-recommends build-e [ -z "$bare" ] && chroot "$rootdir" apt-get install -y --force-yes --no-install-recommends zsh less vim fakeroot devscripts gdb rm -f "$rootdir/etc/apt/sources.list" "$rootdir/etc/apt/sources.list.d/*" chroot "$rootdir" apt-get clean -umount "$rootdir/sys" || true +umount "$rootdir/dev" 2>/dev/null || true +umount "$rootdir/sys" 2>/dev/null || true tartmp=$(tempfile --directory "$basedir" --suffix=".tar.gz") cleanup+=("rm -f $tartmp")