[Jifty-commit] r1140 - in jifty/trunk: inc/Module lib

jifty-commit at lists.jifty.org jifty-commit at lists.jifty.org
Fri Jun 2 07:34:43 EDT 2006


Author: audreyt
Date: Fri Jun  2 07:33:53 2006
New Revision: 1140

Modified:
   jifty/trunk/inc/Module/AutoInstall.pm
   jifty/trunk/inc/Module/Install.pm
   jifty/trunk/inc/Module/Install/Metadata.pm
   jifty/trunk/lib/Jifty.pm

Log:
* regular Module::Install updates from M::I trunk to detect make loop.

Modified: jifty/trunk/inc/Module/AutoInstall.pm
==============================================================================
--- jifty/trunk/inc/Module/AutoInstall.pm	(original)
+++ jifty/trunk/inc/Module/AutoInstall.pm	Fri Jun  2 07:33:53 2006
@@ -639,7 +639,9 @@
 
     # check for version numbers that are not in decimal format
     if ( ref($cur) or ref($min) or $cur =~ /v|\..*\./ or $min =~ /v|\..*\./ ) {
-        if ( $version::VERSION or defined( _load('version') ) ) {
+        if ( ( $version::VERSION or defined( _load('version') )) and
+             version->can('new') 
+            ) {
 
             # use version.pm if it is installed.
             return (
@@ -750,4 +752,4 @@
 
 __END__
 
-#line 988
+#line 990

Modified: jifty/trunk/inc/Module/Install.pm
==============================================================================
--- jifty/trunk/inc/Module/Install.pm	(original)
+++ jifty/trunk/inc/Module/Install.pm	Fri Jun  2 07:33:53 2006
@@ -51,6 +51,22 @@
 END_DIE
 }
 
+# If the script that is loading Module::Install is from the future,
+# then make will detect this and cause it to re-run over and over
+# again. This is bad. Rather than taking action to touch it (which
+# is unreliable on some platforms and requires write permissions)
+# for now we should catch this and refuse to run.
+if ( -f $0 and (stat($0))[9] > time ) {
+	die << "END_DIE";
+Your installer $0 has a modification time in the future.
+
+This is known to create infinite loops in make.
+
+Please correct this, then run $0 again.
+
+END_DIE
+}
+
 use Cwd        ();
 use File::Find ();
 use File::Path ();

Modified: jifty/trunk/inc/Module/Install/Metadata.pm
==============================================================================
--- jifty/trunk/inc/Module/Install/Metadata.pm	(original)
+++ jifty/trunk/inc/Module/Install/Metadata.pm	Fri Jun  2 07:33:53 2006
@@ -123,9 +123,9 @@
 
     require Module::Build;
     my $build = Module::Build->new(
-        dist_name    => $self->{name},
-        dist_version => $self->{version},
-        license      => $self->{license},
+        dist_name    => $self->name,
+        dist_version => $self->version,
+        license      => $self->license,
     );
     $self->provides(%{ $build->find_dist_packages || {} });
 }

Modified: jifty/trunk/lib/Jifty.pm
==============================================================================
--- jifty/trunk/lib/Jifty.pm	(original)
+++ jifty/trunk/lib/Jifty.pm	Fri Jun  2 07:33:53 2006
@@ -5,7 +5,7 @@
 use encoding 'utf8';
 # Work around the fact that Time::Local caches thing on first require
 BEGIN { local $ENV{'TZ'} = "GMT";  require Time::Local;}
-our $VERSION = '0.60507';
+$Jifty::VERSION = '0.60507';
 
 =head1 NAME
 


More information about the Jifty-commit mailing list