From 189b1543cbc2db50e6dd309e84bce4eb503f0493 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 28 Jul 2016 15:24:37 +0200 Subject: doc: Mention separate branch for packages with many dependents. Suggested by ng0 . * doc/contributing.texi (Submitting Patches): Add note on packages with more than 100 dependents. --- doc/contributing.texi | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'doc') diff --git a/doc/contributing.texi b/doc/contributing.texi index c0755bb895..6496e10a14 100644 --- a/doc/contributing.texi +++ b/doc/contributing.texi @@ -300,6 +300,13 @@ For important changes, check that dependent package (if applicable) are not affected by the change; @code{guix refresh --list-dependent @var{package}} will help you do that (@pxref{Invoking guix refresh}). +Packages with roughly 100 dependents or more usually have to be +committed to a separate branch. That branch can then be built +separately by our build farm, and later merged into @code{master} once +everything has been successfully built. This allows us to fix issues +before they hit users, and to reduce the window during which pre-built +binaries are not available. + @item @cindex determinism, of build processes @cindex reproducible builds, checking -- cgit v1.2.3 From 3a78fab83dd5faa80d8eecd792f40dde6e334c7c Mon Sep 17 00:00:00 2001 From: ng0 Date: Thu, 21 Jul 2016 18:05:30 +0000 Subject: doc: Send changes in your patch which are related. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * doc/contributing.texi (Submitting Patches): New @item: This gives information about sending related changes and examples on what we view as related changes. Co-authored-by: Ludovic Courtès --- doc/contributing.texi | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'doc') diff --git a/doc/contributing.texi b/doc/contributing.texi index 6496e10a14..a3684a5e1d 100644 --- a/doc/contributing.texi +++ b/doc/contributing.texi @@ -340,6 +340,13 @@ referring to people, such as @uref{https://en.wikipedia.org/wiki/Singular_they, singular ``they''@comma{} ``their''@comma{} ``them''}, and so forth. +@item +Verify that your patch contains only one set of related changes. +Bundling unrelated changes together makes reviewing harder and slower. + +Examples of unrelated changes include the addition of several packages, +or a package update along with fixes to that package. + @end enumerate When posting a patch to the mailing list, use @samp{[PATCH] @dots{}} as -- cgit v1.2.3 From d222522edf70cdac6cee7b4ab8fa1bfbf0a7ba9c Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 28 Jul 2016 15:41:00 +0200 Subject: doc: Discourage software bundling. Fixes . Suggested by ng0 . * doc/contributing.texi (Submitting Patches): Add item about bundling. --- doc/contributing.texi | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'doc') diff --git a/doc/contributing.texi b/doc/contributing.texi index a3684a5e1d..18d891db4e 100644 --- a/doc/contributing.texi +++ b/doc/contributing.texi @@ -288,6 +288,20 @@ name of the new or modified package, and fix any errors it reports Make sure the package builds on your platform, using @code{guix build @var{package}}. +@item +@cindex bundling +Make sure the package does not use bundled copies of software already +available as separate packages. + +Sometimes, packages include copies of the source code of their +dependencies as a convenience for users. However, as a distribution, we +want to make sure that such packages end up using the copy we already +have in the distribution, if there is one. This improves resource usage +(the dependency is built and stored only once), and allows the +distribution to make transverse changes such as applying security +updates for a given software package in a single place and have them +affect the whole system---something that bundled copies prevent. + @item Take a look at the profile reported by @command{guix size} (@pxref{Invoking guix size}). This will allow you to notice references -- cgit v1.2.3