Age | Commit message (Expand) | Author |
2024-11-14 | guix-install.sh: Run the uninstall even if already partially done...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>
| David Boilleau |
2024-11-14 | guix-install.sh: Replace `ROOT_HOME` with `~root`...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>
| David Boilleau |
2024-11-14 | guix-install.sh: Test if gnu-store.mount exists before removing the unit...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>
| David Boilleau |
2024-06-04 | guix-install.sh: Add unique requirement for sysv init system...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>
| Richard Sent |
2024-06-02 | guix-install.sh: Relax check for OpenRC....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>
| Tomas Volf |
2024-06-02 | guix-install.sh: Add ~/.guix-profile/share/info to INFOPATH....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
| Trevor Arjeski |
2024-04-29 | guix-install.sh: Fix setting GUIX_LOCPATH....After installing Guix home on my new foreign system, the locale did not
work and GDM did not even let me to log in. After some digging around using
tty3 and tty4, I realized the GUIX_LOCPATH is not being set properly.
I had nothing installed in the ~/.guix-profile (the symlink did not even
exist) and I had glibc-locales installed in ~/.guix-home, yet GUIX_LOCPATH
contained "$HOME/.guix-profile/lib/locale:".
I believe when the code was modified from the original "home or profile" to
the current "home and profile" the || was used by accident instead of &&.
I also remove the trailing :, since it is taken care of by the ${...:+:}.
* etc/guix-install.sh (sys_create_init_profile):
Change-Id: I8a3287fe809af58aee2edc924154eecf91fa1eb8
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Tomas Volf |
2024-04-29 | guix-install.sh: Add default value for XCURSOR_PATH....This improves compatibility with (at least) Gnome based systems. On my new
Ubuntu 22.04 install the mouse cursor was broken (after I installed Guix)
until I set this.
* etc/guix-install.sh (sys_create_init_profile): Set default value for
XCURSOR_PATH.
Change-Id: I489f0307d99e4d8d82671f291c78b90c7b6dae4a
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Tomas Volf |
2024-04-07 | guix-install.sh: Make Guix modules available too....* etc/guix-install.sh (GUILE_LOAD_PATH): Prepend directory to current Guix
modules.
(GUILE_LOAD_COMPILED_PATH): Likewise to compiled modules.
Change-Id: I0b2722a38b1f8ebab32142cbc372a23cadfb0620
| Janneke Nieuwenhuizen |
2024-04-05 | guix-install.sh: Add ‘--uninstall’ flag....* etc/guix-install.sh (REQUIRE): Add groupdel and userdel.
(chk_term): Handle ‘WAR’.
(sys_delete_store, sys_delete_build_user, sys_delete_guix_daemon)
(sys_delete_init_profile, sys_delete_user_profiles): New functions.
(main): Rename to…
(main_install): … this.
(main_uninstall): New function.
(main): Dispatch between these two.
* doc/guix.texi (Installation): Refer to “Binary Installation” instead
of repeating it.
(Binary Installation): Document uninstallation.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
Change-Id: I55b7c10823773bced2e268273e8ce828cb3bd98d
| Ludovic Courtès |
2024-04-03 | Switch order of the default substitute servers....The aim here is to improve the user experience. There's anecdotal evidence
that the network performance for bordeaux is better compared to ci at least
for some users, and I don't know of any issues with rate limiting or access
restriction for bordeaux compared to ci. It also has IPv6 support.
Additionally, bordeaux generally had more substitutes than ci, particularly
for aarch64-linux and armhf-linux. This change will offer a very slight
speedup for those substitutes that only bordeaux has.
Bordeaux has been a default substitute server for nearly 3 years now and I
think this change is overdue. I'm also hopeful that we'll be able to build on
the testing regarding mirrors for bordeaux, and that'll allow potentially
improving the hosting setup (through providing more redundancy) and further
improving substitute fetching for users who currently have issues with
substitute access.
* config-daemon.ac: Switch substitute urls order.
* doc/guix.texi: Ditto.
* etc/guix-install.sh: Ditto.
* gnu/installer/newt/network.scm (wait-service-online): Ditto.
* guix/store.scm (%default-substitute-urls): Ditto.
Change-Id: I4f6d93ae1fc8b03d80b47b18b5749a51f1fde17b
Signed-off-by: Christopher Baines <mail@cbaines.net>
| Christopher Baines |