[devscripts] 01/06: uscan: sort compression extension
Osamu Aoki
osamu at moszumanska.debian.org
Tue Nov 10 16:40:23 UTC 2015
This is an automated email from the git hooks/post-receive script.
osamu pushed a commit to branch multitar
in repository devscripts.
commit da0e033aa20a937d93c08beac80cf71fbe9713b8
Author: Osamu Aoki <osamu at debian.org>
Date: Tue Nov 10 22:37:24 2015 +0900
uscan: sort compression extension
Fix #763071 allow setting download compression ordering (prefer xz over gz)
---
scripts/uscan.pl | 46 +++++++++++++++++++++++++++++++++++-----------
1 file changed, 35 insertions(+), 11 deletions(-)
diff --git a/scripts/uscan.pl b/scripts/uscan.pl
index bd2670f..41070b8 100755
--- a/scripts/uscan.pl
+++ b/scripts/uscan.pl
@@ -1600,6 +1600,7 @@ our $found = 0;
sub process_watchline ($$$$$$);
sub process_watchfile ($$$$);
sub check_compression ($);
+sub check_priority ($);
sub recursive_regex_dir ($$$);
sub newest_dir ($$$$$);
sub uscan_die ($);
@@ -2815,7 +2816,8 @@ sub process_watchline ($$$$$$)
$match = "matched with the download version";
}
}
- push @hrefs, [$mangled_version, $href, $match];
+ my $priority = check_priority($href);
+ push @hrefs, [$mangled_version, $priority, $href, $match];
}
}
}
@@ -2823,14 +2825,14 @@ sub process_watchline ($$$$$$)
@hrefs = Devscripts::Versort::upstream_versort(@hrefs);
my $msg = "Found the following matching hrefs on the web page (newest first):\n";
foreach my $href (@hrefs) {
- $msg .= " $$href[1] ($$href[0]) $$href[2]\n";
+ $msg .= " $$href[2] ($$href[0]) $$href[3]\n";
}
uscan_verbose $msg;
}
if (defined $download_version) {
- my @vhrefs = grep { $$_[2] } @hrefs;
+ my @vhrefs = grep { $$_[3] } @hrefs;
if (@vhrefs) {
- ($newversion, $newfile, undef) = @{$vhrefs[0]};
+ ($newversion, undef, $newfile, undef) = @{$vhrefs[0]};
} else {
uscan_warn "In $watchfile no matching hrefs for version $download_version"
. " in watch line\n $line\n";
@@ -2838,7 +2840,7 @@ sub process_watchline ($$$$$$)
}
} else {
if (@hrefs) {
- ($newversion, $newfile, undef) = @{$hrefs[0]};
+ ($newversion, undef, $newfile, undef) = @{$hrefs[0]};
} else {
uscan_warn "In $watchfile no matching files for watch line\n $line\n";
return 1;
@@ -2896,7 +2898,8 @@ sub process_watchline ($$$$$$)
$match = "matched with the download version";
}
}
- push @files, [$mangled_version, $file, $match];
+ my $priority = check_priority($file);
+ push @files, [$mangled_version, $priority, $file, $match];
}
} else {
uscan_verbose "Standard FTP listing.\n";
@@ -2926,7 +2929,8 @@ sub process_watchline ($$$$$$)
$match = "matched with the download version";
}
}
- push @files, [$mangled_version, $file, $match];
+ my $priority = check_priority($file);
+ push @files, [$mangled_version, $priority, $file, $match];
}
}
}
@@ -2934,14 +2938,14 @@ sub process_watchline ($$$$$$)
@files = Devscripts::Versort::upstream_versort(@files);
my $msg = "Found the following matching files on the web page (newest first):\n";
foreach my $file (@files) {
- $msg .= " $$file[1] ($$file[0]) $$file[2]\n";
+ $msg .= " $$file[2] ($$file[0]) $$file[3]\n";
}
uscan_verbose $msg;
}
if (defined $download_version) {
- my @vfiles = grep { $$_[2] } @files;
+ my @vfiles = grep { $$_[3] } @files;
if (@vfiles) {
- ($newversion, $newfile, undef) = @{$vfiles[0]};
+ ($newversion, undef, $newfile, undef) = @{$vfiles[0]};
} else {
uscan_warn "In $watchfile no matching files for version $download_version"
. " in watch line\n $line\n";
@@ -2949,7 +2953,7 @@ sub process_watchline ($$$$$$)
}
} else {
if (@files) {
- ($newversion, $newfile, undef) = @{$files[0]};
+ ($newversion, undef, $newfile, undef) = @{$files[0]};
} else {
uscan_warn "In $watchfile no matching files for watch line\n $line\n";
return 1;
@@ -3899,6 +3903,26 @@ sub check_compression ($)
return $canonical_compression;
}
+# Check compression priority
+sub check_priority ($)
+{
+ my $href = $_[0];
+ my $priority = 0;
+ if ($href =~ m/\.tar\.gz/i) {
+ $priority = 1;
+ }
+ if ($href =~ m/\.tar\.bz2/i) {
+ $priority = 2;
+ }
+ if ($href =~ m/\.tar\.lzma/i) {
+ $priority = 3;
+ }
+ if ($href =~ m/\.tar\.xz/i) {
+ $priority = 4;
+ }
+ return $priority;
+}
+
# Message handling
sub printwarn ($)
{
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/collab-maint/devscripts.git
More information about the devscripts-devel
mailing list