Before this change, the "Overwriting existing installation!" would be
displayed erroneously.
* etc/guix-install.sh (sys_create_store): Fix overwrite conditional.
Since we encourage using variables rather than magic hashes in the commit
fields, e.g. (commit version) and (commit commit), the default for
tempel to use quoted strings is rather off. Thus, let the placeholder reflect
actual usage.
* etc/snippets/tempel/scheme-mode (git-reference...)[commit]: Use field name
as placeholder and don't quote value.
(svn-reference..., bzr-reference...)[revision]: Likewise.
(hg-reference...)[changeset]: Likewise.
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 /.
* etc/teams.scm.in (git-patch->revisions): New procedure.
(main) [cc-members]: New match pattern to support patch file argument.
[get-maintainer]: Simplify using the newly introduced procedure from above.
(main): Update usage doc.
Series-changes: 2
- New: support passing a patch file to the cc-members command
This can be used as a compatibility mode with the get_maintainer.pl Perl
script included in the Linux (or U-Boot) source tree.
* etc/teams.scm.in (git-patch->commit-id): New procedure.
(main) <get-maintainer>: Register new command. Document it.
Series-changes: 2
- Move newline character (~%) in usage output to the bottom
We only need to check if git-commit-mode is t, not enable it in all text-mode
buffers.
* etc/snippets/tempel/text-mode: Remove unwanted git-commit-mode invocation.
This is a temporary measure to work around the fact that we're currently
lacking the necessary CPU power and human power to build everything up
to 'gcc-toolchain'.
* etc/release-manifest.scm (%base-packages/hurd): Comment out
"gcc-toolchain" for now.
Racket's variant of Chez Scheme is defined in that file.
* etc/teams.scm.in (racket)[#:scope]: Add gnu/packages/chez.scm.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
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>
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>
* 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>
* etc/teams.scm.in (python): Add guix/build/pyproject-build-system.scm and
guix/build-system/pyproject.scm to python team's scope.
Signed-off-by: Christopher Baines <mail@cbaines.net>
Don't remove the emacs package, as it does build and substitutes are
available. Do remove the guix package though, as it doesn't build due to Guile
memory issues while compiling the package modules.
* etc/release-manifest.scm (%base-packages/armhf): Don't replace the emacs
package, remove the guix package.
(%base-manifest): Remove FIXME comment as %base-packages/armhf doesn't relate
to build power.
When reviewing patches, whose commit logs don't follow the structure outlined
in “Submitting Patches”, a reviewer might be tempted to use snippets to
rewrite them. This makes it so that their attempt, while not immediately
succeeding, isn't completely thwarted.
* etc/snippets/tempel/text-mode (add\ , remove\ , rename\ , update\ )
(addcl\ , https\ ): Use an empty "p" field if (car (magit-staged-files))
fails.
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.
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.
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.
* 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.
The current move is never correct. It flip-flops between car and cadr for
the destination. Since the position of the destination is not actually a
fixed point in the list of changes, use a more robust method of inferring it.
* etc/snippets/tempel/text-mode (move\ ): Infer source and destination from
washed diffs. Process new module before destination.