summaryrefslogtreecommitdiff
path: root/debvm-create
diff options
context:
space:
mode:
Diffstat (limited to 'debvm-create')
-rwxr-xr-xdebvm-create73
1 files changed, 51 insertions, 22 deletions
diff --git a/debvm-create b/debvm-create
index dbf1192..8ea33fb 100755
--- a/debvm-create
+++ b/debvm-create
@@ -81,11 +81,43 @@ if test -n "$SSHKEY" && ! test -f "$SSHKEY"; then
die "error: ssh keyfile '$SSHKEY' not found"
fi
+case "$SUITE" in
+ jessie)
+ DEBVER=8
+ ;;
+ stretch)
+ DEBVER=9
+ ;;
+ buster)
+ DEBVER=10
+ ;;
+ bullseye|stable)
+ DEBVER=11
+ ;;
+ bookworm|testing)
+ DEBVER=12
+ ;;
+ trixie)
+ DEBVER=13
+ ;;
+ forky)
+ DEBVER=14
+ ;;
+ sid|unstable)
+ DEBVER=999
+ ;;
+ *)
+ die "unrecognized Debian release: $SUITE"
+ ;;
+esac
+
+
+
KERNEL_SUFFIX=-$ARCHITECTURE
case "$ARCHITECTURE" in
amd64|arm64)
KERNEL_SUFFIX="-cloud-$ARCHITECTURE"
- if test "$SUITE" = jessie || test "$SUITE" = stretch; then
+ if test "$DEBVER" -le 9; then
KERNEL_SUFFIX="-$ARCHITECTURE"
fi
;;
@@ -96,10 +128,10 @@ case "$ARCHITECTURE" in
KERNEL_SUFFIX=-686-pae
;;
mips64el)
- KERNEL_SUFFIX=-mips64r2el
+ KERNEL_SUFFIX=-5kc-malta
;;
mipsel)
- KERNEL_SUFFIX=-mips32r2el
+ KERNEL_SUFFIX=-4kc-malta
;;
ppc64el)
KERNEL_SUFFIX=-powerpc64le
@@ -140,10 +172,9 @@ set -- \
--format=ext2 \
"--architecture=$ARCHITECTURE" \
"--include=$INCLUDE_PACKAGES" \
+ '--customize-hook=echo "LABEL=debvm / ext4 defaults 0 1" >"$1/etc/fstab"' \
"$@"
-# unless we set up a fstab, / will be read-only
-set -- "--customize-hook=echo 'LABEL=debvm / ext4 defaults 0 1' >"'"$1/etc/fstab"' "$@"
# set up a hostname
set -- \
@@ -177,23 +208,21 @@ fi
set -- --skip=cleanup/apt "$@"
-case "$SUITE" in
- jessie)
- # Use obsolete and expired keys.
- set -- '--keyring=/usr/share/keyrings/debian-archive-removed-keys.gpg' "$@"
- set -- --aptopt='Apt::Key::gpgvcommand "/usr/libexec/mmdebstrap/gpgvnoexpkeysig"' "$@"
- # chfn does not work, because libpam-runtime.postinst is late setting up /etc/pam.d/common-auth et al, see #1026765
- set -- --extract-hook='chroot "$1" pam-auth-update --package --force' "$@"
- ;;
- buster)
- # We need /var/lib/dpkg/available for dpkg --set-selections to work.
- set -- '--customize-hook=cat "$1"/var/lib/apt/lists/*_Packages | chroot "$1" dpkg --update-avail' "$@"
- ;;
- bookworm|testing|sid|unstable)
- # Avoid the usrmerge package
- set -- --hook-dir=/usr/share/mmdebstrap/hooks/merged-usr "$@"
- ;;
-esac
+# We need /var/lib/dpkg/available for dpkg --set-selections to work.
+set -- '--customize-hook=chroot "$1" apt-cache dumpavail | chroot "$1" dpkg --update-avail' "$@"
+
+if test "$DEBVER" -le 8; then
+ # Use obsolete and expired keys.
+ set -- '--keyring=/usr/share/keyrings/debian-archive-removed-keys.gpg' "$@"
+ set -- --aptopt='Apt::Key::gpgvcommand "/usr/libexec/mmdebstrap/gpgvnoexpkeysig"' "$@"
+ # chfn does not work, because libpam-runtime.postinst is late setting up /etc/pam.d/common-auth et al, see #1026765
+ set -- --extract-hook='chroot "$1" pam-auth-update --package --force' "$@"
+fi
+
+if test "$DEBVER" -ge 12; then
+ # Avoid the usrmerge package
+ set -- --hook-dir=/usr/share/mmdebstrap/hooks/merged-usr "$@"
+fi
# suite target mirror
set -- "$@" "$SUITE" "$IMAGE" "deb $MIRROR $SUITE main"