This is an automated email from the git hooks/post-receive script.

osamu pushed a commit to branch multitar
in repository devscripts.

commit 3bcf112707b008bacbdd32fcaea486b13d2db783
Author: Osamu Aoki <[email protected]>
Date:   Wed Sep 23 21:59:42 2015 +0900

    uscan: new oversionmangle rule
    
    oversionmangle:
        the further mangling of uversionmangled version to the pristine
        tarball version
    
    test_uscan_mangle: enable test for oversionmangle
    
    Use case:
    If you wish to match the downloaded <file>-<version>.tar.gz to be the
    same as the actual upstream, uversionmangle can not be used to prefix
    version number such as 20010101 with prefix 0. for
    <packagename>_<version>.orig.tar.gz.  (This trick enables to avoid epoch
    in future)
    
    Also for the multi upstream tarball (MUT) case, conditional suffix does
    not work since all repackaged and non-repackaged packages needs to carry
    the same suffix.  Also the last version may use +dfsg1, +dfsg2, or ...
    so, you need to have dversionmangle to remove it for comparison with the
    downloaded file.  There is a need to readd suffix for all tarballs..
    
    similar feature origverrsionmangle was discussed as:
     https://bugs.debian.org/458777
---
 scripts/uscan.pl | 28 +++++++++++++++++++++++-----
 1 file changed, 23 insertions(+), 5 deletions(-)

diff --git a/scripts/uscan.pl b/scripts/uscan.pl
index 411f467..c84efb4 100755
--- a/scripts/uscan.pl
+++ b/scripts/uscan.pl
@@ -834,6 +834,9 @@ sub process_watchline ($$$$$$)
                elsif ($opt =~ /^\s*filenamemangle\s*=\s*(.+?)\s*$/) {
                    @{$options{'filenamemangle'}} = split /;/, $1;
                }
+               elsif ($opt =~ /^\s*oversionmangle\s*=\s*(.+?)\s*$/) {
+                   @{$options{'oversionmangle'}} = split /;/, $1;
+               }
                elsif ($opt =~ /^\s*downloadurlmangle\s*=\s*(.+?)\s*$/) {
                    @{$options{'downloadurlmangle'}} = split /;/, $1;
                }
@@ -1277,7 +1280,22 @@ EOF
            $newfile_base = "$pkg-$newversion.download";
        }
     }
-    print STDERR "$progname debug: filenamemangled new filename 
$newfile_base\n" if $debug;
+    print STDERR "$progname debug: new filename selected for download 
(filenamemangled): $newfile_base\n" if $debug;
+
+    my $mangled_newversion = $newversion;
+    foreach my $pat (@{$options{'oversionmangle'}}) {
+       print STDERR "$progname debug: Oversionmangle rule: $pat\n" if $debug;
+       if (! safe_replace(\$mangled_newversion, $pat)) {
+           uscan_warn "$progname: In $watchfile, potentially"
+             . " unsafe or malformed oversionmangle"
+             . " pattern:\n  '$pat'"
+             . " found. Skipping watchline\n"
+             . "  $line\n";
+               return 1;
+       }
+    }
+    # $mangled_newversion = version used for the new orig.tar.gz (a.k.a 
oversion)
+    print STDERR "$progname debug: new orig.tar.gz tarball version 
(oversionmangled): $mangled_newversion\n" if $debug;
 
     # So what have we got to report now?
     my $upstream_url;
@@ -1564,7 +1582,7 @@ EOF
     unless ($symlink eq "no") {
        my @cmd = ("mk-origtargz");
        push @cmd, "--package", $pkg;
-       push @cmd, "--version", $newversion;
+       push @cmd, "--version", $mangled_newversion;
        push @cmd, '--repack-suffix', $options{repacksuffix} if defined 
$options{repacksuffix};
        push @cmd, "--rename" if $symlink eq "rename";
        push @cmd, "--copy"   if $symlink eq "copy";
@@ -1584,7 +1602,7 @@ EOF
        $path = $1 if $mk_origtargz_out =~ /Successfully .* (?:to|as) 
([^,]+)(?:,.*)?\.$/;
        $path = $1 if $mk_origtargz_out =~ /Leaving (.*) where it is/;
        $target = basename($path);
-       $newversion = $1 if $target =~ 
m/[^_]+_(.+)\.orig\.tar\.(?:gz|bz2|lzma|xz)$/;
+       $mangled_newversion = $1 if $target =~ 
m/[^_]+_(.+)\.orig\.tar\.(?:gz|bz2|lzma|xz)$/;
     }
 
     if ($dehs) {
@@ -1620,9 +1638,9 @@ EOF
        }
 
        if ($watch_version > 1) {
-           push @cmd, "--upstream-version", $newversion, $path;
+           push @cmd, "--upstream-version", $mangled_newversion, $path;
        } else {
-           push @cmd, $path, $newversion;
+           push @cmd, $path, $mangled_newversion;
        }
        my $actioncmd = join(" ", @cmd);
        print "-- Executing user specified script\n     $actioncmd\n" if 
$verbose;

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/collab-maint/devscripts.git

_______________________________________________
devscripts-devel mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/devscripts-devel

Reply via email to