#1007135 uscan: add support for checking version numbers based on HTTP redirects

Package:
devscripts
Source:
devscripts
Description:
scripts to make the life of a Debian Package maintainer easier
Submitter:
Francois Marier
Date:
2022-03-11 19:39:03 UTC
Severity:
wishlist
#1007135#5
Date:
2022-03-11 19:34:23 UTC
From:
To:
The libhdhomerun package has this debian/watch file:

  version=4

https://www.silicondust.com/support/linux/ https://download.silicondust.com/hdhomerun/libhdhomerun_(\d.*).tgz

but due to a recent change upstream, they no longer have the version number
in the HTML of the page and instead have a single .tgz link which redirects
to the latest version:

  $ curl -i https://download.silicondust.com/hdhomerun/libhdhomerun.tgz
  HTTP/1.1 302 Found
  Date: Fri, 11 Mar 2022 19:23:40 GMT
  Content-Type: text/html; charset=iso-8859-1
  Transfer-Encoding: chunked
  Connection: keep-alive
  Location: https://download.silicondust.com/hdhomerun/libhdhomerun_20220303.tgz
  [...]

  <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
  <html><head>
  <title>302 Found</title>
  </head><body>
  <h1>Found</h1>
  <p>The document has moved <a href="https://download.silicondust.com/hdhomerun/libhdhomerun_20220303.tgz">here</a>.</p>
  <hr>
  <address>Apache/2.4.41 (Ubuntu) Server at download.silicondust.com Port 80</address>
  </body></html>

I therefore changed the watch file to this so that it could parse the HTML
of the 302 page:

  version=4

https://download.silicondust.com/hdhomerun/libhdhomerun.tgz https://download.silicondust.com/hdhomerun/libhdhomerun_(\d.*).tgz

but it doesn't work because there's no way to tell uscan not to follow
the redirect all the way to the tarball.

If there was a way to specify something like opts="noredirects" then I could
make the watch work again. Alternatively, there could be another mode
entirely which looks at the Location header instead.

Francois