1DEVSCRIPTS(1) General Commands Manual DEVSCRIPTS(1)
2
3
4
6 devscripts - scripts to ease the lives of Debian developers
7
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
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
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 Debian Bug Tracking Sys‐
46 tem, both to send mails to control@bts.debian.org and to
47 access the web pages and SOAP interface of the BTS. [www-
48 browser, libauthen-sasl-perl, libnet-smtps-perl, libsoap-lite-
49 perl, 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-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)[24m(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)[24m(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)