aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2018-10-20 17:51:58 +0200
committerLudovic Courtès <ludo@gnu.org>2018-11-05 00:08:46 +0100
commitab3c60ace3bdd376255463c6475b62f6d17e5978 (patch)
tree5e9ada35b0062f7462b9050c2168e3980f122bff
parent97b7b96efc2a65f2805567191237451b34e4d966 (diff)
downloadpatches-ab3c60ace3bdd376255463c6475b62f6d17e5978.tar
patches-ab3c60ace3bdd376255463c6475b62f6d17e5978.tar.gz
install: Parameterize the profile name for 'populate-single-profile-directory'.
* gnu/build/install.scm (populate-single-profile-directory): Add #:profile-name. Replace hard-coded occurrences of "guix-profile" with PROFILE-NAME. Make the symlink part under /root a function of PROFILE-NAME.
-rw-r--r--gnu/build/install.scm26
1 files changed, 19 insertions, 7 deletions
diff --git a/gnu/build/install.scm b/gnu/build/install.scm
index c602d69489..98c547f2e4 100644
--- a/gnu/build/install.scm
+++ b/gnu/build/install.scm
@@ -160,6 +160,7 @@ deduplicates files common to CLOSURE and the rest of PREFIX."
(define* (populate-single-profile-directory directory
#:key profile closure
+ (profile-name "guix-profile")
deduplicate?
register? schema)
"Populate DIRECTORY with a store containing PROFILE, whose closure is given
@@ -169,6 +170,9 @@ When REGISTER? is true, initialize DIRECTORY/var/guix/db to reflect the
contents of the store; DEDUPLICATE? determines whether to deduplicate files in
the store.
+PROFILE-NAME is the name of the profile being created under
+/var/guix/profiles, typically either \"guix-profile\" or \"current-guix\".
+
This is used to create the self-contained tarballs with 'guix pack'."
(define (scope file)
(string-append directory "/" file))
@@ -198,12 +202,20 @@ This is used to create the self-contained tarballs with 'guix pack'."
;; Make root's profile, which makes it a GC root.
(mkdir-p* %root-profile)
(symlink* profile
- (string-append %root-profile "/guix-profile-1-link"))
- (symlink* "guix-profile-1-link"
- (string-append %root-profile "/guix-profile"))
-
- (mkdir-p* "/root")
- (symlink* (string-append %root-profile "/guix-profile")
- "/root/.guix-profile"))
+ (string-append %root-profile "/" profile-name "-1-link"))
+ (symlink* (string-append profile-name "-1-link")
+ (string-append %root-profile "/" profile-name))
+
+ (match profile-name
+ ("guix-profile"
+ (mkdir-p* "/root")
+ (symlink* (string-append %root-profile "/guix-profile")
+ "/root/.guix-profile"))
+ ("current-guix"
+ (mkdir-p* "/root/.config/guix")
+ (symlink* (string-append %root-profile "/current-guix")
+ "/root/.config/guix/current"))
+ (_
+ #t)))
;;; install.scm ends here