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