Age | Commit message (Collapse) | Author |
|
* etc/guix-install.sh (sys_create_store): Move the check & exit before The
Guix binary archive is unpacked. Re-indent tar extraction command.
|
|
Via, for example, yes | ./guix-install.sh.
* etc/guix-install.sh (prompt_yes_no): New procedure.
(chk_gpg_keyring, sys_authorize_build_farms): Use it.
|
|
* etc/guix-install.sh <FUNCNAME>: Explicitly refer to the first item of the
FUNCNAME array.
(ROOT_HOME): Replace variable by ~root directly; manually expanding it via
echo was not necessary.
(chk_gpg_keyring): Use an if branch for the exit to avoid a warning about
expression precedence.
(chk_term) <ansi_term>: Remove unused variable.
(guix_get_bin) <wget, gpg>: Test the commands directly. Use an array for the
wget arguments, which can then be properly expanded.
(sys_create_store): Disable SC1090 for the source command, as we don't care
about following the sourced script.
<_msg>: Reuse the GUIX_PROFILE variable in the message.
(sys_create_build_user) <getent>: Test the command directly.
|
|
The forthcoming 1.3.0 release will be signed with my personal GnuPG key; the
installation script need to tell users how fetch it.
* etc/guix-install.sh (OPENPGP_SIGNING_KEY_ID): Remove variable.
(GPG_SIGNING_KEYS): New associative array.
(chk_gpg_keyring): Process all the keys contained in the above array.
(main) <GUIX_BINARY_FILE_NAME>: Double quote variable.
|
|
This is necessary as the directory context is changed in the script, breaking
the use of a relative path.
* etc/guix-install.sh (main) <GUIX_BINARY_FILE_NAME>: Resolve its absolute
path via the 'realpath' command.
|
|
This is useful for example for testing release candidates not yet uploaded to
the FTP, or for testing manually downloaded images from the CI.
* etc/guix-install.sh (main)[GUIX_BINARY_FILE_NAME]: When this variable is
defined, use it as the file name of a Guix binary, instead of automatically
retrieving the latest archive from the FTP.
|
|
Fixes <https://bugs.gnu.org/42129>.
* etc/guix-install.sh (sys_create_build_user): If a 'kvm' group exists,
add it to the guixbuilders' lists of supplementary groups.
|
|
This makes powerpc64le-linux a supported architecture for Guix, but not for
Guix System.
* Makefile.am (SUPPORTED_SYSTEMS): Add an entry for powerpc64le-linux.
* etc/guix-install.sh (chk_sys_arch): Same.
* guix/packages.scm (%supported-systems): Same.
* m4/guix.m4 (GUIX_ASSERT_SUPPORTED_SYSTEM): Same.
* tests/guix-build.sh (all_systems): Same.
|
|
* etc/guix-install.sh (sys_create_init_profile): Set PATH and INFOPATH
even when $_GUIX_PROFILE does not exist.
After initial installation on a foreign distro, the guix pull profile
won't be present in path. This means that the first guix pull won't take
effect until the shell is restarted.
~/.guix-profile cannot be pre-loaded like this as the relevant paths are
stored in ~/.guix-profile/etc/profile, which simply won't exist.
However, guix package will output a relevant hint that instructs the
user to reload the profile, so this isn't a problem.
|
|
* etc/guix-install.sh (guix_get_bin)[dl_path]: Add variable quoting and
curly-bracketing.
Signed-off-by: Christopher Baines <mail@cbaines.net>
|
|
* etc/guix-install.sh (guix_get_bin_list)[BIN_VER]: Add curly-brackets,
[latest_ver]: Likewise & add explicit array zero-indexing.
Signed-off-by: Christopher Baines <mail@cbaines.net>
|
|
* etc/guix-install.sh (sys_make_guix_available): Add variable quoting.
Signed-off-by: Christopher Baines <mail@cbaines.net>
|
|
Almost the entire file is indented with spaces, a few tabs slipped in, clean
them up.
* etc/guix-install.sh(chk_sys_arch): Replace tabs with spaces.
(sys_enable_guix_daemon): Likewise.
Signed-off-by: Christopher Baines <mail@cbaines.net>
|
|
version
* etc/guix-install.sh (guix_get_bin_list): modify regexes to allow rcN syntax
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
Fixes <https://bugs.gnu.org/43744>.
* etc/guix-install.sh (chk_sys_nscd): New function to check if the service
'nscd is running, otherwise suggest to install distribution-wide.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
Fixes <https://bugs.gnu.org/43744>.
* etc/guix-install.sh (sys_create_shell_completion): New function to add
system wide all the symlinks for supported shell completions.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
* etc/guix-install.sh (chk_init_sys): Detect OpenRC.
(sys_enable_guix_daemon): Install & enable the Guix daemon on such
systems.
* etc/openrc/guix-daemon.in: New file.
* nix/local.mk: Add a rule for it.
(openrcservicedir, nodist_openrcservice_DATA): New variables.
(CLEANFILES, EXTRA_DIST): Add them.
* .gitignore: Ignore etc/openrc/guix-daemon.
Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
|
|
* etc/guix-install.sh (guix_get_bin_list): Call grep with an extended
regular expression instead of a non-POSIX Perl regular expression.
(sys_create_store): Remove ‘--warning=no-timestamp’ argument to tar.
Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
|
|
Without quotes, zsh fails with "no matches found" as it tries to
interpret the question mark.
* etc/guix-install.sh (chk_gpg_keyring): Enclose URL in single quotes.
|
|
New users regularly report missing newly-installed programmes and icons.
* etc/guix-install.scm (main): Tell users to log out & back in.
|
|
The original example regularly prevented new users from installing Guix
at all.
* etc/guix-install.scm (chk_gpg_keyring): Suggest ‘sudo -i gpg’.
|
|
* etc/guix-install.sh (sys_enable_guix_daemon): Enable gnu-store.mount only
if it was actually installed.
Reported by peanutbutterandc on #guix.
|
|
* etc/guix-install.sh (chk_init_sys): Redirect systemctl errors to
/dev/null.
Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
|
|
* etc/guix-install.sh (REQUIRE): Add xz to requirements list.
Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
|
|
This follows up on 1a1faa78b0498fbb71f1533beb4b65817c1d3f2a, and avoids
the (non-fatal) error seen in <https://issues.guix.gnu.org/41356>.
/gnu/store will remain writable on new foreign distribution
installations until the next release.
* etc/guix-install.sh (sys_enable_guix_daemon): Check for
‘gnu-store.mount’ presence before trying to cp it.
Update forgotten copyright header.
|
|
* etc/gnu-store.mount.in: New file.
* nix/local.mk (nodist_systemdservice_DATA): Add it.
(etc/%.mount): New rule for it.
* etc/guix-install.sh (sys_enable_guix_daemon): Install it.
* doc/guix.texi (Binary Installation): Document it.
* .gitignore: Ignore changes to it.
|
|
* etc/guix-install.sh (sys_create_init_profile): Source
~/.guix-profile/etc/profile instead of running 'guix package
--search-paths=prefix'
|
|
Fixes <https://bugs.gnu.org/39984>.
Suggested by Adam Porter <adam@alphapapa.net>.
* etc/guix-install.sh (sys_create_init_profile): Add a trailing colon to
'INFOPATH'.
|
|
* etc/guix-install.sh (sys_enable_guix_daemon): Install SysV init script.
|
|
If $XDG_DATA_DIRS is unset, default value of "/usr/local/share:/usr/share"
is used according to XDG Base Directory Specification. However,
/etc/profile.d/guix.sh treats this value as empty list when appending its
own directory, so after installing Guix on the system, launchers such
as Rofi stop searching for .desktop files in /usr/share/applications/
and can't launch applications other than those installed with Guix.
This patch fixes the bug in generated /etc/profile.d/guix.sh
* etc/guix-install.sh (sys_create_init_profile): Use default value of
/usr/local/share:/usr/share/ before appending if $XDG_DATA_DIRS is not
set.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
* etc/guix-install.sh (sys_create_init_profile): Add code to create
/etc/profile.d if it somehow does not exist; the function still carries
on because it is possible that /etc/profile is still configured to read
the *.sh files from /etc/profile.d, if they exist.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
* etc/guix-install.sh (sys_create_init_profile): Export INFOPATH to include
the updated info-pages from ~/.config/guix/current/share/info. This also makes
sure that both /usr/bin/info and $GUIX_PROFILE/bin/info can read guix info pages
without throwing "no menu item 'guix' in node dir(Top)" error.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
Create an init profile (/etc/profile.d/guix.sh) during installation for
better integration with foreign distros. This file, read by login-shells
sets a few environment variables (PATH, GUIX_PROFILE, GUIX_LOCALE, along
with XDG_DATA_DIRS) and makes guix-installed packages readily available
for the users. Other environment variables, as listed by `guix package
--search-paths=prefix`, are also exported.
Checks are in place to prevent the init profile from needlessly polluting
the user's environment.
* etc/guix-install.sh (sys_create_init_profile): New function to create
/etc/profile.d/guix.sh init profile.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
Users with strict umasks (e.g. 0077) would end up with an unreadable
/gnu (mode 0700) and no way to run guix.
Reported by A. <@aaap:matrix.org> on #guix.
* etc/guix-install.sh (main): Set umask before installing anything.
|
|
* etc/guix-install.sh (sys_enable_guix_daemon): Modify
'guix-daemon.service' to work around locale issues not fixed in 1.0.1.
|
|
* etc/guix-install.sh (chk_gpg_keyring): Call gpg with ‘--dry-run’.
|
|
* etc/guix-install.sh (chk_gpg_keyring): New function to handle the
public key check previously stuffed into chk_require.
(main): Call it.
|
|
* etc/guix-install.sh (chk_require): Make $c local.
|
|
Don't flatten it into a string only to split it again later.
* etc/guix-install.sh (chk_require): Iterate over array elements, not
string tokens.
(main): Pass $REQUIRE as an array of arguments.
|
|
* etc/guix-install.sh: Recommend downloading the GPG key from Savannah.
|
|
* etc/guix-install.sh (sys_authorize_build_farms): Authorise only
ci.guix.gnu.org and make all references to it singular.
|
|
* etc/guix-install.sh: Replace reference to ci.guix.info with ci.guix.gnu.org.
|
|
* etc/guix-install.sh (GNU_URL): Change to ftp.gnu.org.
|
|
Fixes <https://bugs.gnu.org/34279>.
Reported by Claes Wallin (韋嘉誠) <clacke@lysator.liu.se>.
* etc/guix-install.sh: Change shebang to #!/bin/sh and add 'if'
statement to spawn Bash if needed.
|
|
"pgp.mit.edu" has been unavailable for some time.
* etc/guix-install.sh (chk_require): Change key server to
pool.sks-keyservers.net.
|
|
* etc/guix-install.sh (sys_authorize_build_farms): Use the
"ci.guix.info.pub" file name rather "berlin.guixsd.org.pub".
|
|
* 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.
|
|
* etc/guix-install.sh (chk_sys_arch): Add "armv7l" case.
|
|
* etc/guix-install.sh (chk_require): Because of the set -e option, Bash was
exiting when the command `command -v "$c" &>/dev/null' was running on its
own. Instead, we now test the command and accumulate warning messages in a
single statement by chaining the command with a logical OR.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
* etc/guix-install.sh (ROOT_HOME): New variable.
(sys_create_store, sys_enable_guix_daemon, sys_authorize_build_farms):
Use ROOT_HOME instead of ~root or the HOME environment variable.
* doc/guix.texi (Binary Installation): Instead of assuming that ~ and
$HOME refer to root's directory simply because commands are being run
as root, explicilty refer to it via ~root.
Fixes: <https://bugs.gnu.org/30728>
|