setup-dchroot: Request unmerged /usr
[mirror/dsa-puppet.git] / modules / schroot / files / setup-dchroot
index c1350cd..8a6926b 100755 (executable)
@@ -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
@@ -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"
 )