summaryrefslogtreecommitdiff
path: root/etc
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2022-10-25 21:50:59 +0300
committerEfraim Flashner <efraim@flashner.co.il>2022-10-25 21:50:59 +0300
commit6ff203663e696b74e711ab09d6f4b35c2c332f0f (patch)
tree4bf2c77c62fa60febba527a76b1ecffaa0a00a0d /etc
parent408a4ed071c9c52de207d799a698781d49fa727d (diff)
parenta0751e3250dfea7e52468c8090e18c3118d93a60 (diff)
Merge remote-tracking branch 'origin/master' into staging
Diffstat (limited to 'etc')
-rwxr-xr-xetc/guix-install.sh40
-rw-r--r--etc/news.scm20
-rw-r--r--etc/release-manifest.scm13
-rw-r--r--etc/snippets/tempel/text-mode15
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))