This is an automated email from the git hooks/post-receive script. osamu pushed a commit to branch master in repository devscripts.
commit 646d7a8aa0c96300932876d7b27d566e43fba3d9 Author: Osamu Aoki <os...@debian.org> Date: Sat Jan 13 00:06:46 2018 +0900 hrefdecode This option enables decoding of percent-encoding on the href string Bug#884604: devscripts: [uscan] please support hexadecimal encoded URLs Tested with watch file: --- version=4 opts="hrefdecode=percent-encoding, \ filenamemangle=s/.*dl_class_([\d.]+)\.tar\.gz/dl-poly-classic-$1\.tar\.gz/" \ https://ccpforge.cse.rl.ac.uk/gf/project/dl_poly_classic/frs/ \ /gf/download/frsrelease/\d+/\d+/dl_class_([\d.]+)\.tar\.gz --- Signed-off-by: Osamu Aoki <os...@debian.org> Signed-off-by: Osamu Aoki <os...@debian.org> --- debian/changelog | 1 + scripts/uscan.pl | 22 +++++++++++++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 60454c1..47b1734 100644 --- a/debian/changelog +++ b/debian/changelog @@ -19,6 +19,7 @@ devscripts (2.18.1) UNRELEASED; urgency=medium [ Osamu Aoki ] * uupdate: bash completion fix by Julian Gilbey. Closes: #834006 * uscan: clarify importance of version=4. Closes: #884880 + * uscan: add hrefdecode option. Closes: #884604 -- Mattia Rizzolo <mat...@debian.org> Wed, 03 Jan 2018 14:31:54 +0100 diff --git a/scripts/uscan.pl b/scripts/uscan.pl index 1377b85..ddf2c76 100755 --- a/scripts/uscan.pl +++ b/scripts/uscan.pl @@ -475,10 +475,17 @@ Substitution such as B<s/PRE/~pre/; s/RC/~rc/> may help. Syntactic shorthand for B<uversionmangle=>I<rules>B<, dversionmangle=>I<rules> +=item B<hrefdecode=percent-encoding> + +Convert the selected upstream tarball href string from the percent-encoded +hexadecimal string to the decoded normal URL string for obfuscated web sites. +Only B<percent-encoding> is available and it is decoded with +B<s/%([A-Fa-f\d]{2})/chr hex $1/eg>. + =item B<downloadurlmangle=>I<rules> Convert the selected upstream tarball href string into the accessible URL for -obfuscated web sites. +obfuscated web sites. This is run after B<hrefdecode>. =item B<filenamemangle=>I<rules> @@ -2575,6 +2582,8 @@ sub process_watchline ($$$$$$) } elsif ($opt =~ /^\s*versionmangle\s*=\s*(.+?)\s*$/) { @{$options{'uversionmangle'}} = split /;/, $1; @{$options{'dversionmangle'}} = split /;/, $1; + } elsif ($opt =~ /^\s*hrefdecode\s*=\s*(.+?)\s*$/) { + $options{'hrefdecode'} = $1; } elsif ($opt =~ /^\s*downloadurlmangle\s*=\s*(.+?)\s*$/) { @{$options{'downloadurlmangle'}} = split /;/, $1; } elsif ($opt =~ /^\s*filenamemangle\s*=\s*(.+?)\s*$/) { @@ -2845,6 +2854,7 @@ sub process_watchline ($$$$$$) my $match = ''; # Start Checking $site and look for $filepattern which is newer than $lastversion + uscan_debug "Start Checking $site and look for $filepattern which is newer than $lastversion.\n"; # What is the most recent file, based on the filenames? # We first have to find the candidates, then we sort them using # Devscripts::Versort::upstream_versort (if it is real upstream version string) or @@ -3001,6 +3011,16 @@ sub process_watchline ($$$$$$) my $mangled_version; $href =~ s/\n//g; $href = fix_href($href); + if (exists $options{'hrefdecode'}) { + if ($options{'hrefdecode'} eq 'percent-encoding') { + uscan_debug "... Decoding from href: $href\n"; + $href =~ s/%([A-Fa-f\d]{2})/chr hex $1/eg ; + } else { + uscan_warn "Illegal value for hrefdecode: " + . "$options{'hrefdecode'}\n"; + return 1; + } + } uscan_debug "Checking href $href\n"; foreach my $_pattern (@patterns) { if ($href =~ m&^$_pattern$&) { -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/collab-maint/devscripts.git _______________________________________________ devscripts-devel mailing list devscripts-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/devscripts-devel