Package: devscripts
Version: 2.9.20
Followup-For: Bug #364116
Hi,
I agree this would be good; for example many packages using
svn-buildpackage don't appear to include upstream tarballs.
Attached is a patch to implement --force-download. Verbose output
would look similar to below
[EMAIL PROTECTED]:~/programs/pkg-bluetooth/gnome-bluetooth/trunk$
/tmp/devscripts-2.9.20/uscan.pl --verbose --force-download
-- Scanning for watchfiles in .
-- Found watchfile in ./debian
-- In debian/watch, processing watchfile line:
http://ftp.gnome.org/pub/gnome/sources/gnome-bluetooth/([\d\.]+)/gnome-bluetooth-([\d\.]+)\.tar\.gz
debian
-- Found the following matching hrefs:
gnome-bluetooth-0.7.0.tar.gz
Newest version on remote site is 0.7.0, local version is 0.7.0
=> Package is up to date
Newest version on remote site is 0.7.0, local version is 0.7.0
=> Forcing download as requested
-- Downloading updated package gnome-bluetooth-0.7.0.tar.gz
-- Successfully downloaded updated package gnome-bluetooth-0.7.0.tar.gz
and symlinked gnome-bluetooth_0.7.0.orig.tar.gz to it
-- Scan finished
Thanks,
-i
-- System Information:
Debian Release: testing/unstable
APT prefers unstable
APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.17
Locale: LANG=en_AU, LC_CTYPE=en_AU (charmap=ISO-8859-1)
Versions of packages devscripts depends on:
ii debianutils 2.17 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.10 Gives a fake root environment
-- no debconf information
diff -u ./devscripts-2.9.20/uscan.1 ./devscripts-2.9.20-new/uscan.1
--- ./devscripts-2.9.20/uscan.1 2006-04-25 04:32:30.000000000 +1000
+++ ./devscripts-2.9.20-new/uscan.1 2006-08-08 11:23:49.000000000 +1000
@@ -327,6 +327,9 @@
.B \-\-download
Report and download. (This is the default behaviour.)
.TP
+.B \-\-force-download
+Download upstream even if up to date (will not overwrite local files, however)
+.TP
.B \-\-pasv
Force PASV mode for FTP connections.
.TP
diff -u ./devscripts-2.9.20/uscan.pl ./devscripts-2.9.20-new/uscan.pl
--- ./devscripts-2.9.20/uscan.pl 2006-04-19 02:58:30.000000000 +1000
+++ ./devscripts-2.9.20-new/uscan.pl 2006-08-08 11:20:28.000000000 +1000
@@ -72,6 +72,8 @@
--debug Dump the downloaded web pages to stdout for debugging
your watch file.
--download Report on newer and absent versions, and download (default)
+ --force-download
+ Always download the upstream release, even if up to date
--no-download Report on newer and absent versions, but don\'t download
--pasv Use PASV mode for FTP connections
--no-pasv Do not use PASV mode for FTP connections (default)
@@ -136,6 +138,7 @@
# The next stuff is boilerplate
my $download = 1;
+my $force_download = 0;
my $report = 0; # report even on up-to-date packages?
my $symlink = 'symlink';
my $verbose = 0;
@@ -217,13 +220,14 @@
# Now read the command line arguments
my $debug = 0;
-my ($opt_h, $opt_v, $opt_download, $opt_report, $opt_passive, $opt_symlink);
+my ($opt_h, $opt_v, $opt_download, $opt_force_download, $opt_report,
$opt_passive, $opt_symlink);
my ($opt_verbose, $opt_ignore, $opt_level, $opt_regex, $opt_noconf);
my ($opt_package, $opt_uversion, $opt_watchfile, $opt_dehs, $opt_timeout);
GetOptions("help" => \$opt_h,
"version" => \$opt_v,
"download!" => \$opt_download,
+ "force-download" => \$opt_force_download,
"report" => sub { $opt_download = 0; },
"report-status" => sub { $opt_download = 0; $opt_report = 1; },
"passive|pasv!" => \$opt_passive,
@@ -253,6 +257,7 @@
# Now we can set the other variables according to the command line options
$download = $opt_download if defined $opt_download;
+$force_download = $opt_force_download if defined $opt_force_download;
$report = $opt_report if defined $opt_report;
$passive = $opt_passive if defined $opt_passive;
$timeout = $opt_timeout if defined $opt_timeout;
@@ -938,7 +943,11 @@
print " => Package is up to date\n";
}
$dehs_tags{'status'} = "up to date";
- return 0;
+ if (! $force_download) {
+ return 0;
+ } else {
+ $download = 1;
+ }
}
# In all other cases, we'll want to report information even with --report
@@ -984,7 +993,9 @@
}
}
- if ($verbose) {
+ if ($force_download and $verbose) {
+ print " => Forcing download as requested\n";
+ } elsif ($verbose) {
print " => Newer version available from\n";
print " $upstream_url\n";
} elsif ($dehs) {