[Pkg-bazaar-maint] Bug#728063: bzr-builddeb: fails to get upstream version string via uscan “dversionmangle”
Ben Finney
ben+debian at benfinney.id.au
Mon Oct 28 00:13:00 UTC 2013
Package: bzr-builddeb
Version: 2.8.7
Severity: normal
Howdy,
I've recently switched a package from using the pristine upstream tarball,
to requiring a re-pack of the tarball.
This means the version string specified in ‘debian/changelog’ needs to be
parsed by ‘uscan(1)’, via the ‘debian/watch’ option “dversionmangle”
<URL:http://manpages.debian.net/cgi-bin/man.cgi?sektion=1&query=uscan>.
For example, the Debian version string “3.7+dfsg.2-2” is taken as the
upstream version string “3.7+dfsg.2”, but this needs to be further altered
via the “dversionmangle” option to give the pristine upstream version
string “3.7”.
But this change has caused ‘bzr builddeb --source’ to fail because it is
not getting the correct version string for the pristine upstream tarball:
=====
$ bzr builddeb --source --merge
Building using working tree
Building package in merge mode
Looking for a way to retrieve the upstream tarball
Using apt to look for the upstream tarball.
apt could not find the needed tarball.
Trying to use get-packaged-orig-source to retrieve needed tarball.
make: *** No rule to make target `get-packaged-orig-source'. Stop.
Trying to run get-packaged-orig-source rule failed
Trying to use get-orig-source to retrieve needed tarball (deprecated).
make: *** No rule to make target `get-orig-source'. Stop.
Trying to run get-orig-source rule failed
Using uscan to look for the upstream tarball.
uscan warning: In /tmp/tmp2J8DJz no matching hrefs for version 3.7+dfsg.2 in watch line
http://pypi.python.org/packages/source/c/coverage/coverage-(.+).tar.gz debian debian/repack
uscan could not find the needed tarball.
bzr: ERROR: Unable to find the needed upstream tarball for package python-coverage, version 3.7+dfsg.2.
=====
The ‘builddeb’ command is mistakenly using “3.7+dfsg.2” as the pristine
upstream version string.
Whereas using ‘uscan’ directly succeeds in computing the correct upstream
version string:
=====
$ uscan --verbose --report
-- Scanning for watchfiles in .
-- Found watchfile in ./debian
-- In debian/watch, processing watchfile line:
opts="uversionmangle=s/(\d)([a-z]\d+)$/$1~$2/,dversionmangle=s/\+dfsg\.\d+$//" http://pypi.python.org/packages/source/c/coverage/coverage-(.+).tar.gz debian debian/repack
[…]
Newest version on remote site is 3.7, local version is 3.7+dfsg.2
(mangled local version number 3.7)
=> Package is up to date
-- Scan finished
=====
The ‘builddeb’ command should always get the same pristine upstream version
string as does ‘uscan’.
-- System Information:
Debian Release: jessie/sid
APT prefers testing
APT policy: (500, 'testing'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 3.10-3-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_AU.UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages bzr-builddeb depends on:
ii bzr 2.6.0-3
ii devscripts 2.13.4
ii dpkg-dev 1.16.12
ii fakeroot 1.18.4-2
ii patchutils 0.3.2-2
ii pristine-tar 1.28
ii python 2.7.5-5
ii python-apt 0.8.9.1+b1
ii python-debian 0.1.21+nmu2
ii quilt 0.60-10
Versions of packages bzr-builddeb recommends:
ii libalgorithm-merge-perl 0.08-2
ii python-distro-info 0.11
ii python-launchpadlib 1.9.12-2
Versions of packages bzr-builddeb suggests:
ii python-lzma 0.5.3-2+b1
-- no debconf information
--
\ “Always do right. This will gratify some people, and astonish |
`\ the rest.” —Mark Twain |
_o__) |
Ben Finney <ben at benfinney.id.au>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-bazaar-maint/attachments/20131028/f0c2413b/attachment.sig>
More information about the Pkg-bazaar-maint
mailing list