X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=modules%2Fporterbox%2Ffiles%2Fsetup-dchroot;h=e99e54af211b750b308865902aed81700b19faf1;hb=8a3174035d51d760ce97e8adfb79b3f512f3e264;hp=5050b6c36716d16f68a1f2feb8b6290f8686d5b7;hpb=ed9c729b83a62494467aed2f2042f24944120f6b;p=dsa-puppet.git diff --git a/modules/porterbox/files/setup-dchroot b/modules/porterbox/files/setup-dchroot index 5050b6c3..e99e54af 100755 --- a/modules/porterbox/files/setup-dchroot +++ b/modules/porterbox/files/setup-dchroot @@ -89,8 +89,8 @@ type=file file=$target groups=$groupuser root-groups=$grouproot -source-groups=adm -source-root-groups=adm +#source-groups=adm +#source-root-groups=adm EOF if dpkg --compare-versions "$(lsb_release --release --short)" '<' 7; then @@ -123,6 +123,16 @@ EOF esac } +do_config() { + local tmpschrootconf=$(tempfile) + cleanup+=("rm -f $tmpschrootconf") + genschrootconf "$suite" "$arch" "$target" > "$tmpschrootconf" + if ! [ -e "$schrootconfig" ] || ! diff "$schrootconfig" "$tmpschrootconf" > /dev/null; then + mv "$tmpschrootconf" "$schrootconfig" + chmod 644 "$schrootconfig" + fi +} + set -e set -u @@ -141,7 +151,7 @@ personality="dsa" sbuildnames="" ubuntu="" groupuser="Debian,guest" -grouproot="adm" +grouproot="" declare -a cleanup trap do_cleanup EXIT @@ -217,9 +227,11 @@ schrootconfig="/etc/schroot/chroot.d/${tuple}-dchroot" # # let's go # -genschrootconf "$suite" "$arch" "$target" | tee "$schrootconfig" -if [ -n "$configonly" ]; then exit 0; fi +if [ -n "$configonly" ]; then + do_config + exit 0 +fi rootdir=$(mktemp -d "$builddir/create-$suite-XXXXXX") cleanup+=("rm -r $rootdir") @@ -233,6 +245,7 @@ debootstrap \ --arch="$arch" \ "$suite" "$rootdir" "$mirror" echo "$tuple" > $rootdir/etc/debian_chroot +echo "force-unsafe-io" > $rootdir/etc/dpkg/dpkg.cfg.d/force-unsafe-io chroot "$rootdir" apt-get update chroot "$rootdir" apt-get install -y --force-yes --no-install-recommends policyrcd-script-zg2 @@ -257,8 +270,11 @@ chmod +x "$rootdir/usr/local/sbin/policy-rc.d" [ -z "$ubuntu" ] && chroot "$rootdir" apt-get install -y --force-yes --no-install-recommends locales-all chroot "$rootdir" apt-get install -y --force-yes --no-install-recommends zsh build-essential 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 tartmp=$(tempfile --directory "$basedir" --suffix=".tar.gz") cleanup+=("rm -f $tartmp") (cd "$rootdir" && tar caf "$tartmp" . && mv "$tartmp" "$target") + +do_config