r27220 - in /trunk/libextutils-install-perl: Changes MANIFEST META.yml debian/changelog lib/ExtUtils/Install.pm t/Installapi2.t t/Installed.t t/basic.pl t/basic.t

gregoa at users.alioth.debian.org gregoa at users.alioth.debian.org
Sun Nov 23 14:31:19 UTC 2008


Author: gregoa
Date: Sun Nov 23 14:31:16 2008
New Revision: 27220

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=27220
Log:
New upstream release.

Added:
    trunk/libextutils-install-perl/t/Installed.t
      - copied unchanged from r27219, branches/upstream/libextutils-install-perl/current/t/Installed.t
    trunk/libextutils-install-perl/t/basic.pl
      - copied unchanged from r27219, branches/upstream/libextutils-install-perl/current/t/basic.pl
Modified:
    trunk/libextutils-install-perl/Changes
    trunk/libextutils-install-perl/MANIFEST
    trunk/libextutils-install-perl/META.yml
    trunk/libextutils-install-perl/debian/changelog
    trunk/libextutils-install-perl/lib/ExtUtils/Install.pm
    trunk/libextutils-install-perl/t/Installapi2.t
    trunk/libextutils-install-perl/t/basic.t

Modified: trunk/libextutils-install-perl/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libextutils-install-perl/Changes?rev=27220&op=diff
==============================================================================
--- trunk/libextutils-install-perl/Changes (original)
+++ trunk/libextutils-install-perl/Changes Sun Nov 23 14:31:16 2008
@@ -1,29 +1,103 @@
 Revision history for ExtUtils-Install
 
+1.52
+
+Production rerelease of 1.51 to make the CPAN indexer happy about permissions 
+(hopefully). 
+
+SVN Revision 44.
+
+1.51
+
+Production release of 1.50_05. No other changes.
+
+SVN revision 43.
+
+1.50_05
+
+SVN revision 42.
+
+Fix broken test as reported by Craig Berry.
+
+1.50_04
+
+SVN revision 41.
+
+Restructure tests to make it easier to maintain given it is distributed in various
+ways in three different packages.
+
+1.50_03
+
+SVN revision 40.
+
+Sigh, just after i released 1.50_02 I noticed that a test modified in it will fail
+under VMS. So this is a fixup release for that alone.
+
+1.50_02
+
+SVN revision 39.
+
+Synchronize with the changes that were made in blead perl
+patch #33567. VMS changes by Craig Berry. See
+
+http://public.activestate.com/cgi-bin/perlbrowse/p/33567
+
+This was marked in the pod as 1.51 but not actually version bumped.
+
+So I've marked it as 1.50_02 as a test release prior to putting it out
+as the real 1.51
+
+This release also restores the missing installed.t which was accidentally
+missed by the MANIFEST having a duplicate entry for install.t instead.
+Probably something should have warned about this, but I haven't worked out
+what.
+
+Includes changes from Activestate/ActivePerl:
+
+- To make installation less chatty when not under verbose mode. See
+
+http://rt.cpan.org/Public/Bug/Display.html?id=5903
+
+- To install HTML documentation files under builds that set $Config{installhtmldir}
+(and presumably also create HTML versions of the pod -- which is quite nice actually :-)
+
+http://rt.cpan.org/Ticket/Display.html?id=37727
+
+1.50_01
+
+Version only released as part of bleadperl added in revision #33566.
+Cygwin related changes by Steve Hay, and others, see
+
+http://public.activestate.com/cgi-bin/perlbrowse/p/33566
+
+and discussion at
+
+http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-03/msg00056.html
+
 1.50
 
 Previous patches to _have_write_access() were causing problems
-on Cygwin. So now we skip using POSIX::access under cygwin. 
+on Cygwin. So now we skip using POSIX::access under cygwin.
 Also added some =pod directives to make my favorite editor
 highlight the pod properly.
 
 1.49
 
 Turns out that the new can_write_dir.t doesnt work properly under root
-as root can read the files regardless as to their mode. So we skip those 
+as root can read the files regardless as to their mode. So we skip those
 tests when the effective UID is 0 indicating root.
 
 1.48
 
