diff options
-rw-r--r-- | .gitlab-ci.yml | 2 | ||||
-rwxr-xr-x | bin/debvm-run | 9 | ||||
-rw-r--r-- | debian/tests/control | 4 | ||||
-rwxr-xr-x | share/customize-resolved.sh | 2 |
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" |