1UUPDATE(1)                  General Commands Manual                 UUPDATE(1)
2
3
4

NAME

6       uupdate - upgrade a source code package from an upstream revision
7

SYNOPSIS

9       uupdate [options] new_upstream_archive [version]
10       uupdate [options] --find|-f
11       uupdate [options] --patch|-p patch_file
12

DESCRIPTION

14       uupdate  modifies  an existing Debian source code archive to reflect an
15       upstream update supplied as a patch or from a wholly  new  source  code
16       archive.  The utility needs to be invoked from the top directory of the
17       old source code directory, and if a relative name is given for the  new
18       archive or patch file, it will be looked for first relative to the exe‐
19       cution directory and then relative to the parent of  the  source  tree.
20       (For       example,       if       the      changelog      file      is
21       /usr/local/src/foo/foo-1.1/debian/changelog, then the archive or  patch
22       file will be looked for relative to /usr/local/src/foo.)  Note that the
23       patch file or archive cannot be within the  source  tree  itself.   The
24       full details of what the code does are given below.
25
26       Currently  supported  source  code  file  types  are .tar.gz, .tar.bz2,
27       .tar.Z, .tgz, .tar, .tar.lzma, .tar.xz, .7z and  .zip  archives.   Also
28       supported  are  already  unpacked source code archives; simply give the
29       path of the source code directory.   Supported  patch  file  types  are
30       gzip-compressed,  bzip2-compressed,  lzma-compressed, xz-compressed and
31       uncompressed patch files.  The file types are identified  by  the  file
32       names, so they must use the standard suffixes.
33
34       Usually  uupdate  will  be  able  to deduce the version number from the
35       source archive name (as long as it only contains digits  and  periods).
36       If that fails, you need to specify the version number explicitly (with‐
37       out the Debian release number which will always be  initially  “1”,  or
38       “0ubuntu1”  on Ubuntu-detected systems).  This can be done with an ini‐
39       tial --upstream-version or -v option, or in the  case  of  an  archive,
40       with  a  version number after the filename.  (The reason for the latter
41       is so that uupdate can be called directly from uscan.)
42
43       Since uupdate uses debuild to clean the current archive  before  trying
44       to apply a patch file, it accepts a --rootcmd or -r option allowing the
45       user to specify a gain-root command to be used.  The default is to  use
46       fakeroot.
47
48       If  an  archive  is being built, the pristine upstream source should be
49       used to create the .orig.tar.gz file  wherever  possible.   This  means
50       that  MD5  sums  or other similar methods can be used to easily compare
51       the upstream source to Debian's copy of the upstream version.  This  is
52       the  default behaviour, and can be switched off using the --no-pristine
53       option below.
54

OPTIONS

56       This is a summary of what was explained above.
57
58       --no-conf, --noconf
59              Do not read any configuration files.  This can only be  used  as
60              the first option given on the command-line.
61
62       --upstream-version version, -v version
63              Specify the version number of the upstream package explicitly.
64
65       --force-bad-version, -b
66              Force  a  version  number to be less than the current one (e.g.,
67              when backporting).
68
69       --rootcmd gain-root-command, -r gain-root-command
70              Specify the command to be used to become root to build the pack‐
71              age and is passed onto debuild(1) if it is specified.
72
73       --pristine, -u
74              Treat  the  source as pristine upstream source and symlink to it
75              from <package>_<version>.orig.tar.gz  whenever  possible.   This
76              option  has  no meaning for patches.  This is the default behav‐
77              iour.
78
79       --no-pristine
80              Do not attempt to make  a  <package>_<version>.orig.tar.gz  sym‐
81              link.
82
83       --symlink, -s
84              Simply  create  a symlink when moving a new upstream .tar.gz ar‐
85              chive to the new <package>_<version>.orig.tar.gz location.  This
86              is the default behaviour.
87
88       --no-symlink
89              Copy  the upstream .tar.gz to the new location instead of making
90              a symlink, if <package>_<version>.orig.tar.gz is missing.   Oth‐
91              erwise, do nothing.
92
93       --find, -f
94              Find  all  upstream  tarballs  in  ../  which  match <pkg>_<ver‐
95              sion>.orig.tar.{gz|bz2|lzma|xz} or  <pkg>_<version>.orig-<compo‐
96              nent>.tar.{gz|bz2|lzma|xz}  ; --upstream-version required; pris‐
97              tine source required; not valid for --patch;  This  option  uses
98              dpkg-source  as  the  backend to enable support for the multiple
99              upstream tarballs and to resolve minor bugs reported previously.
100              The use of this option is highly recommended.
101
102       --verbose
103              Give verbose output.
104
105       --help, -h
106              Display a help message and exit successfully.
107
108       --version
109              Display version and copyright information and exit successfully.
110

