|
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
[Prev in Thread] | Current Thread | [Next in Thread] |