X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fschroot%2Ffiles%2Fsetup-dchroot;h=8a6926b39e544e013e546049d957f42dc30db9f2;hb=b54f52d2899c5785923c804fdfbba0782c147da4;hp=d6275b55dd5b8179fdbbe0016a751e007c0ffba1;hpb=47e806d785e3195f855584d0739abb0ee2682c27;p=mirror%2Fdsa-puppet.git diff --git a/modules/schroot/files/setup-dchroot b/modules/schroot/files/setup-dchroot index d6275b55d..8a6926b39 100755 --- a/modules/schroot/files/setup-dchroot +++ b/modules/schroot/files/setup-dchroot @@ -72,6 +72,20 @@ do_cleanup() { done } +genname() { + local suite="$1"; shift + local arch="$1"; shift + + if [ -n "$sbuildnames" ]; then + local name="${suite}-${arch}-sbuild" + else + local name="${suite}_${arch}-dchroot" + fi + + echo "$name" +} + + genschrootconf() { local suite="$1"; shift local arch="$1"; shift @@ -83,12 +97,9 @@ genschrootconf() { local suite="${suite}-${extra}" fi - if [ -n "$sbuildnames" ]; then - local name="${suite}-${arch}-sbuild" - else - local name="${suite}_${arch}-dchroot" - fi + local name="$(genname "$suite" "$arch")" + local fullname="$name" case "$arch" in kfreebsd-*) aliases="$name" @@ -101,7 +112,7 @@ genschrootconf() { cat << EOF [${name}] -description=[${name}] Debian $suite chroot for $arch +description=[${fullname}] Debian $suite chroot for $arch type=file file=$target EOF @@ -141,7 +152,6 @@ EOF genschrootconf "$suite" "$arch" "$target" "backports" if [ -n "$buildd" ] ; then genschrootconf "$suite" "$arch" "$target" "backports-sloppy" - genschrootconf "$suite" "$arch" "$target" "lts" genschrootconf "$suite" "$arch" "$target" "proposed-updates" genschrootconf "$suite" "$arch" "$target" "security" case "$arch" in @@ -294,7 +304,7 @@ if [ -z "${builddir:-}" ]; then fi done fi -[ -d "$basedir" ] || mkdir -p "$basedir" +[ -d "$basedir" ] || die "Error: $basedir does not exist (or is not a directory)." [ -d "$builddir" ] || die "Error: $builddir does not exist (or is not a directory)." target="$basedir/$tuple.tar.gz" @@ -342,6 +352,7 @@ debootstrap \ --include="$include" \ --variant=buildd \ --arch="$arch" \ + --no-merged-usr \ "$suite_alias" "$rootdir" "$mirror" "$script" echo "$tuple" > "$rootdir/etc/debian_chroot" echo "force-unsafe-io" > "$rootdir/etc/dpkg/dpkg.cfg.d/force-unsafe-io" @@ -383,6 +394,22 @@ 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 +if [ -n "$ubuntu" ]; then + echo "deb $mirror ${suite}-updates main" >> "$rootdir/etc/apt/sources.list" + echo "deb $mirror ${suite}-security main" >> "$rootdir/etc/apt/sources.list" + chroot "$rootdir" apt-get update + chroot "$rootdir" apt-get dist-upgrade -y +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 @@ -392,9 +419,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" )