* etc/snippets/tempel/scheme-mode (origin): Unquote ‘git-fetch’, ‘svn-fetch’,
‘hg-fetch’, ‘cvs-fetch’, and ‘bzr-fetch’. Use ‘otherwise’ instead of ‘t’.
This works around a situation where ‘cuirass remote-worker’ now builds
with max-jobs = 1 (Cuirass commit
980ef610989895be5ac2ba7f9d1901e5c7f22934). The effect is that all
.dis.drv would be performed sequentially, on a single machine (‘cuirass
remote-server’ is unable to distribute those derivations to several
machines because it only “sees” the ‘disarchive-collection’ derivation).
This would take a lot of time and force a rebuild of all of *.dis.drv
every time because their build results would not be retrieved by the
‘remote-server’ process.
* etc/disarchive-manifest.scm (disarchive-collection): Remove.
<top level>: Define ‘disarchives’. Append it to the entries of the
manifest.
The old surrounding-sexp procedure would read all S-expressions from the
beginning of the file up to the given line number and then return the last
encountered S-expression. This is quite wasteful. Instead we can record all
lines that begin with an S-expression and jump straight to the offset closest
to the desired line number to read the S-expression there.
* etc/committer.scm.in (lines+offsets-with-opening-parens): New procedure.
(surrounding-sexp): Use it.
* etc/committer.scm.in (%original-file-cache): New variable.
(read-original-file): New procedure.
(read-original-file*): New procedure.
(old-sexp): Use it.
Gdk-pixbuf is a dependency for `guix system reconfigure' and currently also
needs an unreleased glibc patch in order to build.
* etc/hurd-manifest.scm: Add gdk-pixbuf to manifest.
This is a follow up to commit 4d7b25a0 ("etc: teams: Sort and improve display
of regular expression in 'scope' field.").
* etc/teams.scm.in (regexp-exec*): Rename to...
(regexp*-exec): ... this.
(find-team-by-scope): Replace regexp? with regexp*?. Replace regexp-exec with
regexp*-exec.
Fixes <https://issues.guix.gnu.org/65208>.
* etc/teams.scm.in (<regexp*>): New record type.
(make-regexp*, regexp-exec*): New procedures.
(python, haskell, julia, java, emacs, rust, core, translations, installer,
home): Use it.
(find-team-by-scope): Use it.
(list-teams): Use it.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Reported-by: Greg Hogan <code@greghogan.com>
This will allow me to automatically detect when I'm getting emails related to
Guix teams.
* etc/teams.scm.in: Change email address for Christopher Baines.
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.