no sensible way to use debian/watch files with launchpad hosted tarballs (no simple url-and-link list of all downloads)

Bug #231797 reported by Monty Taylor
90
This bug affects 13 people
Affects Status Importance Assigned to Milestone
Launchpad itself
Triaged
Low
Unassigned
devscripts (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

I'm hosting primary development of a project (ok, more than one project) on launchpad. As such, I'm using the release tarballs as the primary location for release tarballs.

While trying to debianize one of these, I noticed that there is nothing sensible I can put in the watch file.

uscan seems to have special knowledge of SourceForge sites... perhaps a solution is to patch uscan? On the other hand, making launchpad play nice with debian/watch anyway would also be nice.

I tried to translate this link:

http://launchpad.net/quoins/1.0/1.0.14/+download/Quoins-1.0.14.tar.gz

to

http://launchpad.net/quoins/1.0/(.*)/+download/Quoins-(.*)\.tar\.gz

And got the following:

uscan --verbose --force-download --rename --repack --destdir=../build-area
-- Scanning for watchfiles in .
-- Found watchfile in ./debian
-- In debian/watch, processing watchfile line:
   http://launchpad.net/quoins/1.0/(.*)/+download/Quoins-(.*)\.tar\.gz
dpkg: version 'https://launchpad.net/' has bad syntax: epoch in version is not number
dpkg: version 'https://launchpad.net/quoins/1.0' has bad syntax: epoch in version is not number
dpkg: version 'https://code.launchpad.net/quoins' has bad syntax: epoch in version is not number
dpkg: version 'https://blueprints.launchpad.net/quoins/1.0/' has bad syntax: epoch in version is not number
dpkg: version 'https://code.launchpad.net/~quoins/quoins/trunk' has bad syntax: epoch in version is not number
dpkg: version 'https://launchpad.net/~quoins/+ownedbranches' has bad syntax: epoch in version is not number
dpkg: version 'https://launchpad.net/quoins/1.0/+addpackage' has bad syntax: epoch in version is not number
dpkg: version 'https://launchpad.net/quoins/1.0/+subscribe' has bad syntax: epoch in version is not number
dpkg: version 'https://launchpad.net/~mordred' has bad syntax: epoch in version is not number
dpkg: version 'https://code.launchpad.net/~quoins/quoins/trunk' has bad syntax: epoch in version is not number
dpkg: version 'https://help.launchpad.net/' has bad syntax: epoch in version is not number
dpkg: version 'https://help.launchpad.net/LaunchpadReleases' has bad syntax: epoch in version is not number
dpkg: version 'https://launchpad.net/~mordred' has bad syntax: epoch in version is not number
dpkg: version 'https://launchpad.net/quoins/1.0/+rdf' has bad syntax: epoch in version is not number
dpkg: version 'https://launchpad.net/quoins/1.0/+ubuntupkg' has bad syntax: epoch in version is not number
dpkg: version 'https://code.launchpad.net/~quoins/quoins/trunk' has bad syntax: epoch in version is not number
dpkg: version 'https://translations.launchpad.net/quoins/1.0/' has bad syntax: epoch in version is not number
dpkg: version 'https://bugs.launchpad.net/quoins/1.0/' has bad syntax: epoch in version is not number
dpkg: version 'https://launchpad.net/quoins/1.0/+login' has bad syntax: epoch in version is not number
dpkg: version 'https://launchpad.net/quoins' has bad syntax: epoch in version is not number
dpkg: version 'https://launchpad.net/~quoins' has bad syntax: epoch in version is not number
dpkg: version 'https://help.launchpad.net/' has bad syntax: epoch in version is not number
dpkg: version 'http://canonical.com/' has bad syntax: epoch in version is not number
dpkg: version 'https://help.launchpad.net/LaunchpadReleases' has bad syntax: epoch in version is not number
dpkg: version 'http://canonical.com/' has bad syntax: epoch in version is not number
dpkg: version 'https://help.launchpad.net/' has bad syntax: epoch in version is not number
dpkg: version 'https://translations.launchpad.net/quoins/1.0/' has bad syntax: epoch in version is not number
dpkg: version 'https://launchpad.net/' has bad syntax: epoch in version is not number
uscan warning: In watchfile debian/watch, reading webpage
  http://launchpad.net/quoins/1.0/sprints/+download/ failed: 404 Not Found
-- Scan finished

Changed in launchpad-foundations:
status: New → Confirmed
Revision history for this message
Savvas Radevic (medigeek) wrote :

There is a way but it's certainly not "nice" compared to the ones of sourceforge and others.

https://answers.launchpad.net/launchpad/+question/21146 had the answer with a bit of luck I think that this is working:

version=3
http://launchpad.net/screenlets/+download http://launchpad.net/screenlets/.*/screenlets-(.+).tar.gz

The problem is that debian uses a redirector script for sourceforge:
       # qa.debian.org runs a redirector which allows a simpler form of URL
       # for SourceForge based projects. The format below will automatically
       # be rewritten to use the redirector.
       http://sf.net/audacity/audacity-src-(.+)\.tar\.gz

Changed in launchpad-foundations:
status: Confirmed → New
Revision history for this message
Savvas Radevic (medigeek) wrote :

Actually, now that I see it, this is the correct behaviour

Changed in devscripts (Ubuntu):
status: New → Invalid
Revision history for this message
Savvas Radevic (medigeek) wrote :

OK, after checking it again, what launchpad *could* support is to have an accessible http/ftp path which uscan/watch could browse to get to its files.

Changed in launchpad-foundations:
status: New → Confirmed
Revision history for this message
Monty Taylor (mordred) wrote :

The bug is marked invalid upstream in devscripts, which is correct. For the record, I'm doing this now:

version=3
http://launchpad.net/gearmand/+download http://launchpad.net/gearmand/.*/gearmand-(.*)\.tar\.gz

In packaging which is working great.

Changed in launchpad-foundations:
status: Confirmed → Invalid
Revision history for this message
Barry Warsaw (barry) wrote :

While the workaround is fine, it's fairly obscure and kind of suck that you have to type the url twice. At the least, do you think it makes sense to provide a popup on the download page that might give a hint to the debian/watch file contents? That would make it easier for people to create new packages for Ubuntu.

Changed in launchpad-foundations:
status: Invalid → New
Revision history for this message
Colin Watson (cjwatson) wrote :

Alternatively (or also), document the form in uscan(1), since we're already doing that for several other services (including non-free ones like github).

Revision history for this message
Savvas Radevic (medigeek) wrote : Re: [Bug 231797] Re: no sensible way to use debian/watch files with launchpad hosted tarballs

> Alternatively (or also), document the form in uscan(1), since we're
> already doing that for several other services (including non-free ones
> like github).

If it's going to be documented, why not:
a) add a shortcut for "lp.net", similar to "sf.net" ?
or
b) make a subdomain with the directory listing readable, e.g.
http://files.launchpad.net/project-name/0.x/0.1.1.tar.gz which would
allow uscan to read the directories under
http://files.launchpad.net/project-name/

