In perl.git, the branch maint-5.10 has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/6276b6bc5fe25765c68f501f765fe8f4abac8c33?hp=bd8bb1d4974c641d8623d7d3bc3216a8e0eb0c32>

- Log -----------------------------------------------------------------
commit 6276b6bc5fe25765c68f501f765fe8f4abac8c33
Author: Chris 'BinGOs' Williams <[email protected]>
Date:   Fri May 8 12:49:40 2009 +0200

    git checkout in add-package.pl, not git co
    
    (cherry picked from commit 1e3c652eb4151e62b641752816e9f1039df3703a)

M       Porting/add-package.pl

commit 7ff72af19e478c483435fdba5a2bf5e01d278ca1
Author: Chris 'BinGOs' Williams <[email protected]>
Date:   Fri May 8 12:50:33 2009 +0200

    Upgrade CPANPLUS::Dist::Build to 0.28
    
    (cherry picked from commit 52f75a8770b4af0ffa1a094cc15d77f1ede582df)

M       MANIFEST
M       lib/CPANPLUS/Dist/Build.pm
M       lib/CPANPLUS/Dist/Build/Constants.pm
M       lib/CPANPLUS/Dist/Build/t/dummy-CPAN/authors/01mailrc.txt.gz.packed
M       
lib/CPANPLUS/Dist/Build/t/dummy-CPAN/modules/02packages.details.txt.gz.packed
M       lib/CPANPLUS/Dist/Build/t/dummy-CPAN/modules/03modlist.data.gz.packed
A       lib/CPANPLUS/Dist/Build/t/dummy-perl/.hidden
M       lib/CPANPLUS/Dist/Build/t/inc/conf.pl
M       lib/CPANPLUS/Dist/Build/t/src/noxs/Foo-Bar-0.01.tar.gz.packed
M       lib/CPANPLUS/Dist/Build/t/src/xs/Foo-Bar-0.01.tar.gz.packed

commit 6ca47188eca570a3d0fac48390126ba6a8aedd76
Author: Chris 'BinGOs' Williams <[email protected]>
Date:   Thu May 7 18:13:02 2009 +0100

    Upgrade to CPANPLUS-Dist-Build-0.26
    
    Stops tests from fetching CPAN indexes.
    
    Message-ID: <[email protected]>
    (Tweaked to update MANIFEST too.)
    
    (cherry picked from commit 4320d0941c269684ff8da26bfeab76ff0809b983)

M       MANIFEST
M       lib/CPANPLUS/Dist/Build.pm
M       lib/CPANPLUS/Dist/Build/Constants.pm
M       lib/CPANPLUS/Dist/Build/t/02_CPANPLUS-Dist-Build.t
A       lib/CPANPLUS/Dist/Build/t/dummy-CPAN/authors/01mailrc.txt.gz.packed
A       
lib/CPANPLUS/Dist/Build/t/dummy-CPAN/modules/02packages.details.txt.gz.packed
A       lib/CPANPLUS/Dist/Build/t/dummy-CPAN/modules/03modlist.data.gz.packed
M       lib/CPANPLUS/Dist/Build/t/inc/conf.pl
-----------------------------------------------------------------------

Summary of changes:
 MANIFEST                                           |    4 +
 Porting/add-package.pl                             |    2 +-
 lib/CPANPLUS/Dist/Build.pm                         |    4 +-
 lib/CPANPLUS/Dist/Build/Constants.pm               |    2 +-
 lib/CPANPLUS/Dist/Build/t/02_CPANPLUS-Dist-Build.t |   17 +-
 .../t/dummy-CPAN/authors/01mailrc.txt.gz.packed    |   19 ++
 .../modules/02packages.details.txt.gz.packed       |   26 +++
 .../t/dummy-CPAN/modules/03modlist.data.gz.packed  |    6 +-
 .../CPANPLUS/Dist/Build/t/dummy-perl/.hidden       |    0
 lib/CPANPLUS/Dist/Build/t/inc/conf.pl              |  216 +++++++++++++++++---
 .../Build/t/src/noxs/Foo-Bar-0.01.tar.gz.packed    |    2 +-
 .../Dist/Build/t/src/xs/Foo-Bar-0.01.tar.gz.packed |    2 +-
 12 files changed, 251 insertions(+), 49 deletions(-)
 mode change 100644 => 100755 MANIFEST
 create mode 100644 
