# phpman > man > devscripts(1)

[DEVSCRIPTS(1)](https://www.chedong.com/phpMan.php/man/DEVSCRIPTS/1/markdown)                          General Commands Manual                         [DEVSCRIPTS(1)](https://www.chedong.com/phpMan.php/man/DEVSCRIPTS/1/markdown)



## NAME
       devscripts - scripts to ease the lives of Debian developers

## DESCRIPTION
       The  **devscripts** package provides a collection of scripts which may be of use to Debian devel‐
       opers and others wishing to build Debian packages.  For a summary of the  available  scripts,
       please see the file _/usr/share/doc/devscripts/README.gz_, and for full details, please see the
       individual manpages.  They are contributed by multiple developers; for  details  of  the  au‐
       thors, please see the code or manpages.

       Also, the directory _/usr/share/doc/devscripts/examples_ contains examples of **procmail** and **exim**
       scripts for sorting mail arriving to Debian mailing lists.

## ENVIRONMENT
       Several scripts of the devscripts suite use the following environment  variables.  Check  the
       man pages of individual scripts for more details on how the variables are used.

       DEBEMAIL
           Email of the person acting on a given Debian package via devscripts.

       DEBFULLNAME
           Full name (first + family) of the person acting on a given Debian package via devscripts.

## SCRIPTS
       Here  is  the complete list of available devscripts. See their man pages for additional docu‐
       mentation.

       [_annotate-output_(1)](https://www.chedong.com/phpMan.php/man/annotate-output/1/markdown)
              run a command and prepend time and stream (O for stdout, E for stderr) for every  line
              of output.

       [_archpath_(1)](https://www.chedong.com/phpMan.php/man/archpath/1/markdown)
              Prints  arch  (tla/Bazaar)  package names. Also supports calculating the package names
              for other branches. [tla | bazaar]

       [_bts_(1)](https://www.chedong.com/phpMan.php/man/bts/1/markdown) A command-line tool for accessing the Debian Bug Tracking System, both to  send  mails
              to  <control@bts.debian.org>  and to access the web pages and SOAP interface of the BTS.
              [www-browser, libauthen-sasl-perl, libnet-smtps-perl, libsoap-lite-perl,  liburi-perl,
              libwww-perl, bsd-mailx | mailx]

       [_build-rdeps_(1)](https://www.chedong.com/phpMan.php/man/build-rdeps/1/markdown)
              Searches for all packages that build-depend on a given package. [dctrl-tools, dose-ex‐
              tra, libdpkg-perl]

       [_chdist_(1)](https://www.chedong.com/phpMan.php/man/chdist/1/markdown)
              tool to easily play with several distributions. [dctrl-tools]

       [_checkbashisms_(1)](https://www.chedong.com/phpMan.php/man/checkbashisms/1/markdown)
              check whether a /bin/sh script contains any common bash-specific constructs.

       [_cowpoke_(1)](https://www.chedong.com/phpMan.php/man/cowpoke/1/markdown)
              upload a Debian source package to a cowbuilder host  and  build  it,  optionally  also
              signing and uploading the result to an incoming queue. [ssh-client]

       _cvs-debi,_ [_cvs-debc_(1)](https://www.chedong.com/phpMan.php/man/cvs-debc/1/markdown)
              wrappers  around  debi and debc respectively (see below) which allow them to be called
              from the CVS working directory. [cvs-buildpackage]

       [_cvs-debrelease_(1)](https://www.chedong.com/phpMan.php/man/cvs-debrelease/1/markdown)
              wrapper around debrelease which allows it to be called from the CVS working directory.
              [cvs-buildpackage, dupload | dput, ssh-client]

       [_cvs-debuild_(1)](https://www.chedong.com/phpMan.php/man/cvs-debuild/1/markdown)
              A  wrapper  for cvs-buildpackage to use debuild as its package building program. [cvs-
              buildpackage, fakeroot, lintian, gnupg |gnupg2]

       [_dcmd_(1)](https://www.chedong.com/phpMan.php/man/dcmd/1/markdown)
              run a given command replacing the name of a .changes or .dsc file  with  each  of  the
              files referenced therein. *

       [_dd-list_(1)](https://www.chedong.com/phpMan.php/man/dd-list/1/markdown)
              given a list of packages, pretty-print it ordered by maintainer. *

       [_debbisect_(1)](https://www.chedong.com/phpMan.php/man/debbisect/1/markdown)
              bisect  snapshot.debian.org  to  find which change in the archive introduced a certain
              problem. [mmdebstrap, python3-debian]

       [_debc_(1)](https://www.chedong.com/phpMan.php/man/debc/1/markdown)
              List contents of current package.  Do this after a successful "debuild" to see if  the
              package looks all right.

       _debchange_ _(abbreviation_ _dch)[_(1)](https://www.chedong.com/phpMan.php/man//1/markdown)
              Modifies  debian/changelog and manages version numbers for you.  It will either incre‐
              ment the version number or add an entry for the current version,  depending  upon  the
              options given to it. [libdistro-info-perl, libsoap-lite-perl]*

       [_debcheckout_(1)](https://www.chedong.com/phpMan.php/man/debcheckout/1/markdown)
              checkout the development repository of a Debian package. *

       [_debclean_(1)](https://www.chedong.com/phpMan.php/man/debclean/1/markdown)
              Clean  a  Debian  source  tree.  Debclean will clean all Debian source trees below the
              current directory, and if requested, also remove all files that  were  generated  from
              these  source  trees (that is .deb, .dsc and .changes files).  It will keep the .diffs
              and original files, though, so that the binaries and other files  can  be  rebuilt  if
              necessary. [fakeroot]*

       [_debcommit_(1)](https://www.chedong.com/phpMan.php/man/debcommit/1/markdown)
              Commits  changes  to  cvs, darcs, svn, svk, tla, bzr, git, or hg, using new entries in
              debian/changelog as the commit message. Also supports tagging Debian package releases.
              [cvs | darcs | subversion | svk | tla | bzr | git-core | mercurial, libtimedate-perl]

       [_debdiff_(1)](https://www.chedong.com/phpMan.php/man/debdiff/1/markdown)
              A  program which examines two .deb files or two .changes files and reports on any dif‐
              ference found in their file lists.  Useful for ensuring that no  files  were  inadver‐
              tently  lost  between  versions.   Can  also  examine two .dsc files and report on the
              changes between source versions. For a deeper comparison one can  use  the  diffoscope
              package. [wdiff, patchutils]*

       [_debdiff-apply_(1)](https://www.chedong.com/phpMan.php/man/debdiff-apply/1/markdown)
              Apply unified diffs of two Debian source packages, such as those generated by debdiff,
              to a target Debian source package. Any changes to debian/changelog are dealt with spe‐
              cially,  to  avoid  the  conflicts that changelog diffs typically produce when applied
              naively. May be used to check that old patches still apply to newer versions of  those
              packages. [python3-debian, python3-unidiff, quilt]

       [_debi_(1)](https://www.chedong.com/phpMan.php/man/debi/1/markdown)
              Installs  the  current package by using the setuid root debpkg script described below.
              It assumes that the current package has just been built (for example by debuild),  and
              the  .deb lives in the parent directory, and will effectively run dpkg -i on the .deb.
              The ability to install the package with a very short command is very useful when trou‐
              bleshooting packages.

       [_debootsnap_(1)](https://www.chedong.com/phpMan.php/man/debootsnap/1/markdown)
              Combines debootstrap and snapshot.debian.org to create a chroot containing exactly the
              requested selection of packages. This can be used to re-create a chroot from the past,
              for example to reproduce a bug. The tool is also used by debrebuild to build a package
              in a chroot with build dependencies in the same version as recorded in  the  buildinfo
              file. [python3-pycurl, mmdebstrap]

       [_debpkg_(1)](https://www.chedong.com/phpMan.php/man/debpkg/1/markdown)
              A  wrapper  for dpkg used by debi to allow convenient testing of packages.  For debpkg
              to work, it needs to be made setuid root, and this needs to be performed by the sysad‐
              min  -- it is not installed as setuid root by default.  (Note that being able to run a
              setuid root debpkg is effectively the same as having root access  to  the  system,  so
              this  should be done with caution.)  Having debpkg as a wrapper for dpkg can be a Good
              Thing (TM), as it decreases the potential for damage by accidental wrong use  of  com‐
              mands  in superuser mode (e.g., an inadvertent rm -rf * in the wrong directory is dis‐
              astrous as many can attest to).

       [_debrelease_(1)](https://www.chedong.com/phpMan.php/man/debrelease/1/markdown)
              A wrapper around dupload or dput which figures out which version to upload,  and  then
              calls dupload or dput to actually perform the upload. [dupload | dput, ssh-client]

       [_debrebuild_(1)](https://www.chedong.com/phpMan.php/man/debrebuild/1/markdown)
              A script that provided a .buildinfo file reports the instructions on how to try to re‐
              produce the reported build. [sbuild | mmdebstrap, python3-pycurl, libdpkg-perl]

       [_debrepro_(1)](https://www.chedong.com/phpMan.php/man/debrepro/1/markdown)
              A script that tests reproducibility of Debian packages. It will build a  given  source
              directory  twice, with a set of variation between the first and second build, and com‐
              pare the binary packages produced. If diffoscope is installed, it is used  to  compare
              non-matching  binaries. If disorderfs is installed, it is used during the build to in‐
              ject non-determinism in filesystem listing operations. [faketime,  diffoscope,  disor‐
              derfs]

       [_debrsign_(1)](https://www.chedong.com/phpMan.php/man/debrsign/1/markdown)
              This  transfers a .changes/.dsc pair to a remote machine for signing, and runs debsign
              on the remote machine over an SSH connection. [gnupg |  gnupg2,  debian-keyring,  ssh-
              client]

       [_debsign_(1)](https://www.chedong.com/phpMan.php/man/debsign/1/markdown)
              Use  GNU Privacy Guard to sign the changes (and possibly dsc) files created by running
              dpkg-buildpackage with no-sign options.  Useful if you are building a package on a re‐
              mote  machine and wish to sign it on a local one.  This script is capable of automati‐
              cally downloading the .changes and .dsc files from a remote machine.  [gnupg  |gnupg2,
              debian-keyring, ssh-client]*

       [_debsnap_(1)](https://www.chedong.com/phpMan.php/man/debsnap/1/markdown)
              grab packages from <https://snapshot.debian.org> [libwww-perl, libjson-perl]

       [_debuild_(1)](https://www.chedong.com/phpMan.php/man/debuild/1/markdown)
              A  wrapper for building a package (i.e., dpkg-buildpackage) to avoid problems with in‐
              sufficient permissions and wrong paths etc. Debuild will set up the proper environment
              for  building a package. Debuild will use the fakeroot program to build the package by
              default, but can be instructed to use any other gain-root command, or can even be  in‐
              stalled  setuid root.  Debuild can also be used to run various of the debian/rules op‐
              erations with the same root-gaining procedure. Debuild will also run lintian to  check
              that  the package does not have any major policy violations. [fakeroot, lintian, gnupg
              | gnupg2]*

       [_deb-janitor_(1)](https://www.chedong.com/phpMan.php/man/deb-janitor/1/markdown)
              command-line client for interacting with the Debian Janitor.

       [_deb-reversion_(1)](https://www.chedong.com/phpMan.php/man/deb-reversion/1/markdown)
              increases a binary package version number and repacks the package, useful for  porters
              and the like.

       [_deb-why-removed_(1)](https://www.chedong.com/phpMan.php/man/deb-why-removed/1/markdown)
              shows the reason a package was removed from the archive. [libdpkg-perl]

       [_dep3changelog_(1)](https://www.chedong.com/phpMan.php/man/dep3changelog/1/markdown)
              generate a changelog entry from a DEP3-style patch header.

       [_desktop2menu_(1)](https://www.chedong.com/phpMan.php/man/desktop2menu/1/markdown)
              given  a  freedesktop.org desktop file, generate a skeleton for a menu file. [libfile-
              desktopentry-perl]

       [_dget_(1)](https://www.chedong.com/phpMan.php/man/dget/1/markdown)
              Downloads Debian source and binary packages. Point at a .changes or .dsc  to  download
              all  references  files.  Specify a package name to download it from the configured apt
              repository. [wget | curl]

       [_diff2patches_(1)](https://www.chedong.com/phpMan.php/man/diff2patches/1/markdown)
              extracts patches from a .diff.gz file placing them under debian/ or, if  present,  de‐
              bian/patches. [patchutils]

       _dpkg-depcheck,_ [_dpkg-genbuilddeps_(1)](https://www.chedong.com/phpMan.php/man/dpkg-genbuilddeps/1/markdown)
              Runs  a  specified  command (such as debian/rules build) or dpkg-buildpackage, respec‐
              tively, to determine the packages used during the build process.  This information can
              be  helpful  when  trying  to  determine the packages needed in the Build-Depends etc.
              lines in the debian/control file. [build-essential, strace]

       [_dscextract_(1)](https://www.chedong.com/phpMan.php/man/dscextract/1/markdown)
              extract a single file from a Debian source package. [patchutils]

       [_dscverify_(1)](https://www.chedong.com/phpMan.php/man/dscverify/1/markdown)
              check the signature and MD5 sums of a dsc file against the most current Debian keyring
              on your system. [gnupg | gnupg2, debian-keyring]

       [_edit-patch_(1)](https://www.chedong.com/phpMan.php/man/edit-patch/1/markdown)
              add/edit a patch for a source package and commit the changes. [quilt | dpatch | cdbs]

       [_getbuildlog_(1)](https://www.chedong.com/phpMan.php/man/getbuildlog/1/markdown)
              download package build logs from Debian auto-builders. [wget]

       [_git-deborig_(1)](https://www.chedong.com/phpMan.php/man/git-deborig/1/markdown)
              try  to  produce  Debian orig.tar using [git-archive(1)](https://www.chedong.com/phpMan.php/man/git-archive/1/markdown). [libdpkg-perl, libgit-wrapper-
              perl, liblist-compare-perl, libstring-shellquote-perl, libtry-tiny-perl]

       [_grep-excuses_(1)](https://www.chedong.com/phpMan.php/man/grep-excuses/1/markdown)
              grep britney's excuses to find out what is happening  to  your  packages.  [libdbd-pg-
              perl, libterm-size-perl, libyaml-syck-perl, wget, w3m]

       [_hardening-check_(1)](https://www.chedong.com/phpMan.php/man/hardening-check/1/markdown)
              report the hardening characteristics of a set of binaries.

       [_list-unreleased_(1)](https://www.chedong.com/phpMan.php/man/list-unreleased/1/markdown)
              searches for packages marked UNRELEASED in their changelog.

       _ltnu_ _(Long_ _Time_ _No_ _Upload)[_(1)](https://www.chedong.com/phpMan.php/man//1/markdown)
              List  all uploads of packages by the given uploader or maintainer and display them or‐
              dered by the last upload of that package, oldest uploads first.

       [_manpage-alert_(1)](https://www.chedong.com/phpMan.php/man/manpage-alert/1/markdown)
              locate binaries without corresponding manpages. [man-db]

       [_mass-bug_(1)](https://www.chedong.com/phpMan.php/man/mass-bug/1/markdown)
              mass-file bug reports. [bsd-mailx | mailx]

       [_mergechanges_(1)](https://www.chedong.com/phpMan.php/man/mergechanges/1/markdown)
              merge .changes files from the same release but built on different architectures.

       [_mk-build-deps_(1)](https://www.chedong.com/phpMan.php/man/mk-build-deps/1/markdown)
              Given a package name and/or control file, generate a binary package which may  be  in‐
              stalled to satisfy the build-dependencies of the given package. [equivs]

       [_mk-origtargz_(1)](https://www.chedong.com/phpMan.php/man/mk-origtargz/1/markdown)
              Rename  upstream  tarball,  optionally  changing the compression and removing unwanted
              files. [libfile-which-perl, unzip, xz-utils, file]

       [_namecheck_(1)](https://www.chedong.com/phpMan.php/man/namecheck/1/markdown)
              Check project names are not already taken.

       [_nmudiff_(1)](https://www.chedong.com/phpMan.php/man/nmudiff/1/markdown)
              prepare a diff of this version (presumably an NMU against the previously released ver‐
              sion (as per the changelog) and submit the diff to the BTS. [patchutils, mutt]

       [_origtargz_(1)](https://www.chedong.com/phpMan.php/man/origtargz/1/markdown)
              fetch the orig tarball of a Debian package from various sources, and unpack it. [pris‐
              tine-tar, pristine-lfs]

       [_plotchangelog_(1)](https://www.chedong.com/phpMan.php/man/plotchangelog/1/markdown)
              display information from a changelog  graphically  using  gnuplot.  [libtimedate-perl,
              gnuplot]

       [_pts-subscribe_(1)](https://www.chedong.com/phpMan.php/man/pts-subscribe/1/markdown)
              subscribe  to  the  PTS  (Package Tracking System) for a limited period of time. [bsd-
              mailx | mailx, at]

       [_rc-alert_(1)](https://www.chedong.com/phpMan.php/man/rc-alert/1/markdown)
              list installed packages which have release-critical bugs. [wget | curl]

       [_reproducible-check_(1)](https://www.chedong.com/phpMan.php/man/reproducible-check/1/markdown)
              reports on the reproducible status of installed packages. For more details please  see
              <<https://reproducible-builds.org>>.

       [_rmadison_(1)](https://www.chedong.com/phpMan.php/man/rmadison/1/markdown)
              remotely query the Debian archive database about packages. [liburi-perl, wget | curl]

       [_sadt_(1)](https://www.chedong.com/phpMan.php/man/sadt/1/markdown)
              run DEP-8 tests. [python3-debian]

       [_salsa_(1)](https://www.chedong.com/phpMan.php/man/salsa/1/markdown)
              manipulates salsa.debian.org repositories and users [libgitlab-api-v4-perl]

       [_suspicious-source_(1)](https://www.chedong.com/phpMan.php/man/suspicious-source/1/markdown)
              output a list of files which are not common source files. [python3-magic]

       [_svnpath_(1)](https://www.chedong.com/phpMan.php/man/svnpath/1/markdown)
              Prints  the  path to the Subversion repository of a Subversion checkout. Also supports
              calculating the paths for branches and tags in a repository independent fashion.  Used
              by debcommit to generate svn tags. [subversion]

       [_tagpending_(1)](https://www.chedong.com/phpMan.php/man/tagpending/1/markdown)
              runs  from  a  Debian  source  tree  and tags bugs that are to be closed in the latest
              changelog as pending. [libsoap-lite-perl]

       [_transition-check_(1)](https://www.chedong.com/phpMan.php/man/transition-check/1/markdown)
              Check a list of source packages for involvement in transitions for  which  uploads  to
              unstable are currently blocked. [libwww-perl, libyaml-syck-perl]

       [_uscan_(1)](https://www.chedong.com/phpMan.php/man/uscan/1/markdown)
              Automatically  scan  for and download upstream updates.  Uscan can also call a program
              such as uupdate to attempt to update the Debianised version based on the  new  update.
              Whilst  uscan could be used to release the updated version automatically, it is proba‐
              bly better not to without testing it first.  Uscan can also  verify  detached  OpenPGP
              signatures  if  upstream's  signing key is known. [file, gpgv | gpgv2, gnupg | gnupg2,
              libfile-dirlist-perl, libfile-touch-perl,  libfile-which-perl,  liblwp-protocol-https-
              perl, libmoo-perl, libwww-perl, unzip, xz-utils]*

       [_uupdate_(1)](https://www.chedong.com/phpMan.php/man/uupdate/1/markdown)
              Update  the  package with an archive or patches from an upstream author.  This will be
              of help if you have to update your package.  It will try to apply the latest diffs  to
              your package and tell you how successful it was. [patch]

       [_what-patch_(1)](https://www.chedong.com/phpMan.php/man/what-patch/1/markdown)
              determine what patch system, if any, a source package is using. [patchutils]

       [_whodepends_(1)](https://www.chedong.com/phpMan.php/man/whodepends/1/markdown)
              check which maintainers' packages depend on a package.

       [_who-permits-upload_(1)](https://www.chedong.com/phpMan.php/man/who-permits-upload/1/markdown)
              Retrieve  information  about  Debian Maintainer access control lists. [gnupg | gnupg2,
              libencode-locale-perl, libwww-perl, debian-keyring]

       [_who-uploads_(1)](https://www.chedong.com/phpMan.php/man/who-uploads/1/markdown)
              determine the most recent uploaders of a package  to  the  Debian  archive.  [gnupg  |
              gnupg2, debian-keyring, debian-maintainers, wget]

       [_wnpp-alert_(1)](https://www.chedong.com/phpMan.php/man/wnpp-alert/1/markdown)
              list installed packages which are orphaned or up for adoption. [wget | curl]

       [_wnpp-check_(1)](https://www.chedong.com/phpMan.php/man/wnpp-check/1/markdown)
              check whether there is an open request for packaging or intention to package bug for a
              package. [wget | curl]

       [_wrap-and-sort_(1)](https://www.chedong.com/phpMan.php/man/wrap-and-sort/1/markdown)
              wrap long lines and sort items in packaging files. [python3-debian]



DEBIAN                                    Debian Utilities                             [DEVSCRIPTS(1)](https://www.chedong.com/phpMan.php/man/DEVSCRIPTS/1/markdown)
