Commit graph

207 commits

Author SHA1 Message Date
Maxim Cournoyer
77771036f0
configure.ac: Set default value for the 'prefix' variable.
The Guix standard configuration uses a localstatedir of /var and a sysconfdir
of /etc.  To ease things for everyone, make the default values match that
standard expected configuration.  See
<https://lists.gnu.org/archive/html/guix-devel/2024-05/msg00003.html> for a
related discussion.

* configure.ac: Default $prefix to '' unless already set.
* doc/contributing.texi (Building from Git): Streamline doc.
* doc/guix-cookbook.texi (Guix environment via direnv): Likewise.

Reviewed-by: Ludovic Courtès <ludo@gnu.org>
Change-Id: I23cd12b58a842d246fbc9fdc740311c573eb0212
2024-05-25 23:28:30 -04:00
Ludovic Courtès
73b3f941d7
maint: Suggest ‘guix git authenticate’ for initial authentication.
The previous recommendation, running ‘make authenticate’, was insecure
because it led users to run code from the very repository they want to
authenticate:

  https://lists.gnu.org/archive/html/guix-devel/2024-04/msg00252.html

* Makefile.am (commit_v1_0_0, channel_intro_commit)
(channel_intro_signer, GUIX_GIT_KEYRING, authenticate): Remove.
* Makefile.am (.git/hooks/%): New target, generalization of previous
‘.git/hooks/pre-push’ target.
(nodist_noinst_DATA): Add ‘.git/hooks/post-merge’.
* doc/contributing.texi (Building from Git): Suggest ‘guix git
authenticate’ instead of ‘make authenticate’.
* etc/git/post-merge: New file.
* etc/git/pre-push: Run ‘guix git authenticate’ instead of ‘make
authenticate’.

Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Reported-by: Skyler Ferris <skyvine@protonmail.com>
Change-Id: Ia415aa8375013d0dd095e891116f6ce841d93efd
2024-05-25 16:23:56 +02:00
Christopher Baines
4955589f2f
doc: Make changes to the handling of branches.
Require that you create a "Request to merge" issue when you create a branch,
rather than when you wish to merge it.  This should help avoid this step being
missed.

Also, add information on how to manage these branches:

 1. Suggest creating the branch from patches, rather than having a stateful
 branch, since this should help to reduce complexity and avoid merges.

 2. Require that branches don't have unnecessary changes, since this increases
 the risks of conflicts with other branches.

 3. Suggest that the branch not be stateful, and it's just a combination of
 patches.

 4. Suggest avoiding merges since these create a more complicated Git history.

 5. Suggest that the branch be up to date before merging, as this helps avoid
 the combination of master plus the branch differing significantly from the
 branch alone.

 6. Document how to manage branches without commit access.

Finally, require that the branch be deleted once they're merged.  This
prepares for the branch being created again.

* doc/contributing.texi (Managing Patches and Branches): Make changes to the
handling of branches.

Change-Id: Ib9419c6df94f485475bd6f147e82ea254e76cec2
2024-05-22 14:31:01 +01:00
Florian Pelz
58646a949a
doc: contributing: Move localstatedir instructions.
* doc/contributing.texi (Requirements): Move localstatedir ...
(Building from Git): ... here.

Change-Id: I860bb7a9e6aea12881469c667496364248293c31
2024-04-26 11:31:14 +02:00
Florian Pelz
991f67902f
doc: contributing: Suggest building from Git.
* doc/contributing.texi (Requirements): Explain the purpose of
this section.  Refer regular contributors to Building from Git.

Change-Id: I731af4ac8e78b053b96a3b683528964223ab740b
2024-04-26 11:04:13 +02:00
Matthew Trzcinski
2ce05b362c
doc: Move "Running the Test Suite" after "Building from Git".
* doc/contributing.texi (doc/guix.texi): Move "Running the Test
Suite" after "Building from Git".

Link: <https://lists.gnu.org/archive/html/guix-devel/2024-03/msg00023.html>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2024-04-06 11:38:34 -04:00
Matthew Trzcinski
fb82f6053c
doc: Move "Requirements" before "Building from Git"
* doc/contributing.texi (doc/guix.texi): Move "Requirements" before "Building
from Git".

Link: <https://lists.gnu.org/archive/html/guix-devel/2024-03/msg00023.html>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2024-04-06 11:37:44 -04:00
Florian Pelz
74517806f8
doc: Explain to run bootstrap after Automake errors.
Fixes <https://issues.guix.gnu.org/70140>.
Suggested by Rostislav Svoboda <rostislav.svoboda@gmail.com>.

