See <https://lists.gnu.org/archive/html/bug-guix/2024-06/msg00145.html>.
Thanks to Nyi Nyi Zaw for the patch.
* etc/guix-install.sh (add_init_sys_require): Adjust value of INIT_SYS so that
it matches the potential extra required arguments array name.
Reported-by: Nyi Nyi Zaw
Reported-by: Diana Belle <garbados@gmail.com>
Change-Id: Ic41de6fba7ef37dff479728aebefaa8cb148315e
Follow up to commit 12d00767f0
That commit moved the manifests into a subdirectory but failed to update the
relative path. That caused 'make check-system' to fail.
* etc/system-tests.scm (system-test-manifest): Set the source path to be the
root of the repository as it had been previously.
Change-Id: I68fb460861c4af080f5b14d1343d67b7e96109b0
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Previously, the check came after guix_get_bin. There’s no need to fetch
the rather large release archive if there’s an existing installation, so
check first. Refactor the check into a function similar to other
preflight checks.
* etc/guix-install.sh: Check for existing installation before
downloading.
Change-Id: I5506fb1cacdc88bd6355e8dfa1f690acf7886c1f
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Add helpers to avoid repeated manual concatenation.
_err and _msg "$ERR are used interchangeably with their only difference
being output stream; convert all errors to use _err.
* etc/guix-install.sh: Add msg helpers and consolidate errors to stderr.
Change-Id: I06e97ccc50d108ed9e279ae80c6b2386d7b8c36b
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Guix and Guix-provided software also have man pages. If the user
doesn’t install man-db via Guix, they should still be able to read
Guix-provided man pages.
* etc/guix-install.sh (sys_create_init_profile): Add to MANPATH.
Change-Id: Ibceb354012d23d24deeb39b1ec02790873396a6b
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Make both profiles use GUIX_PROFILE and reorder some code so each
profile is handled in one contiguous block. The user’s profile now
takes precedence over the ‘guix pull’ profile on INFOPATH. If the user
already has an info reader in their Guix profile, don’t add a duplicate
entry to INFOPATH. If the user doesn’t have an imperative
~/.guix-profile (i.e. they manage software with Guix Home and ‘guix
shell’), don’t add an unnecessary entry to INFOPATH. Clean up after
ourselves by unsetting the temporary GUIX_PROFILE variable, which only
needs to be set when sourcing.
* etc/guix-install.sh (sys_create_init_profile): Improve Guix profile
sourcing.
Change-Id: Ibceb354012d23d24deeb39b1ec02790873396a6b
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Guix Home handles its own profile initialization in ~/.profile and
documents shell setup accordingly. It does more than what is done here,
including running an on-first-login script to start a user Shepherd
instance. In general, changes and improvements to Guix Home
initialization are unlikely to propagate to the foreign distro install
script, since many Guix contributors only use Guix via Guix System and
Guix Home does not depend on system-level initialization anyway.
Avoid partially initializing Guix Home in /etc/profile.d to keep search
path variables free of redundant entries. Instead, leave a comment
directing users to the relevant manual section.
* etc/guix-install.sh (sys_create_init_profile): Remove system-level
Guix Home initialization.
Change-Id: Ib78aa0382268a789298d4980ee394d99a602a5ca
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Fixes a bug introduced in ab9cda9ebd where
‘make check-channel-news’ would not longer be executed.
* etc/git/pre-push: Remove ‘exec’ before ‘guix git authenticate’.
Change-Id: Ic425db866e44695493be96a0a8c81c77c815e42d
Since symlinks to shell completion files are installed, it is useful to remove
them during the uninstallation, especially when they point to files that are
removed by 'guix-install.sh --uninstall'.
* etc/guix-install.sh (sys_delete_shell_completion): Create.
(sys_create_shell_completion): hardcode files being installed.
(sys_customize_bashrc): call sys_delete_shell_completion.
Change-Id: I70008bb55e7e1604f0c485c798460e160af7c9e5
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Running check-channel-news first could potentially be untrusted code, so
authenticate first.
* etc/git/pre-push: Run guix git authenticate before check-channel-news.
Previously, since input rewriting did not happen recursively, libgcrypt
would for instance be built against the old libgpg-error.
* etc/manifests/upgrade.scm (joint-security-upgrades): Pass #:recursive? #t
to ‘package-input-rewriting’.
Change-Id: I7daaa11629aa12b833ca941a3a996c3db2754a7a