This is an automated email from the git hooks/post-receive script. jamessan pushed a commit to branch master in repository devscripts.
commit 12fa0d3990f307ff0946a8c0f1b7e2845f7dca3b Author: James McCoy <[email protected]> Date: Mon Dec 9 20:39:29 2013 -0500 Update scripts to use Dpkg::Compression's compression_get_file_extension_regex(). This is being done via a new Devscripts::Compression module simply to ensure we're backward compatible with older Dpkg::Compression versions and to avoid repeating the same code. Once Dpkg::Compression 1.02 is old enough, Devscripts::Compression can be removed and the imports updated accordingly. Signed-off-by: James McCoy <[email protected]> --- Devscripts/Compression.pm | 36 ++++++++++++++++++++++++++++++++++++ debian/changelog | 1 + scripts/debchange.pl | 6 ++++-- scripts/debcheckout.pl | 6 ++++-- scripts/debdiff.pl | 8 +++++--- scripts/debuild.pl | 6 ++++-- scripts/dget.pl | 6 ++++-- 7 files changed, 58 insertions(+), 11 deletions(-) diff --git a/Devscripts/Compression.pm b/Devscripts/Compression.pm new file mode 100644 index 0000000..65080e8 --- /dev/null +++ b/Devscripts/Compression.pm @@ -0,0 +1,36 @@ +# Copyright James McCoy <[email protected]> 2013. +# Modifications copyright 2002 Julian Gilbey <[email protected]> + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +package Devscripts::Compression; + +use Dpkg::Compression; +use Exporter qw(import); + +our @EXPORT = (@Dpkg::Compression::EXPORT, qw(compression_get_file_extension_regex)); + +eval { + Dpkg::Compression->VERSION(1.02); + 1; +} or do { + # Ensure we have compression_get_file_extension_regex, regardless of the + # version of Dpkg::Compression to ease backporting. + *{'Devscripts::Compression::compression_get_file_extension_regex'} = sub + { + return $compression_re_file_ext; + }; +}; + +1; diff --git a/debian/changelog b/debian/changelog index 33cbfbd..5edc89e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -14,6 +14,7 @@ devscripts (2.13.6) UNRELEASED; urgency=medium * build-rdeps: Only match against package names instead of any substring of Build-Depends(-Indep). (Closes: #649165) * debchange: Correct description of -e in --help output. (Closes: #712030) + * Update scripts to use Dpkg::Compression's compression_get_file_extension_regex(). [ Louis Bettens ] * debchange, mass-bug, bts: Replace call to date -R with strftime(). diff --git a/scripts/debchange.pl b/scripts/debchange.pl index 69f0bd6..dd69bf1 100755 --- a/scripts/debchange.pl +++ b/scripts/debchange.pl @@ -39,7 +39,7 @@ use Getopt::Long qw(:config gnu_getopt); use File::Copy; use File::Basename; use Cwd; -use Dpkg::Compression; +use Devscripts::Compression; use Dpkg::Vendor qw(get_current_vendor); use lib '/usr/share/devscripts'; use Devscripts::Debbugs; @@ -57,6 +57,8 @@ my $modified_conf_msg; my %env; my $CHGLINE; # used by the format O section at the end +my $compression_re = compression_get_file_extension_regex(); + my $lpdc_broken; sub have_lpdc { @@ -1640,7 +1642,7 @@ if ((basename(cwd()) =~ m%^\Q$PACKAGE\E-\Q$UVERSION\E$%) && } # And check whether a new orig tarball exists my @origs = glob("../$PACKAGE\_$new_uversion.*"); - my $num_origs = grep { /^..\/\Q$PACKAGE\E_\Q$new_uversion\E\.orig\.tar\.$compression_re_file_ext$/ } @origs; + my $num_origs = grep { /^..\/\Q$PACKAGE\E_\Q$new_uversion\E\.orig\.tar\.$compression_re$/ } @origs; if ($num_origs == 0) { warn "$progname warning: no orig tarball found for the new version.\n"; } diff --git a/scripts/debcheckout.pl b/scripts/debcheckout.pl index 53a3af9..366113f 100755 --- a/scripts/debcheckout.pl +++ b/scripts/debcheckout.pl @@ -247,12 +247,14 @@ use File::Basename; use File::Copy qw/copy/; use File::Temp qw/tempdir/; use Cwd; -use Dpkg::Compression; +use Devscripts::Compression; use lib '/usr/share/devscripts'; use Devscripts::Versort; my @files = (); # files to checkout +my $compression_re = compression_get_file_extension_regex(); + # <snippet from="bts.pl"> # <!-- TODO we really need to factor out in a Perl module the # configuration file parsing code --> @@ -343,7 +345,7 @@ sub find_repo($$) { } elsif ($line =~ /^Version:\s*(.*)$/i) { $version = $1; ($nonepoch_version = $version) =~ s/^\d+://; - } elsif ($line =~ /^ [a-f0-9]{32} \d+ (\S+)(?:_\Q$nonepoch_version\E|\.orig)\.tar\.$compression_re_file_ext$/) { + } elsif ($line =~ /^ [a-f0-9]{32} \d+ (\S+)(?:_\Q$nonepoch_version\E|\.orig)\.tar\.$compression_re$/) { $origtgz_name = $1; } elsif ($line =~ /^$/) { push (@repos, [$version, $type, $url, $origtgz_name]) diff --git a/scripts/debdiff.pl b/scripts/debdiff.pl index 6dde323..0ebdda4 100755 --- a/scripts/debdiff.pl +++ b/scripts/debdiff.pl @@ -18,7 +18,7 @@ use 5.006_000; use strict; use Cwd; use Dpkg::IPC; -use Dpkg::Compression; +use Devscripts::Compression; use File::Copy qw(cp move); use File::Basename; use File::Spec; @@ -39,6 +39,8 @@ my $modified_conf_msg; my $exit_status = 0; my $dummyname = "---DUMMY---"; +my $compression_re = compression_get_file_extension_regex(); + sub usage { print <<"EOF"; Usage: $progname [option] @@ -501,7 +503,7 @@ elsif ($type eq 'dsc') { if ($file =~ /\.diff\.gz$/) { $diffs[$i] = cwd() . '/' . $file; } - elsif ($file =~ /((?:\.orig)?\.tar\.$compression_re_file_ext|\.git)$/) { + elsif ($file =~ /((?:\.orig)?\.tar\.$compression_re|\.git)$/) { $origs[$i] = $file; } } else { @@ -629,7 +631,7 @@ elsif ($type eq 'dsc') { while ($_ = readdir(DIR)) { my $unpacked = "=unpacked-tar" . $tarballs . "="; my $filename = $_; - if ($filename =~ s/\.tar\.$compression_re_file_ext$//) { + if ($filename =~ s/\.tar\.$compression_re$//) { my $comp = compression_guess_from_filename($_); $tarballs++; spawn(exec => ['tar', "--$comp", '-xf', $_], diff --git a/scripts/debuild.pl b/scripts/debuild.pl index 233a1c5..a6d8966 100755 --- a/scripts/debuild.pl +++ b/scripts/debuild.pl @@ -53,7 +53,7 @@ use 5.008; use File::Basename; use filetest 'access'; use Cwd; -use Dpkg::Compression; +use Devscripts::Compression; use IO::Handle; # for flushing use vars qw(*BUILD *OLDOUT *OLDERR); # prevent a warning @@ -61,6 +61,8 @@ my $progname=basename($0); my $modified_conf_msg; my @warnings; +my $compression_re = compression_get_file_extension_regex(); + # Predeclare functions sub system_withecho(@); sub run_hook ($$); @@ -1222,7 +1224,7 @@ EOT my $srcmsg; - my $ext = $compression_re_file_ext; + my $ext = $compression_re; if (fileomitted @files, '\.deb') { # source only upload if (fileomitted @files, "\\.diff\\.$ext" and fileomitted @files, "\\.debian\\.tar\\.$ext") { diff --git a/scripts/dget.pl b/scripts/dget.pl index f592164..45af642 100755 --- a/scripts/dget.pl +++ b/scripts/dget.pl @@ -31,7 +31,7 @@ use Cwd qw(abs_path); use IO::Dir; use IO::File; use Digest::MD5; -use Dpkg::Compression; +use Devscripts::Compression; use Getopt::Long qw(:config gnu_getopt); use File::Basename; @@ -45,6 +45,8 @@ my $backup_dir = "backup"; my @dget_path = ("/var/cache/apt/archives"); my $modified_conf_msg; +my $compression_re = compression_get_file_extension_regex(); + # use curl if installed, wget otherwise if (system("command -v curl >/dev/null 2>&1") == 0) { $wget = "curl"; @@ -200,7 +202,7 @@ sub get_file { } # try apt-get if it is still not there - my $ext = $compression_re_file_ext; + my $ext = $compression_re; if (not -e $file and $file =~ m!^([a-z0-9][a-z0-9.+-]+)_[^/]+\.(?:diff|tar)\.$ext$!) { my @cmd = ('apt-get', 'source', '--print-uris', $1); my $cmd = join ' ', @cmd; -- 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