* doc/contributing.texi (Building from Git): Explain.
* doc/guix.texi: Update copyright year.

Change-Id: I0cedc60f9ece3ec78df60df54ffeacff545bfc63
2024-04-05 16:12:59 +02:00
Ludovic Courtès
d67e4f0f9b
doc: Add “Source Tree Structure” section.
* doc/contributing.texi (Source Tree Structure): New node.
* doc/guix.texi (Programming Interface): Add cross-reference.

Change-Id: I141a1f4d806ae5f72c7a246e18c14dc63056a607
2024-03-21 17:43:16 +01:00
Simon Tournier
9389070b9c
doc: contributing: Remove sentences appearing twice.
* doc/contributing.texi (Commit Access): Remove sentences appearing twice and
use @url.

Change-Id: I2b0cb9eebc6f9f66147f286c0bdffdf8924ec412
2024-02-03 10:29:54 +01:00
Simon Tournier
f2e5e94544
doc: contributing: Fix typo.
* doc/contributing.texi (Reviewing the Work of Others): Fix typo.

Change-Id: I4d3afd4f7e47dbda8a43fdf7f18c7c233d1c8762
2024-02-02 17:12:38 +01:00
Maxim Cournoyer
b88bff628d
doc: Mention the responsibilities that blocking comes with.
* doc/contributing.texi (Commit Access): Mention that blocking comes with
extra responsibilities.

Reviewed-by: Simon Tournier <zimon.toutoune@gmail.com>
Signed-off-by: Simon Tournier <zimon.toutoune@gmail.com>
2024-02-02 17:09:27 +01:00
Florian Pelz
f0752de257
doc: Use accurate wording in Emacs-Debbugs configuration.
'M-x debbugs-gnu' does not prompt for which bugs to show.
'C-u M-x debbugs-gnu' would.
Follow-up to 19fe24c5b9.

* doc/contributing.texi (Viewing Bugs within Emacs): Make comment
more accurate.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-12-31 01:01:40 -05:00
Raphaël Mélotte
b650dcabf1
doc: suggest using pre-inst-env for git-send-email on foreign distros
On foreign distros, not using pre-inst-env when using git-send-email results
in a backtrace ending with: no code for module (guix ui)
This can be confusing as users did not have to use pre-inst-env to use
git-send-email before.

* doc/contributing.texi (Sending a Patch Series): add a note to suggest using
pre-inst-env when calling git-send-email on foreign distros.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-12-11 23:16:27 +01:00
Ludovic Courtès
01361d46b8
doc: Recommend building in ‘guix shell -CPW’.
This was prompted by <https://issues.guix.gnu.org/66537>, where someone
tried to build Guix within ‘guix shell --pure’ on a foreign distro and
found that ./configure would pick software from the host system.

Suggested by Hiep Pham <hiepph9@proton.me>.

* doc/contributing.texi (Building from Git): Recommend ‘guix shell -CPW’.

Change-Id: I7694b482d982917fef6ec404f68ddacea761f482
2023-12-04 22:26:38 +01:00
Ekaitz Zarraga
c07a5f050f
doc: contributing: Fix syntax in link.
* doc/contributing.texi(Alternative Setups)[Vim and Neovim]: Fix broken link
to fugitive.vim.

Change-Id: Ib86239d98c39383169a9cdebc7549477b648206e
Signed-off-by: Christopher Baines <mail@cbaines.net>
2023-11-20 14:58:09 +00:00
Maxim Cournoyer
19fe24c5b9
doc: Document extra Emacs-Debbugs configurations.
* doc/contributing.texi (Viewing Bugs within Emacs): Document
debbugs-gnu-default-packages, debbugs-gnu-default-severities.
(Debbugs User Interfaces): Likewise, and mention debbugs-gnu-guix-search.

Suggested-by: Michael Albinus <michael.albinus@gmx.de>
Change-Id: I8e9026bc394b0cf674c8498ca713c332e48c2700
2023-11-07 12:33:27 -05:00
Maxim Cournoyer
7d3f2b99ff
doc: Expound on the build-side versus host-side modules topic.
Discussed in <https://issues.guix.gnu.org/65924#98-lineno27>.

* doc/contributing.texi (Modules): Add new context indices, and provide a
real-life counter-example, and its ramifications.

