diff options
Diffstat (limited to 'gnu/tests/foreign.scm')
-rw-r--r-- | gnu/tests/foreign.scm | 43 |
1 files changed, 35 insertions, 8 deletions
diff --git a/gnu/tests/foreign.scm b/gnu/tests/foreign.scm index 52ead49a24..2d587953dd 100644 --- a/gnu/tests/foreign.scm +++ b/gnu/tests/foreign.scm @@ -159,10 +159,12 @@ system is expected to be on DEVICE." (file-append (package-source guix) "/etc/guix-install.sh")) (define* (run-foreign-install-test image name - #:key (device "/dev/vdb1")) + #:key (device "/dev/vdb1") + (deb-files '())) "Run an installation of Guix in IMAGE, the QCOW2 image of a systemd-based GNU/Linux distro, and check that the installation is functional. The root -partition of IMAGE is expected to be on DEVICE." +partition of IMAGE is expected to be on DEVICE. Prior to that, install all +of DEB-FILES with 'dpkg -i'." (define instrumented-image (qcow-image-with-marionette image #:name (string-append name ".qcow2") @@ -234,6 +236,14 @@ partition of IMAGE is expected to be on DEVICE." #t) marionette)) + (test-assert "install extra .deb packages" + (marionette-eval + '(and #$@(map (lambda (deb) + #~(system* "dpkg" "-i" + (in-vicinity "/host" (basename #$deb)))) + deb-files)) + marionette)) + (test-assert "run install script" (marionette-eval '(system (string-append @@ -272,36 +282,53 @@ partition of IMAGE is expected to be on DEVICE." #:localstatedir? #t))) (gexp->derivation name (test tarball)))) -(define debian-12-qcow2 +(define debian-13-qcow2 ;; Image taken from <https://www.debian.org/distrib/>. ;; XXX: Those images are periodically removed from debian.org. (origin (uri - "https://cloud.debian.org/images/cloud/bookworm/20250210-2019/debian-12-nocloud-amd64-20250210-2019.qcow2") + "https://cloud.debian.org/images/cloud/trixie/latest/debian-13-nocloud-amd64.qcow2") + (method url-fetch) + (sha256 + (base32 + "0g7kcvz2yzr0xchlv5kc8d2rd2lzk4akh02i43i92cmys7q3r05c")))) + +(define debian-uidmap-deb-file + ;; This package provides 'newgidmap' & co., used by the unprivileged daemon. + (origin + (uri + "http://ftp.debian.org/debian/pool/main/s/shadow/uidmap_4.13+dfsg1-1+deb12u1_amd64.deb") (method url-fetch) (sha256 (base32 - "06vlcq2dzgczlyp9lfkkdf3dgvfjp22lh5xz0mnl0bdgzq61sykb")))) + "0iqhljzmnni3k3jc1xb0mrb7cqywkzrmdc2322kd8b1wpw45zv8l")))) +;; This test starts failing when derivations in repo for GNU Hello and its dependencies +;; differs from versions in current Guix package. The simple way to fix it is to update +;; Guix package version. (define %test-debian-install (system-test (name "debian-install") (description "Test installation of Guix on Debian using the @file{guix-install.sh} script.") - (value (run-foreign-install-test debian-12-qcow2 name)))) + (value (run-foreign-install-test debian-13-qcow2 name + #:deb-files (list debian-uidmap-deb-file))))) (define archlinux-qcow2 ;; Images generated by <https://gitlab.archlinux.org/archlinux/arch-boxes>; ;; using default mirror mentioned in README there. ;; XXX: These images are removed every ~90 days (origin - (uri "https://geo.mirror.pkgbuild.com/images/v20250615.366044/Arch-Linux-x86_64-basic.qcow2") + (uri "https://geo.mirror.pkgbuild.com/images/v20251015.435734/Arch-Linux-x86_64-basic.qcow2") (method url-fetch) (sha256 (base32 - "11m945cv5hgfa7zgkvd7fqgqfp3vdq3c4bdh3x0ilza36w5xcn1b")))) + "0mlvfsw9ak9b6cl5h0mhs90vqkqd3ha3lx4rv9xg2b510q6656li")))) +;; This test starts failing when derivations in repo for GNU Hello and its dependencies +;; differs from versions in current Guix package. The simple way to fix it is to update +;; Guix package version. (define %test-archlinux-install (system-test (name "archlinux-install") |