CONFIGURATION VARIABLES

112       The  two configuration files /etc/devscripts.conf and ~/.devscripts are
113       sourced in that order to set  configuration  variables.   Command  line
114       options  can be used to override configuration file settings.  Environ‐
115       ment variable settings are ignored for  this  purpose.   The  currently
116       recognised variables are:
117
118       UUPDATE_PRISTINE
119              If  this  is set to no, then it is the same as the --no-pristine
120              command line parameter being used.
121
122       UUPDATE_SYMLINK_ORIG
123              If this is set to no, then it is the same  as  the  --no-symlink
124              command line parameter being used.
125
126       UUPDATE_ROOTCMD
127              This is equivalent to the --rootcmd option.
128

ACTIONS TAKEN ON AN ARCHIVE

130       Figure out new version number
131              Unless  an explicit version number is provided, the archive name
132              is analyzed for a sequence of  digits  separated  by  dots.   If
133              something like that is found, it is taken to be the new upstream
134              version number.  If not, processing is aborted.
135
136       Create the .orig.tar.gz archive
137              If the --pristine or -u option is specified and the upstream ar‐
138              chive  is  a  .tar.gz  or .tgz archive, then this will be copied
139              directly to <package>_<version>.orig.tar.gz.
140
141       Unpacking
142              The archive is unpacked and placed in a directory with the  cor‐
143              rect  name  according  to  Debian  policy: package-upstream_ver‐
144              sion.orig.  Processing is  aborted  if  this  directory  already
145              exists.
146
147       Patching
148              The  .diffs.gz  from  the  current  version  are  applied to the
149              unpackaged archive.  A non-zero exit status and warning  message
150              will  occur  if the patches did not apply cleanly or if no patch
151              file was found.  Also, the list  of  rejected  patches  will  be
152              shown.   The file debian/rules is made executable and all of the
153              .orig files created by patch are deleted.
154
155       Changelog update
156              A changelog entry with the new version number is generated  with
157              the text “New upstream release”.
158
159              When  used  on  Ubuntu systems, dpkg-vendor detection is used to
160              set  the  Debian  revision  to  “0ubuntu1”.   You   may   change
161              debian/changelog manually afterwards.
162

ACTIONS TAKEN ON A PATCH FILE

164       Figure out new version number
165              Unless  an  explicit  version number is provided, the patch file
166              name is analyzed for a sequence of digits separated by dots.  If
167              something like that is found, it is taken to be the new upstream
168              version number.  If not, processing is aborted.
169
170       Clean the current source tree
171              The command debuild clean is executed within the current  Debian
172              source archive to clean it.  If a -r option is given to uupdate,
173              it is passed on to debuild.
174
175       Patching
176              The current source archive (.orig.tar.gz) is  unpacked  and  the
177              patch  applied  to the original sources.  If this is successful,
178              then the .orig directory is renamed to reflect the  new  version
179              number  and  the  current Debian source directory is copied to a
180              directory with the new version number, otherwise  processing  is
181              aborted.   The  patch  is  then  applied  to the new copy of the
182              Debian source directory.  The file  debian/rules  is  made  exe‐
183              cutable and all of the .orig files created by patch are deleted.
184              If there was a problem with the patching, a  warning  is  issued
185              and the program will eventually exit with non-zero exit status.
186
187       Changelog update
188              A  changelog entry with the new version number is generated with
189              the text “New upstream release”.
190
191              When used on Ubuntu systems, dpkg-vendor detection  is  used  to
192              set   the   Debian  revision  to  “0ubuntu1”.   You  may  change
193              debian/changelog manually afterwards.
194

SEE ALSO

196       debuild(1), fakeroot(1), patch(1), devscripts.conf(5)
197
198       The Debian Policy Manual
199

AUTHOR

201       The original version  of  uupdate  was  written  by  Christoph  Lameter
202       <clameter@debian.org>.  Several changes and improvements have been made
203       by Julian Gilbey <jdg@debian.org>.
204
205
206
207DEBIAN                         Debian Utilities                     UUPDATE(1)
Impressum