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,   libsoap-lite-perl,  liburi-perl,  libwww-
48              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 dpkg.  It assumes that the
140              current package has just been built (for  example  by  debuild),
141              and the .deb lives in the parent directory, and will effectively
142              run dpkg -i on the .deb. The ability to install the package with
143              a  very  short command is very useful when troubleshooting pack‐
144              ages.
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. [apt-utils, dpkg-dev, equivs,
153              mmdebstrap, python3-pycurl]
154
155       debrelease(1)
156              A wrapper around dupload or dput which figures out which version
157              to  upload,  and  then calls dupload or dput to actually perform
158              the upload. [dupload | dput, ssh-client]
159
160       debrebuild(1)
161              A script that provided a .buildinfo file  reports  the  instruc‐
162              tions  on  how to try to reproduce the reported build. [sbuild |
163              mmdebstrap, python3-pycurl, libdpkg-perl]
164
165       debrepro(1)
166              A script that tests reproducibility of Debian packages. It  will
167              build  a  given  source directory twice, with a set of variation
168              between the first and second build, and compare the binary pack‐
169              ages produced. If diffoscope is installed, it is used to compare
170              non-matching binaries. If disorderfs is installed,  it  is  used
171              during the build to inject non-determinism in filesystem listing
172              operations. [faketime, diffoscope, disorderfs]
173
174       debrsign(1)
175              This transfers a .changes/.dsc pair  to  a  remote  machine  for
176              signing, and runs debsign on the remote machine over an SSH con‐
177              nection. [gnupg | gnupg2, debian-keyring, ssh-client]
178
179       debsign(1)
180              Use GNU Privacy Guard to sign the  changes  (and  possibly  dsc)
181              files created by running dpkg-buildpackage with no-sign options.
182              Useful if you are building a package on  a  remote  machine  and
183              wish to sign it on a local one.  This script is capable of auto‐
184              matically downloading the .changes and .dsc files from a  remote
185              machine. [gnupg |gnupg2, debian-keyring, ssh-client]*
186
187       debsnap(1)
188              grab  packages  from  https://snapshot.debian.org  [libwww-perl,
189              libjson-perl]
190
191       debuild(1)
192              A wrapper for building a package  (i.e.,  dpkg-buildpackage)  to
193              avoid  problems  with  insufficient  permissions and wrong paths
194              etc. Debuild will set up the proper environment for  building  a
195              package.  Debuild  will  use  the  fakeroot program to build the
196              package by default, but can be instructed to use any other gain-
197              root command, or can even be installed setuid root.  Debuild can
198              also be used to run various of the debian/rules operations  with
199              the  same  root-gaining procedure. Debuild will also run lintian
200              to check that the package does not have any major policy  viola‐
201              tions. [fakeroot, lintian, gnupg | gnupg2]*
202
203       deb-janitor(1)
204              command-line client for interacting with the Debian Janitor.
205
206       deb-reversion(1)
207              increases  a binary package version number and repacks the pack‐
208              age, useful for porters and the like.
209
210       deb-why-removed(1)
211              shows the reason a package was removed from the  archive.  [lib‐
212              dpkg-perl]
213
214       dep3changelog(1)
215              generate a changelog entry from a DEP3-style patch header.
216
217       desktop2menu(1)
218              given  a freedesktop.org desktop file, generate a skeleton for a
219              menu file. [libfile-desktopentry-perl]
220
221       dget(1)
222              Downloads Debian source and binary packages. Point at a .changes
223              or .dsc to download all references files. Specify a package name
224              to download it from the configured apt repository. [wget | curl]
225
226       diff2patches(1)
227              extracts patches from a .diff.gz file placing them under debian/
228              or, if present, debian/patches. [patchutils]
229
230       dpkg-depcheck, dpkg-genbuilddeps(1)
231              Runs  a  specified command (such as debian/rules build) or dpkg-
232              buildpackage, respectively, to determine the packages used  dur‐
233              ing  the  build  process.   This information can be helpful when
234              trying to determine the packages  needed  in  the  Build-Depends
235              etc. lines in the debian/control file. [build-essential, strace]
236
237       dscextract(1)
238              extract a single file from a Debian source package. [patchutils]
239
240       dscverify(1)
241              check  the signature and MD5 sums of a dsc file against the most
242              current Debian keyring on your system. [gnupg | gnupg2,  debian-
243              keyring]
244
245       edit-patch(1)
246              add/edit  a  patch  for a source package and commit the changes.
247              [quilt | dpatch | cdbs]
248
249       getbuildlog(1)
250              download package build logs from Debian auto-builders. [wget]
251
252       git-deborig(1)
253              try to produce Debian orig.tar using  git-archive(1).  [libdpkg-
254              perl, libgit-wrapper-perl, liblist-compare-perl, libstring-shel‐
255              lquote-perl, libtry-tiny-perl]
256
257       grep-excuses(1)
258              grep britney's excuses to find out what  is  happening  to  your
259              packages. [libdbd-pg-perl, libterm-size-perl, libyaml-syck-perl,
260              wget, w3m]
261
262       hardening-check(1)
263              report the hardening characteristics of a set of binaries.
264
265       list-unreleased(1)
266              searches for packages marked UNRELEASED in their changelog.
267
268       ltnu (Long Time No Upload)(1)
269              List all uploads of packages by the given uploader or maintainer
270              and  display  them  ordered  by the last upload of that package,
271              oldest uploads first.
272
273       manpage-alert(1)
274              locate binaries without corresponding manpages. [man-db]
275
276       mass-bug(1)
277              mass-file bug reports. [bsd-mailx | mailx]
278
279       mergechanges(1)
280              merge .changes files from the same release but built on  differ‐
281              ent architectures.
282
283       mk-build-deps(1)
284              Given  a  package  name  and/or  control file, generate a binary
285              package which may be installed to satisfy the build-dependencies
286              of the given package. [equivs]
287
288       mk-origtargz(1)
289              Rename upstream tarball, optionally changing the compression and
290              removing unwanted files. [libfile-which-perl,  unzip,  xz-utils,
291              file]
292
293       namecheck(1)
294              Check project names are not already taken.
295
296       nmudiff(1)
297              prepare  a  diff  of this version (presumably an NMU against the
298              previously released version (as per the  changelog)  and  submit
299              the diff to the BTS. [patchutils, mutt]
300
301       origtargz(1)
302              fetch the orig tarball of a Debian package from various sources,
303              and unpack it. [pristine-tar, pristine-lfs]
304
305       plotchangelog(1)
306              display information from a changelog graphically using  gnuplot.
307              [libtimedate-perl, gnuplot]
308
309       pts-subscribe(1)
310              subscribe to the PTS (Package Tracking System) for a limited pe‐
311              riod of time. [bsd-mailx | mailx, at]
312
313       rc-alert(1)
314              list installed packages which have release-critical bugs.  [wget
315              | curl]
316
317       reproducible-check(1)
318              reports  on  the  reproducible status of installed packages. For
319              more details please see <https://reproducible-builds.org>.
320
321       rmadison(1)
322              remotely query  the  Debian  archive  database  about  packages.
323              [liburi-perl, wget | curl]
324
325       sadt(1)
326              run DEP-8 tests. [python3-debian, autodep8]
327
328       salsa(1)
329              manipulates  salsa.debian.org repositories and users [libgitlab-
330              api-v4-perl]
331
332       suspicious-source(1)
333              output a list of  files  which  are  not  common  source  files.
334              [python3-magic]
335
336       svnpath(1)
337              Prints  the  path  to  the Subversion repository of a Subversion
338              checkout. Also supports calculating the paths for  branches  and
339              tags  in  a repository independent fashion. Used by debcommit to
340              generate svn tags. [subversion]
341
342       tagpending(1)
343              runs from a Debian source tree and tags  bugs  that  are  to  be
344              closed in the latest changelog as pending. [libsoap-lite-perl]
345
346       transition-check(1)
347              Check  a  list of source packages for involvement in transitions
348              for which uploads to unstable are  currently  blocked.  [libwww-
349              perl, libyaml-syck-perl]
350
351       uscan(1)
352              Automatically scan for and download upstream updates.  Uscan can
353              also call a program such as uupdate to attempt to update the De‐
354              bianised version based on the new update.  Whilst uscan could be
355              used to release the updated version automatically, it is  proba‐
356              bly better not to without testing it first.  Uscan can also ver‐
357              ify detached OpenPGP signatures if  upstream's  signing  key  is
358              known.  [file,  gpgv  |  gpgv2, gnupg | gnupg2, libfile-dirlist-
359              perl, libfile-touch-perl,  libfile-which-perl,  liblwp-protocol-
360              https-perl, libmoo-perl, libwww-perl, unzip, xz-utils]*
361
362       uupdate(1)
363              Update  the  package with an archive or patches from an upstream
364              author.  This will be of help if you have to update  your  pack‐
365              age.   It will try to apply the latest diffs to your package and
366              tell you how successful it was. [patch]
367
368       what-patch(1)
369              determine what patch system, if any, a source package is  using.
370              [patchutils]
371
372       whodepends(1)
373              check which maintainers' packages depend on a package.
374
375       who-permits-upload(1)
376              Retrieve  information  about  Debian  Maintainer  access control
377              lists. [gnupg | gnupg2, libencode-locale-perl, libwww-perl,  de‐
378              bian-keyring]
379
380       who-uploads(1)
381              determine  the  most recent uploaders of a package to the Debian
382              archive. [gnupg |  gnupg2,  debian-keyring,  debian-maintainers,
383              wget]
384
385       wnpp-alert(1)
386              list  installed  packages which are orphaned or up for adoption.
387              [wget | curl]
388
389       wnpp-check(1)
390              check whether there is an open request for packaging  or  inten‐
391              tion to package bug for a package. [wget | curl]
392
393       wrap-and-sort(1)
394              wrap  long lines and sort items in packaging files. [python3-de‐
395              bian]
396
397
398
399DEBIAN                         Debian Utilities                  DEVSCRIPTS(1)
Impressum