X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fporterbox%2Ffiles%2Fsetup-dchroot;h=78405ff2cb722ad200e2cc07e2bdea0d3c59a7b2;hb=577b48609059045ee92cd76dbe14acb9922fb663;hp=130feac70fb6fbd3989b00225954f1d132efd1c1;hpb=7bb415b6547466ac679232f79496d371feb41417;p=mirror%2Fdsa-puppet.git diff --git a/modules/porterbox/files/setup-dchroot b/modules/porterbox/files/setup-dchroot index 130feac70..78405ff2c 100755 --- a/modules/porterbox/files/setup-dchroot +++ b/modules/porterbox/files/setup-dchroot @@ -42,8 +42,10 @@ OPTIONS: -c write config only -d dir place where to build the chroot [${builddir:-$basedir}] -f overwrite config and target tarball + -g GROUPS groups that should have access to the schroot [$groupuser] -k KEYRING use an alternate keyring [$keyring] -p PERS use a different sbuild personality [$personality] + -r GROUPS groups that should have root in the schroot [$grouproot] -s use sbuild compatible naming scheme -u Ubuntu target -h this help @@ -85,8 +87,8 @@ cat << EOF description=[${name}] Debian $suite chroot for $arch type=file file=$target -groups=Debian,guest -root-groups=adm +groups=$groupuser +root-groups=$grouproot source-groups=adm source-root-groups=adm EOF @@ -138,10 +140,12 @@ keyring=/usr/share/keyrings/debian-archive-keyring.gpg personality="dsa" sbuildnames="" ubuntu="" +groupuser="Debian,guest" +grouproot="adm" declare -a cleanup trap do_cleanup EXIT -while getopts "a:b:cd:fhk:m:p:su" OPTION +while getopts "a:b:cd:fg:hk:m:p:r:su" OPTION do case $OPTION in a) @@ -159,6 +163,9 @@ do f) force="1" ;; + g) + groupuser="$OPTARG" + ;; h) usage exit 0 @@ -172,6 +179,9 @@ do p) personality="$OPTARG" ;; + r) + grouproot="$OPTARG" + ;; s) sbuildnames="1" ;; @@ -225,7 +235,7 @@ debootstrap \ echo "$tuple" > $rootdir/etc/debian_chroot chroot "$rootdir" apt-get update -chroot "$rootdir" apt-get install -y --no-install-recommends policyrcd-script-zg2 +chroot "$rootdir" apt-get install -y --force-yes --no-install-recommends policyrcd-script-zg2 cat > "$rootdir/usr/local/sbin/policy-rc.d" << 'EOF' #!/bin/sh @@ -244,9 +254,10 @@ while true; do done EOF chmod +x "$rootdir/usr/local/sbin/policy-rc.d" -[ -z "$ubuntu" ] && chroot "$rootdir" apt-get install -y --no-install-recommends locales-all -chroot "$rootdir" apt-get install -y --no-install-recommends zsh build-essential less vim fakeroot devscripts gdb +[ -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")