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