devscripts

DEVSCRIPTS(1)               General Commands Manual              DEVSCRIPTS(1)

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 developers 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 authors, please see the code or manpages.

       Also, the directory /usr/share/doc/devscripts/examples  contains  exam-
       ples  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  de-
           vscripts.

       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 documentation.

       annotate-output(1)
              run  a  command and prepend time and stream (O for stdout, E for
              stderr) for every line of output.

       archpath(1)
              Prints arch (tla/Bazaar) package names. Also supports  calculat-
              ing the package names for other branches. [tla | bazaar]

       bts(1) A  command-line  tool for accessing the Debian Bug Tracking Sys-
              tem, 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)
              Searches  for all packages that build-depend on a given package.
              [dctrl-tools, dose-extra, libdpkg-perl]

       chdist(1)
              tool to easily play with several distributions. [dctrl-tools]

       checkbashisms(1)
              check whether a /bin/sh script contains any common bash-specific
              constructs.

       cowpoke(1)
              upload  a  Debian  source package to a cowbuilder host and build
              it, optionally also signing and uploading the result to  an  in-
              coming queue. [ssh-client]

       cvs-debi, cvs-debc(1)
              wrappers around debi and debc respectively (see below) which al-
              low them to be called from  the  CVS  working  directory.  [cvs-
              buildpackage]

       cvs-debrelease(1)
              wrapper  around debrelease which allows it to be called from the
              CVS working directory. [cvs-buildpackage, dupload |  dput,  ssh-
              client]

       cvs-debuild(1)
              A  wrapper  for  cvs-buildpackage  to use debuild as its package
              building program. [cvs-buildpackage,  fakeroot,  lintian,  gnupg
              |gnupg2]

       dcmd(1)
              run  a  given  command  replacing the name of a .changes or .dsc
              file with each of the files referenced therein. *

       dd-list(1)
              given a list of packages, pretty-print it ordered by maintainer.
              *

       debc(1)
              List  contents  of  current package.  Do this after a successful
              "debuild" to see if the package looks all right.

       debchange (abbreviation dch)(1)
              Modifies debian/changelog and manages version numbers  for  you.
              It  will either increment 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)
              checkout the development repository of a Debian package. *

       debclean(1)
              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)
              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, libtime-
              date-perl]

       debdiff(1)
              A program which examines two .deb files or  two  .changes  files
              and reports on any difference found in their file lists.  Useful
              for ensuring that no files were inadvertently lost between  ver-
              sions.   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)
              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 specially, to avoid
              the conflicts that changelog diffs typically  produce  when  ap-
              plied naively. May be used to check that old patches still apply
              to  newer   versions   of   those   packages.   [python3-debian,
              python3-unidiff, quilt]

       debi(1)
              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 com-
              mand is very useful when troubleshooting packages.

       debpkg(1)
              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 sysadmin -- it is not  in-
              stalled as setuid root by default.  (Note that being able to run
              a setuid root debpkg is effectively the same as having root  ac-
              cess  to the system, so this should be done with caution.)  Hav-
              ing debpkg as a wrapper for dpkg can be a Good Thing (TM), as it
              decreases  the  potential  for damage by accidental wrong use of
              commands in superuser mode (e.g., an inadvertent rm -rf * in the
              wrong directory is disastrous as many can attest to).

       debrelease(1)
              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]

       debrepro(1)
              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 compare the binary pack-
              ages produced. If diffoscope is installed, it is used to compare
              non-matching  binaries.  If  disorderfs is installed, it is used
              during the build to inject non-determinism in filesystem listing
              operations. [faketime, diffoscope, disorderfs]

       debrsign(1)
              This  transfers  a  .changes/.dsc  pair  to a remote machine for
              signing, and runs debsign on the remote machine over an SSH con-
              nection. [gnupg | gnupg2, debian-keyring, ssh-client]

       debsign(1)
              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 remote machine and
              wish to sign it on a local one.  This script is capable of auto-
              matically  downloading the .changes and .dsc files from a remote
              machine. [gnupg |gnupg2, debian-keyring, ssh-client]*

       debsnap(1)
              grab  packages  from  https://snapshot.debian.org  [libwww-perl,
              libjson-perl]

       debuild(1)
              A  wrapper  for  building a package (i.e., dpkg-buildpackage) to
              avoid problems with insufficient  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 installed setuid root.  Debuild can
              also  be used to run various of the debian/rules operations with
              the same root-gaining procedure. Debuild will also  run  lintian
              to  check that the package does not have any major policy viola-
              tions. [fakeroot, lintian, gnupg | gnupg2]*

       deb-reversion(1)
              increases a binary package version number and repacks the  pack-
              age, useful for porters and the like.

       deb-why-removed(1)
              shows  the  reason a package was removed from the archive. [lib-
              dpkg-perl]

       dep3changelog(1)
              generate a changelog entry from a DEP3-style patch header.

       desktop2menu(1)
              given a freedesktop.org desktop file, generate a skeleton for  a
              menu file. [libfile-desktopentry-perl]

       dget(1)
              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)
              extracts patches from a .diff.gz file placing them under debian/
              or, if present, debian/patches. [patchutils]

       dpkg-depcheck, dpkg-genbuilddeps(1)
              Runs a specified command (such as debian/rules build)  or  dpkg-
              buildpackage,  respectively, to determine the packages used dur-
              ing 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)
              extract a single file from a Debian source package. [patchutils]

       dscverify(1)
              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)
              add/edit a patch for a source package and  commit  the  changes.
              [quilt | dpatch | cdbs]

       getbuildlog(1)
              download package build logs from Debian auto-builders. [wget]

       git-deborig(1)
              try  to  produce Debian orig.tar using git-archive(1). [libdpkg-
              perl, libgit-wrapper-perl, liblist-compare-perl, libstring-shel-
              lquote-perl, libtry-tiny-perl]

       grep-excuses(1)
              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)
              report the hardening characteristics of a set of binaries.

       list-unreleased(1)
              searches for packages marked UNRELEASED in their changelog.

       ltnu (Long Time No Upload)(1)
              List all uploads of packages by the given uploader or maintainer
              and display them ordered by the last  upload  of  that  package,
              oldest uploads first.

       manpage-alert(1)
              locate binaries without corresponding manpages. [man-db]

       mass-bug(1)
              mass-file bug reports. [bsd-mailx | mailx]

       mergechanges(1)
              merge  .changes files from the same release but built on differ-
              ent architectures.

       mk-build-deps(1)
              Given a package name and/or  control  file,  generate  a  binary
              package which may be installed to satisfy the build-dependencies
              of the given package. [equivs]

       mk-origtargz(1)
              Rename upstream tarball, optionally changing the compression and
              removing  unwanted  files. [libfile-which-perl, unzip, xz-utils,
              file]

       namecheck(1)
              Check project names are not already taken.

       nmudiff(1)
              prepare a diff of this version (presumably an  NMU  against  the
              previously  released  version  (as per the changelog) and submit
              the diff to the BTS. [patchutils, mutt]

       origtargz(1)
              fetch the orig tarball of a Debian package from various sources,
              and unpack it.

       plotchangelog(1)
              display  information from a changelog graphically using gnuplot.
              [libtimedate-perl, gnuplot]

       pts-subscribe(1)
              subscribe to the PTS (Package Tracking System) for a limited pe-
              riod of time. [bsd-mailx | mailx, at]

       rc-alert(1)
              list  installed packages which have release-critical bugs. [wget
              | curl]

       rmadison(1)
              remotely query  the  Debian  archive  database  about  packages.
              [liburi-perl, wget | curl]

       sadt(1)
              run DEP-8 tests. [python3-debian]

       salsa(1)
              manipulates  salsa.debian.org repositories and users [libgitlab-
              api-v4-perl]

       suspicious-source(1)
              output a list of  files  which  are  not  common  source  files.
              [python3-magic]

       svnpath(1)
              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)
              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)
              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)
              Automatically scan for and download upstream updates.  Uscan can
              also call a program such as uupdate to attempt to update the De-
              bianised 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 ver-
              ify detached OpenPGP signatures if  upstream's  signing  key  is
              known.  [file, gpgv | gpgv2, gnupg | gnupg2, libfile-which-perl,
              liblwp-protocol-https-perl, libmoo-perl, libwww-perl, unzip, xz-
              utils]*

       uupdate(1)
              Update  the  package with an archive or patches from an upstream
              author.  This will be of help if you have to update  your  pack-
              age.   It will try to apply the latest diffs to your package and
              tell you how successful it was. [patch]

       what-patch(1)
              determine what patch system, if any, a source package is  using.
              [patchutils]

       whodepends(1)
              check which maintainers' packages depend on a package.

       who-permits-upload(1)
              Retrieve  information  about  Debian  Maintainer  access control
              lists. [gnupg | gnupg2, libencode-locale-perl, libwww-perl,  de-
              bian-keyring]

       who-uploads(1)
              determine  the  most recent uploaders of a package to the Debian
              archive. [gnupg |  gnupg2,  debian-keyring,  debian-maintainers,
              wget]

       wnpp-alert(1)
              list  installed  packages which are orphaned or up for adoption.
              [wget | curl]

       wnpp-check(1)
              check whether there is an open request for packaging  or  inten-
              tion to package bug for a package. [wget | curl]

       wrap-and-sort(1)
              wrap  long lines and sort items in packaging files. [python3-de-
              bian]

DEBIAN                         Debian Utilities                  DEVSCRIPTS(1)
Man Pages Copyright Respective Owners. Site Copyright (C) 1994 - 2024 Hurricane Electric. All Rights Reserved.