summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitlab-ci.yml2
-rwxr-xr-xbin/debvm-run9
-rw-r--r--debian/tests/control4
-rwxr-xr-xshare/customize-resolved.sh2
4 files changed, 11 insertions, 6 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index e555ae3..ec5bc48 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -19,6 +19,7 @@ release_test:
matrix:
- RELEASE:
- sid
+ - trixie
- bookworm
- bullseye
- buster
@@ -39,7 +40,6 @@ arch_test:
- armhf
- i386
- mips64el
- - mipsel
- ppc64el
- riscv64
- s390x
diff --git a/bin/debvm-run b/bin/debvm-run
index bba0c15..1b45a33 100755
--- a/bin/debvm-run
+++ b/bin/debvm-run
@@ -348,9 +348,14 @@ set -- \
-initrd "/proc/self/fd/$INITRDFD" \
"$@"
+# If the image filename contains a comma, then that comma must be escaped by
+# prefixing it with another comma or otherwise output filenames are able to
+# inject drive options to qemu (and load the wrong file).
+IMAGE_ESCAPED="$(printf "%s" "$IMAGE" | sed 's/,/,,/g')"
+
if ! check_skip root/dev; then
set -- \
- -drive "media=disk,format=raw,discard=unmap,file=$IMAGE,if=virtio,cache=unsafe" \
+ -drive "media=disk,format=raw,discard=unmap,file=$IMAGE_ESCAPED,if=virtio,cache=unsafe" \
"$@"
fi
@@ -456,7 +461,7 @@ if test -z "$GRAPHICAL"; then
KERNEL_CMDLINE="${KERNEL_CMDLINE:+"$KERNEL_CMDLINE "}console=ttyS0"
;;
esac
- if test -t 0 && test -t 1 && test -n "$TERM"; then
+ if test -t 0 && test -t 1 && test -n "${TERM:-}"; then
KERNEL_CMDLINE="${KERNEL_CMDLINE:+"$KERNEL_CMDLINE "}TERM=$TERM"
fi
else
diff --git a/debian/tests/control b/debian/tests/control
index eaa260e..b765a4d 100644
--- a/debian/tests/control
+++ b/debian/tests/control
@@ -1,11 +1,11 @@
Test-Command: ./tests/create-and-run.sh $(dpkg --print-architecture) sid
-Depends: debvm, file, openssh-client, seabios [ppc64el]
+Depends: debian-archive-keyring, debvm, file, openssh-client, seabios [ppc64el]
Restrictions: allow-stderr, needs-internet, needs-root, flaky
# Skip running on armel and armhf as the emulation is too slow there to actually work.
Architecture: amd64 arm64 i386 mips64el mipsel ppc64el riscv64 s390x
Test-Command: unshare -U -m -p -f -r --mount-proc true || exit 77; ./tests/create-and-run.sh $(dpkg --print-architecture) sid
-Depends: debvm, file, openssh-client, seabios [ppc64el], uidmap
+Depends: debian-archive-keyring, debvm, file, openssh-client, seabios [ppc64el], uidmap
Restrictions: allow-stderr, needs-internet, skippable, flaky
# Skip running on armel and armhf as the emulation is too slow there to actually work.
Architecture: amd64 arm64 i386 mips64el mipsel ppc64el riscv64 s390x
diff --git a/share/customize-resolved.sh b/share/customize-resolved.sh
index e8fe248..8885d18 100755
--- a/share/customize-resolved.sh
+++ b/share/customize-resolved.sh
@@ -18,7 +18,7 @@ if dpkg --compare-versions "$LIBNSS_RESOLVE_VERSION" lt 251.3-2~exp1; then
chroot "$TARGET" systemctl enable systemd-resolved.service
fi
- if test -z "$LIBNSS_RESOLVE_VERSION"; then
+ if test -z "$LIBNSS_RESOLVE_VERSION" || dpkg --compare-versions "$LIBNSS_RESOLVE_VERSION" lt 236; then
ln -fs ../run/systemd/resolve/resolv.conf "$TARGET/etc/resolv.conf"
else
ln -fs ../run/systemd/resolve/stub-resolv.conf "$TARGET/etc/resolv.conf"