Reported-by: Ludovic Courtès <ludo@gnu.org>
Change-Id: I06975fb24f0d67c833884313a727dc550f61d8a0
2023-11-07 12:33:26 -05:00
Maxim Cournoyer
889a6204f8
doc: Add some guidelines for reviewing.
* doc/contributing.texi (Contributing) [Reviewing the Work of Others]: New
section.
(Debbugs Usertags): Expound with Emacs Debbugs information and document the
'reviewed-looks-good' usertag.
* etc/git/gitconfig [b4]: New section.

Change-Id: I56630b15ec4fbc5c67e5420dbf2838556a005d6b
Reviewed-by: Ludovic Courtès <ludo@gnu.org>
2023-11-07 12:33:25 -05:00
Ricardo Wurmus
fb46c1ceda
doc: Update URL of Mumi git repository.
* doc/contributing.texi (Debbugs User Interfaces): Use new repository URL.

Change-Id: Ieccf34be8a103740607d8c115120902dc687d4e7
2023-11-07 12:02:19 +01:00
Jaeme Sifat
0826cc8a07
doc: contributing: Replace reference to dunst.scm.
The contributing documentation makes a reference to dunst.scm as an example of
the build process failing after an update. This patch replaces that reference
with a much more permanent linux.scm.

* doc/contributing.texi: Replace reference to dunst.scm.

Change-Id: I89a4157eb253e25979bc35d6d3b12201a0d19951
Signed-off-by: Christopher Baines <mail@cbaines.net>
2023-11-05 17:57:57 +00:00
Julien Lepiller
c95104c2e9
doc: contributiong: Fix ref usage.
Previous usage renders as "see See Teams".

* doc/contributing.texi: Fix ref usage.

Change-Id: I97a91697ecb87d07cc3c962a79d87dd290a70a7c
2023-11-01 17:20:17 +01:00
Maxim Cournoyer
cbd20d6274
doc: Document Cuirass build notifications.
* doc/contributing.texi (Tracking Bugs and Changes)
<Cuirass Build Notifications>: New subsection.

Change-Id: Icead24ec18cd4511ee6217aae3c1d11ec552a9c7
Reviewed-by: Mathieu Othacehe <othacehe@gnu.org>
2023-10-23 11:42:19 -04:00
Maxim Cournoyer
8005e09b26
build: Add a commit-msg hook that embeds Change-Id in commit messages.
Partially implements <https://issues.guix.gnu.org/66027>.

This will make it possible to track a merged commit back to its original
posting on the mailing list, and open the door to new opportunities such as
closing fully merged series automatically.

* Makefile.am (COMMIT_MSG_MAGIC): New variable.
(.git/hooks/commit-msg): New target.
* etc/git/commit-msg: New file.
* doc/contributing.texi (Configuring Git): Document Change-Id.

Series-changes: 3
 - Clarify documentation text, as suggested by Simon
Change-Id: Ia92fa958eae600fdd4e180bad494c85db8bb4dd6
Reviewed-by: Simon Tournier <zimon.toutoune@gmail.com>
2023-10-22 16:09:04 -04:00
Ludovic Courtès
7b710836a1
doc: Suggest keeping record type descriptors private.
* doc/contributing.texi (Data Types and Pattern Matching): Add paragraph
about keeping RTDs private.

Suggested-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-10-05 23:14:54 +02:00
Mekeor Melire
5694352c05
doc: Update bug-reference configuration snippet.
* doc/contributing.texi (The Perfect Setup)
<Viewing Bugs within Emacs>: Make bug-reference-bug-regexp match
more URLs based on issues.guix.gnu.org.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Suggested-by: Simon Tournier <zimon.toutoune@gmail.com>
2023-10-05 13:11:46 -04:00
Ekaitz Zarraga
044a76c280
doc: contributing: Add alternative setups section.
Start with Guile Studio and Vim/NeoVim.

* doc/contributing.texi (Alternative Setups): Add section explaining
other setups that are similar to the one in The Perfect Setup.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2023-10-05 15:05:41 +03:00
Maxim Cournoyer
06dc36ffb7
doc: Update bug-reference configuration snippet.
* doc/contributing.texi (The Perfect Setup)
<Viewing Bugs within Emacs>: Properly quote Elisp functions.  Add 'require'
directives.  Set BUG-REFERENCE-URL-FORMAT so the configuration is
self-contained.

Suggested-by: Mekeor Melire <mekeor@posteo.de>
2023-09-26 14:06:04 -04:00
Maxim Cournoyer
c428246bcd
doc: Add new 'Circular Module Dependencies' section.
* doc/contributing.texi (Circular Module Dependencies): New subsection.

