summaryrefslogtreecommitdiff
path: root/gnu/tests/foreign.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/tests/foreign.scm')
-rw-r--r--gnu/tests/foreign.scm34
1 files changed, 29 insertions, 5 deletions
diff --git a/gnu/tests/foreign.scm b/gnu/tests/foreign.scm
index 984a03e16f..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
@@ -283,6 +293,16 @@ partition of IMAGE is expected to be on DEVICE."
(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
+ "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.
@@ -292,19 +312,23 @@ partition of IMAGE is expected to be on DEVICE."
(description
"Test installation of Guix on Debian using the @file{guix-install.sh}
script.")
- (value (run-foreign-install-test debian-13-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")