| 30 |
information about them (their origin/author, if they have been forwarded |
information about them (their origin/author, if they have been forwarded |
| 31 |
upstream, if they are meant to be debian specific or not, etc.). Thus the |
upstream, if they are meant to be debian specific or not, etc.). Thus the |
| 32 |
first step is to include those information in the patches when they are |
first step is to include those information in the patches when they are |
| 33 |
available so that tools like http://patch-tracking.debian.net can display |
available so that tools like the [Patch Tracking |
| 34 |
them. |
System](http://patch-tracking.debian.net) can display them. |
| 35 |
|
|
| 36 |
|
|
| 37 |
Structure |
Structure |
| 43 |
For patch-systems like dpatch that require the patch to be a standalone |
For patch-systems like dpatch that require the patch to be a standalone |
| 44 |
script, the shebang line is ignored and it is possible to put those fields |
script, the shebang line is ignored and it is possible to put those fields |
| 45 |
in comments. The line should then follow the format "`# <field>`". For |
in comments. The line should then follow the format "`# <field>`". For |
| 46 |
multi-line fields, the subsequent lines should start with "`# `" so that |
multi-line fields, the subsequent lines should start with |
| 47 |
they start with a space once "`# `" has been stripped from the beginning. |
"`#` " (dash followed by two spaces) so that |
| 48 |
|
they start with a space once "`#` " (dash followed by a space) has been |
| 49 |
|
stripped from the beginning. |
| 50 |
|
|
| 51 |
|
|
| 52 |
Standard fields |
Standard fields |
| 56 |
of any other distribution that tracks the same problem/patch. |
of any other distribution that tracks the same problem/patch. |
| 57 |
|
|
| 58 |
* `Description` (required) |
* `Description` (required) |
| 59 |
|
|
| 60 |
This obligatory field contains at least a short description on the |
This obligatory field contains at least a short description on the |
| 61 |
first line. Supplementary lines can be used to provide a longer |
first line. Supplementary lines can be used to provide a longer |
| 62 |
explanation of the patch. |
explanation of the patch. |
| 63 |
|
|
| 64 |
* `Origin` (required) |
* `Origin` (required) |
| 65 |
|
|
| 66 |
This field should document the origin of the patch. It can have the |
This field should document the origin of the patch. It can have the |
| 67 |
following standard values: "upstream" (in the case of a patch cherry-picked |
following standard values: "upstream" (in the case of a patch cherry-picked |
| 68 |
from the upstream VCS), "backport" (in the case of an upstream patch |
from the upstream VCS), "backport" (in the case of an upstream patch |
| 71 |
patch. It should typically be the name and email of the patch author |
patch. It should typically be the name and email of the patch author |
| 72 |
(ex: "`John Bear <foo@bar.net>`") or the project/company that she worked |
(ex: "`John Bear <foo@bar.net>`") or the project/company that she worked |
| 73 |
for when she authored the patch. |
for when she authored the patch. |
| 74 |
|
|
| 75 |
* `Bug-<Vendor>` or `Bug` (optional) |
* `Bug-<Vendor>` or `Bug` (optional) |
| 76 |
|
|
| 77 |
It contains one or more URLs (space separated) pointing to the related bugs |
It contains one or more URLs (space separated) pointing to the related bugs |
| 78 |
(possibly fixed by the patch). The `Bug` field is reserved |
(possibly fixed by the patch). The `Bug` field is reserved |
| 79 |
for the bug URL(s) in the upstream bug tracker. |
for the bug URL(s) in the upstream bug tracker. |
| 80 |
|
|
| 81 |
* `Patch` (optional) |
* `Patch` (optional) |
| 82 |
|
|
| 83 |
URL pointing to the patch. It can be in a VCS web interface, |
URL pointing to the patch. It can be in a VCS web interface, |
| 84 |
a BTS attachment, etc. If the patch is available in the upstream VCS |
a BTS attachment, etc. If the patch is available in the upstream VCS |
| 85 |
or BTS, those URLs take precedence. |
or BTS, those URLs take precedence. |
| 86 |
|
|
| 87 |
* `Commit` (optional) |
* `Commit` (optional) |
| 88 |
|
|
| 89 |
One or more commit identifiers. This should only be used when the |
One or more commit identifiers. This should only be used when the |
| 90 |
`Patch` field can't be used because the upstream project has no VCS web |
`Patch` field can't be used because the upstream project has no VCS web |
| 91 |
interface or similar restrictions. |
interface or similar restrictions. |
| 92 |
|
|
| 93 |
* `Status` (optional) |
* `Status` (optional) |
| 94 |
|
|
| 95 |
This field is a textual explanation of its status concerning its |
This field is a textual explanation of its status concerning its |
| 96 |
inclusion in the upstream project. The first line should consist of a |
inclusion in the upstream project. The first line should consist of a |
| 97 |
single keyword among "<vendor>-specific" (the patch must not be |
single keyword among "<vendor>-specific" (the patch must not be |
| 103 |
lines can be used to explain in more details the status of the patch. |
lines can be used to explain in more details the status of the patch. |
| 104 |
It should be used for example to explain why the patch has been |
It should be used for example to explain why the patch has been |
| 105 |
rejected, or why this change is only meaningful for the vendor. |
rejected, or why this change is only meaningful for the vendor. |
| 106 |
|
|
| 107 |
* `Signed-off-by` (optional) |
* `Signed-off-by` (optional) |
| 108 |
This field can be used to document the fact that the patch has been |
|
| 109 |
reviewed by one or more persons. It should list their names and |
This field can be used to document the fact that the patch has been |
| 110 |
emails in the standard format (similar to the example given for |
reviewed by one or more persons. It should list their names and |
| 111 |
the `Origin` field), separated by commas if needed. |
emails in the standard format (similar to the example given for |
| 112 |
|
the `Origin` field), separated by commas if needed. |
| 113 |
|
|
| 114 |
|
|
| 115 |
Interpretation |
Interpretation |
| 120 |
and their values. |
and their values. |
| 121 |
|
|
| 122 |
* Has the patch been forwarded upstream? |
* Has the patch been forwarded upstream? |
| 123 |
If there is a "Status" field, its value answers the question. |
|
| 124 |
If there's an "Origin" field and it contains "upstream" or "backport", |
If there is a `Status` field, its value answers the question. |
| 125 |
|
If there's an `Origin` field and it contains "upstream" or "backport", |
| 126 |
the patch comes from upstream and it doesn't need to be forwarded. |
the patch comes from upstream and it doesn't need to be forwarded. |
| 127 |
The same is true if there's a "Commit" field. |
The same is true if there's a `Commit` field. |
| 128 |
In other cases, if there is a "Bug" field, then the patch has most |
In other cases, if there is a `Bug` field, then the patch has most |
| 129 |
likely been referenced in the bug and upstream should know about it. |
likely been referenced in the bug and upstream should know about it. |
| 130 |
Any package maintainer should ensure that the existence of the patch |
Any package maintainer should ensure that the existence of the patch |
| 131 |
has been documented in the upstream bug log when he adds the |
has been documented in the upstream bug log when he adds the |
| 135 |
Related links |
Related links |
| 136 |
------------- |
------------- |
| 137 |
|
|
| 138 |
* https://wiki.ubuntu.com/UbuntuDevelopment/PatchTaggingGuidelines |
* [Ubuntu's patch tagging guidelines](https://wiki.ubuntu.com/UbuntuDevelopment/PatchTaggingGuidelines) |
| 139 |
|
|
| 140 |
Changes |
Changes |
| 141 |
------- |
------- |