Hello community,
here is the log from the commit of package perl-Module-Install for openSUSE:Factory checked in at 2011-11-14 13:24:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Module-Install (Old)
and /work/SRC/openSUSE:Factory/.perl-Module-Install.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Module-Install", Maintainer is ""
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Module-Install/perl-Module-Install.changes 2011-09-23 12:38:07.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Module-Install.new/perl-Module-Install.changes 2011-11-14 13:24:12.000000000 +0100
@@ -1,0 +2,22 @@
+Sat Nov 12 09:06:05 UTC 2011 - coolo@suse.com
+
+- update to 1.04:
+ - Fixed _cmp to compare properly (MIYAGAWA)
+ - Fixed the automated MakeMaker dependency addition (MIYAGAWA)
+ - Last Perl 5.5 compatible MakeMaker was actually 6.36 (ADAMK)
+ - META.yml flag dynamic_config is now always generated (ADAMK)
+ - Added the convenience command static_config, as the default is to be
+ dynamic (ADAMK)
+ - Module::Install::DSL will automatically set static_config unless it
+ can see an 'if' or 'unless' suffix (ADAMK)
+
+-------------------------------------------------------------------
+Fri Sep 30 07:10:38 UTC 2011 - pascal.bleser@opensuse.org
+
+- update to 1.02:
+ * support for installdeps_target in Module::Install::AutoInstall and
+ Module::AutoInstall
+ * support for installdeps_notest, upgradedeps and upgradedeps_notest,
+ listdeps and listalldeps targets in Module::AutoInstall
+
+-------------------------------------------------------------------
Old:
----
Module-Install-1.01.tar.gz
New:
----
Module-Install-1.04.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Module-Install.spec ++++++
--- /var/tmp/diff_new_pack.Wd57PZ/_old 2011-11-14 13:24:14.000000000 +0100
+++ /var/tmp/diff_new_pack.Wd57PZ/_new 2011-11-14 13:24:14.000000000 +0100
@@ -18,7 +18,7 @@
Name: perl-Module-Install
-Version: 1.01
+Version: 1.04
Release: 1
License: GPL+ or Artistic
%define cpan_name Module-Install
++++++ Module-Install-1.01.tar.gz -> Module-Install-1.04.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/Changes new/Module-Install-1.04/Changes
--- old/Module-Install-1.01/Changes 2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/Changes 2011-10-20 02:31:07.000000000 +0200
@@ -1,5 +1,23 @@
Changes for Perl programming language extension Module-Install
+1.04 Thu 20 Oct 2011
+ - Fixed _cmp to compare properly (MIYAGAWA)
+ - Fixed the automated MakeMaker dependency addition (MIYAGAWA)
+ - Last Perl 5.5 compatible MakeMaker was actually 6.36 (ADAMK)
+
+1.03 Wed 19 Oct 2011
+ - META.yml flag dynamic_config is now always generated (ADAMK)
+ - Added the convenience command static_config, as the default is to be
+ dynamic (ADAMK)
+ - Module::Install::DSL will automatically set static_config unless it
+ can see an 'if' or 'unless' suffix (ADAMK)
+
+1.02 Thu 29 Sep 2011
+ - Support for installdeps_target in Module::Install::AutoInstall and
+ Module::AutoInstall (Caelum)
+ - Support for installdeps_notest, upgradedeps and upgradedeps_notest,
+ listdeps and listalldeps targets in Module::AutoInstall (Caelum)
+
1.01 Wed 27 Apr 2011
- Better error message in install_share (CHORNY)
- Compatibility with MYMETA.yml support in EUMM (CHORNY)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/META.yml new/Module-Install-1.04/META.yml
--- old/Module-Install-1.01/META.yml 2011-04-27 15:14:30.000000000 +0200
+++ new/Module-Install-1.04/META.yml 2011-10-20 02:34:15.000000000 +0200
@@ -3,14 +3,15 @@
author:
- 'Adam Kennedy '
build_requires:
- ExtUtils::MakeMaker: 6.42
+ ExtUtils::MakeMaker: 6.36
Test::Harness: 3.13
Test::More: 0.86
configure_requires:
- ExtUtils::MakeMaker: 6.42
+ ExtUtils::MakeMaker: 6.36
YAML::Tiny: 1.33
distribution_type: module
-generated_by: 'Module::Install version 1.01'
+dynamic_config: 0
+generated_by: 'Module::Install version 1.04'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -41,4 +42,4 @@
ChangeLog: http://fisheye2.atlassian.com/changelog/cpan/trunk/Module-Install
license: http://dev.perl.org/licenses/
repository: http://svn.ali.as/cpan/trunk/Module-Install
-version: 1.01
+version: 1.04
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/Makefile.PL new/Module-Install-1.04/Makefile.PL
--- old/Module-Install-1.01/Makefile.PL 2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/Makefile.PL 2011-10-20 02:31:07.000000000 +0200
@@ -54,4 +54,7 @@
# by release automation. This is mostly for testing reasons.
repository 'http://svn.ali.as/cpan/trunk/Module-Install';
+# All of our dependencies are the same on all platforms
+dynamic_config 0;
+
WriteAll;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/README new/Module-Install-1.04/README
--- old/Module-Install-1.01/README 2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/README 2011-10-20 02:31:07.000000000 +0200
@@ -5,19 +5,19 @@
In your Makefile.PL: (Recommended Usage)
use inc::Module::Install;
-
- # Define metadata
+
+ # Define metadata
name 'Your-Module';
all_from 'lib/Your/Module.pm';
-
- # Specific dependencies
+
+ # Specific dependencies
requires 'File::Spec' => '0.80';
test_requires 'Test::More' => '0.42';
recommends 'Text::CSV_XS'=> '0.50';
no_index 'directory' => 'demos';
install_script 'myscript';
-
- WriteAll;
+
+ WriteAll;
Quickly upgrade a legacy ExtUtil::MakeMaker installer:
@@ -348,8 +348,8 @@
> scriptname
Running scriptname 0.01...
-
- >
+
+ >
By convention, scripts should be placed in a /script directory within
your distribution. To support less typing, if a script is located in the
@@ -614,8 +614,8 @@
smallest possible Makefile.PL.
use inc::Module::Install;
-
- name 'Method-Alias';
+
+ name 'Method-Alias';
all_from 'lib/Method/Alias.pm';
test_requires 'Test::More' => '0.42';
@@ -624,23 +624,23 @@
installer that can handle different dependencies on different platforms.
use inc::Module::Install;
-
- name 'File-HomeDir';
+
+ name 'File-HomeDir';
all_from 'lib/File/HomeDir.pm';
requires 'File::Spec' => '0.80';
test_requires 'Test::More' => '0.47';
-
- if ( $MacPerl::Version ) {
+
+ if ( $MacPerl::Version ) {
# Needed on legacy Mac OS 9
requires 'Mac::Files' => 0;
}
-
- if ( $^O eq 'MXWin32' ) {
+
+ if ( $^O eq 'MXWin32' ) {
# Needed on Windows platforms
requires 'Win32::TieRegistry' => 0;
}
-
- WriteAll;
+
+ WriteAll;
TO DO
Implement Module::Install::Compiled and Module::Install::Admin::Compiled
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/inc/Module/Install/Base.pm new/Module-Install-1.04/inc/Module/Install/Base.pm
--- old/Module-Install-1.01/inc/Module/Install/Base.pm 2011-04-27 15:14:30.000000000 +0200
+++ new/Module-Install-1.04/inc/Module/Install/Base.pm 2011-10-20 02:34:15.000000000 +0200
@@ -4,7 +4,7 @@
use strict 'vars';
use vars qw{$VERSION};
BEGIN {
- $VERSION = '1.01';
+ $VERSION = '1.04';
}
# Suspend handler for "redefined" warnings
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/inc/Module/Install/Can.pm new/Module-Install-1.04/inc/Module/Install/Can.pm
--- old/Module-Install-1.01/inc/Module/Install/Can.pm 2011-04-27 15:14:30.000000000 +0200
+++ new/Module-Install-1.04/inc/Module/Install/Can.pm 2011-10-20 02:34:15.000000000 +0200
@@ -9,7 +9,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.01';
+ $VERSION = '1.04';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/inc/Module/Install/Fetch.pm new/Module-Install-1.04/inc/Module/Install/Fetch.pm
--- old/Module-Install-1.01/inc/Module/Install/Fetch.pm 2011-04-27 15:14:30.000000000 +0200
+++ new/Module-Install-1.04/inc/Module/Install/Fetch.pm 2011-10-20 02:34:15.000000000 +0200
@@ -6,7 +6,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.01';
+ $VERSION = '1.04';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/inc/Module/Install/Makefile.pm new/Module-Install-1.04/inc/Module/Install/Makefile.pm
--- old/Module-Install-1.01/inc/Module/Install/Makefile.pm 2011-04-27 15:14:30.000000000 +0200
+++ new/Module-Install-1.04/inc/Module/Install/Makefile.pm 2011-10-20 02:34:15.000000000 +0200
@@ -8,7 +8,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.01';
+ $VERSION = '1.04';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -219,14 +219,14 @@
# an underscore, even though its own version may contain one!
# Hence the funny regexp to get rid of it. See RT #35800
# for details.
- my $v = $ExtUtils::MakeMaker::VERSION =~ /^(\d+\.\d+)/;
+ my ($v) = $ExtUtils::MakeMaker::VERSION =~ /^(\d+\.\d+)/;
$self->build_requires( 'ExtUtils::MakeMaker' => $v );
$self->configure_requires( 'ExtUtils::MakeMaker' => $v );
} else {
# Allow legacy-compatibility with 5.005 by depending on the
# most recent EU:MM that supported 5.005.
- $self->build_requires( 'ExtUtils::MakeMaker' => 6.42 );
- $self->configure_requires( 'ExtUtils::MakeMaker' => 6.42 );
+ $self->build_requires( 'ExtUtils::MakeMaker' => 6.36 );
+ $self->configure_requires( 'ExtUtils::MakeMaker' => 6.36 );
}
# Generate the MakeMaker params
@@ -241,7 +241,6 @@
'all_from' if you prefer) in Makefile.PL.
EOT
- $DB::single = 1;
if ( $self->tests ) {
my @tests = split ' ', $self->tests;
my %seen;
@@ -412,4 +411,4 @@
__END__
-#line 541
+#line 540
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/inc/Module/Install/Metadata.pm new/Module-Install-1.04/inc/Module/Install/Metadata.pm
--- old/Module-Install-1.01/inc/Module/Install/Metadata.pm 2011-04-27 15:14:30.000000000 +0200
+++ new/Module-Install-1.04/inc/Module/Install/Metadata.pm 2011-10-20 02:34:15.000000000 +0200
@@ -6,7 +6,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.01';
+ $VERSION = '1.04';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -151,15 +151,21 @@
sub install_as_vendor { $_[0]->installdirs('vendor') }
sub dynamic_config {
- my $self = shift;
- unless ( @_ ) {
- warn "You MUST provide an explicit true/false value to dynamic_config\n";
- return $self;
+ my $self = shift;
+ my $value = @_ ? shift : 1;
+ if ( $self->{values}->{dynamic_config} ) {
+ # Once dynamic we never change to static, for safety
+ return 0;
}
- $self->{values}->{dynamic_config} = $_[0] ? 1 : 0;
+ $self->{values}->{dynamic_config} = $value ? 1 : 0;
return 1;
}
+# Convenience command
+sub static_config {
+ shift->dynamic_config(0);
+}
+
sub perl_version {
my $self = shift;
return $self->{values}->{perl_version} unless @_;
@@ -170,7 +176,7 @@
# Normalize the version
$version = $self->_perl_version($version);
- # We don't support the reall old versions
+ # We don't support the really old versions
unless ( $version >= 5.005 ) {
die "Module::Install only supports 5.005 or newer (use ExtUtils::MakeMaker)\n";
}
@@ -582,7 +588,7 @@
sub requires_from {
my $self = shift;
my $content = Module::Install::_readperl($_[0]);
- my @requires = $content =~ m/^use\s+([^\W\d]\w*(?:::\w+)*)\s+([\d\.]+)/mg;
+ my @requires = $content =~ m/^use\s+([^\W\d]\w*(?:::\w+)*)\s+(v?[\d\.]+)/mg;
while ( @requires ) {
my $module = shift @requires;
my $version = shift @requires;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/inc/Module/Install/Win32.pm new/Module-Install-1.04/inc/Module/Install/Win32.pm
--- old/Module-Install-1.01/inc/Module/Install/Win32.pm 2011-04-27 15:14:30.000000000 +0200
+++ new/Module-Install-1.04/inc/Module/Install/Win32.pm 2011-10-20 02:34:15.000000000 +0200
@@ -6,7 +6,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.01';
+ $VERSION = '1.04';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/inc/Module/Install/WriteAll.pm new/Module-Install-1.04/inc/Module/Install/WriteAll.pm
--- old/Module-Install-1.01/inc/Module/Install/WriteAll.pm 2011-04-27 15:14:30.000000000 +0200
+++ new/Module-Install-1.04/inc/Module/Install/WriteAll.pm 2011-10-20 02:34:15.000000000 +0200
@@ -6,7 +6,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.01';
+ $VERSION = '1.04';
@ISA = qw{Module::Install::Base};
$ISCORE = 1;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/inc/Module/Install.pm new/Module-Install-1.04/inc/Module/Install.pm
--- old/Module-Install-1.01/inc/Module/Install.pm 2011-04-27 15:14:30.000000000 +0200
+++ new/Module-Install-1.04/inc/Module/Install.pm 2011-10-20 02:34:15.000000000 +0200
@@ -31,7 +31,7 @@
# This is not enforced yet, but will be some time in the next few
# releases once we can make sure it won't clash with custom
# Module::Install extensions.
- $VERSION = '1.01';
+ $VERSION = '1.04';
# Storage for the pseudo-singleton
$MAIN = undef;
@@ -451,7 +451,7 @@
}
sub _cmp ($$) {
- _version($_[0]) <=> _version($_[1]);
+ _version($_[1]) <=> _version($_[2]);
}
# Cloned from Params::Util::_CLASS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/lib/Module/AutoInstall.pm new/Module-Install-1.04/lib/Module/AutoInstall.pm
--- old/Module-Install-1.01/lib/Module/AutoInstall.pm 2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/AutoInstall.pm 2011-10-20 02:31:07.000000000 +0200
@@ -6,7 +6,7 @@
use vars qw{$VERSION};
BEGIN {
- $VERSION = '1.03';
+ $VERSION = '1.04';
}
# special map on pre-defined feature sets
@@ -16,11 +16,14 @@
);
# various lexical flags
-my ( @Missing, @Existing, %DisabledTests, $UnderCPAN, $HasCPANPLUS );
+my ( @Missing, @Existing, %DisabledTests, $UnderCPAN, $InstallDepsTarget, $HasCPANPLUS );
my (
- $Config, $CheckOnly, $SkipInstall, $AcceptDefault, $TestOnly, $AllDeps
+ $Config, $CheckOnly, $SkipInstall, $AcceptDefault, $TestOnly, $AllDeps,
+ $UpgradeDeps
);
-my ( $PostambleActions, $PostambleUsed );
+my ( $PostambleActions, $PostambleActionsNoTest, $PostambleActionsUpgradeDeps,
+ $PostambleActionsUpgradeDepsNoTest, $PostambleActionsListDeps,
+ $PostambleActionsListAllDeps, $PostambleUsed, $NoTest);
# See if it's a testing or non-interactive session
_accept_default( $ENV{AUTOMATED_TESTING} or ! -t STDIN );
@@ -30,6 +33,10 @@
$AcceptDefault = shift;
}
+sub _installdeps_target {
+ $InstallDepsTarget = shift;
+}
+
sub missing_modules {
return @Missing;
}
@@ -62,6 +69,11 @@
__PACKAGE__->install( $Config, @Missing = split( /,/, $1 ) );
exit 0;
}
+ elsif ( $arg =~ /^--upgradedeps=(.*)$/ ) {
+ $UpgradeDeps = 1;
+ __PACKAGE__->install( $Config, @Missing = split( /,/, $1 ) );
+ exit 0;
+ }
elsif ( $arg =~ /^--default(?:deps)?$/ ) {
$AcceptDefault = 1;
}
@@ -124,7 +136,7 @@
# check entirely since we don't want to have to load (and configure)
# an old CPAN just for a cosmetic message
- $UnderCPAN = _check_lock(1) unless $SkipInstall;
+ $UnderCPAN = _check_lock(1) unless $SkipInstall || $InstallDepsTarget;
while ( my ( $feature, $modules ) = splice( @args, 0, 2 ) ) {
my ( @required, @tests, @skiptests );
@@ -206,6 +218,7 @@
$CheckOnly
or ($mandatory and $UnderCPAN)
or $AllDeps
+ or $InstallDepsTarget
or _prompt(
qq{==> Auto-install the }
. ( @required / 2 )
@@ -236,10 +249,17 @@
}
}
- if ( @Missing and not( $CheckOnly or $UnderCPAN ) ) {
+ if ( @Missing and not( $CheckOnly or $UnderCPAN) ) {
require Config;
- print
-"*** Dependencies will be installed the next time you type '$Config::Config{make}'.\n";
+ my $make = $Config::Config{make};
+ if ($InstallDepsTarget) {
+ print
+"*** To install dependencies type '$make installdeps' or '$make installdeps_notest'.\n";
+ }
+ else {
+ print
+"*** Dependencies will be installed the next time you type '$make'.\n";
+ }
# make an educated guess of whether we'll need root permission.
print " (You may need to do that as the 'root' user.)\n"
@@ -270,6 +290,10 @@
sub _check_lock {
return unless @Missing or @_;
+ if ($ENV{PERL5_CPANM_IS_RUNNING}) {
+ return _running_under('cpanminus');
+ }
+
my $cpan_env = $ENV{PERL5_CPAN_IS_RUNNING};
if ($ENV{PERL5_CPANPLUS_IS_RUNNING}) {
@@ -331,6 +355,11 @@
}
}
+ if ($UpgradeDeps) {
+ push @modules, @installed;
+ @installed = ();
+ }
+
return @installed unless @modules; # nothing to do
return @installed if _check_lock(); # defer to the CPAN shell
@@ -462,6 +491,11 @@
} else {
die "*** Cannot convert option $key = '$value' to CPANPLUS version.\n";
}
+ push @config, 'prereqs', $value;
+ } elsif ( $key eq 'force' ) {
+ push @config, $key, $value;
+ } elsif ( $key eq 'notest' ) {
+ push @config, 'skiptest', $value;
} else {
die "*** Cannot convert option $key to CPANPLUS version.\n";
}
@@ -496,10 +530,14 @@
# set additional options
while ( my ( $opt, $arg ) = splice( @config, 0, 2 ) ) {
( $args{$opt} = $arg, next )
- if $opt =~ /^force$/; # pseudo-option
+ if $opt =~ /^(?:force|notest)$/; # pseudo-option
$CPAN::Config->{$opt} = $arg;
}
+ if ($args{notest} && (not CPAN::Shell->can('notest'))) {
+ die "Your version of CPAN is too old to support the 'notest' pragma";
+ }
+
local $CPAN::Config->{prerequisites_policy} = 'follow';
while ( my ( $pkg, $ver ) = splice( @modules, 0, 2 ) ) {
@@ -518,8 +556,16 @@
delete $INC{$inc};
}
- my $rv = $args{force} ? CPAN::Shell->force( install => $pkg )
- : CPAN::Shell->install($pkg);
+ my $rv = do {
+ if ($args{force}) {
+ CPAN::Shell->force( install => $pkg )
+ } elsif ($args{notest}) {
+ CPAN::Shell->notest( install => $pkg )
+ } else {
+ CPAN::Shell->install($pkg)
+ }
+ };
+
$rv ||= eval {
$CPAN::META->instance( 'CPAN::Distribution', $obj->cpan_file, )
->{install}
@@ -762,6 +808,35 @@
: "\$(NOECHO) \$(NOOP)"
);
+ my $deps_list = join( ',', @Missing, @Existing );
+
+ $PostambleActionsUpgradeDeps =
+ "\$(PERL) $0 --config=$config --upgradedeps=$deps_list";
+
+ my $config_notest =
+ join( ',', (UNIVERSAL::isa( $Config, 'HASH' ) ? %{$Config} : @{$Config}),
+ 'notest', 1 )
+ if $Config;
+
+ $PostambleActionsNoTest = (
+ ($missing and not $UnderCPAN)
+ ? "\$(PERL) $0 --config=$config_notest --installdeps=$missing"
+ : "\$(NOECHO) \$(NOOP)"
+ );
+
+ $PostambleActionsUpgradeDepsNoTest =
+ "\$(PERL) $0 --config=$config_notest --upgradedeps=$deps_list";
+
+ $PostambleActionsListDeps =
+ '@$(PERL) -le "print for @ARGV" '
+ . join(' ', map $Missing[$_], grep $_ % 2 == 0, 0..$#Missing);
+
+ my @all = (@Missing, @Existing);
+
+ $PostambleActionsListAllDeps =
+ '@$(PERL) -le "print for @ARGV" '
+ . join(' ', map $all[$_], grep $_ % 2 == 0, 0..$#all);
+
return %args;
}
@@ -796,11 +871,15 @@
sub postamble {
$PostambleUsed = 1;
+ my $fragment;
- return <<"END_MAKE";
+ $fragment .= <<"AUTO_INSTALL" if !$InstallDepsTarget;
config :: installdeps
\t\$(NOECHO) \$(NOOP)
+AUTO_INSTALL
+
+ $fragment .= <<"END_MAKE";
checkdeps ::
\t\$(PERL) $0 --checkdeps
@@ -808,8 +887,24 @@
installdeps ::
\t$PostambleActions
+installdeps_notest ::
+\t$PostambleActionsNoTest
+
+upgradedeps ::
+\t$PostambleActionsUpgradeDeps
+
+upgradedeps_notest ::
+\t$PostambleActionsUpgradeDepsNoTest
+
+listdeps ::
+\t$PostambleActionsListDeps
+
+listalldeps ::
+\t$PostambleActionsListAllDeps
+
END_MAKE
+ return $fragment;
}
1;
@@ -873,6 +968,11 @@
% make [all|test|install] # install dependencies first
% make checkdeps # same as the --checkdeps above
% make installdeps # install dependencies only
+ % make installdeps_notest # same without running tests
+ % make upgradedeps # upgrade all deps, even if installed
+ % make upgradedeps_notest # same without running tests
+ % make listdeps # print unsatisifed deps, one per line
+ % make listalldeps # print all deps, one per line
=head1 DESCRIPTION
@@ -885,6 +985,10 @@
supports F files based on MakeMaker; see L</EXAMPLES>
for instructions.
+Specifying C instead of C will not try to
+install dependencies when running C<make>, but only when running C.
+
=head2 Prerequisites and Features
Prerequisites are grouped into B<features>, and the user could choose
@@ -1033,9 +1137,12 @@
you're running under L<CPAN> or L<CPANPLUS>, in which case required dependencies
will be installed.
-It also read from the C environment variable if
+It is also read from the C environment variable if
C is not defined.
+You can also set C to use CPAN to install
+dependencies. By default CPANPLUS is used.
+
=head1 SEE ALSO
LModule::Install
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/Admin/Bundle.pm new/Module-Install-1.04/lib/Module/Install/Admin/Bundle.pm
--- old/Module-Install-1.01/lib/Module/Install/Admin/Bundle.pm 2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Admin/Bundle.pm 2011-10-20 02:31:07.000000000 +0200
@@ -7,7 +7,7 @@
use vars qw{$VERSION @ISA};
BEGIN {
- $VERSION = '1.01';
+ $VERSION = '1.04';
@ISA = qw{Module::Install::Base};
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/Admin/Compiler.pm new/Module-Install-1.04/lib/Module/Install/Admin/Compiler.pm
--- old/Module-Install-1.01/lib/Module/Install/Admin/Compiler.pm 2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Admin/Compiler.pm 2011-10-20 02:31:07.000000000 +0200
@@ -7,7 +7,7 @@
use vars qw{$VERSION @ISA};
BEGIN {
- $VERSION = '1.01';
+ $VERSION = '1.04';
@ISA = qw{Module::Install::Base};
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/Admin/Find.pm new/Module-Install-1.04/lib/Module/Install/Admin/Find.pm
--- old/Module-Install-1.01/lib/Module/Install/Admin/Find.pm 2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Admin/Find.pm 2011-10-20 02:31:07.000000000 +0200
@@ -5,7 +5,7 @@
use Module::Install::Base ();
use vars qw{$VERSION @ISA};
BEGIN {
- $VERSION = '1.01';
+ $VERSION = '1.04';
@ISA = qw(Module::Install::Base);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/Admin/Include.pm new/Module-Install-1.04/lib/Module/Install/Admin/Include.pm
--- old/Module-Install-1.01/lib/Module/Install/Admin/Include.pm 2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Admin/Include.pm 2011-10-20 02:31:07.000000000 +0200
@@ -5,7 +5,7 @@
use vars qw{$VERSION @ISA};
BEGIN {
- $VERSION = '1.01';
+ $VERSION = '1.04';
@ISA = qw{Module::Install::Base};
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/Admin/Makefile.pm new/Module-Install-1.04/lib/Module/Install/Admin/Makefile.pm
--- old/Module-Install-1.01/lib/Module/Install/Admin/Makefile.pm 2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Admin/Makefile.pm 2011-10-20 02:31:07.000000000 +0200
@@ -6,7 +6,7 @@
use vars qw{$VERSION @ISA};
BEGIN {
- $VERSION = '1.01';
+ $VERSION = '1.04';
@ISA = qw{Module::Install::Base};
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/Admin/Manifest.pm new/Module-Install-1.04/lib/Module/Install/Admin/Manifest.pm
--- old/Module-Install-1.01/lib/Module/Install/Admin/Manifest.pm 2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Admin/Manifest.pm 2011-10-20 02:31:07.000000000 +0200
@@ -5,7 +5,7 @@
use vars qw{$VERSION @ISA};
BEGIN {
- $VERSION = '1.01';
+ $VERSION = '1.04';
@ISA = qw{Module::Install::Base};
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/Admin/Metadata.pm new/Module-Install-1.04/lib/Module/Install/Admin/Metadata.pm
--- old/Module-Install-1.01/lib/Module/Install/Admin/Metadata.pm 2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Admin/Metadata.pm 2011-10-20 02:31:07.000000000 +0200
@@ -6,7 +6,7 @@
use vars qw{$VERSION @ISA};
BEGIN {
- $VERSION = '1.01';
+ $VERSION = '1.04';
@ISA = 'Module::Install::Base';
}
@@ -59,6 +59,13 @@
delete $val->{sign};
+ # Dependencies MUST be assumed to be dynamic unless indicated
+ # otherwise, otherwise a negligant author who accidentally forgets
+ # to say which will release modules that break on some platforms.
+ unless ( defined $val->{dynamic_config} ) {
+ $val->{dynamic_config} = 1;
+ }
+
my $perl_version = delete $val->{perl_version};
if ( $perl_version ) {
$val->{requires} ||= [];
@@ -125,8 +132,9 @@
# Generate the structure we'll be dumping
my $meta = {
- resources => {},
- license => $val->{license},
+ resources => {},
+ license => $val->{license},
+ dynamic_config => $val->{dynamic_config},
};
foreach my $key ( $self->Meta_ScalarKeys ) {
next if $key eq 'installdirs';
@@ -141,8 +149,8 @@
$meta->{$key} = { map { @$_ } @{ $val->{$key} } };
}
- if ( $self->_cmp( $meta->{configure_requires}->{'ExtUtils::MakeMaker'}, '6.36' ) >= 0 ) {
- # Starting from this version ExtUtils::MakeMaker requires perl 5.6
+ if ( $self->_cmp( $meta->{configure_requires}->{'ExtUtils::MakeMaker'}, '6.36' ) > 0 ) {
+ # After this version ExtUtils::MakeMaker requires perl 5.6
unless ( $perl_version && $self->perl_version($perl_version) >= 5.006 ) {
$meta->{requires}->{perl} = '5.006';
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/Admin/ScanDeps.pm new/Module-Install-1.04/lib/Module/Install/Admin/ScanDeps.pm
--- old/Module-Install-1.01/lib/Module/Install/Admin/ScanDeps.pm 2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Admin/ScanDeps.pm 2011-10-20 02:31:07.000000000 +0200
@@ -4,7 +4,7 @@
use Module::Install::Base ();
use vars qw{$VERSION @ISA};
BEGIN {
- $VERSION = '1.01';
+ $VERSION = '1.04';
@ISA = qw(Module::Install::Base);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/Admin/WriteAll.pm new/Module-Install-1.04/lib/Module/Install/Admin/WriteAll.pm
--- old/Module-Install-1.01/lib/Module/Install/Admin/WriteAll.pm 2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Admin/WriteAll.pm 2011-10-20 02:31:07.000000000 +0200
@@ -5,7 +5,7 @@
use vars qw{$VERSION @ISA};
BEGIN {
- $VERSION = '1.01';
+ $VERSION = '1.04';
@ISA = qw{Module::Install::Base};
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/Admin.pm new/Module-Install-1.04/lib/Module/Install/Admin.pm
--- old/Module-Install-1.01/lib/Module/Install/Admin.pm 2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Admin.pm 2011-10-20 02:31:07.000000000 +0200
@@ -6,7 +6,7 @@
use vars qw{$VERSION @ISA};
BEGIN {
- $VERSION = '1.01';
+ $VERSION = '1.04';
@ISA = 'Module::Install';
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/AutoInstall.pm new/Module-Install-1.04/lib/Module/Install/AutoInstall.pm
--- old/Module-Install-1.01/lib/Module/Install/AutoInstall.pm 2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/AutoInstall.pm 2011-10-20 02:31:07.000000000 +0200
@@ -5,7 +5,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.01';
+ $VERSION = '1.04';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -72,6 +72,17 @@
);
}
+sub installdeps_target {
+ my ($self, @args) = @_;
+
+ $self->include('Module::AutoInstall');
+ require Module::AutoInstall;
+
+ Module::AutoInstall::_installdeps_target(1);
+
+ $self->auto_install(@args);
+}
+
sub auto_install_now {
my $self = shift;
$self->auto_install(@_);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/Base.pm new/Module-Install-1.04/lib/Module/Install/Base.pm
--- old/Module-Install-1.01/lib/Module/Install/Base.pm 2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Base.pm 2011-10-20 02:31:07.000000000 +0200
@@ -3,7 +3,7 @@
use strict 'vars';
use vars qw{$VERSION};
BEGIN {
- $VERSION = '1.01';
+ $VERSION = '1.04';
}
# Suspend handler for "redefined" warnings
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/Bundle.pm new/Module-Install-1.04/lib/Module/Install/Bundle.pm
--- old/Module-Install-1.01/lib/Module/Install/Bundle.pm 2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Bundle.pm 2011-10-20 02:31:07.000000000 +0200
@@ -6,7 +6,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.01';
+ $VERSION = '1.04';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/Can.pm new/Module-Install-1.04/lib/Module/Install/Can.pm
--- old/Module-Install-1.01/lib/Module/Install/Can.pm 2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Can.pm 2011-10-20 02:31:07.000000000 +0200
@@ -8,7 +8,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.01';
+ $VERSION = '1.04';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/Compiler.pm new/Module-Install-1.04/lib/Module/Install/Compiler.pm
--- old/Module-Install-1.01/lib/Module/Install/Compiler.pm 2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Compiler.pm 2011-10-20 02:31:07.000000000 +0200
@@ -6,7 +6,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.01';
+ $VERSION = '1.04';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/DSL.pm new/Module-Install-1.04/lib/Module/Install/DSL.pm
--- old/Module-Install-1.01/lib/Module/Install/DSL.pm 2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/DSL.pm 2011-10-20 02:31:07.000000000 +0200
@@ -3,7 +3,7 @@
use strict;
use vars qw{$VERSION $ISCORE};
BEGIN {
- $VERSION = '1.01';
+ $VERSION = '1.04';
$ISCORE = 1;
*inc::Module::Install::DSL::VERSION = *VERSION;
@inc::Module::Install::DSL::ISA = __PACKAGE__;
@@ -58,7 +58,8 @@
my @lines = grep { /\S/ } split /[\012\015]+/, $dsl;
# Each line represents one command
- my @code = ();
+ my @code = ();
+ my $static = 1;
foreach my $line ( @lines ) {
# Split the lines into tokens
my @tokens = split /\s+/, $line;
@@ -73,6 +74,10 @@
# This is the beginning of a suffix
push @suffix, $token;
push @suffix, @tokens;
+
+ # The conditional means this distribution
+ # can no longer be considered fully static.
+ $static = 0;
last;
} else {
# Convert to a string
@@ -86,6 +91,9 @@
push @code, join( ' ', @tokens ) . ";\n";
}
+ # Is our configuration static?
+ push @code, "static_config;\n" if $static;
+
# Join into the complete code block
return join( '', @code );
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/Deprecated.pm new/Module-Install-1.04/lib/Module/Install/Deprecated.pm
--- old/Module-Install-1.01/lib/Module/Install/Deprecated.pm 2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Deprecated.pm 2011-10-20 02:31:07.000000000 +0200
@@ -5,7 +5,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.01';
+ $VERSION = '1.04';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/External.pm new/Module-Install-1.04/lib/Module/Install/External.pm
--- old/Module-Install-1.01/lib/Module/Install/External.pm 2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/External.pm 2011-10-20 02:31:07.000000000 +0200
@@ -7,7 +7,7 @@
use vars qw{$VERSION $ISCORE @ISA};
BEGIN {
- $VERSION = '1.01';
+ $VERSION = '1.04';
$ISCORE = 1;
@ISA = qw{Module::Install::Base};
}
@@ -40,7 +40,7 @@
$self->load('can_run');
# Locate the bin
- print "Locating required external dependency bin:$bin...";
+ print "Locating bin:$bin...";
my $found_bin = $self->can_run( $bin );
if ( $found_bin ) {
print " found at $found_bin.\n";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/Fetch.pm new/Module-Install-1.04/lib/Module/Install/Fetch.pm
--- old/Module-Install-1.01/lib/Module/Install/Fetch.pm 2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Fetch.pm 2011-10-20 02:31:07.000000000 +0200
@@ -5,7 +5,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.01';
+ $VERSION = '1.04';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/Include.pm new/Module-Install-1.04/lib/Module/Install/Include.pm
--- old/Module-Install-1.01/lib/Module/Install/Include.pm 2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Include.pm 2011-10-20 02:31:07.000000000 +0200
@@ -5,7 +5,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.01';
+ $VERSION = '1.04';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/Inline.pm new/Module-Install-1.04/lib/Module/Install/Inline.pm
--- old/Module-Install-1.01/lib/Module/Install/Inline.pm 2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Inline.pm 2011-10-20 02:31:07.000000000 +0200
@@ -5,7 +5,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.01';
+ $VERSION = '1.04';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/MakeMaker.pm new/Module-Install-1.04/lib/Module/Install/MakeMaker.pm
--- old/Module-Install-1.01/lib/Module/Install/MakeMaker.pm 2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/MakeMaker.pm 2011-10-20 02:31:07.000000000 +0200
@@ -6,7 +6,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.01';
+ $VERSION = '1.04';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/Makefile.pm new/Module-Install-1.04/lib/Module/Install/Makefile.pm
--- old/Module-Install-1.01/lib/Module/Install/Makefile.pm 2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Makefile.pm 2011-10-20 02:31:07.000000000 +0200
@@ -7,7 +7,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.01';
+ $VERSION = '1.04';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -218,14 +218,14 @@
# an underscore, even though its own version may contain one!
# Hence the funny regexp to get rid of it. See RT #35800
# for details.
- my $v = $ExtUtils::MakeMaker::VERSION =~ /^(\d+\.\d+)/;
+ my ($v) = $ExtUtils::MakeMaker::VERSION =~ /^(\d+\.\d+)/;
$self->build_requires( 'ExtUtils::MakeMaker' => $v );
$self->configure_requires( 'ExtUtils::MakeMaker' => $v );
} else {
# Allow legacy-compatibility with 5.005 by depending on the
# most recent EU:MM that supported 5.005.
- $self->build_requires( 'ExtUtils::MakeMaker' => 6.42 );
- $self->configure_requires( 'ExtUtils::MakeMaker' => 6.42 );
+ $self->build_requires( 'ExtUtils::MakeMaker' => 6.36 );
+ $self->configure_requires( 'ExtUtils::MakeMaker' => 6.36 );
}
# Generate the MakeMaker params
@@ -240,7 +240,6 @@
'all_from' if you prefer) in Makefile.PL.
EOT
- $DB::single = 1;
if ( $self->tests ) {
my @tests = split ' ', $self->tests;
my %seen;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/Metadata.pm new/Module-Install-1.04/lib/Module/Install/Metadata.pm
--- old/Module-Install-1.01/lib/Module/Install/Metadata.pm 2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Metadata.pm 2011-10-20 02:31:07.000000000 +0200
@@ -5,7 +5,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.01';
+ $VERSION = '1.04';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -150,15 +150,21 @@
sub install_as_vendor { $_[0]->installdirs('vendor') }
sub dynamic_config {
- my $self = shift;
- unless ( @_ ) {
- warn "You MUST provide an explicit true/false value to dynamic_config\n";
- return $self;
+ my $self = shift;
+ my $value = @_ ? shift : 1;
+ if ( $self->{values}->{dynamic_config} ) {
+ # Once dynamic we never change to static, for safety
+ return 0;
}
- $self->{values}->{dynamic_config} = $_[0] ? 1 : 0;
+ $self->{values}->{dynamic_config} = $value ? 1 : 0;
return 1;
}
+# Convenience command
+sub static_config {
+ shift->dynamic_config(0);
+}
+
sub perl_version {
my $self = shift;
return $self->{values}->{perl_version} unless @_;
@@ -169,7 +175,7 @@
# Normalize the version
$version = $self->_perl_version($version);
- # We don't support the reall old versions
+ # We don't support the really old versions
unless ( $version >= 5.005 ) {
die "Module::Install only supports 5.005 or newer (use ExtUtils::MakeMaker)\n";
}
@@ -581,7 +587,7 @@
sub requires_from {
my $self = shift;
my $content = Module::Install::_readperl($_[0]);
- my @requires = $content =~ m/^use\s+([^\W\d]\w*(?:::\w+)*)\s+([\d\.]+)/mg;
+ my @requires = $content =~ m/^use\s+([^\W\d]\w*(?:::\w+)*)\s+(v?[\d\.]+)/mg;
while ( @requires ) {
my $module = shift @requires;
my $version = shift @requires;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/PAR.pm new/Module-Install-1.04/lib/Module/Install/PAR.pm
--- old/Module-Install-1.01/lib/Module/Install/PAR.pm 2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/PAR.pm 2011-10-20 02:31:07.000000000 +0200
@@ -5,7 +5,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.01';
+ $VERSION = '1.04';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/Run.pm new/Module-Install-1.04/lib/Module/Install/Run.pm
--- old/Module-Install-1.01/lib/Module/Install/Run.pm 2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Run.pm 2011-10-20 02:31:07.000000000 +0200
@@ -5,7 +5,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.01';
+ $VERSION = '1.04';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/Scripts.pm new/Module-Install-1.04/lib/Module/Install/Scripts.pm
--- old/Module-Install-1.01/lib/Module/Install/Scripts.pm 2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Scripts.pm 2011-10-20 02:31:07.000000000 +0200
@@ -5,7 +5,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.01';
+ $VERSION = '1.04';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/Share.pm new/Module-Install-1.04/lib/Module/Install/Share.pm
--- old/Module-Install-1.01/lib/Module/Install/Share.pm 2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Share.pm 2011-10-20 02:31:07.000000000 +0200
@@ -7,7 +7,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.01';
+ $VERSION = '1.04';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/Win32.pm new/Module-Install-1.04/lib/Module/Install/Win32.pm
--- old/Module-Install-1.01/lib/Module/Install/Win32.pm 2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Win32.pm 2011-10-20 02:31:07.000000000 +0200
@@ -5,7 +5,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.01';
+ $VERSION = '1.04';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/With.pm new/Module-Install-1.04/lib/Module/Install/With.pm
--- old/Module-Install-1.01/lib/Module/Install/With.pm 2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/With.pm 2011-10-20 02:31:07.000000000 +0200
@@ -7,7 +7,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.01';
+ $VERSION = '1.04';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/WriteAll.pm new/Module-Install-1.04/lib/Module/Install/WriteAll.pm
--- old/Module-Install-1.01/lib/Module/Install/WriteAll.pm 2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/WriteAll.pm 2011-10-20 02:31:07.000000000 +0200
@@ -5,7 +5,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.01';
+ $VERSION = '1.04';
@ISA = qw{Module::Install::Base};
$ISCORE = 1;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install.pm new/Module-Install-1.04/lib/Module/Install.pm
--- old/Module-Install-1.01/lib/Module/Install.pm 2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install.pm 2011-10-20 02:31:07.000000000 +0200
@@ -30,7 +30,7 @@
# This is not enforced yet, but will be some time in the next few
# releases once we can make sure it won't clash with custom
# Module::Install extensions.
- $VERSION = '1.01';
+ $VERSION = '1.04';
# Storage for the pseudo-singleton
$MAIN = undef;
@@ -450,7 +450,7 @@
}
sub _cmp ($$) {
- _version($_[0]) <=> _version($_[1]);
+ _version($_[1]) <=> _version($_[2]);
}
# Cloned from Params::Util::_CLASS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/lib/inc/Module/Install/DSL.pm new/Module-Install-1.04/lib/inc/Module/Install/DSL.pm
--- old/Module-Install-1.01/lib/inc/Module/Install/DSL.pm 2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/inc/Module/Install/DSL.pm 2011-10-20 02:31:07.000000000 +0200
@@ -18,7 +18,7 @@
# version an author currently has installed.
# This allows it to implement any back-compatibility features
# it may want or need to.
- $VERSION = '1.01';
+ $VERSION = '1.04';
}
if ( -d './inc' ) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/lib/inc/Module/Install.pm new/Module-Install-1.04/lib/inc/Module/Install.pm
--- old/Module-Install-1.01/lib/inc/Module/Install.pm 2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/inc/Module/Install.pm 2011-10-20 02:31:07.000000000 +0200
@@ -18,7 +18,7 @@
# version an author currently has installed.
# This allows it to implement any back-compatibility features
# it may want or need to.
- $VERSION = '1.01';
+ $VERSION = '1.04';
}
if ( -d './inc' ) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/t/04_version.t new/Module-Install-1.04/t/04_version.t
--- old/Module-Install-1.01/t/04_version.t 2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/t/04_version.t 2011-10-20 02:31:07.000000000 +0200
@@ -6,10 +6,10 @@
$^W = 1;
}
-use Test::More tests => 21;
+use Test::More tests => 24;
require_ok( 'inc::Module::Install' );
-my @data = qw{
+my @version = qw{
0 0
1 1
1.1 1.1
@@ -22,11 +22,25 @@
5.10.0 5.01
};
-while ( @data ) {
- my $in = shift @data;
- my $out = shift @data;
+while ( @version ) {
+ my $in = shift @version;
+ my $out = shift @version;
my $ver = Module::Install::_version($in);
my $two = Module::Install::_version($ver);
is( $ver, $out, "$in => $out pass 1 ok" );
is( $two, $out, "$in => $out pass 2 ok" );
}
+
+my @cmp = qw{
+ 0 1.2.3 1.002003
+ -1 1.2.3 1.002004
+ 1 1.2.3 1.002002
+};
+
+while ( @cmp ) {
+ my $want = shift @cmp;
+ my $left = shift @cmp;
+ my $right = shift @cmp;
+ my $have = Module::Install::_cmp(undef, $left, $right);
+ is( $have, $want, "_cmp($left, $right) ok" );
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/t/08_dsl.t new/Module-Install-1.04/t/08_dsl.t
--- old/Module-Install-1.01/t/08_dsl.t 2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/t/08_dsl.t 2011-10-20 02:31:07.000000000 +0200
@@ -8,7 +8,7 @@
$^W = 1;
}
-use Test::More tests => 7;
+use Test::More tests => 8;
use t::lib::Test;
# Load the DSL module
@@ -34,6 +34,33 @@
END_PERL
+
+
+
+######################################################################
+# Automatic dynamic vs static detection
+
+# Automatically set static_config if there are no conditionals
+my $static = Module::Install::DSL::dsl2code(<<'END_DSL');
+all_from lib/My/Module.pm
+requires perl 5.008
+requires Carp 0
+requires Win32
+test_requires Test::More
+install_share
+END_DSL
+
+is( $static, <<'END_PERL', 'dsl2code generates the expected code' );
+all_from 'lib/My/Module.pm';
+requires 'perl', '5.008';
+requires 'Carp', '0';
+requires 'Win32';
+test_requires 'Test::More';
+install_share;
+static_config;
+END_PERL
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/t/25_perl_version_from.t new/Module-Install-1.04/t/25_perl_version_from.t
--- old/Module-Install-1.01/t/25_perl_version_from.t 2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/t/25_perl_version_from.t 2011-10-20 02:31:07.000000000 +0200
@@ -49,6 +49,6 @@
my $meta = file('META.yml');
ok( -f $meta, 'META.yml exists' );
my $yaml = Parse::CPAN::Meta::LoadFile($meta);
- ok( $yaml->{requires}{perl} eq '5.005', 'META has perl version requirement' );
+ is( $yaml->{requires}->{perl}, '5.005', 'META has correct perl version requirement' );
ok( kill_dist(), 'kill_dist' );
}}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Install-1.01/t/lib/Test.pm new/Module-Install-1.04/t/lib/Test.pm
--- old/Module-Install-1.01/t/lib/Test.pm 2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/t/lib/Test.pm 2011-10-20 02:31:07.000000000 +0200
@@ -9,7 +9,7 @@
use vars qw{$VERSION @ISA @EXPORT $DIST};
BEGIN {
- $VERSION = '1.01';
+ $VERSION = '1.04';
@ISA = 'Exporter';
@EXPORT = qw{
create_dist
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org