guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: v2: A proposal of a consistent set of clear rules and guidelines inv


From: david larsson
Subject: Re: v2: A proposal of a consistent set of clear rules and guidelines involving snippets, phases and patches.
Date: Tue, 09 Aug 2022 20:58:38 +0200

On 2022-08-05 15:59, Maxime Devos wrote:

[..]


20.4.5.3 Fixing technical issues (compilation errors, test failures,
other bugs ...)

Usually, a bug fix comes in the form of a patch copied from upstream
or another distribution. In that case, simply adding the patch to the
'patches' field is the most convenient and usually does not cause any
problems; there is no need to rewrite it as a snippet or a phase.

If no ready-made patch already exists, then choosing between a patch
or a snippet is a matter of convenience. However, there are two things
to keep in mind:

First, when the fix is not Guix-specific, it is strongly desired to
upstream the fix to avoid the additional maintenance cost to Guix. As
upstreams cannot accept a snippet, writing a patch can be a more
efficient use of time. Secondly, if the fix of a technical issue
embeds a store file name, then it has to be a phase. Otherwise, if a
store file name was embedded in the source, the result of 'guix build
--source' would be unusable on non-Guix systems and likely also
unusable on Guix systems of another architecture.

There may be other reasons to add patches:

1. Functionality, that is not yet accepted upstream, because maintainer(s) do not have enough time to review all pull requests, or are simply slow to review. "if no response within X time from upstream, then guix may include your patch" might be a good policy here.

2. Bug fixes - as you mentioned - for such, it might be good with a: "if no response within X time from upstream, then guix may include your bug-fix patch".

3. Unmaintained projects - sometimes there are packages that are nice to include but which may no longer be maintained by upstream, and a few patches could still make the package usable and nice to have for Guix users. IMO such packages should generally be accepted, including minor patches that enhances the package. Examples would include guile-bash, and maybe emacs-company-tern (not in guix, but might be nice to have). There are probably more examples.

Im not a guix maintainer, so maintaining above varieties of patches might not be feasible, but there are potential benefits, like maybe guix is just "nicer" than other distros because of it. Or it might have the opposite effect if the maintenance burden is too high. Guix should spread more to mainstream IMO, and being able accept patches that are "nice", would benefit that purpose.

Best regards,
David



reply via email to

[Prev in Thread] Current Thread [Next in Thread]