Bug#798175: uupdate: fails if upstream version is 0
Osamu Aoki
osamu at debian.org
Sun Sep 6 11:34:12 UTC 2015
Package: devscripts
Version: 2.15.8
Severity: normal
Tags: patch
uupdate has a bit cryptic shell contruct:
| UVERSION=`expr "$SVERSION" : '\(.*\)-[0-9a-zA-Z.+~]*$'` ||
| {
| echo "$PROGNAME: a native Debian package cannot take upstream updates" >&2
| exit 1
| }
It looks like some expert coding style beyond I would come up but there
is a catch.
* If SVERSION=1-1, uupdate works.
* If SVERSION=1, uupdate thinks it is a native Debian package (right).
* If SVERSION=0-1, uupdate thinks it is a native Debian package (wrong).
The reason is the return code of expr is:
Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION
is null or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an
error occurred.
If SVERSION=1, it is null and return 1. Good.
If SVERSION=0-1, it is 0 and return 1. Not nice!
So we should ignore return code with
|| true
and use
test -z "$UVERSION"
to decide if it is a native Debian package or not.
Osamu
-- Package-specific info:
--- /etc/devscripts.conf ---
--- ~/.devscripts ---
DEBUILD_DPKG_BUILDPACKAGE_OPTS="-i -us -uc"
DEBUILD_LINTIAN_OPTS="-i -I --show-overrides"
DEBSIGN_KEYID="1DD8D791"
-- System Information:
Debian Release: 8.1
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'proposed-updates'), (500, 'stable'), (99, 'testing'), (98, 'unstable')
Architecture: amd64 (x86_64)
Kernel: Linux 3.16.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages devscripts depends on:
ii dpkg-dev 1.17.25
ii libc6 2.19-18
ii perl 5.20.2-3+deb8u1
ii python3 3.4.2-2
pn python3:any <none>
Versions of packages devscripts recommends:
ii at 3.1.16-1
ii curl 7.38.0-4+deb8u2
ii dctrl-tools 2.23
ii debian-keyring 2015.04.10
ii dput 0.9.6.4
ii equivs 2.0.9
ii fakeroot 1.20.2-1
ii file 1:5.22+15-2
ii gnupg 1.4.18-7
ii libdistro-info-perl 0.14
ii libencode-locale-perl 1.03-1
ii libjson-perl 2.61-1
ii liblwp-protocol-https-perl 6.06-2
ii libparse-debcontrol-perl 2.005-4
ii libsoap-lite-perl 1.11-1
ii liburi-perl 1.64-1
ii libwww-perl 6.08-1
ii lintian 2.5.35~bpo8+1
ii man-db 2.7.0.2-5
ii patch 2.7.5-1
ii patchutils 0.3.3-1
ii python3-debian 0.1.27
ii python3-magic 1:5.22+15-2
ii sensible-utils 0.0.9
ii strace 4.9-2
ii unzip 6.0-16
ii wdiff 1.2.2-1
ii wget 1.16-1
ii xz-utils 5.1.1alpha+20120614-2+b3
Versions of packages devscripts suggests:
ii bsd-mailx [mailx] 8.1.2-0.20141216cvs-2
ii build-essential 11.7
pn cvs-buildpackage <none>
pn debbindiff <none>
pn devscripts-el <none>
pn gnuplot <none>
ii gpgv 1.4.18-7
ii libauthen-sasl-perl 2.1600-1
ii libfile-desktopentry-perl 0.07-1
ii libnet-smtp-ssl-perl 1.01-3
pn libterm-size-perl <none>
ii libtimedate-perl 2.3000-2
ii libyaml-syck-perl 1.27-2+b2
ii mutt 1.5.23-3
ii openssh-client [ssh-client] 1:6.7p1-5
pn svn-buildpackage <none>
ii w3m 0.5.3-19
-- no debconf information
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-uupdate-exit-code-is-tricky.patch
Type: text/x-diff
Size: 1464 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/devscripts-devel/attachments/20150906/ca51f6e4/attachment.patch>
More information about the devscripts-devel
mailing list