Package: guix-patches;
Reported by: Noé Lopez <noe <at> xn--no-cja.eu>
Date: Tue, 3 Dec 2024 15:13:02 UTC
Severity: normal
Tags: patch
Done: Ludovic Courtès <ludo <at> gnu.org>
Bug is archived. No further changes may be made.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Noé Lopez <noe <at> xn--no-cja.eu> To: guix-patches <at> gnu.org Cc: Noé Lopez <noe <at> xn--no-cja.eu> Subject: [PATCH] tests: pack: Fix AppImage tests. Date: Tue, 3 Dec 2024 16:13:24 +0100
From: Noé Lopez <noelopez <at> free.fr> * tests/pack.scm: Add glibc to AppImage tests’ profiles. Change-Id: I7890b902f65a2944ae8fa03db8a964deda3c725c --- Hi, This patch fixes the tests failing for AppImage pack. I believe the issue was that without the AppImage runtime (--appimage-extract-and-run), the glibc is not available to the AppRun binary, causing a file not found error. This is an issue caused because AppRun is built using the relocatable runtime, which requires (or at least is built with) the glibc. This is not an issue when using the AppImage runtime with FUSE, since it correctly mounts the store payload before starting the AppRun. Have a nice day, Noé tests/pack.scm | 39 ++++++++++++++++++++++++++++----------- 1 file changed, 28 insertions(+), 11 deletions(-) diff --git a/tests/pack.scm b/tests/pack.scm index 1c1e312557..2cb643f136 100644 --- a/tests/pack.scm +++ b/tests/pack.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017-2021, 2023 Ludovic Courtès <ludo <at> gnu.org> +;;; Copyright © 2017-2021, 2023, 2024 Ludovic Courtès <ludo <at> gnu.org> ;;; Copyright © 2018 Ricardo Wurmus <rekado <at> elephly.net> ;;; Copyright © 2021, 2023 Maxim Cournoyer <maxim.cournoyer <at> gmail.com> ;;; Copyright © 2023 Oleg Pykhalov <go.wigust <at> gmail.com> @@ -34,7 +34,7 @@ (define-module (test-pack) #:use-module ((guix build utils) #:select (%store-directory)) #:use-module (gnu packages) #:use-module ((gnu packages base) #:select (libc-utf8-locales-for-target - hello)) + hello glibc)) #:use-module (gnu packages bootstrap) #:use-module ((gnu packages package-management) #:select (rpm)) #:use-module ((gnu packages compression) #:select (squashfs-tools)) @@ -347,36 +347,53 @@ (define rpm-for-tests (mlet* %store-monad ((guile (set-guile-for-build (default-guile))) (profile -> (profile - (content (packages->manifest (list %bootstrap-guile hello))) + (content (packages->manifest (list %bootstrap-guile hello glibc))) (hooks '()) (locales? #f))) (image (self-contained-appimage "hello-appimage" profile #:entry-point "bin/hello" #:extra-options - (list #:relocatable? #t))) + '(#:relocatable? #t))) (check (gexp->derivation "check-appimage" - #~(invoke #$image)))) - (built-derivations (list check)))) + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (ice-9 popen) + (guix build utils)) + (let ((pipe (open-pipe* OPEN_READ + #$image "--appimage-extract-and-run"))) + (call-with-output-file #$output + (lambda (port) + (dump-port pipe port))) + (exit (status:exit-val (close-pipe pipe))))))))) + (built-derivations (list (pk 'APPIMAGE-drv check))))) (unless store (test-skip 1)) (test-assertm "appimage + localstatedir" (mlet* %store-monad ((guile (set-guile-for-build (default-guile))) (profile -> (profile - (content (packages->manifest (list %bootstrap-guile hello))) + (content (packages->manifest (list %bootstrap-guile hello glibc))) (hooks '()) (locales? #f))) (image (self-contained-appimage "hello-appimage" profile #:entry-point "bin/hello" #:localstatedir? #t #:extra-options - (list #:relocatable? #t))) + '(#:relocatable? #t))) (check (gexp->derivation "check-appimage" - #~(begin - (invoke #$image))))) - (built-derivations (list check)))) + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (ice-9 popen) + (guix build utils)) + (let ((pipe (open-pipe* OPEN_READ + #$image "--appimage-extract-and-run"))) + (call-with-output-file #$output + (lambda (port) + (dump-port pipe port))) + (exit (status:exit-val (close-pipe pipe))))))))) + (built-derivations (list (pk 'APPIMAGE-drv check))))) (unless store (test-skip 1)) (test-assertm "deb archive with symlinks and control files" base-commit: bb8a6f0ac47296d3a18e1e0a26ea3a833eb77c4a -- 2.46.0
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.