This is an automated email from the git hooks/post-receive script. osamu pushed a commit to branch master in repository devscripts.
commit ad47512f30a7bdbee37d5e76753b6d105a4948c4 Author: Osamu Aoki <os...@debian.org> Date: Sat Jan 13 23:26:06 2018 +0900 Use options{'mode'} with http/ftp More readable style Signed-off-by: Osamu Aoki <os...@debian.org> --- scripts/uscan.pl | 62 +++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 39 insertions(+), 23 deletions(-) diff --git a/scripts/uscan.pl b/scripts/uscan.pl index 89f1465..1b47da6 100755 --- a/scripts/uscan.pl +++ b/scripts/uscan.pl @@ -351,7 +351,8 @@ Set the archive download I<mode>. =item B<LWP> This mode is the default one which downloads the specified tarball from the -archive URL on the web. +archive URL on the web. Automatically internal B<mode> value is updated to +either B<http> or B<ftp> by URL. =item B<git> @@ -2578,13 +2579,13 @@ sub process_watchfile ($$$$) # or # http://site.name/dir/path/base pattern-(.+)\.tar\.gz [version [action]] # -# Lines can be prefixed with opts=<opts>. +# watch_version=3 and 4: See POD for details. +# +# Lines can be prefixed with opts=<opts> but can be folded for readability. # # Then the patterns matched will be checked to find the one with the # greatest version number (as determined by the (...) group), using the # Debian version number comparison algorithm described below. -# -# watch_version=3 and 4: See POD. sub process_watchline ($$$$$$) { @@ -2762,10 +2763,21 @@ sub process_watchline ($$$$$$) $filepattern = $1; (undef, $lastversion, $action) = split /\s+/, $line, 3; } + # Always define "" if not defined $lastversion //= ''; - - # compression is persistent + $action //= ''; if ($options{'mode'} eq 'LWP') { + if ($base =~ m%^https?://%) { + $options{'mode'} = 'http'; + } elsif ($base =~ m%^ftp://%) { + $options{'mode'} = 'ftp'; + } else { + uscan_warn "unknown protocol for LWP: $base\n"; + return 1; + } + } + # compression is persistent + if ($options{'mode'} eq 'http' or $options{'mode'} eq 'ftp') { $compression //= get_compression('gzip'); # keep backward compat. } else { $compression //= get_compression('xz'); @@ -2966,7 +2978,7 @@ sub process_watchline ($$$$$$) } if ($watch_version != 1) { - if ($options{'mode'} eq 'LWP') { + if ($options{'mode'} eq 'http' or $options{'mode'} eq 'ftp') { if ($base =~ m%^(\w+://[^/]+)%) { $site = $1; } else { @@ -2986,20 +2998,28 @@ sub process_watchline ($$$$$$) $pattern = "(?:(?:$site)?" . quotemeta($basedir) . ")?$filepattern"; } else { # git tag match is simple - $basedir = ''; + $site = $base; # dummy + $basedir = ''; # dummy $pattern = $filepattern; - uscan_debug "base=$base\n"; - uscan_debug "pattern=$pattern\n"; } } - push @patterns, $pattern; push @sites, $site; push @basedirs, $basedir; + push @patterns, $pattern; 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"; + uscan_debug "watch file has:\n" + . " \$base = $base\n" + . " \$filepattern = $filepattern\n" + . " \$lastversion = $lastversion\n" + . " \$action = $action\n" + . " mode = $options{'mode'}\n" + . " pgpmode = $options{'pgpmode'}\n" + . " versionmode = $options{'versionmode'}\n" + . " \$site = $site\n" + . " \$basedir = $basedir\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 @@ -3076,7 +3096,7 @@ sub process_watchline ($$$$$$) ####################################################################### # }}} code 3.1.1: search $newversion, $newfile (git mode) ####################################################################### - } elsif ($site =~ m%^http(s)?://%) { + } elsif ($options{'mode'} eq 'http') { ####################################################################### # {{{ code 3.1.2: search $newversion, $newfile (http mode) ####################################################################### @@ -3251,7 +3271,7 @@ sub process_watchline ($$$$$$) ####################################################################### # }}} code 3.1.2: search $newversion, $newfile (http mode) ####################################################################### - } elsif ($site =~ m%^ftp://%) { + } elsif ($options{'mode'} eq 'ftp') { ####################################################################### # {{{ code 3.1.3: search $newversion, $newfile (ftp mode) ####################################################################### @@ -3377,12 +3397,7 @@ sub process_watchline ($$$$$$) ####################################################################### # {{{ code 3.1.4: search $newversion, $newfile (non-existing mode) ####################################################################### - if ($options{'mode'} eq 'LWP') { - # mode=LWP but neither HTTP nor FTP - uscan_warn "Unknown protocol in $watchfile, skipping:\n $site\n"; - } else { - uscan_warn "Unknown mode=$options{'mode'} set in $watchfile\n"; - } + uscan_warn "Unknown mode=$options{'mode'} set in $watchfile\n"; return 1; ####################################################################### # }}} code 3.1.4: search $newversion, $newfile (non-existing mode) @@ -3557,9 +3572,9 @@ EOF uscan_verbose "Newest upstream tarball version from the filenamemangled filename: $newversion\n"; } } else { - if ($options{'mode'} eq 'LWP') { + if ($options{'mode'} eq 'http' or $options{'mode'} eq 'ftp') { $newfile_base = basename($newfile); - if ($site =~ m%^https?://%) { + if ($options{'mode'} eq 'http') { # Remove HTTP header trash $newfile_base =~ s/[\?#].*$//; # PiPy # just in case this leaves us with nothing @@ -3568,7 +3583,7 @@ EOF return 1; } } - } else { + } else { # options{'mode'} eq 'git' or options{'mode'} eq 'git-dumb' # git tarball name my $zsuffix = get_suffix($compression); $newfile_base = "$pkg-$newversion.tar.$zsuffix"; @@ -4808,6 +4823,7 @@ sub safe_replace($$) $replacement =~ s/\\\Q$sep\E/$sep/g; # If bracketing quotes were used, also unescape the # closing version + # {{ dummy for editor $replacement =~ s/\\\Q}\E/}/g if $sep eq '{'; $replacement =~ s/\\\Q]\E/]/g if $sep eq '['; $replacement =~ s/\\\Q)\E/)/g if $sep eq '('; -- 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