Add more examples of when it can be appropriate to push changes without
review, as I think this can be appropriate in the case of trivial changes (as
mentioned before), but also non-trivial fixes.
No longer suggest pushing simple new packages or package upgrades (that don't
cause lots of rebuilds) without sending to guix-patches. Now there's some
automation for testing changes sent to guix-patches, sending changes there
before pushing can mean that more rigorous testing takes place and help speed
up substitutes becoming available. This is true, even if no human review takes
place.
Only suggest waiting one week for review for simpler changes, wait two weeks
for more significant changes.
Also, reorder some of the information in this section so it's grouped together
better.
* doc/contributing.texi (Commit Policy): Tweak.
Signed-off-by: Christopher Baines <mail@cbaines.net>
This is an experimental build system based on python-build-system
that implements PEP 517-compliant builds.
* doc/guix.texi (Build Systems): Add pyproject-build-system section.
* doc/contributing.texi (Python Modules): Mention pyproject.toml and the
PYTHON-TOOLCHAIN package, as well as differences to python-build-system.
* guix/build-system/pyproject.scm,
guix/build/pyproject-build-system.scm,
gnu/packages/aux-files/python/sanity-check-next.py,
gnu/packages/python-commencement.scm: New files.
* Makefile.am (MODULES): Register the new build systems.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add python-commencement.scm.
* gnu/packages/python.scm (python-sans-pip, python-sans-pip-wrapper): New
variables.
Co-authored-by: Marius Bakke <marius@gnu.org>
* doc/contributing.texi (Submitting Patches): Add a tip detailing how to
prefix the subject line with the branch name the change should be installed
to.
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.
* etc/snippets/tempel/scheme-mode: New file.
* etc/snippets/tempel/text-mode: New file.
* etc/snippets/scheme-mode: Moved from here...
* etc/snippets/yas/scheme-mode: ... to here.
* etc/snippets/text-mode: Moved from here...
* etc/snippets/yas/text-mode: ... to here.
* doc/contributing.texi ("The Perfect Setup"): Adjust yasnippet setup
accordingly. Add tempel setup.
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
Fixes <https://issues.guix.gnu.org/56114>.
Reported by Maxime Devos <maximedevos@telenet.be>.
* guix/monad-repl.scm (%build-verbosity): New variable.
(evaluate/print-with-store): New procedure.
(run-in-store): Rewrite in terms of 'evaluate/print-with-store'.
(verbosity, lower, build): New meta-commands.
* doc/guix.texi (Using Guix Interactively): New node.
(The Store Monad): Link to it.
(Invoking guix repl): Likewise.
* doc/contributing.texi (Running Guix Before It Is Installed): Refer to
it.
(The Perfect Setup): Suggest 'guix install' rather than 'guix package -i'.
Partially fixes <https://issues.guix.gnu.org/55821>. Partially because our
git package doesn't yet include the documentation. This change will need to
go to core-updates.
* doc/contributing.texi (Submitting Patches): Adjust the node name.
* doc/contributing.texi (Building from Git): Tweak so that all the
commands appear in @example boxes. Show --localstatedir=/var instead of
--localstatedir=@var{directory}.
* doc/contributing.texi (Running Guix Before It Is Installed): Mention
how to remedy "source file ... newer than compiled" error by running
`make -j`.
Co-authored-by: jgart <jgart@dismail.de>
Co-authored-by: Julien Lepiller <julien@lepiller.eu>
Co-authored-by: Ryan Prior <rprior@protonmail.com>
Co-authored-by: Blake Shaw <blake@nonconstructivism.com>
Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
* doc/contributing.texi (Building from Git): Adds section on using
make clean-go.
Co-authored-by: jgart <jgart@dismail.de>
Co-authored-by: Julien Lepiller <julien@lepiller.eu>
Co-authored-by: Ryan Prior <rprior@protonmail.com>
Co-authored-by: Blake Shaw <blake@nonconstructivism.com>
Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
* doc/contributing.texi (Running Guix Before It Is Installed): Writing "Do
<this>. But it won't work unless ..." is a bad practice.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* doc/contributing.texi (Contributing): Update the short description of the
"Tracking Bugs and Patches" chapter in the menu.
(Tracking Bugs and Patches): Split this section into three new subsections,
titled "The Issue Tracker", "Debbugs User Interfaces", and "Debbugs Usertags".
Of these, only the "Debbugs Usertags" is actually new.
In addition to substitutes from ci.guix.gnu.org. There are more changes that
can be made in the future, but these changes seem like a good start.
* config-daemon.ac (guix_substitute_urls): Add https://bordeaux.guix.gnu.org.
* guix/scripts/substitute.scm (%default-substitute-urls): Add
http://bordeaux.guix.gnu.org.
* guix/store.scm (%default-substitute-urls): Add bordeaux.guix.gnu.org.
* doc/guix.texi: Adjust accordingly.
* doc/contributing.texi: Adjust accordingly.
The previous instructions were correct, but we got too many bug reports
with a root cause of "did not build Guix yet".
Other parts of the manual already instruct `make && make check`, so this
makes the treatment of building Guix more consistent, too.
* doc/contributing.texi (Building from Git): Instruct the user to run
`make` when building Guix.
2021-04-04 13:34:30 -04:00
Tobias Geerinckx-Rice via Bug reports for GNU Guix
For more context, see the discussion in <https://bugs.gnu.org/47111>.
* doc/contributing.texi (Commit Access): Add paragraph about removing
inactive committers.
Fixes <https://issues.guix.gnu.org/36117>.
Before this change, the 'binfmt_misc' entries registered for QEMU would not be
usable in container contexts outside of guix-daemon (without manually bind
mounting file names).
For example:
$ docker run --rm arm32v7/debian true
standard_init_linux.go:207: exec user process caused "no such file or directory"
After this change, any container can make use of the QEMU binfmt_misc
registrations, as their corresponding QEMU static binaries are fully
pre-loaded by the kernel.
* gnu/services/virtualization.scm (<qemu-platform>): Define using
'define-record-type*'.
[flags]: New field, which defaults to "F" (fix binary).
(%i386, %i486, %alpha, %arm, %armeb, %sparc, %sparc32plus, %ppc, %ppc64)
(%ppc64le, %m68k, %mips, %mipsel, %mipsn32, %mipsn32el, %mips64, %mips64el)
(%riscv32, %riscv64, %sh4, %sh4eb, %s390x, %aarch64, %hppa): Adjust.
(qemu-binfmt-guix-chroot): Remove variable.
(qemu-binfmt-service-type): Remove the qemu-binfmt-guix-chroot extension.
* gnu/services/qemu-binfmt (qemu-platform->binfmt): Use the static output of
QEMU.
* doc/contributing.texi (Submitting Patches): Update doc.
* doc/guix.texi (Virtualization Services): Update doc.
* doc/contributing.texi: Replace link to TP with a link to Weblate.
* doc/guix.texi: Replace link to TP with a link to Weblate.
* doc/guix-cookbook.texi: Replace link to TP with a link to Weblate.
* doc/contributing.texi (Running Guix Before It Is Installed): Instruct
user to run ./bootstrap before ./configure.
Signed-off-by: Jakub Kądziołka <kuba@kadziolka.net>
Following discussions in <https://issues.guix.gnu.org/43893>, keeping a copy
of the updated package source is desirable when generating a release.
* build-aux/update-guix-package.scm (version-controlled?): Remove variable.
(call-with-temporary-git-worktree): Renamed from
'with-temporary-git-worktree'. Update doc. Do not change directory
implicitly. Define as a procedure, not a syntax.
(keep-source-in-store): New procedure.
(main): Adjust to use with call-with-temporary-git-worktree. Add the sources
to the store when GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT is set. Exit gracefully
when FIND-ORIGIN-REMOTE returns #f.
(%savannah-guix-git-repo-push-url-regexp): Adjust match for a potential colon
separator.
* Makefile.am (GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT): Adjust.
* .dir-locals.el (scheme-mode): Remove entry for with-temporary-git-worktree.
* doc/contributing.texi (Updating the Guix Package): Update doc.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
* Makefile.am (GUIX_GIT_KEYRING): New variable.
(authenticate): Use GUIX_GIT_KEYRING to select the keyring branch
reference.
* doc/contributing.texi (Building from Git): Add an example about the
use of GUIX_GIT_KEYRING.
* doc/guix.texi (G-Expressions): Use @lisp for 'let-system' example.
* doc/contributing.texi (Synopses and Descriptions): Use @lisp for
second example.
Fixes <https://issues.guix.gnu.org/43893>.
This changes the 'update-guix-package' tool so that it:
1. Always uses a clean checkout to compute the hash of the updated 'guix'
package.
2. Ensures the commit used in the updated 'guix' package definition has already
been pushed upstream.
* build-aux/update-guix-package.scm (%savannah-guix-git-repo-push-url): New
variable.
(with-input-pipe-to-string, with-temporary-git-worktree): New syntaxes.
(find-origin-remote, git-add-worktree): New procedures.
(commit-already-pushed?): New predicate.
(main): Check the commit used has already been pushed upstream and compute the
hash from a clean checkout.
* doc/contributing.texi (Updating the Guix Package): Document it.
* .dir-locals.el (scheme-mode): Fix indentation of with-temporary-git-worktree.
Suggested by Emmanuel Agullo.
* doc/contributing.texi (Running Guix Before It Is Installed): Move the
"./pre-inst-env guix-daemon" snippet at the bottom. Make it clear that
it's necessary only when hacking on guix-daemon or when guix-daemon is
not already running.
* doc/contributing.texi (Building from Git): Instruct the user to fetch
the 'keyring' branch. Fix a typo.
Signed-off-by: Leo Famulari <leo@famulari.name>
The amount of packages has more than tripled since this section was written.
Adjust the rebuild limits and cycle lengths based on current practices.
* doc/contributing.texi (Submitting Patches): Increase 'staging' rebuild limit
to 1800 packages, and adjust the cycle to six weeks. Increase 'core-updates'
cycle to six months.
It's been a good run, but no one is maintaining the architecture.
So long, and thanks for all the fish.
* doc/guix.texi (GNU Distribution): Change text for mips64el-linux
to denote it is deprecated.
(Daemon Offload Setup): Change occurrences of mips64el-linux to
aarch64-linux and adjust local code snippets.
(Guix Environment)[cross-compilation]: Change mips64el-linux-gnu to
aarch64-linux-gnu.
(GNU Build System)(package-cross-derivation]: Same.
(G-Expressions)[cross compilation]: Same.
(Additional Build Options)[cross-compilation, build logs]: Same.
(qemu-binfmt-service-type): Remove mips64el.
* doc/contributing.texi (Submitting Patches): Same.
* m4/guix.m4: (GUIX_ASSERT_SUPPORTED_SYSTEM): Remove mips64el-linux.
* doc/contributing.texi
(14.1 Building from Git,
14.3 The Perfect Setup,
14.4.1 Software Freedom,
14.4.4 Synopses and Descriptions,
14.5.4 Formatting Code):
Use HTTPS for @uref{}s and @url{}s that support it.
* doc/fdl-1.3.texi
(Appendix A GNU Free Documentation License):
Use HTTPS for @uref{}s and @url{}s that support it.
* doc/guix.texi
(6.3 Build Systems,
8.8.4 Networking Services,
8.8.8 Sound Services,
8.8.16 Web Services,
8.11 Name Service Switch,
12.2 Preparing to Use the Bootstrap Binaries);
Use HTTPS for @uref{}s and @url{}s that support it.
Signed-off-by: Marius Bakke <mbakke@fastmail.com>
* doc/contributing.texi (The Perfect Setup): Use HTTPS for ParEdit wiki page.
* gnu/packages/emacs-xyz.scm (emacs-wget, emacs-iedit)[home-page]: Use HTTPS.
(emacs-transpose-frame)[source]: Likewise.
This is a followup to f8c143a713, which
allows syntax highlighting of @lisp snippets in the HTML output.
* doc/guix.texi, doc/contributing.texi: Use @lisp instead of @example
for all the Scheme snippets.