summaryrefslogtreecommitdiff
path: root/guix
diff options
context:
space:
mode:
authorNoé Lopez <noelopez@free.fr>2025-11-18 17:46:38 +0900
committerVagrant Cascadian <vagrant@debian.org>2026-04-10 18:24:56 -0700
commit1078e42a60655a1512e41f01d0b1d75df70bf9df (patch)
tree6e928ad045fe22cd592e3111a4c16af51bcb5a6c /guix
parent3cbd6bd79c8d26079be5b39583e3d7c10567acb2 (diff)
tests: Fix non-deterministic AppImage tests.
The tested AppImages were not actually relocatable and would rely on items being available on the environment’s store (apart from glibc). * guix/scripts/pack.scm (wrapped-manifest): New function. (guix-pack): Extract relocatable manifest to wrapped-manifest. * tests/pack.scm: Use relocatable profiles in AppImage tests. Fixes: <https://issues.guix.gnu.org/76850> Change-Id: Ib3123054913fce903d215dc0629d806e9fceebc7 Reported-by: Reepca Russelstein <reepca@russelstein.xyz> Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
Diffstat (limited to 'guix')
-rw-r--r--guix/scripts/pack.scm17
1 files changed, 12 insertions, 5 deletions
diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm
index f46abc44d6..0b78f07077 100644
--- a/guix/scripts/pack.scm
+++ b/guix/scripts/pack.scm
@@ -11,7 +11,7 @@
;;; Copyright © 2023 Graham James Addis <graham@addis.org.uk>
;;; Copyright © 2023 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2024 Sebastian Dümcke <code@sam-d.com>
-;;; Copyright © 2024 Noé Lopez <noelopez@free.fr>
+;;; Copyright © 2024-2025 Noé Lopez <noelopez@free.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -81,7 +81,9 @@
self-contained-appimage
%formats
- guix-pack))
+ guix-pack
+
+ wrapped-manifest))
;;; Commentary:
@@ -1397,6 +1399,13 @@ libfakechroot.so and related ld.so machinery as a fallback."
(apply wrapped-manifest-entry entry args))
(manifest-entry-dependencies entry)))))
+(define* (wrapped-manifest manifest #:rest args)
+ "Return the MANIFEST with its entries wrapped such that they are
+relocatable. Extra arguments are passed to wrapped-package."
+ (map-manifest-entries
+ (lambda (entry) (apply wrapped-manifest-entry entry args))
+ manifest))
+
;;;
;;; Command-line options.
@@ -1795,9 +1804,7 @@ Create a bundle of PACKAGE.\n"))
;; Note: We cannot honor '--bootstrap' here because
;; 'glibc-bootstrap' lacks 'libc.a'.
(if relocatable?
- (map-manifest-entries
- (cut wrapped-manifest-entry <> #:proot? proot?)
- manifest)
+ (wrapped-manifest manifest #:proot? proot?)
manifest)))
(pack-format (assoc-ref opts 'format))
(extra-options (match pack-format