[Bps-public-commit] r16642 - in RT-Extension-iCal: inc/Module inc/Module/Install

alexmv at bestpractical.com alexmv at bestpractical.com
Fri Oct 31 13:57:48 EDT 2008


Author: alexmv
Date: Fri Oct 31 13:57:48 2008
New Revision: 16642

Modified:
   RT-Extension-iCal/   (props changed)
   RT-Extension-iCal/inc/Module/Install.pm
   RT-Extension-iCal/inc/Module/Install/Base.pm
   RT-Extension-iCal/inc/Module/Install/Can.pm
   RT-Extension-iCal/inc/Module/Install/Fetch.pm
   RT-Extension-iCal/inc/Module/Install/Makefile.pm
   RT-Extension-iCal/inc/Module/Install/Metadata.pm
   RT-Extension-iCal/inc/Module/Install/RTx.pm
   RT-Extension-iCal/inc/Module/Install/Win32.pm
   RT-Extension-iCal/inc/Module/Install/WriteAll.pm

Log:
 r38803 at kohr-ah:  chmrr | 2008-10-31 13:56:06 -0400
  * Module::Install::RTx bump


Modified: RT-Extension-iCal/inc/Module/Install.pm
==============================================================================
--- RT-Extension-iCal/inc/Module/Install.pm	(original)
+++ RT-Extension-iCal/inc/Module/Install.pm	Fri Oct 31 13:57:48 2008
@@ -28,7 +28,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 = '0.67';
+    $VERSION = '0.68';
 }
 
 # Whether or not inc::Module::Install is actually loaded, the

Modified: RT-Extension-iCal/inc/Module/Install/Base.pm
==============================================================================
--- RT-Extension-iCal/inc/Module/Install/Base.pm	(original)
+++ RT-Extension-iCal/inc/Module/Install/Base.pm	Fri Oct 31 13:57:48 2008
@@ -1,7 +1,7 @@
 #line 1
 package Module::Install::Base;
 