Gary Poster (gary)
affects: launchpad-foundations → launchpad-registry
Curtis Hovey (sinzui)
Changed in launchpad-registry:
status: New → Triaged
importance: Undecided → Low
Curtis Hovey (sinzui)
Changed in launchpad-registry:
milestone: none → series-future
importance: Low → High
Revision history for this message
Curtis Hovey (sinzui) wrote : Re: no sensible way to use debian/watch files with launchpad hosted tarballs

I think we want provide a specific URL to support debian/watch and possibly include a callout to it on the +download page.

The +download page does not guarantee that the highest version number listed first and it may not appear on the first page of the batched listing. +watch would list all released from highest version to least. I think releases from obsolete series should be excluded. The page may not be very readable, though it may work more like +download used to be before a dozen voices extended its purpose.

summary: - no sensible way to use debian/watch files with launchpad hosted tarballs
+ provide url-and-link list of downloads for uscan
Curtis Hovey (sinzui)
tags: added: packaging
Curtis Hovey (sinzui)
tags: added: releases
Revision history for this message
Robert Collins (lifeless) wrote :

As there is a workaround, and this is not currently in any of the LP roadmap things, I'm downgrading to low.

summary: - provide url-and-link list of downloads for uscan
+ no sensible way to use debian/watch files with launchpad hosted tarballs
+ (no simple url-and-link list of all downloads)
Changed in launchpad:
importance: High → Low
Revision history for this message
Robie Basak (racb) wrote :

The workaround doesn't work for Curtis' case - that there are many releases.

This has now happened for https://launchpad.net/juju-core/+download. 1.20 doesn't show up on the first page. The following watch file fails to find it. So the workaround is not valid in a real use case now, AFAICT.

version=3
opts="uversionmangle=s/-/./" \
 https://launchpad.net/juju-core/+download https://launchpad.net/juju-core/.*/.*/.*/juju-core_(.*)\.tar\.gz

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.