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