[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#19467: devscripts: uscan fails to find latest version



Package: devscripts
Version: 1.5

  vanzandt:/usr/local/src$ uscan mirrordir-0.9.10/
  -- Scanning for watchfiles in mirrordir-0.9.10/
  -- Found watchfile in mirrordir-0.9.10
  Version on FTP Site is 0.9.9. Package is 0.9.100
                                                 ^ this is wrong
   => mirrordir-0.9.9.tar.gz already in package directory
  -- Scan finished

Actually, version 0.9.11 was available:

  mirrordir-0.9.10.tar.gz
  mirrordir-0.9.11.tar.gz
  mirrordir-0.9.2.tar.gz
  mirrordir-0.9.3.tar.gz
  mirrordir-0.9.4.tar.gz
  mirrordir-0.9.5.tar.gz
  mirrordir-0.9.6.tar.gz
  mirrordir-0.9.7.tar.gz
  mirrordir-0.9.8.tar.gz
  mirrordir-0.9.9.tar.gz

The problem is a string sort.  I suggest this patch, which assumes a
version number of the form X.Y.Z, and does a numerical comparison of
corresponding fields:

--- uscan-orig	Tue Mar 10 19:14:28 1998
+++ uscan	Tue Mar 10 19:32:44 1998
@@ -19,7 +19,8 @@
 #	echo "Entering watch with $*"
 	MATCHING=`echo "$3" | sed -e 's/\./\\\./g' -e 's/?/./g' -e 's/\*/.*/g'`
 #	echo "Matching=$MATCHING"
-	NFILE=`echo "ls $3" | ncftp $1:$2/ 2>&1 | grep "^$MATCHING" | sort | tail -1`
+	NFILE=`echo "ls $3" | ncftp $1:$2/ 2>&1 | grep "^$MATCHING" | \
+	    sort +0 -1 +1n -2n +2n -3n +3n -4n -t . | tail -1`
 	# See if there is a new version
 	X="$NFILE"
 	if [ "$X" ]; then


It still fails when the first component goes from 9 to 10.

-- System Information
Debian Release: 2.0 (unstable)
Kernel Version: Linux vanzandt 2.1.74 #3 Mon Feb 16 20:26:30 EST 1998 i586 unknown

Versions of the packages devscripts depends on:
libc6	Version: 2.0.7pre1-3
dpkg-dev	Version: 1.4.0.20
file	Version: 3.24-2
patch	Version: 2.5-1
perl	Version: 5.004.04-4
ed	Version: 0.2-16


--
E-mail the word "unsubscribe" to debian-devel-request@lists.debian.org
TO UNSUBSCRIBE FROM THIS MAILING LIST. Trouble?  E-mail to listmaster@debian.org .


Reply to: