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.
Tested on Rocky Linux 9, as discussed
at <https://issues.guix.gnu.org/62487>.
* etc/guix-daemon.cil.in: Add rules for /gnu/store remount and file
creation in /tmp.
* etc/teams.scm.in (embedded-bootstrap): Replace by two separate teams.
(embedded): New variable.
(bootstrap): New variable.
Adjust membership to use new teams.
This change was more invasive than initially thought, and cannot be disabled
easily, as raised by a few people. Let's revert it for now. At least the
pre-push hook should be deployed automatically and catch any unsigned commits
attempted to be pushed to Savannah.
* etc/git/gitconfig [commit]: Remove section.
Passing '-DBUILD_COMPLEX=OFF' to lapack would eventually lead to a link
error.
Reported by Florian Pelz <pelzflorian@pelzflorian.de>.
* doc/guix.texi (Package Transformation Options): Change
'--with-configure-flag' example.
* etc/news.scm: Likewise.
Fixes <https://issues.guix.gnu.org/63378>.
* etc/teams.scm.in (cc): Adjust format pattern.
(sort-members, member->string): New procedures.
(list-members): Refactor in terms of the above procedures.
(main): Adjust the output of the 'cc-members-header-cmd' and
'cc-mentors-header-cmd' actions.
Reviewed-by: Arun Isaac <arunisaac@systemreboot.net>
This means we do not need to worry anymore about manually syncing the pre-push
git hook or the Guix-provided git configuration.
* etc/git/gitconfig: Augment configuration template with useful options to
allow for auto-configuration.
* Makefile.am (.git/hooks/pre-push, .git/config): New targets.
(nodist_noinst_DATA): New primary variable holding the above targets.
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.
* etc/news.scm: Add Portuguese translation of entries about WSL system images
and about Guix System image API documentation.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* etc/teams.scm (find-teams-by-scope): Differentiate between raw strings
and regexps. Make raw string matches strict.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
Add a scope list to each team. This list defines all the files and
directories that are mentored by the team.
Also add a cc-members command that takes two Git revision strings as input,
add returns the members that should be CC'ed given the files impacted between
the two revisions.
* etc/teams.scm.in (<team>)[scope]: New field.
(team, list-teams): Adapt those procedures.
(find-team-by-scope, diff-revisions): New procedures.
(main): Add a "cc-members" command.
* doc/contributing.texi ("Teams"): Document it.
("Sending a Patch Series"): Adapt it.
The en dash is used to separate pairs of words or numbers. The em dash is the
one used to separate sentences. In addition, in English text we are using the
convention of not separating the dash with spaces.
* etc/news.scm: Change the en dash to em in entry about Emacs native
compilation.
Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>