summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--guix/scripts/pack.scm8
-rw-r--r--tests/pack.scm40
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"))