diff options
author | Ludovic Courtès <ludo@gnu.org> | 2022-08-31 12:34:10 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2022-08-31 12:34:10 +0200 |
commit | 67a6828b2bb821274757f686f7c685b664339a96 (patch) | |
tree | 72738378b7a7015ffc6e2d9082f2da215f872a89 | |
parent | 270e1b9e1ea2b3e41067a38b094b0656ceb56838 (diff) | |
download | guix-67a6828b2bb821274757f686f7c685b664339a96.tar guix-67a6828b2bb821274757f686f7c685b664339a96.tar.gz |
pull: Create a version 3 manifest.
This makes the profile readable by older Guix instances. This is a
followup to c9fbd40785a99e13a59d8e530830ce85220a9871.
Fixes <https://issues.guix.gnu.org/57306>.
Reported by Arun Isaac <arunisaac@systemreboot.net>.
* guix/profiles.scm (%manifest-format-version): Export.
* guix/scripts/package.scm (build-and-use-profile): Add #:format-version
and pass it to 'profile-derivation'.
* guix/scripts/pull.scm (build-and-install): Pass #:format-version 3.
-rw-r--r-- | guix/profiles.scm | 1 | ||||
-rw-r--r-- | guix/scripts/package.scm | 2 | ||||
-rw-r--r-- | guix/scripts/pull.scm | 3 |
3 files changed, 6 insertions, 0 deletions
diff --git a/guix/profiles.scm b/guix/profiles.scm index d1dfa13e98..5d0a1081c9 100644 --- a/guix/profiles.scm +++ b/guix/profiles.scm @@ -128,6 +128,7 @@ packages->manifest ca-certificate-bundle %default-profile-hooks + %manifest-format-version profile-derivation profile-search-paths load-profile diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm index 7d92598efa..7ba2661bbb 100644 --- a/guix/scripts/package.scm +++ b/guix/scripts/package.scm @@ -145,6 +145,7 @@ denote ranges as interpreted by 'matching-generations'." dry-run? (hooks %default-profile-hooks) allow-collisions? + (format-version %manifest-format-version) bootstrap?) "Build a new generation of PROFILE, a file name, using the packages specified in MANIFEST, a manifest object. When ALLOW-COLLISIONS? is true, @@ -154,6 +155,7 @@ hooks\" run when building the profile." (profile-derivation manifest #:allow-collisions? allow-collisions? #:hooks (if bootstrap? '() hooks) + #:format-version format-version #:locales? (not bootstrap?)))) (prof (derivation->output-path prof-drv))) diff --git a/guix/scripts/pull.scm b/guix/scripts/pull.scm index b0cc459d63..19224cf70b 100644 --- a/guix/scripts/pull.scm +++ b/guix/scripts/pull.scm @@ -452,6 +452,9 @@ true, display what would be built without actually building it." (mlet %store-monad ((manifest (channel-instances->manifest instances))) (mbegin %store-monad (update-profile profile manifest + ;; Create a version 3 profile so that it is readable by + ;; old instances of Guix. + #:format-version 3 #:hooks %channel-profile-hooks) (return |