Provided by: devscripts_2.11.6ubuntu1_amd64 bug

NAME

       uupdate - upgrade a source code package from an upstream revision

SYNOPSIS

       uupdate [options] new_upstream_archive [version]
       uupdate [options] --patch|-p patch_file

DESCRIPTION

       uupdate  modifies  an  existing  Debian  source code archive to reflect an upstream update
       supplied as a patch or from a wholly new source code archive.  The  utility  needs  to  be
       invoked from the top directory of the old source code directory, and if a relative name is
       given for the new archive or patch file, it will be  looked  for  first  relative  to  the
       execution  directory and then relative to the parent of the source tree.  (For example, if
       the changelog file is /usr/local/src/foo/foo-1.1/debian/changelog,  then  the  archive  or
       patch  file  will be looked for relative to /usr/local/src/foo.)  Note that the patch file
       or archive cannot be within the source tree itself.  The full details  of  what  the  code
       does are given below.

       Currently  supported  source  code  file  types are .tar.gz, .tar.bz2, .tar.Z, .tgz, .tar,
       .tar.lzma, .tar.xz, .7z and .zip archives.  Also supported  are  already  unpacked  source
       code  archives;  simply  give the path of the source code directory.  Supported patch file
       types  are   gzip-compressed,   bzip2-compressed,   lzma-compressed,   xz-compressed   and
       uncompressed  patch  files.  The file types are identified by the file names, so they must
       use the standard suffixes.

       Usually uupdate will be able to deduce the version number from the source archive name (as
       long  as  it  only  contains  digits and periods).  If that fails, you need to specify the
       version number explicitly  (without  the  Debian  release  number  which  will  always  be
       initially  “1”,  or  “0ubuntu1”  on  Ubuntu-detected  systems).   This can be done with an
       initial --upstream-version or -v option, or in the case of  an  archive,  with  a  version
       number  after  the  filename.  (The reason for the latter is so that uupdate can be called
       directly from uscan.)

       Since uupdate uses debuild to clean the current archive before trying  to  apply  a  patch
       file, it accepts a --rootcmd or -r option allowing the user to specify a gain-root command
       to be used.  The default is to use fakeroot.

       If an archive is being built, the pristine upstream source should be used  to  create  the
       .orig.tar.gz  file  wherever  possible.  This means that MD5 sums or other similar methods
       can be used to easily compare the  upstream  source  to  Debian's  copy  of  the  upstream
       version.   This  is the default behaviour, and can be switched off using the --no-pristine
       option below.

OPTIONS

       This is a summary of what was explained above.

       --upstream-version version, -v version
              Specify the version number of the upstream package explicitly.

       --rootcmd gain-root-command, -r gain-root-command
              Specify the command to be used to become root to build the package  and  is  passed
              onto debuild(1) if it is specified.

       --pristine, -u
              Treat   the   source   as   pristine   upstream  source  and  symlink  to  it  from
              <package>_<version>.orig.tar.gz whenever possible.  This option has no meaning  for
              patches.  This is the default behaviour.

       --no-pristine
              Do not attempt to make a <package>_<version>.orig.tar.gz symlink.

       --symlink, -s
              Simply  create  a  symlink  when  moving  a new upstream .tar.gz archive to the new
              <package>_<version>.orig.tar.gz location.  This is the default behaviour.

       --no-symlink
              Copy the upstream .tar.gz to the new location instead of making a symlink.

       --no-conf, --noconf
              Do not read any configuration files.  This can only be used  as  the  first  option
              given on the command-line.

       --help, -h
              Display a help message and exit successfully.

       --version
              Display version and copyright information and exit successfully.

CONFIGURATION VARIABLES

       The  two  configuration  files  /etc/devscripts.conf and ~/.devscripts are sourced in that
       order to set configuration variables.  Command  line  options  can  be  used  to  override
       configuration  file settings.  Environment variable settings are ignored for this purpose.
       The currently recognised variables are:

       UUPDATE_PRISTINE
              If this is set to no, then it  is  the  same  as  the  --no-pristine  command  line
              parameter being used.

       UUPDATE_SYMLINK_ORIG
              If  this  is  set  to  no,  then  it  is  the same as the --no-symlink command line
              parameter being used.

       UUPDATE_ROOTCMD
              This is equivalent to the --rootcmd option.

ACTIONS TAKEN ON AN ARCHIVE

       Figure out new version number
              Unless an explicit version number is provided, the archive name is analyzed  for  a
              sequence of digits separated by dots.  If something like that is found, it is taken
              to be the new upstream version number.  If not, processing is aborted.

       Create the .orig.tar.gz archive
              If the --pristine or -u option is specified and the upstream archive is  a  .tar.gz
              or     .tgz     archive,     then    this    will    be    copied    directly    to
              <package>_<version>.orig.tar.gz.

       Unpacking
              The archive is unpacked and placed in a directory with the correct  name  according
              to  Debian  policy:  package-upstream_version.orig.   Processing is aborted if this
              directory already exists.

       Patching
              The .diffs.gz from the current version are applied to the  unpackaged  archive.   A
              non-zero  exit  status  and warning message will occur if the patches did not apply
              cleanly or if no patch file was found.  Also, the list of rejected patches will  be
              shown.  The file debian/rules is made executable and all of the .orig files created
              by patch are deleted.

       Changelog update
              A changelog entry with the new version number  is  generated  with  the  text  “New
              upstream release”.

              When  used  on  Ubuntu  systems,  dpkg-vendor  detection  is used to set the Debian
              revision to “0ubuntu1”.  You may change debian/changelog manually afterwards.

ACTIONS TAKEN ON A PATCH FILE

       Figure out new version number
              Unless an explicit version number is provided, the patch file name is analyzed  for
              a  sequence  of  digits  separated by dots.  If something like that is found, it is
              taken to be the new upstream version number.  If not, processing is aborted.

       Clean the current source tree
              The command debuild clean is executed within the current Debian source  archive  to
              clean it.  If a -r option is given to uupdate, it is passed on to debuild.

       Patching
              The  current source archive (.orig.tar.gz) is unpacked and the patch applied to the
              original sources.  If this is successful, then the .orig directory  is  renamed  to
              reflect the new version number and the current Debian source directory is copied to
              a directory with the new version number,  otherwise  processing  is  aborted.   The
              patch  is  then  applied  to the new copy of the Debian source directory.  The file
              debian/rules is made executable and all of the .orig files  created  by  patch  are
              deleted.   If  there  was  a problem with the patching, a warning is issued and the
              program will eventually exit with non-zero exit status.

       Changelog update
              A changelog entry with the new version number  is  generated  with  the  text  “New
              upstream release”.

              When  used  on  Ubuntu  systems,  dpkg-vendor  detection  is used to set the Debian
              revision to “0ubuntu1”.  You may change debian/changelog manually afterwards.

SEE ALSO

       debuild(1), fakeroot(1), patch(1), The Debian Policy Manual and devscripts.conf(5).

AUTHOR

       The original version of uupdate was written by  Christoph  Lameter  <clameter@debian.org>.
       Several changes and improvements have been made by Julian Gilbey <jdg@debian.org>.