lib/CPANPLUS/Dist/Build/t/dummy-CPAN/authors/01mailrc.txt.gz.packed
 create mode 100644 
lib/CPANPLUS/Dist/Build/t/dummy-CPAN/modules/02packages.details.txt.gz.packed
 copy lib/CPANPLUS/{ => 
Dist/Build}/t/dummy-CPAN/modules/03modlist.data.gz.packed (77%)
 copy ext/Module-Pluggable/t/lib/Zot/.Zork.pm => 
lib/CPANPLUS/Dist/Build/t/dummy-perl/.hidden (100%)

diff --git a/MANIFEST b/MANIFEST
old mode 100644
new mode 100755
index 8a10fd6..12a83a0
--- a/MANIFEST
+++ b/MANIFEST
@@ -1926,6 +1926,10 @@ lib/CPANPLUS/Dist/Build/Constants.pm     
CPANPLUS::Dist::Build
 lib/CPANPLUS/Dist/Build.pm     CPANPLUS::Dist::Build
 lib/CPANPLUS/Dist/Build/t/01_CPANPLUS-Dist-Build-Constants.t   
CPANPLUS::Dist::Build tests
 lib/CPANPLUS/Dist/Build/t/02_CPANPLUS-Dist-Build.t     CPANPLUS::Dist::Build 
tests
+lib/CPANPLUS/Dist/Build/t/dummy-CPAN/authors/01mailrc.txt.gz.packed
+lib/CPANPLUS/Dist/Build/t/dummy-CPAN/modules/02packages.details.txt.gz.packed
+lib/CPANPLUS/Dist/Build/t/dummy-CPAN/modules/03modlist.data.gz.packed
+lib/CPANPLUS/Dist/Build/t/dummy-perl/.hidden   CPANPLUS::Dist::Build tests
 lib/CPANPLUS/Dist/Build/t/inc/conf.pl  CPANPLUS::Dist::Build tests
 lib/CPANPLUS/Dist/Build/t/src/noxs/Foo-Bar-0.01.tar.gz.packed  
CPANPLUS::Dist::Build tests
 lib/CPANPLUS/Dist/Build/t/src/xs/Foo-Bar-0.01.tar.gz.packed    
