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  exam‐
17       ples  of  procmail and exim scripts for sorting mail arriving to Debian
18       mailing lists.
19

ENVIRONMENT

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

SCRIPTS

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