aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2022-08-31 12:34:10 +0200
committerLudovic Courtès <ludo@gnu.org>2022-08-31 12:34:10 +0200
commit67a6828b2bb821274757f686f7c685b664339a96 (patch)
tree72738378b7a7015ffc6e2d9082f2da215f872a89
parent270e1b9e1ea2b3e41067a38b094b0656ceb56838 (diff)
downloadguix-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.scm1
-rw-r--r--guix/scripts/package.scm2
-rw-r--r--guix/scripts/pull.scm3
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