CPANPLUS::Dist::Build tests
diff --git a/Porting/add-package.pl b/Porting/add-package.pl
index 54a4f03..c8fe807 100644
--- a/Porting/add-package.pl
+++ b/Porting/add-package.pl
@@ -55,7 +55,7 @@ else {
     unless ( $status =~ /nothing to commit/ims ) {
       die "\nWorking directory not clean. Stopping.\n";
     }
-    system( "git co -b $BranchName blead" )
+    system( "git checkout -b $BranchName blead" )
             and die "Could not create branch '$BranchName': $?";
 
     print "done\n" if $Verbose;
diff --git a/lib/CPANPLUS/Dist/Build.pm b/lib/CPANPLUS/Dist/Build.pm
index 714ef79..8663a64 100644
--- a/lib/CPANPLUS/Dist/Build.pm
+++ b/lib/CPANPLUS/Dist/Build.pm
@@ -30,7 +30,7 @@ use Locale::Maketext::Simple    Class => 'CPANPLUS', Style => 
'gettext';
 
 local $Params::Check::VERBOSE = 1;
 
-$VERSION = '0.24';
+$VERSION = '0.28';
 
 =pod
 
@@ -773,7 +773,7 @@ sub _buildflags_as_list {
 Originally by Jos Boumans E<lt>[email protected]<gt>.  Brought to working
 condition by Ken Williams E<lt>[email protected]<gt>.
 
-Other hackery and currently maintained by Chris 'BinGOs' Williams ( no 
relation ). E<lt>[email protected]<gt>.
+Other hackery and currently maintained by Chris C<BinGOs> Williams ( no 
relation ). E<lt>[email protected]<gt>.
 
 =head1 LICENSE
 
diff --git a/lib/CPANPLUS/Dist/Build/Constants.pm 
b/lib/CPANPLUS/Dist/Build/Constants.pm
index 2a60438..99246c0 100644
--- a/lib/CPANPLUS/Dist/Build/Constants.pm
+++ b/lib/CPANPLUS/Dist/Build/Constants.pm
@@ -9,7 +9,7 @@ BEGIN {
     require Exporter;
     use vars    qw[$VERSION @ISA @EXPORT];
   
-    $VERSION    = '0.24';
+    $VERSION    = '0.28';
     @ISA        = qw[Exporter];
     @EXPORT     = qw[ BUILD_DIR BUILD ];
 }
diff --git a/lib/CPANPLUS/Dist/Build/t/02_CPANPLUS-Dist-Build.t 
b/lib/CPANPLUS/Dist/Build/t/02_CPANPLUS-Dist-Build.t
index f92d862..143d71e 100644
--- a/lib/CPANPLUS/Dist/Build/t/02_CPANPLUS-Dist-Build.t
+++ b/lib/CPANPLUS/Dist/Build/t/02_CPANPLUS-Dist-Build.t
@@ -34,9 +34,15 @@ my $Lib     = File::Spec->rel2abs(File::Spec->catdir( 
qw[dummy-perl] ));
 my $Src     = File::Spec->rel2abs(File::Spec->catdir( qw[src] ));
 
 my $Verbose = @ARGV ? 1 : 0;
-my $CB      = CPANPLUS::Backend->new;
-my $Conf    = $CB->configure_object;
+my $Conf    = gimme_conf();
+my $CB      = CPANPLUS::Backend->new( $Conf );
 
+#$Conf->set_conf( base       => 'dummy-cpanplus' );
+#$Conf->set_conf( dist_type  => '' );
+#$Conf->set_conf( verbose    => $Verbose );
+#$Conf->set_conf( signature  => 0 );
+### running tests will mess with the test output so skip 'm
+#$Conf->set_conf( skiptest   => 1 );
 
 ### create a fake object, so we don't use the actual module tree
 ### make sure to add dslip data, so CPANPLUS doesn't try to find
@@ -50,13 +56,6 @@ my $Mod = CPANPLUS::Module::Fake->new(
                 dslip   => 'RdpO?',
             );
 
-$Conf->set_conf( base       => 'dummy-cpanplus' );
-$Conf->set_conf( dist_type  => '' );
-$Conf->set_conf( verbose    => $Verbose );
-$Conf->set_conf( signature  => 0 );
-### running tests will mess with the test output so skip 'm
-$Conf->set_conf( skiptest   => 1 );
-
 ### dmq tells us that we should run with /nologo
 ### if using nmake, as it's very noise otherwise.
 ### XXX copied from CPANPLUS' test include file!
diff --git 
a/lib/CPANPLUS/Dist/Build/t/dummy-CPAN/authors/01mailrc.txt.gz.packed 
b/lib/CPANPLUS/Dist/Build/t/dummy-CPAN/authors/01mailrc.txt.gz.packed
new file mode 100644
index 0000000..21fa325
--- /dev/null
+++ b/lib/CPANPLUS/Dist/Build/t/dummy-CPAN/authors/01mailrc.txt.gz.packed
@@ -0,0 +1,19 @@
+#########################################################################
+This is a binary file that was packed with the 'uupacktool.pl' which
+is included in the Perl distribution.
+
+To unpack this file use the following command:
+
+     uupacktool.pl -u 
lib/CPANPLUS/Dist/Build/t/dummy-CPAN/authors/01mailrc.txt.gz.packed 
lib/CPANPLUS/Dist/Build/t/dummy-CPAN/authors/01mailrc.txt.gz
+
+To recreate it use the following command:
+
+     uupacktool.pl -p 
lib/CPANPLUS/Dist/Build/t/dummy-CPAN/authors/01mailrc.txt.gz 
lib/CPANPLUS/Dist/Build/t/dummy-CPAN/authors/01mailrc.txt.gz.packed
+
+Created at Fri May  8 11:07:40 2009
+#########################################################################
+__UU__
+M'XL("*':`DH``S`Q;6%I;')C+G1X=`!+S,E,+%9P#8T(5...@`#)=>*DM"2S)QB
+M*RO?Q.Q4$"Y2`$HZYZ>d...@d%r3f%>24%CND5B3F%N2DZB7GY]HI<25"#?'S
+MAQB#U1"_?"+-\76".\8W/Z4T)]7*RJDT,R>%:.UP9Z!J]_,g...@0g3s]w_v!.
+M)>>,HLQBA?#,'*!H;C%04T91L4-29EYZ?G%>:@E0BUYI-E`3`#./"ZY#`0``
diff --git 
a/lib/CPANPLUS/Dist/Build/t/dummy-CPAN/modules/02packages.details.txt.gz.packed 
b/lib/CPANPLUS/Dist/Build/t/dummy-CPAN/modules/02packages.details.txt.gz.packed
new file mode 100644
index 0000000..1b8f742
--- /dev/null
+++ 
b/lib/CPANPLUS/Dist/Build/t/dummy-CPAN/modules/02packages.details.txt.gz.packed
@@ -0,0 +1,26 @@
+#########################################################################
+This is a binary file that was packed with the 'uupacktool.pl' which
+is included in the Perl distribution.
+
+To unpack this file use the following command:
+
+     uupacktool.pl -u 
lib/CPANPLUS/Dist/Build/t/dummy-CPAN/modules/02packages.details.txt.gz.packed 
lib/CPANPLUS/Dist/Build/t/dummy-CPAN/modules/02packages.details.txt.gz
+
+To recreate it use the following command:
+
+     uupacktool.pl -p 
lib/CPANPLUS/Dist/Build/t/dummy-CPAN/modules/02packages.details.txt.gz 
lib/CPANPLUS/Dist/Build/t/dummy-CPAN/modules/02packages.details.txt.gz.packed
+
+Created at Fri May  8 11:07:41 2009
+#########################################################################
+__UU__
+M'XL("-3:`DH``S`R<&%C:V%G97,N9&5T86EL<RYT>'0`G=-!;]...@%`?p<_PI
+MWF&'30J8.K(J<5J<)E6W)(V66>UMHH8F:#98\%PO^_2#9%W;:-G6(4N6X,^/
+M!X*9KA6'Q\:R5E1?Q49Y*A4*77N*WS`I/\V?,K!%;'F:]GU/6^5J6MDFG:S&
+MR[2QLJN53T\H%\I73K>HK0G:ZA`!(QKEX=YV1H(V(+53%...@s=[4w2xm<ZG
+M6J;)Q-9=8_S/4MIGP!`>E/,!'H9NW"97!I612I*9=1S&'=I&H))PK[#:@K,=
+M:J/\\...@!1(6W6-,BAB>32Y<1H#08I=7*VII?;8BSCY[0-D=,2R=W"w...@[&1
+...@e//UIE].:],+H18<_)//!D$O:$<?H9.\_S9"X\DK*5L1`.-TH.8<3@@S"0
+M,98!RWD6OG.X7'Q.DIFUG!?"<3XM.;]=PU%CE)W%_[2\7:<A3$*6Q$Z*PM'-
+m]v?...@3l"C^"5A>'Q-/0!S["Q$W<9j8...@.%]w=_]#')_...@b7,[P3/@I
+...@xq,GOI$DO3]6Q;]E+*;ZOG#*6?V&C7T1X%JMY&0[B(ES*4$^G:SD8Q%4&
+9Q=7R\GJ=/D9(3)!]X$45/P`_H+;"]0,`````
diff --git a/lib/CPANPLUS/t/dummy-CPAN/modules/03modlist.data.gz.packed 
b/lib/CPANPLUS/Dist/Build/t/dummy-CPAN/modules/03modlist.data.gz.packed
similarity index 77%
copy from lib/CPANPLUS/t/dummy-CPAN/modules/03modlist.data.gz.packed
copy to lib/CPANPLUS/Dist/Build/t/dummy-CPAN/modules/03modlist.data.gz.packed
index df1d600..0f36b60 100644
--- a/lib/CPANPLUS/t/dummy-CPAN/modules/03modlist.data.gz.packed
+++ b/lib/CPANPLUS/Dist/Build/t/dummy-CPAN/modules/03modlist.data.gz.packed
@@ -4,13 +4,13 @@ is included in the Perl distribution.
 
 To unpack this file use the following command:
 
