Bug#809604: Regressions in latest uscan release (mangle rules?)

Axel Beckert abe at debian.org
Thu Jan 7 15:03:00 UTC 2016


Hi,

David Prévot wrote:
> The following watch file is not able to retrieve the latest version of
> spip, it instead grabs a previous RC. It doesn’t seem to handle all
> successive rules at first sight, but I didn’t look closer.
> 
> version=3
> opts=uversionmangle=s/trois/3/;s/-([^\d]+)/~$1/;s/-/./;s/\.0$// \
> http://files.spip.net/spip/archives/SPIP-v(.*)\.zip

Similar if not the same issue here:

0.9.6v2 on https://qa.debian.org/watch/sf.php/gnudatalanguage/ is not
considered the most recent version with uscan from Sid, but with uscan
from Jessie it works as expected:

Jessie uscan version:

→ uscan --report --verbose
-- Scanning for watchfiles in .
-- Found watchfile in ./debian
-- In debian/watch, processing watchfile line:
   opts=uversionmangle=s/(pre|rc)([^.]*)/~$1$2/,uversionmangle=s/v/v/g
   http://sf.net/gnudatalanguage/gdl-(.*)\.(?:tar\.|t)gz
-- Found the following matching hrefs:
     /watch/sf.php/gnudatalanguage/gdl-0.9.6v2.tgz (0.9.6v2)
     /watch/sf.php/gnudatalanguage/gdl-0.9.6.tar.gz (0.9.6)
     /watch/sf.php/gnudatalanguage/gdl-0.9.5.tar.gz (0.9.5)
     /watch/sf.php/gnudatalanguage/gdl-0.9.4.tar.gz (0.9.4)
     /watch/sf.php/gnudatalanguage/gdl-0.9.3.tar.gz (0.9.3)
     /watch/sf.php/gnudatalanguage/gdl-0.9.2.tar.gz (0.9.2)
     /watch/sf.php/gnudatalanguage/gdl-0.9.1.tar.gz (0.9.1)
     /watch/sf.php/gnudatalanguage/gdl-0.9.tar.gz (0.9)
     /watch/sf.php/gnudatalanguage/gdl-0.9rc4.tar.gz (0.9rc4)
     /watch/sf.php/gnudatalanguage/gdl-0.9rc3.tar.gz (0.9rc3)
     /watch/sf.php/gnudatalanguage/gdl-0.9rc2.tar.gz (0.9rc2)
     /watch/sf.php/gnudatalanguage/gdl-0.9rc1.tar.gz (0.9rc1)
     /watch/sf.php/gnudatalanguage/gdl-0.9pre6.tar.gz (0.9pre6)
     /watch/sf.php/gnudatalanguage/gdl-0.9pre5.tar.gz (0.9pre5)
     /watch/sf.php/gnudatalanguage/gdl-0.9pre4.tar.gz (0.9pre4)
     /watch/sf.php/gnudatalanguage/gdl-0.9pre3.tar.gz (0.9pre3)
     /watch/sf.php/gnudatalanguage/gdl-0.9pre2.tar.gz (0.9pre2)
     /watch/sf.php/gnudatalanguage/gdl-0.9pre.tar.gz (0.9pre)
[...]

Sid uscan version:

→ uscan --report --verbose
uscan: uscan (version 2.15.10) See uscan(1) for help
uscan: Scan watch files in .
uscan info: Check debian/watch and debian/changelog in ./.git/refs/tags
uscan warn: Found watch file in ./.git/refs/tags,
   but couldn't find/read changelog; skipping
