diff options
| -rw-r--r-- | guix/scripts/pack.scm | 8 | ||||
| -rw-r--r-- | tests/pack.scm | 40 |
2 files changed, 27 insertions, 21 deletions
diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm index 51a7b8f1852..eb41eb55631 100644 --- a/guix/scripts/pack.scm +++ b/guix/scripts/pack.scm | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | ;;; GNU Guix --- Functional package management for GNU | 1 | ;;; GNU Guix --- Functional package management for GNU |
| 2 | ;;; Copyright © 2015, 2017-2022 Ludovic Courtès <ludo@gnu.org> | 2 | ;;; Copyright © 2015, 2017-2023 Ludovic Courtès <ludo@gnu.org> |
| 3 | ;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net> | 3 | ;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net> |
| 4 | ;;; Copyright © 2018 Konrad Hinsen <konrad.hinsen@fastmail.net> | 4 | ;;; Copyright © 2018 Konrad Hinsen <konrad.hinsen@fastmail.net> |
| 5 | ;;; Copyright © 2018 Chris Marusich <cmmarusich@gmail.com> | 5 | ;;; Copyright © 2018 Chris Marusich <cmmarusich@gmail.com> |
| @@ -220,6 +220,11 @@ items, which relies on hard links." | |||
| 220 | (file-append (store-database (list profile)) | 220 | (file-append (store-database (list profile)) |
| 221 | "/db/db.sqlite"))) | 221 | "/db/db.sqlite"))) |
| 222 | 222 | ||
| 223 | (define bootstrap? | ||
| 224 | ;; Whether a '--bootstrap' environment is needed, for testing purposes. | ||
| 225 | ;; XXX: Infer that from available info. | ||
| 226 | (and (not database) (not (profile-locales? profile)))) | ||
| 227 | |||
| 223 | (define (import-module? module) | 228 | (define (import-module? module) |
| 224 | ;; Since we don't use deduplication support in 'populate-store', don't | 229 | ;; Since we don't use deduplication support in 'populate-store', don't |
| 225 | ;; import (guix store deduplication) and its dependencies, which includes | 230 | ;; import (guix store deduplication) and its dependencies, which includes |
| @@ -287,6 +292,7 @@ items, which relies on hard links." | |||
| 287 | (for-each (cut evaluate-populate-directive <> #$output) | 292 | (for-each (cut evaluate-populate-directive <> #$output) |
| 288 | directives))) | 293 | directives))) |
| 289 | #:local-build? #f | 294 | #:local-build? #f |
| 295 | #:guile (if bootstrap? %bootstrap-guile (default-guile)) | ||
| 290 | #:options (list #:references-graphs `(("profile" ,profile)) | 296 | #:options (list #:references-graphs `(("profile" ,profile)) |
| 291 | #:target target))) | 297 | #:target target))) |
| 292 | 298 | ||
diff --git a/tests/pack.scm b/tests/pack.scm index 734ae1c69b6..87187bb62c7 100644 --- a/tests/pack.scm +++ b/tests/pack.scm | |||
| @@ -138,10 +138,10 @@ | |||
| 138 | (test-assertm "self-contained-tarball + localstatedir" store | 138 | (test-assertm "self-contained-tarball + localstatedir" store |
| 139 | (mlet* %store-monad | 139 | (mlet* %store-monad |
| 140 | ((guile (set-guile-for-build (default-guile))) | 140 | ((guile (set-guile-for-build (default-guile))) |
| 141 | (profile (profile-derivation (packages->manifest | 141 | (profile -> (profile |
| 142 | (list %bootstrap-guile)) | 142 | (content (packages->manifest (list %bootstrap-guile))) |
| 143 | #:hooks '() | 143 | (hooks '()) |
| 144 | #:locales? #f)) | 144 | (locales? #f))) |
| 145 | (tarball (self-contained-tarball "tar-pack" profile | 145 | (tarball (self-contained-tarball "tar-pack" profile |
| 146 | #:localstatedir? #t)) | 146 | #:localstatedir? #t)) |
| 147 | (check (gexp->derivation "check-tarball" | 147 | (check (gexp->derivation "check-tarball" |
| @@ -210,10 +210,10 @@ | |||
| 210 | (test-assertm "docker-image + localstatedir" store | 210 | (test-assertm "docker-image + localstatedir" store |
| 211 | (mlet* %store-monad | 211 | (mlet* %store-monad |
| 212 | ((guile (set-guile-for-build (default-guile))) | 212 | ((guile (set-guile-for-build (default-guile))) |
| 213 | (profile (profile-derivation (packages->manifest | 213 | (profile -> (profile |
| 214 | (list %bootstrap-guile)) | 214 | (content (packages->manifest (list %bootstrap-guile))) |
| 215 | #:hooks '() | 215 | (hooks '()) |
| 216 | #:locales? #f)) | 216 | (locales? #f))) |
| 217 | (tarball (docker-image "docker-pack" profile | 217 | (tarball (docker-image "docker-pack" profile |
| 218 | #:symlinks '(("/bin/Guile" -> "bin/guile")) | 218 | #:symlinks '(("/bin/Guile" -> "bin/guile")) |
| 219 | #:localstatedir? #t)) | 219 | #:localstatedir? #t)) |
| @@ -250,10 +250,10 @@ | |||
| 250 | (test-assertm "squashfs-image + localstatedir" store | 250 | (test-assertm "squashfs-image + localstatedir" store |
| 251 | (mlet* %store-monad | 251 | (mlet* %store-monad |
| 252 | ((guile (set-guile-for-build (default-guile))) | 252 | ((guile (set-guile-for-build (default-guile))) |
| 253 | (profile (profile-derivation (packages->manifest | 253 | (profile -> (profile |
| 254 | (list %bootstrap-guile)) | 254 | (content (packages->manifest (list %bootstrap-guile))) |
| 255 | #:hooks '() | 255 | (hooks '()) |
| 256 | #:locales? #f)) | 256 | (locales? #f))) |
| 257 | (image (squashfs-image "squashfs-pack" profile | 257 | (image (squashfs-image "squashfs-pack" profile |
| 258 | #:symlinks '(("/bin" -> "bin")) | 258 | #:symlinks '(("/bin" -> "bin")) |
| 259 | #:localstatedir? #t)) | 259 | #:localstatedir? #t)) |
| @@ -288,10 +288,10 @@ | |||
| 288 | (test-assertm "deb archive with symlinks and control files" store | 288 | (test-assertm "deb archive with symlinks and control files" store |
| 289 | (mlet* %store-monad | 289 | (mlet* %store-monad |
| 290 | ((guile (set-guile-for-build (default-guile))) | 290 | ((guile (set-guile-for-build (default-guile))) |
| 291 | (profile (profile-derivation (packages->manifest | 291 | (profile -> (profile |
| 292 | (list %bootstrap-guile)) | 292 | (content (packages->manifest (list %bootstrap-guile))) |
| 293 | #:hooks '() | 293 | (hooks '()) |
| 294 | #:locales? #f)) | 294 | (locales? #f))) |
| 295 | (deb (debian-archive | 295 | (deb (debian-archive |
| 296 | "deb-pack" profile | 296 | "deb-pack" profile |
| 297 | #:compressor %gzip-compressor | 297 | #:compressor %gzip-compressor |
| @@ -376,10 +376,10 @@ | |||
| 376 | (test-assertm "rpm archive can be installed/uninstalled" store | 376 | (test-assertm "rpm archive can be installed/uninstalled" store |
| 377 | (mlet* %store-monad | 377 | (mlet* %store-monad |
| 378 | ((guile (set-guile-for-build (default-guile))) | 378 | ((guile (set-guile-for-build (default-guile))) |
| 379 | (profile (profile-derivation (packages->manifest | 379 | (profile -> (profile |
| 380 | (list %bootstrap-guile)) | 380 | (content (packages->manifest (list %bootstrap-guile))) |
| 381 | #:hooks '() | 381 | (hooks '()) |
| 382 | #:locales? #f)) | 382 | (locales? #f))) |
| 383 | (rpm-pack (rpm-archive "rpm-pack" profile | 383 | (rpm-pack (rpm-archive "rpm-pack" profile |
| 384 | #:compressor %gzip-compressor | 384 | #:compressor %gzip-compressor |
| 385 | #:symlinks '(("/bin/guile" -> "bin/guile")) | 385 | #:symlinks '(("/bin/guile" -> "bin/guile")) |