-     uupacktool.pl -u 
lib/CPANPLUS/t/dummy-CPAN/modules/03modlist.data.gz.packed 
lib/CPANPLUS/t/dummy-CPAN/modules/03modlist.data.gz
+     uupacktool.pl -u 
lib/CPANPLUS/Dist/Build/t/dummy-CPAN/modules/03modlist.data.gz.packed 
lib/CPANPLUS/Dist/Build/t/dummy-CPAN/modules/03modlist.data.gz
 
 To recreate it use the following command:
 
-     uupacktool.pl -p lib/CPANPLUS/t/dummy-CPAN/modules/03modlist.data.gz 
lib/CPANPLUS/t/dummy-CPAN/modules/03modlist.data.gz.packed
+     uupacktool.pl -p 
lib/CPANPLUS/Dist/Build/t/dummy-CPAN/modules/03modlist.data.gz 
lib/CPANPLUS/Dist/Build/t/dummy-CPAN/modules/03modlist.data.gz.packed
 
-Created at Sun Apr 26 20:33:21 2009
+Created at Fri May  8 11:07:41 2009
 #########################################################################
 __UU__
 M'XL("#'FO$4``S`S;6]D;&ES="YD871A`%U3_6O;,!#].?HKCBXC"20A=<@&
diff --git a/ext/Module-Pluggable/t/lib/Zot/.Zork.pm 
b/lib/CPANPLUS/Dist/Build/t/dummy-perl/.hidden
similarity index 100%
copy from ext/Module-Pluggable/t/lib/Zot/.Zork.pm
copy to lib/CPANPLUS/Dist/Build/t/dummy-perl/.hidden
diff --git a/lib/CPANPLUS/Dist/Build/t/inc/conf.pl 
b/lib/CPANPLUS/Dist/Build/t/inc/conf.pl
index bd75428..e4bca17 100644
--- a/lib/CPANPLUS/Dist/Build/t/inc/conf.pl
+++ b/lib/CPANPLUS/Dist/Build/t/inc/conf.pl
@@ -27,12 +27,15 @@ BEGIN {
     $ENV{'PERL5LIB'}  = join $Config{'path_sep'}, 
                         grep { defined } $ENV{'PERL5LIB'}, @paths, @rel2abs;
     
-    ### add our own path to the front of $ENV{PATH}, so that cpanp-run-perl
-    ### and friends get picked up
-    $old_env_path = $ENV{PATH};
-    $ENV{'PATH'}  = join $Config{'path_sep'}, 
+    ### add CPANPLUS' bin dir to the front of $ENV{PATH}, so that 
cpanp-run-perl
+    ### and friends get picked up, only under PERL_CORE though.
+    if ( $ENV{PERL_CORE} ) {
+       $old_env_path = $ENV{PATH};
+       $ENV{'PATH'}  = join $Config{'path_sep'}, 
                     grep { defined } "$FindBin::Bin/../../../bin", 
$ENV{'PATH'};
 
+    }
+
     ### Fix up the path to perl, as we're about to chdir
     ### but only under perlcore, or if the path contains delimiters,
     ### meaning it's relative, but not looked up in your $PATH
@@ -85,16 +88,169 @@ use File::Basename  qw[basename];
     $Locale::Maketext::Lexicon::VERSION = 0;
 }
 
