r18540 - in /trunk/libpar-packer-perl: ./ debian/ inc/ inc/Test/ inc/Test/Builder/ lib/ lib/PAR/ lib/PAR/Filter/ myldr/ script/ t/
roberto at users.alioth.debian.org
roberto at users.alioth.debian.org
Sat Apr 12 21:03:39 UTC 2008
Author: roberto
Date: Sat Apr 12 21:03:38 2008
New Revision: 18540
URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=18540
Log:
New upstream release.
Added:
trunk/libpar-packer-perl/inc/PerlIO.pm
- copied unchanged from r18539, branches/upstream/libpar-packer-perl/current/inc/PerlIO.pm
trunk/libpar-packer-perl/t/00-foo.t
- copied unchanged from r18539, branches/upstream/libpar-packer-perl/current/t/00-foo.t
Modified:
trunk/libpar-packer-perl/ChangeLog
trunk/libpar-packer-perl/MANIFEST
trunk/libpar-packer-perl/META.yml
trunk/libpar-packer-perl/Makefile.PL
trunk/libpar-packer-perl/README
trunk/libpar-packer-perl/debian/changelog
trunk/libpar-packer-perl/inc/Test/Builder.pm
trunk/libpar-packer-perl/inc/Test/Builder/Module.pm
trunk/libpar-packer-perl/inc/Test/More.pm
trunk/libpar-packer-perl/lib/PAR/Filter.pm
trunk/libpar-packer-perl/lib/PAR/Filter/Bytecode.pm
trunk/libpar-packer-perl/lib/PAR/Filter/PatchContent.pm
trunk/libpar-packer-perl/lib/PAR/Packer.pm
trunk/libpar-packer-perl/lib/pp.pm
trunk/libpar-packer-perl/myldr/encode_append.pl
trunk/libpar-packer-perl/script/par.pl
trunk/libpar-packer-perl/t/test-proc
Modified: trunk/libpar-packer-perl/ChangeLog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libpar-packer-perl/ChangeLog?rev=18540&op=diff
==============================================================================
--- trunk/libpar-packer-perl/ChangeLog (original)
+++ trunk/libpar-packer-perl/ChangeLog Sat Apr 12 21:03:38 2008
@@ -1,3 +1,26 @@
+
+[Changes for 0.978 - Feb 28, 2008]
+
+* Bug fixes, etc.
+
+ - Fix pp -r for absolute file names (RT #33355) (Slaven Rezic)
+ - Fix for FreeBSD's unreliable procfs (RT #33349) (Slaven Rezic)
+ - Fix @INC ordering in par.pl: This might just fix the infamous
+ "Only available with the XS version..." bug (see #24192)
+ (Michael Schwern, Slaven Rezic)
+ - Fix pp.pm version (Audrey)
+ - Require Win32::Process on win32 (Audrey)
+ - The parl-generation tests are now skipped if a pre-built .par
+ binary is being used. (Mark Dootson)
+ - Shared library extraction now checks first whether the file exists
+ and whether it has the same size as the one to be extracted. In that
+ case, the extraction is skipped. This should fix an issue with
+ overwriting DLLs on Windows, see
+ http://www.nntp.perl.org/group/perl.par/3325 (Scott Stanton)
+ - When re-building the distribution because of a change in
+ e.g. script/par.pl, the DATA sections of
+ blib\PAR\StrippedPARL\{Dynamic,Static}.pm were not updated accordingly.
+
[Changes for 0.977 - Dec 20, 2007]
* New features
Modified: trunk/libpar-packer-perl/MANIFEST
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libpar-packer-perl/MANIFEST?rev=18540&op=diff
==============================================================================
--- trunk/libpar-packer-perl/MANIFEST (original)
+++ trunk/libpar-packer-perl/MANIFEST Sat Apr 12 21:03:38 2008
@@ -26,6 +26,7 @@
inc/Module/Install/PAR.pm
inc/Module/Install/Win32.pm
inc/Module/Install/WriteAll.pm
+inc/PerlIO.pm
inc/Test/Builder.pm
inc/Test/Builder/Module.pm
inc/Test/More.pm
@@ -67,6 +68,7 @@
script/parl.pod
script/pp
script/tkpp
+t/00-foo.t
t/00-pod.t
t/10-parl-generation.t
t/20-pp.t
Modified: trunk/libpar-packer-perl/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libpar-packer-perl/META.yml?rev=18540&op=diff
==============================================================================
--- trunk/libpar-packer-perl/META.yml (original)
+++ trunk/libpar-packer-perl/META.yml Sat Apr 12 21:03:38 2008
@@ -33,7 +33,7 @@
file: lib/PAR/Filter/PodStrip.pm
PAR::Packer:
file: lib/PAR/Packer.pm
- version: 0.977
+ version: 0.978
PAR::StrippedPARL::Base:
file: lib/PAR/StrippedPARL/Base.pm
version: 0.975
@@ -45,7 +45,7 @@
version: 0.958
pp:
file: lib/pp.pm
- version: 0
+ version: 0.977
recommends:
Digest: Module::Signature
requires:
@@ -53,8 +53,8 @@
Compress::Zlib: 1.3
File::Temp: 0.05
Getopt::ArgvFile: 1.07
- Module::ScanDeps: 0.81
+ Module::ScanDeps: 0.78
PAR: 0.977
PAR::Dist: 0.22
perl: 5.6.0
-version: 0.977
+version: 0.978
Modified: trunk/libpar-packer-perl/Makefile.PL
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libpar-packer-perl/Makefile.PL?rev=18540&op=diff
==============================================================================
--- trunk/libpar-packer-perl/Makefile.PL (original)
+++ trunk/libpar-packer-perl/Makefile.PL Sat Apr 12 21:03:38 2008
@@ -10,7 +10,7 @@
requires 'File::Temp' => 0.05;
requires 'Compress::Zlib' => ($^O eq 'MSWin32') ? 1.16 : 1.30;
requires 'Archive::Zip' => 1.00;
-requires 'Module::ScanDeps' => 0.81;
+requires 'Module::ScanDeps' => 0.78;
requires 'PAR::Dist' => 0.22;
requires 'PAR' => '0.977';
requires 'Getopt::ArgvFile' => 1.07;
@@ -18,6 +18,7 @@
if ($^O eq 'MSWin32') {
requires 'Parse::Binary' => 0.04;
requires 'Win32::Exe' => 0.04;
+ requires 'Win32::Process';
}
if (can_use('Crypt::OpenPGP') or can_run('gpg')) {
@@ -55,8 +56,7 @@
}
par_prehook();
-WriteAll;
-#WriteAll sign => 1;
+WriteAll sign => 1;
par_posthook();
my %no_parl = ();
@@ -105,6 +105,10 @@
clean_files(@bin) if $par or $cc;
+ # Do not run 10parl-generation tests in case of a pre built .par (doesn't work)
+ my $pgentest = (!$par and $cc) ? ' t/10-parl-generation.t ' : '';
+ my $tests = qq(t/00-pod.t$pgentest t/20-pp.t t/30-current_exec.t);
+
makemaker_args(
MAN1PODS => {
'script/par.pl' => 'blib/man1/par.pl.1',
@@ -131,6 +135,7 @@
) : (),
],
NEEDS_LINKING => 1,
+ test => { TESTS => $tests },
);
}
Modified: trunk/libpar-packer-perl/README
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libpar-packer-perl/README?rev=18540&op=diff
==============================================================================
--- trunk/libpar-packer-perl/README (original)
+++ trunk/libpar-packer-perl/README Sat Apr 12 21:03:38 2008
@@ -154,7 +154,7 @@
* Copyright
-Copyright 2002, 2003, 2004, 2005, 2006 by Audrey Tang <cpan at audreyt.org>.
+Copyright 2002-2008 by Audrey Tang <cpan at audreyt.org>.
All rights reserved. You can redistribute and/or modify
this bundle under the same terms as Perl itself.
Modified: trunk/libpar-packer-perl/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libpar-packer-perl/debian/changelog?rev=18540&op=diff
==============================================================================
--- trunk/libpar-packer-perl/debian/changelog (original)
+++ trunk/libpar-packer-perl/debian/changelog Sat Apr 12 21:03:38 2008
@@ -1,8 +1,12 @@
-libpar-packer-perl (0.977-2) UNRELEASED; urgency=low
+libpar-packer-perl (0.978-1) UNRELEASED; urgency=low
+ [ David Paleino ]
* debian/control: removed myself from Uploaders
- -- David Paleino <d.paleino at gmail.com> Fri, 22 Feb 2008 12:53:43 +0100
+ [ Roberto C. Sanchez ]
+ * New upstream release.
+
+ -- Roberto C. Sanchez <roberto at debian.org> Sat, 12 Apr 2008 17:02:48 -0400
libpar-packer-perl (0.977-1) unstable; urgency=low
Modified: trunk/libpar-packer-perl/inc/Test/Builder.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libpar-packer-perl/inc/Test/Builder.pm?rev=18540&op=diff
==============================================================================
--- trunk/libpar-packer-perl/inc/Test/Builder.pm (original)
+++ trunk/libpar-packer-perl/inc/Test/Builder.pm Sat Apr 12 21:03:38 2008
@@ -1,16 +1,11 @@
#line 1
package Test::Builder;
-use 5.004;
-
-# $^C was only introduced in 5.005-ish. We do this to prevent
-# use of uninitialized value warnings in older perls.
-$^C ||= 0;
-
+use 5.006;
use strict;
-use vars qw($VERSION);
-$VERSION = '0.74';
-$VERSION = eval $VERSION; # make the alpha version come out as a number
+
+our $VERSION = '0.78';
+$VERSION = eval { $VERSION }; # make the alpha version come out as a number
# Make Test::Builder thread-safe for ithreads.
BEGIN {
@@ -67,7 +62,7 @@
}
-#line 128
+#line 110
my $Test = Test::Builder->new;
sub new {
@@ -77,7 +72,7 @@
}
-#line 150
+#line 132
sub create {
my $class = shift;
@@ -88,7 +83,7 @@
return $self;
}
-#line 169
+#line 151
use vars qw($Level);
@@ -99,7 +94,6 @@
# hash keys is just asking for pain. Also, it was documented.
$Level = 1;
- $self->{Test_Died} = 0;
$self->{Have_Plan} = 0;
$self->{No_Plan} = 0;
$self->{Original_Pid} = $$;
@@ -118,23 +112,14 @@
$self->{No_Header} = 0;
$self->{No_Ending} = 0;
+ $self->{TODO} = undef;
+
$self->_dup_stdhandles unless $^C;
- return undef;
-}
-
-#line 221
-
-sub exported_to {
- my($self, $pack) = @_;
-
- if( defined $pack ) {
- $self->{Exported_To} = $pack;
- }
- return $self->{Exported_To};
-}
-
-#line 243
+ return;
+}
+
+#line 207
sub plan {
my($self, $cmd, $arg) = @_;
@@ -173,7 +158,7 @@
return 1;
}
-#line 290
+#line 254
sub expected_tests {
my $self = shift;
@@ -192,7 +177,7 @@
}
-#line 315
+#line 279
sub no_plan {
my $self = shift;
@@ -201,7 +186,7 @@
$self->{Have_Plan} = 1;
}
-#line 330
+#line 294
sub has_plan {
my $self = shift;
@@ -212,7 +197,7 @@
};
-#line 348
+#line 312
sub skip_all {
my($self, $reason) = @_;
@@ -227,7 +212,19 @@
exit(0);
}
-#line 382
+
+#line 339
+
+sub exported_to {
+ my($self, $pack) = @_;
+
+ if( defined $pack ) {
+ $self->{Exported_To} = $pack;
+ }
+ return $self->{Exported_To};
+}
+
+#line 369
sub ok {
my($self, $test, $name) = @_;
@@ -249,9 +246,12 @@
Very confusing.
ERR
- my($pack, $file, $line) = $self->caller;
-
- my $todo = $self->todo($pack);
+ my $todo = $self->todo();
+
+ # Capture the value of $TODO for the rest of this ok() call
+ # so it can more easily be found by other routines.
+ local $self->{TODO} = $todo;
+
$self->_unoverload_str(\$todo);
my $out;
@@ -296,13 +296,14 @@
my $msg = $todo ? "Failed (TODO)" : "Failed";
$self->_print_diag("\n") if $ENV{HARNESS_ACTIVE};
- if( defined $name ) {
- $self->diag(qq[ $msg test '$name'\n]);
- $self->diag(qq[ at $file line $line.\n]);
- }
- else {
- $self->diag(qq[ $msg test at $file line $line.\n]);
- }
+ my(undef, $file, $line) = $self->caller;
+ if( defined $name ) {
+ $self->diag(qq[ $msg test '$name'\n]);
+ $self->diag(qq[ at $file line $line.\n]);
+ }
+ else {
+ $self->diag(qq[ $msg test at $file line $line.\n]);
+ }
}
return $test ? 1 : 0;
@@ -361,7 +362,7 @@
-#line 530
+#line 521
sub is_eq {
my($self, $got, $expect, $name) = @_;
@@ -418,6 +419,7 @@
}
}
+ local $Level = $Level + 1;
return $self->diag(sprintf <<DIAGNOSTIC, $got, $expect);
got: %s
expected: %s
@@ -425,7 +427,7 @@
}
-#line 608
+#line 600
sub isnt_eq {
my($self, $got, $dont_expect, $name) = @_;
@@ -460,7 +462,7 @@
}
-#line 660
+#line 652
sub like {
my($self, $this, $regex, $name) = @_;
@@ -477,7 +479,7 @@
}
-#line 685
+#line 677
my %numeric_cmps = map { ($_, 1) }
@@ -500,7 +502,8 @@
my $code = $self->_caller_context;
- # Yes, it has to look like this or 5.4.5 won't see the #line directive.
+ # Yes, it has to look like this or 5.4.5 won't see the #line
+ # directive.
# Don't ask me, man, I just work here.
$test = eval "
$code" . "\$got $type \$expect;";
@@ -525,6 +528,8 @@
$got = defined $got ? "'$got'" : 'undef';
$expect = defined $expect ? "'$expect'" : 'undef';
+
+ local $Level = $Level + 1;
return $self->diag(sprintf <<DIAGNOSTIC, $got, $type, $expect);
%s
%s
@@ -544,7 +549,7 @@
return $code;
}
-#line 771
+#line 766
sub BAIL_OUT {
my($self, $reason) = @_;
@@ -554,12 +559,12 @@
exit 255;
}
-#line 784
+#line 779
*BAILOUT = \&BAIL_OUT;
-#line 796
+#line 791
sub skip {
my($self, $why) = @_;
@@ -591,7 +596,7 @@
}
-#line 838
+#line 833
sub todo_skip {
my($self, $why) = @_;
@@ -620,7 +625,7 @@
}
-#line 916
+#line 911
sub maybe_regex {
@@ -632,7 +637,7 @@
my($re, $opts);
# Check for qr/foo/
- if( ref $regex eq 'Regexp' ) {
+ if( _is_qr($regex) ) {
$usable_regex = $regex;
}
# Check for '/foo/' or 'm,foo,'
@@ -644,7 +649,18 @@
}
return $usable_regex;
-};
+}
+
+
+sub _is_qr {
+ my $regex = shift;
+
+ # is_regexp() checks for regexes in a robust manner, say if they're
+ # blessed.
+ return re::is_regexp($regex) if defined &re::is_regexp;
+ return ref $regex eq 'Regexp';
+}
+
sub _regex_ok {
my($self, $this, $regex, $cmp, $name) = @_;
@@ -663,7 +679,8 @@
local($@, $!, $SIG{__DIE__}); # isolate eval
- # Yes, it has to look like this or 5.4.5 won't see the #line directive.
+ # Yes, it has to look like this or 5.4.5 won't see the #line
+ # directive.
# Don't ask me, man, I just work here.
$test = eval "
$code" . q{$test = $this =~ /$usable_regex/ ? 1 : 0};
@@ -677,6 +694,8 @@
unless( $ok ) {
$this = defined $this ? "'$this'" : 'undef';
my $match = $cmp eq '=~' ? "doesn't match" : "matches";
+
+ local $Level = $Level + 1;
$self->diag(sprintf <<DIAGNOSTIC, $this, $match, $regex);
%s
%13s '%s'
@@ -691,7 +710,7 @@
# I'm not ready to publish this. It doesn't deal with array return
# values from the code or context.
-#line 1000
+#line 1009
sub _try {
my($self, $code) = @_;
@@ -704,7 +723,7 @@
return wantarray ? ($return, $@) : $return;
}
-#line 1022
+#line 1031
sub is_fh {
my $self = shift;
@@ -720,7 +739,7 @@
}
-#line 1067
+#line 1076
sub level {
my($self, $level) = @_;
@@ -732,7 +751,7 @@
}
-#line 1100
+#line 1109
sub use_numbers {
my($self, $use_nums) = @_;
@@ -744,7 +763,7 @@
}
-#line 1134
+#line 1143
foreach my $attribute (qw(No_Header No_Ending No_Diag)) {
my $method = lc $attribute;
@@ -758,12 +777,12 @@
return $self->{$attribute};
};
- no strict 'refs';
+ no strict 'refs'; ## no critic
*{__PACKAGE__.'::'.$method} = $code;
}
-#line 1188
+#line 1197
sub diag {
my($self, @msgs) = @_;
@@ -790,7 +809,7 @@
return 0;
}
-#line 1225
+#line 1234
sub _print {
my($self, @msgs) = @_;
@@ -814,7 +833,7 @@
print $fh $msg;
}
-#line 1259
+#line 1268
sub _print_diag {
my $self = shift;
@@ -824,7 +843,7 @@
print $fh @_;
}
-#line 1296
+#line 1305
sub output {
my($self, $fh) = @_;
@@ -863,10 +882,9 @@
$fh = $file_or_fh;
}
else {
- $fh = do { local *FH };
- open $fh, ">$file_or_fh" or
+ open $fh, ">", $file_or_fh or
$self->croak("Can't open test output log $file_or_fh: $!");
- _autoflush($fh);
+ _autoflush($fh);
}
return $fh;
@@ -881,6 +899,7 @@
}
+my($Testout, $Testerr);
sub _dup_stdhandles {
my $self = shift;
@@ -888,29 +907,47 @@
# Set everything to unbuffered else plain prints to STDOUT will
# come out in the wrong order from our own prints.
- _autoflush(\*TESTOUT);
+ _autoflush($Testout);
_autoflush(\*STDOUT);
- _autoflush(\*TESTERR);
+ _autoflush($Testerr);
_autoflush(\*STDERR);
- $self->output(\*TESTOUT);
- $self->failure_output(\*TESTERR);
- $self->todo_output(\*TESTOUT);
+ $self->output ($Testout);
+ $self->failure_output($Testerr);
+ $self->todo_output ($Testout);
}
my $Opened_Testhandles = 0;
sub _open_testhandles {
+ my $self = shift;
+
return if $Opened_Testhandles;
+
# We dup STDOUT and STDERR so people can change them in their
# test suites while still getting normal test output.
- open(TESTOUT, ">&STDOUT") or die "Can't dup STDOUT: $!";
- open(TESTERR, ">&STDERR") or die "Can't dup STDERR: $!";
+ open( $Testout, ">&STDOUT") or die "Can't dup STDOUT: $!";
+ open( $Testerr, ">&STDERR") or die "Can't dup STDERR: $!";
+
+# $self->_copy_io_layers( \*STDOUT, $Testout );
+# $self->_copy_io_layers( \*STDERR, $Testerr );
+
$Opened_Testhandles = 1;
}
-#line 1396
+sub _copy_io_layers {
+ my($self, $src, $dest) = @_;
+
+ $self->_try(sub {
+ require PerlIO;
+ my @layers = PerlIO::get_layers($src);
+
+ binmode $dest, join " ", map ":$_", @layers if @layers;
+ });
+}
+
+#line 1423
sub _message_at_caller {
my $self = shift;
@@ -939,7 +976,7 @@
}
}
-#line 1444
+#line 1471
sub current_test {
my($self, $num) = @_;
@@ -975,7 +1012,7 @@
}
-#line 1489
+#line 1516
sub summary {
my($self) = shift;
@@ -983,27 +1020,29 @@
return map { $_->{'ok'} } @{ $self->{Test_Results} };
}
-#line 1544
+#line 1571
sub details {
my $self = shift;
return @{ $self->{Test_Results} };
}
-#line 1569
+#line 1597
sub todo {
my($self, $pack) = @_;
- $pack = $pack || $self->exported_to || $self->caller($Level);
+ return $self->{TODO} if defined $self->{TODO};
+
+ $pack = $pack || $self->caller(1) || $self->exported_to;
return 0 unless $pack;
- no strict 'refs';
+ no strict 'refs'; ## no critic
return defined ${$pack.'::TODO'} ? ${$pack.'::TODO'}
: 0;
}
-#line 1590
+#line 1622
sub caller {
my($self, $height) = @_;
@@ -1013,9 +1052,9 @@
return wantarray ? @caller : $caller[0];
}
-#line 1602
-
-#line 1616
+#line 1634
+
+#line 1648
#'#
sub _sanity_check {
@@ -1028,7 +1067,7 @@
'Somehow you got a different number of results than tests ran!');
}
-#line 1637
+#line 1669
sub _whoa {
my($self, $check, $desc) = @_;
@@ -1041,7 +1080,7 @@
}
}
-#line 1659
+#line 1691
sub _my_exit {
$? = $_[0];
@@ -1050,37 +1089,29 @@
}
-#line 1672
-
-$SIG{__DIE__} = sub {
- # We don't want to muck with death in an eval, but $^S isn't
- # totally reliable. 5.005_03 and 5.6.1 both do the wrong thing
- # with it. Instead, we use caller. This also means it runs under
- # 5.004!
- my $in_eval = 0;
- for( my $stack = 1; my $sub = (CORE::caller($stack))[3]; $stack++ ) {
- $in_eval = 1 if $sub =~ /^\(eval\)/;
- }
- $Test->{Test_Died} = 1 unless $in_eval;
-};
+#line 1704
sub _ending {
my $self = shift;
+ my $real_exit_code = $?;
$self->_sanity_check();
# Don't bother with an ending if this is a forked copy. Only the parent
# should do the ending.
+ if( $self->{Original_Pid} != $$ ) {
+ return;
+ }
+
# Exit if plan() was never called. This is so "require Test::Simple"
# doesn't puke.
+ if( !$self->{Have_Plan} ) {
+ return;
+ }
+
# Don't do an ending if we bailed out.
- if( ($self->{Original_Pid} != $$) or
- (!$self->{Have_Plan} && !$self->{Test_Died}) or
- $self->{Bailed_Out}
- )
- {
- _my_exit($?);
- return;
+ if( $self->{Bailed_Out} ) {
+ return;
}
# Figure out if we passed or failed and print helpful messages.
@@ -1130,7 +1161,7 @@
FAIL
}
- if( $self->{Test_Died} ) {
+ if( $real_exit_code ) {
$self->diag(<<"FAIL");
Looks like your test died just after $self->{Curr_Test}.
FAIL
@@ -1154,7 +1185,7 @@
elsif ( $self->{Skip_All} ) {
_my_exit( 0 ) && return;
}
- elsif ( $self->{Test_Died} ) {
+ elsif ( $real_exit_code ) {
$self->diag(<<'FAIL');
Looks like your test died before it could output anything.
FAIL
@@ -1170,6 +1201,6 @@
$Test->_ending if defined $Test and !$Test->no_ending;
}
-#line 1847
+#line 1871
1;
Modified: trunk/libpar-packer-perl/inc/Test/Builder/Module.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libpar-packer-perl/inc/Test/Builder/Module.pm?rev=18540&op=diff
==============================================================================
--- trunk/libpar-packer-perl/inc/Test/Builder/Module.pm (original)
+++ trunk/libpar-packer-perl/inc/Test/Builder/Module.pm Sat Apr 12 21:03:38 2008
@@ -1,14 +1,14 @@
#line 1
package Test::Builder::Module;
+
+use strict;
use Test::Builder;
require Exporter;
- at ISA = qw(Exporter);
+our @ISA = qw(Exporter);
-$VERSION = '0.74';
-
-use strict;
+our $VERSION = '0.78';
# 5.004's Exporter doesn't have export_to_level.
my $_export_to_level = sub {
@@ -24,6 +24,9 @@
sub import {
my($class) = shift;
+
+ # Don't run all this when loading ourself.
+ return 1 if $class eq 'Test::Builder::Module';
my $test = $class->builder;
@@ -67,12 +70,12 @@
}
-#line 144
+#line 147
sub import_extra {}
-#line 175
+#line 178
sub builder {
return Test::Builder->new;
Modified: trunk/libpar-packer-perl/inc/Test/More.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libpar-packer-perl/inc/Test/More.pm?rev=18540&op=diff
==============================================================================
--- trunk/libpar-packer-perl/inc/Test/More.pm (original)
+++ trunk/libpar-packer-perl/inc/Test/More.pm Sat Apr 12 21:03:38 2008
@@ -1,8 +1,7 @@
#line 1
package Test::More;
-use 5.004;
-
+use 5.006;
use strict;
@@ -17,7 +16,7 @@
use vars qw($VERSION @ISA @EXPORT %EXPORT_TAGS $TODO);
-$VERSION = '0.74';
+$VERSION = '0.78';
$VERSION = eval $VERSION; # make the alpha version come out as a number
use Test::Builder::Module;
@@ -32,11 +31,11 @@
plan
can_ok isa_ok
diag
- BAIL_OUT
+ BAIL_OUT
);
-#line 157
+#line 156
sub plan {
my $tb = Test::More->builder;
@@ -70,7 +69,7 @@
}
-#line 257
+#line 256
sub ok ($;$) {
my($test, $name) = @_;
@@ -79,7 +78,7 @@
$tb->ok($test, $name);
}
-#line 324
+#line 323
sub is ($$;$) {
my $tb = Test::More->builder;
@@ -96,7 +95,7 @@
*isn't = \&isnt;
-#line 369
+#line 368
sub like ($$;$) {
my $tb = Test::More->builder;
@@ -105,7 +104,7 @@
}
-#line 385
+#line 384
sub unlike ($$;$) {
my $tb = Test::More->builder;
@@ -114,7 +113,7 @@
}
-#line 425
+#line 424
sub cmp_ok($$$;$) {
my $tb = Test::More->builder;
@@ -123,7 +122,7 @@
}
-#line 461
+#line 460
sub can_ok ($@) {
my($proto, @methods) = @_;
@@ -158,7 +157,7 @@
return $ok;
}
-#line 523
+#line 522
sub isa_ok ($$;$) {
my($object, $class, $obj_name) = @_;
@@ -212,7 +211,7 @@
}
-#line 592
+#line 591
sub pass (;$) {
my $tb = Test::More->builder;
@@ -224,7 +223,7 @@
$tb->ok(0, @_);
}
-#line 653
+#line 652
sub use_ok ($;@) {
my($module, @imports) = @_;
@@ -233,30 +232,28 @@
my($pack,$filename,$line) = caller;
- # Work around a glitch in $@ and eval
- my $eval_error;
- {
- local($@,$!,$SIG{__DIE__}); # isolate eval
-
- if( @imports == 1 and $imports[0] =~ /^\d+(?:\.\d+)?$/ ) {
- # probably a version check. Perl needs to see the bare number
- # for it to work with non-Exporter based modules.
- eval <<USE;
+ my $code;
+ if( @imports == 1 and $imports[0] =~ /^\d+(?:\.\d+)?$/ ) {
+ # probably a version check. Perl needs to see the bare number
+ # for it to work with non-Exporter based modules.
+ $code = <<USE;
package $pack;
use $module $imports[0];
+1;
USE
- }
- else {
- eval <<USE;
+ }
+ else {
+ $code = <<USE;
package $pack;
-use $module \@imports;
+use $module \@{\$args[0]};
+1;
USE
- }
- $eval_error = $@;
- }
-
- my $ok = $tb->ok( !$eval_error, "use $module;" );
-
+ }
+
+
+ my($eval_result, $eval_error) = _eval($code, \@imports);
+ my $ok = $tb->ok( $eval_result, "use $module;" );
+
unless( $ok ) {
chomp $eval_error;
$@ =~ s{^BEGIN failed--compilation aborted at .*$}
@@ -271,7 +268,21 @@
return $ok;
}
-#line 707
+
+sub _eval {
+ my($code) = shift;
+ my @args = @_;
+
+ # Work around oddities surrounding resetting of $@ by immediately
+ # storing it.
+ local($@,$!,$SIG{__DIE__}); # isolate eval
+ my $eval_result = eval $code;
+ my $eval_error = $@;
+
+ return($eval_result, $eval_error);
+}
+
+#line 718
sub require_ok ($) {
my($module) = shift;
@@ -283,20 +294,20 @@
# Module names must be barewords, files not.
$module = qq['$module'] unless _is_module_name($module);
- local($!, $@, $SIG{__DIE__}); # isolate eval
- local $SIG{__DIE__};
- eval <<REQUIRE;
+ my $code = <<REQUIRE;
package $pack;
require $module;
+1;
REQUIRE
- my $ok = $tb->ok( !$@, "require $module;" );
+ my($eval_result, $eval_error) = _eval($code);
+ my $ok = $tb->ok( $eval_result, "require $module;" );
unless( $ok ) {
- chomp $@;
+ chomp $eval_error;
$tb->diag(<<DIAGNOSTIC);
Tried to require '$module'.
- Error: $@
+ Error: $eval_error
DIAGNOSTIC
}
@@ -315,7 +326,7 @@
$module =~ /^[a-zA-Z]\w*$/;
}
-#line 784
+#line 795
use vars qw(@Data_Stack %Refs_Seen);
my $DNE = bless [], 'Does::Not::Exist';
@@ -422,7 +433,7 @@
return '';
}
-#line 930
+#line 941
sub diag {
my $tb = Test::More->builder;
@@ -431,7 +442,7 @@
}
-#line 999
+#line 1010
#'#
sub skip {
@@ -459,7 +470,7 @@
}
-#line 1086
+#line 1097
sub todo_skip {
my($why, $how_many) = @_;
@@ -480,7 +491,7 @@
last TODO;
}
-#line 1139
+#line 1150
sub BAIL_OUT {
my $reason = shift;
@@ -489,7 +500,7 @@
$tb->BAIL_OUT($reason);
}
-#line 1178
+#line 1189
#'#
sub eq_array {
@@ -613,7 +624,7 @@
}
-#line 1309
+#line 1320
sub eq_hash {
local @Data_Stack;
@@ -646,7 +657,7 @@
return $ok;
}
-#line 1366
+#line 1377
sub eq_set {
my($a1, $a2) = @_;
@@ -672,6 +683,6 @@
);
}
-#line 1556
+#line 1567
1;
Modified: trunk/libpar-packer-perl/lib/PAR/Filter.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libpar-packer-perl/lib/PAR/Filter.pm?rev=18540&op=diff
==============================================================================
--- trunk/libpar-packer-perl/lib/PAR/Filter.pm (original)
+++ trunk/libpar-packer-perl/lib/PAR/Filter.pm Sat Apr 12 21:03:38 2008
@@ -95,7 +95,7 @@
=head1 COPYRIGHT
-Copyright 2003-2007 by Audrey Tang E<lt>cpan at audreyt.orgE<gt>.
+Copyright 2003-2008 by Audrey Tang E<lt>cpan at audreyt.orgE<gt>.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
Modified: trunk/libpar-packer-perl/lib/PAR/Filter/Bytecode.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libpar-packer-perl/lib/PAR/Filter/Bytecode.pm?rev=18540&op=diff
==============================================================================
--- trunk/libpar-packer-perl/lib/PAR/Filter/Bytecode.pm (original)
+++ trunk/libpar-packer-perl/lib/PAR/Filter/Bytecode.pm Sat Apr 12 21:03:38 2008
@@ -85,7 +85,7 @@
=head1 COPYRIGHT
-Copyright 2003-2007 by Audrey Tang E<lt>cpan at audreyt.orgE<gt>.
+Copyright 2003-2008 by Audrey Tang E<lt>cpan at audreyt.orgE<gt>.
This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
Modified: trunk/libpar-packer-perl/lib/PAR/Filter/PatchContent.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libpar-packer-perl/lib/PAR/Filter/PatchContent.pm?rev=18540&op=diff
==============================================================================
--- trunk/libpar-packer-perl/lib/PAR/Filter/PatchContent.pm (original)
+++ trunk/libpar-packer-perl/lib/PAR/Filter/PatchContent.pm Sat Apr 12 21:03:38 2008
@@ -27,7 +27,7 @@
' = $ENV{PAR_0} || $0',
],
# Some versions of Spreadsheet::ParseExcel have a weird non-POD construct =cmmt
- # that is used to comment out a block of code. perl treats it as POD ans strips it.
+ # that is used to comment out a block of code. perl treats it as POD and strips it.
# Since it's not POD, POD parsers ignore it.
# PAR::Filter::PodStrip only strips valid POD. Hence we remove it here.
'Spreadsheet/ParseExcel.pm' => [
@@ -140,7 +140,7 @@
=head1 COPYRIGHT
-Copyright 2003, 2004, 2005, 2006 by Audrey Tang E<lt>cpan at audreyt.orgE<gt>.
+Copyright 2003, 2004, 2005, 2006, 2007, 2008 by Audrey Tang E<lt>cpan at audreyt.orgE<gt>.
This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
Modified: trunk/libpar-packer-perl/lib/PAR/Packer.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libpar-packer-perl/lib/PAR/Packer.pm?rev=18540&op=diff
==============================================================================
--- trunk/libpar-packer-perl/lib/PAR/Packer.pm (original)
+++ trunk/libpar-packer-perl/lib/PAR/Packer.pm Sat Apr 12 21:03:38 2008
@@ -3,7 +3,7 @@
use strict;
use warnings;
-our $VERSION = '0.977';
+our $VERSION = '0.978';
=head1 NAME
@@ -431,7 +431,9 @@
my $output = $self->{output};
my $args = $self->{args};
- $output = File::Spec->catfile(".", $output);
+ if (!File::Spec->file_name_is_absolute($output)) {
+ $output = File::Spec->catfile(".", $output);
+ }
my @loader = ();
push(@loader, $^X) if ($opt->{P});
@@ -1682,7 +1684,7 @@
=head1 COPYRIGHT
-Copyright 2004-2007 by Audrey Tang E<lt>cpan at audreyt.orgE<gt>.
+Copyright 2004-2008 by Audrey Tang E<lt>cpan at audreyt.orgE<gt>.
This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
Modified: trunk/libpar-packer-perl/lib/pp.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libpar-packer-perl/lib/pp.pm?rev=18540&op=diff
==============================================================================
--- trunk/libpar-packer-perl/lib/pp.pm (original)
+++ trunk/libpar-packer-perl/lib/pp.pm Sat Apr 12 21:03:38 2008
@@ -3,7 +3,12 @@
use strict;
use warnings;
use PAR::Packer ();
-our $VERSION;
+
+# This line is here so CPAN.pm can parse a $VERSION from us...
+our $VERSION = '0.977';
+
+# ...but we read our $VERSION again from PAR::Packer in case we forgot to update
+# the $VERSION above during release engineering.
$VERSION = $PAR::Packer::VERSION;
use PAR ();
@@ -47,7 +52,7 @@
sub version {
print << ".";
PAR Packager, version $VERSION (PAR version $PAR::VERSION)
-Copyright 2002-2007 by Audrey Tang <autrijus\@autrijus.org>
+Copyright 2002-2008 by Audrey Tang <cpan\@audreyt.org>
Neither this program nor the associated "parl" program impose any
licensing restrictions on files generated by their execution, in
@@ -474,7 +479,7 @@
=head1 COPYRIGHT
-Copyright 2002, 2003, 2004, 2005, 2006 by Audrey Tang
+Copyright 2002-2008 by Audrey Tang
E<lt>cpan at audreyt.orgE<gt>.
Neither this program nor the associated L<parl> program impose any
Modified: trunk/libpar-packer-perl/myldr/encode_append.pl
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libpar-packer-perl/myldr/encode_append.pl?rev=18540&op=diff
==============================================================================
--- trunk/libpar-packer-perl/myldr/encode_append.pl (original)
+++ trunk/libpar-packer-perl/myldr/encode_append.pl Sat Apr 12 21:03:38 2008
@@ -2,7 +2,7 @@
use warnings;
# Used in myldr/Makefile.PL / myldr/Makefile.
# This script appends the uuencoded contents of $ARGV[0] to the file
-# specified as $ARGV[1] if the file in $ARGV[1] ends with an empty __DATA__
+# specified as $ARGV[1] as __DATA__ section. Any previous _DATA_ is replaced.
# section.
#
# 2006, Steffen Mueller
@@ -20,17 +20,17 @@
die $usage if not defined $outfile or not -f $outfile;
open my $fh, '<', $outfile or die $!;
+binmode $fh;
my $contents = <$fh>;
close $fh;
-if (not defined $contents or $contents !~ /__DATA__\s*$/s) {
- warn "Output file '$outfile' does not have an empty __DATA__ section. Not appending encoded data from '$infile'. This is NOT a fatal error!";
- exit();
-}
+$contents =~ s/^__DATA__\r?\n.*\z//ms;
open my $ih, '<', $infile or die $!;
binmode $ih;
-open $fh, '>>', $outfile or die $!;
+open $fh, '>', $outfile or die $!;
binmode $fh;
+print $fh $contents;
+print $fh "\n__DATA__\n";
print $fh pack 'u', <$ih>;
close $ih;
close $fh;
Modified: trunk/libpar-packer-perl/script/par.pl
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libpar-packer-perl/script/par.pl?rev=18540&op=diff
==============================================================================
--- trunk/libpar-packer-perl/script/par.pl (original)
+++ trunk/libpar-packer-perl/script/par.pl Sat Apr 12 21:03:38 2008
@@ -413,11 +413,13 @@
s sign_par
v verify_par
);
+
+ my @add_to_inc;
while (@ARGV) {
$ARGV[0] =~ /^-([AIMOBLbqpiusTv])(.*)/ or last;
if ($1 eq 'I') {
- unshift @INC, $2;
+ push @add_to_inc, $2;
}
elsif ($1 eq 'M') {
eval "use $2";
@@ -455,6 +457,8 @@
exit;
}
}
+
+ unshift @INC, @add_to_inc;
}
# XXX -- add --par-debug support!
@@ -696,8 +700,12 @@
}x;
my $extract_name = $1;
my $dest_name = File::Spec->catfile($ENV{PAR_TEMP}, $extract_name);
- $member->extractToFileNamed($dest_name);
- outs(qq(Extracting "$member_name" to "$dest_name"));
+ if (-f $dest_name && -s _ == $member->uncompressedSize()) {
+ outs(qq(Skipping "$member_name" since it already exists at "$dest_name"));
+ } else {
+ $member->extractToFileNamed($dest_name);
+ outs(qq(Extracting "$member_name" to "$dest_name"));
+ }
}
}
# }}}
Modified: trunk/libpar-packer-perl/t/test-proc
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libpar-packer-perl/t/test-proc?rev=18540&op=diff
==============================================================================
--- trunk/libpar-packer-perl/t/test-proc (original)
+++ trunk/libpar-packer-perl/t/test-proc Sat Apr 12 21:03:38 2008
@@ -14,6 +14,6 @@
print "PAR_PROGNAME = $ENV{PAR_PROGNAME}\n";
$ENV{PAR_TEMP} ||= '';
print "PAR_TEMP = $ENV{PAR_TEMP}\n";
-if( $proc ) {
+if( $proc && $^O ne 'freebsd') { # /proc/$$/file is unreliable on FreeBSD
print "exec = ", readlink( $proc ), "\n";
-}
+}
More information about the Pkg-perl-cvs-commits
mailing list