-We were getting N/A test results from CPAN testers due to the 
+We were getting N/A test results from CPAN testers due to the
 presence of Config in the prequisities list. This has been corrected.
 
 Also it was pointed out that EU_ALWAYS_COPY did not follow the naming
 convention of other ExtUtils::Install environment variables. It has
-been renamed EU_INSTALL_ALWAYS_COPY. Support remains for the original 
+been renamed EU_INSTALL_ALWAYS_COPY. Support remains for the original
 deprecated environment variable but it will be removed in 1.50.
 
-1.47 
+1.47
 
 Fix build process so a new META.YML is produced each time. Also
 add support for a new argument syntax to install() as well as
@@ -37,7 +111,7 @@
 
 1.46 2008-03-01 12:42:35
 
-Apply patches from Michael G. Schwern (rt #33688, rt #31429, rt #31248) 
+Apply patches from Michael G. Schwern (rt #33688, rt #31429, rt #31248)
 and from Slaven Rezic (rt #33290).  Also implemented the suggestion from
 Schwern about not dieing when failing to remove a shadow file that is
 later on in INC than the installed version. (rt #2928)
@@ -65,7 +139,7 @@
 ExtUtils::MakeMaker to fail test. The failure is actually bogus, EUMM
 is testing for output that we stopped producing except under verbose,
 however it is a pain, so this release fixes the problem. It also adds
-a new test file, a stripped down version of ExtUtils::MakeMakers 
+a new test file, a stripped down version of ExtUtils::MakeMakers
 t/basic.t.
 
 1.42 2007-07-20 22:43:04
@@ -84,7 +158,7 @@
 
 1.41_03 2007-02-11 15:13
 
-Add an extra_libs parameter to ExtUtils::Installed->new() which allows 
+Add an extra_libs parameter to ExtUtils::Installed->new() which allows
 one to specify additional libs to search for installed modules.
 
 Additional code cleanup and tweaks.
@@ -95,7 +169,7 @@
 
 1.41_01 2007-02-02 21:03
 
-Integrated changes from 
+Integrated changes from
 
 1. Steffen Mueller: make ExtUtils::Installed respect PERL5LIB and allow
 overriding the current config and inc with something else.
@@ -112,7 +186,7 @@
 
 1.41 2006-07-02 16:09
 
-Integrated ExtUtils::Packlist changes from Nicholas Clark to allow for 
+Integrated ExtUtils::Packlist changes from Nicholas Clark to allow for
 relocatable perls. Bumped version numbers on all files.
 
 1.40 2006-04-30 15:04

Modified: trunk/libextutils-install-perl/MANIFEST
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libextutils-install-perl/MANIFEST?rev=27220&op=diff
==============================================================================
--- trunk/libextutils-install-perl/MANIFEST (original)
+++ trunk/libextutils-install-perl/MANIFEST Sun Nov 23 14:31:16 2008
@@ -10,10 +10,11 @@
 META.yml
 README
 t/basic.t
+t/basic.pl
 t/can_write_dir.t
 t/Install.t
 t/Installapi2.t
-t/Install.t
+t/Installed.t
 t/lib/MakeMaker/Test/Setup/BFD.pm
 t/lib/MakeMaker/Test/Utils.pm
 t/lib/Test/Builder.pm

Modified: trunk/libextutils-install-perl/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libextutils-install-perl/META.yml?rev=27220&op=diff
==============================================================================
--- trunk/libextutils-install-perl/META.yml (original)
+++ trunk/libextutils-install-perl/META.yml Sun Nov 23 14:31:16 2008
@@ -1,6 +1,6 @@
 --- #YAML:1.0
 name:                ExtUtils-Install
-version:             1.50
+version:             1.52
 abstract:            install files from here to there
 license:             ~
 generated_by:        ExtUtils::MakeMaker version 6.36

Modified: trunk/libextutils-install-perl/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libextutils-install-perl/debian/changelog?rev=27220&op=diff
==============================================================================
--- trunk/libextutils-install-perl/debian/changelog (original)
+++ trunk/libextutils-install-perl/debian/changelog Sun Nov 23 14:31:16 2008
@@ -1,7 +1,8 @@
-libextutils-install-perl (1.50-2) UNRELEASED; urgency=low
+libextutils-install-perl (1.52-1) UNRELEASED; urgency=low
 
   * debian/control: Changed: Switched Vcs-Browser field to ViewSVN
     (source stanza).
+  * New upstream release.
 
  -- gregor herrmann <gregoa at debian.org>  Sun, 16 Nov 2008 20:42:35 +0100
 

Modified: trunk/libextutils-install-perl/lib/ExtUtils/Install.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libextutils-install-perl/lib/ExtUtils/Install.pm?rev=27220&op=diff
==============================================================================
--- trunk/libextutils-install-perl/lib/ExtUtils/Install.pm (original)
+++ trunk/libextutils-install-perl/lib/ExtUtils/Install.pm Sun Nov 23 14:31:16 2008
@@ -38,11 +38,11 @@
     
 =head1 VERSION
 
-1.50
-
-=cut
-
-$VERSION = '1.50';
+1.52
+
+=cut
+
+$VERSION = '1.52';
 $VERSION = eval $VERSION;
 
 =pod
@@ -248,8 +248,9 @@
     my ( $file, $tryhard, $installing )= @_;
 
     _chmod( 0666, $file );
-    unlink $file
-        and return $file;
+    my $unlink_count = 0;
+    while (unlink $file) { $unlink_count++; }
+    return $file if $unlink_count > 0;
     my $error="$!";
 
     _choke("Cannot unlink '$file': $!")
@@ -358,7 +359,8 @@
     sub _have_write_access {
         my $dir=shift;
         unless (defined $has_posix) {
-            $has_posix= (!$Is_cygwin && eval 'local $^W; require POSIX; 1') || 0; 
+            $has_posix= (!$Is_cygwin && !$Is_Win32
+			 && eval 'local $^W; require POSIX; 1') || 0;
         }
         if ($has_posix) {
             return POSIX::access($dir, POSIX::W_OK());
@@ -403,9 +405,14 @@
     my $path='';
     my @make;
     while (@dirs) {
-        $dir = File::Spec->catdir(@dirs);
-        $dir = File::Spec->catpath($vol,$dir,'') 
-                if defined $vol and length $vol;
+        if ($Is_VMS) {
+            $dir = File::Spec->catdir($vol, at dirs);
+        }
+        else {
+            $dir = File::Spec->catdir(@dirs);
+            $dir = File::Spec->catpath($vol,$dir,'')
+                    if defined $vol and length $vol;
+        }
         next if ( $dir eq $path );
         if ( ! -e $dir ) {
             unshift @make,$dir;
@@ -809,7 +816,7 @@
     if ($pack{'write'}) {
         $dir = install_rooted_dir(dirname($pack{'write'}));
         _mkpath( $dir, 0, 0755, $verbose, $dry_run );
-        print "Writing $pack{'write'}\n";
+        print "Writing $pack{'write'}\n" if $verbose;
         $packlist->write(install_rooted_file($pack{'write'})) unless $dry_run;
     }
 
@@ -950,6 +957,13 @@
   my $INST_SCRIPT = File::Spec->catdir($Curdir,'blib','script');
   my $INST_MAN1DIR = File::Spec->catdir($Curdir,'blib','man1');
   my $INST_MAN3DIR = File::Spec->catdir($Curdir,'blib','man3');
+
+  my @INST_HTML;
+  if($Config{installhtmldir}) {
+      my $INST_HTMLDIR = File::Spec->catdir($Curdir,'blib','html');
+      @INST_HTML = ($INST_HTMLDIR => $Config{installhtmldir});
+  }
+
   install({
            read => "$Config{sitearchexp}/auto/$FULLEXT/.packlist",
            write => "$Config{installsitearch}/auto/$FULLEXT/.packlist",
@@ -961,6 +975,7 @@
            $INST_SCRIPT => $Config{installscript},
            $INST_MAN1DIR => $Config{installman1dir},
            $INST_MAN3DIR => $Config{installman3dir},
+	   @INST_HTML,
           },1,0,0);
 }
 
@@ -1039,7 +1054,7 @@
     #warn join "\n","---", at dirs,"---";
     my $seen_ours;
     foreach $dir ( @dirs ) {
-        my $canonpath = File::Spec->canonpath($dir);
+        my $canonpath = $Is_VMS ? $dir : File::Spec->canonpath($dir);
         next if $canonpath eq $Curdir;
         next if $seen_dir{$canonpath}++;
         my $targetfile = File::Spec->catfile($canonpath,$libdir,$file);
@@ -1077,7 +1092,7 @@
             eval {
                 die "Fake die for testing" 
                     if $ExtUtils::Install::Testing and
-                       File::Spec->canonpath($ExtUtils::Install::Testing) eq $targetfile;
+                       ucase(File::Spec->canonpath($ExtUtils::Install::Testing)) eq ucase($targetfile);
                 forceunlink($targetfile,'tryhard');
                 $results->{uninstall}{$targetfile} = $filepath;
                 1;
@@ -1224,7 +1239,8 @@
         }
         $plural = $i>1 ? "all those files" : "this file";
         my $inst = (_invokant() eq 'ExtUtils::MakeMaker')
-                 ? ( $Config::Config{make} || 'make' ).' install UNINST=1'
+                 ? ( $Config::Config{make} || 'make' ).' install'
+                     . ( $Is_VMS ? '/MACRO="UNINST"=1' : ' UNINST=1' )
                  : './Build install uninst=1';
         print "## Running '$inst' will unlink $plural for you.\n";
     }

Modified: trunk/libextutils-install-perl/t/Installapi2.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libextutils-install-perl/t/Installapi2.t?rev=27220&op=diff
==============================================================================
--- trunk/libextutils-install-perl/t/Installapi2.t (original)
+++ trunk/libextutils-install-perl/t/Installapi2.t Sun Nov 23 14:31:16 2008
@@ -208,7 +208,10 @@
   ok( -d 'install-test/other_lib/perl',        'install made other dir' );
   ok( -r 'install-test/other_lib/perl/Big/Dummy.pm', '  .pm file installed' );
   ok( -r 'install-test/packlist',              '  packlist exists' );
-  ok( (stat $tfile)[9]==(stat$sfile)[9],'  Times are same');
+SKIP: {
+  skip "Times not preserved during copy by default", 1 if $^O eq 'VMS';
+  ok( (stat $tfile)[9]==(stat $sfile)[9],'  Times are same');
+}
   ok( !$result{install_unchanged},'  $result{install_unchanged} should be empty');
 }
 # Test nothing is copied.
@@ -232,4 +235,4 @@
   ok( (stat $tfile)[9]!=(stat$sfile)[9],'  Times are different');
   ok( !$result{install},'  nothing should have been installed');
   ok( $result{install_unchanged},'  install_unchanged should be populated');
-}
+}

Modified: trunk/libextutils-install-perl/t/basic.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libextutils-install-perl/t/basic.t?rev=27220&op=diff
==============================================================================
--- trunk/libextutils-install-perl/t/basic.t (original)
+++ trunk/libextutils-install-perl/t/basic.t Sun Nov 23 14:31:16 2008
@@ -2,10 +2,6 @@
 
 # This test puts MakeMaker through the paces of a basic perl module
 # build, test and installation of the Big::Fat::Dummy module.
-
-# **** NOTE - This is a stripped down version of EU::MM's t/basic.t ****
-# **** Do NOT copy this file into the Perl source tree! ****
-
 
 BEGIN {
     if( $ENV{PERL_CORE} ) {
@@ -17,193 +13,21 @@
     }
 }
 
-use strict;
-use Config;
+# The test logic is shared between MakeMaker and Install
+# because in MakeMaker we test aspects that we are uninterested
+# in with Install.pm, however MakeMaker needs to know if it 
+# accidentally breaks Install. So we have this two stage test file
+# thing happening.
 
-use Test::More tests => 55;
-use MakeMaker::Test::Utils;
-use MakeMaker::Test::Setup::BFD;
-use File::Find;
-use File::Spec;
-use File::Path;
+# This version is distinct to Install alone.
 
-# 'make disttest' sets a bunch of environment variables which interfere
-# with our testing.
-delete @ENV{qw(PREFIX LIB MAKEFLAGS)};
+use vars qw/$TESTS $TEST_INSTALL_ONLY/;
 
-my $perl = which_perl();
-my $Is_VMS = $^O eq 'VMS';
+$::TESTS= 55;
+$::TEST_INSTALL_ONLY= 1;
 
-# GNV logical interferes with testing
-$ENV{'bin'} = '[.bin]' if $Is_VMS;
+(my $file=$0)=~s/\.t$/.pl/;
+do $file;
 
-chdir 't';
-
-perl_lib;
-
-my $Touch_Time = calibrate_mtime();
-
-$| = 1;
-
-ok( setup_recurs(), 'setup' );
-END {
-    ok( chdir File::Spec->updir );
-    ok( teardown_recurs(), 'teardown' );
-}
-
-ok( chdir('Big-Dummy'), "chdir'd to Big-Dummy" ) ||
-  diag("chdir failed: $!");
-
-my @mpl_out = run(qq{$perl Makefile.PL "PREFIX=../dummy-install"});
-END { rmtree '../dummy-install'; }
-
-cmp_ok( $?, '==', 0, 'Makefile.PL exited with zero' ) ||
-  diag(@mpl_out);
-
-my $makefile = makefile_name();
-ok( grep(/^Writing $makefile for Big::Dummy/, 
-         @mpl_out) == 1,
-                                           'Makefile.PL output looks right');
-
-ok( grep(/^Current package is: main$/,
-         @mpl_out) == 1,
-                                           'Makefile.PL run in package main');
-
-ok( -e $makefile,       'Makefile exists' );
-
-# -M is flakey on VMS
-my $mtime = (stat($makefile))[9];
-cmp_ok( $Touch_Time, '<=', $mtime,  '  its been touched' );
-
-END { unlink makefile_name(), makefile_backup() }
-
-my $make = make_run();
-
-{
-    # Supress 'make manifest' noise
-    local $ENV{PERL_MM_MANIFEST_VERBOSE} = 0;
-    my $manifest_out = run("$make manifest");
-    ok( -e 'MANIFEST',      'make manifest created a MANIFEST' );
-    ok( -s 'MANIFEST',      '  its not empty' );
-}
-
-END { unlink 'MANIFEST'; }
-
-my $test_out = run("$make test");
-like( $test_out, qr/All tests successful/, 'make test' );
-is( $?, 0,                                 '  exited normally' ) || 
-    diag $test_out;
-
-# Test 'make test TEST_VERBOSE=1'
-my $make_test_verbose = make_macro($make, 'test', TEST_VERBOSE => 1);
-$test_out = run("$make_test_verbose");
-like( $test_out, qr/ok \d+ - TEST_VERBOSE/, 'TEST_VERBOSE' );
-like( $test_out, qr/All tests successful/,  '  successful' );
-is( $?, 0,                                  '  exited normally' ) ||
-    diag $test_out;
-
-
-my $install_out = run("$make install");
-is( $?, 0, 'install' ) || diag $install_out;
-like( $install_out, qr/^Installing /m );
-like( $install_out, qr/^Writing /m );
-
-ok( -r '../dummy-install',     '  install dir created' );
-my %files = ();
-find( sub { 
-    # do it case-insensitive for non-case preserving OSs
-    my $file = lc $_;
-
-    # VMS likes to put dots on the end of things that don't have them.
-    $file =~ s/\.$// if $Is_VMS;
-
-    $files{$file} = $File::Find::name; 
-}, '../dummy-install' );
-ok( $files{'dummy.pm'},     '  Dummy.pm installed' );
-ok( $files{'liar.pm'},      '  Liar.pm installed'  );
-ok( $files{'program'},      '  program installed'  );
-ok( $files{'.packlist'},    '  packlist created'   );
-ok( $files{'perllocal.pod'},'  perllocal.pod created' );
-
-
-SKIP: {
-    skip 'VMS install targets do not preserve $(PREFIX)', 9 if $Is_VMS;
-
-    $install_out = run("$make install PREFIX=elsewhere");
-    is( $?, 0, 'install with PREFIX override' ) || diag $install_out;
-    like( $install_out, qr/^Installing /m );
-    like( $install_out, qr/^Writing /m );
-
-    ok( -r 'elsewhere',     '  install dir created' );
-    %files = ();
-    find( sub { $files{$_} = $File::Find::name; }, 'elsewhere' );
-    ok( $files{'Dummy.pm'},     '  Dummy.pm installed' );
-    ok( $files{'Liar.pm'},      '  Liar.pm installed'  );
-    ok( $files{'program'},      '  program installed'  );
-    ok( $files{'.packlist'},    '  packlist created'   );
-    ok( $files{'perllocal.pod'},'  perllocal.pod created' );
-    rmtree('elsewhere');
-}
-
-
-SKIP: {
-    skip 'VMS install targets do not preserve $(DESTDIR)', 11 if $Is_VMS;
-
-    $install_out = run("$make install PREFIX= DESTDIR=other");
-    is( $?, 0, 'install with DESTDIR' ) || 
-        diag $install_out;
-    like( $install_out, qr/^Installing /m );
-    like( $install_out, qr/^Writing /m );
-
-    ok( -d 'other',  '  destdir created' );
-    %files = ();
-    my $perllocal;
-    find( sub { 
-        $files{$_} = $File::Find::name;
-    }, 'other' );
-    ok( $files{'Dummy.pm'},     '  Dummy.pm installed' );
-    ok( $files{'Liar.pm'},      '  Liar.pm installed'  );
-    ok( $files{'program'},      '  program installed'  );
-    ok( $files{'.packlist'},    '  packlist created'   );
-    ok( $files{'perllocal.pod'},'  perllocal.pod created' );
-
-    ok( open(PERLLOCAL, $files{'perllocal.pod'} ) ) || 
-        diag("Can't open $files{'perllocal.pod'}: $!");
-    { local $/;
-      unlike(<PERLLOCAL>, qr/other/, 'DESTDIR should not appear in perllocal');
-    }
-    close PERLLOCAL;
-
-# TODO not available in the min version of Test::Harness we require
-#    ok( open(PACKLIST, $files{'.packlist'} ) ) || 
-#        diag("Can't open $files{'.packlist'}: $!");
-#    { local $/;
-#      local $TODO = 'DESTDIR still in .packlist';
-#      unlike(<PACKLIST>, qr/other/, 'DESTDIR should not appear in .packlist');
-#    }
-#    close PACKLIST;
-
-    rmtree('other');
-}
-
-
-SKIP: {
-    skip 'VMS install targets do not preserve $(PREFIX)', 10 if $Is_VMS;
-
-    $install_out = run("$make install PREFIX=elsewhere DESTDIR=other/");
-    is( $?, 0, 'install with PREFIX override and DESTDIR' ) || 
-        diag $install_out;
-    like( $install_out, qr/^Installing /m );
-    like( $install_out, qr/^Writing /m );
-
-    ok( !-d 'elsewhere',       '  install dir not created' );
-    ok( -d 'other/elsewhere',  '  destdir created' );
-    %files = ();
-    find( sub { $files{$_} = $File::Find::name; }, 'other/elsewhere' );
-    ok( $files{'Dummy.pm'},     '  Dummy.pm installed' );
-    ok( $files{'Liar.pm'},      '  Liar.pm installed'  );
-    ok( $files{'program'},      '  program installed'  );
-    ok( $files{'.packlist'},    '  packlist created'   );
-    ok( $files{'perllocal.pod'},'  perllocal.pod created' );
-    rmtree('other');
-}
+#$file=~s/\.pl$/_finish.pl/;
+#do $file;




More information about the Pkg-perl-cvs-commits mailing list