In perl.git, the branch blead has been updated <http://perl5.git.perl.org/perl.git/commitdiff/965f9517a764238c745d253495e1c1ef8403b65c?hp=94b9cb53c203ffad48e3011ea660a3a5ed9a2b38>
- Log ----------------------------------------------------------------- commit 965f9517a764238c745d253495e1c1ef8403b65c Author: Chris 'BinGOs' Williams <[email protected]> Date: Mon May 16 12:29:18 2016 +0100 Correct info in Maintainers.pl for dists already on CPAN M Porting/Maintainers.pl commit 05a6ec7788eb8010c20a36ab57418c187f61573c Author: Chris 'BinGOs' Williams <[email protected]> Date: Mon May 16 12:26:16 2016 +0100 Update Digest-MD5 to CPAN version 2.55 [DELTA] 2016-03-09 Gisle Aas <[email protected]> Release 2.55 Gordon Stanton (2): Make use warnings work including test cases. Initial Travis config Gisle Aas (1): Avoid warning: 'static' is not at beginning of declaration [RT#105646] M Porting/Maintainers.pl M cpan/Digest-MD5/MD5.pm M cpan/Digest-MD5/MD5.xs M cpan/Digest-MD5/t/files.t commit fd02503173445323c545718233d54763a7753061 Author: Chris 'BinGOs' Williams <[email protected]> Date: Mon May 16 12:21:53 2016 +0100 Update IPC-Cmd to CPAN version 0.94 [DELTA] 0.94 Fri Feb 12 18:55:05 GMT 2016 Bug fixes: * move __END__ above POD in documentation (plicease) * Don't clobber $SIG{__DIE__} and $SIG{__WARN__} in open3_run() (avar) * Fix 'terminate_on_signal' segfaulting (Petya Kohts) * Fix usage of fcntl(..., F_GETFL, ...) (tonyc) M Porting/Maintainers.pl M cpan/IPC-Cmd/lib/IPC/Cmd.pm commit 90bb05e99dc8d6f1b2c826c6c6c914dbbd82b168 Author: Chris 'BinGOs' Williams <[email protected]> Date: Mon May 16 12:20:21 2016 +0100 Update Archive-Tar to CPAN version 2.08 M MANIFEST M Porting/Maintainers.pl M cpan/Archive-Tar/lib/Archive/Tar.pm M cpan/Archive-Tar/lib/Archive/Tar/Constant.pm M cpan/Archive-Tar/lib/Archive/Tar/File.pm A cpan/Archive-Tar/t/09_roundtrip.t ----------------------------------------------------------------------- Summary of changes: MANIFEST | 1 + Porting/Maintainers.pl | 10 ++--- cpan/Archive-Tar/lib/Archive/Tar.pm | 2 +- cpan/Archive-Tar/lib/Archive/Tar/Constant.pm | 2 +- cpan/Archive-Tar/lib/Archive/Tar/File.pm | 2 +- cpan/Archive-Tar/t/09_roundtrip.t | 62 ++++++++++++++++++++++++++++ cpan/Digest-MD5/MD5.pm | 2 +- cpan/Digest-MD5/MD5.xs | 6 +-- cpan/Digest-MD5/t/files.t | 4 +- cpan/IPC-Cmd/lib/IPC/Cmd.pm | 32 +++++++++----- 10 files changed, 99 insertions(+), 24 deletions(-) create mode 100644 cpan/Archive-Tar/t/09_roundtrip.t diff --git a/MANIFEST b/MANIFEST index 233dfad..7bc78b9 100644 --- a/MANIFEST +++ b/MANIFEST @@ -33,6 +33,7 @@ cpan/Archive-Tar/t/04_resolved_issues.t Archive::Tar tests cpan/Archive-Tar/t/05_iter.t Archive::Tar tests cpan/Archive-Tar/t/06_error.t Archive::Tar tests cpan/Archive-Tar/t/08_ptargrep.t +cpan/Archive-Tar/t/09_roundtrip.t cpan/Archive-Tar/t/90_symlink.t Archive::Tar tests cpan/Archive-Tar/t/99_pod.t Archive::Tar tests cpan/Archive-Tar/t/src/header/signed.tar Archive::Tar tests diff --git a/Porting/Maintainers.pl b/Porting/Maintainers.pl index e3c102d..0b8595f 100755 --- a/Porting/Maintainers.pl +++ b/Porting/Maintainers.pl @@ -120,7 +120,7 @@ use File::Glob qw(:case); %Modules = ( 'Archive::Tar' => { - 'DISTRIBUTION' => 'BINGOS/Archive-Tar-2.06.tar.gz', + 'DISTRIBUTION' => 'BINGOS/Archive-Tar-2.08.tar.gz', 'FILES' => q[cpan/Archive-Tar], 'BUGS' => '[email protected]', 'EXCLUDED' => [ @@ -167,7 +167,7 @@ use File::Glob qw(:case); }, 'autouse' => { - 'DISTRIBUTION' => 'WOLFSAGE/autouse-1.08.tar.gz', + 'DISTRIBUTION' => 'RJBS/autouse-1.11.tar.gz', 'FILES' => q[dist/autouse], 'EXCLUDED' => [qr{^t/release-.*\.t}], }, @@ -364,7 +364,7 @@ use File::Glob qw(:case); }, 'Digest::MD5' => { - 'DISTRIBUTION' => 'GAAS/Digest-MD5-2.54.tar.gz', + 'DISTRIBUTION' => 'GAAS/Digest-MD5-2.55.tar.gz', 'FILES' => q[cpan/Digest-MD5], 'EXCLUDED' => ['rfc1321.txt'], }, @@ -679,7 +679,7 @@ use File::Glob qw(:case); }, 'IPC::Cmd' => { - 'DISTRIBUTION' => 'BINGOS/IPC-Cmd-0.92.tar.gz', + 'DISTRIBUTION' => 'BINGOS/IPC-Cmd-0.94.tar.gz', 'FILES' => q[cpan/IPC-Cmd], }, @@ -1211,7 +1211,7 @@ use File::Glob qw(:case); }, 'Time::HiRes' => { - 'DISTRIBUTION' => 'RJBS/Time-HiRes-1.9728.tar.gz', + 'DISTRIBUTION' => 'JHI/Time-HiRes-1.9733.tar.gz', 'FILES' => q[dist/Time-HiRes], }, diff --git a/cpan/Archive-Tar/lib/Archive/Tar.pm b/cpan/Archive-Tar/lib/Archive/Tar.pm index 1c16078..adbb548 100644 --- a/cpan/Archive-Tar/lib/Archive/Tar.pm +++ b/cpan/Archive-Tar/lib/Archive/Tar.pm @@ -31,7 +31,7 @@ use vars qw[$DEBUG $error $VERSION $WARN $FOLLOW_SYMLINK $CHOWN $CHMOD $DEBUG = 0; $WARN = 1; $FOLLOW_SYMLINK = 0; -$VERSION = "2.06"; +$VERSION = "2.08"; $CHOWN = 1; $CHMOD = 1; $SAME_PERMISSIONS = $> == 0 ? 1 : 0; diff --git a/cpan/Archive-Tar/lib/Archive/Tar/Constant.pm b/cpan/Archive-Tar/lib/Archive/Tar/Constant.pm index 4dc1a3b..ac91400 100644 --- a/cpan/Archive-Tar/lib/Archive/Tar/Constant.pm +++ b/cpan/Archive-Tar/lib/Archive/Tar/Constant.pm @@ -3,7 +3,7 @@ package Archive::Tar::Constant; BEGIN { require Exporter; - $VERSION = '2.06'; + $VERSION = '2.08'; @ISA = qw[Exporter]; require Time::Local if $^O eq "MacOS"; diff --git a/cpan/Archive-Tar/lib/Archive/Tar/File.pm b/cpan/Archive-Tar/lib/Archive/Tar/File.pm index 1207dbd..5821304 100644 --- a/cpan/Archive-Tar/lib/Archive/Tar/File.pm +++ b/cpan/Archive-Tar/lib/Archive/Tar/File.pm @@ -13,7 +13,7 @@ use Archive::Tar::Constant; use vars qw[@ISA $VERSION]; #@ISA = qw[Archive::Tar]; -$VERSION = '2.06'; +$VERSION = '2.08'; ### set value to 1 to oct() it during the unpack ### diff --git a/cpan/Archive-Tar/t/09_roundtrip.t b/cpan/Archive-Tar/t/09_roundtrip.t new file mode 100644 index 0000000..82cf444 --- /dev/null +++ b/cpan/Archive-Tar/t/09_roundtrip.t @@ -0,0 +1,62 @@ +BEGIN { chdir 't' if -d 't' } + +use Test::More; +use strict; +use lib '../lib'; + +use File::Spec (); +use File::Temp qw( tempfile ); + +use Archive::Tar; + +# tarballs available for testing +my @archives = ( + [qw( src short bar.tar )], + [qw( src long bar.tar )], + [qw( src linktest linktest_with_dir.tar )], +); +push @archives, + [qw( src short foo.tgz )], + [qw( src long foo.tgz )] + if Archive::Tar->has_zlib_support; +push @archives, + [qw( src short foo.tbz )], + [qw( src long foo.tbz )] + if Archive::Tar->has_bzip2_support; + +@archives = map File::Spec->catfile(@$_), @archives; + +plan tests => scalar @archives; + +# roundtrip test +for my $archive (@archives) { + + # create a new tarball with the same content as the old one + my $old = Archive::Tar->new($archive); + my $new = Archive::Tar->new(); + $new->add_files( $old->get_files ); + + # save differently if compressed + my $ext = ( split /\./, $archive )[-1]; + my @compress = + $ext =~ /t?gz$/ ? (COMPRESS_GZIP) + : $ext =~ /(tbz|bz2?)$/ ? (COMPRESS_BZIP) + : (); + + my ( $fh, $filename ) = tempfile( UNLINK => 1 ); + $new->write( $filename, @compress ); + + # read the archive again from disk + $new = Archive::Tar->new($filename); + + TODO: { + local $TODO = 'Need to work out why no trailing slash'; + + # compare list of files + is_deeply( + [ $new->list_files ], + [ $old->list_files ], + "$archive roundtrip on file names" + ); + }; +} diff --git a/cpan/Digest-MD5/MD5.pm b/cpan/Digest-MD5/MD5.pm index bb92ddb..bc0fec7 100644 --- a/cpan/Digest-MD5/MD5.pm +++ b/cpan/Digest-MD5/MD5.pm @@ -3,7 +3,7 @@ package Digest::MD5; use strict; use vars qw($VERSION @ISA @EXPORT_OK); -$VERSION = '2.54'; +$VERSION = '2.55'; require Exporter; *import = \&Exporter::import; diff --git a/cpan/Digest-MD5/MD5.xs b/cpan/Digest-MD5/MD5.xs index acefc30..a48d951 100644 --- a/cpan/Digest-MD5/MD5.xs +++ b/cpan/Digest-MD5/MD5.xs @@ -156,7 +156,7 @@ STATIC int dup_md5_ctx(pTHX_ MAGIC *mg, CLONE_PARAMS *params) #endif #if defined(MGf_DUP) && defined(USE_ITHREADS) -const STATIC MGVTBL vtbl_md5 = { +STATIC const MGVTBL vtbl_md5 = { NULL, /* get */ NULL, /* set */ NULL, /* len */ @@ -168,7 +168,7 @@ const STATIC MGVTBL vtbl_md5 = { }; #else /* declare as 5 member, not normal 8 to save image space*/ -const STATIC struct { +STATIC const struct { int (*svt_get)(SV* sv, MAGIC* mg); int (*svt_set)(SV* sv, MAGIC* mg); U32 (*svt_len)(SV* sv, MAGIC* mg); @@ -788,7 +788,7 @@ md5(...) PPCODE: MD5Init(&ctx); - if (PL_dowarn & G_WARN_ON) { + if ((PL_dowarn & G_WARN_ON) || ckWARN(WARN_SYNTAX)) { const char *msg = 0; if (items == 1) { if (SvROK(ST(0))) { diff --git a/cpan/Digest-MD5/t/files.t b/cpan/Digest-MD5/t/files.t index d6b4fcb..63479c2 100644 --- a/cpan/Digest-MD5/t/files.t +++ b/cpan/Digest-MD5/t/files.t @@ -14,14 +14,14 @@ my $EXPECT; if (ord "A" == 193) { # EBCDIC $EXPECT = <<EOT; 0956ffb4f6416082b27d6680b4cf73fc README -2a61dd5022b11faa35eed27d1c6c98c2 MD5.xs +60a80f534f0017745eb755f36a946fe7 MD5.xs 276da0aa4e9a08b7fe09430c9c5690aa rfc1321.txt EOT } else { # This is the output of: 'md5sum README MD5.xs rfc1321.txt' $EXPECT = <<EOT; 2f93400875dbb56f36691d5f69f3eba5 README -0a0cf2512d18d24c6881d7d755e2b609 MD5.xs +9572832f3628e3bebcdd54f47c43dc5a MD5.xs 754b9db19f79dbc4992f7166eb0f37ce rfc1321.txt EOT } diff --git a/cpan/IPC-Cmd/lib/IPC/Cmd.pm b/cpan/IPC-Cmd/lib/IPC/Cmd.pm index 6a82bdf..13f3c6b 100644 --- a/cpan/IPC-Cmd/lib/IPC/Cmd.pm +++ b/cpan/IPC-Cmd/lib/IPC/Cmd.pm @@ -18,7 +18,7 @@ BEGIN { $HAVE_MONOTONIC ]; - $VERSION = '0.92'; + $VERSION = '0.94'; $VERBOSE = 0; $DEBUG = 0; $WARN = 1; @@ -399,6 +399,14 @@ sub adjust_monotonic_start_time { } } +sub uninstall_signals { + return unless defined($IPC::Cmd::{'__old_signals'}); + + foreach my $sig_name (keys %{$IPC::Cmd::{'__old_signals'}}) { + $SIG{$sig_name} = $IPC::Cmd::{'__old_signals'}->{$sig_name}; + } +} + # incompatible with POSIX::SigAction # sub install_layered_signal { @@ -411,6 +419,10 @@ sub install_layered_signal { Carp::confess("install_layered_signal expects coderef") if !ref($handler_code) || ref($handler_code) ne 'CODE'; + $IPC::Cmd::{'__old_signals'} = {} + unless defined($IPC::Cmd::{'__old_signals'}); + $IPC::Cmd::{'__old_signals'}->{$s} = $SIG{$s}; + my $previous_handler = $SIG{$s}; my $sig_handler = sub { @@ -568,7 +580,8 @@ sub open3_run { # it will terminate only after child # has terminated (except for SIGKILL, # which is specially handled) - foreach my $s (keys %SIG) { + SIGNAL: foreach my $s (keys %SIG) { + next SIGNAL if $s eq '__WARN__' or $s eq '__DIE__'; # Skip and don't clobber __DIE__ & __WARN__ my $sig_handler; $sig_handler = sub { kill("$s", $pid); @@ -844,18 +857,15 @@ sub run_forked { # prepare sockets to read from child - $flags = 0; - fcntl($child_stdout_socket, POSIX::F_GETFL, $flags) || Carp::confess "can't fnctl F_GETFL: $!"; + $flags = fcntl($child_stdout_socket, POSIX::F_GETFL, 0) || Carp::confess "can't fnctl F_GETFL: $!"; $flags |= POSIX::O_NONBLOCK; fcntl($child_stdout_socket, POSIX::F_SETFL, $flags) || Carp::confess "can't fnctl F_SETFL: $!"; - $flags = 0; - fcntl($child_stderr_socket, POSIX::F_GETFL, $flags) || Carp::confess "can't fnctl F_GETFL: $!"; + $flags = fcntl($child_stderr_socket, POSIX::F_GETFL, 0) || Carp::confess "can't fnctl F_GETFL: $!"; $flags |= POSIX::O_NONBLOCK; fcntl($child_stderr_socket, POSIX::F_SETFL, $flags) || Carp::confess "can't fnctl F_SETFL: $!"; - $flags = 0; - fcntl($child_info_socket, POSIX::F_GETFL, $flags) || Carp::confess "can't fnctl F_GETFL: $!"; + $flags = fcntl($child_info_socket, POSIX::F_GETFL, 0) || Carp::confess "can't fnctl F_GETFL: $!"; $flags |= POSIX::O_NONBLOCK; fcntl($child_info_socket, POSIX::F_SETFL, $flags) || Carp::confess "can't fnctl F_SETFL: $!"; @@ -1145,6 +1155,8 @@ sub run_forked { delete($SIG{'CHLD'}); } + uninstall_signals(); + return $o; } else { @@ -1933,6 +1945,8 @@ sub _pp_child_error { 1; +__END__ + =head2 $q = QUOTE Returns the character used for quoting strings on this platform. This is @@ -1947,8 +1961,6 @@ You can use it as follows: This makes sure that C<foo bar> is treated as a string, rather than two separate arguments to the C<echo> function. -__END__ - =head1 HOW IT WORKS C<run> will try to execute your command using the following logic: -- Perl5 Master Repository
