[opensuse-packaging] uncertainties about patch packaging
Hi all, there are some minor issues with: https://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Firstly, it does not document the exact format I should use in the .changes entry. The "Patch life cycle" section says: Any of those stages needs to be mentioned in the .changes file, including the file name of the patch. For example: * Add package-awesomeness.patch: Makes package awesome ... but an example is not sufficient to document a format. It's not clear whether documenting movement through the patch cycle in the .changes file is supposed to be machine-parseable, or just readable by humans. Either way, the requirements for conformity need to be more explicit. It's also unclear how I should add a line # PATCH-FIX-OPENSUSE fix-for-opensuse-specific-things.patch bnc#123456 when there is no bnc entry. If it's OK to omit the bnc# field, the page should say that. Or if it's not, the page should explicitly say that a bugzilla entry should be filed if one doesn't already exist. Finally, the page is entitled 'guidelines', but if non-conformance is grounds for rejecting a submitreq, I think 'guidelines' is too weak and it really should be labelled as a 'policy'. Thanks! Adam -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On Monday 2013-05-06 11:21, Adam Spiers wrote:
Firstly, it does not document the exact format I should use in the .changes entry. The "Patch life cycle" section says:
Any of those stages needs to be mentioned in the .changes file, including the file name of the patch. For example:
* Add package-awesomeness.patch: Makes package awesome
... but an example is not sufficient to document a format. It's not clear whether documenting movement through the patch cycle in the .changes file is supposed to be machine-parseable, or just readable by humans.
Just humanly parsable. Machines can simply scan through the OBS log and detect addition/deletion of the file and its status by way of looking at the Type 2 metadata.
It's also unclear how I should add a line
# PATCH-FIX-OPENSUSE fix-for-opensuse-specific-things.patch bnc#123456
when there is no bnc entry.
There is not much else besides leaving out the bnc# you could do. (You can edit the page.)
If it's OK to omit the bnc# field, the page should say that. Or if it's not, the page should explicitly say that a bugzilla entry should be filed if one doesn't already exist.
Finally, the page is entitled 'guidelines', but if non-conformance is grounds for rejecting a submitreq, I think 'guidelines' is too weak and it really should be labelled as a 'policy'.
A guideline for package maintainers, who choose to make a policy out of it for other submitters :) -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
Jan Engelhardt (jengelh@inai.de) wrote:
On Monday 2013-05-06 11:21, Adam Spiers wrote:
Firstly, it does not document the exact format I should use in the .changes entry. The "Patch life cycle" section says:
Any of those stages needs to be mentioned in the .changes file, including the file name of the patch. For example:
* Add package-awesomeness.patch: Makes package awesome
... but an example is not sufficient to document a format. It's not clear whether documenting movement through the patch cycle in the .changes file is supposed to be machine-parseable, or just readable by humans.
Just humanly parsable. Machines can simply scan through the OBS log and detect addition/deletion of the file and its status by way of looking at the Type 2 metadata.
OK, I tweaked the page for that.
It's also unclear how I should add a line
# PATCH-FIX-OPENSUSE fix-for-opensuse-specific-things.patch bnc#123456
when there is no bnc entry.
There is not much else besides leaving out the bnc# you could do.
Like I said, the alternative is to explicitly require a bugzilla entry should be filed if one doesn't already exist. So you are saying that it is better to leave out the bnc# ? Or are there some circumstances in which it is better to file a bnc?
(You can edit the page.)
Not until I know what the correct policy is :)
Finally, the page is entitled 'guidelines', but if non-conformance is grounds for rejecting a submitreq, I think 'guidelines' is too weak and it really should be labelled as a 'policy'.
A guideline for package maintainers, who choose to make a policy out of it for other submitters :)
In that case the page should say something like: This page gives guidelines for managing the life cycle of patches to packages. Each project/package maintainer is free to adopt their own policy regarding how strictly they require submissions to adhere to these guidelines, so non-conforming submitrequests will be tolerated to different degrees based on the context. Is that OK? -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
Quoting Adam Spiers
It's also unclear how I should add a line
# PATCH-FIX-OPENSUSE fix-for-opensuse-specific-things.patch bnc#123456
when there is no bnc entry.
There is not much else besides leaving out the bnc# you could do.
Like I said, the alternative is to explicitly require a bugzilla entry should be filed if one doesn't already exist. So you are saying that it is better to leave out the bnc# ? Or are there some circumstances in which it is better to file a bnc?
Preferably there is a bnc (or an upstream bug tracker reference). There are cases where this does not make sense (e.g. when you backport a git commited fix to a package, and that did not have a bug report assigned; creating one for the sake of the ID is useless). There is an exception to this statement: in case of maintenance updates for released products, a BNC# entry is absolutely mandatory (less in the patch tag than in .changes file). so I would say: always add an entry if it makes sense.. for good reasons, you're allowed to omit it.
This page gives guidelines for managing the life cycle of patches to packages. Each project/package maintainer is free to adopt their own policy regarding how strictly they require submissions to adhere to these guidelines, so non-conforming submitrequests will be tolerated to different degrees based on the context.
Not entirely: Factory uses this guideline. Strictly; so if your package goes to a devel project where it's not enforced, the package will not manage to enter Factory. Of course, if the package is not destined for Factory, none of the guidelines really apply... ever... Dominique -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
Dominique Leuenberger a.k.a. Dimstar (dimstar@opensuse.org) wrote:
Quoting Adam Spiers
: It's also unclear how I should add a line
# PATCH-FIX-OPENSUSE fix-for-opensuse-specific-things.patch bnc#123456
when there is no bnc entry.
There is not much else besides leaving out the bnc# you could do.
Like I said, the alternative is to explicitly require a bugzilla entry should be filed if one doesn't already exist. So you are saying that it is better to leave out the bnc# ? Or are there some circumstances in which it is better to file a bnc?
Preferably there is a bnc (or an upstream bug tracker reference). There are cases where this does not make sense (e.g. when you backport a git commited fix to a package, and that did not have a bug report assigned; creating one for the sake of the ID is useless).
The case I encountered is where there was only a patch and a bug filed in another distribution (Arch), not upstream.
There is an exception to this statement: in case of maintenance updates for released products, a BNC# entry is absolutely mandatory (less in the patch tag than in .changes file).
so I would say: always add an entry if it makes sense.. for good reasons, you're allowed to omit it.
This page gives guidelines for managing the life cycle of patches to packages. Each project/package maintainer is free to adopt their own policy regarding how strictly they require submissions to adhere to these guidelines, so non-conforming submitrequests will be tolerated to different degrees based on the context.
Not entirely: Factory uses this guideline. Strictly; so if your package goes to a devel project where it's not enforced, the package will not manage to enter Factory. Of course, if the package is not destined for Factory, none of the guidelines really apply... ever...
Thanks, this is all very useful information. But it also confirms that a) there is essential information missing from the wiki page, and b) I am not yet knowledgeable enough in this area to fix that. So I would much prefer if you could correct the wiki page rather than posting the information here, where it will rapidly get forgotten about / buried in the list archives ... -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
Quoting Adam Spiers
Preferably there is a bnc (or an upstream bug tracker reference). There are cases where this does not make sense (e.g. when you backport a git commited fix to a package, and that did not have a bug report assigned; creating one for the sake of the ID is useless).
The case I encountered is where there was only a patch and a bug filed in another distribution (Arch), not upstream.
An interesting case and unfortunately something I see a lot with other dists: they often do not care to forward patches to upstream. If the bug is real, and upstream is alive and kicking, I would recommend to file a bug in the upstream tracker of the respective project and make sure they are aware of this.. this is a simple responsibility I derive from GPL :) (ok, the GPL asks us to distribute the sources of the modification.. I favor that such modifications flow back into the upstream code base whenever they make sense).
Thanks, this is all very useful information. But it also confirms that a) there is essential information missing from the wiki page, and b) I am not yet knowledgeable enough in this area to fix that. So I would much prefer if you could correct the wiki page rather than posting the information here, where it will rapidly get forgotten about / buried in the list archives ...
I generally have a huge pain writing wiki pages that make sense to others than myself :( As can be seen in the paragraphs cited by you :) Any volunteers to help out here? Dominique -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On Monday 2013-05-06 12:48, Dominique Leuenberger a.k.a. Dimstar wrote:
Thanks, this is all very useful information. But it also confirms that a) there is essential information missing from the wiki page, and b) I am not yet knowledgeable enough in this area to fix that. So I would much prefer if you could correct the wiki page rather than posting the information here, where it will rapidly get forgotten about / buried in the list archives ...
I generally have a huge pain writing wiki pages that make sense to others than myself :( As can be seen in the paragraphs cited by you :) Any volunteers to help out here?
Oh, if you write some starting text, I feel the urge to correct and expand on it! -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
Dominique Leuenberger a.k.a. Dimstar (dimstar@opensuse.org) wrote:
Quoting Adam Spiers
: Preferably there is a bnc (or an upstream bug tracker reference). There are cases where this does not make sense (e.g. when you backport a git commited fix to a package, and that did not have a bug report assigned; creating one for the sake of the ID is useless).
The case I encountered is where there was only a patch and a bug filed in another distribution (Arch), not upstream.
An interesting case and unfortunately something I see a lot with other dists: they often do not care to forward patches to upstream. If the bug is real, and upstream is alive and kicking, I would recommend to file a bug in the upstream tracker of the respective project and make sure they are aware of this.. this is a simple responsibility I derive from GPL :) (ok, the GPL asks us to distribute the sources of the modification.. I favor that such modifications flow back into the upstream code base whenever they make sense).
Yeah, I absolutely agree about adhering to the spirit of the GPL, not just the letter. In my case, IIRC the bug was already fixed upstream in git, but only filed downstream in Arch.
Thanks, this is all very useful information. But it also confirms that a) there is essential information missing from the wiki page, and b) I am not yet knowledgeable enough in this area to fix that. So I would much prefer if you could correct the wiki page rather than posting the information here, where it will rapidly get forgotten about / buried in the list archives ...
I generally have a huge pain writing wiki pages that make sense to others than myself :( As can be seen in the paragraphs cited by you :)
:) I think you are too hard on yourself. The existing paragraphs are perfectly understandable; they just had a few small holes due to missing information IMHO. As a native English speaker I am always happy to tweak wording where I see the opportunity to help clarify things. But I struggle to create new material in an area where I am not an expert :) Thanks! -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On Monday 2013-05-06 12:44, Adam Spiers wrote:
It's also unclear how I should add a line
# PATCH-FIX-OPENSUSE fix-for-opensuse-specific-things.patch bnc#123456
when there is no bnc entry.
There is not much else besides leaving out the bnc# you could do.
Like I said, the alternative is to explicitly require a bugzilla entry should be filed if one doesn't already exist. So you are saying that it is better to leave out the bnc# ? Or are there some circumstances in which it is better to file a bnc?
Patches come and go like socks. Nobody really wants a bugzilla entry for each and every one. Especially since Firefox is so slow on Atom-class..
A guideline for package maintainers, who choose to make a policy out of it for other submitters :)
In that case the page should say something like:
This page gives guidelines for managing the life cycle of patches to packages. Each project/package maintainer is free to adopt their own policy regarding how strictly they require submissions to adhere to these guidelines, so non-conforming submitrequests will be tolerated to different degrees based on the context.
Is that OK?
Yes, that essentially reflects what is being practiced. -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
Adam Spiers
It's also unclear how I should add a line
# PATCH-FIX-OPENSUSE fix-for-opensuse-specific-things.patch bnc#123456
when there is no bnc entry. If it's OK to omit the bnc# field, the page should say that. Or if it's not, the page should explicitly say that a bugzilla entry should be filed if one doesn't already exist.
For SRs to devel project or factory a bnc is not required on new patches . For patches to released packages that will go out as updates, they should be required. I don't know if that is enforced by the maintenance/security team in the specfile, but it is in the changes file. (Ie. All post release updates require a bnc entry in the changes file.) Greg -- Sent from my Android phone with K-9 Mail. Please excuse my brevity. -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
Greg Freemyer (greg.freemyer@gmail.com) wrote:
Adam Spiers
wrote: <snip> It's also unclear how I should add a line
# PATCH-FIX-OPENSUSE fix-for-opensuse-specific-things.patch bnc#123456
when there is no bnc entry. If it's OK to omit the bnc# field, the page should say that. Or if it's not, the page should explicitly say that a bugzilla entry should be filed if one doesn't already exist.
For SRs to devel project or factory a bnc is not required on new patches . For patches to released packages that will go out as updates, they should be required. I don't know if that is enforced by the maintenance/security team in the specfile, but it is in the changes file. (Ie. All post release updates require a bnc entry in the changes file.)
Many thanks for the info but again I think it would be more useful if people spent the time improving the wiki pages for this rather than giving the information in this thread where its life span is very low. -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On Mon, May 6, 2013 at 7:26 AM, Adam Spiers
Greg Freemyer (greg.freemyer@gmail.com) wrote:
Adam Spiers
wrote: <snip> It's also unclear how I should add a line
# PATCH-FIX-OPENSUSE fix-for-opensuse-specific-things.patch bnc#123456
when there is no bnc entry. If it's OK to omit the bnc# field, the page should say that. Or if it's not, the page should explicitly say that a bugzilla entry should be filed if one doesn't already exist.
For SRs to devel project or factory a bnc is not required on new patches . For patches to released packages that will go out as updates, they should be required. I don't know if that is enforced by the maintenance/security team in the specfile, but it is in the changes file. (Ie. All post release updates require a bnc entry in the changes file.)
Many thanks for the info but again I think it would be more useful if people spent the time improving the wiki pages for this rather than giving the information in this thread where its life span is very low.
I updated: === # PATCH-{FIX|FEATURE}-{OPENSUSE|SLE|UPSTREAM} ''name-of-file.patch'' bnc#<VAR >[0-9]*</VAR > <VAR >you</VAR >@<VAR >example.com</VAR > -- ''this patch makes things totally awesome'' If there are related bugs in [http://bugzilla.novell.com Novell] or other bugzillas, please add them, it will help us to get more accurate information. If there are two or more available then it's preferable to list both (or more). === To have this additional paragraph: In general, if a patch is only destined to home/devel/factory projects a bugzilla entry is not required on new patches. For patches to released packages that will go out as updates, a bugzilla entry and reference is required as is a reference to the BNC# in the changes file. --- Again I don't know for sure it is required on updates, but since a bugzilla entry is already required I can't think of any good reason not to add a BNC reference to the end of the patch description line. IF there really are projects that require a BNC for new patches, then the above could be extended to say that. Greg -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On Monday 2013-05-06 18:18, Greg Freemyer wrote:
To have this additional paragraph:
In general, if a patch is only destined to home/devel/factory projects a bugzilla entry is not required on new patches. For patches to released packages that will go out as updates, a bugzilla entry and reference is required as is a reference to the BNC# in the changes file.
--- Again I don't know for sure it is required on updates, but since a bugzilla entry is already required I can't think of any good reason not to add a BNC reference to the end of the patch description line.
IF there really are projects that require a BNC for new patches, then the above could be extended to say that.
As has already been said elsewhere in this thread, the Update Procedure BNC Entry is for the *update as a whole* and belongs into .changes, not so much to a single patch. Of course, the two may coincide if a *preexisting* BNC Entry with a bugfix gets subsequently reused as a reference to use in the Maintenance Update Process. -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On Mon, May 6, 2013 at 12:29 PM, Jan Engelhardt
On Monday 2013-05-06 18:18, Greg Freemyer wrote:
To have this additional paragraph:
In general, if a patch is only destined to home/devel/factory projects a bugzilla entry is not required on new patches. For patches to released packages that will go out as updates, a bugzilla entry and reference is required as is a reference to the BNC# in the changes file.
--- Again I don't know for sure it is required on updates, but since a bugzilla entry is already required I can't think of any good reason not to add a BNC reference to the end of the patch description line.
IF there really are projects that require a BNC for new patches, then the above could be extended to say that.
As has already been said elsewhere in this thread, the Update Procedure BNC Entry is for the *update as a whole* and belongs into .changes, not so much to a single patch.
Of course, the two may coincide if a *preexisting* BNC Entry with a bugfix gets subsequently reused as a reference to use in the Maintenance Update Process.
Revised to say: In general, the bugzilla field is not required on new patches. For patches to released packages that will go out as updates, a bugzilla entry (BNC#) for the overall update in the changes file is required. If appropriate, the patch description should also include it. The primary use case of the patch field should be references to upstream bug trackers in case of PATCH-*-UPSTREAM patches, such patches should be submitted upstream first and then referenced in the patch tag. That helps a lot to keep track of patches, it makes it easy to determine which patches are still needed on version updates if upstream references the bug numbers in their changelog or release notes. Of course if there is already a corresponding bnc# bug open it should be referenced as well. -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
* Greg Freemyer
On Mon, May 6, 2013 at 7:26 AM, Adam Spiers
wrote: Greg Freemyer (greg.freemyer@gmail.com) wrote:
Adam Spiers
wrote: <snip> It's also unclear how I should add a line
# PATCH-FIX-OPENSUSE fix-for-opensuse-specific-things.patch bnc#123456
when there is no bnc entry. If it's OK to omit the bnc# field, the page should say that. Or if it's not, the page should explicitly say that a bugzilla entry should be filed if one doesn't already exist.
For SRs to devel project or factory a bnc is not required on new patches . For patches to released packages that will go out as updates, they should be required. I don't know if that is enforced by the maintenance/security team in the specfile, but it is in the changes file. (Ie. All post release updates require a bnc entry in the changes file.)
Many thanks for the info but again I think it would be more useful if people spent the time improving the wiki pages for this rather than giving the information in this thread where its life span is very low.
I updated: === # PATCH-{FIX|FEATURE}-{OPENSUSE|SLE|UPSTREAM} ''name-of-file.patch'' bnc#<VAR >[0-9]*</VAR > <VAR >you</VAR >@<VAR >example.com</VAR > -- ''this patch makes things totally awesome'' If there are related bugs in [http://bugzilla.novell.com Novell] or other bugzillas, please add them, it will help us to get more accurate information. If there are two or more available then it's preferable to list both (or more). ===
To have this additional paragraph:
In general, if a patch is only destined to home/devel/factory projects a bugzilla entry is not required on new patches. For patches to released packages that will go out as updates, a bugzilla entry and reference is required as is a reference to the BNC# in the changes file.
---
The primary use case of the patch field should be references to *upstream* bug trackers in case of PATCH-*-UPSTREAM patches, such patches should be submitted upstream first and then referenced in the patch tag. That helps a lot to keep track of patches, e.g. I have a script that generates a HTML report from patch tags to help me keep track of submitted patches, furthermore it makes it easy to determine which patches are still needed on version updates if upstream references the bug numbers in their changelog or release notes. Of course if there is already a corresponding bnc# bug open it should be referenced as well. -- Guido Berhoerster -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On 05/06/2013 11:21 AM, Adam Spiers wrote:
Hi all, there are some minor issues with:
https://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Firstly, it does not document the exact format I should use in the .changes entry. The "Patch life cycle" section says:
Any of those stages needs to be mentioned in the .changes file, including the file name of the patch. For example:
* Add package-awesomeness.patch: Makes package awesome
... but an example is not sufficient to document a format. It's not clear whether documenting movement through the patch cycle in the .changes file is supposed to be machine-parseable, or just readable by humans. Either way, the requirements for conformity need to be more explicit.
It's also unclear how I should add a line
# PATCH-FIX-OPENSUSE fix-for-opensuse-specific-things.patch bnc#123456
when there is no bnc entry. If it's OK to omit the bnc# field, the page should say that. Or if it's not, the page should explicitly say that a bugzilla entry should be filed if one doesn't already exist.
Finally, the page is entitled 'guidelines', but if non-conformance is grounds for rejecting a submitreq, I think 'guidelines' is too weak and it really should be labelled as a 'policy'.
To my knowledge as a review team member, the patch markup guideline is not mandatory. It is recommended in general and several openSUSE projects and packagers follow it but it is not a decline reason. And you are absolutely right that it is not complete yet. The current state is a result of good practice from the Gnome team. Still there's a lot to clarify, so thank you for starting this thread. -- With kind regards, Sascha Peilicke SUSE Linux GmbH, Maxfeldstr. 5, D-90409 Nuernberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer HRB 16746 (AG Nürnberg) -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
Quoting Sascha Peilicke
To my knowledge as a review team member, the patch markup guideline is not mandatory. It is recommended in general and several openSUSE projects and packagers follow it but it is not a decline reason.
True.. the markup is not mandatory in Factory.. several devel projects do have it as mandatory.. BUT: The patch lifecycle in .changes IS mandatory (which was also mentioned in this thread) Dominique -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
participants (6)
-
Adam Spiers
-
Dominique Leuenberger a.k.a. Dimstar
-
Greg Freemyer
-
Guido Berhoerster
-
Jan Engelhardt
-
Sascha Peilicke