dpkg-source.1 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837
  1. .\" Authors: Ian Jackson
  2. .TH DPKG\-SOURCE 1 "January 2000" "Debian Project" "dpkg utilities"
  3. .SH NAME
  4. dpkg\-source, dpkg\-gencontrol, dpkg\-shlibdeps, dpkg\-genchanges,
  5. dpkg\-buildpackage, dpkg\-distaddfile, dpkg\-parsechangelog
  6. \- Debian source package tools
  7. .SH SYNOPSIS
  8. .B dpkg\-source
  9. .BI "\-x " filename .dsc
  10. .RI [ output-directory ]
  11. .br
  12. .B dpkg\-source \-b
  13. .RI [ options "] " directory " [" orig-directory | orig-targz |'']
  14. .br
  15. .B dpkg\-gencontrol
  16. .RI [ options ]
  17. .br
  18. .B dpkg\-shlibdeps
  19. .IR options
  20. .br
  21. .B dpkg\-genchanges
  22. .RI [ options ]
  23. .br
  24. .B dpkg\-buildpackage
  25. .RI [ options ]
  26. .br
  27. .B dpkg\-distaddfile
  28. .RI [ options ] " filename section priority"
  29. .br
  30. .B dpkg\-parsechangelog
  31. .RI [ options ]
  32. .SH DESCRIPTION
  33. .B dpkg\-source
  34. packs and unpacks Debian source archives.
  35. .B dpkg\-gencontrol
  36. reads information from an unpacked Debian source tree and generates a
  37. binary package control file (which defaults to debian/tmp/DEBIAN/control);
  38. it also adds an entry for the binary package to
  39. .BR debian/files .
  40. .B dpkg\-shlibdeps
  41. calculates shared library dependencies for executables named in its
  42. arguments. The dependencies are added to the substitution
  43. variables file
  44. .B debian/substvars
  45. as variable names
  46. .BI shlibs: dependencyfield
  47. where
  48. .I dependencyfield
  49. is a dependency field name. Any other variables starting
  50. .I shlibs:
  51. are removed from the file.
  52. .B dpkg\-shlibdeps
  53. will read shared library dependency information from
  54. .BR debian/shlibs.local ,
  55. .BR /etc/dpkg/shlibs.override ,
  56. the
  57. .B shlibs
  58. control area file of the package containing the file which
  59. .B objdump
  60. reports as satisfying the library dependency, or
  61. .BR /etc/dpkg/shlibs.default .
  62. The first match will be used. See
  63. .BR dpkg-shlibdeps 1
  64. for details of the format of shared library dependency files.
  65. .B dpkg\-genchanges
  66. reads information from an unpacked and built Debian source tree and
  67. from the files it has generated and generates a Debian upload control
  68. file
  69. .RB ( .changes " file)."
  70. .B dpkg\-buildpackage
  71. is a control script which can be used to help automate the building of
  72. a package.
  73. .B dpkg\-distaddfile
  74. adds an entry for a named file to
  75. .BR debian/files .
  76. .B dpkg\-parsechangelog
  77. reads and parses the changelog of an unpacked Debian source tree and
  78. outputs the information in it to standard output in a machine-readable
  79. form.
  80. None of these commands allow multiple options to be combined into one,
  81. and they do not allow the value for an option to be specified in a
  82. separate argument.
  83. .SH COMMON OPTIONS
  84. Many of these programs share options; these are described here,
  85. together with the programs that accept them.
  86. .TP
  87. .BI \-h
  88. Display the particular program's version and usage message, including
  89. a synopsis of the options it understands. This option is understood
  90. by all the source package tools.
  91. .TP
  92. .BI \-v version
  93. In
  94. .BR dpkg\-buildpackage ", " dpkg\-genchanges " and " dpkg\-parsechangelog
  95. this causes changelog information from all versions strictly later
  96. than
  97. .I version
  98. to be used.
  99. In
  100. .BR dpkg\-gencontrol
  101. it sets the version number of the binary package which will be
  102. generated.
  103. .TP
  104. .BI \-C changesdescription
  105. Read the description of the changes from the file
  106. .I changesdescription
  107. rather than using the information from the source tree's changelog
  108. file. This is understood by
  109. .BR dpkg\-buildpackage " and " dpkg\-genchanges .
  110. .TP
  111. .BI \-m maintaineraddress
  112. Use
  113. .I maintaineraddress
  114. as the name and email address of the maintainer for this package,
  115. rather than using the information from the source tree's control.
  116. This is understood by
  117. .BR dpkg\-buildpackage " and " dpkg\-genchanges .
  118. .TP
  119. .BI \-e maintaineraddress
  120. Use
  121. .I maintaineraddress
  122. as the name and email address of the maintainer for this upload,
  123. rather than using the information from the source tree's changelog.
  124. This is understood by
  125. .BR dpkg\-buildpackage " and " dpkg\-genchanges .
  126. .TP
  127. .BR \-si ", " \-sa ", " \-sd
  128. These options control whether the original source archive is included
  129. in the upload generated by
  130. .BR dpkg\-buildpackage " and " dpkg\-genchanges
  131. if any source is being generated (ie,
  132. .BR \-b " or " \-B
  133. haven't been used).
  134. By default, or if
  135. .B \-si
  136. is specified, the original source will be included if the version
  137. number ends in
  138. .BR \-0 " or " \-1 ,
  139. ie if the Debian revision part of the version number is
  140. .BR 0 " or " 1 .
  141. .B \-sa
  142. forces the inclusion of the original source;
  143. .B \-sd
  144. forces its exclusion and includes only the diff.
  145. .TP
  146. .BI \-V name = value
  147. Set an output substitution variable.
  148. This option is understood by
  149. .BR dpkg\-source ", " dpkg\-gencontrol " and " dpkg\-genchanges .
  150. See below for a discussion of output substitution.
  151. .TP
  152. .BI \-T substvarsfile
  153. Read (or, for
  154. .BR dpkg\-shlibdeps ,
  155. write) substitution variables in
  156. .IR substvarsfile ;
  157. the default is
  158. .BR debian/substvars .
  159. This option is understood by
  160. .BR dpkg\-source ", " dpkg\-gencontrol ", " dpkg\-shlibdeps " and " dpkg\-genchanges .
  161. .TP
  162. .BI \-D field = value
  163. Override or add an output control file field.
  164. This option is understood by
  165. .BR dpkg\-source ", " dpkg\-gencontrol " and " dpkg\-genchanges .
  166. .TP
  167. .BI \-U field
  168. Remove an output control file field.
  169. This option is understood by
  170. .BR dpkg\-source ", " dpkg\-gencontrol " and " dpkg\-genchanges .
  171. .TP
  172. .BR \-b | \-B | \-S
  173. For
  174. .BR dpkg\-genchanges " and " dpkg\-buildpackage
  175. .BR \-b " and " \-B
  176. specify that a binary-only build is taking place.
  177. .B \-b
  178. indicates that no source files are to be built and/or distributed, and
  179. .B \-B
  180. that no architecture-independent binary package files are to be
  181. distributed either.
  182. .B \-S
  183. specifies that only the source should be uploaded and no binary packages
  184. need to be made. The distinction between
  185. .BR \-b " and " \-B
  186. is only used by
  187. .BR dpkg\-buildpackage ;
  188. .B dpkg\-genchanges
  189. just produces a
  190. .B .changes
  191. file for whatever files were produced by the
  192. .B binary\-*
  193. target(s) of the package being built.
  194. .B \-b
  195. tells
  196. .B dpkg\-source
  197. to build a source package (rather than to extract one) - see below.
  198. .TP
  199. .BI \-c controlfile
  200. Specifies the main source control file to read information from. The
  201. default is
  202. .BR debian/control .
  203. This option is understood by
  204. .BR dpkg\-source ", " dpkg\-gencontrol " and " dpkg\-genchanges .
  205. .TP
  206. .BI \-l changelogfile
  207. Specifies the change log file to read information from. The
  208. default is
  209. .BR debian/changelog .
  210. This option is understood by
  211. .BR dpkg\-source ", " dpkg\-gencontrol " and " dpkg\-genchanges .
  212. .TP
  213. .BI \-f fileslistfile
  214. Read or write the list of files to be uploaded here, rather than using
  215. .BR debian/files .
  216. This option is understood by
  217. .BR dpkg\-gencontrol ", " dpkg\-genchanges " and " dpkg\-distaddfile .
  218. .TP
  219. .BI \-F changelogformat
  220. Specifies the format of the changelog. By default the format is read
  221. from a special line near the bottom of the changelog or failing that
  222. defaults to the debian standard format.
  223. This option is understood by
  224. .BR dpkg\-source ", " dpkg\-gencontrol " and " dpkg\-genchanges .
  225. .TP
  226. .BI \-W
  227. This option turns certain errors into warnings. Only dpkg\-source uses
  228. this, but
  229. .BR dpkg\-buildpackage
  230. recognizes it, and passes it thru to
  231. .BR dpkg\-source "."
  232. .TP
  233. .BI \-E
  234. This option negates a previously set
  235. .BR \-W "."
  236. It is currently only understood by
  237. .BR dpkg\-buildpackage " and " dpkg\-source "."
  238. .SH dpkg\-SOURCE OPTIONS
  239. When the common options
  240. .BR \-c " and " \-l
  241. are given with relative pathnames these are interpreted starting at
  242. the source tree's top level directory.
  243. .TP
  244. .B \-x
  245. Extract a source package. One non-option argument must be supplied,
  246. the name of the Debian source control file
  247. .RB ( .dsc ).
  248. An optional second non-option argument may be supplied to specify the
  249. directory to extract the source package to, this must not exist. If
  250. no output directory is specified, the source package is extracted into
  251. a directory named \fIsource\fR-\fIversion-\fR under the current working
  252. directory.
  253. No options are useful with
  254. .BR "dpkg\-source \-x" .
  255. .B dpkg\-source
  256. will read the names of the other file(s) making up the source package
  257. from the control file; they are assumed to be in the same directory as
  258. the
  259. .BR .dsc .
  260. The files in the extracted package will have their permissions and
  261. ownerships set to those which would have been expected if the files
  262. and directories had simply been created - directories and executable
  263. files will be 0777 and plain files will be 0666, both modified by the
  264. extractors' umask; if the parent directory is setgid then the
  265. extracted directories will be too, and all the files and directories
  266. will inherit its group ownership.
  267. .TP
  268. .B \-b
  269. Build: pack up a source tree. One or two non-option arguments should
  270. be supplied. The first is taken as the name of the directory
  271. containing the unpacked source tree. If a second argument is supplied
  272. it should be the name of the original source directory or tarfile or
  273. the empty string if the package is a Debian-specific one and so has no
  274. Debianisation diffs. If no second argument is supplied then
  275. .B dpkg\-source
  276. will look for the original source tarfile
  277. .IB package _ upstream-version .orig.tar.gz
  278. or the original source directory
  279. .IB directory .orig
  280. or the empty string (no original source, and so no diff) depending on
  281. the arguments.
  282. .TP
  283. .B \-i[<regexp>]
  284. You may specify a perl regular expression to match files you want
  285. filtered out of the list of files for the diff. (This list is
  286. generated by a find command.) \fB\-i\fR by itself enables the option,
  287. with a default that will filter out control files and directories of the
  288. most common revision control systems, backup and swap files and Libtool
  289. build output directories.
  290. This is very helpful in cutting out extraneous files that get included
  291. in the .diff.gz, (eg: "debian/BUGS_TODO/*" or "debian/RCS/*,v"). For
  292. instance, if you maintain a package that you track via remote CVS,
  293. where you don't have access permissions for commiting the debian
  294. control files and making tags for \fIcvs\-buildpackage(1)\fR, it is
  295. necessary to perform an extra checkout/update into a directory you
  296. keep pristine, to generate the .orig.tar.gz from. That directory will
  297. have CVS/Entries files in it that will contain timestamps that differ
  298. from the ones in your working directory, thus causing them to be
  299. unnecessarily included in every .diff.gz, unless you use the \fB\-i\fR
  300. switch.
  301. .TP
  302. .B \-I<filename>
  303. If this option is specified, the filename will be passed to tar's \-\-exclude
  304. option when it is called to generate a .orig.tar.gz or .tar.gz file. For
  305. example, \-ICVS will make tar skip over CVS directories when generating
  306. a .tar.gz file. The option may be repeated multiple times to list multiple
  307. filenames to exclude.
  308. .TP
  309. .BR \-sa , \-sp , \-su , \-sk , \-sA , \-sP , \-sU , \-sK , \-ss " with " \-b
  310. If
  311. .BR \-sk " or " \-sp
  312. is specified
  313. .B dpkg\-source
  314. expects the original source as a tarfile, by default
  315. .IB package _ upstream-version .orig.tar.gz\fR.
  316. It will leave this original source in place as a tarfile, or copy it
  317. to the current directory if it isn't already there
  318. If
  319. .B \-sp
  320. is used rather than
  321. .B \-sk
  322. it will remove it again afterwards.
  323. If
  324. .BR \-su " or " \-sr
  325. is specified the original source is expected as a directory, by
  326. default
  327. .IB package - upstream-version .orig
  328. and
  329. .B dpkg\-source
  330. will create a new original source archive from it. If
  331. .B \-sr
  332. is used
  333. .B dpkg\-source will remove that directory after it has been used.
  334. If
  335. .B \-ss
  336. is specified
  337. .B dpkg\-source
  338. will expect that the original source is available both as a directory
  339. and as a tarfile. If will use the directory to create the diff, but
  340. the tarfile to create the
  341. .BR .dsc .
  342. This option must be used with care - if the directory and tarfile do
  343. not match a bad source archive will be generated.
  344. If
  345. .B \-sn
  346. is specified
  347. .B dpkg\-source
  348. will not look for any original source, and will not generate a diff.
  349. The second argument, if supplied, must be the empty string. This is
  350. used for Debian-specific packages which do not have a separate
  351. upstream source and therefore have no debianisation diffs.
  352. If
  353. .BR \-sa " or " \-sA
  354. is specified
  355. .B dpkg\-source
  356. will look for the original source archive as a tarfile or as a
  357. directory - the second argument, if any, may be either, or the empty
  358. string (this is equivalent to using
  359. .BR \-sn ).
  360. If a tarfile is found it will unpack it to create the diff and remove
  361. it afterwards (this is equivalent to
  362. .BR \-sp );
  363. if a directory is found it will pack it to create the original source
  364. and remove it afterwards (this is equivalent to
  365. .BR \-sr );
  366. if neither is found it will assume that the package has no
  367. debianisation diffs, only a straightforward source archive (this is
  368. equivalent to
  369. .BR \-sn ).
  370. If both are found then dpkg\-source will ignore the directory,
  371. overwriting it, if
  372. .B \-sA
  373. was specified (this is equivalent to
  374. .BR \-sP )
  375. or raise an error if
  376. .B \-sa
  377. was specified.
  378. .B \-sA
  379. is the default.
  380. .BR \-sa ", " \-sp ", " \-sk ", " \-su " and " \-sr
  381. will not overwrite existing tarfiles or directories. If this is
  382. desired then
  383. .BR \-sA ", " \-sP ", " \-sK ", " \-sU " and " \-sR
  384. should be used instead.
  385. .TP
  386. .BR \-sp , \-su , \-sn " with " \-x
  387. In all cases any existing original source tree will be removed.
  388. If
  389. .B \-sp
  390. is used when extracting then the original source (if any) will be left
  391. as a tarfile. If it is not already located in the current directory
  392. or if an existing but different file is there it will be copied there.
  393. This is the default.
  394. .B \-su
  395. unpacks the original source tree.
  396. .B \-sn
  397. ensures that the original source is neither copied to the current
  398. directory nor unpacked. Any original source tree that was in the
  399. current directory is still removed.
  400. .PP
  401. All the
  402. .B \-sX
  403. options are mutually exclusive. If you specify more than one only the
  404. last one will be used.
  405. .SH dpkg\-GENCONTROL OPTIONS
  406. .B dpkg\-gencontrol
  407. does not take any non-option arguments.
  408. .TP
  409. .BI \-p package
  410. Generate information for the binary package
  411. .IR package .
  412. If the source control file lists only one binary package then this
  413. option may be omitted; otherwise it is essential to select which
  414. binary package's information to generate.
  415. .TP
  416. .BI \-n filename
  417. Assume the filename of the package will be
  418. .I filename
  419. instead of the normal package_version_arch.deb filename.
  420. .TP
  421. .BR \-is ", " \-ip ", " \-isp
  422. These options are ignored for compatibility with older versions of
  423. dpkg-dev but are now deprecated. Previously they were used to tell
  424. dpkg-gencontrol to include the Section and Priority fields in the
  425. control file. This is now the default behaviour. If you want to
  426. get the old behaviour you can use the
  427. .B \-U
  428. option to delete the fields from the control file.
  429. .TP
  430. .BI \-P packagebuilddir
  431. Tells
  432. .B dpkg\-source
  433. that the package is being built in
  434. .I packagebuilddir
  435. instead of
  436. .BR debian/tmp .
  437. This value is used to find the default value of the
  438. .B Installed\-Size
  439. substitution variable and control file field (using
  440. .BR du ),
  441. and for the default location of the output file.
  442. .TP
  443. .B \-O
  444. Causes the control file to be printed to standard output, rather than
  445. to
  446. .B debian/tmp/DEBIAN/control
  447. (or
  448. .IB packagebuilddir /DEBIAN/control
  449. if
  450. .B \-P
  451. was used).
  452. .SH dpkg\-SHLIBDEPS OPTIONS
  453. .B dpkg\-shlibdeps
  454. interprets non-option arguments as executable names, just as if they'd
  455. been supplied as
  456. .BI \-e executable\fR.
  457. .TP
  458. .BI \-e executable
  459. Include dependencies appropriate for the shared libraries required by
  460. .IR executable .
  461. .TP
  462. .BI \-d dependencyfield
  463. Add dependencies to be added to the control file dependency field
  464. .IR dependencyfield .
  465. (The dependencies for this field are placed in the variable
  466. .BI shlibs: dependencyfield\fR.)
  467. The
  468. .BI \-d dependencyfield
  469. option takes effect for all executables after the option, until the
  470. next
  471. .BI \-d dependencyfield\fR.
  472. The default
  473. .I dependencyfield
  474. is
  475. .BR Depends .
  476. If the same dependency entry (or set of alternatives) appears in more
  477. than one of the recognised dependency field names
  478. .BR Pre\-Depends ", " Depends ", " Recommends ", " Enhances " or " Suggests
  479. then
  480. .B dpkg\-shlibdeps
  481. will automatically remove the dependency from all fields except the
  482. one representing the most important dependencies.
  483. .TP
  484. .BI \-p varnameprefix
  485. Causes substitution variables to start with
  486. .IB varnameprefix :
  487. instead of
  488. .BR shlibs: .
  489. Likewise, any existing substitution variables starting with
  490. .IB varnameprefix :
  491. (rather than
  492. .BR shlibs: )
  493. are removed from the the substitution variables file.
  494. .TP
  495. .BI \-L localshlibsfile
  496. Causes
  497. .B dpkg\-shlibdeps
  498. to read overriding shared library dependency information from
  499. .I localshlibsfile
  500. instead of
  501. .BR debian/shlibs.local .
  502. .TP
  503. .B \-O
  504. Causes the substitution variable settings to be printed to standard
  505. output, rather than being added to the substitution variables file
  506. .RB ( debian/substvars
  507. by default).
  508. .TP
  509. .BI \-t type
  510. Causes
  511. .B dpkg\-shlibdeps
  512. to prefer shared library dependency information tagged for the given
  513. package type. If no tagged information is available, falls back to untagged
  514. information. The default package type is "deb". Shared library dependency
  515. information is tagged for a given type by prefixing it with the name of the
  516. type, a colon, and whitespace.
  517. .SH dpkg\-GENCHANGES OPTIONS
  518. .B dpkg\-genchanges
  519. does not take any non-option arguments.
  520. .TP
  521. .BI \-u uploadfilesdir
  522. Look for the files to be uploaded in
  523. .I uploadfilesdir
  524. rather than
  525. .B ..
  526. .RB ( dpkg\-genchanges
  527. needs to find these files so that it can include their sizes and
  528. checksums in the
  529. .B .changes
  530. file).
  531. .TP
  532. .B \-q
  533. Usually
  534. .B dpkg\-genchanges
  535. will produce informative messages on standard error, for example about
  536. how many of the package's source files are being uploaded.
  537. .B \-q
  538. suppresses these messages.
  539. .SH dpkg\-BUILDPACKAGE OPTIONS
  540. .B dpkg\-buildpackage
  541. does not take any non-option arguments.
  542. .TP
  543. .BI \-k key-id
  544. Specify a key-ID to use when signing packages.
  545. .TP
  546. .BI \-r gain-root-command
  547. When
  548. .B dpkg\-buildpackage
  549. needs to execute part of the build process as root, it prefixes the
  550. command it executes with
  551. .I gain-root-command
  552. if one has been specified.
  553. .I gain-root-command
  554. should be the name of a program on the
  555. .B PATH
  556. and will get as arguments the name of the real command to run and the
  557. arguments it should take.
  558. .I gain-root-command
  559. should not contain spaces or any other shell metacharacters.
  560. .\" what happens, if it contains spaces? (hs)
  561. .I gain-root-command
  562. might typically be
  563. .BR fakeroot ", " sudo ", " super " or " really .
  564. .B su
  565. is not suitable, since it requires a
  566. .B \-c
  567. option to run a command and even then it can only invoke the user's
  568. shell with
  569. .B \-c
  570. instead of passing arguments individually to the command to be run.
  571. .TP
  572. .BI \-p sign-command
  573. When
  574. .B dpkg\-buildpackage
  575. needs to execute GPG or PGP to sign a source control
  576. .RB ( .dsc )
  577. file or a
  578. .B .changes
  579. file it will run
  580. .I sign-command
  581. (searching the
  582. .B PATH
  583. if necessary) instead of
  584. .BR pgp .
  585. .I sign-command
  586. will get all the arguments that
  587. .B pgp
  588. would have gotten. If
  589. .I sign-command
  590. takes its arguments in GPG rather than PGP style, you should give
  591. the
  592. .B \-sgpg
  593. option.
  594. .I sign-command
  595. should not contain spaces or any other shell metacharacters.
  596. .TP
  597. .B \-tc
  598. Clean the source tree (using
  599. .I gain-root-command
  600. .BR "debian/rules clean" )
  601. after the package has been built.
  602. .TP
  603. .BR \-us ", " \-uc
  604. Do not sign the source package or the .changes file, respectively.
  605. .TP
  606. .BI \-a architecture
  607. Specify the Debian architecture we build for. The architecture of the
  608. machine we build on is determined automatically, and is also the default
  609. for the host machine.
  610. .TP
  611. .B \-i[<regexp>]
  612. Passed unchanged to
  613. .BR dpkg\-source .
  614. .TP
  615. .B \-I<filename>
  616. Passed unchanged to
  617. .BR dpkg\-source .
  618. May be repeated multiple times.
  619. .TP
  620. .B \-D
  621. Check build dependencies and conflicts; abort if unsatisfied.
  622. .TP
  623. .B \-d
  624. Do not check build dependencies and conflicts.
  625. .TP
  626. .B \-nc
  627. Do not clean the source tree(implies \-b).
  628. .SH dpkg\-DISTADDFILE ARGUMENTS
  629. .B dpkg\-distaddfile
  630. does not take any non-common options. It takes three non-option
  631. arguments, the filename and the section and priority for the
  632. .B .changes
  633. file.
  634. The filename should be specified relative to the directory where
  635. .B dpkg\-genchanges
  636. will expect to find the files, usually
  637. .BR .. ,
  638. rather than being a pathname relative to the current directory when
  639. .B dpkg\-distaddfile
  640. is run.
  641. .SH dpkg\-PARSECHANGELOG ARGUMENTS
  642. .B dpkg\-parsechangelog
  643. does not take any non-common options or non-option arguments.
  644. .SH VARIABLE SUBSTITUTION
  645. Before
  646. .BR dpkg\-source ", " dpkg\-gencontrol " and " dpkg\-genchanges
  647. write their control information (to the source control file
  648. .B .dsc
  649. for
  650. .B dpkg\-source
  651. and to standard output for
  652. .BR dpkg\-gencontrol " and " dpkg\-genchanges )
  653. they perform some variable substitutions on the output file.
  654. A variable substitution has the form
  655. .BI ${ variable-name }\fR.
  656. Variable names consist of alphanumerics, hyphens and colons and start
  657. with an alphanumeric. Variable substitutions are performed repeatedly
  658. until none are left; the full text of the field after the substitution
  659. is rescanned to look for more substitutions.
  660. After all the substitutions have been done each occurence of the
  661. string
  662. .B ${}
  663. (which is not a legal substitution) is replaced with a
  664. .B $
  665. sign.
  666. Variables can be set using the
  667. .B \-V
  668. common option. They can be also specified in the file
  669. .B debian/substvars
  670. (or whatever other file is specified using the
  671. .B \-T
  672. option). This file consists of lines of the form
  673. .IB name = value\fR.
  674. Trailing whitespace on each line, blank lines, and
  675. lines starting with a
  676. .B #
  677. symbol (comments) are ignored.
  678. Additionally, the following standard variables are available:
  679. .TP
  680. .BI Arch
  681. The current build architecture (from
  682. .BR "dpkg \-\-print\-architecture" ).
  683. .TP
  684. .B Source\-Version
  685. The source package version (from the changelog file).
  686. .TP
  687. .B Installed\-Size
  688. The total size of the package's installed files. This value is copied
  689. into the corresponding control file field; setting it will modify the
  690. value of that field. If this variable isn't set
  691. .B dpkg\-gencontrol
  692. will use
  693. .B du \-k debian/tmp
  694. to find the default value.
  695. .TP
  696. .B Extra\-Size
  697. Additional disk space used when the package is installed. If this
  698. variable is set its value is added to that of the
  699. .B Installed\-Size
  700. variable (whether set explicitly or using the default value) before it
  701. is copied into the
  702. .B Installed\-Size
  703. control file field.
  704. .TP
  705. .BI F: fieldname
  706. The value of the output field
  707. .IR fieldname
  708. (which must be given in the canonical capitalisation). Setting these
  709. variables has no effect other than on places where they are expanded
  710. explicitly.
  711. .TP
  712. .B Format
  713. The
  714. .B .changes
  715. file format version generated by this version of the source packaging
  716. scripts. If you set this variable the contents of the
  717. .B Format
  718. field in the
  719. .B .changes
  720. file will change too.
  721. .TP
  722. .BR Newline ", " Space ", " Tab
  723. These variables each hold the corresponding character.
  724. .TP
  725. .BI shlibs: dependencyfield
  726. Variable settings with names of this form are generated by
  727. .B dpkg\-shlibdeps
  728. - see above.
  729. .TP
  730. .B dpkg:UpstreamVersion
  731. The upstream version of dpkg.
  732. .TP
  733. .B dpkg:Version
  734. The full version of dpkg.
  735. .LP
  736. If a variable is referred to but not defined it generates a warning
  737. and an empty value is assumed.
  738. .SH FILES
  739. .TP
  740. .B debian/control
  741. The main source control information file, giving version-independent
  742. information about the source package and the binary packages it can
  743. produce.
  744. .TP
  745. .B debian/changelog
  746. The changelog file, used to obtain version-dependent information about
  747. the source package, such as the urgency and distribution of an upload,
  748. the changes made since a particular release, and the source version
  749. number itself.
  750. .TP
  751. .B debian/files
  752. The list of generated files which are part of the upload being
  753. prepared.
  754. .B dpkg\-gencontrol
  755. adds the presumed filenames of binary packages whose control files it
  756. generates here;
  757. .B dpkg\-distaddfile
  758. can be used to add additional files.
  759. .B dpkg\-genchanges
  760. reads the data here when producing a
  761. .B .changes
  762. file.
  763. .TP
  764. .B debian/substvars
  765. List of substitution variables and values.
  766. .TP
  767. .B debian/shlibs.local
  768. Package-local overriding shared library dependency information.
  769. .TP
  770. .B /etc/dpkg/shlibs.override
  771. Per-system overriding shared library dependency information.
  772. .TP
  773. .B /etc/dpkg/shlibs.default
  774. Per-system default shared library dependency information.
  775. .SH BUGS
  776. The point at which field overriding occurs compared to certain
  777. standard output field settings is rather confused.
  778. The binary package entries in the
  779. .B debian/files
  780. file will be passed through variable substitution twice. This should
  781. not matter, since
  782. .BR $ ", " { " and " }
  783. are not legal in package names or version numbers.
  784. It should be possible to specify spaces and shell metacharacters in
  785. and initial arguments for
  786. .IR gain-root-command " and " sign-command .
  787. .SH SEE ALSO
  788. .BR dpkg\-deb (1),
  789. .BR dpkg (1),
  790. .BR dselect (1),
  791. .BR gpg (1),
  792. .BR pgp (1).
  793. .SH AUTHOR
  794. The utilities and this manpage were written by Ian Jackson.
  795. .SH COPYRIGHT
  796. Copyright (C) 1995-1996 Ian Jackson
  797. .br
  798. Copyright (C) 2000 Wichert Akkerman
  799. .br
  800. This is free software; see the GNU General Public Licence version 2 or later
  801. for copying conditions. There is NO WARRANTY. See
  802. .B /usr/share/doc/dpkg/copyright
  803. and
  804. .B /usr/share/common\-licenses/GPL
  805. for details.