dpkg-source.1 25 KB

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