dpkg-source.1 24 KB

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