get-orig-source priority should be higher than uscan
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
bzr-builddeb (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Binary package hint: bzr-builddeb
I maintain calibre (lp:~calibre-packagers/calibre/debian/). This needs a get-orig-source rule to build a +dfsg.orig.tar.gz (upstream tar.gz with some files removed). If I just bump the version in debian/changelog, then bd figures out that it needs to get a new orig.tar.gz, but uses uscan for this:
$ bzr bd
Building using working tree
Running 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.
Using uscan to look for the upstream tarball.
calibre: Version (0.4.143) available on remote site:
http://
(local version is 0.4.143+dfsg, mangled local version number 0.4.143)
calibre: Successfully downloaded updated package calibre-
and renamed it as calibre_
bzr: ERROR: Unable to find the needed upstream tarball: calibre_
I can't think of a situation where it is correct to use uscan if debian/rules provides a get-orig-source method. Thus I believe provide_
I currently don't see a way of overriding the priorities, so I have to call get-orig-source by hand.
Thanks for considering!
On Sat, 2009-03-07 at 22:33 +0000, Martin Pitt wrote:
> Public bug reported:
>
> Binary package hint: bzr-builddeb
>
> I maintain calibre (lp:~calibre-packagers/calibre/debian/). This needs a
> get-orig-source rule to build a +dfsg.orig.tar.gz (upstream tar.gz with
> some files removed). If I just bump the version in debian/changelog,
> then bd figures out that it needs to get a new orig.tar.gz, but uses
> uscan for this:
Hi Martin,
Thanks for the bug report.
It is partly this way round as until recently bzr-builddeb was a lot
more dumb about handling the possibility that it could get the tarball
from more than one place.
Can I ask what purpose the watch file serves if the "get-orig-source"
target is needed? Is it just for detecting if there is a new upstream
version, rather than for downloading it?
An added complication is that "get-orig-source" is not a great interface
for doing this. Debian policy defines it as a target that gets the
latest available source, whereas we need to get the source corresponding
to the version being built. This could mean that it does an expensive
operation, just to throw the result away as it does not produce the
right version. This is more of a problem with the idea of a
get-orig-source rule though, and I think it would be silly to prevent
the tool from working well for you because of this.
Perhaps there could be a way to specify the preferred way of getting
the source, though making it work by default would be preferable.
Thanks,
James