-$VERSION = '0.67';
+$VERSION = '0.68';
 
 # Suspend handler for "redefined" warnings
 BEGIN {

Modified: RT-Extension-iCal/inc/Module/Install/Can.pm
==============================================================================
--- RT-Extension-iCal/inc/Module/Install/Can.pm	(original)
+++ RT-Extension-iCal/inc/Module/Install/Can.pm	Fri Oct 31 13:57:48 2008
@@ -11,7 +11,7 @@
 
 use vars qw{$VERSION $ISCORE @ISA};
 BEGIN {
-	$VERSION = '0.67';
+	$VERSION = '0.68';
 	$ISCORE  = 1;
 	@ISA     = qw{Module::Install::Base};
 }

Modified: RT-Extension-iCal/inc/Module/Install/Fetch.pm
==============================================================================
--- RT-Extension-iCal/inc/Module/Install/Fetch.pm	(original)
+++ RT-Extension-iCal/inc/Module/Install/Fetch.pm	Fri Oct 31 13:57:48 2008
@@ -6,7 +6,7 @@
 
 use vars qw{$VERSION $ISCORE @ISA};
 BEGIN {
-	$VERSION = '0.67';
+	$VERSION = '0.68';
 	$ISCORE  = 1;
 	@ISA     = qw{Module::Install::Base};
 }

Modified: RT-Extension-iCal/inc/Module/Install/Makefile.pm
==============================================================================
--- RT-Extension-iCal/inc/Module/Install/Makefile.pm	(original)
+++ RT-Extension-iCal/inc/Module/Install/Makefile.pm	Fri Oct 31 13:57:48 2008
@@ -7,7 +7,7 @@
 
 use vars qw{$VERSION $ISCORE @ISA};
 BEGIN {
-	$VERSION = '0.67';
+	$VERSION = '0.68';
 	$ISCORE  = 1;
 	@ISA     = qw{Module::Install::Base};
 }

Modified: RT-Extension-iCal/inc/Module/Install/Metadata.pm
==============================================================================
--- RT-Extension-iCal/inc/Module/Install/Metadata.pm	(original)
+++ RT-Extension-iCal/inc/Module/Install/Metadata.pm	Fri Oct 31 13:57:48 2008
@@ -6,7 +6,7 @@
 
 use vars qw{$VERSION $ISCORE @ISA};
 BEGIN {
-	$VERSION = '0.67';
+	$VERSION = '0.68';
 	$ISCORE  = 1;
 	@ISA     = qw{Module::Install::Base};
 }

Modified: RT-Extension-iCal/inc/Module/Install/RTx.pm
==============================================================================
--- RT-Extension-iCal/inc/Module/Install/RTx.pm	(original)
+++ RT-Extension-iCal/inc/Module/Install/RTx.pm	Fri Oct 31 13:57:48 2008
@@ -1,16 +1,26 @@
 #line 1
 package Module::Install::RTx;
-use Module::Install::Base; @ISA = qw(Module::Install::Base);
-
-$Module::Install::RTx::VERSION = '0.11';
 
+use 5.008;
 use strict;
+use warnings;
+no warnings 'once';
+
+use Module::Install::Base;
+use base 'Module::Install::Base';
+our $VERSION = '0.24';
+
 use FindBin;
-use File::Glob ();
+use File::Glob     ();
 use File::Basename ();
 
+my @DIRS = qw(etc lib html bin sbin po var);
+my @INDEX_DIRS = qw(lib bin sbin);
+
 sub RTx {
-    my ($self, $name) = @_;
+    my ( $self, $name ) = @_;
+
+    my $original_name = $name;
     my $RTx = 'RTx';
     $RTx = $1 if $name =~ s/^(\w+)-//;
     my $fname = $name;
@@ -18,61 +28,85 @@
 
     $self->name("$RTx-$name")
         unless $self->name;
+    $self->all_from( -e "$name.pm" ? "$name.pm" : "lib/$RTx/$fname.pm" )
+        unless $self->version;
     $self->abstract("RT $name Extension")
         unless $self->abstract;
-    $self->version_from (-e "$name.pm" ? "$name.pm" : "lib/$RTx/$fname.pm")
-        unless $self->version;
 
     my @prefixes = (qw(/opt /usr/local /home /usr /sw ));
-    my $prefix = $ENV{PREFIX};
-    @ARGV = grep { /PREFIX=(.*)/ ? (($prefix = $1), 0) : 1 } @ARGV;
+    my $prefix   = $ENV{PREFIX};
+    @ARGV = grep { /PREFIX=(.*)/ ? ( ( $prefix = $1 ), 0 ) : 1 } @ARGV;
 
     if ($prefix) {
         $RT::LocalPath = $prefix;
         $INC{'RT.pm'} = "$RT::LocalPath/lib/RT.pm";
-    }
-    else {
+    } else {
         local @INC = (
             @INC,
-            $ENV{RTHOME} ? ($ENV{RTHOME}, "$ENV{RTHOME}/lib") : (),
-            map {( "$_/rt3/lib", "$_/lib/rt3", "$_/lib" )} grep $_, @prefixes
+            $ENV{RTHOME} ? ( $ENV{RTHOME}, "$ENV{RTHOME}/lib" ) : (),
+            map { ( "$_/rt3/lib", "$_/lib/rt3", "$_/lib" ) } grep $_,
+            @prefixes
         );
         until ( eval { require RT; $RT::LocalPath } ) {
-            warn "Cannot find the location of RT.pm that defines \$RT::LocalPath in: @INC\n";
+            warn
+                "Cannot find the location of RT.pm that defines \$RT::LocalPath in: @INC\n";
             $_ = $self->prompt("Path to your RT.pm:") or exit;
-            push @INC, $_, "$_/rt3/lib", "$_/lib/rt3";
+            push @INC, $_, "$_/rt3/lib", "$_/lib/rt3", "$_/lib";
         }
     }
 
-    my $lib_path = File::Basename::dirname($INC{'RT.pm'});
-    print "Using RT configurations from $INC{'RT.pm'}:\n";
+    my $lib_path = File::Basename::dirname( $INC{'RT.pm'} );
+    my $local_lib_path = "$RT::LocalPath/lib";
+    print "Using RT configuration from $INC{'RT.pm'}:\n";
+    unshift @INC, "$RT::LocalPath/lib" if $RT::LocalPath;
+
+    $RT::LocalVarPath  ||= $RT::VarPath;
+    $RT::LocalPoPath   ||= $RT::LocalLexiconPath;
+    $RT::LocalHtmlPath ||= $RT::MasonComponentRoot;
+    $RT::LocalLibPath  ||= "$RT::LocalPath/lib";
 
-    $RT::LocalVarPath	||= $RT::VarPath;
-    $RT::LocalPoPath	||= $RT::LocalLexiconPath;
-    $RT::LocalHtmlPath	||= $RT::MasonComponentRoot;
+    my $with_subdirs = $ENV{WITH_SUBDIRS};
+    @ARGV = grep { /WITH_SUBDIRS=(.*)/ ? ( ( $with_subdirs = $1 ), 0 ) : 1 }
+        @ARGV;
+
+    my %subdirs;
+    %subdirs = map { $_ => 1 } split( /\s*,\s*/, $with_subdirs )
+        if defined $with_subdirs;
+    unless ( keys %subdirs ) {
+        $subdirs{$_} = 1 foreach grep -d "$FindBin::Bin/$_", @DIRS;
+    }
 
+    # If we're running on RT 3.8 with plugin support, we really wany
+    # to install libs, mason templates and po files into plugin specific
+    # directories
     my %path;
-    my $with_subdirs = $ENV{WITH_SUBDIRS};
-    @ARGV = grep { /WITH_SUBDIRS=(.*)/ ? (($with_subdirs = $1), 0) : 1 } @ARGV;
-    my %subdirs = map { $_ => 1 } split(/\s*,\s*/, $with_subdirs);
+    if ( $RT::LocalPluginPath ) {
+        die "Because of bugs in RT 3.8.0 this extension can not be installed.\n"
+            ."Upgrade to RT 3.8.1 or newer.\n" if $RT::VERSION =~ /^3\.8\.0/;
+        $path{$_} = $RT::LocalPluginPath . "/$original_name/$_"
+            foreach @DIRS;
+    } else {
+        foreach ( @DIRS ) {
+            no strict 'refs';
+            my $varname = "RT::Local" . ucfirst($_) . "Path";
+            $path{$_} = ${$varname} || "$RT::LocalPath/$_";
+        }
+
+        $path{$_} .= "/$name" for grep $path{$_}, qw(etc po var);
+    }
+
+    my %index = map { $_ => 1 } @INDEX_DIRS;
+    $self->no_index( directory => $_ ) foreach grep !$index{$_}, @DIRS;
+
+    my $args = join ', ', map "q($_)", map { ($_, $path{$_}) }
+        grep $subdirs{$_}, keys %path;
 
-    foreach (qw(bin etc html po sbin var)) {
-        next unless -d "$FindBin::Bin/$_";
-        next if %subdirs and !$subdirs{$_};
-        $self->no_index( directory => $_ );
-
-        no strict 'refs';
-        my $varname = "RT::Local" . ucfirst($_) . "Path";
-        $path{$_} = ${$varname} || "$RT::LocalPath/$_";
-    }
-
-    $path{$_} .= "/$name" for grep $path{$_}, qw(etc po var);
-    my $args = join(', ', map "q($_)", %path);
-    $path{lib} = "$RT::LocalPath/lib" unless %subdirs and !$subdirs{'lib'};
-    print "./$_\t=> $path{$_}\n" for sort keys %path;
+    print "./$_\t=> $path{$_}\n" for sort keys %subdirs;
 
-    if (my @dirs = map { (-D => $_) } grep $path{$_}, qw(bin html sbin)) {
-        my @po = map { (-o => $_) } grep -f, File::Glob::bsd_glob("po/*.po");
+    if ( my @dirs = map { ( -D => $_ ) } grep $subdirs{$_}, qw(bin html sbin) ) {
+        my @po = map { ( -o => $_ ) }
+            grep -f,
+            File::Glob::bsd_glob("po/*.po");
         $self->postamble(<< ".") if @po;
 lexicons ::
 \t\$(NOECHO) \$(PERL) -MLocale::Maketext::Extract::Run=xgettext -e \"xgettext(qw(@dirs @po))\"
@@ -84,56 +118,57 @@
 \t\$(NOECHO) \$(PERL) -MExtUtils::Install -e \"install({$args})\"
 .
 
-    if ($path{var} and -d $RT::MasonDataDir) {
-        my ($uid, $gid) = (stat($RT::MasonDataDir))[4, 5];
+    if ( $subdirs{var} and -d $RT::MasonDataDir ) {
+        my ( $uid, $gid ) = ( stat($RT::MasonDataDir) )[ 4, 5 ];
         $postamble .= << ".";
 \t\$(NOECHO) chown -R $uid:$gid $path{var}
 .
     }
 
     my %has_etc;
-    if (File::Glob::bsd_glob("$FindBin::Bin/etc/schema.*")) {
+    if ( File::Glob::bsd_glob("$FindBin::Bin/etc/schema.*") ) {
+
         # got schema, load factory module
         $has_etc{schema}++;
         $self->load('RTxFactory');
         $self->postamble(<< ".");
 factory ::
-\t\$(NOECHO) \$(PERL) -Ilib -I"$lib_path" -Minc::Module::Install -e"RTxFactory(qw($RTx $name))"
+\t\$(NOECHO) \$(PERL) -Ilib -I"$local_lib_path" -I"$lib_path" -Minc::Module::Install -e"RTxFactory(qw($RTx $name))"
 
 dropdb ::
-\t\$(NOECHO) \$(PERL) -Ilib -I"$lib_path" -Minc::Module::Install -e"RTxFactory(qw($RTx $name drop))"
+\t\$(NOECHO) \$(PERL) -Ilib -I"$local_lib_path" -I"$lib_path" -Minc::Module::Install -e"RTxFactory(qw($RTx $name drop))"
 
 .
     }
-    if (File::Glob::bsd_glob("$FindBin::Bin/etc/acl.*")) {
+    if ( File::Glob::bsd_glob("$FindBin::Bin/etc/acl.*") ) {
         $has_etc{acl}++;
     }
-    if (-e 'etc/initialdata') {
-        $has_etc{initialdata}++;
-    }
+    if ( -e 'etc/initialdata' ) { $has_etc{initialdata}++; }
 
     $self->postamble("$postamble\n");
-    if (%subdirs and !$subdirs{'lib'}) {
-        $self->makemaker_args(
-            PM => { "" => "" },
-        )
-    }
-    else {
-        $self->makemaker_args( INSTALLSITELIB => "$RT::LocalPath/lib" );
+    unless ( $subdirs{'lib'} ) {
+        $self->makemaker_args( PM => { "" => "" }, );
+    } else {
+        $self->makemaker_args( INSTALLSITELIB => $path{'lib'} );
+        $self->makemaker_args( INSTALLARCHLIB => $path{'lib'} );
     }
 
+    $self->makemaker_args( INSTALLSITEMAN1DIR => "$RT::LocalPath/man/man1" );
+    $self->makemaker_args( INSTALLSITEMAN3DIR => "$RT::LocalPath/man/man3" );
+    $self->makemaker_args( INSTALLSITEARCH => "$RT::LocalPath/man" );
+
     if (%has_etc) {
         $self->load('RTxInitDB');
         print "For first-time installation, type 'make initdb'.\n";
         my $initdb = '';
         $initdb .= <<"." if $has_etc{schema};
-\t\$(NOECHO) \$(PERL) -Ilib -I"$lib_path" -Minc::Module::Install -e"RTxInitDB(qw(schema))"
+\t\$(NOECHO) \$(PERL) -Ilib -I"$local_lib_path" -I"$lib_path" -Minc::Module::Install -e"RTxInitDB(qw(schema))"
 .
         $initdb .= <<"." if $has_etc{acl};
-\t\$(NOECHO) \$(PERL) -Ilib -I"$lib_path" -Minc::Module::Install -e"RTxInitDB(qw(acl))"
+\t\$(NOECHO) \$(PERL) -Ilib -I"$local_lib_path" -I"$lib_path" -Minc::Module::Install -e"RTxInitDB(qw(acl))"
 .
         $initdb .= <<"." if $has_etc{initialdata};
-\t\$(NOECHO) \$(PERL) -Ilib -I"$lib_path" -Minc::Module::Install -e"RTxInitDB(qw(insert))"
+\t\$(NOECHO) \$(PERL) -Ilib -I"$local_lib_path" -I"$lib_path" -Minc::Module::Install -e"RTxInitDB(qw(insert))"
 .
         $self->postamble("initdb ::\n$initdb\n");
         $self->postamble("initialize-database ::\n$initdb\n");
@@ -141,7 +176,7 @@
 }
 
 sub RTxInit {
-    unshift @INC, substr(delete($INC{'RT.pm'}), 0, -5) if $INC{'RT.pm'};
+    unshift @INC, substr( delete( $INC{'RT.pm'} ), 0, -5 ) if $INC{'RT.pm'};
     require RT;
     RT::LoadConfig();
     RT::ConnectToDatabase();
@@ -153,6 +188,4 @@
 
 __END__
 
-#line 220
-
-#line 241
+#line 302

Modified: RT-Extension-iCal/inc/Module/Install/Win32.pm
==============================================================================
--- RT-Extension-iCal/inc/Module/Install/Win32.pm	(original)
+++ RT-Extension-iCal/inc/Module/Install/Win32.pm	Fri Oct 31 13:57:48 2008
@@ -6,7 +6,7 @@
 
 use vars qw{$VERSION $ISCORE @ISA};
 BEGIN {
-	$VERSION = '0.67';
+	$VERSION = '0.68';
 	$ISCORE  = 1;
 	@ISA     = qw{Module::Install::Base};
 }

Modified: RT-Extension-iCal/inc/Module/Install/WriteAll.pm
==============================================================================
--- RT-Extension-iCal/inc/Module/Install/WriteAll.pm	(original)
+++ RT-Extension-iCal/inc/Module/Install/WriteAll.pm	Fri Oct 31 13:57:48 2008
@@ -6,7 +6,7 @@
 
 use vars qw{$VERSION $ISCORE @ISA};
 BEGIN {
-	$VERSION = '0.67';
+	$VERSION = '0.68';
 	$ISCORE  = 1;
 	@ISA     = qw{Module::Install::Base};
 }



More information about the Bps-public-commit mailing list