Series-version: 2
Series-to: 65860@debbugs.gnu.org
Patch-cc: mhw@netris.org
Cover-letter:
Resolve a circular module dependencies in embedded modules
This series is the culmination of at least a day of effort tracking down the
source of a module dependency cycle (!).  The last commit adds some guidelines
in the hope to avoid a repeat (perhaps 'lint' could be taught to
automate these checks).
END
2023-09-25 10:33:04 -04:00
Efraim Flashner
f4a0e472a9
doc: contributing: Clarify generating the pre-inst-env script.
Lack of clarity reported by lrustland on IRC.

* doc/contributing.texi (Running Guix Before It Is Installed): Refer to
the Building from Git section when giving instructions for generating
the pre-inst-env script.
2023-09-22 08:54:18 +03:00
Janneke Nieuwenhuizen
7bf12820f6
maint: Support `guix shell' in Guix's git archive with manifest.scm.
* manifest.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
* doc/contributing.texi (Building from Git): Mention using it.
2023-09-18 22:12:39 +02:00
Maxim Cournoyer
fc1b4756e3
.dir-locals.el: Update bug-reference configuration and document it.
(nil) <bug-reference-url-format>: Update URL.  Add comment.
* doc/contributing.texi (The Perfect Setup): New "Viewing bugs within Emacs"
subsection.

Co-authored-by: Brian Cully <bjc@spork.org>
2023-09-17 16:42:03 -04:00
Maxim Cournoyer
65dcfb3f38
.dir-locals: Streamline Geiser configuration.
Geiser now has support locating the project root and adding it to the load
path without external help; leverage it.

* .dir-locals.el [nil]: Remove obsolete Geiser configuration.  Set the
geiser-repl-per-project-p variable to t.
* doc/contributing.texi (The Perfect Setup): No longer mention explicitly
setting the geiser-guile-load-path; instead mention the effect of the
.dir-locals.el file.

Reported-by: Wolf <wolf@wolfsden.cz>
2023-09-06 14:16:22 -04:00
Arun Isaac
e0397faf6f
doc: Document mumi command-line interface.
* doc/contributing.texi (Debbugs User Interfaces)[Command-line interface]: New
subsubsection.  Update menus.
* doc/guix.texi: Bump copyright year.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-09-05 19:50:42 -04:00
Maxim Cournoyer
95e68c1516
doc: contributing: Mention the expected branch merge request format.
* doc/contributing.texi (Managing Patches and Branches): Mention the expected
branch merge request format.
2023-08-16 11:49:06 -04:00
Nicolas Goaziou
29cc6b1cd6
gnu: Deprecate `texlive-tiny'.
At this point, there are three equivalent TeX Live sub-systems:
texlive-scheme-basic, texlive-tiny, and (texlive-updmap.cfg).  It is confusing
to keep so many around.

* doc/contributing.texi (Submitting Patches): Remove reference to
TEXLIVE-TINY.
* gnu/packages/algebra.scm (pari-gp)[native-inputs]:
(giac)[native-inputs]:
* gnu/packages/chez.scm (chez-sockets)[native-inputs]:
* gnu/packages/engineering.scm (fastcap)[native-inputs]:
* gnu/packages/gettext.scm (po4a)[native-inputs]:
* gnu/packages/maths.scm (cddlib)[native-inputs]:
(gnuplot)[native-inputs]:
(itpp)[native-inputs]:
* gnu/packages/ocaml.scm (unison)[native-inputs]:
* gnu/packages/pdf.scm (extractpdfmark)[native-inputs]:
* gnu/packages/photo.scm (enblend-enfuse): Replace TEXLIVE-TINY with a call to TEXLIVE-UPDMAP.CFG.
* gnu/packages/radio.scm (gnuradio)[native-inputs]: Remove unnecessary
TEXLIVE-TINY.
* gnu/packages/tex.scm (texlive-tiny): Deprecate it in favor of TEXLIVE-SCHEME-BASIC.
(texlive-makecmds)[native-inputs]:  Replace TEXLIVE-TINY with a call to TEXLIVE-UPDMAP.CFG.
* guix/lint.scm (check-inputs-should-be-native): Check only for
"texlive-updmap.cfg" input name.
2023-07-18 18:16:49 +02:00
Christopher Baines
0ea096ae23
doc: Move and rewrite the branching strategy.
Move away from using staging and core-updates, and make the strategy
independant of branch names.

Keep the 300 dependent threshold for changes to master, as I don't have any
specific reason to change this.

Most importantly, require using guix-patches issues to coordinate merging of
the branches, as I think that'll address the key issues that have shown up
recently where it's been unclear which branch should be merged next.

