Package: devscripts
Version: 2.9.20
Severity: normal

I am unable to create a working watch file for ICU because uscan can't
quite handle the arguably misguided directory structure used by ICU
upstream.  Upstream keeps their distributions in

ftp://ftp.software.ibm.com/software/globalization/icu/<version>

which wouldn't ordinarily be a problem because uscan supports this in
most cases.  There is a catch though: the distribution directories
include both the Java and C++ versions of ICU, and sometimes one
language has a newer version than the other.  If I use this watch
line:

ftp://ftp.software.ibm.com/software/globalization/icu/(?:\d+\.[\d\.]+)/icu-([\d\.]+).tgz

I get the following (truncated) debug output with

uscan --debug --verbose --no-download .

-- Scanning for watchfiles in .
uscan debug: dir=>/software/globalization/icu/  dirpattern=>(?:\d+\.[\d\.]+)
uscan debug: requesting URL 
ftp://ftp.software.ibm.com/software/globalization/icu/
uscan debug: received content:
total 72
drwxrwsr-x   2 20708    208             256 Nov 15 2004  1.3
drwxrwsr-x   2 20708    208             256 Nov 15 2004  1.3.1
drwxrwsr-x   2 20708    208             256 Nov 15 2004  1.4
drwxrwsr-x   2 20708    208             256 Nov 15 2004  1.4.1
drwxrwsr-x   2 20708    208             256 Nov 15 2004  1.4.1.1
drwxrwsr-x   2 20708    208             256 Nov 15 2004  1.4.1.2
drwxrwsr-x   2 20708    208             256 Nov 15 2004  1.4.2
drwxrwsr-x   2 20708    208             256 Nov 15 2004  1.5
drwxrwsr-x   2 20708    208             256 Nov 15 2004  1.6
drwxrwsr-x   2 20708    208             256 Nov 15 2004  1.7
drwxrwsr-x   2 20708    208             256 Nov 15 2004  1.8
drwxrwsr-x   2 20708    208             256 Nov 15 2004  1.8.1
drwxrwsr-x   2 20708    208             256 Nov 15 2004  2.0
drwxrwsr-x   2 20708    208             256 Nov 15 2004  2.0.1
drwxrwsr-x   2 20708    208             256 Nov 15 2004  2.0.2
drwxrwsr-x   2 20708    208             256 Nov 15 2004  2.0.3
drwxrwsr-x   2 20708    208             256 Nov 15 2004  2.1
drwxrwsr-x   2 20708    208             256 Nov 15 2004  2.2
drwxrwsr-x   2 20708    208            4096 Nov 15 2004  2.4
drwxrwsr-x   2 20708    208             256 Nov 15 2004  2.6
drwxrwsr-x   3 20708    208            4096 Nov 15 2004  2.6.1
drwxrwsr-x   2 20708    208            4096 Nov 15 2004  2.6.2
drwxrwsr-x   2 20708    208            4096 Nov 15 2004  2.8
drwxrwsr-x   2 20708    208            4096 Nov 15 2004  3.0
drwxrwsr-x   2 20708    208            4096 Mar  4 2005  3.2
drwxrwsr-x   2 20708    208             256 Feb 13 11:47 3.2.1
drwxrwsr-x   2 20708    208            4096 Jul 29 2005  3.4
drwxrwsr-x   2 20708    208            4096 Feb 27 18:06 3.4.1
drwxrwsr-x   2 20708    208             256 Jan 24 17:08 3.4.2
drwxrwsr-x  20 20708    208            4096 Mar 21 09:04 icu4j
drwxrwsr-x   2 20708    208             256 Sep  1 2005  icu_tools
drwxrwsr-x   2 20708    208             256 Apr 28 2005  keys
drwxrwsr-x   2 20708    208             256 Jan 17 2005  temp
drwxrwsr-x   2 20708    208             256 Mar 20 12:05 tzdata
[End of received content]
uscan debug: matching pattern (?:\d+\.[\d\.]+)
uscan debug: newest_dir => '3.4.2'
uscan debug: requesting URL 
ftp://ftp.software.ibm.com/software/globalization/icu/3.4.2//
uscan debug: received content:
total 35120
-rw-rw-r--   1 20708    208         7006399 Jan 24 16:08 icu4j_3_4_2.jar
-rw-rw-r--   1 20708    208         1223629 Jan 24 17:07 icu4jdocs_3_4_2.jar
-rw-rw-r--   1 20708    208         9745932 Jan 24 17:08 icu4jsrc_3_4_2.jar
[End of received content]
uscan debug: matching pattern 
(?:(?:ftp://ftp.software.ibm.com)?\/software\/globalization\/icu\/3\.4\.2\/\/)?icu-([\d\.]+).tgz
uscan warning: In debian/watch no matching files for watch line
  
ftp://ftp.software.ibm.com/software/globalization/icu/(?:\d+\.[\d\.]+)/icu-([\d\.]+).tgz


The problem here is that 3.4.2 has been released for java, but not for
C++.  The latest version of the C++ release is in fact 3.4.1, and the
contents of 3.4.1 include icu-3.4.1.tgz.  uscan doesn't look there
though because it's not the newest directory.  Clearly we don't want
uscan to look in all the subdirectories, so I'm not really sure what a
sensible heuristic is.  Maybe there actually does need to be an option
to look in all matching directories which is disabled by default, or
perhaps if a matching file is not found in the newest directory, uscan
should check older directories until it runs out of choices or finds a
match.


-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.15-1-686-smp
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)

Versions of packages devscripts depends on:
ii  debianutils                   2.16.1     Miscellaneous utilities specific t
ii  dpkg-dev                      1.13.22    package building tools for Debian
ii  libc6                         2.3.6-15   GNU C Library: Shared libraries
ii  perl                          5.8.8-6    Larry Wall's Practical Extraction 
ii  sed                           4.1.5-1    The GNU sed stream editor

Versions of packages devscripts recommends:
ii  fakeroot                      1.5.8      Gives a fake root environment

-- no debconf information


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to