Package: devscripts
Version: 2.10.26
Severity: normal
Tags: patch
User: [EMAIL PROTECTED]
Usertags: origin-ubuntu intrepid ubuntu-patch
Hi,
My use case for uscan --download-version is to programatically retrieve
old versions of an upstream tarball. Currently this will give output
like this:
uscan --package sugar --download-version 0.81.5 --repack --rename
--download --force-download --destdir . --upstream-version 0.82.0
--watchfile debian/watch --debug
-- In debian/watch, processing watchfile line:
http://dev.laptop.org/pub/sugar/sources/sugar/sugar-(.*)\.tar\.bz2
uscan debug: requesting URL
http://dev.laptop.org/pub/sugar/sources/sugar/
uscan debug: received content:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<title>Index of /pub/sugar/sources/sugar</title>
</head>
<body>
<h1>Index of /pub/sugar/sources/sugar</h1>
<pre><img src="/icons/blank.gif" alt="Icon "> <a
href="?C=N;O=D">Name</a> <a href="?C=M;O=A">Last modified</a> <a
href="?C=S;O=A">Size</a> <a href="?C=D;O=A">Description</a><hr><img
src="/icons/back.gif" alt="[DIR]"> <a href="/pub/sugar/sources/">Parent
Directory</a> -
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.75.15.tar.bz2">sugar-0.75.15.tar.bz2</a> 20-May-2008 11:35
510K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.79.0.tar.bz2">sugar-0.79.0.tar.bz2</a> 08-Feb-2008 14:01
254K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.79.1.tar.bz2">sugar-0.79.1.tar.bz2</a> 28-Mar-2008 14:15
257K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.79.2.tar.bz2">sugar-0.79.2.tar.bz2</a> 02-Apr-2008 13:38
258K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.79.3.tar.bz2">sugar-0.79.3.tar.bz2</a> 09-Apr-2008 16:50
310K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.79.4.tar.bz2">sugar-0.79.4.tar.bz2</a> 22-Apr-2008 13:02
311K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.79.5.tar.bz2">sugar-0.79.5.tar.bz2</a> 18-May-2008 14:25
310K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.81.1.tar.bz2">sugar-0.81.1.tar.bz2</a> 20-May-2008 13:09
241K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.81.2.tar.bz2">sugar-0.81.2.tar.bz2</a> 23-May-2008 17:51
241K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.81.3.tar.bz2">sugar-0.81.3.tar.bz2</a> 05-Jun-2008 09:32
255K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.81.4.tar.bz2">sugar-0.81.4.tar.bz2</a> 20-Jun-2008 12:57
260K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.81.5.tar.bz2">sugar-0.81.5.tar.bz2</a> 21-Jun-2008 05:11
260K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.81.6.tar.bz2">sugar-0.81.6.tar.bz2</a> 07-Jul-2008 16:33
288K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.81.7.tar.bz2">sugar-0.81.7.tar.bz2</a> 22-Jul-2008 08:48
287K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.81.8.tar.bz2">sugar-0.81.8.tar.bz2</a> 31-Jul-2008 15:12
295K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.82.0.tar.bz2">sugar-0.82.0.tar.bz2</a> 07-Aug-2008 12:00
305K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.82.1.tar.bz2">sugar-0.82.1.tar.bz2</a> 28-Aug-2008 10:52
307K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.82.2.tar.bz2">sugar-0.82.2.tar.bz2</a> 29-Aug-2008 09:27
311K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.82.3.tar.bz2">sugar-0.82.3.tar.bz2</a> 06-Sep-2008 11:50
313K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.82.4.tar.bz2">sugar-0.82.4.tar.bz2</a> 11-Sep-2008 05:35
311K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.82.5.tar.bz2">sugar-0.82.5.tar.bz2</a> 12-Sep-2008 12:24
312K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.82.6.tar.bz2">sugar-0.82.6.tar.bz2</a> 13-Sep-2008 14:02
314K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.82.7.tar.bz2">sugar-0.82.7.tar.bz2</a> 16-Sep-2008 15:20
313K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.82.8.tar.bz2">sugar-0.82.8.tar.bz2</a> 20-Sep-2008 05:57
313K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.82.9.tar.bz2">sugar-0.82.9.tar.bz2</a> 25-Sep-2008 15:09
316K
<hr></pre>
</body></html>
[End of received content]
uscan debug: matching pattern (?:(?:http://dev.laptop.org)?\/pub\/sugar
\/sources\/sugar\/)?sugar-(.*)\.tar\.bz2
-- Found the following matching hrefs:
sugar-0.75.15.tar.bz2
sugar-0.79.0.tar.bz2
sugar-0.79.1.tar.bz2
sugar-0.79.2.tar.bz2
sugar-0.79.3.tar.bz2
sugar-0.79.4.tar.bz2
sugar-0.79.5.tar.bz2
sugar-0.81.1.tar.bz2
sugar-0.81.2.tar.bz2
sugar-0.81.3.tar.bz2
sugar-0.81.4.tar.bz2
sugar-0.81.5.tar.bz2
sugar-0.81.6.tar.bz2
sugar-0.81.7.tar.bz2
sugar-0.81.8.tar.bz2
sugar-0.82.0.tar.bz2
sugar-0.82.1.tar.bz2
sugar-0.82.2.tar.bz2
sugar-0.82.3.tar.bz2
sugar-0.82.4.tar.bz2
sugar-0.82.5.tar.bz2
sugar-0.82.6.tar.bz2
sugar-0.82.7.tar.bz2
sugar-0.82.8.tar.bz2
sugar-0.82.9.tar.bz2
Newest version on remote site is 0.81.5, local version is 0.82.0
=> remote site does not even have current version
refusing to download the requested version. The problem is that the
"lastversion"
variable is set to what you pass for --download-version to make it
download that
version, but then this code checks that against the current upstream
version,
and thinks that there is nothing new to download.
My patch skips this check if --download-version is specified, as for my
use case
any checks like this make no sense. It gives output like:
uscan --package sugar --download-version 0.81.5 --repack --rename
--download --force-download --destdir . --upstream-version 0.82.0
--watchfile debian/watch --debug
-- In debian/watch, processing watchfile line:
http://dev.laptop.org/pub/sugar/sources/sugar/sugar-(.*)\.tar\.bz2
uscan debug: requesting URL
http://dev.laptop.org/pub/sugar/sources/sugar/
uscan debug: received content:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<title>Index of /pub/sugar/sources/sugar</title>
</head>
<body>
<h1>Index of /pub/sugar/sources/sugar</h1>
<pre><img src="/icons/blank.gif" alt="Icon "> <a
href="?C=N;O=D">Name</a> <a href="?C=M;O=A">Last modified</a> <a
href="?C=S;O=A">Size</a> <a href="?C=D;O=A">Description</a><hr><img
src="/icons/back.gif" alt="[DIR]"> <a href="/pub/sugar/sources/">Parent
Directory</a> -
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.75.15.tar.bz2">sugar-0.75.15.tar.bz2</a> 20-May-2008 11:35
510K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.79.0.tar.bz2">sugar-0.79.0.tar.bz2</a> 08-Feb-2008 14:01
254K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.79.1.tar.bz2">sugar-0.79.1.tar.bz2</a> 28-Mar-2008 14:15
257K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.79.2.tar.bz2">sugar-0.79.2.tar.bz2</a> 02-Apr-2008 13:38
258K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.79.3.tar.bz2">sugar-0.79.3.tar.bz2</a> 09-Apr-2008 16:50
310K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.79.4.tar.bz2">sugar-0.79.4.tar.bz2</a> 22-Apr-2008 13:02
311K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.79.5.tar.bz2">sugar-0.79.5.tar.bz2</a> 18-May-2008 14:25
310K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.81.1.tar.bz2">sugar-0.81.1.tar.bz2</a> 20-May-2008 13:09
241K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.81.2.tar.bz2">sugar-0.81.2.tar.bz2</a> 23-May-2008 17:51
241K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.81.3.tar.bz2">sugar-0.81.3.tar.bz2</a> 05-Jun-2008 09:32
255K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.81.4.tar.bz2">sugar-0.81.4.tar.bz2</a> 20-Jun-2008 12:57
260K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.81.5.tar.bz2">sugar-0.81.5.tar.bz2</a> 21-Jun-2008 05:11
260K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.81.6.tar.bz2">sugar-0.81.6.tar.bz2</a> 07-Jul-2008 16:33
288K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.81.7.tar.bz2">sugar-0.81.7.tar.bz2</a> 22-Jul-2008 08:48
287K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.81.8.tar.bz2">sugar-0.81.8.tar.bz2</a> 31-Jul-2008 15:12
295K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.82.0.tar.bz2">sugar-0.82.0.tar.bz2</a> 07-Aug-2008 12:00
305K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.82.1.tar.bz2">sugar-0.82.1.tar.bz2</a> 28-Aug-2008 10:52
307K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.82.2.tar.bz2">sugar-0.82.2.tar.bz2</a> 29-Aug-2008 09:27
311K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.82.3.tar.bz2">sugar-0.82.3.tar.bz2</a> 06-Sep-2008 11:50
313K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.82.4.tar.bz2">sugar-0.82.4.tar.bz2</a> 11-Sep-2008 05:35
311K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.82.5.tar.bz2">sugar-0.82.5.tar.bz2</a> 12-Sep-2008 12:24
312K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.82.6.tar.bz2">sugar-0.82.6.tar.bz2</a> 13-Sep-2008 14:02
314K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.82.7.tar.bz2">sugar-0.82.7.tar.bz2</a> 16-Sep-2008 15:20
313K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.82.8.tar.bz2">sugar-0.82.8.tar.bz2</a> 20-Sep-2008 05:57
313K
<img src="/icons/unknown.gif" alt="[ ]"> <a
href="sugar-0.82.9.tar.bz2">sugar-0.82.9.tar.bz2</a> 25-Sep-2008 15:09
316K
<hr></pre>
</body></html>
[End of received content]
uscan debug: matching pattern (?:(?:http://dev.laptop.org)?\/pub\/sugar
\/sources\/sugar\/)?sugar-(.*)\.tar\.bz2
-- Found the following matching hrefs:
sugar-0.75.15.tar.bz2
sugar-0.79.0.tar.bz2
sugar-0.79.1.tar.bz2
sugar-0.79.2.tar.bz2
sugar-0.79.3.tar.bz2
sugar-0.79.4.tar.bz2
sugar-0.79.5.tar.bz2
sugar-0.81.1.tar.bz2
sugar-0.81.2.tar.bz2
sugar-0.81.3.tar.bz2
sugar-0.81.4.tar.bz2
sugar-0.81.5.tar.bz2
sugar-0.81.6.tar.bz2
sugar-0.81.7.tar.bz2
sugar-0.81.8.tar.bz2
sugar-0.82.0.tar.bz2
sugar-0.82.1.tar.bz2
sugar-0.82.2.tar.bz2
sugar-0.82.3.tar.bz2
sugar-0.82.4.tar.bz2
sugar-0.82.5.tar.bz2
sugar-0.82.6.tar.bz2
sugar-0.82.7.tar.bz2
sugar-0.82.8.tar.bz2
sugar-0.82.9.tar.bz2
Newest version on remote site is 0.81.5, local version is 0.82.0
=> Forcing download as requested
-- Downloading updated package sugar-0.81.5.tar.bz2
uscan debug: requesting URL
http://dev.laptop.org/pub/sugar/sources/sugar/sugar-0.81.5.tar.bz2
-- Repacking from bzip2 to gzip
-- Successfully downloaded updated package sugar-0.81.5.tar.gz
and renamed it as sugar_0.81.5.orig.tar.gz
Attached is the proposed patch to fix this. Please consider applying
it.
Thanks,
James
diff -Nru devscripts-2.10.26ubuntu13/scripts/uscan.pl devscripts-2.10.26ubuntu14/scripts/uscan.pl
--- devscripts-2.10.26ubuntu13/scripts/uscan.pl 2008-04-13 17:47:02.000000000 +0100
+++ devscripts-2.10.26ubuntu14/scripts/uscan.pl 2008-10-11 18:00:09.000000000 +0100
@@ -1062,19 +1062,21 @@
# We use dpkg's rules to determine whether our current version
# is newer or older than the remote version.
- if (system("dpkg --compare-versions '$mangled_lastversion' gt '$newversion'") == 0) {
- if ($verbose) {
- print " => remote site does not even have current version\n";
- } elsif ($dehs) {
- $dehs_tags{'status'} = "Debian version newer than remote site";
- } else {
- print "$pkg: remote site does not even have current version\n";
- }
- return 0;
- } else {
- # There's a newer upstream version available, which may already
- # be on our system or may not be
- $found++;
+ if (! defined $download_version){
+ if (system("dpkg --compare-versions '$mangled_lastversion' gt '$newversion'") == 0) {
+ if ($verbose) {
+ print " => remote site does not even have current version\n";
+ } elsif ($dehs) {
+ $dehs_tags{'status'} = "Debian version newer than remote site";
+ } else {
+ print "$pkg: remote site does not even have current version\n";
+ }
+ return 0;
+ } else {
+ # There's a newer upstream version available, which may already
+ # be on our system or may not be
+ $found++;
+ }
}
if (defined $pkg_dir) {