* doc/contributing.texi (Submitting Patches): Move the branching strategy to a
new Managing Patches and Branches section.
(Managing Patches and Branches): New section.
(Commit Policy): Simplify through referencing the new Managing Patches and
Branches section.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2023-06-12 19:52:57 +01:00
Ludovic Courtès
aceb150d29
doc: Use the term "Procedure" for definitions.
In an effort to homogenize things, commit
3c40dfe285 replaced:

  @deffn {Scheme Procedure}

with:

  @defun

However, the latter prints "Function" when all existing material about
Scheme uses the term "procedure".

Thus, for consistency, this commit switches to:

  @deffn {Procedure}

* doc/guix.texi, doc/contributing.texi: Use "@deffn {Procedure}"
consistently rather than "@defun" or similar.
2023-06-08 23:29:27 +02:00
Felix Lechner
3c2f833257
doc: contributing.texi: Specify recipient via equal sign in 'git send-email --to'.
The documentation for git send-email recommends the use of an equal sign when
specifying a recipient with the --to option. [1] Adjusts the reference manual
accordingly.

[1] https://git-scm.com/docs/git-send-email

* doc (contributing.texi): Specify recipient via equal sign in
'git send-email --to'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-05-24 15:04:00 +02:00
Maxim Cournoyer
b7e7744626
Revert "doc: Update all menus."
This reverts commit 9719d7d2b0.  It breaks Guix
pull, building the 'guix-manual' for reasons that currently escape me.
2023-05-07 22:49:29 -04:00
Maxim Cournoyer
9719d7d2b0
doc: Update all menus.
Automated via 'M-x texinfo-all-menus-update' in Emacs, and dropping
the *Contributing menu removal, which is erroneously removed because defined
in a different Texinfo file.

* doc/guix.texi: Update all menus.
* doc/contributing.texi (Submitting Patches): Likewise.
2023-05-07 21:51:27 -04:00
Maxim Cournoyer
26a788ae06
doc: Add some information/recommendation regarding --sysconfdir.
* doc/contributing.texi (Building from Git): Mention sysconfdir along
localstatedir.
* doc/guix.texi (Requirements): Likewise.
2023-05-07 21:51:27 -04:00
Maxim Cournoyer
1d77fd705b
doc: Simplify contributing section by automating git configuration.
Fixes <https://issues.guix.gnu.org/58813>.  No longer suggests to splice the
output of etc/teams.scm commands into the 'git send-email' command line; this
is now transparently handled by the Git configuration, which is also
automatic.

* doc/contributing.texi (Configuring Git): Streamline section, now automated
via Automake.
(Sending a Patch Series): Do not specify options configured as default by the
above.  Prefer long option names, for readability.
(Teams): Rewrite the examples to use --header-cmd.
(Commit Access): Refer to the Configuring Git section instead of detailing
manual steps.
2023-05-01 12:39:11 -04:00
Josselin Poiret
e4f17429a6
doc: Add --sysconfdir=/etc to the recommended ./configure.
* doc/contributing.texi (Building from Git): Add --sysconfdir=/etc to the
recommended ./configure invocation.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-04-30 23:11:12 +02:00
Maxim Cournoyer
52d373dfef
doc: Add a reference to a page explaining consensus decision making.
This is to make explicit something which until now had always been implicit.

* doc/contributing.texi (Commit Access): Mention that committers are expected
to employ consensus decision making.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2023-04-03 15:41:41 -04:00
Maxim Cournoyer
f9ceb205f5
doc: Mention Python 2 packages should not be added anymore.
* doc/contributing.texi (Python Modules): Mention Python 2 packages should not
be added anymore.
2023-03-23 22:15:27 -04:00
Hugo Buddelmeijer
bc876cf08e
doc: Sending-a-Patch-Series: Fix URL.
* doc/contributing.texi (Sending a Patch Series): Fix URL for issue tracker.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-10 14:49:58 +01:00
Leo Famulari
a66438e497
doc: Give advice to contributors about communicating with reviewers.
* doc/contributing.texi (Submitting Patches): Give advice.
2023-03-05 14:58:56 -05:00
(
09cd488c97
doc: contributing: Note '-v REVISION' bug in 'git send-email'.
* doc/contributing.texi ("Submitting Patches")["Sending a Patch Series"]:
Note that a bug in 'git send-email' means '-v REVISION' (with a
space) will not work.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2023-01-11 10:31:58 +00:00
Christopher Baines
9aa2b74198
doc: contributing: Tweak the Commit Policy.
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>
2023-01-11 10:31:55 +00:00