diff options
Diffstat (limited to 'man/dpkg-source.man')
-rw-r--r-- | man/dpkg-source.man | 38 |
1 files changed, 28 insertions, 10 deletions
diff --git a/man/dpkg-source.man b/man/dpkg-source.man index 2233d7a8d..972b2d393 100644 --- a/man/dpkg-source.man +++ b/man/dpkg-source.man @@ -21,6 +21,7 @@ .\" along with this program. If not, see <https://www.gnu.org/licenses/>. . .TH dpkg\-source 1 "%RELEASE_DATE%" "%VERSION%" "dpkg suite" +.ad l .nh .SH NAME dpkg\-source \- Debian source package (.dsc) manipulation tool @@ -400,7 +401,7 @@ was specified (this is equivalent to or raise an error if .B \-sa was specified. -.B \-sA +.B \-sa is the default. .TP .B \-\-abort\-on\-upstream\-changes @@ -467,8 +468,8 @@ an original tarball (\fB.orig.tar.\fP\fIext\fP where \fIext\fP can be \fBgz\fP, \fBbz2\fP, \fBlzma\fP and \fBxz\fP) and a debian tarball (\fB.debian.tar.\fP\fIext\fP). It can also contain additional original tarballs (\fB.orig\-\fP\fIcomponent\fP\fB.tar.\fP\fIext\fP). -\fIcomponent\fP can only contain alphanumeric characters and hyphens -(‘\-’). +\fIcomponent\fP can only contain alphanumeric (‘a-zA-Z0-9’) characters +and hyphens (‘\-’). Optionally each original tarball can be accompanied by a detached upstream signature (\fB.orig.tar.\fP\fIext\fP\fB.asc\fP and \fB.orig\-\fP\fIcomponent\fP\fB.tar.\fP\fIext\fP\fB.asc\fP), extraction @@ -486,18 +487,31 @@ debian tarball must contain a \fBdebian\fP sub-directory but it can also contain binary files outside of that directory (see \fB\-\-include\-binaries\fP option). .PP -All patches listed in \fBdebian/patches/debian.series\fP or -\fBdebian/patches/series\fP are then applied. +All patches listed in \fBdebian/patches/\fP\fIvendor\fP\fB.series\fP or +\fBdebian/patches/series\fP are then applied, where \fIvendor\fP will be +the lowercase name of the current vendor, or \fBdebian\fP if there is +no vendor defined. If the former file is used and the latter one doesn't exist (or is a -symlink), then the latter is replaced with a symlink to the former. This -is meant to simplify usage of \fBquilt\fP to manage the set of patches. Note -however that while \fBdpkg\-source\fP parses correctly series files with -explicit options used for patch application (stored on each line +symlink), then the latter is replaced with a symlink to the former. +This is meant to simplify usage of \fBquilt\fP to manage the set of patches. +Vendor-specific series files are intended to make it possible to serialize +multiple development branches based on the vendor, in a declarative way, +in preference to open-coding this handling in \fBdebian/rules\fP. +This is particularly useful when the source would need to be patched +conditionally because the affected files do not have built-in conditional +occlusion support. +Note however that while \fBdpkg\-source\fP parses correctly series files +with explicit options used for patch application (stored on each line after the patch filename and one or more spaces), it does ignore those options and always expect patches that can be applied with the \fB\-p1\fP option of \fBpatch\fP. It will thus emit a warning when it encounters such options, and the build is likely to fail. .PP +Note that \fBlintian\fP(1) will emit unconditional warnings when using +vendor series due to a controversial Debian specific ruling, which should +not affect any external usage; to silence these, the dpkg lintian profile +can be used by passing «\fB--profile dpkg\fP» to \fBlintian\fP(1). +.PP The timestamp of all patched files is reset to the extraction time of the source package (this avoids timestamp skews leading to problems when autogenerated files are patched). @@ -848,10 +862,15 @@ the source package is maintained. Free form text that is put on top of the automatic patch generated in formats “2.0” or “3.0 (quilt)”. \fBlocal\-patch\-header\fP is not included in the generated source package while \fBpatch\-header\fP is. +.SS debian/patches/\fIvendor\fP.series .SS debian/patches/series This file lists all patches that have to be applied (in the given order) on top of the upstream source package. Leading and trailing spaces are stripped. +The \fIvendor\fP will be the lowercase name of the current vendor, or +\fBdebian\fP if there is no vendor defined. +If the vendor-specific series file does not exist, the vendor-less series +file will be used. Lines starting with ‘\fB#\fP’ are comments and are skipped. Empty lines are ignored. Remaining lines start with a patch filename (relative @@ -863,7 +882,6 @@ start of a comment up to the end of line). The point at which field overriding occurs compared to certain standard output field settings is rather confused. .SH SEE ALSO -.ad l .BR deb\-src\-control (5), .BR deb\-changelog (5), .BR dsc (5). |