1UUPDATE(1) General Commands Manual UUPDATE(1)
2
3
4
6 uupdate - upgrade a source code package from an upstream revision
7
9 uupdate [options] new_upstream_archive [version]
10 uupdate [options] --find|-f
11 uupdate [options] --patch|-p patch_file
12
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
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
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
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
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
196 debuild(1), fakeroot(1), patch(1), devscripts.conf(5)
197
198 The Debian Policy Manual
199
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)