@@ 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,7 312,8 @@ 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>;