r2244 - in packages/libmodule-install-perl/branches/upstream/current: . inc/Module inc/Module/Install lib/Module lib/Module/Install lib/Module/Install/Admin lib/Module/Install/Makefile

Krzysztof Krzyzaniak eloy at costa.debian.org
Mon Feb 27 08:50:31 UTC 2006


Author: eloy
Date: 2006-02-27 08:49:51 +0000 (Mon, 27 Feb 2006)
New Revision: 2244

Added:
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Deprecated.pm
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Philosophy.pod
Removed:
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install-Philosophy.pod
Modified:
   packages/libmodule-install-perl/branches/upstream/current/Changes
   packages/libmodule-install-perl/branches/upstream/current/MANIFEST
   packages/libmodule-install-perl/branches/upstream/current/META.yml
   packages/libmodule-install-perl/branches/upstream/current/Makefile.PL
   packages/libmodule-install-perl/branches/upstream/current/inc/Module/AutoInstall.pm
   packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install.pm
   packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/AutoInstall.pm
   packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/Base.pm
   packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/Can.pm
   packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/Fetch.pm
   packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/Include.pm
   packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/Makefile.pm
   packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/Metadata.pm
   packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/Win32.pm
   packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/WriteAll.pm
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/AutoInstall.pm
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install.pm
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install.pod
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin.pm
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/Bundle.pm
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/Find.pm
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/Include.pm
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/Makefile.pm
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/Manifest.pm
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/Metadata.pm
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/ScanDeps.pm
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/WriteAll.pm
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/AutoInstall.pm
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Base.pm
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Build.pm
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Bundle.pm
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Can.pm
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Compiler.pm
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/External.pm
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Fetch.pm
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Include.pm
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Inline.pm
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/MakeMaker.pm
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Makefile.pm
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Makefile/Name.pm
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Makefile/Version.pm
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Metadata.pm
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/PAR.pm
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Run.pm
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Scripts.pm
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Share.pm
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Win32.pm
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/WriteAll.pm
Log:
Load /tmp/tmp.oRpSPW/libmodule-install-perl-0.57 into
packages/libmodule-install-perl/branches/upstream/current.


Modified: packages/libmodule-install-perl/branches/upstream/current/Changes
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/Changes	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/Changes	2006-02-27 08:49:51 UTC (rev 2244)
@@ -1,5 +1,60 @@
-[Changes for 0.56 - ]
+[Changes for 0.57 - 2006-02-23]
 
+* Fixed a bug where a misnamed hash key was making the extensions
+  fruitlessly reload (or at least try to reload) every command call.
+
+* Fixed a pod bug for the requires_external_bin head2
+
+* Because external deps will need versioning eventually, we can
+  never provide a hash to requires_external, and so it's really
+  just supurfluous and invites more bugs. Removed.
+
+* Experimentally added support for the META.yaml dynamic_config flag.
+  We don't set ANY default value, because of a lack of clarity. It is 
+  undocumented in the META.yaml spec, but false in Module::Build, which
+  is really really bad, as it leads to falsely assuming dynamic
+  Makefile.PLs are static when no dynamic_config is provided.
+  
+  Personally, I think it should be static_config anyway, and we may well
+  change it to be that anyway.
+
+* Added support for requires_external_cc (requires a C compiler) that will
+  integrate with whatever central method we use later to signal to
+  whatever is calling Makefile.PL that there is a missing external
+  dependency. This will also be called by other methods if there is an
+  implicit dependency.
+
+* Synchronised all the module versions to all be 0.57.
+  This will be used a few versions down the line to add integrity testing
+  of Module::Install's own extension loading process.
+
+* Added a $VERSION and C<use strict> to the extensions that didn't have
+  one or both of the two already.
+
+* Fixed a number of minor bugs discovered after turning on C<use strict>.
+
+* Very carefully beginning to clean up some of the code so it's much more
+  boring (i.e. maintainable).
+
+* Changed recursion to always preference the installer we are currently
+  running under. So use CPAN.pm in CPAN.pm, and CPANPLUS in CPANPLUS.
+  This simplifies anti-dupe recursion algorithms, and dramatically
+  reduces memory use under CPAN.pm.
+
+* Documented the install_script command
+
+* Caught _install_cpanplus happily passing completely illegal CPAN.pm
+  config params to CPANPLUS, and worse, eval-wrapping the set_conf so
+  it could happily ignore errors.
+  Added _cpanplus_config to try and auto-convert CPAN config params to
+  CPANPLUS, and die if we can't. Add more translators as needed.
+
+* Moved the deprecated commands into their own module
+  Module::Install::Deprecated to stop them being included and reduce
+  package bloat.
+
+[Changes for 0.56 - 2006-02-12]
+
 * Added experimental support for requires_external_bin to forcefully
   require the installation of a script or command.
 

Modified: packages/libmodule-install-perl/branches/upstream/current/MANIFEST
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/MANIFEST	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/MANIFEST	2006-02-27 08:49:51 UTC (rev 2244)
@@ -12,7 +12,6 @@
 inc/Module/Install/WriteAll.pm
 lib/inc/Module/Install.pm
 lib/Module/AutoInstall.pm
-lib/Module/Install-Philosophy.pod
 lib/Module/Install.pm
 lib/Module/Install.pod
 lib/Module/Install/Admin.pm
@@ -30,6 +29,7 @@
 lib/Module/Install/Bundle.pm
 lib/Module/Install/Can.pm
 lib/Module/Install/Compiler.pm
+lib/Module/Install/Deprecated.pm
 lib/Module/Install/External.pm
 lib/Module/Install/Fetch.pm
 lib/Module/Install/Include.pm
@@ -40,6 +40,7 @@
 lib/Module/Install/MakeMaker.pm
 lib/Module/Install/Metadata.pm
 lib/Module/Install/PAR.pm
+lib/Module/Install/Philosophy.pod
 lib/Module/Install/Run.pm
 lib/Module/Install/Scripts.pm
 lib/Module/Install/Share.pm

Modified: packages/libmodule-install-perl/branches/upstream/current/META.yml
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/META.yml	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/META.yml	2006-02-27 08:49:51 UTC (rev 2244)
@@ -4,106 +4,116 @@
     - example
     - inc
     - t
-generated_by: Module::Install version 0.56
+generated_by: Module::Install version 0.57
 distribution_type: module
-version: 0.56
+version: 0.57
 name: Module-Install
 author: Audrey Tang <autrijus at autrijus.org>
 license: perl
 provides: 
   Module::Install::Fetch: 
-    version: 0.01
+    version: 0.57
     file: lib/Module/Install/Fetch.pm
+  Module::Install::Deprecated: 
+    version: 0.57
+    file: lib/Module/Install/Deprecated.pm
   Module::Install::Bundle: 
-    version: 0.04
+    version: 0.57
     file: lib/Module/Install/Bundle.pm
   Module::Install::Admin::Bundle: 
-    version: 0.04
+    version: 0.57
     file: lib/Module/Install/Admin/Bundle.pm
   Module::Install::MakeMaker: 
-    version: 0.01
+    version: 0.57
     file: lib/Module/Install/MakeMaker.pm
   Module::Install::Inline: 
-    version: 0.01
+    version: 0.57
     file: lib/Module/Install/Inline.pm
   Module::Install::External: 
-    version: 0.01
+    version: 0.57
     file: lib/Module/Install/External.pm
   Module::Install::PAR: 
+    version: 0.57
     file: lib/Module/Install/PAR.pm
   Module::Install::Include: 
+    version: 0.57
     file: lib/Module/Install/Include.pm
   Module::Install::Build: 
-    version: 0.01
+    version: 0.57
     file: lib/Module/Install/Build.pm
   Module::Install::Admin::ScanDeps: 
+    version: 0.57
     file: lib/Module/Install/Admin/ScanDeps.pm
   Module::Install::Admin::Manifest: 
-    version: 0.01
+    version: 0.57
     file: lib/Module/Install/Admin/Manifest.pm
   Module::Install::Admin: 
-    version: 0.56
+    version: 0.57
     file: lib/Module/Install/Admin.pm
   Module::Install::Base::FakeAdmin: 
+    version: 0.57
     file: lib/Module/Install/Base.pm
   Module::Install::Metadata: 
-    version: 0.06
+    version: 0.57
     file: lib/Module/Install/Metadata.pm
   Module::Install::Makefile: 
-    version: 0.01
+    version: 0.57
     file: lib/Module/Install/Makefile.pm
+  inc::Module::Install: 
+    file: lib/inc/Module/Install.pm
   Module::Install::Admin::WriteAll: 
-    version: 0.01
+    version: 0.57
     file: lib/Module/Install/Admin/WriteAll.pm
-  inc::Module::Install: 
-    file: lib/inc/Module/Install.pm
   Module::Install::Base: 
+    version: 0.57
     file: lib/Module/Install/Base.pm
   Module::Install::Admin::Find: 
-    version: 0.01
+    version: 0.57
     file: lib/Module/Install/Admin/Find.pm
   Module::Install::Makefile::Version: 
-    version: 0.01
+    version: 0.57
     file: lib/Module/Install/Makefile/Version.pm
   Module::Install: 
-    version: 0.56
+    version: 0.57
     file: lib/Module/Install.pm
   Module::Install::Win32: 
-    version: 0.02
+    version: 0.57
     file: lib/Module/Install/Win32.pm
   Module::Install::Admin::Makefile: 
-    version: 0.01
+    version: 0.57
     file: lib/Module/Install/Admin/Makefile.pm
   Module::Install::Admin::Metadata: 
-    version: 0.04
+    version: 0.57
     file: lib/Module/Install/Admin/Metadata.pm
   Module::Install::Makefile::Name: 
-    version: 0.01
+    version: 0.57
     file: lib/Module/Install/Makefile/Name.pm
   Module::AutoInstall: 
     version: 1.01
     file: lib/Module/AutoInstall.pm
   Module::Install::Can: 
-    version: 0.01
+    version: 0.57
     file: lib/Module/Install/Can.pm
   Module::Install::AutoInstall: 
+    version: 0.57
     file: lib/Module/Install/AutoInstall.pm
   Module::Install::Run: 
-    version: 0.01
+    version: 0.57
     file: lib/Module/Install/Run.pm
   Module::Install::Admin::Include: 
-    version: 0.02
+    version: 0.57
     file: lib/Module/Install/Admin/Include.pm
   Module::Install::Scripts: 
-    version: 0.02
+    version: 0.57
     file: lib/Module/Install/Scripts.pm
   Module::Install::WriteAll: 
+    version: 0.57
     file: lib/Module/Install/WriteAll.pm
   Module::Install::Compiler: 
-    version: 0.01
+    version: 0.57
     file: lib/Module/Install/Compiler.pm
   Module::Install::Share: 
-    version: 0.02
+    version: 0.57
     file: lib/Module/Install/Share.pm
 requires: 
   perl: 5.004

Modified: packages/libmodule-install-perl/branches/upstream/current/Makefile.PL
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/Makefile.PL	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/Makefile.PL	2006-02-27 08:49:51 UTC (rev 2244)
@@ -4,6 +4,7 @@
 use lib 'lib'; # NOTE: Module::Install's Makefile.PL needs this statement
                # to bootstrap itself.  Other module distributions using
                # Module::Install do not need it.
+
 use inc::Module::Install;
 
 name        'Module-Install';