uscan info: Check debian/watch and debian/changelog in .
uscan info: package="gnudatalanguage" version="0.9.6-2" (as seen in debian/changelog)
uscan info: package="gnudatalanguage" version="0.9.6" (no epoch/revision)
uscan: ./debian/changelog sets package="gnudatalanguage" version="0.9.6"
uscan info: Process ./debian/watch (package=gnudatalanguage version=0.9.6)
uscan info: opts: uversionmangle=s/(pre|rc)([^.]*)/~$1$2/,uversionmangle=s/v/v/g
uscan info: line: http://sf.net/gnudatalanguage/gdl-(.*)\.(?:tar\.|t)gz
uscan info: Parsing uversionmangle=s/(pre|rc)([^.]*)/~$1$2/
uscan info: Parsing uversionmangle=s/v/v/g
uscan info: line: http://sf.net/gnudatalanguage/gdl-(.*)\.(?:tar\.|t)gz
uscan info: sf.net redirection to qa.debian.org/watch/sf.php
uscan info: Last orig.tar.* tarball version (from debian/changelog): 0.9.6
uscan info: Last orig.tar.* tarball version (dversionmangled): 0.9.6
uscan info: Requesting URL:
   https://qa.debian.org/watch/sf.php/gnudatalanguage/
uscan info: Matching pattern:
   (?:(?:https://qa.debian.org)?\/watch\/sf\.php\/gnudatalanguage\/)?gdl-(.*)\.(?:tar\.|t)gz(?:\?.*)?
uscan info: Found the following matching hrefs on the web page (newest first):
   /watch/sf.php/gnudatalanguage/gdl-0.9.6.tar.gz (0.9.6) index=0.9.6.1 
   /watch/sf.php/gnudatalanguage/gdl-0.9.6v2.tgz (0.9.6v2) index=0.9.6v2.0 
   /watch/sf.php/gnudatalanguage/gdl-0.9.5.tar.gz (0.9.5) index=0.9.5.1 
   /watch/sf.php/gnudatalanguage/gdl-0.9.4.tar.gz (0.9.4) index=0.9.4.1 
   /watch/sf.php/gnudatalanguage/gdl-0.9.3.tar.gz (0.9.3) index=0.9.3.1 
   /watch/sf.php/gnudatalanguage/gdl-0.9.2.tar.gz (0.9.2) index=0.9.2.1 
   /watch/sf.php/gnudatalanguage/gdl-0.9.1.tar.gz (0.9.1) index=0.9.1.1 
   /watch/sf.php/gnudatalanguage/gdl-0.9.tar.gz (0.9) index=0.9.1 
   /watch/sf.php/gnudatalanguage/gdl-0.9rc4.tar.gz (0.9rc4) index=0.9rc4.1 
   /watch/sf.php/gnudatalanguage/gdl-0.9rc3.tar.gz (0.9rc3) index=0.9rc3.1 
   /watch/sf.php/gnudatalanguage/gdl-0.9rc2.tar.gz (0.9rc2) index=0.9rc2.1 
   /watch/sf.php/gnudatalanguage/gdl-0.9rc1.tar.gz (0.9rc1) index=0.9rc1.1 
   /watch/sf.php/gnudatalanguage/gdl-0.9pre.tar.gz (0.9pre) index=0.9pre.1 
   /watch/sf.php/gnudatalanguage/gdl-0.9pre6.tar.gz (0.9pre6) index=0.9pre6.1 
   /watch/sf.php/gnudatalanguage/gdl-0.9pre5.tar.gz (0.9pre5) index=0.9pre5.1 
   /watch/sf.php/gnudatalanguage/gdl-0.9pre4.tar.gz (0.9pre4) index=0.9pre4.1 
   /watch/sf.php/gnudatalanguage/gdl-0.9pre3.tar.gz (0.9pre3) index=0.9pre3.1 
   /watch/sf.php/gnudatalanguage/gdl-0.9pre2.tar.gz (0.9pre2) index=0.9pre2.1 
[...]

Please also notice the different sorting of 0.9pre6 _behind_ 0.9pre.
It seems as if the new uscan version sorts wrongly if there are two
versions of which one is just a leading substring of the other. Adding
".1" doesn't seem to make sense to me if the dot is sorted before any
number.

		Regards, Axel
-- 
 ,''`.  |  Axel Beckert <abe at debian.org>, http://people.debian.org/~abe/
: :' :  |  Debian Developer, ftp.ch.debian.org Admin
`. `'   |  4096R: 2517 B724 C5F6 CA99 5329  6E61 2FF9 CD59 6126 16B5
  `-    |  1024D: F067 EA27 26B9 C3FC 1486  202E C09E 1D89 9593 0EDE



More information about the devscripts-devel mailing list