Note: no associated commit, so took a recent one at the time of this writing.
* etc/news.scm: Add entry.
Co-authored-by: Steve George <steve@futurile.net>
Change-Id: Ia770d3e24bcdd167bf05d84b60151756ffa88f1c
Removing users, groups or Systemd units fails if they are already absent,
causing the uninstall script to exit. The goal here is to make the uninstall
always run entirely, whatever parts are already done.
* etc/guix-install.sh (sys_delete_build_user): Test if users and groups exist
before deleting them.
(sys_delete_guix_daemon): Test if /etc/systemd/system/guix-daemon.service file
exists before removing the matching Systemd unit.
Change-Id: Ibffb1f1b39de675542fb8057af21ecaea1b53d4c
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
The `ROOT_HOME` variable is natively absent from some systems, however the form
`~root`, which is used by the install functions in this same file, works.
* etc/guix-install.sh (sys_delete_store, sys_delete_guix_daemon)
(sys_delete_user_profiles): Replace `ROOT_HOME` with `~root`.
Change-Id: Ia867e271ac4c5557d9708235fee028bccce68342
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
The file /etc/systemd/system/gnu-store.mount has permissions 664, since the
`install_unit()` function installed it so. So the test prior to removing the
matching Systemd unit should not be wether this file is executable, otherwise
it will always fail. The relevant test is on the file existence.
* etc/guix-install.sh (sys_delete_guix_daemon): Test if gnu-store.mount file
exists rather than if it is executable.
Change-Id: Ic7cc186618b0b92fccf49a3b27805756a9126b89
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* etc/committer.scm.in (change-commit-message): Use object->string to deal
with more complex dependency specifications.
Change-Id: Ieee39709fd3eb26368df400a9228d77aa97a9d9d
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* etc/teams.scm (mozilla): Register gnu/packages/librewolf.scm file.
Update team description in order to reflect its broadened scope.
Change-Id: I75dac5d5e76e611aba7e9e55ef99e8279f1e6d9b
Signed-off-by: jgart <jgart@dismail.de>
This is a followup to e99c838d4f, which
removed them from (gnu ci).
* etc/release-manifest.scm (%cross-manifest): Remove more triplets.
Change-Id: I32677fd3876a13277e5b074b973de71895ab9dca
When using // we assume that the package definition's S-expression is a
nesting of proper lists. This is not guaranteed to be true, because a package
definition may contain alists. By using an explicit path to the field of
interest we avoid recursion through all child nodes, thus avoiding child nodes
that are more likely to contain improper lists.
* etc/committer.scm.in (change-commit-message): Replace // with a path for the
PACKAGE symbol.
Change-Id: Idefaec9f5c3538484432e15a5865a68fc16e7369
Having substitute URLs explicitly listed in the service startup file
makes it clearer what should be modified to permanently change the list
of substitute URLs.
* config-daemon.ac: Rename ‘guix_substitute_urls’ to
‘GUIX_SUBSTITUTE_URLS’ and substitute it.
* nix/local.mk (etc/guix-%.service, etc/init.d/guix-daemon)
(etc/guix-%.conf): Substitute it.
* etc/guix-daemon.conf.in, etc/guix-daemon.service.in,
etc/init.d/guix-daemon.in: Add an explicit ‘--substitute-urls’ option.
Change-Id: Ie491b7fab5c42e54dca582801c03805a85de2bf9
This improves the installer's ability to detect that all requirements are
present regardless of init system. It also avoids performing the requirement
check twice (printing excessively to the console) and provides a framework for
adding new init system specific requirements if it's needed in the future.
* etc/guix-install.sh (add_init_sys_require): Create.
(SYSV_INIT_REQUIRE): Create.
(main_install): Reorder installer steps so all requirements are checked in one
pass.
Change-Id: Ic541c1b90499d504642b7ab4ae595501b1a37b0d
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
On my virtual private servers running Alpine, the install script failed to
identify the init system. The virtual server is LXC based, and OpenRC
identifies itself like this:
# openrc --version
openrc (OpenRC [LXC]) 0.52.1
The regular expression failed to match it. After relaxing the check (by
removing the trailing `)' requirement) the installation went fine and I got
functional Guix installation.
* etc/guix-install.sh (chk_init_sys): Drop trailing \) from the regular
expression.
Change-Id: I5f951226341e631fb34cc6c26cfbb87656dab77a
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Adding ~/.guix-profile/share/info to the INFOPATH env var so that when a user
does `guix install [package]` that package's info pages can be found.
* etc/guix-install.sh (sys_create_init_profile): Add
$GUIX_PROFILE/share/info to INFOPATH in ‘/etc/profile.d/zzz-guix.sh’.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Change-Id: I8958261c388ddee5659f0f1ce1c0c9813dc0f052
The previous recommendation, running ‘make authenticate’, was insecure
because it led users to run code from the very repository they want to
authenticate:
https://lists.gnu.org/archive/html/guix-devel/2024-04/msg00252.html
* Makefile.am (commit_v1_0_0, channel_intro_commit)
(channel_intro_signer, GUIX_GIT_KEYRING, authenticate): Remove.
* Makefile.am (.git/hooks/%): New target, generalization of previous
‘.git/hooks/pre-push’ target.
(nodist_noinst_DATA): Add ‘.git/hooks/post-merge’.
* doc/contributing.texi (Building from Git): Suggest ‘guix git
authenticate’ instead of ‘make authenticate’.
* etc/git/post-merge: New file.
* etc/git/pre-push: Run ‘guix git authenticate’ instead of ‘make
authenticate’.
Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Reported-by: Skyler Ferris <skyvine@protonmail.com>
Change-Id: Ia415aa8375013d0dd095e891116f6ce841d93efd