-### clean up files for PERLCORE mostly -- make clean isn't invoked
-### there... otoh, we should clean up after ourselves anyway.
-END {
-    ### chdir to our own test dir, so we know all files are relative 
-    ### to this point, no matter whether run from perlcore tests or
-    ### regular CPAN installs
-    chdir "$FindBin::Bin" if -d "$FindBin::Bin";
+my $Env = 'PERL5_CPANPLUS_TEST_VERBOSE';
+
+# prereq has to be in our package file && core!
+use constant TEST_CONF_PREREQ           => 'Cwd';   
+use constant TEST_CONF_MODULE           => 'Foo::Bar::EU::NOXS';
+use constant TEST_CONF_MODULE_SUB       => 'Foo::Bar::EU::NOXS::Sub';
+use constant TEST_CONF_AUTHOR           => 'EUNOXS';
+use constant TEST_CONF_INST_MODULE      => 'Foo::Bar';
+use constant TEST_CONF_INVALID_MODULE   => 'fnurk';
+use constant TEST_CONF_MIRROR_DIR       => 'dummy-localmirror';
+use constant TEST_CONF_CPAN_DIR         => 'dummy-CPAN';
+use constant TEST_CONF_CPANPLUS_DIR     => 'dummy-cpanplus';
+use constant TEST_CONF_INSTALL_DIR      => File::Spec->rel2abs(
+                                                File::Spec->catdir(      
+                                                    TEST_CONF_CPANPLUS_DIR,
+                                                    'install'
+                                                )
+                                            );       
+
+### we might need this Some Day when we're installing into
+### our own sandbox. see t/20.t for details
+# use constant TEST_INSTALL_DIR       => do {
+#     my $dir = File::Spec->rel2abs( 'dummy-perl' );
+# 
+#     ### clean up paths if we are on win32    
+#     ### dirs with spaces will be.. bad :(
+#     $^O eq 'MSWin32'
+#         ? Win32::GetShortPathName( $dir )
+#         : $dir;
+# };        
+
+# use constant TEST_INSTALL_DIR_LIB 
+#     => File::Spec->catdir( TEST_INSTALL_DIR, 'lib' );
+# use constant TEST_INSTALL_DIR_BIN 
+#     => File::Spec->catdir( TEST_INSTALL_DIR, 'bin' );
+# use constant TEST_INSTALL_DIR_MAN1 
+#     => File::Spec->catdir( TEST_INSTALL_DIR, 'man', 'man1' );
+# use constant TEST_INSTALL_DIR_MAN3
+#     => File::Spec->catdir( TEST_INSTALL_DIR, 'man', 'man3' );
+# use constant TEST_INSTALL_DIR_ARCH
+#     => File::Spec->catdir( TEST_INSTALL_DIR, 'arch' );
+# 
+# use constant TEST_INSTALL_EU_MM_FLAGS =>
+#     ' INSTALLDIRS=site' .
+#     ' INSTALLSITELIB='     . TEST_INSTALL_DIR_LIB .
+#     ' INSTALLSITEARCH='    . TEST_INSTALL_DIR_ARCH .    # .packlist
+#     ' INSTALLARCHLIB='     . TEST_INSTALL_DIR_ARCH .    # perllocal.pod
+#     ' INSTALLSITEBIN='     . TEST_INSTALL_DIR_BIN .
+#     ' INSTALLSCRIPT='      . TEST_INSTALL_DIR_BIN .
+#     ' INSTALLSITEMAN1DIR=' . TEST_INSTALL_DIR_MAN1 .
+#     ' INSTALLSITEMAN3DIR=' . TEST_INSTALL_DIR_MAN3;
+
+
+sub dummy_cpan_dir {
+    ### VMS needs this in directory format for rel2abs
+    my $test_dir = $^O eq 'VMS'
+                    ? File::Spec->catdir(TEST_CONF_CPAN_DIR)
+                    : TEST_CONF_CPAN_DIR;
 
-    ### XXX hardcoded
-    _clean_test_dir( [qw|dummy-perl dummy-cpanplus| ] );
+    ### Convert to an absolute file specification
+    my $abs_test_dir = File::Spec->rel2abs($test_dir);
+    
+    ### According to John M: the hosts path needs to be in UNIX format.  
+    ### File::Spec::Unix->rel2abs does not work at all on VMS
+    $abs_test_dir    = VMS::Filespec::unixify( $abs_test_dir ) if $^O eq 'VMS';
+
+    return $abs_test_dir;
+}
+
+sub gimme_conf { 
+
+    ### don't load any other configs than the heuristic one
+    ### during tests. They might hold broken/incorrect data
+    ### for our test suite. Bug [perl #43629] showed this.
+    my $conf = CPANPLUS::Configure->new( load_configs => 0 );
+
+    my $dummy_cpan = dummy_cpan_dir();
+    
+    $conf->set_conf( hosts  => [ { 
+                        path        => $dummy_cpan,
+                        scheme      => 'file',
+                    } ],      
+    );
+    $conf->set_conf( base       => 
File::Spec->rel2abs(TEST_CONF_CPANPLUS_DIR));
+    $conf->set_conf( dist_type  => '' );
+    $conf->set_conf( signature  => 0 );
+    $conf->set_conf( verbose    => 1 ) if $ENV{ $Env };
+    
+    ### never use a pager in the test suite
+    $conf->set_program( pager   => '' );
+
+    ### dmq tells us that we should run with /nologo
+    ### if using nmake, as it's very noisy otherwise.
+    {   my $make = $conf->get_program('make');
+        if( $make and basename($make) =~ /^nmake/i ) {
+            $conf->set_conf( makeflags => '/nologo' );
+        }
+    }
+
+    $conf->set_conf( source_engine =>  $ENV{CPANPLUS_SOURCE_ENGINE} )
+        if $ENV{CPANPLUS_SOURCE_ENGINE};
+    
+    _clean_test_dir( [
+        $conf->get_conf('base'),     
+        TEST_CONF_MIRROR_DIR,
+#         TEST_INSTALL_DIR_LIB,
+#         TEST_INSTALL_DIR_BIN,
+#         TEST_INSTALL_DIR_MAN1, 
+#         TEST_INSTALL_DIR_MAN3,
+    ], (  $ENV{PERL_CORE} ? 0 : 1 ) );
+        
+    return $conf;
+};
+
+{
+    my $fh;
+    my $file = ".".basename($0).".output";
+    sub output_handle {
+        return $fh if $fh;
+        
+        $fh = FileHandle->new(">$file")
+                    or warn "Could not open output file '$file': $!";
+       
+        $fh->autoflush(1);
+        return $fh;
+    }
+    
+    sub output_file { return $file }
+    
+    
+    
+    ### redirect output from msg() and error() output to file
+    unless( $ENV{$Env} ) {
+    
+        print "# To run tests in verbose mode, set ".
+              "\$ENV{$Env} = 1\n" unless $ENV{PERL_CORE};
+    
+        1 while unlink $file;   # just in case
+    
+        $CPANPLUS::Error::ERROR_FH  =
+        $CPANPLUS::Error::ERROR_FH  = output_handle();
+        
+        $CPANPLUS::Error::MSG_FH    =
+        $CPANPLUS::Error::MSG_FH    = output_handle();
+        
+    }        
+}
+
+
+### clean these files if we're under perl core
+END { 
+    if ( $ENV{PERL_CORE} ) {
+        close output_handle(); 1 while unlink output_file();
+
+        _clean_test_dir( [
+            gimme_conf->get_conf('base'),   
+            TEST_CONF_MIRROR_DIR,
+    #         TEST_INSTALL_DIR_LIB,
+    #         TEST_INSTALL_DIR_BIN,
+    #         TEST_INSTALL_DIR_MAN1, 
+    #         TEST_INSTALL_DIR_MAN3,
+        ], 0 ); # DO NOT be verbose under perl core -- makes tests fail
+    }
 }
 
 ### whenever we start a new script, we want to clean out our
@@ -115,31 +271,30 @@ sub _clean_test_dir {
             
             my $path = File::Spec->catfile( $dir, $file );
             
-            ### John Malmberg reports yet another VMS issue:
-            ### A directory name on VMS in VMS format ends with .dir 
-            ### when it is referenced as a file.
-            ### In UNIX format traditionally PERL on VMS does not remove the
-            ### '.dir', however the VMS C library conversion routines do remove
-            ### the '.dir' and the VMS C library routines can not handle the
-            ### '.dir' being present on UNIX format filenames.
-            ### So code doing the fixup has on VMS has to be able to handle 
both
-            ### UNIX format names and VMS format names. 
-            ### XXX See http://www.xray.mpe.mpg.de/
-            ### mailing-lists/perl5-porters/2007-10/msg00064.html
-            ### for details -- the below regex could use some touchups
-            ### according to John. M.
-
             ### directory, rmtree it
             if( -d $path ) {
 
+                ### John Malmberg reports yet another VMS issue:
+                ### A directory name on VMS in VMS format ends with .dir 
+                ### when it is referenced as a file.
+                ### In UNIX format traditionally PERL on VMS does not remove 
the
+                ### '.dir', however the VMS C library conversion routines do
+                ### remove the '.dir' and the VMS C library routines can not 
+                ### handle the '.dir' being present on UNIX format filenames.
+                ### So code doing the fixup has on VMS has to be able to 
handle 
+                ### both UNIX format names and VMS format names. 
+                
+                ### XXX See http://www.xray.mpe.mpg.de/
+                ### mailing-lists/perl5-porters/2007-10/msg00064.html
+                ### for details -- the below regex could use some touchups
+                ### according to John. M.            
                 $file =~ s/\.dir$//i if $^O eq 'VMS';
-
-                ### Need a path specification here, not a file.
+                
                 my $dirpath = File::Spec->catdir( $dir, $file );
 
                 print "# Deleting directory '$dirpath'\n" if $verbose;
                 eval { rmtree( $dirpath ) };
-                warn "Could not delete '$dirpath' while cleaning up '$dir'"
+                warn "Could not delete '$dirpath' while cleaning up '$dir'" 
                     if $@;
            
             ### regular file
@@ -154,5 +309,4 @@ sub _clean_test_dir {
     
     return 1;
 }
-
 1;
diff --git a/lib/CPANPLUS/Dist/Build/t/src/noxs/Foo-Bar-0.01.tar.gz.packed 
b/lib/CPANPLUS/Dist/Build/t/src/noxs/Foo-Bar-0.01.tar.gz.packed
index 26020e9..073d01c 100644
--- a/lib/CPANPLUS/Dist/Build/t/src/noxs/Foo-Bar-0.01.tar.gz.packed
+++ b/lib/CPANPLUS/Dist/Build/t/src/noxs/Foo-Bar-0.01.tar.gz.packed
@@ -10,7 +10,7 @@ To recreate it use the following command:
 
      uupacktool.pl -p lib/CPANPLUS/Dist/Build/t/src/noxs/Foo-Bar-0.01.tar.gz 
lib/CPANPLUS/Dist/Build/t/src/noxs/Foo-Bar-0.01.tar.gz.packed
 
-Created at Fri Nov  9 13:38:49 2007
+Created at Fri May  8 11:07:40 2009
 #########################################################################
 __UU__
 M'XL("-<X34(``T9O;RU"87(M,"XP,2YT87(`[9E;;]HP%,=Y]J<x+9...@-r
diff --git a/lib/CPANPLUS/Dist/Build/t/src/xs/Foo-Bar-0.01.tar.gz.packed 
b/lib/CPANPLUS/Dist/Build/t/src/xs/Foo-Bar-0.01.tar.gz.packed
index 30ab433..663cc45 100644
--- a/lib/CPANPLUS/Dist/Build/t/src/xs/Foo-Bar-0.01.tar.gz.packed
+++ b/lib/CPANPLUS/Dist/Build/t/src/xs/Foo-Bar-0.01.tar.gz.packed
@@ -10,7 +10,7 @@ To recreate it use the following command:
 
      uupacktool.pl -p lib/CPANPLUS/Dist/Build/t/src/xs/Foo-Bar-0.01.tar.gz 
lib/CPANPLUS/Dist/Build/t/src/xs/Foo-Bar-0.01.tar.gz.packed
 
-Created at Fri Nov  9 13:38:49 2007
+Created at Fri May  8 11:07:40 2009
 #########################################################################
 __UU__
 M'XL("-\X34(``T9O;RU"87(M,"XP,2YT87(`[5K_3QI)%/=7YZ]XU39H(BN[

--
Perl5 Master Repository

Reply via email to