diff options
| author | Noé Lopez <noelopez@free.fr> | 2025-11-18 17:46:38 +0900 |
|---|---|---|
| committer | Vagrant Cascadian <vagrant@debian.org> | 2026-04-10 18:24:56 -0700 |
| commit | 1078e42a60655a1512e41f01d0b1d75df70bf9df (patch) | |
| tree | 6e928ad045fe22cd592e3111a4c16af51bcb5a6c /tests/pack.scm | |
| parent | 3cbd6bd79c8d26079be5b39583e3d7c10567acb2 (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 'tests/pack.scm')
| -rw-r--r-- | tests/pack.scm | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/tests/pack.scm b/tests/pack.scm index d0a1b72eb94..5422e156b90 100644 --- a/tests/pack.scm +++ b/tests/pack.scm | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> | 3 | ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> |
| 4 | ;;; Copyright © 2021, 2023, 2025 Maxim Cournoyer <maxim@guixotic.coop> | 4 | ;;; Copyright © 2021, 2023, 2025 Maxim Cournoyer <maxim@guixotic.coop> |
| 5 | ;;; Copyright © 2023 Oleg Pykhalov <go.wigust@gmail.com> | 5 | ;;; Copyright © 2023 Oleg Pykhalov <go.wigust@gmail.com> |
| 6 | ;;; Copyright © 2024 Noé Lopez <noelopez@free.fr> | 6 | ;;; Copyright © 2024-2025 Noé Lopez <noelopez@free.fr> |
| 7 | ;;; | 7 | ;;; |
| 8 | ;;; This file is part of GNU Guix. | 8 | ;;; This file is part of GNU Guix. |
| 9 | ;;; | 9 | ;;; |
| @@ -337,11 +337,13 @@ | |||
| 337 | (mlet* %store-monad | 337 | (mlet* %store-monad |
| 338 | ((guile (set-guile-for-build (default-guile))) | 338 | ((guile (set-guile-for-build (default-guile))) |
| 339 | (profile -> (profile | 339 | (profile -> (profile |
| 340 | ;; When using '--appimage-extract-and-run', the dynamic | 340 | ;; When using '--appimage-extract-and-run', the dynamic |
| 341 | ;; linker is necessary, hence glibc below. | 341 | ;; linker is necessary, hence glibc below. |
| 342 | (content (packages->manifest (list hello glibc))) | 342 | (content (wrapped-manifest |
| 343 | (hooks '()) | 343 | (packages->manifest (list hello glibc)))) |
| 344 | (locales? #f))) | 344 | (relative-symlinks? #t) |
| 345 | (hooks '()) | ||
| 346 | (locales? #f))) | ||
| 345 | (image (self-contained-appimage "hello-appimage" profile | 347 | (image (self-contained-appimage "hello-appimage" profile |
| 346 | #:entry-point "bin/hello" | 348 | #:entry-point "bin/hello" |
| 347 | #:extra-options | 349 | #:extra-options |
| @@ -369,11 +371,13 @@ | |||
| 369 | (mlet* %store-monad | 371 | (mlet* %store-monad |
| 370 | ((guile (set-guile-for-build (default-guile))) | 372 | ((guile (set-guile-for-build (default-guile))) |
| 371 | (profile -> (profile | 373 | (profile -> (profile |
| 372 | ;; When using '--appimage-extract-and-run', the dynamic | 374 | ;; When using '--appimage-extract-and-run', the dynamic |
| 373 | ;; linker is necessary, hence glibc below. | 375 | ;; linker is necessary, hence glibc below. |
| 374 | (content (packages->manifest (list guile-3.0 glibc))) | 376 | (content (wrapped-manifest |
| 375 | (hooks '()) | 377 | (packages->manifest (list guile-3.0 glibc)))) |
| 376 | (locales? #f))) | 378 | (relative-symlinks? #t) |
| 379 | (hooks '()) | ||
| 380 | (locales? #f))) | ||
| 377 | (image (self-contained-appimage "guile-appimage" profile | 381 | (image (self-contained-appimage "guile-appimage" profile |
| 378 | #:entry-point "bin/guile" | 382 | #:entry-point "bin/guile" |
| 379 | #:localstatedir? #t | 383 | #:localstatedir? #t |
