diff options
author | Efraim Flashner <efraim@flashner.co.il> | 2022-10-25 21:50:59 +0300 |
---|---|---|
committer | Efraim Flashner <efraim@flashner.co.il> | 2022-10-25 21:50:59 +0300 |
commit | 6ff203663e696b74e711ab09d6f4b35c2c332f0f (patch) | |
tree | 4bf2c77c62fa60febba527a76b1ecffaa0a00a0d /etc | |
parent | 408a4ed071c9c52de207d799a698781d49fa727d (diff) | |
parent | a0751e3250dfea7e52468c8090e18c3118d93a60 (diff) |
Merge remote-tracking branch 'origin/master' into staging
Diffstat (limited to 'etc')
-rwxr-xr-x | etc/guix-install.sh | 40 | ||||
-rw-r--r-- | etc/news.scm | 20 | ||||
-rw-r--r-- | etc/release-manifest.scm | 13 | ||||
-rw-r--r-- | etc/snippets/tempel/text-mode | 15 |
4 files changed, 59 insertions, 29 deletions
diff --git a/etc/guix-install.sh b/etc/guix-install.sh index 3604c71ed6..c8ef59d4a4 100755 --- a/etc/guix-install.sh +++ b/etc/guix-install.sh @@ -3,7 +3,7 @@ # Copyright © 2017 sharlatan <sharlatanus@gmail.com> # Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> # Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> -# Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> +# Copyright © 2019–2020, 2022 Tobias Geerinckx-Rice <me@tobias.gr> # Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com> # Copyright © 2020 Simon Tournier <zimon.toutoune@gmail.com> # Copyright © 2020 Daniel Brooks <db48x@db48x.net> @@ -33,7 +33,7 @@ then exec bash "$0" "$@" fi -set -e +set -eo pipefail [ "$UID" -eq 0 ] || { echo "This script must be run as root."; exit 1; } @@ -137,21 +137,27 @@ chk_gpg_keyring() gpg_key_id=${GPG_SIGNING_KEYS[$user_id]} # Without --dry-run this command will create a ~/.gnupg owned by root on # systems where gpg has never been used, causing errors and confusion. - if ! gpg --dry-run --list-keys "$gpg_key_id" >/dev/null 2>&1; then - if prompt_yes_no "${INF}The following OpenPGP public key is \ + if gpg --dry-run --list-keys "$gpg_key_id" >/dev/null 2>&1; then + continue + fi + if prompt_yes_no "${INF}The following OpenPGP public key is \ required to verify the Guix binary signature: $gpg_key_id. Would you like me to fetch it for you?"; then - wget "https://sv.gnu.org/people/viewgpg.php?user_id=$user_id" \ - --no-verbose -O- | gpg --import - - else - _err "${ERR}Missing OpenPGP public key ($gpg_key_id). + # Use a reasonable time-out here so users don't report silent + # ‘freezes’ when Savannah goes out to lunch, as has happened. + if wget "https://sv.gnu.org/people/viewgpg.php?user_id=$user_id" \ + --timeout=30 --no-verbose -O- | gpg --import -; then + continue + fi + fi + # If we reach this point, the key is (still) missing. Report further + # missing keys, if any, but then abort the installation. + _err "${ERR}Missing OpenPGP public key ($gpg_key_id). Fetch it with this command: wget \"https://sv.gnu.org/people/viewgpg.php?user_id=$user_id\" -O - | \ sudo -i gpg --import -" - exit_flag=yes - fi - fi + exit_flag=yes done if [ "$exit_flag" = yes ]; then exit 1 @@ -575,6 +581,7 @@ fi welcome() { + local char cat<<"EOF" ░░░ ░░░ ░░▒▒░░░░░░░░░ ░░░░░░░░░▒▒░░ @@ -600,8 +607,15 @@ This script installs GNU Guix on your system https://www.gnu.org/software/guix/ EOF - echo -n "Press return to continue..." - read -r + # Don't use ‘read -p’ here! It won't display when run non-interactively. + echo -n "Press return to continue..."$'\r' + read -r char + if [ "$char" ]; then + echo + echo "...that ($char) was not a return!" + _msg "${WAR}Use newlines to automate installation, e.g.: yes '' | ${0##*/}" + _msg "${WAR}Any other method is unsupported and likely to break in future." + fi } main() diff --git a/etc/news.scm b/etc/news.scm index 7973f96f26..d9ffa036a2 100644 --- a/etc/news.scm +++ b/etc/news.scm @@ -30,7 +30,8 @@ (title (en "New @option{--emulate-fhs} option for @command{guix shell}") (de "Neue Option @option{--emulate-fhs} für @command{guix shell}") - (fr "Nouvelle option @option{--emulate-fhs} pour @command{guix shell}")) + (fr "Nouvelle option @option{--emulate-fhs} pour @command{guix shell}") + (pt "Nova opção @option{--emulate-fhs} para o @command{guix shell}")) (body (en "The @command{guix shell} command has a new @option{--emulate-fhs} (or @option{-F}) option. Combined with @@ -76,7 +77,22 @@ guix shell -CF coreutils -- /bin/ls @end example Lancer @command{info \"(guix.fr) Invoquer guix shell\"} pour plus -d'informations."))) +d'informations.") + (pt "O comando @command{guix shell} tem uma nova opção +@option{--emulate-fhs} (ou @option{-F}). Combinada com +@option{--container} (ou @option{-C}), ela emula o layout de arquivos e +diretórios especificado pelo Padrão de Hierarquia do Sistema de +Arquivos (Filesystem Hierarchy Standard — FHS), provendo @file{/bin}, +@file{/lib}, etc. dentro do contêiner. + +Por exemplo, o comando seguinte executa @file{/bin/ls} dentro de um contêiner +desse tipo: + +@example +guix shell -CF coreutils -- /bin/ls +@end example + +Execute @command{info \"(guix) Invoking guix shell\"} para mais informações."))) (entry (commit "28ade1bab207974cce6a014e7187968511fc5526") (title diff --git a/etc/release-manifest.scm b/etc/release-manifest.scm index e2be7f0eee..8ce8b7fce6 100644 --- a/etc/release-manifest.scm +++ b/etc/release-manifest.scm @@ -51,12 +51,11 @@ TARGET." "openssh" "emacs" "vim" "python" "guile" "guix"))) (define %base-packages/armhf - ;; XXX: Relax requirements for armhf-linux for lack of enough build power. - (map (lambda (package) - (if (string=? (package-name package) "emacs") - (specification->package "emacs-no-x") - package)) - %base-packages)) + ;; The guix package doesn't build natively on armhf due to Guile memory + ;; issues compiling the package modules + (remove (lambda (package) + (string=? (package-name package) "guix")) + %base-packages)) (define %base-packages/hurd ;; XXX: For now we are less demanding of "i586-gnu". @@ -112,8 +111,6 @@ TARGET." (cond ((string=? system "i586-gnu") %base-packages/hurd) ((string=? system "armhf-linux") - ;; FIXME: Drop special case when ci.guix.gnu.org - ;; has more ARMv7 build power. %base-packages/armhf) ((string=? system "powerpc64le-linux") ;; FIXME: Drop 'bootstrap-tarballs' until diff --git a/etc/snippets/tempel/text-mode b/etc/snippets/tempel/text-mode index 364c21266d..fd0e95eaa6 100644 --- a/etc/snippets/tempel/text-mode +++ b/etc/snippets/tempel/text-mode @@ -12,7 +12,8 @@ text-mode :when (and (fboundp 'git-commit-mode) (git-commit-mode)) (match-string-no-properties 1))) var) "." n n - "* " (car (magit-staged-files)) " (" (s var ) "): New variable.") + "* " (p (or (car (magit-staged-files)) "")) + " (" (s var ) "): New variable.") (remove\ "gnu: Remove " (p (with-temp-buffer @@ -24,7 +25,8 @@ text-mode :when (and (fboundp 'git-commit-mode) (git-commit-mode)) (match-string-no-properties 1))) var) "." n n - "* " (car (magit-staged-files)) " (" (s var) "): Delete variable.") + "* " (p (or (car (magit-staged-files)) "")) + " (" (s var) "): Delete variable.") (rename\ "gnu: " (p (with-temp-buffer @@ -43,7 +45,7 @@ text-mode :when (and (fboundp 'git-commit-mode) (git-commit-mode)) (thing-at-point 'sexp 'no-properties))) new-var) "." n n - "* " (car (magit-staged-files)) " (" (s prev-var) "): " + "* " (p (or (car (magit-staged-files)) "")) " (" (s prev-var) "): " "Define in terms of" n "'deprecated-package'." n "(" (s new-var) "): New variable, formerly known as \"" @@ -74,7 +76,7 @@ text-mode :when (and (fboundp 'git-commit-mode) (git-commit-mode)) (buffer-substring-no-properties (point) (- end 2)))))) version) "." n n - "* " (car (magit-staged-files)) " (" (s var) "): " + "* " (p (or (car (magit-staged-files)) "")) " (" (s var) "): " "Update to " (s version) "." n (mapconcat (lambda (file) (concat "* " file)) (cdr (magit-staged-files)) @@ -92,7 +94,7 @@ text-mode :when (and (fboundp 'git-commit-mode) (git-commit-mode)) (thing-at-point 'sexp 'no-properties))))) var) "." n n - "* " (car (magit-staged-files)) + "* " (p (or (car (magit-staged-files)) "")) " (cl-" (s var) ", ecl-" (s var) ", sbcl-" (s var) "): New variables.") @@ -107,7 +109,8 @@ text-mode :when (and (fboundp 'git-commit-mode) (git-commit-mode)) (match-string-no-properties 1))) var) ": Use HTTPS home page." n n - "* " (car (magit-staged-files)) " (" (s var) ")[home-page]: Use HTTPS." + "* " (p (or (car (magit-staged-files)) "")) + " (" (s var) ")[home-page]: Use HTTPS." n (mapconcat (lambda (file) (concat "* " file)) (cdr (magit-staged-files)) |