[devscripts] 01/01: mk-origtargz+uscan: support unzip option

Osamu Aoki osamu at moszumanska.debian.org
Mon Nov 30 15:13:30 UTC 2015


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

osamu pushed a commit to branch master
in repository devscripts.

commit a38012744166e0c037ad376d8c6fbf4240bb7d11
Author: Osamu Aoki <osamu at debian.org>
Date:   Mon Nov 30 23:36:57 2015 +0900

    mk-origtargz+uscan: support unzip option
    
    unzip has awkwardness of text/binary handlings for unzip
    this enables to control -a -aa -b options.
---
 debian/changelog        |  2 ++
 scripts/mk-origtargz.pl | 15 ++++++++++++---
 scripts/uscan.pl        |  7 +++++++
 3 files changed, 21 insertions(+), 3 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 21486ae..962451f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -75,6 +75,7 @@ devscripts (2.15.10) UNRELEASED; urgency=medium
       @ANY_VERSION@, @ARCHIVE_EXT@, and @SIGNATURE_EXT at .
       (Closes: #517637, #539780)
     + Add direct git repository support. (Closes: #663357)
+    + Add unzipopt support.
   * uupdate:
     + Prevent failure when upstream version is 0.  (Closes: #798175)
     + Work around missing debian.tar.gz for "3.0 (quilt)".  (Closes: 798133)
@@ -84,6 +85,7 @@ devscripts (2.15.10) UNRELEASED; urgency=medium
   * mk-origtargz:
     + Support component name for the multiple upstream tarball support.
     + Fix Files-Excluded for duplicate entries. (Closes: #762263)
+    + Add --unzipopt option. (Closes: #737843)
   * debian/control
     + Add gnupg2/gpgv2 as alternative option to gnupg/gpgv.  (Closes: #788414)
 
diff --git a/scripts/mk-origtargz.pl b/scripts/mk-origtargz.pl
index ad1e5b9..0d0aceb 100644
--- a/scripts/mk-origtargz.pl
+++ b/scripts/mk-origtargz.pl
@@ -129,9 +129,9 @@ If the file has to be modified, because of B<Files-Excluded>, append I<suffix> t
 =item B<-c>, B<--component> I<componentname>
 
 Use <componentname> as the component name for the secondary upstream tarball.
-Set I<componentname> as the component namei.  This is used only for the 
+Set I<componentname> as the component name.  This is used only for the 
 secondary upstream tarball of the Debian source package.  
-Then I<packagename_version.orig-componentiname.tar.gz> is created.
+Then I<packagename_version.orig-componentname.tar.gz> is created.
 
 =item B<--compression> [ B<gzip> | B<bzip2> | B<lzma> | B<xz> ]
 
@@ -141,6 +141,10 @@ If B<--repack> is used, or if the given file is a B<zip> file, ensure that the r
 
 Put the resulting file in the given directory.
 
+=item B<--unzipopt> I<options>
+
+Add the extra options to use with the B<unzip> command such as B<-a>, B<-aa>, and B<-b>.
+
 =back
 
 =cut
@@ -194,6 +198,7 @@ my @exclude_globs = ();
 my @copyright_files = ();
 
 my $destdir = undef;
+my $unzipopt = undef;
 my $compression = "gzip";
 my $mode = undef; # can be symlink, rename or copy. Can internally be repacked if the file was repacked.
 my $repack = 0;
@@ -228,6 +233,7 @@ GetOptions(
     "repack" => \$repack,
     'repack-suffix|S=s' => \$suffix,
     "directory|C=s" => \$destdir,
+    "unzipopt=s" => \$unzipopt,
     "help|h" => sub { pod2usage({-exitval => 0, -verbose => 1}); },
 ) or pod2usage({-exitval => 3, -verbose=>1});
 
@@ -381,7 +387,10 @@ if ($is_zipfile) {
     # Parent of the target directory should be under our control
     $tempdir .= '/repack';
     mkdir $tempdir or die("Unable to mkdir($tempdir): $!\n");
-    system('unzip', '-q', '-a', '-d', $tempdir, $upstream_tar) == 0
+    my @cmd = ('unzip', '-q');
+    push @cmd, split ' ', $unzipopt if defined $unzipopt;
+    push @cmd, ('-d', $tempdir, $upstream_tar);
+    system(@cmd) == 0
 	or die("Repacking from zip or jar failed (could not unzip)\n");
 
     # Figure out the top-level contents of the tarball.
diff --git a/scripts/uscan.pl b/scripts/uscan.pl
index 03c8054..f8607f8 100755
--- a/scripts/uscan.pl
+++ b/scripts/uscan.pl
@@ -429,6 +429,10 @@ CONFIGURATION VARIABLES> instead.
 
 Don't use the PASV mode for the FTP connection.
 
+=item B<unzipopt=>I<options>
+
+Add the extra options to use with the B<unzip> command such as B<-a>, B<-aa>, and B<-b>.
+
 =item B<dversionmangle=>I<rules>
 
 Normalize the last upstream version string found in F<debian/changelog> to
@@ -2488,6 +2492,8 @@ sub process_watchline ($$$$$$)
 		    $options{'compression'} = get_compression($1);
 		} elsif ($opt =~ /^\s*repacksuffix\s*=\s*(.+?)\s*$/) {
 		    $options{'repacksuffix'} = $1;
+		} elsif ($opt =~ /^\s*unzipopt\s*=\s*(.+?)\s*$/) {
+		    $options{'unzipopt'} = $1;
 		} elsif ($opt =~ /^\s*dversionmangle\s*=\s*(.+?)\s*$/) {
 		    @{$options{'dversionmangle'}} = split /;/, $1;
 		} elsif ($opt =~ /^\s*pagemangle\s*=\s*(.+?)\s*$/) {
@@ -3638,6 +3644,7 @@ EOF
 	    if ($exclusion && -e "debian/copyright");
 	push @cmd, "--copyright-file", $copyright_file
 	    if ($exclusion && defined $copyright_file);
+	push @cmd, "--unzipopt", $options{'unzipopt'} if defined $options{'unzipopt'};
 	push @cmd, $path;
 
 	my $actioncmd = join(" ", @cmd);

-- 
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