X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fschroot%2Ffiles%2Fsetup-dchroot;h=1040212ab2864b79396921aec78ca418e8676c2d;hb=798432833682d45b877dc7b48ebcbc08cecb91fd;hp=92b210f1372cb1b301234d16e7706711c6554df3;hpb=111a5337b6d1142aee2aa6c72417c1dd5cb3406f;p=mirror%2Fdsa-puppet.git diff --git a/modules/schroot/files/setup-dchroot b/modules/schroot/files/setup-dchroot index 92b210f13..1040212ab 100755 --- a/modules/schroot/files/setup-dchroot +++ b/modules/schroot/files/setup-dchroot @@ -77,6 +77,7 @@ genschrootconf() { local arch="$1"; shift local target="$1"; shift local extra="${1:-}"; shift || true + local aliases="" if [ -n "$extra" ]; then local suite="${suite}-${extra}" @@ -88,10 +89,20 @@ genschrootconf() { local name="${suite}_${arch}-dchroot" fi + local fullname="$name" + case "$arch" in + kfreebsd-*) + aliases="$name" + # FreeBSD only allows relatively short paths to mountpoints + # therefore saving a few charakters making the chroot dir fit + name=${name/kfreebsd-amd64/k-a} + name=${name/kfreebsd-i386/k-i} + ;; + esac cat << EOF [${name}] -description=[${name}] Debian $suite chroot for $arch +description=[${fullname}] Debian $suite chroot for $arch type=file file=$target EOF @@ -103,7 +114,14 @@ EOF echo "profile=$personality" if [ "$THISARCH" = "$arch" ] && [ -z "$buildd" ]; then - echo "aliases=$suite" + if [ -z "$aliases" ] ; then + aliases="$suite" + else + aliases="$aliases,$suite" + fi + fi + if [ -n "$aliases" ] ; then + echo "aliases=$aliases" fi case "$arch" in armel|armhf|i386|mips|mipsel|powerpc|s390|sparc) @@ -122,11 +140,17 @@ EOF *) if [ -z "$extra" ] && [ -z "$ubuntu" ]; then genschrootconf "$suite" "$arch" "$target" "backports" - [ -n "$buildd" ] && genschrootconf "$suite" "$arch" "$target" "backports-sloppy" - [ -n "$buildd" ] && genschrootconf "$suite" "$arch" "$target" "kfreebsd" - [ -n "$buildd" ] && genschrootconf "$suite" "$arch" "$target" "lts" - [ -n "$buildd" ] && genschrootconf "$suite" "$arch" "$target" "proposed-updates" - [ -n "$buildd" ] && genschrootconf "$suite" "$arch" "$target" "security" + if [ -n "$buildd" ] ; then + genschrootconf "$suite" "$arch" "$target" "backports-sloppy" + genschrootconf "$suite" "$arch" "$target" "proposed-updates" + genschrootconf "$suite" "$arch" "$target" "security" + case "$arch" in + kfreebsd-*) + genschrootconf "$suite" "$arch" "$target" "kfreebsd" + genschrootconf "$suite" "$arch" "$target" "kfreebsd-security" + ;; + esac + fi fi esac return 0 @@ -359,6 +383,16 @@ chmod +x "$rootdir/usr/local/sbin/policy-rc.d" [ -z "$bare" ] && [ -z "$ubuntu" ] && chroot "$rootdir" apt-get install -y --no-install-recommends locales-all chroot "$rootdir" apt-get install -y --no-install-recommends build-essential [ -z "$bare" ] && chroot "$rootdir" apt-get install -y --no-install-recommends zsh less vim fakeroot devscripts gdb +if [ -n "$buildd" ] ; then + case "$suite" in + wheezy|jessie|stretch) + chroot "$rootdir" apt-get install -y --no-install-recommends apt-transport-https ca-certificates + ;; + *) + chroot "$rootdir" apt-get install -y --no-install-recommends ca-certificates + ;; + esac +fi rm -f "$rootdir/etc/apt/sources.list" "$rootdir/etc/apt/sources.list.d/*" chroot "$rootdir" apt-get clean umount "$rootdir/dev" 2>/dev/null || true @@ -368,9 +402,10 @@ tartmp=$(tempfile --directory "$basedir" --suffix=".tar.gz") cleanup+=("rm -f $tartmp") ( cd "$rootdir" + chmod 0755 "$rootdir" tar caf "$tartmp" . if ! [ -z "$keep" ]; then - savelog -l -c 4 "$target" + savelog -l -c 2 "$target" fi mv "$tartmp" "$target" )