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