From unknown Fri Aug 15 02:04:31 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#33111 <33111@debbugs.gnu.org> To: bug#33111 <33111@debbugs.gnu.org> Subject: Status: [PATCH 0/3] Have the binary tarball populate ~root/.config/guix/current Reply-To: bug#33111 <33111@debbugs.gnu.org> Date: Fri, 15 Aug 2025 09:04:31 +0000 retitle 33111 [PATCH 0/3] Have the binary tarball populate ~root/.config/gu= ix/current reassign 33111 guix-patches submitter 33111 Ludovic Court=C3=A8s severity 33111 normal tag 33111 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Sun Oct 21 16:45:57 2018 Received: (at submit) by debbugs.gnu.org; 21 Oct 2018 20:45:57 +0000 Received: from localhost ([127.0.0.1]:34628 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gEKbf-0006xj-6C for submit@debbugs.gnu.org; Sun, 21 Oct 2018 16:45:56 -0400 Received: from eggs.gnu.org ([208.118.235.92]:34490) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gEKbd-0006s0-JE for submit@debbugs.gnu.org; Sun, 21 Oct 2018 16:45:50 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gEKbX-0002z6-9J for submit@debbugs.gnu.org; Sun, 21 Oct 2018 16:45:44 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:38307) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gEKbT-0002wa-8L for submit@debbugs.gnu.org; Sun, 21 Oct 2018 16:45:40 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44068) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gEKbS-0008Fu-Di for guix-patches@gnu.org; Sun, 21 Oct 2018 16:45:39 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gEKbM-0002tn-Ok for guix-patches@gnu.org; Sun, 21 Oct 2018 16:45:36 -0400 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:35923) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gEKbB-0002mQ-Cw; Sun, 21 Oct 2018 16:45:21 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=33172 helo=gnu.org) by fencepost.gnu.org with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1gEKb7-0003GR-2t; Sun, 21 Oct 2018 16:45:21 -0400 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= To: guix-patches@gnu.org Subject: [PATCH 0/3] Have the binary tarball populate ~root/.config/guix/current Date: Sun, 21 Oct 2018 22:45:06 +0200 Message-Id: <20181021204506.1978-1-ludo@gnu.org> X-Mailer: git-send-email 2.19.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: submit Cc: =?UTF-8?q?Ludovic=20Court=C3=A8s?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hello Guix! Currently the binary tarball populates ~root/.guix-profile. This creates confusion when people realize that ‘guix pull’, instead, updates ~root/.config/guix; it’s also inconvenient because it forces root to do “guix pull && guix package -u guix” or similar if they want to update the default Guix revision on the distro. These patches address this by having the binary tarball populate ~root/.config/guix/current like ‘guix pull’ does. There’s one downside though: with the last patch, the ‘glibc-utf8-locales’ is no longer included because ~root/.config/guix/current would be the wrong place for it. Consequently, users have to explicitly install it in ~root/.guix-profile and set GUIX_LOCPATH accordingly. A possible fix would be to modify ‘guix pack’ so that it can create not just two profiles, where ~root/.guix-profile would contain ‘glibc-utf8-locales’. That’d be a non-trivial change, though. Thoughts? Thanks, Ludo’. Ludovic Courtès (3): install: Parameterize the profile name for 'populate-single-profile-directory'. pack: Add '--profile-name'. build: Binary tarball now populates the "current-guix" profile. Makefile.am | 6 ++---- doc/guix.texi | 37 +++++++++++++++++++++++-------------- etc/guix-daemon.conf.in | 2 +- etc/guix-daemon.service.in | 4 ++-- etc/guix-install.sh | 21 +++++++++++---------- etc/guix-publish.conf.in | 2 +- etc/guix-publish.service.in | 4 ++-- gnu/build/install.scm | 24 ++++++++++++++++++------ guix/scripts/pack.scm | 20 +++++++++++++++++++- tests/guix-pack.sh | 17 +++++++++++++++-- 10 files changed, 94 insertions(+), 43 deletions(-) -- 2.19.1 From debbugs-submit-bounces@debbugs.gnu.org Sun Oct 21 16:50:12 2018 Received: (at 33111) by debbugs.gnu.org; 21 Oct 2018 20:50:12 +0000 Received: from localhost ([127.0.0.1]:34664 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gEKfs-0008TZ-8g for submit@debbugs.gnu.org; Sun, 21 Oct 2018 16:50:12 -0400 Received: from eggs.gnu.org ([208.118.235.92]:35529) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gEKfq-0008T9-45 for 33111@debbugs.gnu.org; Sun, 21 Oct 2018 16:50:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gEKfj-0005CE-Ro for 33111@debbugs.gnu.org; Sun, 21 Oct 2018 16:50:04 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_20 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:35989) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gEKfb-000589-JI; Sun, 21 Oct 2018 16:49:57 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=33222 helo=gnu.org) by fencepost.gnu.org with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1gEKfa-0003ed-Fh; Sun, 21 Oct 2018 16:49:55 -0400 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= To: 33111@debbugs.gnu.org Subject: [PATCH 1/3] install: Parameterize the profile name for 'populate-single-profile-directory'. Date: Sun, 21 Oct 2018 22:49:41 +0200 Message-Id: <20181021204943.2142-1-ludo@gnu.org> X-Mailer: git-send-email 2.19.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 33111 Cc: =?UTF-8?q?Ludovic=20Court=C3=A8s?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) * 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. --- gnu/build/install.scm | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/gnu/build/install.scm b/gnu/build/install.scm index c602d6948..98c547f2e 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")) + (string-append %root-profile "/" profile-name "-1-link")) + (symlink* (string-append profile-name "-1-link") + (string-append %root-profile "/" profile-name)) - (mkdir-p* "/root") - (symlink* (string-append %root-profile "/guix-profile") - "/root/.guix-profile")) + (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 -- 2.19.1 From debbugs-submit-bounces@debbugs.gnu.org Sun Oct 21 16:50:14 2018 Received: (at 33111) by debbugs.gnu.org; 21 Oct 2018 20:50:14 +0000 Received: from localhost ([127.0.0.1]:34668 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gEKft-0008Tm-Mq for submit@debbugs.gnu.org; Sun, 21 Oct 2018 16:50:14 -0400 Received: from eggs.gnu.org ([208.118.235.92]:35549) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gEKfs-0008TL-9f for 33111@debbugs.gnu.org; Sun, 21 Oct 2018 16:50:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gEKfk-0005CZ-Na for 33111@debbugs.gnu.org; Sun, 21 Oct 2018 16:50:07 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.5 required=5.0 tests=BAYES_05 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:35990) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gEKfd-00058m-HH; Sun, 21 Oct 2018 16:49:59 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=33222 helo=gnu.org) by fencepost.gnu.org with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1gEKfb-0003ed-SC; Sun, 21 Oct 2018 16:49:57 -0400 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= To: 33111@debbugs.gnu.org Subject: [PATCH 2/3] pack: Add '--profile-name'. Date: Sun, 21 Oct 2018 22:49:42 +0200 Message-Id: <20181021204943.2142-2-ludo@gnu.org> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20181021204943.2142-1-ludo@gnu.org> References: <20181021204943.2142-1-ludo@gnu.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 33111 Cc: =?UTF-8?q?Ludovic=20Court=C3=A8s?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) * guix/scripts/pack.scm (self-contained-tarball): Add #:profile-name and honor it. (squashfs-image, docker-image): Add #:profile-name. (%default-options): Add 'profile-name'. (%options, show-help): Add "--profile-name". (guix-pack): Honor it. * tests/guix-pack.sh: Add test for '--localstatedir --profile-name=current-guix'. * doc/guix.texi (Invoking guix pack): Document "--profile-name". --- doc/guix.texi | 7 +++++-- guix/scripts/pack.scm | 20 +++++++++++++++++++- tests/guix-pack.sh | 17 +++++++++++++++-- 3 files changed, 39 insertions(+), 5 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 12346c4b8..7265eed91 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -3459,8 +3459,11 @@ For instance, @code{-S /opt/gnu/bin=bin} creates a @file{/opt/gnu/bin} symlink pointing to the @file{bin} sub-directory of the profile. @item --localstatedir -Include the ``local state directory'', @file{/var/guix}, in the -resulting pack. +@itemx --profile-name=@var{name} +Include the ``local state directory'', @file{/var/guix}, in the resulting +pack, and notably the @file{/var/guix/profiles/per-user/root/@var{name}} +profile---by default @var{name} is @code{guix-profile}, which corresponds to +@file{~root/.guix-profile}. @file{/var/guix} contains the store database (@pxref{The Store}) as well as garbage-collector roots (@pxref{Invoking guix gc}). Providing it in diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm index b7b4e22bb..a87a96115 100644 --- a/guix/scripts/pack.scm +++ b/guix/scripts/pack.scm @@ -105,6 +105,7 @@ found." (define* (self-contained-tarball name profile #:key target + (profile-name "guix-profile") deduplicate? (compressor (first %compressors)) localstatedir? @@ -184,6 +185,7 @@ added to the pack." ;; . (populate-single-profile-directory %root #:profile #$profile + #:profile-name #$profile-name #:closure "profile" #:deduplicate? #f #:register? #$localstatedir? @@ -244,6 +246,7 @@ added to the pack." (define* (squashfs-image name profile #:key target + (profile-name "guix-profile") deduplicate? (compressor (first %compressors)) localstatedir? @@ -333,6 +336,7 @@ added to the pack." (define* (docker-image name profile #:key target + (profile-name "guix-profile") deduplicate? (compressor (first %compressors)) localstatedir? @@ -538,6 +542,7 @@ please email '~a'~%") (define %default-options ;; Alist of default option values. `((format . tarball) + (profile-name . "guix-profile") (system . ,(%current-system)) (substitutes? . #t) (build-hook? . #t) @@ -609,6 +614,13 @@ please email '~a'~%") (option '("localstatedir") #f #f (lambda (opt name arg result) (alist-cons 'localstatedir? #t result))) + (option '("profile-name") #t #f + (lambda (opt name arg result) + (match arg + ((or "guix-profile" "current-guix") + (alist-cons 'profile-name arg result)) + (_ + (leave (G_ "~a: unsupported profile name~%") arg))))) (option '("bootstrap") #f #f (lambda (opt name arg result) (alist-cons 'bootstrap? #t result))) @@ -641,6 +653,9 @@ Create a bundle of PACKAGE.\n")) -m, --manifest=FILE create a pack with the manifest from FILE")) (display (G_ " --localstatedir include /var/guix in the resulting pack")) + (display (G_ " + --profile-name=NAME + populate /var/guix/profiles/.../NAME")) (display (G_ " --bootstrap use the bootstrap binaries to build the pack")) (newline) @@ -730,7 +745,8 @@ Create a bundle of PACKAGE.\n")) (#f (leave (G_ "~a: unknown pack format~%") pack-format)))) - (localstatedir? (assoc-ref opts 'localstatedir?))) + (localstatedir? (assoc-ref opts 'localstatedir?)) + (profile-name (assoc-ref opts 'profile-name))) (run-with-store store (mlet* %store-monad ((profile (profile-derivation manifest @@ -749,6 +765,8 @@ Create a bundle of PACKAGE.\n")) symlinks #:localstatedir? localstatedir? + #:profile-name + profile-name #:archiver archiver))) (mbegin %store-monad diff --git a/tests/guix-pack.sh b/tests/guix-pack.sh index cd721a60e..c55fe6c9a 100644 --- a/tests/guix-pack.sh +++ b/tests/guix-pack.sh @@ -61,7 +61,7 @@ the_pack="`guix pack -S /opt/gnu/bin=bin guile-bootstrap`" # exists because /opt/gnu/bin may be an absolute symlink to a store item that # has been GC'd. test_directory="`mktemp -d`" -trap 'rm -rf "$test_directory"' EXIT +trap 'find "$test_directory" -type d -exec chmod +w {} \; ;rm -rf "$test_directory"' EXIT cd "$test_directory" tar -xf "$the_pack" test -L opt/gnu/bin @@ -74,10 +74,23 @@ is_available () { if is_available chroot && is_available unshare; then # Verify we can use what we built. unshare -r chroot . /opt/gnu/bin/guile --version - cd - else echo "warning: skipped some verification because chroot or unshare is unavailable" >&2 fi +cd - +rm -rf "$test_directory" + +# Build a tarball with '--localstatedir' +the_pack="`guix pack -C none --localstatedir --profile-name=current-guix \ + guile-bootstrap`" +test_directory="`mktemp -d`" +cd "$test_directory" +tar -xf "$the_pack" + +profile="`find -name current-guix`" +test "`readlink $profile`" = "current-guix-1-link" +test -s "`dirname $profile`/../../../db/db.sqlite" +test -x ".`guix build guile-bootstrap`/bin/guile" # For the tests that build Docker images below, we currently have to use # --dry-run because if we don't, there are only two possible cases: -- 2.19.1 From debbugs-submit-bounces@debbugs.gnu.org Sun Oct 21 16:50:23 2018 Received: (at 33111) by debbugs.gnu.org; 21 Oct 2018 20:50:23 +0000 Received: from localhost ([127.0.0.1]:34670 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gEKfz-0008U3-4I for submit@debbugs.gnu.org; Sun, 21 Oct 2018 16:50:23 -0400 Received: from eggs.gnu.org ([208.118.235.92]:35561) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gEKft-0008TP-G7 for 33111@debbugs.gnu.org; Sun, 21 Oct 2018 16:50:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gEKfk-0005Ce-OW for 33111@debbugs.gnu.org; Sun, 21 Oct 2018 16:50:08 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_40 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:35991) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gEKff-00059D-Dr; Sun, 21 Oct 2018 16:50:00 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=33222 helo=gnu.org) by fencepost.gnu.org with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1gEKfd-0003ed-QF; Sun, 21 Oct 2018 16:49:59 -0400 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= To: 33111@debbugs.gnu.org Subject: [PATCH 3/3] build: Binary tarball now populates the "current-guix" profile. Date: Sun, 21 Oct 2018 22:49:43 +0200 Message-Id: <20181021204943.2142-3-ludo@gnu.org> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20181021204943.2142-1-ludo@gnu.org> References: <20181021204943.2142-1-ludo@gnu.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 33111 Cc: =?UTF-8?q?Ludovic=20Court=C3=A8s?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * Makefile.am (guix-binary.%.tar.xz): Pass '--profile-name=current-guix'. Remove glibc and glibc-utf8-locales. * doc/guix.texi (Binary Installation): Update accordingly. * etc/guix-install.sh * etc/guix-install.sh (sys_create_store, sys_enable_guix_daemon) (sys_authorize_build_farms): Likewise. * etc/guix-publish.conf.in, etc/guix-publish.service.in, etc/guix-daemon.conf.in, etc/guix-daemon.service.in: Update file names accordingly. --- Makefile.am | 6 ++---- doc/guix.texi | 30 ++++++++++++++++++------------ etc/guix-daemon.conf.in | 2 +- etc/guix-daemon.service.in | 4 ++-- etc/guix-install.sh | 21 +++++++++++---------- etc/guix-publish.conf.in | 2 +- etc/guix-publish.service.in | 4 ++-- 7 files changed, 37 insertions(+), 32 deletions(-) diff --git a/Makefile.am b/Makefile.am index 7fd29b90a..8b4c431b2 100644 --- a/Makefile.am +++ b/Makefile.am @@ -593,13 +593,11 @@ AM_DISTCHECK_CONFIGURE_FLAGS = \ --enable-daemon \ ac_cv_guix_test_root="$(GUIX_TEST_ROOT)" -# The self-contained tarball. Add 'glibc-utf8-locales' along with glibc just -# so 'etc/profile' defines 'GUIX_LOCPATH' pointing to a valid set of locales. +# The self-contained tarball. guix-binary.%.tar.xz: $(AM_V_GEN)GUIX_PACKAGE_PATH= \ tarball=`$(top_builddir)/pre-inst-env guix pack -K -C xz \ - -s "$*" --localstatedir guix glibc-utf8-locales \ - -e '(@@ (gnu packages commencement) glibc-final)'` ; \ + -s "$*" --localstatedir --profile-name=current-guix guix` ; \ cp "$$tarball" "$@.tmp" ; mv "$@.tmp" "$@" diff --git a/doc/guix.texi b/doc/guix.texi index 7265eed91..de9f6ec25 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -487,18 +487,20 @@ archive content is independent of its creation time, thus making it reproducible. @item -Make @code{root}'s profile available under @file{~root/.guix-profile}: +Make the profile available under @file{~root/.config/guix/current}, which is +where @command{guix pull} will install updates (@pxref{Invoking guix pull}): @example -# ln -sf /var/guix/profiles/per-user/root/guix-profile \ - ~root/.guix-profile +# mkdir -p ~root/.config/guix +# ln -sf /var/guix/profiles/per-user/root/current-guix \ + ~root/.config/guix/current @end example Source @file{etc/profile} to augment @code{PATH} and other relevant environment variables: @example -# GUIX_PROFILE="`echo ~root`/.guix-profile" ; \ +# GUIX_PROFILE="`echo ~root`/.config/guix/current" ; \ source $GUIX_PROFILE/etc/profile @end example @@ -520,8 +522,8 @@ with these commands: @c http://lists.gnu.org/archive/html/guix-devel/2017-01/msg01199.html @example -# cp ~root/.guix-profile/lib/systemd/system/guix-daemon.service \ - /etc/systemd/system/ +# cp ~root/.config/guix/current/lib/systemd/system/guix-daemon.service \ + /etc/systemd/system/ # systemctl start guix-daemon && systemctl enable guix-daemon @end example @@ -529,14 +531,16 @@ If your host distro uses the Upstart init system: @example # initctl reload-configuration -# cp ~root/.guix-profile/lib/upstart/system/guix-daemon.conf /etc/init/ +# cp ~root/.config/guix/current/lib/upstart/system/guix-daemon.conf \ + /etc/init/ # start guix-daemon @end example Otherwise, you can still start the daemon manually with: @example -# ~root/.guix-profile/bin/guix-daemon --build-users-group=guixbuild +# ~root/.config/guix/current/bin/guix-daemon \ + --build-users-group=guixbuild @end example @item @@ -546,7 +550,7 @@ for instance with: @example # mkdir -p /usr/local/bin # cd /usr/local/bin -# ln -s /var/guix/profiles/per-user/root/guix-profile/bin/guix +# ln -s /var/guix/profiles/per-user/root/current-guix/bin/guix @end example It is also a good idea to make the Info version of this manual available @@ -555,7 +559,7 @@ there: @example # mkdir -p /usr/local/share/info # cd /usr/local/share/info -# for i in /var/guix/profiles/per-user/root/guix-profile/share/info/* ; +# for i in /var/guix/profiles/per-user/root/current-guix/share/info/* ; do ln -s $i ; done @end example @@ -570,7 +574,8 @@ To use substitutes from @code{hydra.gnu.org} or one of its mirrors (@pxref{Substitutes}), authorize them: @example -# guix archive --authorize < ~root/.guix-profile/share/guix/hydra.gnu.org.pub +# guix archive --authorize < \ + ~root/.config/guix/current/share/guix/hydra.gnu.org.pub @end example @item @@ -604,7 +609,8 @@ make guix-binary.@var{system}.tar.xz ... which, in turn, runs: @example -guix pack -s @var{system} --localstatedir guix +guix pack -s @var{system} --localstatedir \ + --profile-name=current-guix guix @end example @xref{Invoking guix pack}, for more info on this handy tool. diff --git a/etc/guix-daemon.conf.in b/etc/guix-daemon.conf.in index 74706055f..755192d55 100644 --- a/etc/guix-daemon.conf.in +++ b/etc/guix-daemon.conf.in @@ -7,4 +7,4 @@ start on runlevel [2345] stop on runlevel [016] -exec @localstatedir@/guix/profiles/per-user/root/guix-profile/bin/guix-daemon --build-users-group=guixbuild +exec @localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix-daemon --build-users-group=guixbuild diff --git a/etc/guix-daemon.service.in b/etc/guix-daemon.service.in index 988cf90c0..99ec7c48f 100644 --- a/etc/guix-daemon.service.in +++ b/etc/guix-daemon.service.in @@ -6,8 +6,8 @@ Description=Build daemon for GNU Guix [Service] -ExecStart=@localstatedir@/guix/profiles/per-user/root/guix-profile/bin/guix-daemon --build-users-group=guixbuild -Environment=GUIX_LOCPATH=/root/.guix-profile/lib/locale +ExecStart=@localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix-daemon --build-users-group=guixbuild +Environment=GUIX_LOCPATH=@localstatedir@/guix/profiles/per-user/root/guix-profile/lib/locale RemainAfterExit=yes StandardOutput=syslog StandardError=syslog diff --git a/etc/guix-install.sh b/etc/guix-install.sh index ca6874ba0..6a01e5972 100755 --- a/etc/guix-install.sh +++ b/etc/guix-install.sh @@ -269,12 +269,13 @@ sys_create_store() fi _msg "${INF}Linking the root user's profile" - ln -sf /var/guix/profiles/per-user/root/guix-profile \ - "${ROOT_HOME}/.guix-profile" + mkdir -p "${ROOT_HOME}/.config/guix" + ln -sf /var/guix/profiles/per-user/root/current-guix \ + "${ROOT_HOME}/.config/guix/current" - GUIX_PROFILE="${ROOT_HOME}/.guix-profile" + GUIX_PROFILE="${ROOT_HOME}/.config/guix/current" source "${GUIX_PROFILE}/etc/profile" - _msg "${PAS}activated root profile at /root/.guix-profile" + _msg "${PAS}activated root profile at ${ROOT_HOME}/.config/guix/current" } sys_create_build_user() @@ -317,18 +318,18 @@ sys_enable_guix_daemon() info_path="/usr/local/share/info" local_bin="/usr/local/bin" - var_guix="/var/guix/profiles/per-user/root/guix-profile" + var_guix="/var/guix/profiles/per-user/root/current-guix" case "$INIT_SYS" in upstart) { initctl reload-configuration; - cp "${ROOT_HOME}/.guix-profile/lib/upstart/system/guix-daemon.conf" \ + cp "${ROOT_HOME}/.config/guix/current/lib/upstart/system/guix-daemon.conf" \ /etc/init/ && start guix-daemon; } && _msg "${PAS}enabled Guix daemon via upstart" ;; systemd) - { cp "${ROOT_HOME}/.guix-profile/lib/systemd/system/guix-daemon.service" \ + { cp "${ROOT_HOME}/.config/guix/current/lib/systemd/system/guix-daemon.service" \ /etc/systemd/system/; chmod 664 /etc/systemd/system/guix-daemon.service; systemctl daemon-reload && @@ -338,7 +339,7 @@ sys_enable_guix_daemon() ;; NA|*) _msg "${ERR}unsupported init system; run the daemon manually:" - echo " ${ROOT_HOME}/.guix-profile/bin/guix-daemon --build-users-group=guixbuild" + echo " ${ROOT_HOME}/.config/guix/current/bin/guix-daemon --build-users-group=guixbuild" ;; esac @@ -358,9 +359,9 @@ sys_authorize_build_farms() while true; do read -p "Permit downloading pre-built package binaries from the project's build farms? (yes/no) " yn case $yn in - [Yy]*) guix archive --authorize < "${ROOT_HOME}/.guix-profile/share/guix/hydra.gnu.org.pub" && + [Yy]*) guix archive --authorize < "${ROOT_HOME}/.config/guix/current/share/guix/hydra.gnu.org.pub" && _msg "${PAS}Authorized public key for hydra.gnu.org"; - guix archive --authorize < "${ROOT_HOME}/.guix-profile/share/guix/berlin.guixsd.org.pub" && + guix archive --authorize < "${ROOT_HOME}/.config/guix/current/share/guix/berlin.guixsd.org.pub" && _msg "${PAS}Authorized public key for berlin.guixsd.org"; break;; [Nn]*) _msg "${INF}Skipped authorizing build farm public keys" diff --git a/etc/guix-publish.conf.in b/etc/guix-publish.conf.in index 241c59455..7b319f66a 100644 --- a/etc/guix-publish.conf.in +++ b/etc/guix-publish.conf.in @@ -9,4 +9,4 @@ stop on runlevel [016] task -exec @localstatedir@/guix/profiles/per-user/root/guix-profile/bin/guix publish --user=nobody --port=8181 +exec @localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix publish --user=nobody --port=8181 diff --git a/etc/guix-publish.service.in b/etc/guix-publish.service.in index 8aaf09e3c..0526f9799 100644 --- a/etc/guix-publish.service.in +++ b/etc/guix-publish.service.in @@ -6,8 +6,8 @@ Description=Publish the GNU Guix store [Service] -ExecStart=@localstatedir@/guix/profiles/per-user/root/guix-profile/bin/guix publish --user=nobody --port=8181 -Environment=GUIX_LOCPATH=/root/.guix-profile/lib/locale +ExecStart=@localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix publish --user=nobody --port=8181 +Environment=GUIX_LOCPATH=@localstatedir@/guix/profiles/per-user/root/guix-profile/lib/locale RemainAfterExit=yes StandardOutput=syslog StandardError=syslog -- 2.19.1 From debbugs-submit-bounces@debbugs.gnu.org Thu Oct 25 16:25:10 2018 Received: (at 33111) by debbugs.gnu.org; 25 Oct 2018 20:25:10 +0000 Received: from localhost ([127.0.0.1]:42907 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gFmBq-0006nJ-As for submit@debbugs.gnu.org; Thu, 25 Oct 2018 16:25:10 -0400 Received: from eggs.gnu.org ([208.118.235.92]:60946) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gFmBm-0006mS-4j for 33111@debbugs.gnu.org; Thu, 25 Oct 2018 16:25:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gFmBd-00056X-Vl for 33111@debbugs.gnu.org; Thu, 25 Oct 2018 16:25:01 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:53056) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gFmBN-0004zI-Cf; Thu, 25 Oct 2018 16:24:41 -0400 Received: from 50.135.159.77.rev.sfr.net ([77.159.135.50]:39786 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1gFmBL-0000nH-Tn; Thu, 25 Oct 2018 16:24:40 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: 33111@debbugs.gnu.org, Ricardo Wurmus Subject: Re: [bug#33111] [PATCH 0/3] Have the binary tarball populate ~root/.config/guix/current References: <20181021204506.1978-1-ludo@gnu.org> Date: Thu, 25 Oct 2018 22:24:38 +0200 In-Reply-To: <20181021204506.1978-1-ludo@gnu.org> ("Ludovic \=\?utf-8\?Q\?Cour\?\= \=\?utf-8\?Q\?t\=C3\=A8s\=22's\?\= message of "Sun, 21 Oct 2018 22:45:06 +0200") Message-ID: <87bm7hsrjt.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 33111 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) Hello Guix! Ludovic Court=C3=A8s skribis: > These patches address this by having the binary tarball populate > ~root/.config/guix/current like =E2=80=98guix pull=E2=80=99 does. > > There=E2=80=99s one downside though: with the last patch, the =E2=80=98gl= ibc-utf8-locales=E2=80=99 > is no longer included because ~root/.config/guix/current would be the > wrong place for it. Consequently, users have to explicitly install it > in ~root/.guix-profile and set GUIX_LOCPATH accordingly. Any comments? Ricardo? Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Fri Oct 26 01:34:39 2018 Received: (at 33111) by debbugs.gnu.org; 26 Oct 2018 05:34:39 +0000 Received: from localhost ([127.0.0.1]:43099 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gFulb-0005YV-B4 for submit@debbugs.gnu.org; Fri, 26 Oct 2018 01:34:39 -0400 Received: from sender-of-o51.zoho.com ([135.84.80.216]:21122) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gFulZ-0005YM-CZ for 33111@debbugs.gnu.org; Fri, 26 Oct 2018 01:34:37 -0400 ARC-Seal: i=1; a=rsa-sha256; t=1540532036; cv=none; d=zoho.com; s=zohoarc; b=ab5fDTkbJWek1JEAif3zMkvF3QgN4yySYiTvKseRCEv2e2ZmNXiv8qP3O3vAwPpnDICWZgDtIf/wj+CeNxDSR2WY3mP7zIsBij62FmS5z34baIIGuy4FvbtLs//OMOLsSgP3r3IyY++8Js5YCXBUj2D0X7/bP2npAZpqubUZrQE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1540532036; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To:ARC-Authentication-Results; bh=2AIF1RXd+zVHzyWVodt0STfiXKdcgYNTfQXy9ZtODCc=; b=hP7xiz2z6bmJKDDs6raQmrbAtd8pjpEYcfHg2vFWNvAIxd3mOXi4W7sw/E81eqdkbQ7kUVd1WOvKTSW2gnBnnbcKVTePYjh+HOQaSFoLCpPz2eHV/SV5dMaWix8JecrjmyzRK0KsGMpAx1ox6WoFzX5Gl6BamrTX2fwpITd5W7Q= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass header.i=elephly.net; spf=pass smtp.mailfrom=rekado@elephly.net; dmarc=pass header.from= header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1540532036; s=zoho; d=elephly.net; i=rekado@elephly.net; h=References:From:To:Cc:Subject:In-reply-to:Date:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding; l=2048; bh=2AIF1RXd+zVHzyWVodt0STfiXKdcgYNTfQXy9ZtODCc=; b=JSOqkVhiss1oQCVNJNwlbkeN8sSZXLkkRhSDCjpFgn/jl8+govaxWUCjDaAngI5E 2B4rmr8KWY2W+ZsJRWqTuWTYrDAmq26waO/Ca3/AQoZ+/7cr30mUbNOgsb/86hhcs0a qWh2OEhccjtHKpuMAsVb1sPUVjY+0T5/dMC9Ot+8= Received: from localhost (116.6.225.9 [116.6.225.9]) by mx.zohomail.com with SMTPS id 1540532034563507.9059796843327; Thu, 25 Oct 2018 22:33:54 -0700 (PDT) References: <20181021204506.1978-1-ludo@gnu.org> <87bm7hsrjt.fsf@gnu.org> User-agent: mu4e 1.0; emacs 26.1 From: Ricardo Wurmus To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: [bug#33111] [PATCH 0/3] Have the binary tarball populate ~root/.config/guix/current In-reply-to: <87bm7hsrjt.fsf@gnu.org> X-URL: https://elephly.net X-PGP-Key: https://elephly.net/rekado.pubkey X-PGP-Fingerprint: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC Date: Fri, 26 Oct 2018 07:33:47 +0200 Message-ID: <87a7n15l1g.fsf@elephly.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-ZohoMailClient: External X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 33111 Cc: 33111@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Ludo, >> These patches address this by having the binary tarball populate >> ~root/.config/guix/current like =E2=80=98guix pull=E2=80=99 does. >> >> There=E2=80=99s one downside though: with the last patch, the =E2=80=98g= libc-utf8-locales=E2=80=99 >> is no longer included because ~root/.config/guix/current would be the >> wrong place for it. Consequently, users have to explicitly install it >> in ~root/.guix-profile and set GUIX_LOCPATH accordingly. > > Any comments? Ricardo? Thank you for fixing this very confusing situation! It is very good to start out with a I=E2=80=99m not sure I understand why ~root/.config/guix/current would be t= he wrong place for the locales package. It is true that this directory is for Guix only, but users don=E2=80=99t need to know about the locales packa= ge. Is it a problem to install the locales package alongside Guix in the =E2=80=9Cguix pull=E2=80=9D profile, or is it just inelegant? I think it would be unfortunate if older versions of Guix would stop working or report warnings when they are used in combination with a separately managed profile containing the locales. The locales need to match the glibc version that the program is linked with, so I would prefer if we could keep Guix and the locales together. You know that I find the separation of glibc-locales to be an unfortunate tradeoff, which makes using Guix on foreign distros a little less convenient. While I think that this patch set is a definite improvement over the current situation, I would be sad to see the locales separated and become a source of frustration or confusion. Is there something we can do about this? Would it be acceptable to add glibc-locales as an explicit input to the result of =E2=80=9Cguix pull=E2= =80=9D? I understand that we don=E2=80=99t usually add glibc-*locales as an input, bu= t I think in the special case of =E2=80=9Cguix pull=E2=80=9D it could be a reas= onable compromise / an acceptable exception. What do you think? -- Ricardo From debbugs-submit-bounces@debbugs.gnu.org Fri Oct 26 05:57:18 2018 Received: (at 33111) by debbugs.gnu.org; 26 Oct 2018 09:57:18 +0000 Received: from localhost ([127.0.0.1]:43229 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gFyrl-0003Xx-Mm for submit@debbugs.gnu.org; Fri, 26 Oct 2018 05:57:17 -0400 Received: from eggs.gnu.org ([208.118.235.92]:47270) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gFyrj-0003Xj-Fv for 33111@debbugs.gnu.org; Fri, 26 Oct 2018 05:57:15 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gFyrZ-0007bs-33 for 33111@debbugs.gnu.org; Fri, 26 Oct 2018 05:57:09 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_40 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:45784) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gFyrY-0007bk-VI; Fri, 26 Oct 2018 05:57:05 -0400 Received: from dhcp-64-177.ens-lyon.fr ([140.77.64.177]:58120 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1gFyrY-0003GM-J5; Fri, 26 Oct 2018 05:57:04 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Ricardo Wurmus Subject: Re: [bug#33111] [PATCH 0/3] Have the binary tarball populate ~root/.config/guix/current References: <20181021204506.1978-1-ludo@gnu.org> <87bm7hsrjt.fsf@gnu.org> <87a7n15l1g.fsf@elephly.net> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 5 Brumaire an 227 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Fri, 26 Oct 2018 11:57:02 +0200 In-Reply-To: <87a7n15l1g.fsf@elephly.net> (Ricardo Wurmus's message of "Fri, 26 Oct 2018 07:33:47 +0200") Message-ID: <871s8dni8h.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 33111 Cc: 33111@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) Hello! Ricardo Wurmus skribis: >>> These patches address this by having the binary tarball populate >>> ~root/.config/guix/current like =E2=80=98guix pull=E2=80=99 does. >>> >>> There=E2=80=99s one downside though: with the last patch, the =E2=80=98= glibc-utf8-locales=E2=80=99 >>> is no longer included because ~root/.config/guix/current would be the >>> wrong place for it. Consequently, users have to explicitly install it >>> in ~root/.guix-profile and set GUIX_LOCPATH accordingly. >> >> Any comments? Ricardo? > > Thank you for fixing this very confusing situation! It is very good to > start out with a With a what? :-) > I=E2=80=99m not sure I understand why ~root/.config/guix/current would be= the > wrong place for the locales package. It is true that this directory is > for Guix only, but users don=E2=80=99t need to know about the locales pac= kage. > > Is it a problem to install the locales package alongside Guix in the > =E2=80=9Cguix pull=E2=80=9D profile, or is it just inelegant? It=E2=80=99s inelegant and just a partial solution because =E2=80=98guix pu= ll=E2=80=99 won=E2=80=99t upgrade it. It would also show up in =E2=80=98guix pull -l=E2=80=99, which= isn=E2=80=99t great. > I think it would be unfortunate if older versions of Guix would stop > working or report warnings when they are used in combination with a > separately managed profile containing the locales. The locales need to > match the glibc version that the program is linked with, so I would > prefer if we could keep Guix and the locales together. > > You know that I find the separation of glibc-locales to be an > unfortunate tradeoff, which makes using Guix on foreign distros a little > less convenient. While I think that this patch set is a definite > improvement over the current situation, I would be sad to see the > locales separated and become a source of frustration or confusion. > > Is there something we can do about this? Would it be acceptable to add > glibc-locales as an explicit input to the result of =E2=80=9Cguix pull=E2= =80=9D? I > understand that we don=E2=80=99t usually add glibc-*locales as an input, = but I > think in the special case of =E2=80=9Cguix pull=E2=80=9D it could be a re= asonable > compromise / an acceptable exception. What do you think? I share your concern but I can=E2=80=99t think of a good solution. Since =E2=80=98glibc-locales=E2=80=99 is big (520M on disk!) and more than = what people need, we certainly don=E2=80=99t want to pull it. So we=E2=80=99d be pulli= ng =E2=80=98glibc-utf8-locales=E2=80=99 as we currently do, knowing that it=E2= =80=99s an arbitrary choice of locales that favors Western countries. Let=E2=80=99s say we arrange so =E2=80=98guix=E2=80=99 is wrapped such that= GUIX_LOCPATH points to a bundled =E2=80=98glibc-utf8-locales=E2=80=99. That solves the problem= for the =E2=80=98guix=E2=80=99 command, but it doesn=E2=80=99t solve it for other p= ackages installed with =E2=80=98guix=E2=80=99: users would still need to install =E2=80=98gli= bc-utf8-locales=E2=80=99. A =E2=80=9Cproper fix=E2=80=9D might be to add =E2=80=98glibc-utf8-locales= =E2=80=99 to ~root/.guix-profile in the binary tarball. However, as I wrote, it would require us to improve =E2=80=98guix pack=E2=80=99 so it can populate = several profiles, which is not trivial and probably not very useful in other situations. On the bright side, =E2=80=98guix=E2=80=99 gives users the command to copy/= paste to install locales (commit 26db747a863b08ebcfd630cce635be86c23d829d), so it=E2=80=99s not that bad. :-) Also, we could have the install script run =E2=80=98guix package -i glibc-utf8-locales=E2=80=99 automatically. Thoughts? Thanks for your feedback! Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 16 16:59:39 2018 Received: (at 33111) by debbugs.gnu.org; 16 Nov 2018 21:59:39 +0000 Received: from localhost ([127.0.0.1]:56865 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gNm9L-0000Gx-Hh for submit@debbugs.gnu.org; Fri, 16 Nov 2018 16:59:39 -0500 Received: from eggs.gnu.org ([208.118.235.92]:56722) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gNm9K-0000Gk-QS for 33111@debbugs.gnu.org; Fri, 16 Nov 2018 16:59:38 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gNm9D-0004xw-3i for 33111@debbugs.gnu.org; Fri, 16 Nov 2018 16:59:33 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:54189) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gNm9D-0004xa-0s; Fri, 16 Nov 2018 16:59:31 -0500 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=46568 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1gNm9C-0008Di-PC; Fri, 16 Nov 2018 16:59:30 -0500 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Ricardo Wurmus Subject: Re: [bug#33111] [PATCH 0/3] Have the binary tarball populate ~root/.config/guix/current References: <20181021204506.1978-1-ludo@gnu.org> <87bm7hsrjt.fsf@gnu.org> <87a7n15l1g.fsf@elephly.net> <871s8dni8h.fsf@gnu.org> Date: Fri, 16 Nov 2018 22:59:29 +0100 In-Reply-To: <871s8dni8h.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Fri, 26 Oct 2018 11:57:02 +0200") Message-ID: <87r2fkr8e6.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 33111 Cc: 33111@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) Hi! ludo@gnu.org (Ludovic Court=C3=A8s) skribis: > I share your concern but I can=E2=80=99t think of a good solution. [...] > Also, we could have the install script run =E2=80=98guix package -i > glibc-utf8-locales=E2=80=99 automatically. Since I don=E2=80=99t have a better idea, I=E2=80=99d like to go with this = patch set, and then possibly augment the install script as noted above. How does that sound? Thanks, Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 23 09:43:43 2018 Received: (at 33111-done) by debbugs.gnu.org; 23 Nov 2018 14:43:43 +0000 Received: from localhost ([127.0.0.1]:43156 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gQCgJ-0005gV-DH for submit@debbugs.gnu.org; Fri, 23 Nov 2018 09:43:43 -0500 Received: from eggs.gnu.org ([208.118.235.92]:33261) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gQCgI-0005gH-0T for 33111-done@debbugs.gnu.org; Fri, 23 Nov 2018 09:43:42 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gQCgC-0000VD-Ca for 33111-done@debbugs.gnu.org; Fri, 23 Nov 2018 09:43:36 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:59081) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gQCgC-0000V5-6X; Fri, 23 Nov 2018 09:43:36 -0500 Received: from [2001:660:6102:320:e120:2c8f:8909:cdfe] (port=51044 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1gQCgB-0008Es-9n; Fri, 23 Nov 2018 09:43:36 -0500 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Ricardo Wurmus Subject: Re: [bug#33111] [PATCH 0/3] Have the binary tarball populate ~root/.config/guix/current References: <20181021204506.1978-1-ludo@gnu.org> <87bm7hsrjt.fsf@gnu.org> <87a7n15l1g.fsf@elephly.net> <871s8dni8h.fsf@gnu.org> <87r2fkr8e6.fsf@gnu.org> Date: Fri, 23 Nov 2018 15:43:31 +0100 In-Reply-To: <87r2fkr8e6.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Fri, 16 Nov 2018 22:59:29 +0100") Message-ID: <87d0qv6ei4.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 33111-done Cc: 33111-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) ludo@gnu.org (Ludovic Court=C3=A8s) skribis: > ludo@gnu.org (Ludovic Court=C3=A8s) skribis: > >> I share your concern but I can=E2=80=99t think of a good solution. > > [...] > >> Also, we could have the install script run =E2=80=98guix package -i >> glibc-utf8-locales=E2=80=99 automatically. > > Since I don=E2=80=99t have a better idea, I=E2=80=99d like to go with thi= s patch set, > and then possibly augment the install script as noted above. I went ahead and pushed it as e9926f80c6553fde50ce1fcfd38d6370f841efd2. Thanks, Ludo=E2=80=99. From unknown Fri Aug 15 02:04:31 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sat, 22 Dec 2018 12:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator