[Bps-public-commit] RT-Extension-CommandByMail branch, master, updated. 1.00

Alex Vandiver alexmv at bestpractical.com
Mon Dec 15 17:54:44 EST 2014


The branch, master has been updated
       via  a470a1d5f6d74a53f28f83ec560119d6404ac906 (commit)
      from  1c78306cbd0df108ffdfec22fa51d10c4e4fb464 (commit)

Summary of changes:
 .gitignore                        |  16 ++--
 Changes                           | 166 +++++++++++++++++++-------------------
 MANIFEST                          |   1 -
 META.yml                          |  15 ++--
 Makefile.PL                       |   8 --
 README                            |  31 +++----
 inc/Module/AutoInstall.pm         |  42 +++++-----
 inc/Module/Install.pm             |  18 ++---
 inc/Module/Install/AutoInstall.pm |   2 +-
 inc/Module/Install/Base.pm        |   2 +-
 inc/Module/Install/Can.pm         |   2 +-
 inc/Module/Install/Fetch.pm       |   2 +-
 inc/Module/Install/Include.pm     |   2 +-
 inc/Module/Install/Makefile.pm    |   4 +-
 inc/Module/Install/Metadata.pm    |   6 +-
 inc/Module/Install/RTx.pm         |  30 ++++---
 inc/Module/Install/Win32.pm       |   2 +-
 inc/Module/Install/WriteAll.pm    |   2 +-
 lib/RT/Extension/CommandByMail.pm |  34 ++++----
 19 files changed, 198 insertions(+), 187 deletions(-)

- Log -----------------------------------------------------------------
commit a470a1d5f6d74a53f28f83ec560119d6404ac906
Author: Alex Vandiver <alexmv at bestpractical.com>
Date:   Mon Dec 15 17:53:30 2014 -0500

    Version 1.00 releng

diff --git a/.gitignore b/.gitignore
index a3b0673..aceb043 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,8 +1,14 @@
+blib*
 Makefile
+Makefile.old
+pm_to_blib*
+*.tar.gz
+.lwpcookies
+cover_db
+pod2htm*.tmp
+/RT-Extension-CommandByMail*
 *.bak
-blib
-pm_to_blib
 *.swp
-MYMETA.*
-t/tmp/
-xt/tmp/
+/MYMETA.*
+/t/tmp
+/xt/tmp
diff --git a/Changes b/Changes
index c4868fd..cacbd4e 100644
--- a/Changes
+++ b/Changes
@@ -1,86 +1,82 @@
-Revision history for RT-Extension-CommandByMail
-
-0.17
-* Add the missing BUGS section to the POD
-* Correct other POD formatting nits
-
-0.16    Fri Oct 25 2013
-* Finish updating the README that ships with the extension
-
-0.15    Thu Oct  3 14:49:17 EDT 2013
-* no_index for RT::Extension::CommandByMail::test
-* No code changes since 0.14
-
-0.14    Thu Oct  3 14:16:17 EDT 2013
-* RT 4.2 compatibility
-* Drop support for RT 3.6
-
-0.13    Tue Jul 23 16:37:05 PDT 2013
-* Add support for only inspecting headers, not the body
-
-0.12    Mon Jul 22 11:07:44 PDT 2013
-* Handle setting TxnCFs to 0 (zero)
-* Regression fix for parsing bug in 0.11
-* Look for commands in headers too via $CommandByMailHeader option
-
-0.11
-* get rid of uninit warnings
-* make tests create DBs rather then re-use production
-* use RT's infrastructure in tests
-* fix reporting for dates changes
-* handle adding watchers when user is not in the DB
-* support Transaction Custom Fields
-
-0.10
-* test fixes for 4.0
-* skip on unloaded current user
-* make it harder to accidentally run tests that will hurt your production database
-
-0.09
-* fixup because signature was wrong for 0.08
-
-0.08
-* Add a note about line breaks
-
-0.08_01
-* Loosen up a regex to catch CFs with spaces in their names
-* Handle non-global CFs more intelligently and avoid a bug
-  where we used the Queue from the mailgate incorrectly
-
-0.07
-* Release changes from dev versions
-
-0.07_02 
-* packaging screwup release
-
-0.07_01
-* Add CommandByMailGroup configuration option to 
-  limit who can use commands
-
-0.06
-* upgrade Module::Install::RTx and INSTALL to be more 3.8.x compatible
-
-0.05
-* added a patch for 3.6.1 to /really/ include an In-Reply-To header on error
-  mails
-* attach the original message to the error message
-* use only the first stanza of pseudo-headers
-* handle multiple TimeWorked headers on create as well as update
-* explicitly import ParseCcAddressesFromHead
-
-0.04
-* updated docs for 3.6.1
-* added a patch to 3.6.1 to include an In-Reply-To header on error mails
-* ignore multiple leading newlines before the pseudo-header paragraph
-* made Owner and Add/Del watcher commands accept both e-mail addresses and 
-  usernames
-* handle multiple TimeWorked: headers properly
-
-0.03
-* patch for RT-3.6.0
-* fix setting Owner
-* report back to the sender if command doesn't exist
-
-0.01 Mon May  8 13:42:24 2006
-* Initial release.
+1.00 2014-12-15
+ - Packaging and documentation updates
+
+0.17 2014-06-26
+ - Add the missing BUGS section to the POD
+ - Correct other POD formatting nits
+
+0.16 2013-10-25
+ - Finish updating the README that ships with the extension
+
+0.15 2013-10-03
+ - no_index for RT::Extension::CommandByMail::test
+ - No code changes since 0.14
+
+0.14 2013-10-03
+ - RT 4.2 compatibility
+ - Drop support for RT 3.6
+
+0.13 2013-07-23
+ - Add support for only inspecting headers, not the body
+
+0.12 2013-07-22
+ - Handle setting TxnCFs to 0 (zero)
+ - Regression fix for parsing bug in 0.11
+ - Look for commands in headers too via $CommandByMailHeader option
+
+0.11 2013-02-07
+ - get rid of uninit warnings
+ - make tests create DBs rather then re-use production
+ - use RT's infrastructure in tests
+ - fix reporting for dates changes
+ - handle adding watchers when user is not in the DB
+ - support Transaction Custom Fields
+
+0.10 2011-08-03
+ - test fixes for 4.0
+ - skip on unloaded current user
+ - make it harder to accidentally run tests that will hurt your production
+   database
+
+0.09 2010-12-14
+ - fixup because signature was wrong for 0.08
+
+0.08 2010-12-14
+ - Add a note about line breaks
+ - Loosen up a regex to catch CFs with spaces in their names
+ - Handle non-global CFs more intelligently and avoid a bug where we used
+   the Queue from the mailgate incorrectly
+
+0.07 2009-07-06
+ - Release changes from dev versions
+ - Add CommandByMailGroup configuration option to  limit who can use
+   commands
+ - packaging screwup release
+
+0.06 2008-08-06
+ - upgrade Module::Install::RTx and INSTALL to be more 3.8.x compatible
+
+0.05 2006-09-03
+ - added a patch for 3.6.1 to /really/ include an In-Reply-To header on
+   error mails
+ - attach the original message to the error message
+ - use only the first stanza of pseudo-headers
+ - handle multiple TimeWorked headers on create as well as update
+ - explicitly import ParseCcAddressesFromHead
+
+0.04 2006-08-22
+ - updated docs for 3.6.1
+ - added a patch to 3.6.1 to include an In-Reply-To header on error mails
+ - ignore multiple leading newlines before the pseudo-header paragraph
+ - made Owner and Add/Del watcher commands accept both e-mail addresses and
+    usernames
+ - handle multiple TimeWorked: headers properly
+
+0.03 2006-08-08
+ - patch for RT-3.6.0
+ - fix setting Owner
+ - report back to the sender if command doesn't exist
+
+0.01 2006-05-08
+ - Initial release.
 
diff --git a/MANIFEST b/MANIFEST
index cf1439e..f59ae26 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -26,6 +26,5 @@ META.yml
 README
 xt/create.t
 xt/internals.t
-xt/tmp/ports
 xt/txn-cfs.t
 xt/update.t
diff --git a/META.yml b/META.yml
index b20a524..2de312b 100644
--- a/META.yml
+++ b/META.yml
@@ -1,8 +1,7 @@
 ---
 abstract: 'Change metadata of ticket via email'
 author:
-  - 'Jesse Vincent  C<< <jesse at bestpractical.com> >>'
-  - 'Jesse Vincent  C<< <jesse at bestpractical.com> >>'
+  - 'Best Practical Solutions, LLC <modules at bestpractical.com>'
 build_requires:
   ExtUtils::MakeMaker: 6.59
   IPC::Open2: 0
@@ -11,8 +10,8 @@ configure_requires:
   ExtUtils::MakeMaker: 6.59
 distribution_type: module
 dynamic_config: 1
-generated_by: 'Module::Install version 1.08'
-license: perl
+generated_by: 'Module::Install version 1.12'
+license: gpl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
   version: 1.4
@@ -24,11 +23,9 @@ no_index:
   package:
     - RT::Extension::CommandByMail::Test
 requires:
-  MIME::Entity: '5.420'
-  UNIVERSAL::require: 0
   perl: 5.8.3
 resources:
-  license: http://dev.perl.org/licenses/
-version: '0.17'
-x_module_install_rtx_version: 0.34_03
+  license: http://opensource.org/licenses/gpl-license.php
+version: '1.00'
+x_module_install_rtx_version: '0.36'
 x_requires_rt: 4.0.0
diff --git a/Makefile.PL b/Makefile.PL
index 8ea5666..be1e65e 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -1,18 +1,10 @@
 use inc::Module::Install;
 
-#die "This RT Extension will kill your pets and steal your valuables. DO NOT USE IT YET";
 RTx ('RT-Extension-CommandByMail');
-author_from ('lib/RT/Extension/CommandByMail.pm');
-license('perl');
-readme_from 'lib/RT/Extension/CommandByMail.pm', { options => [quotes => 'none'] };
 
 build_requires('Test::More');
 build_requires('IPC::Open2');
 
-# the patch for RT-3.4.5 has this requirement
-# RT may be require it too, but put it here to be sure 
-requires('UNIVERSAL::require');
-requires('MIME::Entity' => '5.420');
 auto_install();
 
 my ($lp) = ($INC{'RT.pm'} =~ /^(.*)[\\\/]/);
diff --git a/README b/README
index 18a0e01..8813e00 100644
--- a/README
+++ b/README
@@ -31,17 +31,22 @@ INSTALLATION
         May need root permissions
 
     Edit your /opt/rt4/etc/RT_SiteConfig.pm
-        Add this line:
+        If you are using RT 4.2 or greater, add this line:
 
-            Set(@Plugins, ( @Plugins, "RT::Extension::CommandByMail" ));
+            Plugin('RT::Extension::CommandByMail');
 
-        As well as:
+        For RT 4.0, add this line:
+
+            Set(@Plugins, qw(RT::Extension::CommandByMail));
+
+        or add RT::Extension::CommandByMail to your existing @Plugins line.
+
+        Regardless of which version of RT, also Filter::TakeAction to your
+        @MailPlugins configuration, as follows:
 
             Set(@MailPlugins, qw(Auth::MailFrom Filter::TakeAction));
 
-        If you already have a @MailPlugins configuration line, add
-        Filter::TakeAction after any authentication plugins (such as
-        Auth::MailFrom or Auth::Crypt).
+        Be sure to include Auth::MailFrom in the list as well.
 
     Restart your webserver
 
@@ -75,9 +80,7 @@ CAVEATS
     This extension is incompatible with UnsafeEmailCommands RT option.
 
 AUTHOR
-    Jesse Vincent <jesse at bestpractical.com> Ruslan U. Zakirov
-    <ruz at bestpractical.com> Kevin Falcone <falcone at bestpractical.com> Shawn
-    Moore <sartak at bestpractical.com>
+    Best Practical Solutions, LLC <modules at bestpractical.com>
 
 BUGS
     All bugs should be reported via email to
@@ -88,10 +91,10 @@ BUGS
 
         L<rt.cpan.org|http://rt.cpan.org/Public/Dist/Display.html?Name=RT-Extension-CommandByMail>.
 
-LICENCE AND COPYRIGHT
-    Copyright (c) 2006-2014, Best Practical Solutions, LLC. All rights
-    reserved.
+LICENSE AND COPYRIGHT
+    This software is Copyright (c) 2014 by Best Practical Solutions
+
+    This is free software, licensed under:
 
-    This module is free software; you can redistribute it and/or modify it
-    under the same terms as Perl itself. See perlartistic.
+      The GNU General Public License, Version 2, June 1991
 
diff --git a/inc/Module/AutoInstall.pm b/inc/Module/AutoInstall.pm
index f115790..4aca606 100644
--- a/inc/Module/AutoInstall.pm
+++ b/inc/Module/AutoInstall.pm
@@ -8,7 +8,7 @@ use ExtUtils::MakeMaker ();
 
 use vars qw{$VERSION};
 BEGIN {
-	$VERSION = '1.08';
+	$VERSION = '1.12';
 }
 
 # special map on pre-defined feature sets
@@ -115,7 +115,7 @@ sub import {
     print "*** $class version " . $class->VERSION . "\n";
     print "*** Checking for Perl dependencies...\n";
 
-    my $cwd = Cwd::cwd();
+    my $cwd = Cwd::getcwd();
 
     $Config = [];
 
@@ -166,7 +166,7 @@ sub import {
         $modules = [ %{$modules} ] if UNIVERSAL::isa( $modules, 'HASH' );
 
         unshift @$modules, -default => &{ shift(@$modules) }
-          if ( ref( $modules->[0] ) eq 'CODE' );    # XXX: bugward combatability
+          if ( ref( $modules->[0] ) eq 'CODE' );    # XXX: bugward compatibility
 
         while ( my ( $mod, $arg ) = splice( @$modules, 0, 2 ) ) {
             if ( $mod =~ m/^-(\w+)$/ ) {
@@ -345,22 +345,26 @@ sub install {
     my $i;    # used below to strip leading '-' from config keys
     my @config = ( map { s/^-// if ++$i; $_ } @{ +shift } );
 
-    my ( @modules, @installed );
-    while ( my ( $pkg, $ver ) = splice( @_, 0, 2 ) ) {
+	my ( @modules, @installed, @modules_to_upgrade );
+	while (my ($pkg, $ver) = splice(@_, 0, 2)) {
 
-        # grep out those already installed
-        if ( _version_cmp( _version_of($pkg), $ver ) >= 0 ) {
-            push @installed, $pkg;
-        }
-        else {
-            push @modules, $pkg, $ver;
-        }
-    }
+		# grep out those already installed
+		if (_version_cmp(_version_of($pkg), $ver) >= 0) {
+			push @installed, $pkg;
+			if ($UpgradeDeps) {
+				push @modules_to_upgrade, $pkg, $ver;
+			}
+		}
+		else {
+			push @modules, $pkg, $ver;
+		}
+	}
 
-    if ($UpgradeDeps) {
-        push @modules, @installed;
-        @installed = ();
-    }
+	if ($UpgradeDeps) {
+		push @modules, @modules_to_upgrade;
+		@installed          = ();
+		@modules_to_upgrade = ();
+	}
 
     return @installed unless @modules;  # nothing to do
     return @installed if _check_lock(); # defer to the CPAN shell
@@ -611,7 +615,7 @@ sub _under_cpan {
     require Cwd;
     require File::Spec;
 
-    my $cwd  = File::Spec->canonpath( Cwd::cwd() );
+    my $cwd  = File::Spec->canonpath( Cwd::getcwd() );
     my $cpan = File::Spec->canonpath( $CPAN::Config->{cpan_home} );
 
     return ( index( $cwd, $cpan ) > -1 );
@@ -927,4 +931,4 @@ END_MAKE
 
 __END__
 
-#line 1193
+#line 1197
diff --git a/inc/Module/Install.pm b/inc/Module/Install.pm
index 7680c84..5460dd5 100644
--- a/inc/Module/Install.pm
+++ b/inc/Module/Install.pm
@@ -17,7 +17,7 @@ package Module::Install;
 #     3. The ./inc/ version of Module::Install loads
 # }
 
-use 5.005;
+use 5.006;
 use strict 'vars';
 use Cwd        ();
 use File::Find ();
@@ -31,7 +31,7 @@ BEGIN {
 	# 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.08';
+	$VERSION = '1.12';
 
 	# Storage for the pseudo-singleton
 	$MAIN    = undef;
@@ -156,10 +156,10 @@ END_DIE
 sub autoload {
 	my $self = shift;
 	my $who  = $self->_caller;
-	my $cwd  = Cwd::cwd();
+	my $cwd  = Cwd::getcwd();
 	my $sym  = "${who}::AUTOLOAD";
 	$sym->{$cwd} = sub {
-		my $pwd = Cwd::cwd();
+		my $pwd = Cwd::getcwd();
 		if ( my $code = $sym->{$pwd} ) {
 			# Delegate back to parent dirs
 			goto &$code unless $cwd eq $pwd;
@@ -239,7 +239,7 @@ sub new {
 
 	# ignore the prefix on extension modules built from top level.
 	my $base_path = Cwd::abs_path($FindBin::Bin);
-	unless ( Cwd::abs_path(Cwd::cwd()) eq $base_path ) {
+	unless ( Cwd::abs_path(Cwd::getcwd()) eq $base_path ) {
 		delete $args{prefix};
 	}
 	return $args{_self} if $args{_self};
@@ -338,7 +338,7 @@ sub find_extensions {
 		if ( $subpath eq lc($subpath) || $subpath eq uc($subpath) ) {
 			my $content = Module::Install::_read($subpath . '.pm');
 			my $in_pod  = 0;
-			foreach ( split //, $content ) {
+			foreach ( split /\n/, $content ) {
 				$in_pod = 1 if /^=\w/;
 				$in_pod = 0 if /^=cut/;
 				next if ($in_pod || /^=cut/);  # skip pod text
@@ -434,7 +434,7 @@ END_OLD
 
 # _version is for processing module versions (eg, 1.03_05) not
 # Perl versions (eg, 5.8.1).
-sub _version ($) {
+sub _version {
 	my $s = shift || 0;
 	my $d =()= $s =~ /(\.)/g;
 	if ( $d >= 2 ) {
@@ -450,12 +450,12 @@ sub _version ($) {
 	return $l + 0;
 }
 
-sub _cmp ($$) {
+sub _cmp {
 	_version($_[1]) <=> _version($_[2]);
 }
 
 # Cloned from Params::Util::_CLASS
-sub _CLASS ($) {
+sub _CLASS {
 	(
 		defined $_[0]
 		and
diff --git a/inc/Module/Install/AutoInstall.pm b/inc/Module/Install/AutoInstall.pm
index 9d55c20..ab1e5fa 100644
--- a/inc/Module/Install/AutoInstall.pm
+++ b/inc/Module/Install/AutoInstall.pm
@@ -6,7 +6,7 @@ use Module::Install::Base ();
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-	$VERSION = '1.08';
+	$VERSION = '1.12';
 	@ISA     = 'Module::Install::Base';
 	$ISCORE  = 1;
 }
diff --git a/inc/Module/Install/Base.pm b/inc/Module/Install/Base.pm
index 3e63345..f9bf5de 100644
--- a/inc/Module/Install/Base.pm
+++ b/inc/Module/Install/Base.pm
@@ -4,7 +4,7 @@ package Module::Install::Base;
 use strict 'vars';
 use vars qw{$VERSION};
 BEGIN {
-	$VERSION = '1.08';
+	$VERSION = '1.12';
 }
 
 # Suspend handler for "redefined" warnings
diff --git a/inc/Module/Install/Can.pm b/inc/Module/Install/Can.pm
index 93f248d..b4e5e3b 100644
--- a/inc/Module/Install/Can.pm
+++ b/inc/Module/Install/Can.pm
@@ -8,7 +8,7 @@ use Module::Install::Base ();
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-	$VERSION = '1.08';
+	$VERSION = '1.12';
 	@ISA     = 'Module::Install::Base';
 	$ISCORE  = 1;
 }
diff --git a/inc/Module/Install/Fetch.pm b/inc/Module/Install/Fetch.pm
index ecc0d53..54f14fb 100644
--- a/inc/Module/Install/Fetch.pm
+++ b/inc/Module/Install/Fetch.pm
@@ -6,7 +6,7 @@ use Module::Install::Base ();
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-	$VERSION = '1.08';
+	$VERSION = '1.12';
 	@ISA     = 'Module::Install::Base';
 	$ISCORE  = 1;
 }
diff --git a/inc/Module/Install/Include.pm b/inc/Module/Install/Include.pm
index fc86e23..7224cff 100644
--- a/inc/Module/Install/Include.pm
+++ b/inc/Module/Install/Include.pm
@@ -6,7 +6,7 @@ use Module::Install::Base ();
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-	$VERSION = '1.08';
+	$VERSION = '1.12';
 	@ISA     = 'Module::Install::Base';
 	$ISCORE  = 1;
 }
diff --git a/inc/Module/Install/Makefile.pm b/inc/Module/Install/Makefile.pm
index c0978a4..81cddd5 100644
--- a/inc/Module/Install/Makefile.pm
+++ b/inc/Module/Install/Makefile.pm
@@ -8,7 +8,7 @@ use Fcntl qw/:flock :seek/;
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-	$VERSION = '1.08';
+	$VERSION = '1.12';
 	@ISA     = 'Module::Install::Base';
 	$ISCORE  = 1;
 }
@@ -133,7 +133,7 @@ sub makemaker_args {
 	return $args;
 }
 
-# For mm args that take multiple space-seperated args,
+# For mm args that take multiple space-separated args,
 # append an argument to the current list.
 sub makemaker_append {
 	my $self = shift;
diff --git a/inc/Module/Install/Metadata.pm b/inc/Module/Install/Metadata.pm
index e4112f8..2c66b1e 100644
--- a/inc/Module/Install/Metadata.pm
+++ b/inc/Module/Install/Metadata.pm
@@ -6,7 +6,7 @@ use Module::Install::Base ();
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-	$VERSION = '1.08';
+	$VERSION = '1.12';
 	@ISA     = 'Module::Install::Base';
 	$ISCORE  = 1;
 }
@@ -347,7 +347,7 @@ sub name_from {
 		^ \s*
 		package \s*
 		([\w:]+)
-		\s* ;
+		[\s|;]*
 		/ixms
 	) {
 		my ($name, $module_name) = ($1, $1);
@@ -705,7 +705,7 @@ sub _write_mymeta_data {
 	my @yaml = Parse::CPAN::Meta::LoadFile('META.yml');
 	my $meta = $yaml[0];
 
-	# Overwrite the non-configure dependency hashs
+	# Overwrite the non-configure dependency hashes
 	delete $meta->{requires};
 	delete $meta->{build_requires};
 	delete $meta->{recommends};
diff --git a/inc/Module/Install/RTx.pm b/inc/Module/Install/RTx.pm
index 049e854..73e7245 100644
--- a/inc/Module/Install/RTx.pm
+++ b/inc/Module/Install/RTx.pm
@@ -8,7 +8,7 @@ no warnings 'once';
 
 use Module::Install::Base;
 use base 'Module::Install::Base';
-our $VERSION = '0.34_03';
+our $VERSION = '0.36';
 
 use FindBin;
 use File::Glob     ();
@@ -18,7 +18,8 @@ my @DIRS = qw(etc lib html static bin sbin po var);
 my @INDEX_DIRS = qw(lib bin sbin);
 
 sub RTx {
-    my ( $self, $name ) = @_;
+    my ( $self, $name, $extra_args ) = @_;
+    $extra_args ||= {};
 
     # Set up names
     my $fname = $name;
@@ -30,10 +31,16 @@ sub RTx {
         unless $self->version;
     $self->abstract("$name Extension")
         unless $self->abstract;
+    unless ( $extra_args->{no_readme_generation} ) {
+        $self->readme_from( "lib/$fname.pm",
+                            { options => [ quotes => "none" ] } );
+    }
     $self->add_metadata("x_module_install_rtx_version", $VERSION );
 
     # Try to find RT.pm
-    my @prefixes = qw( /opt /usr/local /home /usr /sw );
+    my @prefixes = qw( /opt /usr/local /home /usr /sw /usr/share/request-tracker4);
+    $ENV{RTHOME} =~ s{/RT\.pm$}{} if defined $ENV{RTHOME};
+    $ENV{RTHOME} =~ s{/lib/?$}{}  if defined $ENV{RTHOME};
     my @try = $ENV{RTHOME} ? ($ENV{RTHOME}, "$ENV{RTHOME}/lib") : ();
     while (1) {
         my @look = @INC;
@@ -44,9 +51,10 @@ sub RTx {
 
         warn
             "Cannot find the location of RT.pm that defines \$RT::LocalPath in: @look\n";
-        $_ = $self->prompt("Path to directory containing your RT.pm:") or exit;
-        $_ =~ s{(/lib)?/RT\.pm$}{};
-        @try = ("$_/rt4/lib", "$_/lib/rt4", "$_/lib");
+        my $given = $self->prompt("Path to directory containing your RT.pm:") or exit;
+        $given =~ s{/RT\.pm$}{};
+        $given =~ s{/lib/?$}{};
+        @try = ($given, "$given/lib");
     }
 
     print "Using RT configuration from $INC{'RT.pm'}:\n";
@@ -57,7 +65,9 @@ sub RTx {
     unshift @INC, $lib_path;
 
     # Set a baseline minimum version
-    $self->requires_rt('4.0.0');
+    unless ( $extra_args->{deprecated_rt} ) {
+        $self->requires_rt('4.0.0');
+    }
 
     # Installation locations
     my %path;
@@ -113,7 +123,7 @@ install ::
         $has_etc{acl}++;
     }
     if ( -e 'etc/initialdata' ) { $has_etc{initialdata}++; }
-    if ( grep { /\d+\.\d+\.\d+.*$/ } glob('etc/upgrade/*.*.*') ) {
+    if ( grep { /\d+\.\d+(\.\d+)?.*$/ } glob('etc/upgrade/*.*') ) {
         $has_etc{upgrade}++;
     }
 
@@ -188,7 +198,7 @@ sub requires_rt_plugin {
     my ( $plugin ) = @_;
 
     if ($self->is_admin) {
-        my $plugins = $self->{values}{"x_requires_rt_plugins"} || [];
+        my $plugins = $self->Meta->{values}{"x_requires_rt_plugins"} || [];
         push @{$plugins}, $plugin;
         $self->add_metadata("x_requires_rt_plugins", $plugins);
     }
@@ -248,4 +258,4 @@ sub _load_rt_handle {
 
 __END__
 
-#line 367
+#line 390
diff --git a/inc/Module/Install/Win32.pm b/inc/Module/Install/Win32.pm
index e529382..e48c32d 100644
--- a/inc/Module/Install/Win32.pm
+++ b/inc/Module/Install/Win32.pm
@@ -6,7 +6,7 @@ use Module::Install::Base ();
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-	$VERSION = '1.08';
+	$VERSION = '1.12';
 	@ISA     = 'Module::Install::Base';
 	$ISCORE  = 1;
 }
diff --git a/inc/Module/Install/WriteAll.pm b/inc/Module/Install/WriteAll.pm
index 2c74308..409ef40 100644
--- a/inc/Module/Install/WriteAll.pm
+++ b/inc/Module/Install/WriteAll.pm
@@ -6,7 +6,7 @@ use Module::Install::Base ();
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-	$VERSION = '1.08';
+	$VERSION = '1.12';
 	@ISA     = qw{Module::Install::Base};
 	$ISCORE  = 1;
 }
diff --git a/lib/RT/Extension/CommandByMail.pm b/lib/RT/Extension/CommandByMail.pm
index 68a39b7..882f2b9 100644
--- a/lib/RT/Extension/CommandByMail.pm
+++ b/lib/RT/Extension/CommandByMail.pm
@@ -1,7 +1,7 @@
 use 5.008003;
 package RT::Extension::CommandByMail;
 
-our $VERSION = '0.17';
+our $VERSION = '1.00';
 
 1;
 __END__
@@ -50,17 +50,22 @@ May need root permissions
 
 =item Edit your F</opt/rt4/etc/RT_SiteConfig.pm>
 
-Add this line:
+If you are using RT 4.2 or greater, add this line:
 
-    Set(@Plugins, ( @Plugins, "RT::Extension::CommandByMail" ));
+    Plugin('RT::Extension::CommandByMail');
 
-As well as:
+For RT 4.0, add this line:
+
+    Set(@Plugins, qw(RT::Extension::CommandByMail));
+
+or add C<RT::Extension::CommandByMail> to your existing C<@Plugins> line.
+
+Regardless of which version of RT, also C<Filter::TakeAction> to your
+C<@MailPlugins> configuration, as follows:
 
     Set(@MailPlugins, qw(Auth::MailFrom Filter::TakeAction));
 
-If you already have a C<@MailPlugins> configuration line, add
-C<Filter::TakeAction> B<after> any authentication plugins (such as
-C<Auth::MailFrom> or C<Auth::Crypt>).
+Be sure to include C<Auth::MailFrom> in the list as well.
 
 =item Restart your webserver
 
@@ -101,10 +106,7 @@ This extension is incompatible with C<UnsafeEmailCommands> RT option.
 
 =head1 AUTHOR
 
-Jesse Vincent  C<< <jesse at bestpractical.com> >>
-Ruslan U. Zakirov  C<< <ruz at bestpractical.com> >>
-Kevin Falcone C<< <falcone at bestpractical.com> >>
-Shawn Moore C<< <sartak at bestpractical.com> >>
+Best Practical Solutions, LLC E<lt>modules at bestpractical.comE<gt>
 
 =head1 BUGS
 
@@ -116,11 +118,13 @@ or via the web at
 
     L<rt.cpan.org|http://rt.cpan.org/Public/Dist/Display.html?Name=RT-Extension-CommandByMail>.
 
+=head1 LICENSE AND COPYRIGHT
+
+This software is Copyright (c) 2014 by Best Practical Solutions
 
-=head1 LICENCE AND COPYRIGHT
+This is free software, licensed under:
 
-Copyright (c) 2006-2014, Best Practical Solutions, LLC.  All rights reserved.
+  The GNU General Public License, Version 2, June 1991
 
-This module is free software; you can redistribute it and/or
-modify it under the same terms as Perl itself. See L<perlartistic>.
+=cut
 

-----------------------------------------------------------------------


More information about the Bps-public-commit mailing list