Modified: packages/libmodule-install-perl/branches/upstream/current/inc/Module/AutoInstall.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/inc/Module/AutoInstall.pm	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/inc/Module/AutoInstall.pm	2006-02-27 08:49:51 UTC (rev 2244)
@@ -6,7 +6,7 @@
 use Cwd                 ();
 use ExtUtils::MakeMaker ();
 
-#line 216
+#line 218
 
 # special map on pre-defined feature sets
 my %FeatureMap = (
@@ -88,7 +88,7 @@
 # the workhorse
 sub import {
     my $class = shift;
-    my @args = @_ or return;
+    my @args  = @_ or return;
     my $core_all;
 
     print "*** $class version " . $class->VERSION . "\n";
@@ -234,22 +234,25 @@
 # CPAN.pm is non-reentrant, so check if we're under it and have no CPANPLUS
 sub _check_lock {
     return unless @Missing;
-    return if _has_cpanplus();
+    _load_cpan();
 
-    require CPAN;
-    CPAN::Config->load;
+    # Find the CPAN lock-file
     my $lock = MM->catfile( $CPAN::Config->{cpan_home}, ".lock" );
+    return unless -f $lock;
 
-    if (    -f $lock
-        and open( LOCK, $lock )
-        and ( $^O eq 'MSWin32' ? _under_cpan() : <LOCK> == getppid() )
-        and ( $CPAN::Config->{prerequisites_policy} || '' ) ne 'ignore' )
-    {
-        print << '.';
+    # Check the lock
+    local *LOCK;
+    return unless open(LOCK, $lock);
 
+    if (
+            ( $^O eq 'MSWin32' ? _under_cpan() : <LOCK> == getppid() )
+        and ( $CPAN::Config->{prerequisites_policy} || '' ) ne 'ignore'
+    ) {
+        print <<'END_MESSAGE';
+
 *** Since we're running under CPAN, I'll just let it take care
     of the dependency's installation later.
-.
+END_MESSAGE
         $UnderCPAN = 1;
     }
 
@@ -294,10 +297,9 @@
         @modules = @newmod;
     }
 
-    if ( _has_cpanplus() ) {
+    if ( ! $UnderCPAN and _has_cpanplus() ) {
         _install_cpanplus( \@modules, \@config );
-    }
-    else {
+    } else {
         _install_cpan( \@modules, \@config );
     }
 
@@ -320,7 +322,7 @@
 
 sub _install_cpanplus {
     my @modules   = @{ +shift };
-    my @config    = @{ +shift };
+    my @config    = _cpanplus_config( @{ +shift } );
     my $installed = 0;
 
     require CPANPLUS::Backend;
@@ -333,21 +335,22 @@
     # if we're root, set UNINST=1 to avoid trouble unless user asked for it.
     my $makeflags = $conf->get_conf('makeflags') || '';
     if ( UNIVERSAL::isa( $makeflags, 'HASH' ) ) {
-
         # 0.03+ uses a hashref here
         $makeflags->{UNINST} = 1 unless exists $makeflags->{UNINST};
-    }
-    else {
 
+    } else {
         # 0.02 and below uses a scalar
         $makeflags = join( ' ', split( ' ', $makeflags ), 'UNINST=1' )
           if ( $makeflags !~ /\bUNINST\b/ and eval qq{ $> eq '0' } );
+
     }
     $conf->set_conf( makeflags => $makeflags );
     $conf->set_conf( prereqs   => 1 );
 
+    
+
     while ( my ( $key, $val ) = splice( @config, 0, 2 ) ) {
-        eval { $conf->set_conf( $key, $val ) };
+        $conf->set_conf( $key, $val );
     }
 
     my $modtree = $cp->module_tree;
@@ -372,15 +375,13 @@
             if ( $rv and ( $rv->{ $obj->{module} } or $rv->{ok} ) ) {
                 print "*** $pkg successfully installed.\n";
                 $success = 1;
-            }
-            else {
+            } else {
                 print "*** $pkg installation cancelled.\n";
                 $success = 0;
             }
 
             $installed += $success;
-        }
-        else {
+        } else {
             print << ".";
 *** Could not find a version $ver or above for $pkg; skipping.
 .
@@ -392,14 +393,34 @@
     return $installed;
 }
 
+sub _cpanplus_config {
+	my @config = ();
+	while ( @_ ) {
+		my ($key, $value) = (shift(), shift());
+		if ( $key eq 'prerequisites_policy' ) {
+			if ( $value eq 'follow' ) {
+				$value = CPANPLUS::Internals::Constants::PREREQ_INSTALL();
+			} elsif ( $value eq 'ask' ) {
+				$value = CPANPLUS::Internals::Constants::PREREQ_ASK();
+			} elsif ( $value eq 'ignore' ) {
+				$value = CPANPLUS::Internals::Constants::PREREQ_IGNORE();
+			} else {
+				die "*** Cannot convert option $key = '$value' to CPANPLUS version.\n";
+			}
+		} else {
+			die "*** Cannot convert option $key to CPANPLUS version.\n";
+		}
+	}
+	return @config;
+}
+
 sub _install_cpan {
     my @modules   = @{ +shift };
     my @config    = @{ +shift };
     my $installed = 0;
     my %args;
 
-    require CPAN;
-    CPAN::Config->load;
+    _load_cpan();
     require Config;
 
     if (CPAN->VERSION < 1.80) {
@@ -593,6 +614,19 @@
     return eval { require $file; $mod->VERSION } || ( $@ ? undef: 0 );
 }
 
+# Load CPAN.pm and it's configuration
+sub _load_cpan {
+    return if $CPAN::VERSION;
+    require CPAN;
+    if ( $CPAN::HandleConfig::VERSION ) {
+        # Newer versions of CPAN have a HandleConfig module
+        CPAN::HandleConfig->load;
+    } else {
+    	# Older versions had the load method in Config directly
+        CPAN::Config->load;
+    }
+}
+
 # compare two versions, either use Sort::Versions or plain comparison
 sub _version_check {
     my ( $cur, $min ) = @_;
@@ -713,4 +747,4 @@
 
 __END__
 
-#line 943
+#line 979

Modified: packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/AutoInstall.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/AutoInstall.pm	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/AutoInstall.pm	2006-02-27 08:49:51 UTC (rev 2244)
@@ -4,6 +4,10 @@
 use Module::Install::Base;
 @ISA = qw{Module::Install::Base};
 
+$VERSION = '0.57';
+
+use strict;
+
 sub AutoInstall { $_[0] }
 
 sub run {

Modified: packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/Base.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/Base.pm	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/Base.pm	2006-02-27 08:49:51 UTC (rev 2244)
@@ -1,41 +1,45 @@
 #line 1 "inc/Module/Install/Base.pm - lib/Module/Install/Base.pm"
 package Module::Install::Base;
 
+$VERSION = '0.57';
+
 # Suspend handler for "redefined" warnings
 BEGIN {
 	my $w = $SIG{__WARN__};
 	$SIG{__WARN__} = sub { $w };
 }
 
-#line 36
+### This is the ONLY module that shouldn't have strict on
+# use strict;
 
+#line 41
+
 sub new {
     my ($class, %args) = @_;
 
-    foreach my $method (qw(call load)) {
+    foreach my $method ( qw(call load) ) {
         *{"$class\::$method"} = sub {
-            +shift->_top->$method(@_);
+            shift()->_top->$method(@_);
         } unless defined &{"$class\::$method"};
     }
 
-    bless(\%args, $class);
+    bless( \%args, $class );
 }
 
-#line 56
+#line 61
 
 sub AUTOLOAD {
     my $self = shift;
-
     local $@;
     my $autoload = eval { $self->_top->autoload } or return;
     goto &$autoload;
 }
 
-#line 72
+#line 76
 
 sub _top { $_[0]->{_top} }
 
-#line 85
+#line 89
 
 sub admin {
     $_[0]->_top->{admin} or Module::Install::Base::FakeAdmin->new;
@@ -63,4 +67,4 @@
 
 1;
 
-#line 134
+#line 138

Modified: packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/Can.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/Can.pm	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/Can.pm	2006-02-27 08:49:51 UTC (rev 2244)
@@ -4,13 +4,16 @@
 use Module::Install::Base;
 @ISA = qw(Module::Install::Base);
 
-$VERSION = '0.01';
+$VERSION = '0.57';
 
 use strict;
 use Config ();
-use File::Spec ();
 use ExtUtils::MakeMaker ();
 
+# This may introduce a 5.005 dependency, or at the very least it may
+# not bootstrap properly under 5.004.
+use File::Spec ();
+ 
 # check if we can load some module
 sub can_use {
     my ($self, $mod, $ver) = @_;

Modified: packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/Fetch.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/Fetch.pm	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/Fetch.pm	2006-02-27 08:49:51 UTC (rev 2244)
@@ -4,7 +4,7 @@
 use Module::Install::Base;
 @ISA = qw(Module::Install::Base);
 
-$VERSION = '0.01';
+$VERSION = '0.57';
 
 sub get_file {
     my ($self, %args) = @_;

Modified: packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/Include.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/Include.pm	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/Include.pm	2006-02-27 08:49:51 UTC (rev 2244)
@@ -4,9 +4,28 @@
 use Module::Install::Base;
 @ISA = qw(Module::Install::Base);
 
-sub include { +shift->admin->include(@_) };
-sub include_deps { +shift->admin->include_deps(@_) };
-sub auto_include { +shift->admin->auto_include(@_) };
-sub auto_include_deps { +shift->admin->auto_include_deps(@_) };
-sub auto_include_dependent_dists { +shift->admin->auto_include_dependent_dists(@_) }
+$VERSION = '0.57';
+
+use strict;
+
+sub include {
+	shift()->admin->include(@_);
+}
+
+sub include_deps {
+	shift()->admin->include_deps(@_);
+}
+
+sub auto_include {
+	shift()->admin->auto_include(@_);
+}
+
+sub auto_include_deps {
+	shift()->admin->auto_include_deps(@_);
+}
+
+sub auto_include_dependent_dists {
+	shift()->admin->auto_include_dependent_dists(@_);
+}
+
 1;

Modified: packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/Makefile.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/Makefile.pm	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/Makefile.pm	2006-02-27 08:49:51 UTC (rev 2244)
@@ -1,19 +1,19 @@
 #line 1 "inc/Module/Install/Makefile.pm - lib/Module/Install/Makefile.pm"
 package Module::Install::Makefile;
 
+use strict 'vars';
 use Module::Install::Base;
- at ISA = qw(Module::Install::Base);
+use ExtUtils::MakeMaker ();
 
-$VERSION = '0.01';
+use vars qw{$VERSION @ISA};
+BEGIN {
+	$VERSION = '0.57';
+	@ISA     = qw{Module::Install::Base};
+}
 
-use strict 'vars';
-use vars '$VERSION';
-
-use ExtUtils::MakeMaker ();
-
 sub Makefile { $_[0] }
 
-sub prompt { 
+sub prompt {
     shift;
     goto &ExtUtils::MakeMaker::prompt;
 }
@@ -25,8 +25,19 @@
     $args;
 }
 
+# For mm args that take multiple space-seperated args,
+# append an argument to the current list.
+sub makemaker_append {
+    my $self = shift;
+    my $name = shift;
+    my $args = $self->makemaker_args;
+    $args->{name} = defined $args->{$name}
+    	? join( ' ', $args->{name}, @_ )
+    	: join( ' ', @_ );
+}
+
 sub build_subdirs {
-    my $self = shift;
+    my $self    = shift;
     my $subdirs = $self->makemaker_args->{DIR} ||= [];
     for my $subdir (@_) {
         push @$subdirs, $subdir;
@@ -34,17 +45,17 @@
 }
 
 sub clean_files {
-    my $self = shift;
+    my $self  = shift;
     my $clean = $self->makemaker_args->{clean} ||= {};
     %$clean = (
         %$clean, 
-        FILES => join(" ", grep length, $clean->{FILES}, @_),
+        FILES => join(' ', grep length, $clean->{FILES}, @_),
     );
 }
 
 sub libs {
     my $self = shift;
-    my $libs = ref $_[0] ? shift : [shift];
+    my $libs = ref $_[0] ? shift : [ shift ];
     $self->makemaker_args( LIBS => $libs );
 }
 
@@ -124,7 +135,7 @@
     local *MAKEFILE;
     open MAKEFILE, '< Makefile' or die $!;
     my $makefile = do { local $/; <MAKEFILE> };
-    close MAKEFILE;
+    close MAKEFILE or die $!;
 
     $makefile =~ s/\b(test_harness\(\$\(TEST_VERBOSE\), )/$1'inc', /;
     $makefile =~ s/( -I\$\(INST_ARCHLIB\))/ -Iinc$1/g;
@@ -134,8 +145,10 @@
     $makefile =~ s/^(PERL = .*)/$1 -Iinc/m;
 
     open MAKEFILE, '> Makefile' or die $!;
-    print MAKEFILE "$preamble$makefile$postamble";
-    close MAKEFILE;
+    print MAKEFILE "$preamble$makefile$postamble" or die $!;
+    close MAKEFILE or die $!;
+
+    1;
 }
 
 sub preamble {
@@ -146,7 +159,6 @@
 
 sub postamble {
     my ($self, $text) = @_;
-
     $self->{postamble} ||= $self->admin->postamble;
     $self->{postamble} .= $text if defined $text;
     $self->{postamble}
@@ -156,4 +168,4 @@
 
 __END__
 
-#line 288
+#line 295

Modified: packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/Metadata.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/Metadata.pm	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/Metadata.pm	2006-02-27 08:49:51 UTC (rev 2244)
@@ -4,7 +4,7 @@
 use Module::Install::Base;
 @ISA = qw{Module::Install::Base};
 
-$VERSION = '0.06';
+$VERSION = '0.57';
 
 use strict 'vars';
 
@@ -60,6 +60,16 @@
     return $self;
 }
 
+sub dynamic_config {
+	my $self = shift;
+	unless ( @_ ) {
+		warn "You MUST provide an explicit true/false value to dynamic_config, skipping\n";
+		return $self;
+	}
+	$self->{'values'}{'dynamic_config'} = $_[0] ? 1 : 0;
+	return $self;
+}
+
 sub all_from {
     my ( $self, $file ) = @_;
 
@@ -128,8 +138,7 @@
         # The user used ->feature like ->features by passing in the second
         # argument as a reference.  Accomodate for that.
         $mods = $_[0];
-    }
-    else {
+    } else {
         $mods = \@_;
     }
 

Modified: packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/Win32.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/Win32.pm	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/Win32.pm	2006-02-27 08:49:51 UTC (rev 2244)
@@ -4,7 +4,7 @@
 use Module::Install::Base;
 @ISA = qw(Module::Install::Base);
 
-$VERSION = '0.02';
+$VERSION = '0.57';
 
 use strict;
 

Modified: packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/WriteAll.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/WriteAll.pm	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/WriteAll.pm	2006-02-27 08:49:51 UTC (rev 2244)
@@ -4,6 +4,10 @@
 use Module::Install::Base;
 @ISA = qw(Module::Install::Base);
 
+$VERSION = '0.57';
+
+use strict;
+
 sub WriteAll {
     my $self = shift;
     my %args = (
@@ -14,22 +18,20 @@
         @_
     );
 
-    $self->sign(1) if $args{sign};
-    $self->Meta->write if $args{meta};
+    $self->sign(1)                if $args{sign};
+    $self->Meta->write            if $args{meta};
     $self->admin->WriteAll(%args) if $self->is_admin;
 
-    if ($0 =~ /Build.PL$/i) {
+    if ( $0 =~ /Build.PL$/i ) {
         $self->Build->write;
-    }
-    else {
+    } else {
         $self->check_nmake if $args{check_nmake};
-        $self->makemaker_args( PL_FILES => {} )
-            unless $self->makemaker_args->{'PL_FILES'};
-
+        unless ( $self->makemaker_args->{'PL_FILES'} ) {
+        	$self->makemaker_args( PL_FILES => {} );
+        }
         if ($args{inline}) {
             $self->Inline->write;
-        }
-        else {
+        } else {
             $self->Makefile->write;
         }
     }

Modified: packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install.pm	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install.pm	2006-02-27 08:49:51 UTC (rev 2244)
@@ -3,10 +3,16 @@
 
 use 5.004;
 use strict 'vars';
+
 use vars qw{$VERSION};
 BEGIN {
-    # Don't forget to update Module::Install::Admin too!
-    $VERSION = '0.56';
+    # All Module::Install core packages now require synchronised versions.
+    # This will be used to ensure we don't accidentally load old or
+    # different versions of modules.
+    # 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.57';
 }
 
 # inc::Module::Install must be loaded first
@@ -24,9 +30,9 @@
 }
 
 use Cwd        ();
-use FindBin;
 use File::Find ();
 use File::Path ();
+use FindBin;
 
 *inc::Module::Install::VERSION = *VERSION;
 @inc::Module::Install::ISA     = 'Module::Install';
@@ -74,11 +80,11 @@
 sub preload {
     my ($self) = @_;
 
-        unless ( $self->{extentions} ) {
-                $self->load_extensions(
-                        "$self->{prefix}/$self->{path}", $self
-                        );
-        }
+    unless ( $self->{extensions} ) {
+        $self->load_extensions(
+            "$self->{prefix}/$self->{path}", $self
+        );
+    }
 
     my @exts = @{$self->{extensions}};
     unless ( @exts ) {
@@ -86,18 +92,18 @@
         @exts = $admin->load_all_extensions;
     }
 
-    my %seen_method;
+    my %seen;
     foreach my $obj ( @exts ) {
         while (my ($method, $glob) = each %{ref($obj) . '::'}) {
             next unless defined *{$glob}{CODE};
             next if $method =~ /^_/;
             next if $method eq uc($method);
-            $seen_method{$method}++;
+            $seen{$method}++;
         }
     }
 
     my $caller = $self->_caller;
-    foreach my $name (sort keys %seen_method) {
+    foreach my $name ( sort keys %seen ) {
         *{"${caller}::$name"} = sub {
             ${"${caller}::AUTOLOAD"} = "${caller}::$name";
             goto &{"${caller}::AUTOLOAD"};
@@ -126,7 +132,7 @@
     $args{name}     ||= $class;
     $args{version}  ||= $class->VERSION;
 
-    unless ($args{path}) {
+    unless ( $args{path} ) {
         $args{path}  = $args{name};
         $args{path}  =~ s!::!/!g;
     }

Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/AutoInstall.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/AutoInstall.pm	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/AutoInstall.pm	2006-02-27 08:49:51 UTC (rev 2244)
@@ -14,27 +14,29 @@
 In F<Makefile.PL>, with L<Module::Install> available on the author's system:
 
     use inc::Module::Install;
-
-    name        ('Joe-Hacker');
-    abstract    ('Perl Interface to Joe Hacker');
-    author      ('Joe Hacker <joe at hacker.org>');
-    include     ('Module::AutoInstall');
-
-    requires    ('Module0');        # mandatory modules
-    feature     ('Feature1',
+    
+    name        'Joe-Hacker';
+    abstract    'Perl Interface to Joe Hacker';
+    author      'Joe Hacker <joe at hacker.org>';
+    include     'Module::AutoInstall';
+    
+    requires    'Module0';          # mandatory modules
+    
+    feature     'Feature1',
         -default    => 0,
-        'Module2'   => '0.1',
-    );
-    feature     ('Feature2',
+        'Module2'   => '0.1';
+    
+    feature     'Feature2',
         -default    => 0,
-        'Module3'   => '1.0',
-    );
+        'Module3'   => '1.0';
+    
     auto_install(
         make_args   => '--hello',   # option(s) for CPAN::Config
         force       => 1,           # pseudo-option to force install
         do_once     => 1,           # skip previously failed modules
     );
-    &WriteAll;
+    
+    WriteAll;
 
 Invoking the resulting F<Makefile.PL>:
 
@@ -295,7 +297,7 @@
 # the workhorse
 sub import {
     my $class = shift;
-    my @args = @_ or return;
+    my @args  = @_ or return;
     my $core_all;
 
     print "*** $class version " . $class->VERSION . "\n";
@@ -441,22 +443,25 @@
 # CPAN.pm is non-reentrant, so check if we're under it and have no CPANPLUS
 sub _check_lock {
     return unless @Missing;
-    return if _has_cpanplus();
+    _load_cpan();
 
-    require CPAN;
-    CPAN::Config->load;
+    # Find the CPAN lock-file
     my $lock = MM->catfile( $CPAN::Config->{cpan_home}, ".lock" );
+    return unless -f $lock;
 
-    if (    -f $lock
-        and open( LOCK, $lock )
-        and ( $^O eq 'MSWin32' ? _under_cpan() : <LOCK> == getppid() )
-        and ( $CPAN::Config->{prerequisites_policy} || '' ) ne 'ignore' )
-    {
-        print << '.';
+    # Check the lock
+    local *LOCK;
+    return unless open(LOCK, $lock);
 
+    if (
+            ( $^O eq 'MSWin32' ? _under_cpan() : <LOCK> == getppid() )
+        and ( $CPAN::Config->{prerequisites_policy} || '' ) ne 'ignore'
+    ) {
+        print <<'END_MESSAGE';
+
 *** Since we're running under CPAN, I'll just let it take care
     of the dependency's installation later.
-.
+END_MESSAGE
         $UnderCPAN = 1;
     }
 
@@ -501,10 +506,9 @@
         @modules = @newmod;
     }
 
-    if ( _has_cpanplus() ) {
+    if ( ! $UnderCPAN and _has_cpanplus() ) {
         _install_cpanplus( \@modules, \@config );
-    }
-    else {
+    } else {
         _install_cpan( \@modules, \@config );
     }
 
@@ -527,7 +531,7 @@
 
 sub _install_cpanplus {
     my @modules   = @{ +shift };
-    my @config    = @{ +shift };
+    my @config    = _cpanplus_config( @{ +shift } );
     my $installed = 0;
 
     require CPANPLUS::Backend;
@@ -540,21 +544,22 @@
     # if we're root, set UNINST=1 to avoid trouble unless user asked for it.
     my $makeflags = $conf->get_conf('makeflags') || '';
     if ( UNIVERSAL::isa( $makeflags, 'HASH' ) ) {
-
         # 0.03+ uses a hashref here
         $makeflags->{UNINST} = 1 unless exists $makeflags->{UNINST};
-    }
-    else {
 
+    } else {
         # 0.02 and below uses a scalar
         $makeflags = join( ' ', split( ' ', $makeflags ), 'UNINST=1' )
           if ( $makeflags !~ /\bUNINST\b/ and eval qq{ $> eq '0' } );
+
     }
     $conf->set_conf( makeflags => $makeflags );
     $conf->set_conf( prereqs   => 1 );
 
+    
+
     while ( my ( $key, $val ) = splice( @config, 0, 2 ) ) {
-        eval { $conf->set_conf( $key, $val ) };
+        $conf->set_conf( $key, $val );
     }
 
     my $modtree = $cp->module_tree;
@@ -579,15 +584,13 @@
             if ( $rv and ( $rv->{ $obj->{module} } or $rv->{ok} ) ) {
                 print "*** $pkg successfully installed.\n";
                 $success = 1;
-            }
-            else {
+            } else {
                 print "*** $pkg installation cancelled.\n";
                 $success = 0;
             }
 
             $installed += $success;
-        }
-        else {
+        } else {
             print << ".";
 *** Could not find a version $ver or above for $pkg; skipping.
 .
@@ -599,14 +602,34 @@
     return $installed;
 }
 
+sub _cpanplus_config {
+	my @config = ();
+	while ( @_ ) {
+		my ($key, $value) = (shift(), shift());
+		if ( $key eq 'prerequisites_policy' ) {
+			if ( $value eq 'follow' ) {
+				$value = CPANPLUS::Internals::Constants::PREREQ_INSTALL();
+			} elsif ( $value eq 'ask' ) {
+				$value = CPANPLUS::Internals::Constants::PREREQ_ASK();
+			} elsif ( $value eq 'ignore' ) {
+				$value = CPANPLUS::Internals::Constants::PREREQ_IGNORE();
+			} else {
+				die "*** Cannot convert option $key = '$value' to CPANPLUS version.\n";
+			}
+		} else {
+			die "*** Cannot convert option $key to CPANPLUS version.\n";
+		}
+	}
+	return @config;
+}
+
 sub _install_cpan {
     my @modules   = @{ +shift };
     my @config    = @{ +shift };
     my $installed = 0;
     my %args;
 
-    require CPAN;
-    CPAN::Config->load;
+    _load_cpan();
     require Config;
 
     if (CPAN->VERSION < 1.80) {
@@ -800,6 +823,19 @@
     return eval { require $file; $mod->VERSION } || ( $@ ? undef: 0 );
 }
 
+# Load CPAN.pm and it's configuration
+sub _load_cpan {
+    return if $CPAN::VERSION;
+    require CPAN;
+    if ( $CPAN::HandleConfig::VERSION ) {
+        # Newer versions of CPAN have a HandleConfig module
+        CPAN::HandleConfig->load;
+    } else {
+    	# Older versions had the load method in Config directly
+        CPAN::Config->load;
+    }
+}
+
 # compare two versions, either use Sort::Versions or plain comparison
 sub _version_check {
     my ( $cur, $min ) = @_;


Property changes on: packages/libmodule-install-perl/branches/upstream/current/lib/Module/AutoInstall.pm
___________________________________________________________________
Name: svn:executable
   + *

Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/Bundle.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/Bundle.pm	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/Bundle.pm	2006-02-27 08:49:51 UTC (rev 2244)
@@ -3,7 +3,7 @@
 use Module::Install::Base;
 @ISA = qw(Module::Install::Base);
 
-$VERSION = '0.04';
+$VERSION = '0.57';
 
 use strict;
 


Property changes on: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/Bundle.pm
___________________________________________________________________
Name: svn:executable
   + *

Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/Find.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/Find.pm	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/Find.pm	2006-02-27 08:49:51 UTC (rev 2244)
@@ -3,7 +3,7 @@
 use Module::Install::Base;
 @ISA = qw(Module::Install::Base);
 
-$VERSION = '0.01';
+$VERSION = '0.57';
 
 use strict;
 use File::Find ();


Property changes on: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/Find.pm
___________________________________________________________________
Name: svn:executable
   + *

Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/Include.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/Include.pm	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/Include.pm	2006-02-27 08:49:51 UTC (rev 2244)
@@ -3,7 +3,7 @@
 use Module::Install::Base;
 @ISA = qw(Module::Install::Base);
 
-$VERSION = '0.02';
+$VERSION = '0.57';
 
 sub include {
     my ( $self, $pattern ) = @_;


Property changes on: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/Include.pm
___________________________________________________________________
Name: svn:executable
   + *

Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/Makefile.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/Makefile.pm	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/Makefile.pm	2006-02-27 08:49:51 UTC (rev 2244)
@@ -3,7 +3,7 @@
 use Module::Install::Base;
 @ISA = qw(Module::Install::Base);
 
-$VERSION = '0.01';
+$VERSION = '0.57';
 
 use strict 'vars';
 
@@ -11,11 +11,11 @@
 
 sub postamble {
     my ($self, $text) = @_;
-    my $class = ref($self);
-    my $top_class = ref($self->_top);
+    my $class       = ref($self);
+    my $top_class   = ref($self->_top);
     my $admin_class = join('::', @{$self->_top}{qw(name dispatch)});
 
-    $self->{postamble} ||= << "END";
+    $self->{postamble} ||= << "END_MAKEFILE";
 # --- $class section:
 
 realclean purge ::
@@ -34,7 +34,8 @@
 distsign ::
 \tcpansign -s
 
-END
+END_MAKEFILE
+
     $self->{postamble} .= $text if defined $text;
     $self->{postamble};
 }


Property changes on: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/Makefile.pm
___________________________________________________________________
Name: svn:executable
   + *

Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/Manifest.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/Manifest.pm	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/Manifest.pm	2006-02-27 08:49:51 UTC (rev 2244)
@@ -3,7 +3,7 @@
 use Module::Install::Base;
 @ISA = qw(Module::Install::Base);
 
-$VERSION = '0.01';
+$VERSION = '0.57';
 
 use strict;
 use Cwd;
@@ -15,7 +15,7 @@
     my ($self, $distdir) = @_;
     return if $self->check_manifest;
 
-    print << "END";
+    print <<"END_MESSAGE";
 
 It appears that your MANIFEST does not contain the same components that
 are currently in the 'inc' directory. 
@@ -25,7 +25,7 @@
 Remember to use the MANIFEST.SKIP file to control things that should not
 end up in your MANIFEST. See 'perldoc ExtUtils::Manifest' for details.
 
-END
+END_MESSAGE
     return if $self->prompt(
         'Do you *really* want to continue making a distribution?', 'n'
     ) =~ /^[Yy]/;


Property changes on: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/Manifest.pm
___________________________________________________________________
Name: svn:executable
   + *

Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/Metadata.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/Metadata.pm	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/Metadata.pm	2006-02-27 08:49:51 UTC (rev 2244)
@@ -3,7 +3,7 @@
 use Module::Install::Base;
 @ISA = 'Module::Install::Base';
 
-$VERSION = '0.04';
+$VERSION = '0.57';
 
 use strict;
 

Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/ScanDeps.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/ScanDeps.pm	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/ScanDeps.pm	2006-02-27 08:49:51 UTC (rev 2244)
@@ -3,6 +3,10 @@
 use Module::Install::Base;
 @ISA = qw(Module::Install::Base);
 
+$VERSION = '0.57';
+
+use strict;
+
 sub scan_dependencies {
     my ($self, $pkg, $perl_version) = @_;
 


Property changes on: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/ScanDeps.pm
___________________________________________________________________
Name: svn:executable
   + *

Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/WriteAll.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/WriteAll.pm	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/WriteAll.pm	2006-02-27 08:49:51 UTC (rev 2244)
@@ -3,7 +3,7 @@
 use Module::Install::Base;
 @ISA = qw(Module::Install::Base);
 
-$VERSION = '0.01';
+$VERSION = '0.57';
 
 sub WriteAll {
     my ($self, %args) = @_;


Property changes on: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/WriteAll.pm
___________________________________________________________________
Name: svn:executable
   + *

Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin.pm	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin.pm	2006-02-27 08:49:51 UTC (rev 2244)
@@ -1,6 +1,6 @@
 package Module::Install::Admin;
 
-$VERSION = '0.56';
+$VERSION = '0.57';
 @ISA = 'Module::Install';
 
 use strict 'vars';

Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/AutoInstall.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/AutoInstall.pm	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/AutoInstall.pm	2006-02-27 08:49:51 UTC (rev 2244)
@@ -3,6 +3,10 @@
 use Module::Install::Base;
 @ISA = qw{Module::Install::Base};
 
+$VERSION = '0.57';
+
+use strict;
+
 sub AutoInstall { $_[0] }
 
 sub run {


Property changes on: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/AutoInstall.pm
___________________________________________________________________
Name: svn:executable
   + *

Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Base.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Base.pm	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Base.pm	2006-02-27 08:49:51 UTC (rev 2244)
@@ -1,11 +1,16 @@
 package Module::Install::Base;
 
+$VERSION = '0.57';
+
 # Suspend handler for "redefined" warnings
 BEGIN {
 	my $w = $SIG{__WARN__};
 	$SIG{__WARN__} = sub { $w };
 }
 
+### This is the ONLY module that shouldn't have strict on
+# use strict;
+
 =pod
 
 =head1 NAME
@@ -38,13 +43,13 @@
 sub new {
     my ($class, %args) = @_;
 
-    foreach my $method (qw(call load)) {
+    foreach my $method ( qw(call load) ) {
         *{"$class\::$method"} = sub {
-            +shift->_top->$method(@_);
+            shift()->_top->$method(@_);
         } unless defined &{"$class\::$method"};
     }
 
-    bless(\%args, $class);
+    bless( \%args, $class );
 }
 
 =pod
@@ -57,7 +62,6 @@
 
 sub AUTOLOAD {
     my $self = shift;
-
     local $@;
     my $autoload = eval { $self->_top->autoload } or return;
     goto &$autoload;


Property changes on: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Base.pm
___________________________________________________________________
Name: svn:executable
   + *

Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Build.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Build.pm	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Build.pm	2006-02-27 08:49:51 UTC (rev 2244)
@@ -3,7 +3,7 @@
 use Module::Install::Base;
 @ISA = qw(Module::Install::Base);
 
-$VERSION = '0.01';
+$VERSION = '0.57';
 
 use strict;
 

Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Bundle.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Bundle.pm	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Bundle.pm	2006-02-27 08:49:51 UTC (rev 2244)
@@ -3,7 +3,7 @@
 use Module::Install::Base;
 @ISA = qw(Module::Install::Base);
 
-$VERSION = '0.04';
+$VERSION = '0.57';
 
 use strict;
 use Cwd ();


Property changes on: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Bundle.pm
___________________________________________________________________
Name: svn:executable
   + *

Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Can.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Can.pm	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Can.pm	2006-02-27 08:49:51 UTC (rev 2244)
@@ -3,13 +3,16 @@
 use Module::Install::Base;
 @ISA = qw(Module::Install::Base);
 
-$VERSION = '0.01';
+$VERSION = '0.57';
 
 use strict;
 use Config ();
-use File::Spec ();
 use ExtUtils::MakeMaker ();
 
+# This may introduce a 5.005 dependency, or at the very least it may
+# not bootstrap properly under 5.004.
+use File::Spec ();
+ 
 # check if we can load some module
 sub can_use {
     my ($self, $mod, $ver) = @_;


Property changes on: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Can.pm
___________________________________________________________________
Name: svn:executable
   + *

Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Compiler.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Compiler.pm	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Compiler.pm	2006-02-27 08:49:51 UTC (rev 2244)
@@ -1,44 +1,45 @@
 package Module::Install::Compiler;
 
+use strict;
 use Module::Install::Base;
- at ISA = qw(Module::Install::Base);
+use File::Basename ();
 
-$VERSION = '0.01';
+use vars qw{$VERSION @ISA};
+BEGIN {
+	$VERSION = '0.57';
+	@ISA     = qw{Module::Install::Base};
+}
 
-use strict;
-use File::Basename ();
-
-sub c_files {
+sub cc_files {
+    require Config;
     my $self = shift;
-    require Config;
-    my $_o = $Config::Config{_o};
     $self->makemaker_args(
-        OBJECT => join ' ', map { substr($_, 0, -2) . $_o } @_
+        OBJECT => join ' ', map { substr($_, 0, -2) . $Config::Config{_o} } @_
     );
 }
 
-sub inc_paths {
+sub cc_inc_paths {
     my $self = shift;
     $self->makemaker_args(
         INC => join ' ', map { "-I$_" } @_
     );
 }
 
-sub lib_paths {
+sub cc_lib_paths {
     my $self = shift;
     $self->makemaker_args(
         LIBS => join ' ', map { "-L$_" } @_
     );
 }
 
-sub lib_links {
+sub cc_lib_links {
     my $self = shift;
     $self->makemaker_args(
         LIBS => join ' ', $self->makemaker_args->{LIBS}, map { "-l$_" } @_
     );
 }
 
-sub optimize_flags {
+sub cc_optimize_flags {
     my $self = shift;
     $self->makemaker_args(
         OPTIMIZE => join ' ', @_
@@ -46,3 +47,55 @@
 }
 
 1;
+
+__END__
+
+=pod
+
+=head1 NAME
+
+Module::Install::Compiler - Module::Install commands for interacting with the C compiler
+
+=head1 SYNOPSIS
+
+  To be completed
+
+=head1 DESCRIPTION
+
+Many Perl modules that contains C and XS code have fiendishly complex
+F<Makefile.PL> files, because L<ExtUtils::MakeMaker> doesn't itself provide
+a huge amount of assistance and automation in this area.
+
+B<Module::Install::Compiler> provides a number of commands that take care
+of common utility tasks, and try to take some of intricacy out of creating
+C and XS modules.
+
+=head1 COMMANDS
+
+To be completed
+
+=head1 SEE ALSO
+
+L<Module::Install>, L<ExtUtils::MakeMaker>
+
+=head1 AUTHORS
+
+Audrey Tang E<lt>autrijus at autrijus.orgE<gt>
+
+Based on original works by Brian Ingerson E<lt>ingy at cpan.orgE<gt>
+
+Documentated and refactored by Adam Kennedy E<lt>adamk at cpan.orgE<gt>
+
+=head1 COPYRIGHT
+
+Copyright 2002, 2003, 2004, 2006 by
+Audrey Tang E<lt>autrijus at autrijus.orgE<gt>,
+Brian Ingerson E<lt>ingy at cpan.orgE<gt>,
+Adam Kennedy E<lt>adamk at cpan.orgE<gt>
+
+This program is free software; you can redistribute it and/or modify it
+under the same terms as Perl itself.
+
+See L<http://www.perl.com/perl/misc/Artistic.html>
+
+=cut


Property changes on: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Compiler.pm
___________________________________________________________________
Name: svn:executable
   + *

Added: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Deprecated.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Deprecated.pm	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Deprecated.pm	2006-02-27 08:49:51 UTC (rev 2244)
@@ -0,0 +1,43 @@
+package Module::Install::Deprecated;
+
+# Although it should never be included with a release, this module
+# is used to contain all the deprecated or renamed commands, so authors
+# can have them reported fully without bloating releases.
+
+use strict;
+use Module::Install::Base;
+
+use vars qw{$VERSION @ISA};
+BEGIN {
+	$VERSION = '0.57';
+	@ISA     = qw{Module::Install::Base};
+}
+
+# Deprecations
+
+sub c_files {
+	warn "c_files has been changed to cc_files to reduce confusion and keep all compiler commands as cc_";
+	shift()->cc_files(@_);
+}
+
+sub inc_paths {
+	warn "inc_paths has been changed to cc_inc_paths due to confusion between Perl and C";
+	shift()->cc_inc_paths(@_);
+}
+
+sub lib_paths {
+	warn "lib_paths has been changed to cc_lib_paths due to confusion between Perl and C";
+	shift()->cc_lib_paths(@_);
+}
+
+sub lib_links {
+	warn "lib_links has been changed to cc_lib_links due to confusion between Perl and C";
+	shift()->cc_lib_links(@_);
+}
+
+sub optimize_flags {
+	warn "optimize_flags has been changed to cc_optimize_flags for consistency reasons";
+	shift()->cc_optimize_flags(@_);
+}
+
+1;


Property changes on: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Deprecated.pm
___________________________________________________________________
Name: svn:executable
   + *

Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/External.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/External.pm	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/External.pm	2006-02-27 08:49:51 UTC (rev 2244)
@@ -5,36 +5,34 @@
 use Module::Install::Base;
 @ISA = qw(Module::Install::Base);
 
-$VERSION = '0.01';
+$VERSION = '0.57';
 
 use strict;
 
-sub requires_external {
-	my ($self, $type, @args) = @_;
+sub requires_external_cc {
+	my $self = shift;
 
-	# Check the dependency type
-	unless ( defined $type and ! ref $type ) {
-		die "Did not provide an external dependency type";
+	# We need a C compiler, use the can_cc method for this
+	unless ( $self->can_cc ) {
+		print "Unresolvable missing external dependency.\n";
+		print "This package requires a C compiler.\n";
+		print STDERR "NA: Unable to build distribution on this platform.\n";
+		exit(255);
 	}
-	unless ( $type =~ /^\w+$/ ) {
-		die "Invalid external dependency type '$type'";
-	}
-	my $method = 'requires_external_' . $type;
-	unless ( $self->can($method) ) {
-		die "External dependency type '$type' is not implemented (yet)";
-	}
 
-	# Hand off to the specific method
-	$self->$method(@args);
+	# Unlike some of the other modules, while we need to specify a
+	# C compiler as a dep, it needs to be a build-time dependency.
+
+	1;
 }
 
 sub requires_external_bin {
 	my ($self, $bin, $version) = @_;
 	if ( $version ) {
-		die "requires_external_bin does not support versions (yet)";
+		die "requires_external_bin does not support versions yet";
 	}
 
-	# Load the can_run package early
+	# Load the package containing can_run early,
 	# to avoid breaking the message below.
 	$self->load('can_run');
 

Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Fetch.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Fetch.pm	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Fetch.pm	2006-02-27 08:49:51 UTC (rev 2244)
@@ -3,7 +3,7 @@
 use Module::Install::Base;
 @ISA = qw(Module::Install::Base);
 
-$VERSION = '0.01';
+$VERSION = '0.57';
 
 sub get_file {
     my ($self, %args) = @_;


Property changes on: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Fetch.pm
___________________________________________________________________
Name: svn:executable
   + *

Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Include.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Include.pm	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Include.pm	2006-02-27 08:49:51 UTC (rev 2244)
@@ -3,9 +3,28 @@
 use Module::Install::Base;
 @ISA = qw(Module::Install::Base);
 
-sub include { +shift->admin->include(@_) };
-sub include_deps { +shift->admin->include_deps(@_) };
-sub auto_include { +shift->admin->auto_include(@_) };
-sub auto_include_deps { +shift->admin->auto_include_deps(@_) };
-sub auto_include_dependent_dists { +shift->admin->auto_include_dependent_dists(@_) }
+$VERSION = '0.57';
+
+use strict;
+
+sub include {
+	shift()->admin->include(@_);
+}
+
+sub include_deps {
+	shift()->admin->include_deps(@_);
+}
+
+sub auto_include {
+	shift()->admin->auto_include(@_);
+}
+
+sub auto_include_deps {
+	shift()->admin->auto_include_deps(@_);
+}
+
+sub auto_include_dependent_dists {
+	shift()->admin->auto_include_dependent_dists(@_);
+}
+
 1;


Property changes on: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Include.pm
___________________________________________________________________
Name: svn:executable
   + *

Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Inline.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Inline.pm	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Inline.pm	2006-02-27 08:49:51 UTC (rev 2244)
@@ -3,7 +3,7 @@
 use Module::Install::Base;
 @ISA = qw(Module::Install::Base);
 
-$VERSION = '0.01';
+$VERSION = '0.57';
 
 use strict;
 
@@ -18,10 +18,10 @@
     my $version = $self->version
         or die "Please set version() or version_from() before calling &Inline->write\n";
 
-    $version =~ /^\d\.\d\d$/ or die << "END";
+    $version =~ /^\d\.\d\d$/ or die <<"END_MESSAGE";
 Invalid version '$version' for $name.
 Must be of the form '#.##'. (For instance '1.23')
-END
+END_MESSAGE
 
     $self->clean_files('_Inline', "$object.inl");
     $self->build_requires('Inline' => 0.44); # XXX: check for existing? yagni?


Property changes on: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Inline.pm
___________________________________________________________________
Name: svn:executable
   + *

Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/MakeMaker.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/MakeMaker.pm	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/MakeMaker.pm	2006-02-27 08:49:51 UTC (rev 2244)
@@ -3,7 +3,7 @@
 use Module::Install::Base;
 @ISA = qw(Module::Install::Base);
 
-$VERSION = '0.01';
+$VERSION = '0.57';
 
 use ExtUtils::MakeMaker ();
 


Property changes on: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/MakeMaker.pm
___________________________________________________________________
Name: svn:executable
   + *

Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Makefile/Name.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Makefile/Name.pm	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Makefile/Name.pm	2006-02-27 08:49:51 UTC (rev 2244)
@@ -3,7 +3,7 @@
 use Module::Install::Base;
 @ISA = qw(Module::Install::Base);
 
-$VERSION = '0.01';
+$VERSION = '0.57';
 
 use strict;
 
@@ -28,10 +28,10 @@
 
     return if $self->module_name;
 
-    my $name = MM->guess_name or die <<"END";
+    my $name = MM->guess_name or die <<"END_MESSAGE";
 Can't determine a NAME for this distribution.
 Please use the 'name' function in Makefile.PL.
-END
+END_MESSAGE
 
     $name =~ s/-/::/g;
     $self->module_name($name);


Property changes on: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Makefile/Name.pm
___________________________________________________________________
Name: svn:executable
   + *

Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Makefile/Version.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Makefile/Version.pm	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Makefile/Version.pm	2006-02-27 08:49:51 UTC (rev 2244)
@@ -3,7 +3,7 @@
 use Module::Install::Base;
 @ISA = qw(Module::Install::Base);
 
-$VERSION = '0.01';
+$VERSION = '0.57';
 
 use strict;
 


Property changes on: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Makefile/Version.pm
___________________________________________________________________
Name: svn:executable
   + *

Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Makefile.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Makefile.pm	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Makefile.pm	2006-02-27 08:49:51 UTC (rev 2244)
@@ -1,18 +1,18 @@
 package Module::Install::Makefile;
 
+use strict 'vars';
 use Module::Install::Base;
- at ISA = qw(Module::Install::Base);
+use ExtUtils::MakeMaker ();
 
-$VERSION = '0.01';
+use vars qw{$VERSION @ISA};
+BEGIN {
+	$VERSION = '0.57';
+	@ISA     = qw{Module::Install::Base};
+}
 
-use strict 'vars';
-use vars '$VERSION';
-
-use ExtUtils::MakeMaker ();
-
 sub Makefile { $_[0] }
 
-sub prompt { 
+sub prompt {
     shift;
     goto &ExtUtils::MakeMaker::prompt;
 }
@@ -24,8 +24,19 @@
     $args;
 }
 
+# For mm args that take multiple space-seperated args,
+# append an argument to the current list.
+sub makemaker_append {
+    my $self = shift;
+    my $name = shift;
+    my $args = $self->makemaker_args;
+    $args->{name} = defined $args->{$name}
+    	? join( ' ', $args->{name}, @_ )
+    	: join( ' ', @_ );
+}
+
 sub build_subdirs {
-    my $self = shift;
+    my $self    = shift;
     my $subdirs = $self->makemaker_args->{DIR} ||= [];
     for my $subdir (@_) {
         push @$subdirs, $subdir;
@@ -33,17 +44,17 @@
 }
 
 sub clean_files {
-    my $self = shift;
+    my $self  = shift;
     my $clean = $self->makemaker_args->{clean} ||= {};
     %$clean = (
         %$clean, 
-        FILES => join(" ", grep length, $clean->{FILES}, @_),
+        FILES => join(' ', grep length, $clean->{FILES}, @_),
     );
 }
 
 sub libs {
     my $self = shift;
-    my $libs = ref $_[0] ? shift : [shift];
+    my $libs = ref $_[0] ? shift : [ shift ];
     $self->makemaker_args( LIBS => $libs );
 }
 
@@ -123,7 +134,7 @@
     local *MAKEFILE;
     open MAKEFILE, '< Makefile' or die $!;
     my $makefile = do { local $/; <MAKEFILE> };
-    close MAKEFILE;
+    close MAKEFILE or die $!;
 
     $makefile =~ s/\b(test_harness\(\$\(TEST_VERBOSE\), )/$1'inc', /;
     $makefile =~ s/( -I\$\(INST_ARCHLIB\))/ -Iinc$1/g;
@@ -133,8 +144,10 @@
     $makefile =~ s/^(PERL = .*)/$1 -Iinc/m;
 
     open MAKEFILE, '> Makefile' or die $!;
-    print MAKEFILE "$preamble$makefile$postamble";
-    close MAKEFILE;
+    print MAKEFILE "$preamble$makefile$postamble" or die $!;
+    close MAKEFILE or die $!;
+
+    1;
 }
 
 sub preamble {
@@ -145,7 +158,6 @@
 
 sub postamble {
     my ($self, $text) = @_;
-
     $self->{postamble} ||= $self->admin->postamble;
     $self->{postamble} .= $text if defined $text;
     $self->{postamble}
@@ -159,11 +171,6 @@
 
 Module::Install::MakeMaker - Extension Rules for ExtUtils::MakeMaker
 
-=head1 VERSION
-
-This document describes version 0.01 of Module::Install::MakeMaker, released
-March 1, 2003.
-
 =head1 SYNOPSIS
 
 In your F<Makefile.PL>:


Property changes on: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Makefile.pm
___________________________________________________________________
Name: svn:executable
   + *

Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Metadata.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Metadata.pm	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Metadata.pm	2006-02-27 08:49:51 UTC (rev 2244)
@@ -3,7 +3,7 @@
 use Module::Install::Base;
 @ISA = qw{Module::Install::Base};
 
-$VERSION = '0.06';
+$VERSION = '0.57';
 
 use strict 'vars';
 
@@ -59,6 +59,16 @@
     return $self;
 }
 
+sub dynamic_config {
+	my $self = shift;
+	unless ( @_ ) {
+		warn "You MUST provide an explicit true/false value to dynamic_config, skipping\n";
+		return $self;
+	}
+	$self->{'values'}{'dynamic_config'} = $_[0] ? 1 : 0;
+	return $self;
+}
+
 sub all_from {
     my ( $self, $file ) = @_;
 
@@ -127,8 +137,7 @@
         # The user used ->feature like ->features by passing in the second
         # argument as a reference.  Accomodate for that.
         $mods = $_[0];
-    }
-    else {
+    } else {
         $mods = \@_;
     }
 


Property changes on: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Metadata.pm
___________________________________________________________________
Name: svn:executable
   + *

Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/PAR.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/PAR.pm	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/PAR.pm	2006-02-27 08:49:51 UTC (rev 2244)
@@ -3,30 +3,33 @@
 use Module::Install::Base;
 @ISA = qw(Module::Install::Base);
 
+$VERSION = '0.57';
+
+use strict;
+
 sub par_base {
     my ($self, $base, $file) = @_;
-    my $class = ref($self);
+    my $class     = ref($self);
     my $inc_class = join('::', @{$self->_top}{qw(prefix name)});
     my $ftp_base;
 
-    if (defined $base and length $base) {
-        if ($base =~ m!^(([A-Z])[A-Z])[-_A-Z]+\Z!) {
+    if ( defined $base and length $base ) {
+        if ( $base =~ m!^(([A-Z])[A-Z])[-_A-Z]+\Z! ) {
             $self->{mailto} = "$base\@cpan.org";
             $ftp_base = "ftp://ftp.cpan.org/pub/CPAN/authors/id/$2/$1/$base";
-            $base = "http://www.cpan.org/authors/id/$2/$1/$base";
-        }
-        elsif ($base !~ m!^(\w+)://!) {
+            $base     = "http://www.cpan.org/authors/id/$2/$1/$base";
+        } elsif ( $base !~ m!^(\w+)://! ) {
             die "Cannot recognize path '$base'; please specify an URL or CPAN ID";
         }
-        $base .= '/' unless $base =~ m!/\Z!;
+        $base     .= '/' unless $base     =~ m!/\Z!;
         $ftp_base .= '/' unless $ftp_base =~ m!/\Z!;
     }
 
     require Config;
     my $suffix = "$Config::Config{archname}-$Config::Config{version}.par";
 
-    unless ($file ||= $self->{file}) {
-        my $name    = $self->name or return;
+    unless ( $file ||= $self->{file} ) {
+        my $name    = $self->name    or return;
         my $version = $self->version or return;
         $name =~ s!::!-!g;
         $self->{file} = $file = "$name-$version-$suffix";
@@ -36,15 +39,15 @@
     $perl = Win32::GetShortPathName($perl)
         if $perl =~ / / and defined &Win32::GetShortPathName;
 
-    $self->preamble(<<"END") if $base;
+    $self->preamble(<<"END_MAKEFILE") if $base;
 # --- $class section:
 
 all ::
 \t\@$perl -M$inc_class -e \"extract_par(q($file))\"
 
-END
+END_MAKEFILE
 
-    $self->postamble(<<"END");
+    $self->postamble(<<"END_MAKEFILE");
 # --- $class section:
 
 $file: all test
@@ -56,11 +59,11 @@
 par-upload :: $file
 \tcpan-upload -verbose $file
 
-END
+END_MAKEFILE
 
-    $self->{url} = $base;
+    $self->{url}     = $base;
     $self->{ftp_url} = $ftp_base;
-    $self->{suffix} = $suffix;
+    $self->{suffix}  = $suffix;
 
     return $self;
 }
@@ -68,7 +71,7 @@
 sub fetch_par {
     my ($self, $url, $file, $quiet) = @_;
     $url = $self->{url} || $self->par_base($url)->{url};
-    $ftp_url = $self->{ftp_url};
+    my $ftp_url = $self->{ftp_url};
     $file ||= $self->{file};
 
     return $file if -f $file or $self->get_file(
@@ -77,13 +80,13 @@
     );
 
     require Config;
-    print << "END" if $self->{mailto} and !$quiet;
+    print <<"END_MESSAGE" if $self->{mailto} and ! $quiet;
 *** No installation package available for your architecture.
 However, you may wish to generate one with '$Config::Config{make} par' and send
 it to <$self->{mailto}>, so other people on the same platform
 can benefit from it.
 *** Proceeding with normal installation...
-END
+END_MESSAGE
     return;
 }
 
@@ -91,14 +94,13 @@
     my ($self, $file) = @_;
     return unless -f $file;
 
-    if (eval { require Archive::Zip; 1 }) {
+    if ( eval { require Archive::Zip; 1 } ) {
         my $zip = Archive::Zip->new;
         return unless $zip->read($file) == Archive::Zip::AZ_OK()
                   and $zip->extractTree('', 'blib/') == Archive::Zip::AZ_OK();
+    } elsif ( $self->can_run('unzip') ) {
+        return if system( unzip => $file, qw(-d blib) );
     }
-    elsif ($self->can_run('unzip')) {
-        return if system(unzip => $file, qw(-d blib));
-    }
 
     local *PM_TO_BLIB;
     open PM_TO_BLIB, '> pm_to_blib' or die $!;
@@ -114,7 +116,7 @@
         return;
     }
 
-    return PAR::Dist::blib_to_par(dist => $file);
+    return PAR::Dist::blib_to_par( dist => $file );
 }
 
 1;


Property changes on: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/PAR.pm
___________________________________________________________________
Name: svn:executable
   + *

Added: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Philosophy.pod
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Philosophy.pod	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Philosophy.pod	2006-02-27 08:49:51 UTC (rev 2244)
@@ -0,0 +1,187 @@
+=head1 NAME
+
+Module::Install::Philosophy - The concepts behind Module::Install
+
+=head1 SYNOPSIS
+
+This document describes the personal philosophy behind the creation of
+B<CPAN::MakeMaker> (the predecessor of B<Module::Install>).  The views
+expressed here belong to Brian Ingerson; if they are not of interest to
+you, you can safely ignore this document.
+
+=head1 I HAVE A DREAM
+
+I say to you today, my friends, that in spite of the difficulties and
+frustrations of the moment, I still have a dream. It is a dream deeply
+rooted in the Perl Module dream.
+
+I have a dream that one day this community will rise up and live out the
+true meaning of its creed: "We hold these truths to be self-evident:
+that all Perl authors are created equal."
+
+I have a dream that one day even the state of the C<CGI::> namespace, a
+desert state, sweltering with the heat of injustice and oppression, will
+be transformed into an oasis of freedom and justice.
+
+I have a dream that my four modules will one day live in an archive
+where they will not be judged by the number of their prerequisites but
+by the content of their source code.
+
+I have a dream today.
+
+=head1 DESCRIPTION
+
+The above is obviously a mutation of the monumental speech by great
+Martin Luther King (L<http://web66.coled.umn.edu/new/MLK/MLK.html>).
+While the contexts are vastly different, I feel that there are some
+serious parallelisms.
+
+The CPAN has become a place that is not free of injustice. This
+situation has arisen not out of directed oppression, but from a failure
+of our community to keep its tools sharp. It is the culmination of many
+small decisions made in the name of practicality. This is a sad state
+for an institution that was created to allow all interested people to
+contribute equally to the best of their ability.
+
+This assertion is rooted in my personal experience as an author. When I
+created my first Perl module, Inline.pm, I knew that I had done
+something important. But how was I to make a dent in vast Perl
+community?
+
+As a complete unknown in the Perl community, my voice did not travel
+far. I repeatedly tried to get even an acknowledgment from the gurus
+familiar with XS. No success. I resorted to sending messages with
+ridiculous subjects to C<modules at perl.org>. 
+(L<http://www.xray.mpe.mpg.de/mailing-lists/modules/2000-08/msg00078.html>) 
+No response. Through sheer determination and shameless self-promotion I
+eventually got the word out, and I hope the world is a slightly better
+place for it.
+
+Since then, Inline has won awards and I have had the privilege to meet almost
+all of Perl's finest. But I still remember the pain of starting out, and
+want to help invite more people into this wonderful world. 
+
+One thing I have learned from experience is that the Perl community (and
+throw in the Python and Ruby people as well) is a small drop in the vast
+ocean of programming. It's a giant pot of Java out there; and a sea of
+C. Perl may not be the biggest fish, but with some care and cunning we
+could become a much bigger school.
+
+These are the current problems that I see with CPAN and the core modules:
+
+=over 4
+
+=item * New Modules don't help Older Perls
+
+If I were to guess what percent of all Perl5 installations were at the
+current release level (5.8.0 in October 2002) I would say 3-5%. That may
+even be generous. I'd say that over 40% of installations might still be
+at 5.005 or earlier.
+
+The biggest problem with adding a module to the core is that it only
+helps a small subset of Perl users for a long long time. Worse yet, a
+good module author will still probably avoid using the core additions as
+prerequisites, because they want their new module to work as well on
+5.005 as on 5.8.
+
+CPAN::MakeMaker should be able to help in this regard. For example,
+instead of putting Inline.pm into the core for 5.9, I can now
+effectively get it into the core for every version of Perl that
+Inline supports.
+
+=item * Author Exclusiveness
+
+Not just anybody can get a module into the core. It seems you have to
+know people in high places. If I were a brilliant new talent with a
+great new module, it would have a harder time getting the ear of the
+pumpking, then if I were, say, Damian Conway. In fact, I probably
+wouldn't even know where to start.
+
+=item * Reduced Competition
+
+One comment I've heard from some very good Perl programmers is
+"Everything important has already been done". Their feeling is that
+even though a module is suboptimal, it would be a waste of time to
+write a competing module. Who would use it instead of the one already
+in the core?
+
+When I write a competing module, I know that I have to make it at least
+twice as good as the existing one to even get noticed. That's not a bad
+thing, but should everybody be forced into that situation?
+
+For example, let's say that you have created a really useful CGI script.
+Let's also say that it makes use of your own B<CGI::Special> module,
+because B<CGI.pm> doesn't meet your needs. Even though your script might be
+generally useful and worth sharing, the fact that it requires a
+non-standard module can only negatively affect its acceptance. Trying to
+get general acceptance for the superior B<CGI::Special> module will be
+harder still.
+
+Core modules are assumed by the general public to be "Best of Breed".
+While this may be true for some modules at some point in time, it keeps
+talented people from attempting to "breed" something better.
+
+=item * Core Bloat
+
+Every time we add a module to the core it gets bigger and bigger. And we
+can't ever remove modules from the core, once they've been added.
+
+If I had my druthers, we'd remove all modules from the core that weren't
+necessary for either running Perl or installing modules. Of course, we'd
+need to set things up so that installing modules was so easy, that it
+could be done on the fly if necessary. Is this easily accomplishable?
+Nope. Is it impossible? Nope. We have the best language in the world to
+help us do it!
+
+=item * Maintenance Bitrot
+
+Believe it or not, Perl authors can sometimes acquire a "Life Beyond
+Perl". They get families or new hobbies or even hit by a bus. (This
+would be a "Death Beyond Perl".) The fact is, that once somebody writes
+a piece of code and shares it with the world, they are expected to
+maintain it for all time.
+
+That is being generous. There are others that think that once their
+module has become popular or made it into the core, they don't need to
+keep fixing and improving it. I have personally been guilty of this sin.
+
+And then there's the Damian Conway Effect. This plagues the exceptional
+authors who are so innovative and prolific they simply don't have time
+to maintain everything they have written.
+
+=back
+
+I initially formalized these opinions at the YAPC (Yet Another Perl
+Conference) in June 2001. Since then I have been trying to think of
+technological solutions to fix these social problems.
+
+One idea was dubbed NAPC. NAPC is CPAN backwards. It is a large system
+of precompiled modules that can be installed on the fly, with the goal
+of reducing the number of modules in the core. NAPC hasn't got started
+yet. I'd still like to do it someday, but it's a big problem with a lot
+of issues.
+
+B<CPAN::MakeMaker> (and now B<Module::Install>) on the other hand, is
+simple and ultimately flexible.  It should work with all of the existing
+CPAN processes without requiring any changes from them. And new features
+can be continuously added. Even though it doesn't scratch all of my
+philosophical CPAN itches, it's a good start.
+
+=head1 CONCLUSION
+
+This is all just food for thought. Take it with a pinch of salt. 
+
+=head1 AUTHOR
+
+Brian Ingerson E<lt>INGY at cpan.orgE<gt>
+
+=head1 COPYRIGHT
+
+Copyright (c) 2002. Brian Ingerson. All rights reserved.
+
+This document is free documentation; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+See L<http://www.perl.com/perl/misc/Artistic.html>
+
+=cut


Property changes on: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Philosophy.pod
___________________________________________________________________
Name: svn:executable
   + *

Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Run.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Run.pm	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Run.pm	2006-02-27 08:49:51 UTC (rev 2244)
@@ -3,7 +3,7 @@
 use Module::Install::Base;
 @ISA = qw(Module::Install::Base);
 
-$VERSION = '0.01';
+$VERSION = '0.57';
 
 # eventually move the ipc::run / open3 stuff here.
 


Property changes on: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Run.pm
___________________________________________________________________
Name: svn:executable
   + *

Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Scripts.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Scripts.pm	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Scripts.pm	2006-02-27 08:49:51 UTC (rev 2244)
@@ -3,7 +3,7 @@
 use Module::Install::Base;
 @ISA = qw(Module::Install::Base);
 
-$VERSION = '0.02';
+$VERSION = '0.57';
 
 use strict;
 use File::Basename ();


Property changes on: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Scripts.pm
___________________________________________________________________
Name: svn:executable
   + *

Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Share.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Share.pm	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Share.pm	2006-02-27 08:49:51 UTC (rev 2244)
@@ -3,7 +3,7 @@
 use Module::Install::Base;
 @ISA = qw(Module::Install::Base);
 
-$VERSION = '0.02';
+$VERSION = '0.57';
 
 use strict;
 

Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Win32.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Win32.pm	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Win32.pm	2006-02-27 08:49:51 UTC (rev 2244)
@@ -3,7 +3,7 @@
 use Module::Install::Base;
 @ISA = qw(Module::Install::Base);
 
-$VERSION = '0.02';
+$VERSION = '0.57';
 
 use strict;
 


Property changes on: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Win32.pm
___________________________________________________________________
Name: svn:executable
   + *

Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/WriteAll.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/WriteAll.pm	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/WriteAll.pm	2006-02-27 08:49:51 UTC (rev 2244)
@@ -3,6 +3,10 @@
 use Module::Install::Base;
 @ISA = qw(Module::Install::Base);
 
+$VERSION = '0.57';
+
+use strict;
+
 sub WriteAll {
     my $self = shift;
     my %args = (
@@ -13,22 +17,20 @@
         @_
     );
 
-    $self->sign(1) if $args{sign};
-    $self->Meta->write if $args{meta};
+    $self->sign(1)                if $args{sign};
+    $self->Meta->write            if $args{meta};
     $self->admin->WriteAll(%args) if $self->is_admin;
 
-    if ($0 =~ /Build.PL$/i) {
+    if ( $0 =~ /Build.PL$/i ) {
         $self->Build->write;
-    }
-    else {
+    } else {
         $self->check_nmake if $args{check_nmake};
-        $self->makemaker_args( PL_FILES => {} )
-            unless $self->makemaker_args->{'PL_FILES'};
-
+        unless ( $self->makemaker_args->{'PL_FILES'} ) {
+        	$self->makemaker_args( PL_FILES => {} );
+        }
         if ($args{inline}) {
             $self->Inline->write;
-        }
-        else {
+        } else {
             $self->Makefile->write;
         }
     }


Property changes on: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/WriteAll.pm
___________________________________________________________________
Name: svn:executable
   + *

Deleted: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install-Philosophy.pod
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install-Philosophy.pod	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install-Philosophy.pod	2006-02-27 08:49:51 UTC (rev 2244)
@@ -1,187 +0,0 @@
-=head1 NAME
-
-Module::Install-Philosophy - The idea behind Module::Install
-
-=head1 SYNOPSIS
-
-This document describes the personal philosophy behind the creation of
-B<CPAN::MakeMaker> (the predecessor of B<Module::Install>).  The views
-expressed here belong to Brian Ingerson; if they are not of interest to
-you, you can safely ignore this document.
-
-=head1 I HAVE A DREAM
-
-I say to you today, my friends, that in spite of the difficulties and
-frustrations of the moment, I still have a dream. It is a dream deeply
-rooted in the Perl Module dream.
-
-I have a dream that one day this community will rise up and live out the
-true meaning of its creed: "We hold these truths to be self-evident:
-that all Perl authors are created equal."
-
-I have a dream that one day even the state of the C<CGI::> namespace, a
-desert state, sweltering with the heat of injustice and oppression, will
-be transformed into an oasis of freedom and justice.
-
-I have a dream that my four modules will one day live in an archive
-where they will not be judged by the number of their prerequisites but
-by the content of their source code.
-
-I have a dream today.
-
-=head1 DESCRIPTION
-
-The above is obviously a mutation of the monumental speech by great
-Martin Luther King (L<http://web66.coled.umn.edu/new/MLK/MLK.html>).
-While the contexts are vastly different, I feel that there are some
-serious parallelisms.
-
-The CPAN has become a place that is not free of injustice. This
-situation has arisen not out of directed oppression, but from a failure
-of our community to keep its tools sharp. It is the culmination of many
-small decisions made in the name of practicality. This is a sad state
-for an institution that was created to allow all interested people to
-contribute equally to the best of their ability.
-
-This assertion is rooted in my personal experience as an author. When I
-created my first Perl module, Inline.pm, I knew that I had done
-something important. But how was I to make a dent in vast Perl
-community?
-
-As a complete unknown in the Perl community, my voice did not travel
-far. I repeatedly tried to get even an acknowledgment from the gurus
-familiar with XS. No success. I resorted to sending messages with
-ridiculous subjects to C<modules at perl.org>. 
-(L<http://www.xray.mpe.mpg.de/mailing-lists/modules/2000-08/msg00078.html>) 
-No response. Through sheer determination and shameless self-promotion I
-eventually got the word out, and I hope the world is a slightly better
-place for it.
-
-Since then, Inline has won awards and I have had the privilege to meet almost
-all of Perl's finest. But I still remember the pain of starting out, and
-want to help invite more people into this wonderful world. 
-
-One thing I have learned from experience is that the Perl community (and
-throw in the Python and Ruby people as well) is a small drop in the vast
-ocean of programming. It's a giant pot of Java out there; and a sea of
-C. Perl may not be the biggest fish, but with some care and cunning we
-could become a much bigger school.
-
-These are the current problems that I see with CPAN and the core modules:
-
-=over 4
-
-=item * New Modules don't help Older Perls
-
-If I were to guess what percent of all Perl5 installations were at the
-current release level (5.8.0 in October 2002) I would say 3-5%. That may
-even be generous. I'd say that over 40% of installations might still be
-at 5.005 or earlier.
-
-The biggest problem with adding a module to the core is that it only
-helps a small subset of Perl users for a long long time. Worse yet, a
-good module author will still probably avoid using the core additions as
-prerequisites, because they want their new module to work as well on
-5.005 as on 5.8.
-
-CPAN::MakeMaker should be able to help in this regard. For example,
-instead of putting Inline.pm into the core for 5.9, I can now
-effectively get it into the core for every version of Perl that
-Inline supports.
-
-=item * Author Exclusiveness
-
-Not just anybody can get a module into the core. It seems you have to
-know people in high places. If I were a brilliant new talent with a
-great new module, it would have a harder time getting the ear of the
-pumpking, then if I were, say, Damian Conway. In fact, I probably
-wouldn't even know where to start.
-
-=item * Reduced Competition
-
-One comment I've heard from some very good Perl programmers is
-"Everything important has already been done". Their feeling is that
-even though a module is suboptimal, it would be a waste of time to
-write a competing module. Who would use it instead of the one already
-in the core?
-
-When I write a competing module, I know that I have to make it at least
-twice as good as the existing one to even get noticed. That's not a bad
-thing, but should everybody be forced into that situation?
-
-For example, let's say that you have created a really useful CGI script.
-Let's also say that it makes use of your own B<CGI::Special> module,
-because B<CGI.pm> doesn't meet your needs. Even though your script might be
-generally useful and worth sharing, the fact that it requires a
-non-standard module can only negatively affect its acceptance. Trying to
-get general acceptance for the superior B<CGI::Special> module will be
-harder still.
-
-Core modules are assumed by the general public to be "Best of Breed".
-While this may be true for some modules at some point in time, it keeps
-talented people from attempting to "breed" something better.
-
-=item * Core Bloat
-
-Every time we add a module to the core it gets bigger and bigger. And we
-can't ever remove modules from the core, once they've been added.
-
-If I had my druthers, we'd remove all modules from the core that weren't
-necessary for either running Perl or installing modules. Of course, we'd
-need to set things up so that installing modules was so easy, that it
-could be done on the fly if necessary. Is this easily accomplishable?
-Nope. Is it impossible? Nope. We have the best language in the world to
-help us do it!
-
-=item * Maintenance Bitrot
-
-Believe it or not, Perl authors can sometimes acquire a "Life Beyond
-Perl". They get families or new hobbies or even hit by a bus. (This
-would be a "Death Beyond Perl".) The fact is, that once somebody writes
-a piece of code and shares it with the world, they are expected to
-maintain it for all time.
-
-That is being generous. There are others that think that once their
-module has become popular or made it into the core, they don't need to
-keep fixing and improving it. I have personally been guilty of this sin.
-
-And then there's the Damian Conway Effect. This plagues the exceptional
-authors who are so innovative and prolific they simply don't have time
-to maintain everything they have written.
-
-=back
-
-I initially formalized these opinions at the YAPC (Yet Another Perl
-Conference) in June 2001. Since then I have been trying to think of
-technological solutions to fix these social problems.
-
-One idea was dubbed NAPC. NAPC is CPAN backwards. It is a large system
-of precompiled modules that can be installed on the fly, with the goal
-of reducing the number of modules in the core. NAPC hasn't got started
-yet. I'd still like to do it someday, but it's a big problem with a lot
-of issues.
-
-B<CPAN::MakeMaker> (and now B<Module::Install>) on the other hand, is
-simple and ultimately flexible.  It should work with all of the existing
-CPAN processes without requiring any changes from them. And new features
-can be continuously added. Even though it doesn't scratch all of my
-philosophical CPAN itches, it's a good start.
-
-=head1 CONCLUSION
-
-This is all just food for thought. Take it with a pinch of salt. 
-
-=head1 AUTHOR
-
-Brian Ingerson E<lt>INGY at cpan.orgE<gt>
-
-=head1 COPYRIGHT
-
-Copyright (c) 2002. Brian Ingerson. All rights reserved.
-
-This document is free documentation; you can redistribute it and/or
-modify it under the same terms as Perl itself.
-
-See L<http://www.perl.com/perl/misc/Artistic.html>
-
-=cut

Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install.pm	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install.pm	2006-02-27 08:49:51 UTC (rev 2244)
@@ -2,10 +2,16 @@
 
 use 5.004;
 use strict 'vars';
+
 use vars qw{$VERSION};
 BEGIN {
-    # Don't forget to update Module::Install::Admin too!
-    $VERSION = '0.56';
+    # All Module::Install core packages now require synchronised versions.
+    # This will be used to ensure we don't accidentally load old or
+    # different versions of modules.
+    # 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.57';
 }
 
 # inc::Module::Install must be loaded first
@@ -23,9 +29,9 @@
 }
 
 use Cwd        ();
-use FindBin;
 use File::Find ();
 use File::Path ();
+use FindBin;
 
 *inc::Module::Install::VERSION = *VERSION;
 @inc::Module::Install::ISA     = 'Module::Install';
@@ -73,11 +79,11 @@
 sub preload {
     my ($self) = @_;
 
-        unless ( $self->{extentions} ) {
-                $self->load_extensions(
-                        "$self->{prefix}/$self->{path}", $self
-                        );
-        }
+    unless ( $self->{extensions} ) {
+        $self->load_extensions(
+            "$self->{prefix}/$self->{path}", $self
+        );
+    }
 
     my @exts = @{$self->{extensions}};
     unless ( @exts ) {
@@ -85,18 +91,18 @@
         @exts = $admin->load_all_extensions;
     }
 
-    my %seen_method;
+    my %seen;
     foreach my $obj ( @exts ) {
         while (my ($method, $glob) = each %{ref($obj) . '::'}) {
             next unless defined *{$glob}{CODE};
             next if $method =~ /^_/;
             next if $method eq uc($method);
-            $seen_method{$method}++;
+            $seen{$method}++;
         }
     }
 
     my $caller = $self->_caller;
-    foreach my $name (sort keys %seen_method) {
+    foreach my $name ( sort keys %seen ) {
         *{"${caller}::$name"} = sub {
             ${"${caller}::AUTOLOAD"} = "${caller}::$name";
             goto &{"${caller}::AUTOLOAD"};
@@ -125,7 +131,7 @@
     $args{name}     ||= $class;
     $args{version}  ||= $class->VERSION;
 
-    unless ($args{path}) {
+    unless ( $args{path} ) {
         $args{path}  = $args{name};
         $args{path}  =~ s!::!/!g;
     }

Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install.pod
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install.pod	2006-02-27 01:13:54 UTC (rev 2243)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install.pod	2006-02-27 08:49:51 UTC (rev 2244)
@@ -16,26 +16,21 @@
     # Load the Module::Install bundled in ./inc/
     use inc::Module::Install;
     
-    # The name of your distribution
+    # Define metadata
     name            'Your-Module';
-    
-    # Get most of the details from the primary module
     all_from        'lib/Your/Module.pm';
     
+    # Specific dependencies
     requires        'Carp'              => 0;
     requires        'File::Spec'        => '0.80';
-    
     build_requires  'Test::More'        => '0.42';
-    
     recommends      'Your::OtherModule' => '0.01';
-    
-    # Do not index our example modules
+        
     no_index        directory           => 'demos';
     
-    # Auto-install all dependencies from CPAN
-    auto_install;
+    install_script  'bin/myscript';
     
-    # Generate the Makefile
+    auto_install;
     WriteAll;
 
 Quickly upgrade a legacy L<ExtUtil::MakeMaker> installer:
@@ -108,7 +103,7 @@
 (L<http://www.tpj.com/issues/>).
 
 For a B<lot> more information, and some personal opinions on the module
-and its creation, see L<Module::Install-Philosophy>.
+and its creation, see L<Module::Install::Philosophy>.
 
 =head1 COMMON COMMANDS
 
@@ -324,6 +319,44 @@
 is done once by the packager, and so the C<build_requires> dependency
 can be safely ignored by the binary package.
 
+=head2 requires_external_bin
+
+  requires_external_bin 'cvs';
+
+As part of its role as the dominant "glue" language, a lot of Perl
+modules run commands or programs on the host system.
+
+The C<requires_external_bin> command is used to verify that a particular
+command is available on the host system.
+
+Unlike a missing Perl module, a missing external binary is unresolvable
+at make-time, and so the F<Makefile.PL> run will abort with a "NA"
+(Not Applicable) result.
+
+In future, this command will also add additional information to the
+metadata for the dist, so that auto-packagers for particular operating
+system are more-easily able to auto-discover the appropriate non-Perl
+packages needed as a dependency.
+
+=head2 install_script
+
+  install_script 'bin/scriptname'
+
+The C<install_script> command provides support for the installation of
+scripts that will become available at the console on both Unix and
+Windows (by wrapping it up as a .bat file).
+
+Note that is it normal to B<not> put a .pl on the end of such scripts,
+so that they feel more natural when being used.
+
+In the example above, the F<bin/scriptname> program could be run after
+the installation just by doing the following.
+
+  > scriptname
+  Running scriptname 0.01...
+  
+  > 
+
 =head2 no_index
 
   no_index directory => 'examples';
@@ -347,25 +380,6 @@
 To summarise, if you can see it on L<http://search.cpan.org/> and you
 shouldn't be able to, you need a C<no_index> entry.
 
-head2 requires_external_bin
-
-  requires_external_bin 'cvs';
-
-As part of its role as the dominant "glue" language, a lot of Perl
-modules run commands or programs on the host system.
-
-The C<requires_external_bin> command is used to verify that a particular
-command is available on the host system.
-
-Unlike a missing Perl module, a missing external binary is unresolvable
-at make-time, and so the F<Makefile.PL> run will abort with a "NA"
-(Not Applicable) result.
-
-In future, this command will also add additional information to the
-metadata for the dist, so that auto-packagers for particular operating
-system are more-easily able to auto-discover the appropriate non-Perl
-packages needed as a dependency.
-
 =head2 WriteAll
 
 The C<WriteAll> command is generally the last command; it writes out
@@ -613,6 +627,10 @@
 installation tricks, you can create a specific module to abstract
 away this complexity.
 
+=head2 Module::Install isn't at 1.00 yet, is it safe to use yet?
+
+...
+
 =head1 COOKBOOK / EXAMPLES
 
 The following are some real-life examples of F<Makefile.PL> files
@@ -656,7 +674,7 @@
 
 =head1 SEE ALSO
 
-L<Module::Install-Philosophy>
+L<Module::Install::Philosophy>
 
 L<inc::Module::Install>
 
@@ -668,52 +686,16 @@
 
 L<Module::Install::Build>
 
-L<Module::Install::Directives>
-
-L<Module::Install::Fetch>
-
-L<Module::Install::Include>
-
 L<Module::Install::MakeMaker>
 
-L<Module::Install::Makefile>
+L<Module::Install::Share>
 
-L<Module::Install::Makefile::CleanFiles>
-
-L<Module::Install::Makefile::Name>
-
-L<Module::Install::Makefile::Version>
-
-L<Module::Install::Metadata>
-
-L<Module::Install::PAR>
-
-L<Module::Install::Run>
-
-L<Module::Install::Scripts>
-
-L<Module::Install::Win32>
-
-L<Module::Install::WriteAll>
-
 L<Module::Install::Admin>
 
-L<Module::Install::Admin::Bundle>
-
-L<Module::Install::Admin::Find>
-
 L<Module::Install::Admin::Include>
 
-L<Module::Install::Admin::Makefile>
-
 L<Module::Install::Admin::Manifest>
 
-L<Module::Install::Admin::Metadata>
-
-L<Module::Install::Admin::ScanDeps>
-
-L<Module::Install::Admin::WriteAll>
-
 L<CPAN::MakeMaker>, L<Inline::MakeMaker>
 
 L<ExtUtils::MakeMaker>, L<Module::Build>




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