2012-10-25 23:44:27 +02:00
|
|
|
|
-*- mode: org; coding: utf-8; -*-
|
|
|
|
|
|
2013-01-17 23:53:29 +01:00
|
|
|
|
#+TITLE: Hacking GNU Guix and Its Incredible Distro
|
2012-10-25 23:44:27 +02:00
|
|
|
|
|
2019-02-11 22:39:12 +01:00
|
|
|
|
Copyright © 2012, 2013, 2014, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
|
2017-01-29 19:16:30 +01:00
|
|
|
|
Copyright © 2015, 2017 Mathieu Lirzin <mthl@gnu.org>
|
2017-01-03 07:19:25 +01:00
|
|
|
|
Copyright © 2017 Leo Famulari <leo@famulari.name>
|
2017-08-18 21:39:18 +02:00
|
|
|
|
Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
|
2012-10-25 23:44:27 +02:00
|
|
|
|
|
|
|
|
|
Copying and distribution of this file, with or without modification,
|
|
|
|
|
are permitted in any medium without royalty provided the copyright
|
|
|
|
|
notice and this notice are preserved.
|
|
|
|
|
|
2015-06-10 13:39:54 +02:00
|
|
|
|
* Contributing
|
2012-10-25 23:44:27 +02:00
|
|
|
|
|
2015-06-10 13:39:54 +02:00
|
|
|
|
See the manual for useful hacking informations, either by running
|
2013-07-13 22:55:36 +02:00
|
|
|
|
|
2017-01-29 19:16:30 +01:00
|
|
|
|
info -f doc/guix.info "Contributing"
|
2013-07-19 00:07:03 +02:00
|
|
|
|
|
2015-06-10 13:39:54 +02:00
|
|
|
|
or by checking the [[http://www.gnu.org/software/guix/manual/guix.html#Contributing][web copy of the manual]].
|
2013-08-30 23:46:58 +02:00
|
|
|
|
|
2013-06-04 10:29:57 +02:00
|
|
|
|
* Commit Access
|
|
|
|
|
|
|
|
|
|
For frequent contributors, having write access to the repository is
|
|
|
|
|
convenient. When you deem it necessary, feel free to ask for it on the
|
|
|
|
|
mailing list. When you get commit access, please make sure to follow the
|
2013-08-26 22:23:53 +02:00
|
|
|
|
policy below (discussions of the policy can take place on guix-devel@gnu.org.)
|
2013-06-04 10:29:57 +02:00
|
|
|
|
|
2017-03-15 09:27:34 +01:00
|
|
|
|
Non-trivial patches should always be posted to guix-patches@gnu.org (trivial
|
2018-07-21 22:32:24 +02:00
|
|
|
|
patches include fixing typos, etc.). This mailing list fills the
|
2017-03-15 09:27:34 +01:00
|
|
|
|
patch-tracking database at [[https://bugs.gnu.org/guix-patches]]; see
|
|
|
|
|
"Contributing" in the manual for details.
|
2013-06-04 10:29:57 +02:00
|
|
|
|
|
|
|
|
|
For patches that just add a new package, and a simple one, it’s OK to commit,
|
2013-06-10 00:00:33 +02:00
|
|
|
|
if you’re confident (which means you successfully built it in a chroot setup,
|
|
|
|
|
and have done a reasonable copyright and license auditing.) Likewise for
|
2014-05-11 12:11:09 +02:00
|
|
|
|
package upgrades, except upgrades that trigger a lot of rebuilds (for example,
|
|
|
|
|
upgrading GnuTLS or GLib.) We have a mailing list for commit notifications
|
2013-06-10 00:00:33 +02:00
|
|
|
|
(guix-commits@gnu.org), so people can notice. Before pushing your changes,
|
|
|
|
|
make sure to run ‘git pull --rebase’.
|
2013-06-04 10:29:57 +02:00
|
|
|
|
|
2016-07-23 12:48:51 +02:00
|
|
|
|
All commits that are pushed to the central repository on Savannah must be
|
|
|
|
|
signed with an OpenPGP key, and the public key should be uploaded to your user
|
2019-02-11 22:39:12 +01:00
|
|
|
|
account on Savannah and to public key servers, such as
|
|
|
|
|
‘pool.sks-keyservers.net’. To configure Git to automatically sign commits,
|
|
|
|
|
run:
|
2016-07-23 12:48:51 +02:00
|
|
|
|
|
|
|
|
|
git config commit.gpgsign true
|
|
|
|
|
git config user.signingkey CABBA6EA1DC0FF33
|
2016-07-05 20:29:56 +02:00
|
|
|
|
|
2017-03-26 23:16:13 +02:00
|
|
|
|
You can prevent yourself from accidentally pushing unsigned commits to
|
|
|
|
|
Savannah by using the pre-push Git hook called located at ‘etc/git/pre-push’:
|
|
|
|
|
|
|
|
|
|
cp etc/git/pre-push .git/hooks/pre-push
|
2017-01-03 07:19:25 +01:00
|
|
|
|
|
2017-03-21 22:11:23 +01:00
|
|
|
|
When pushing a commit on behalf of somebody else, please add a Signed-off-by
|
|
|
|
|
line at the end of the commit log message (e.g. with ‘git am --signoff’).
|
|
|
|
|
This improves tracking of who did what.
|
|
|
|
|
|
2017-03-15 09:27:34 +01:00
|
|
|
|
For anything else, please post to guix-patches@gnu.org and leave time for a
|
2013-06-04 10:29:57 +02:00
|
|
|
|
review, without committing anything. If you didn’t receive any reply
|
|
|
|
|
after two weeks, and if you’re confident, it’s OK to commit.
|
|
|
|
|
|
|
|
|
|
That last part is subject to being adjusted, allowing individuals to commit
|
|
|
|
|
directly on non-controversial changes on parts they’re familiar with.
|
2017-08-18 21:39:18 +02:00
|
|
|
|
|
|
|
|
|
* Using emacs-debbugs
|
|
|
|
|
|
|
|
|
|
Bug reports and patches are tracked using debbugs. If you are on emacs, you
|
|
|
|
|
can use emacs-debbugs.
|
|
|
|
|
|
|
|
|
|
List all open bug reports on guix-patches with
|
|
|
|
|
|
|
|
|
|
C-u M-x debbugs-gnu <RET> <RET> guix-patches <RET> n y
|