Age | Commit message (Expand) | Author |
2023-07-16 | guix-install.sh: Fix incomplete installation....‘false || return’ returns false, and
‘set -e’ aborts the script. This leaves
Guix half installed with visual indication of error.
* etc/guix-install.sh (sys_customize_bashrc, sys_maybe_setup_selinux):
Explicitly return 0.
| Tobias Geerinckx-Rice |
2023-07-16 | guix-install.sh: Install SELinux policy only if tools are present....* etc/guix-install.sh (sys_maybe_setup_selinux): Silently return if
the ‘semodule’ or ‘restorecon’ commands are missing.
| Tobias Geerinckx-Rice |
2023-07-09 | guix-install.sh: Remove any old systemd units first....Don't clobber /dev/null permissions if units are masked.
* etc/guix-install.sh (sys_enable_guix_daemon): Factor out unit
installation. Unconditionally remove any old units. Install and enable
gnu-store.mount after guix-daemon.service.
| Tobias Geerinckx-Rice |
2023-07-09 | guix-install.sh: Don't patch guix-daemon.service....* etc/guix-install.sh (sys_enable_guix_daemon):
Remove obsolete sed invocations.
| Tobias Geerinckx-Rice |
2023-07-09 | guix-install.sh: Unconditionally install gnu-store.mount....* etc/guix-install.sh (sys_enable_guix_daemon):
Remove obsolete conditional.
| Tobias Geerinckx-Rice |
2023-07-05 | guix-install.sh: Don't extract the binary ‘.’....* etc/guix-install.sh (sys_create_store): Strip the first tar
file name component.
| Tobias Geerinckx-Rice |
2023-05-25 | guix-install.sh: Install SELinux policy and relabel file systems if needed....Fixes <https://issues.guix.gnu.org/62487>.
* etc/guix-install.sh (sys_maybe_setup_selinux): New function.
(main): Use it.
| Ludovic Courtès |
2023-04-24 | guix-install.sh: Fix GUIX_ALLOW_OVERWRITE condition....Before this change, the "Overwriting existing installation!" would be
displayed erroneously.
* etc/guix-install.sh (sys_create_store): Fix overwrite conditional.
| Maxim Cournoyer |
2023-04-09 | guix-install.sh: Source both profiles, default user's and home....* etc/guix-install.sh (sys_create_init_profile): Source both profiles, default
user's and home.
| Andrew Tropin |
2023-02-17 | guix-install.sh: Add GUIX_ALLOW_OVERWRITE environment variable....The need for this use case appeared when attempting to install Guix on a truly
minimal image made with Buildroot, which lacked enough GNU components that I
had to extract a guix pack to /gnu before attempting installation, which would
then refuse to proceed because of the existing /gnu.
* etc/guix-install.sh: Document environment variables.
(sys_create_store) [GUIX_ALLOW_OVERWRITE]: Skip pre-existing installation
checks and output a warning. Extract the tarball directly to /.
| Maxim Cournoyer |
2022-12-16 | guix-install.sh: Directly exit in case of errors in chk_require....* etc/guix-install.sh (chk_require): Directly exit in case of errors in
chk_require, instead of relying on 'set -e'.
| Maxim Cournoyer |
2022-12-16 | guix-install.sh: Add missing "useradd" command....* etc/guix-install.sh: (REQUIRE): Add missing "useradd" command.
| Maxim Cournoyer |
2022-12-11 | guix-install.sh: Gracefully fail on | bash....* etc/guix-install.sh (welcome): Print an error message and a hint if
the first read fails.
| Tobias Geerinckx-Rice |
2022-12-09 | guix-install.sh: Authorize all project build farms at once....* etc/guix-install.sh (sys_authorize_build_farms):
Iterate over all hosts.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| Tobias Geerinckx-Rice |
2022-11-16 | guix-install.sh: Expand mktemp template for busybox compatibility....Fixes <https://issues.guix.gnu.org/58858>.
* etc/guix-install.sh (main): Use 6 'X' characters in the template, as this is
the minimum required by Busybox's mktemp (which matches glibc's mktemp
behavior).
Reported-by: conses <contact@conses.eu>
| Maxim Cournoyer |
2022-11-14 | guix-install.sh: Remove unnecessary XDG_DATA_DIRS export....This started out as a bug-fix for a GUI login loop that was resulting from XDG_DATA_DIRS
not including any of the host distro's directories. The solution was to export the vari-
able (with fail-safe defaults) before source-ing GUIX_PROFILE/etc/profile. It turns out
changes have already been made to ensure that XDG_DATA_DIRS, etc. are always exported
before anything guix-specific. So, this export is no longer necessary.
For reference, the aforementioned bug was found on a Debian 11 machine and it's guix.sh
init profile for guix version 1.2.
* etc/guix-install.sh (sys_create_init_profile): Remove unnecessary
XDG_DATA_DIRS export.
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
| Prafulla Giri |
2022-11-08 | guix-install.sh: Run guix.sh script in /etc/profile.d last....* etc/guix-install.sh: Rename /etc/profile.d/guix.sh to zzz-guix.sh.
This script refers to environment variables set by the host distribution.
They may be set in other scripts in /etc/profile.d, which must therefore
be run first.
Example: in Ubuntu 20.04, XDG_DATA_DIRS is set in
/etc/profile.d/xdg_dirs_desktop_session.sh
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
| Konrad Hinsen |
2022-10-16 | guix-install.sh: Cosmetically tweak non-interactive output....Avoid printing
Press return to continue...[1666352494.051]: Starting installation…
[1666352648.869]: …
when the return itself wasn't echoed on the console.
* etc/guix-install.sh (welcome): Add a carriage return to the prompt,
so that the next line of output may overwrite it.
| Tobias Geerinckx-Rice |
2022-10-16 | guix-install.sh: Warn if we suspect dodgy automation....This doesn't affect the installation (yet), but reserves the right to
default to safe values other than ‘y’ in future.
* etc/guix-install.sh (welcome): Warn if the ‘return’ wasn't.
| Tobias Geerinckx-Rice |
2022-10-16 | guix-install.sh: Treat all uncaught errors as fatal....* etc/guix-install.sh: Set -o pipefail.
| Tobias Geerinckx-Rice |
2022-10-16 | guix-install.sh: Suggest what to do if fetching OpenPGP key(s) fails....* etc/guix-install.sh (chk_gpg_keyring): Report an _err and set the
exit_flag if wget | gpg --import fails.
| Tobias Geerinckx-Rice |
2022-10-16 | guix-install.sh: Time out fetching OpenPGP keys....The default 900s provide no useful backstop in interactive use.
* etc/guix-install.sh (chk_gpg_keyring): Add a 30s wget --timeout.
| Tobias Geerinckx-Rice |
2022-10-11 | guix-install.sh: Restore compatibility with "yes" invocation....Commit 6a2e303d3a had modified prompt_yes_no to only read a single character,
aiming to ease the user experience. This was, in retrospect, a bad idea, as
it makes user input error more likely and introduces complexity.
This commit reverts to line-oriented input, while preserving the default yes
value so that a user can simply hit 'Enter' at the prompt in place of typing
"yes".
* etc/guix-install.sh (_flush): Delete function.
(prompt_yes_no): Restore line-oriented read. Remove loop. Make anything else
than yes means no. Use Bash features to streamline definition.
Reported-by: Lars-Dominik Braun <lars@6xq.net> and others.
| Maxim Cournoyer |
2022-10-07 | guix-install.sh: Add Bash prompt customization option....Fixes <https://issues.guix.gnu.org/55484>.
* etc/guix-install.sh (sys_customize_bashrc): New function.
(main): Use it.
| Maxim Cournoyer |
2022-10-07 | guix-install.sh: Introduce 'die' utility function....* etc/guix-install.sh (die): New function.
(chk_sys_arch): Use it.
(guix_get_bin_list, guix_get_bin, sys_create_store): Likewise.
| Maxim Cournoyer |
2022-10-07 | guix-install.sh: Improve prompt_yes_no procedure....* etc/guix-install.sh (_flush): New function.
(prompt_yes_no): Clear input, then only read the first character, silently.
Add the [Yes/no] string to the message. When a newline is entered by the
user, treat it as the default value, which is "yes".
(chk_gpg_keyring): Remove "(yes/no)" from the prompt message.
(configure_substitute_discovery): Likewise.
(sys_authorize_build_farms): Likewise.
| Maxim Cournoyer |
2022-07-04 | etc/guix-install.sh: Check for profile from 'guix home'....If "$HOME/.guix-home/profile" exists, use it for GUIX_PROFILE instead of
"$HOME/.guix-profile".
* etc/guix-install.sh (sys_create_init_profile): Check for 'guix home'
profile.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Philip McGrath |
2022-07-04 | etc/guix-install.sh: Initialize XDG base directories....The default values from the XDG base directory specification make little
sense for Guix System, and some scripts in Guix assume that they are not
"empty or unset": for example, see <https://issues.guix.gnu.org/56050>.
On foreign distros, however, omitting the default values is likely to
break software from the distro, perhaps even preventing the desktop
environment from starting. To smooth over the difference, use the
system-wide configuration to ensure the environment variables are always
explicitly set on foreign distros.
* etc/guix-install.sh (sys_create_init_profile): Explicitly initialize
XDG base directory variables.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Philip McGrath |