1DEVSCRIPTS(1)               General Commands Manual              DEVSCRIPTS(1)
2
3
4

NAME

6       devscripts - scripts to ease the lives of Debian developers
7

DESCRIPTION

9       The devscripts package provides a collection of scripts which may be of
10       use to Debian developers and others wishing to build  Debian  packages.
11       For   a   summary  of  the  available  scripts,  please  see  the  file
12       /usr/share/doc/devscripts/README.gz, and for full details,  please  see
13       the  individual manpages.  They are contributed by multiple developers;
14       for details of the authors, please see the code or manpages.
15
16       Also, the directory /usr/share/doc/devscripts/examples contains an  ex‐
17       ample exim script for sorting mail arriving to Debian mailing lists.
18

ENVIRONMENT

20       Several  scripts  of the devscripts suite use the following environment
21       variables. Check the man pages of individual scripts for  more  details
22       on how the variables are used.
23
24       DEBEMAIL
25           Email  of  the  person  acting  on  a  given Debian package via de‐
26           vscripts.
27
28       DEBFULLNAME
29           Full name (first + family) of the person acting on a  given  Debian
30           package via devscripts.
31

SCRIPTS

33       Here  is the complete list of available devscripts. See their man pages
34       for additional documentation.
35
36       annotate-output(1)
37              run a command and prepend time and stream (O for stdout,  E  for
38              stderr) for every line of output.
39
40       archpath(1)
41              Prints arch (tla/Bazaar 1.x) package names. Also supports calcu‐
42              lating the package names for other branches. [tla]
43
44       bts(1) A command-line tool for accessing the Debian Bug  Tracking  Sys‐
45              tem,  both to send mails to control@bts.debian.org and to access
46              the web pages and  SOAP  interface  of  the  BTS.  [www-browser,
47              libauthen-sasl-perl,    libnet-smtps-perl,    libsoap-lite-perl,
48              liburi-perl, libwww-perl, bsd-mailx | mailx]
49
50       build-rdeps(1)
51              Searches for all packages that build-depend on a given  package.
52              [dctrl-tools, dose-extra, libdpkg-perl]
53
54       chdist(1)
55              tool to easily play with several distributions. [dctrl-tools]
56
57       checkbashisms(1)
58              check whether a /bin/sh script contains any common bash-specific
59              constructs.
60
61       cowpoke(1)
62              upload a Debian source package to a cowbuilder  host  and  build
63              it,  optionally  also signing and uploading the result to an in‐
64              coming queue. [ssh-client]
65
66       cvs-debi, cvs-debc(1)
67              wrappers around debi and debc respectively (see below) which al‐
68              low  them  to  be  called  from the CVS working directory. [cvs-
69              buildpackage]
70
71       cvs-debrelease(1)
72              wrapper around debrelease which allows it to be called from  the
73              CVS  working  directory. [cvs-buildpackage, dupload | dput, ssh-
74              client]
75
76       cvs-debuild(1)
77              A wrapper for cvs-buildpackage to use  debuild  as  its  package
78              building  program.  [cvs-buildpackage,  fakeroot, lintian, gnupg
79              |gnupg2]
80
81       dcmd(1)
82              run a given command replacing the name of  a  .changes  or  .dsc
83              file with each of the files referenced therein. *
84
85       dd-list(1)
86              given a list of packages, pretty-print it ordered by maintainer.
87              *
88
89       debbisect(1)
90              bisect snapshot.debian.org to find which change in  the  archive
91              introduced a certain problem. [mmdebstrap, python3-debian]
92
93       debc(1)
94              List  contents  of  current package.  Do this after a successful
95              "debuild" to see if the package looks all right.
96
97       debchange (abbreviation dch)(1)
98              Modifies debian/changelog and manages version numbers  for  you.
99              It  will either increment the version number or add an entry for
100              the current version, depending upon the  options  given  to  it.
101              [libdistro-info-perl, libsoap-lite-perl]*
102
103       debcheckout(1)
104              checkout the development repository of a Debian package. *
105
106       debclean(1)
107              Clean  a  Debian  source  tree.   Debclean will clean all Debian
108              source trees below the current directory, and if requested, also
109              remove  all  files  that  were generated from these source trees
110              (that is .deb, .dsc and  .changes  files).   It  will  keep  the
111              .diffs  and  original  files,  though,  so that the binaries and
112              other files can be rebuilt if necessary. [fakeroot]*
113
114       debcommit(1)
115              Commits changes to cvs, darcs, svn, svk, tla, bzr, git,  or  hg,
116              using  new  entries  in  debian/changelog as the commit message.
117              Also supports tagging Debian package releases. [cvs  |  darcs  |
118              subversion  |  svk  | tla | bzr | git-core | mercurial, libtime‐
119              date-perl]
120
121       debdiff(1)
122              A program which examines two .deb files or  two  .changes  files
123              and reports on any difference found in their file lists.  Useful
124              for ensuring that no files were inadvertently lost between  ver‐
125              sions.   Can  also  examine  two  .dsc  files  and report on the
126              changes between source versions. For a deeper comparison one can
127              use the diffoscope package. [wdiff, patchutils]*
128
129       debdiff-apply(1)
130              Apply unified diffs of two Debian source packages, such as those
131              generated by debdiff, to a target  Debian  source  package.  Any
132              changes  to  debian/changelog are dealt with specially, to avoid
133              the conflicts that changelog diffs typically  produce  when  ap‐
134              plied naively. May be used to check that old patches still apply
135              to  newer   versions   of   those   packages.   [python3-debian,
136              python3-unidiff, quilt]
137
138       debi(1)
139              Installs  the  current  package  by using the setuid root debpkg
140              script described below.  It assumes that the current package has
141              just  been built (for example by debuild), and the .deb lives in
142              the parent directory, and will effectively run dpkg  -i  on  the
143              .deb.  The ability to install the package with a very short com‐
144              mand is very useful when troubleshooting packages.
145
146       debootsnap(1)
147              Combines debootstrap and snapshot.debian.org to create a  chroot
148              containing exactly the requested selection of packages. This can
149              be used to re-create a chroot from the past, for example to  re‐
150              produce  a  bug.  The tool is also used by debrebuild to build a
151              package in a chroot with build dependencies in the same  version
152              as recorded in the buildinfo file. [python3-pycurl, mmdebstrap]
153
154       debpkg(1)
155              A  wrapper  for dpkg used by debi to allow convenient testing of
156              packages.  For debpkg to work, it needs to be made setuid  root,
157              and  this needs to be performed by the sysadmin -- it is not in‐
158              stalled as setuid root by default.  (Note that being able to run
159              a  setuid root debpkg is effectively the same as having root ac‐
160              cess to the system, so this should be done with caution.)   Hav‐
161              ing debpkg as a wrapper for dpkg can be a Good Thing (TM), as it
162              decreases the potential for damage by accidental  wrong  use  of
163              commands in superuser mode (e.g., an inadvertent rm -rf * in the
164              wrong directory is disastrous as many can attest to).
165
166       debrelease(1)
167              A wrapper around dupload or dput which figures out which version
168              to  upload,  and  then calls dupload or dput to actually perform
169              the upload. [dupload | dput, ssh-client]
170
171       debrebuild(1)
172              A script that provided a .buildinfo file  reports  the  instruc‐
173              tions  on  how to try to reproduce the reported build. [sbuild |
174              mmdebstrap, python3-pycurl, libdpkg-perl]
175
176       debrepro(1)
177              A script that tests reproducibility of Debian packages. It  will
178              build  a  given  source directory twice, with a set of variation
179              between the first and second build, and compare the binary pack‐
180              ages produced. If diffoscope is installed, it is used to compare
181              non-matching binaries. If disorderfs is installed,  it  is  used
182              during the build to inject non-determinism in filesystem listing
183              operations. [faketime, diffoscope, disorderfs]
184
185       debrsign(1)
186              This transfers a .changes/.dsc pair  to  a  remote  machine  for
187              signing, and runs debsign on the remote machine over an SSH con‐
188              nection. [gnupg | gnupg2, debian-keyring, ssh-client]
189
190       debsign(1)
191              Use GNU Privacy Guard to sign the  changes  (and  possibly  dsc)
192              files created by running dpkg-buildpackage with no-sign options.
193              Useful if you are building a package on  a  remote  machine  and
194              wish to sign it on a local one.  This script is capable of auto‐
195              matically downloading the .changes and .dsc files from a  remote
196              machine. [gnupg |gnupg2, debian-keyring, ssh-client]*
197
198       debsnap(1)
199              grab  packages  from  https://snapshot.debian.org  [libwww-perl,
200              libjson-perl]
201
202       debuild(1)
203              A wrapper for building a package  (i.e.,  dpkg-buildpackage)  to
204              avoid  problems  with  insufficient  permissions and wrong paths
205              etc. Debuild will set up the proper environment for  building  a
206              package.  Debuild  will  use  the  fakeroot program to build the
207              package by default, but can be instructed to use any other gain-
208              root command, or can even be installed setuid root.  Debuild can
209              also be used to run various of the debian/rules operations  with
210              the  same  root-gaining procedure. Debuild will also run lintian
211              to check that the package does not have any major policy  viola‐
212              tions. [fakeroot, lintian, gnupg | gnupg2]*
213
214       deb-janitor(1)
215              command-line client for interacting with the Debian Janitor.
216
217       deb-reversion(1)
218              increases  a binary package version number and repacks the pack‐
219              age, useful for porters and the like.
220
221       deb-why-removed(1)
222              shows the reason a package was removed from the  archive.  [lib‐
223              dpkg-perl]
224
225       dep3changelog(1)
226              generate a changelog entry from a DEP3-style patch header.
227
228       desktop2menu(1)
229              given  a freedesktop.org desktop file, generate a skeleton for a
230              menu file. [libfile-desktopentry-perl]
231
232       dget(1)
233              Downloads Debian source and binary packages. Point at a .changes
234              or .dsc to download all references files. Specify a package name
235              to download it from the configured apt repository. [wget | curl]
236
237       diff2patches(1)
238              extracts patches from a .diff.gz file placing them under debian/
239              or, if present, debian/patches. [patchutils]
240
241       dpkg-depcheck, dpkg-genbuilddeps(1)
242              Runs  a  specified command (such as debian/rules build) or dpkg-
243              buildpackage, respectively, to determine the packages used  dur‐
244              ing  the  build  process.   This information can be helpful when
245              trying to determine the packages  needed  in  the  Build-Depends
246              etc. lines in the debian/control file. [build-essential, strace]
247
248       dscextract(1)
249              extract a single file from a Debian source package. [patchutils]
250
251       dscverify(1)
252              check  the signature and MD5 sums of a dsc file against the most
253              current Debian keyring on your system. [gnupg | gnupg2,  debian-
254              keyring]
255
256       edit-patch(1)
257              add/edit  a  patch  for a source package and commit the changes.
258              [quilt | dpatch | cdbs]
259
260       getbuildlog(1)
261              download package build logs from Debian auto-builders. [wget]
262
263       git-deborig(1)
264              try to produce Debian orig.tar using  git-archive(1).  [libdpkg-
265              perl, libgit-wrapper-perl, liblist-compare-perl, libstring-shel‐
266              lquote-perl, libtry-tiny-perl]
267
268       grep-excuses(1)
269              grep britney's excuses to find out what  is  happening  to  your
270              packages. [libdbd-pg-perl, libterm-size-perl, libyaml-syck-perl,
271              wget, w3m]
272
273       hardening-check(1)
274              report the hardening characteristics of a set of binaries.
275
276       list-unreleased(1)
277              searches for packages marked UNRELEASED in their changelog.
278
279       ltnu (Long Time No Upload)(1)
280              List all uploads of packages by the given uploader or maintainer
281              and  display  them  ordered  by the last upload of that package,
282              oldest uploads first.
283
284       manpage-alert(1)
285              locate binaries without corresponding manpages. [man-db]
286
287       mass-bug(1)
288              mass-file bug reports. [bsd-mailx | mailx]
289
290       mergechanges(1)
291              merge .changes files from the same release but built on  differ‐
292              ent architectures.
293
294       mk-build-deps(1)
295              Given  a  package  name  and/or  control file, generate a binary
296              package which may be installed to satisfy the build-dependencies
297              of the given package. [equivs]
298
299       mk-origtargz(1)
300              Rename upstream tarball, optionally changing the compression and
301              removing unwanted files. [libfile-which-perl,  unzip,  xz-utils,
302              file]
303
304       namecheck(1)
305              Check project names are not already taken.
306
307       nmudiff(1)
308              prepare  a  diff  of this version (presumably an NMU against the
309              previously released version (as per the  changelog)  and  submit
310              the diff to the BTS. [patchutils, mutt]
311
312       origtargz(1)
313              fetch the orig tarball of a Debian package from various sources,
314              and unpack it. [pristine-tar, pristine-lfs]
315
316       plotchangelog(1)
317              display information from a changelog graphically using  gnuplot.
318              [libtimedate-perl, gnuplot]
319
320       pts-subscribe(1)
321              subscribe to the PTS (Package Tracking System) for a limited pe‐
322              riod of time. [bsd-mailx | mailx, at]
323
324       rc-alert(1)
325              list installed packages which have release-critical bugs.  [wget
326              | curl]
327
328       reproducible-check(1)
329              reports  on  the  reproducible status of installed packages. For
330              more details please see <https://reproducible-builds.org>.
331
332       rmadison(1)
333              remotely query  the  Debian  archive  database  about  packages.
334              [liburi-perl, wget | curl]
335
336       sadt(1)
337              run DEP-8 tests. [python3-debian, autodep8]
338
339       salsa(1)
340              manipulates  salsa.debian.org repositories and users [libgitlab-
341              api-v4-perl]
342
343       suspicious-source(1)
344              output a list of  files  which  are  not  common  source  files.
345              [python3-magic]
346
347       svnpath(1)
348              Prints  the  path  to  the Subversion repository of a Subversion
349              checkout. Also supports calculating the paths for  branches  and
350              tags  in  a repository independent fashion. Used by debcommit to
351              generate svn tags. [subversion]
352
353       tagpending(1)
354              runs from a Debian source tree and tags  bugs  that  are  to  be
355              closed in the latest changelog as pending. [libsoap-lite-perl]
356
357       transition-check(1)
358              Check  a  list of source packages for involvement in transitions
359              for which uploads to unstable are  currently  blocked.  [libwww-
360              perl, libyaml-syck-perl]
361
362       uscan(1)
363              Automatically scan for and download upstream updates.  Uscan can
364              also call a program such as uupdate to attempt to update the De‐
365              bianised version based on the new update.  Whilst uscan could be
366              used to release the updated version automatically, it is  proba‐
367              bly better not to without testing it first.  Uscan can also ver‐
368              ify detached OpenPGP signatures if  upstream's  signing  key  is
369              known.  [file,  gpgv  |  gpgv2, gnupg | gnupg2, libfile-dirlist-
370              perl, libfile-touch-perl,  libfile-which-perl,  liblwp-protocol-
371              https-perl, libmoo-perl, libwww-perl, unzip, xz-utils]*
372
373       uupdate(1)
374              Update  the  package with an archive or patches from an upstream
375              author.  This will be of help if you have to update  your  pack‐
376              age.   It will try to apply the latest diffs to your package and
377              tell you how successful it was. [patch]
378
379       what-patch(1)
380              determine what patch system, if any, a source package is  using.
381              [patchutils]
382
383       whodepends(1)
384              check which maintainers' packages depend on a package.
385
386       who-permits-upload(1)
387              Retrieve  information  about  Debian  Maintainer  access control
388              lists. [gnupg | gnupg2, libencode-locale-perl, libwww-perl,  de‐
389              bian-keyring]
390
391       who-uploads(1)
392              determine  the  most recent uploaders of a package to the Debian
393              archive. [gnupg |  gnupg2,  debian-keyring,  debian-maintainers,
394              wget]
395
396       wnpp-alert(1)
397              list  installed  packages which are orphaned or up for adoption.
398              [wget | curl]
399
400       wnpp-check(1)
401              check whether there is an open request for packaging  or  inten‐
402              tion to package bug for a package. [wget | curl]
403
404       wrap-and-sort(1)
405              wrap  long lines and sort items in packaging files. [python3-de‐
406              bian]
407
408
409
410DEBIAN                         Debian Utilities                  DEVSCRIPTS(1)
Impressum