Bug#841499: uscan: support searching in multiple directories for matching files

Paul Wise pabs at debian.org
Fri Oct 21 08:28:05 UTC 2016


Package: devscripts
Severity: wishlist
User: devscripts at packages.debian.org
Usertags: uscan

For upstreams that store their downloads in a directory tree with one
branch per directory, maintainers might want to exclude release
candidates but uscan currently only considers the newest directory,
which might only contain release candidates, resulting in not being
able to see the latest stable release. uscan should scan each directory
in descending order of version until at least one file was found.

When this is fixed, this sentence needs removing from the manual:

(If multiple directories match, the highest version is picked.)

Here is an example of a watch file that would be fixed by this:

pabs at chianamo ~ $ cat watch 
version=3
https://cmake.org/files/(v[\d.]+)/cmake-([\d.]+).tar.gz
pabs at chianamo ~ $ uscan --watchfile watch --verbose --package cmake --upstream-version 3.5
uscan info: uscan (version 2.16.8) See uscan(1) for help
uscan info: Option --watchfile=watch used
uscan info: Process ./watch (package=cmake version=3.5)
uscan info: Last orig.tar.* tarball version (from debian/changelog): 3.5
uscan info: Last orig.tar.* tarball version (dversionmangled): 3.5
uscan info: dir=>/files/  dirpattern=>(v[\d.]+)
uscan info: Requesting URL:
   https://cmake.org/files/
uscan info: Matching pattern:
   (?:(?:https://cmake.org)?\/files\/)?(v[\d.]+)
uscan info: Matching target for dirversionmangle:   ?C=N;O=D
uscan info: Matching target for dirversionmangle:   ?C=M;O=A
uscan info: Matching target for dirversionmangle:   ?C=S;O=A
uscan info: Matching target for dirversionmangle:   ?C=D;O=A
uscan info: Matching target for dirversionmangle:   /
uscan info: Matching target for dirversionmangle:   LatestRelease/
uscan info: Matching target for dirversionmangle:   Tutorial.tar.gz
uscan info: Matching target for dirversionmangle:   contracts/
uscan info: Matching target for dirversionmangle:   contrib/
uscan info: Matching target for dirversionmangle:   cygwin/
uscan info: Matching target for dirversionmangle:   dev/
uscan info: Matching target for dirversionmangle:   lapack_test.tar.gz
uscan info: Matching target for dirversionmangle:   logos/
uscan info: Matching target for dirversionmangle:   mongochem-sample.json.bz2
uscan info: Matching target for dirversionmangle:   radiance/
uscan info: Matching target for dirversionmangle:   temdata/
uscan info: Matching target for dirversionmangle:   tmp/
uscan info: Matching target for dirversionmangle:   tpl/
uscan info: Matching target for dirversionmangle:   v0.5/
uscan info: Matching target for dirversionmangle:   v0.6/
uscan info: Matching target for dirversionmangle:   v0.7/
uscan info: Matching target for dirversionmangle:   v0.8/
uscan info: Matching target for dirversionmangle:   v1.2/
uscan info: Matching target for dirversionmangle:   v1.4/
uscan info: Matching target for dirversionmangle:   v1.6/
uscan info: Matching target for dirversionmangle:   v1.8/
uscan info: Matching target for dirversionmangle:   v2.0/
uscan info: Matching target for dirversionmangle:   v2.2/
uscan info: Matching target for dirversionmangle:   v2.3/
uscan info: Matching target for dirversionmangle:   v2.4/
uscan info: Matching target for dirversionmangle:   v2.6/
uscan info: Matching target for dirversionmangle:   v2.8/
uscan info: Matching target for dirversionmangle:   v3.0/
uscan info: Matching target for dirversionmangle:   v3.1/
uscan info: Matching target for dirversionmangle:   v3.2/
uscan info: Matching target for dirversionmangle:   v3.3/
uscan info: Matching target for dirversionmangle:   v3.4/
uscan info: Matching target for dirversionmangle:   v3.5/
uscan info: Matching target for dirversionmangle:   v3.6/
uscan info: Matching target for dirversionmangle:   v3.7/
uscan info: Matching target for dirversionmangle:   vCVS/
uscan info: Found the following matching directories (newest first):
   v3.7/ (v3.7) 
   v3.6/ (v3.6) 
   v3.5/ (v3.5) 
   v3.4/ (v3.4) 
   v3.3/ (v3.3) 
   v3.2/ (v3.2) 
   v3.1/ (v3.1) 
   v3.0/ (v3.0) 
   v2.8/ (v2.8) 
   v2.6/ (v2.6) 
   v2.4/ (v2.4) 
   v2.3/ (v2.3) 
   v2.2/ (v2.2) 
   v2.0/ (v2.0) 
   v1.8/ (v1.8) 
   v1.6/ (v1.6) 
   v1.4/ (v1.4) 
   v1.2/ (v1.2) 
   v0.8/ (v0.8) 
   v0.7/ (v0.7) 
   v0.6/ (v0.6) 
   v0.5/ (v0.5) 
uscan info: newest_dir => 'v3.7'
uscan info: Requesting URL:
   https://cmake.org/files/v3.7/
uscan info: Matching pattern:
   (?:(?:https://cmake.org)?\/files\/v3\.7\/)?cmake-([\d.]+).tar.gz
uscan warn: In watch no matching files for watch line
  https://cmake.org/files/(v[\d.]+)/cmake-([\d.]+).tar.gz

-- 
bye,
pabs

https://wiki.debian.org/PaulWise
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: This is a digitally signed message part
URL: <http://lists.alioth.debian.org/pipermail/devscripts-devel/attachments/20161021/4141c1ea/attachment.sig>


More information about the devscripts-devel mailing list