r11554 - in /trunk/libpar-packer-perl: ./ contrib/automated_pp_test/ debian/ inc/Module/ inc/Module/Install/ inc/Test/ inc/Test/Builder/ lib/ lib/PAR/ myldr/ script/
hanska-guest at users.alioth.debian.org
hanska-guest at users.alioth.debian.org
Sun Dec 23 21:54:36 UTC 2007
Author: hanska-guest
Date: Sun Dec 23 21:54:36 2007
New Revision: 11554
URL: http://svn.debian.org/wsvn/?sc=1&rev=11554
Log:
* New upstream release
Removed:
trunk/libpar-packer-perl/SIGNATURE
trunk/libpar-packer-perl/contrib/automated_pp_test/patch.diff
trunk/libpar-packer-perl/myldr/tmon.out
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/debian/changelog
trunk/libpar-packer-perl/inc/Module/Install.pm
trunk/libpar-packer-perl/inc/Module/Install/Base.pm
trunk/libpar-packer-perl/inc/Module/Install/Can.pm
trunk/libpar-packer-perl/inc/Module/Install/Fetch.pm
trunk/libpar-packer-perl/inc/Module/Install/Include.pm
trunk/libpar-packer-perl/inc/Module/Install/Makefile.pm
trunk/libpar-packer-perl/inc/Module/Install/Metadata.pm
trunk/libpar-packer-perl/inc/Module/Install/PAR.pm
trunk/libpar-packer-perl/inc/Module/Install/Win32.pm
trunk/libpar-packer-perl/inc/Module/Install/WriteAll.pm
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/Packer.pm
trunk/libpar-packer-perl/lib/pp.pm
trunk/libpar-packer-perl/myldr/Makefile.PL
trunk/libpar-packer-perl/myldr/internals.c
trunk/libpar-packer-perl/myldr/mktmpdir.c
trunk/libpar-packer-perl/script/par.pl
Modified: trunk/libpar-packer-perl/ChangeLog
URL: http://svn.debian.org/wsvn/trunk/libpar-packer-perl/ChangeLog?rev=11554&op=diff
==============================================================================
--- trunk/libpar-packer-perl/ChangeLog (original)
+++ trunk/libpar-packer-perl/ChangeLog Sun Dec 23 21:54:36 2007
@@ -1,3 +1,26 @@
+[Changes for 0.977 - Dec 20, 2007]
+
+* New features
+ - Support for Perl 5.10 and later.
+ - New -E flag for "pp" that works just like "perl -E" for Perl 5.10+,
+ namely enabling new syntactic features like "say".
+
+* Bug fixes, etc.
+ - When deleting the temp directory in the background, rename the
+ directory to a unique name to avoid potential collisions caused
+ by pid reuse (primarily an issue on Windows).
+ - PAR::Packer now depends on Module::ScanDeps 0.78 because 0.77
+ had a critical bug. If you are having trouble with M::SD 0.78,
+ please a) report it in the bug tracker and b) try versions of
+ M::SD below 0.77.
+ - If running with the "clean" option, go through extra pain in par.pl
+ to clean up if the OS doesn't allow opened shared libraries to be
+ deleted. (Scott Stanton)
+ - Use the P_tmpdir macro as temporary directory on Unix if available.
+ See RT #29784.
+ - Included PWD fix. See RT #29050.
+ - Added deletion of 'orig_parl' on Win32 in PAR::Packer.
+
[Changes for 0.976 - Jul 29, 2007]
* New features
- If available, the packager will include the new and slightly
Modified: trunk/libpar-packer-perl/MANIFEST
URL: http://svn.debian.org/wsvn/trunk/libpar-packer-perl/MANIFEST?rev=11554&op=diff
==============================================================================
--- trunk/libpar-packer-perl/MANIFEST (original)
+++ trunk/libpar-packer-perl/MANIFEST Sun Dec 23 21:54:36 2007
@@ -1,10 +1,8 @@
AUTHORS
ChangeLog
contrib/automated_pp_test/automated_pp_test.pl
-contrib/automated_pp_test/automated_pp_test.pl.orig
contrib/automated_pp_test/hello_tk.pl
contrib/automated_pp_test/hi.ico
-contrib/automated_pp_test/patch.diff
contrib/automated_pp_test/pipe_a_command.pm
contrib/automated_pp_test/prior_to_test.pm
contrib/automated_pp_test/remove_file_and_try_executable_again.pm
@@ -58,7 +56,6 @@
myldr/parlsig.pl
myldr/sha1.c.PL
myldr/static.c
-myldr/tmon.out
myldr/usernamefrompwuid.c
myldr/utils.c
myldr/win32.coff
@@ -76,4 +73,3 @@
t/30-current_exec.t
t/test-proc
TODO
-SIGNATURE Public-key signature (added by MakeMaker)
Modified: trunk/libpar-packer-perl/META.yml
URL: http://svn.debian.org/wsvn/trunk/libpar-packer-perl/META.yml?rev=11554&op=diff
==============================================================================
--- trunk/libpar-packer-perl/META.yml (original)
+++ trunk/libpar-packer-perl/META.yml Sun Dec 23 21:54:36 2007
@@ -1,8 +1,9 @@
---
abstract: PAR Packager
-author: Audrey Tang <cpan at audreyt.org>
+author:
+ - Audrey Tang <cpan at audreyt.org>
distribution_type: module
-generated_by: Module::Install version 0.67
+generated_by: Module::Install version 0.68
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.3.html
@@ -32,7 +33,7 @@
file: lib/PAR/Filter/PodStrip.pm
PAR::Packer:
file: lib/PAR/Packer.pm
- version: 0.976
+ version: 0.977
PAR::StrippedPARL::Base:
file: lib/PAR/StrippedPARL/Base.pm
version: 0.975
@@ -52,8 +53,8 @@
Compress::Zlib: 1.3
File::Temp: 0.05
Getopt::ArgvFile: 1.07
- Module::ScanDeps: 0.74
- PAR: 0.976
+ Module::ScanDeps: 0.81
+ PAR: 0.977
PAR::Dist: 0.22
perl: 5.6.0
-version: 0.976
+version: 0.977
Modified: trunk/libpar-packer-perl/Makefile.PL
URL: http://svn.debian.org/wsvn/trunk/libpar-packer-perl/Makefile.PL?rev=11554&op=diff
==============================================================================
--- trunk/libpar-packer-perl/Makefile.PL (original)
+++ trunk/libpar-packer-perl/Makefile.PL Sun Dec 23 21:54:36 2007
@@ -10,9 +10,9 @@
requires 'File::Temp' => 0.05;
requires 'Compress::Zlib' => ($^O eq 'MSWin32') ? 1.16 : 1.30;
requires 'Archive::Zip' => 1.00;
-requires 'Module::ScanDeps' => 0.74;
+requires 'Module::ScanDeps' => 0.81;
requires 'PAR::Dist' => 0.22;
-requires 'PAR' => '0.976';
+requires 'PAR' => '0.977';
requires 'Getopt::ArgvFile' => 1.07;
if ($^O eq 'MSWin32') {
@@ -55,7 +55,8 @@
}
par_prehook();
-WriteAll sign => 1;
+WriteAll;
+#WriteAll sign => 1;
par_posthook();
my %no_parl = ();
@@ -67,7 +68,7 @@
$cc = can_cc unless $bork;
my $par;
$par = fetch_par('', '', !$cc) unless ($cc or $bork);
- my $exe = '';
+ my $exe = $Config::Config{_exe};
my $dynperl = $Config::Config{useshrplib} && ($Config::Config{useshrplib} ne 'false');
if ($bork) {
@@ -106,11 +107,11 @@
makemaker_args(
MAN1PODS => {
- 'script/par.pl' => 'blib/man1/par.pl.1p',
- 'script/pp' => 'blib/man1/pp.1p',
- 'script/tkpp' => 'blib/man1/tkpp.1p',
+ 'script/par.pl' => 'blib/man1/par.pl.1',
+ 'script/pp' => 'blib/man1/pp.1',
+ 'script/tkpp' => 'blib/man1/tkpp.1',
($par or $cc) ? (
- 'script/parl.pod' => 'blib/man1/parl.1p',
+ 'script/parl.pod' => 'blib/man1/parl.1',
) : (),
},
EXE_FILES => [
Modified: trunk/libpar-packer-perl/debian/changelog
URL: http://svn.debian.org/wsvn/trunk/libpar-packer-perl/debian/changelog?rev=11554&op=diff
==============================================================================
--- trunk/libpar-packer-perl/debian/changelog (original)
+++ trunk/libpar-packer-perl/debian/changelog Sun Dec 23 21:54:36 2007
@@ -1,3 +1,9 @@
+libpar-packer-perl (0.977-1) UNRELEASED; urgency=low
+
+ * New upstream release
+
+ -- David Paleino <d.paleino at gmail.com> Sun, 23 Dec 2007 22:54:02 +0100
+
libpar-packer-perl (0.976-6) unstable; urgency=low
* Add ${shlibs:Depends} to dependency list.
Modified: trunk/libpar-packer-perl/inc/Module/Install.pm
URL: http://svn.debian.org/wsvn/trunk/libpar-packer-perl/inc/Module/Install.pm?rev=11554&op=diff
==============================================================================
--- trunk/libpar-packer-perl/inc/Module/Install.pm (original)
+++ trunk/libpar-packer-perl/inc/Module/Install.pm Sun Dec 23 21:54:36 2007
@@ -28,7 +28,7 @@
# This is not enforced yet, but will be some time in the next few
# releases once we can make sure it won't clash with custom
# Module::Install extensions.
- $VERSION = '0.67';
+ $VERSION = '0.68';
}
# Whether or not inc::Module::Install is actually loaded, the
Modified: trunk/libpar-packer-perl/inc/Module/Install/Base.pm
URL: http://svn.debian.org/wsvn/trunk/libpar-packer-perl/inc/Module/Install/Base.pm?rev=11554&op=diff
==============================================================================
--- trunk/libpar-packer-perl/inc/Module/Install/Base.pm (original)
+++ trunk/libpar-packer-perl/inc/Module/Install/Base.pm Sun Dec 23 21:54:36 2007
@@ -1,7 +1,7 @@
#line 1
package Module::Install::Base;
-$VERSION = '0.67';
+$VERSION = '0.68';
# Suspend handler for "redefined" warnings
BEGIN {
Modified: trunk/libpar-packer-perl/inc/Module/Install/Can.pm
URL: http://svn.debian.org/wsvn/trunk/libpar-packer-perl/inc/Module/Install/Can.pm?rev=11554&op=diff
==============================================================================
--- trunk/libpar-packer-perl/inc/Module/Install/Can.pm (original)
+++ trunk/libpar-packer-perl/inc/Module/Install/Can.pm Sun Dec 23 21:54:36 2007
@@ -11,7 +11,7 @@
use vars qw{$VERSION $ISCORE @ISA};
BEGIN {
- $VERSION = '0.67';
+ $VERSION = '0.68';
$ISCORE = 1;
@ISA = qw{Module::Install::Base};
}
Modified: trunk/libpar-packer-perl/inc/Module/Install/Fetch.pm
URL: http://svn.debian.org/wsvn/trunk/libpar-packer-perl/inc/Module/Install/Fetch.pm?rev=11554&op=diff
==============================================================================
--- trunk/libpar-packer-perl/inc/Module/Install/Fetch.pm (original)
+++ trunk/libpar-packer-perl/inc/Module/Install/Fetch.pm Sun Dec 23 21:54:36 2007
@@ -6,7 +6,7 @@
use vars qw{$VERSION $ISCORE @ISA};
BEGIN {
- $VERSION = '0.67';
+ $VERSION = '0.68';
$ISCORE = 1;
@ISA = qw{Module::Install::Base};
}
Modified: trunk/libpar-packer-perl/inc/Module/Install/Include.pm
URL: http://svn.debian.org/wsvn/trunk/libpar-packer-perl/inc/Module/Install/Include.pm?rev=11554&op=diff
==============================================================================
--- trunk/libpar-packer-perl/inc/Module/Install/Include.pm (original)
+++ trunk/libpar-packer-perl/inc/Module/Install/Include.pm Sun Dec 23 21:54:36 2007
@@ -6,7 +6,7 @@
use vars qw{$VERSION $ISCORE @ISA};
BEGIN {
- $VERSION = '0.67';
+ $VERSION = '0.68';
$ISCORE = 1;
@ISA = qw{Module::Install::Base};
}
Modified: trunk/libpar-packer-perl/inc/Module/Install/Makefile.pm
URL: http://svn.debian.org/wsvn/trunk/libpar-packer-perl/inc/Module/Install/Makefile.pm?rev=11554&op=diff
==============================================================================
--- trunk/libpar-packer-perl/inc/Module/Install/Makefile.pm (original)
+++ trunk/libpar-packer-perl/inc/Module/Install/Makefile.pm Sun Dec 23 21:54:36 2007
@@ -7,7 +7,7 @@
use vars qw{$VERSION $ISCORE @ISA};
BEGIN {
- $VERSION = '0.67';
+ $VERSION = '0.68';
$ISCORE = 1;
@ISA = qw{Module::Install::Base};
}
Modified: trunk/libpar-packer-perl/inc/Module/Install/Metadata.pm
URL: http://svn.debian.org/wsvn/trunk/libpar-packer-perl/inc/Module/Install/Metadata.pm?rev=11554&op=diff
==============================================================================
--- trunk/libpar-packer-perl/inc/Module/Install/Metadata.pm (original)
+++ trunk/libpar-packer-perl/inc/Module/Install/Metadata.pm Sun Dec 23 21:54:36 2007
@@ -6,7 +6,7 @@
use vars qw{$VERSION $ISCORE @ISA};
BEGIN {
- $VERSION = '0.67';
+ $VERSION = '0.68';
$ISCORE = 1;
@ISA = qw{Module::Install::Base};
}
Modified: trunk/libpar-packer-perl/inc/Module/Install/PAR.pm
URL: http://svn.debian.org/wsvn/trunk/libpar-packer-perl/inc/Module/Install/PAR.pm?rev=11554&op=diff
==============================================================================
--- trunk/libpar-packer-perl/inc/Module/Install/PAR.pm (original)
+++ trunk/libpar-packer-perl/inc/Module/Install/PAR.pm Sun Dec 23 21:54:36 2007
@@ -6,7 +6,7 @@
use vars qw{$VERSION $ISCORE @ISA};
BEGIN {
- $VERSION = '0.67';
+ $VERSION = '0.68';
$ISCORE = 1;
@ISA = qw{Module::Install::Base};
}
Modified: trunk/libpar-packer-perl/inc/Module/Install/Win32.pm
URL: http://svn.debian.org/wsvn/trunk/libpar-packer-perl/inc/Module/Install/Win32.pm?rev=11554&op=diff
==============================================================================
--- trunk/libpar-packer-perl/inc/Module/Install/Win32.pm (original)
+++ trunk/libpar-packer-perl/inc/Module/Install/Win32.pm Sun Dec 23 21:54:36 2007
@@ -6,7 +6,7 @@
use vars qw{$VERSION $ISCORE @ISA};
BEGIN {
- $VERSION = '0.67';
+ $VERSION = '0.68';
$ISCORE = 1;
@ISA = qw{Module::Install::Base};
}
Modified: trunk/libpar-packer-perl/inc/Module/Install/WriteAll.pm
URL: http://svn.debian.org/wsvn/trunk/libpar-packer-perl/inc/Module/Install/WriteAll.pm?rev=11554&op=diff
==============================================================================
--- trunk/libpar-packer-perl/inc/Module/Install/WriteAll.pm (original)
+++ trunk/libpar-packer-perl/inc/Module/Install/WriteAll.pm Sun Dec 23 21:54:36 2007
@@ -6,7 +6,7 @@
use vars qw{$VERSION $ISCORE @ISA};
BEGIN {
- $VERSION = '0.67';
+ $VERSION = '0.68';
$ISCORE = 1;
@ISA = qw{Module::Install::Base};
}
Modified: trunk/libpar-packer-perl/inc/Test/Builder.pm
URL: http://svn.debian.org/wsvn/trunk/libpar-packer-perl/inc/Test/Builder.pm?rev=11554&op=diff
==============================================================================
--- trunk/libpar-packer-perl/inc/Test/Builder.pm (original)
+++ trunk/libpar-packer-perl/inc/Test/Builder.pm Sun Dec 23 21:54:36 2007
@@ -9,7 +9,7 @@
use strict;
use vars qw($VERSION);
-$VERSION = '0.70';
+$VERSION = '0.74';
$VERSION = eval $VERSION; # make the alpha version come out as a number
# Make Test::Builder thread-safe for ithreads.
@@ -690,7 +690,8 @@
# I'm not ready to publish this. It doesn't deal with array return
# values from the code or context.
-#line 999
+
+#line 1000
sub _try {
my($self, $code) = @_;
@@ -703,15 +704,15 @@
return wantarray ? ($return, $@) : $return;
}
-#line 1021
+#line 1022
sub is_fh {
my $self = shift;
my $maybe_fh = shift;
return 0 unless defined $maybe_fh;
- return 1 if ref $maybe_fh eq 'GLOB'; # its a glob
- return 1 if ref \$maybe_fh eq 'GLOB'; # its a glob ref
+ return 1 if ref $maybe_fh eq 'GLOB'; # its a glob ref
+ return 1 if ref \$maybe_fh eq 'GLOB'; # its a glob
return eval { $maybe_fh->isa("IO::Handle") } ||
# 5.5.4's tied() and can() doesn't like getting undef
@@ -719,7 +720,7 @@
}
-#line 1066
+#line 1067
sub level {
my($self, $level) = @_;
@@ -731,7 +732,7 @@
}
-#line 1099
+#line 1100
sub use_numbers {
my($self, $use_nums) = @_;
@@ -743,7 +744,7 @@
}
-#line 1133
+#line 1134
foreach my $attribute (qw(No_Header No_Ending No_Diag)) {
my $method = lc $attribute;
@@ -762,7 +763,7 @@
}
-#line 1187
+#line 1188
sub diag {
my($self, @msgs) = @_;
@@ -789,7 +790,7 @@
return 0;
}
-#line 1224
+#line 1225
sub _print {
my($self, @msgs) = @_;
@@ -813,7 +814,7 @@
print $fh $msg;
}
-#line 1258
+#line 1259
sub _print_diag {
my $self = shift;
@@ -823,7 +824,7 @@
print $fh @_;
}
-#line 1295
+#line 1296
sub output {
my($self, $fh) = @_;
@@ -909,7 +910,7 @@
}
-#line 1395
+#line 1396
sub _message_at_caller {
my $self = shift;
@@ -938,7 +939,7 @@
}
}
-#line 1443
+#line 1444
sub current_test {
my($self, $num) = @_;
@@ -974,7 +975,7 @@
}
-#line 1488
+#line 1489
sub summary {
my($self) = shift;
@@ -982,14 +983,14 @@
return map { $_->{'ok'} } @{ $self->{Test_Results} };
}
-#line 1543
+#line 1544
sub details {
my $self = shift;
return @{ $self->{Test_Results} };
}
-#line 1568
+#line 1569
sub todo {
my($self, $pack) = @_;
@@ -1002,7 +1003,7 @@
: 0;
}
-#line 1589
+#line 1590
sub caller {
my($self, $height) = @_;
@@ -1012,9 +1013,9 @@
return wantarray ? @caller : $caller[0];
}
-#line 1601
-
-#line 1615
+#line 1602
+
+#line 1616
#'#
sub _sanity_check {
@@ -1027,7 +1028,7 @@
'Somehow you got a different number of results than tests ran!');
}
-#line 1636
+#line 1637
sub _whoa {
my($self, $check, $desc) = @_;
@@ -1040,7 +1041,7 @@
}
}
-#line 1658
+#line 1659
sub _my_exit {
$? = $_[0];
@@ -1049,7 +1050,7 @@
}
-#line 1671
+#line 1672
$SIG{__DIE__} = sub {
# We don't want to muck with death in an eval, but $^S isn't
@@ -1169,6 +1170,6 @@
$Test->_ending if defined $Test and !$Test->no_ending;
}
-#line 1846
+#line 1847
1;
Modified: trunk/libpar-packer-perl/inc/Test/Builder/Module.pm
URL: http://svn.debian.org/wsvn/trunk/libpar-packer-perl/inc/Test/Builder/Module.pm?rev=11554&op=diff
==============================================================================
--- trunk/libpar-packer-perl/inc/Test/Builder/Module.pm (original)
+++ trunk/libpar-packer-perl/inc/Test/Builder/Module.pm Sun Dec 23 21:54:36 2007
@@ -6,7 +6,7 @@
require Exporter;
@ISA = qw(Exporter);
-$VERSION = '0.68';
+$VERSION = '0.74';
use strict;
Modified: trunk/libpar-packer-perl/inc/Test/More.pm
URL: http://svn.debian.org/wsvn/trunk/libpar-packer-perl/inc/Test/More.pm?rev=11554&op=diff
==============================================================================
--- trunk/libpar-packer-perl/inc/Test/More.pm (original)
+++ trunk/libpar-packer-perl/inc/Test/More.pm Sun Dec 23 21:54:36 2007
@@ -17,7 +17,7 @@
use vars qw($VERSION @ISA @EXPORT %EXPORT_TAGS $TODO);
-$VERSION = '0.70';
+$VERSION = '0.74';
$VERSION = eval $VERSION; # make the alpha version come out as a number
use Test::Builder::Module;
@@ -233,32 +233,37 @@
my($pack,$filename,$line) = caller;
- 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;
+ # 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;
package $pack;
use $module $imports[0];
USE
- }
- else {
- eval <<USE;
+ }
+ else {
+ eval <<USE;
package $pack;
use $module \@imports;
USE
- }
-
- my $ok = $tb->ok( !$@, "use $module;" );
+ }
+ $eval_error = $@;
+ }
+
+ my $ok = $tb->ok( !$eval_error, "use $module;" );
unless( $ok ) {
- chomp $@;
+ chomp $eval_error;
$@ =~ s{^BEGIN failed--compilation aborted at .*$}
{BEGIN failed--compilation aborted at $filename line $line.}m;
$tb->diag(<<DIAGNOSTIC);
Tried to use '$module'.
- Error: $@
+ Error: $eval_error
DIAGNOSTIC
}
@@ -266,7 +271,7 @@
return $ok;
}
-#line 702
+#line 707
sub require_ok ($) {
my($module) = shift;
@@ -310,10 +315,16 @@
$module =~ /^[a-zA-Z]\w*$/;
}
-#line 779
+#line 784
use vars qw(@Data_Stack %Refs_Seen);
my $DNE = bless [], 'Does::Not::Exist';
+
+sub _dne {
+ ref $_[0] eq ref $DNE;
+}
+
+
sub is_deeply {
my $tb = Test::More->builder;
@@ -386,8 +397,8 @@
foreach my $idx (0..$#vals) {
my $val = $vals[$idx];
$vals[$idx] = !defined $val ? 'undef' :
- $val eq $DNE ? "Does not exist" :
- ref $val ? "$val" :
+ _dne($val) ? "Does not exist" :
+ ref $val ? "$val" :
"'$val'";
}
@@ -411,7 +422,7 @@
return '';
}
-#line 919
+#line 930
sub diag {
my $tb = Test::More->builder;
@@ -420,7 +431,7 @@
}
-#line 988
+#line 999
#'#
sub skip {
@@ -448,7 +459,7 @@
}
-#line 1075
+#line 1086
sub todo_skip {
my($why, $how_many) = @_;
@@ -469,7 +480,7 @@
last TODO;
}
-#line 1128
+#line 1139
sub BAIL_OUT {
my $reason = shift;
@@ -478,7 +489,7 @@
$tb->BAIL_OUT($reason);
}
-#line 1167
+#line 1178
#'#
sub eq_array {
@@ -536,7 +547,7 @@
if( defined $e1 xor defined $e2 ) {
$ok = 0;
}
- elsif ( $e1 == $DNE xor $e2 == $DNE ) {
+ elsif ( _dne($e1) xor _dne($e2) ) {
$ok = 0;
}
elsif ( $same_ref and ($e1 eq $e2) ) {
@@ -602,7 +613,7 @@
}
-#line 1298
+#line 1309
sub eq_hash {
local @Data_Stack;
@@ -635,7 +646,7 @@
return $ok;
}
-#line 1355
+#line 1366
sub eq_set {
my($a1, $a2) = @_;
@@ -661,6 +672,6 @@
);
}
-#line 1545
+#line 1556
1;
Modified: trunk/libpar-packer-perl/lib/PAR/Packer.pm
URL: http://svn.debian.org/wsvn/trunk/libpar-packer-perl/lib/PAR/Packer.pm?rev=11554&op=diff
==============================================================================
--- trunk/libpar-packer-perl/lib/PAR/Packer.pm (original)
+++ trunk/libpar-packer-perl/lib/PAR/Packer.pm Sun Dec 23 21:54:36 2007
@@ -3,7 +3,7 @@
use strict;
use warnings;
-our $VERSION = '0.976';
+our $VERSION = '0.977';
=head1 NAME
@@ -44,6 +44,7 @@
'c|compile' => 'Compile code to get dependencies',
'd|dependent' => 'Do not include libperl',
'e|eval:s' => 'Packing one-liner',
+ 'E|evalfeature:s'=> 'Packing one-liner with new syntactic features',
'x|execute' => 'Execute code to get dependencies',
'X|exclude:s@' => 'Exclude modules',
'f|filter:s@' => 'Input filters for scripts',
@@ -301,6 +302,11 @@
$self->{logfh} = $self->_open('>>', $opt->{L})
if length $opt->{L};
+ if ($opt->{E}) {
+ $opt->{e} = "use $];\n#line 1\n$opt->{E}";
+ push @{$opt->{M}||=[]}, 'feature' if $] >= 5.009;
+ }
+
if ($opt->{e}) {
$self->_warn("Using -e 'code' as input file, ignoring @$args\n")
if (@$args and !$opt->{r});
@@ -1253,6 +1259,7 @@
$self->_fix_console();
unlink($self->{parl});
+ unlink($self->{orig_parl});
unlink("$self->{parl}.bak");
return;
}
@@ -1675,7 +1682,7 @@
=head1 COPYRIGHT
-Copyright 2004, 2005, 2006 by Audrey Tang E<lt>cpan at audreyt.orgE<gt>.
+Copyright 2004-2007 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/trunk/libpar-packer-perl/lib/pp.pm?rev=11554&op=diff
==============================================================================
--- trunk/libpar-packer-perl/lib/pp.pm (original)
+++ trunk/libpar-packer-perl/lib/pp.pm Sun Dec 23 21:54:36 2007
@@ -226,6 +226,11 @@
Package a one-liner, much the same as C<perl -e '...'>
+=item B<-E>, B<--evalfeature>=I<STRING>
+
+Behaves just like C<-e>, except that it implicitly enables all optional features
+(in the main compilation unit) with Perl 5.10 and later. See L<feature>.
+
=item B<-x>, B<--execute>
Run C<perl inputfile> to determine additonal run-time dependencies.
Modified: trunk/libpar-packer-perl/myldr/Makefile.PL
URL: http://svn.debian.org/wsvn/trunk/libpar-packer-perl/myldr/Makefile.PL?rev=11554&op=diff
==============================================================================
--- trunk/libpar-packer-perl/myldr/Makefile.PL (original)
+++ trunk/libpar-packer-perl/myldr/Makefile.PL Sun Dec 23 21:54:36 2007
@@ -87,7 +87,7 @@
);
my $lib_path = join(' ', map qq(-I"$_"), @INC);
-my( $out, $ccdebug, $lddebug, $warn, $rm, $mv, $res, $long_literal );
+my( $out, $ccdebug, $lddebug, $warn, $rm, $mv, $res, $long_literal, $mt_cmd );
if( $cc =~ m/^cl\b/i ) {
$out = '-out:';
@@ -96,6 +96,13 @@
$warn = $debug ? '-W3' : '';
$res = 'win32.obj';
$long_literal = 0;
+ # Embed the manifest file for VC 2005 (aka VC8) or higher, but not for the
+ # 64-bit Platform SDK compiler
+ if( $Config{ivsize} == 4 and $Config{ccversion} =~ /^(\d+)/ and $1 >= 14 ) {
+ $mt_cmd = 'mt -nologo -manifest $@.manifest -outputresource:$@;1';
+ } else {
+ $mt_cmd = '-$(NOOP)';
+ }
} elsif ($cc =~ m/^gcc\b/i or ($cc =~ m/^cc\b/i and $gccversion)) {
$out = '--output ';
$ccdebug = $debug ? '-g ' : '';
@@ -103,6 +110,7 @@
$warn = $debug ? '-Wall -Wno-comments ' : '';
$res = ($^O =~ /^(?:MSWin|cygwin)/) ? 'win32.coff' : '';
$long_literal = 1;
+ $mt_cmd = '-$(NOOP)';
} else {
$out = '-o ';
$ccdebug = '';
@@ -110,6 +118,7 @@
$warn = '';
$res = '';
$long_literal = 0; # better safe than sorry
+ $mt_cmd = '-$(NOOP)';
}
@@ -208,7 +217,7 @@
all: $all
-main.$o: main.c
+main$o: main.c perlxsi.c mktmpdir.c internals.c mktmpdir.h utils.c sha1.c
main.c: perlxsi.c mktmpdir.c internals.c
@@ -238,6 +247,7 @@
$par_exe: sha1$o \$(OBJECTS) my_par_pl$o
\$(LD) \$(OBJECTS) \$(PERL_LDFLAGS) $out$par_exe_link
+ $mt_cmd
my_par_pl.c: $par_pl
\$(PERL) $f2c $par_pl \$@ load_me_2 $long_literal
@@ -270,6 +280,7 @@
$static_exe: sha1$o static$o
\$(LD) static$o \$(STATIC_LDFLAGS) $res $out$static_exe_link
+ $mt_cmd
\$(PERL) parlsig.pl $static_exe $par_exe $dynperl $chunk_size
my_perl.c:
Modified: trunk/libpar-packer-perl/myldr/internals.c
URL: http://svn.debian.org/wsvn/trunk/libpar-packer-perl/myldr/internals.c?rev=11554&op=diff
==============================================================================
--- trunk/libpar-packer-perl/myldr/internals.c (original)
+++ trunk/libpar-packer-perl/myldr/internals.c Sun Dec 23 21:54:36 2007
@@ -72,8 +72,8 @@
}
#if (PERL_REVISION == 5 && PERL_VERSION == 8 \
&& ( PERL_SUBVERSION >= 1 && PERL_SUBVERSION <= 5)) || \
- (PERL_REVISION == 5 && PERL_VERSION >= 9 && PERL_SUBVERSION <= 1)
- /* 5.8.1 and later perl versions no longer copies fakeargv, sigh */
+ (PERL_REVISION == 5 && PERL_VERSION == 9 && PERL_SUBVERSION <= 1)
+ /* 5.8.1 through 5.8.5, as well as 5.9.0 does not copy fakeargv, sigh */
{
char *p;
STRLEN len = strlen( fakeargv[0] );
Modified: trunk/libpar-packer-perl/myldr/mktmpdir.c
URL: http://svn.debian.org/wsvn/trunk/libpar-packer-perl/myldr/mktmpdir.c?rev=11554&op=diff
==============================================================================
--- trunk/libpar-packer-perl/myldr/mktmpdir.c (original)
+++ trunk/libpar-packer-perl/myldr/mktmpdir.c Sun Dec 23 21:54:36 2007
@@ -6,6 +6,10 @@
# define OPEN_O_BINARY O_BINARY
#else
# define OPEN_O_BINARY 0
+#endif
+
+#ifndef P_tmpdir
+#define P_tmpdir "/tmp"
#endif
void par_setup_libpath( const char * stmpdir )
@@ -42,8 +46,7 @@
char *c;
const char *tmpdir = NULL;
const char *key = NULL , *val = NULL;
-
- const char *temp_dirs[4] = { "C:\\TEMP", "/tmp", ".", "" };
+ const char *temp_dirs[4] = { "C:\\TEMP", P_tmpdir, ".", "" };
const char *temp_keys[6] = { "PAR_TMPDIR", "TMPDIR", "TEMPDIR", "TEMP", "TMP", "" };
const char *user_keys[3] = { "USER", "USERNAME", "" };
Modified: trunk/libpar-packer-perl/script/par.pl
URL: http://svn.debian.org/wsvn/trunk/libpar-packer-perl/script/par.pl?rev=11554&op=diff
==============================================================================
--- trunk/libpar-packer-perl/script/par.pl (original)
+++ trunk/libpar-packer-perl/script/par.pl Sun Dec 23 21:54:36 2007
@@ -159,10 +159,73 @@
my ($par_temp, $progname, @tmpfile);
END { if ($ENV{PAR_CLEAN}) {
- unlink @tmpfile;
+ require File::Temp;
+ require File::Basename;
+ require File::Spec;
+ my $topdir = File::Basename::dirname($par_temp);
+ outs(qq{Removing files in "$par_temp"});
+ File::Find::finddepth(sub { ( -d ) ? rmdir : unlink }, $par_temp);
rmdir $par_temp;
- $par_temp =~ s{[^\\/]*[\\/]?$}{};
- rmdir $par_temp;
+ rmdir $topdir;
+
+ if (-d $par_temp) {
+ # Something went wrong unlinking the temporary directory. This
+ # typically happens on platforms that disallow unlinking shared
+ # libraries and executables that are in use. Unlink with a background
+ # shell command so the files are no longer in use by this process.
+
+ my $tmp = new File::Temp(
+ TEMPLATE => 'tmpXXXXX',
+ DIR => File::Basename::dirname($topdir),
+ SUFFIX => '.cmd',
+ UNLINK => 0,
+ );
+
+ # Because the par_temp directory is going to be deleted in a
+ # background process, the parent process id may be reused before the
+ # background process completes. To ensure that the temporary
+ # directory does not get reused while it is being deleted, try to
+ # rename it to a name that is related to the temporary script file.
+
+ my $tmpname = (File::Spec->splitpath($tmp->filename))[2]; # filename
+ $tmpname =~ s/\.[^.]*$/.dir/;
+ my $newDir = File::Spec->catpath(
+ (File::Spec->splitpath($par_temp))[0..1], $tmpname);
+ if (rename $par_temp, $newDir) {
+ outs("Renamed $par_temp to $newDir");
+ $par_temp = $newDir;
+ }
+
+ if ($^O =~ m/win32/i) {
+ print $tmp "
+:loop
+rmdir /q /s \"$par_temp\"
+if exist \"$par_temp\" goto loop
+rmdir \"$topdir\"
+rm \"" . $tmp->filename . "\"
+";
+ close $tmp;
+ my $proc;
+ Win32::Process::Create(
+ $proc, $ENV{COMSPEC},
+ "$ENV{COMSPEC} /c \"" . $tmp->filename . "\" >nul 2>nul ",
+ 1, NORMAL_PRIORITY_CLASS, "."
+ );
+ } else {
+ print $tmp "#!/bin/sh
+while [ -d '$par_temp' ]; do
+ rm -rf '$par_temp'
+done
+rmdir '$topdir'
+rm '" . $tmp->filename . "'
+";
+ chmod 0700,$tmp->filename;
+ my $cmd = $tmp->filename . ' >/dev/null 2>&1 &';
+ close $tmp;
+ system($cmd);
+ }
+ outs(qq(Spawned background process to perform cleanup));
+ }
} }
BEGIN {
@@ -659,7 +722,7 @@
require File::Path;
- File::Path::mkpath($path) unless(-e $path); # mkpath dies with error
+ File::Path::mkpath($path) unless(-e $path); # mkpath dies with error
}
sub require_modules {
@@ -688,7 +751,9 @@
require PAR::Heavy;
require PAR::Dist;
require PAR::Filter::PodStrip;
+ eval { require Cwd };
eval { require Win32 };
+ eval { require Win32::Process };
eval { require Scalar::Util };
eval { require Archive::Unzip::Burst };
}
@@ -825,8 +890,8 @@
}
# XXX - hack to make PWD work
- my $pwd = (defined &Win32::GetCwd) ? Win32::GetCwd() : $ENV{PWD};
- $pwd = `pwd` if !defined $pwd;
+ my $pwd = (defined &Cwd::getcwd) ? Cwd::getcwd()
+ : ((defined &Win32::GetCwd) ? Win32::GetCwd() : `pwd`);
chomp($pwd);
$progname =~ s/^(?=\.\.?\Q$Config{_delim}\E)/$pwd$Config{_delim}/;
More information about the Pkg-perl-cvs-commits
mailing list