summaryrefslogtreecommitdiff
path: root/devel/rt3
diff options
context:
space:
mode:
authorspz <spz>2011-10-25 19:38:09 +0000
committerspz <spz>2011-10-25 19:38:09 +0000
commitc193bcf2744974562093be8e0e7fa666e2d44539 (patch)
treeca4f229117960ab7aee9f8e3629519bf371dad52 /devel/rt3
parenta48ca092b8d045096e3223d2c0c4d70513bdd081 (diff)
downloadpkgsrc-c193bcf2744974562093be8e0e7fa666e2d44539.tar.gz
make rt deal with perl 5.14
Diffstat (limited to 'devel/rt3')
-rw-r--r--devel/rt3/Makefile3
-rw-r--r--devel/rt3/distinfo22
-rw-r--r--devel/rt3/patches/patch-aa6
-rw-r--r--devel/rt3/patches/patch-ab78
-rw-r--r--devel/rt3/patches/patch-lib_RT.pm24
-rw-r--r--devel/rt3/patches/patch-lib_RT_Action_CreateTickets.pm24
-rw-r--r--devel/rt3/patches/patch-lib_RT_CustomFieldValues_External.pm19
-rw-r--r--devel/rt3/patches/patch-lib_RT_Interface_Email.pm15
-rw-r--r--devel/rt3/patches/patch-lib_RT_Interface_Email_Auth_GnuPG.pm19
-rw-r--r--devel/rt3/patches/patch-lib_RT_Ticket__Overlay.pm49
-rw-r--r--devel/rt3/patches/patch-lib_RT_Transaction__Overlay.pm15
-rw-r--r--devel/rt3/patches/patch-sbin_rt-attributes-viewer15
-rw-r--r--devel/rt3/patches/patch-sbin_rt-attributes-viewer.in15
-rw-r--r--devel/rt3/patches/patch-share_html_Admin_CustomFields_Modify.html15
-rw-r--r--devel/rt3/patches/patch-share_html_Helpers_CalPopup.html22
-rw-r--r--devel/rt3/patches/patch-share_html_Search_Bulk.html31
-rw-r--r--devel/rt3/patches/patch-share_html_Search_Elements_SelectChartType15
-rw-r--r--devel/rt3/patches/patch-share_html_Ticket_Elements_PreviewScrips42
-rw-r--r--devel/rt3/patches/patch-t_approval_admincc.t15
-rw-r--r--devel/rt3/patches/patch-t_approval_basic.t15
20 files changed, 429 insertions, 30 deletions
diff --git a/devel/rt3/Makefile b/devel/rt3/Makefile
index f0c6c2f93b8..d02ff6de755 100644
--- a/devel/rt3/Makefile
+++ b/devel/rt3/Makefile
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile,v 1.47 2011/04/16 09:41:19 spz Exp $
+# $NetBSD: Makefile,v 1.48 2011/10/25 19:38:09 spz Exp $
DISTNAME= rt-3.8.10
+PKGREVISION= 1
CATEGORIES= devel
MASTER_SITES= http://download.bestpractical.com/pub/rt/release/
diff --git a/devel/rt3/distinfo b/devel/rt3/distinfo
index 709e78c7cab..b11468fac58 100644
--- a/devel/rt3/distinfo
+++ b/devel/rt3/distinfo
@@ -1,7 +1,23 @@
-$NetBSD: distinfo,v 1.20 2011/04/16 09:41:19 spz Exp $
+$NetBSD: distinfo,v 1.21 2011/10/25 19:38:09 spz Exp $
SHA1 (rt-3.8.10.tar.gz) = 98678a4ce4dbdfb13ceeeb88236d49bd0f5562c7
RMD160 (rt-3.8.10.tar.gz) = 779ba2e04e87d20f30b03a9e7348c23b09062038
Size (rt-3.8.10.tar.gz) = 5642566 bytes
-SHA1 (patch-aa) = 23964ba8d686931e1f92be88fa3a5d5e06070fce
-SHA1 (patch-ab) = 0cbfa31fb20b2c53e7beeed5591437361bbcf173
+SHA1 (patch-aa) = 6f78710f4460a25c75afbdf7128c0fe34914927c
+SHA1 (patch-ab) = ee455dd683c84d3a745a29a132e28903ba03144d
+SHA1 (patch-lib_RT.pm) = f72c6cb6f94acf1296076423d26d7efa4ed78293
+SHA1 (patch-lib_RT_Action_CreateTickets.pm) = d9cac2c0b9125835edf303b203e067ce087e90d7
+SHA1 (patch-lib_RT_CustomFieldValues_External.pm) = 4404ca98c9e50687323892df1aa95c8b5a6dedd9
+SHA1 (patch-lib_RT_Interface_Email.pm) = 60d0c2c46ac3dc8172bdf16bbf43099b7dd87542
+SHA1 (patch-lib_RT_Interface_Email_Auth_GnuPG.pm) = c78c1894a0c058082784a3790fc87684d6a4431c
+SHA1 (patch-lib_RT_Ticket__Overlay.pm) = e39ef54a28f08d34ebf7c7bc3d410e8c1064177e
+SHA1 (patch-lib_RT_Transaction__Overlay.pm) = aad3ea7fb62798e63cee20e82b6cc8e4f11a3f44
+SHA1 (patch-sbin_rt-attributes-viewer) = e1c963800b76282cda4ca46e006f30d9abfc29c9
+SHA1 (patch-sbin_rt-attributes-viewer.in) = 99a15cca9a394b5743edc3929f43593f1384c8da
+SHA1 (patch-share_html_Admin_CustomFields_Modify.html) = ab8109ff5b2c39f02dc0058d00bc9c4264b58bc7
+SHA1 (patch-share_html_Helpers_CalPopup.html) = 3920ac6448d1d21c7ff32ef67344b19aa53616a4
+SHA1 (patch-share_html_Search_Bulk.html) = a08fa8cfbe641ae4d174117167c4f4be97f9151f
+SHA1 (patch-share_html_Search_Elements_SelectChartType) = 0aa993c9f909634da4e65e37dd59afd6531dde01
+SHA1 (patch-share_html_Ticket_Elements_PreviewScrips) = caaccc926bb92d9e7a4fd24bfc6b47263c5dd028
+SHA1 (patch-t_approval_admincc.t) = 4fddf5fa844d15e8698e00fe6863daaafa661315
+SHA1 (patch-t_approval_basic.t) = 209303cc34370518a2600e28570627e1dc7e698b
diff --git a/devel/rt3/patches/patch-aa b/devel/rt3/patches/patch-aa
index 745f7f9e5ec..92521adc20f 100644
--- a/devel/rt3/patches/patch-aa
+++ b/devel/rt3/patches/patch-aa
@@ -1,10 +1,10 @@
-$NetBSD: patch-aa,v 1.2 2008/08/23 23:58:29 tonnerre Exp $
+$NetBSD: patch-aa,v 1.3 2011/10/25 19:38:10 spz Exp $
Adds the pkgsrc layout.
---- config.layout.orig 2004-01-02 23:55:55.000000000 +0100
+--- config.layout.orig 2011-04-14 00:32:21.000000000 +0000
+++ config.layout
-@@ -81,6 +81,28 @@
+@@ -114,6 +114,28 @@
customlibdir: ${customdir}/local/lib
</Layout>
diff --git a/devel/rt3/patches/patch-ab b/devel/rt3/patches/patch-ab
index 2851256aaf1..be802e2d768 100644
--- a/devel/rt3/patches/patch-ab
+++ b/devel/rt3/patches/patch-ab
@@ -1,6 +1,11 @@
-$NetBSD: patch-ab,v 1.3 2010/03/14 13:12:04 spz Exp $
+$NetBSD: patch-ab,v 1.4 2011/10/25 19:38:10 spz Exp $
---- lib/RT/Crypt/GnuPG.pm.orig 2009-12-11 17:27:20.000000000 +0000
+- add sanity checks for the pgp program call
+- make the pgp program path configurable instead of assuming it
+ in the (smallish) path
+- perl 5.14 qw() in for* fixes
+
+--- lib/RT/Crypt/GnuPG.pm.orig 2011-04-14 00:32:21.000000000 +0000
+++ lib/RT/Crypt/GnuPG.pm
@@ -434,6 +434,7 @@ sub SignEncryptRFC3156 {
);
@@ -85,7 +90,7 @@ $NetBSD: patch-ab,v 1.3 2010/03/14 13:12:04 spz Exp $
delete $res{$_} unless $res{$_} && $res{$_} =~ /\S/s;
close $handle{$_};
}
-@@ -1077,6 +1081,7 @@ sub VerifyAttachment {
+@@ -1093,6 +1097,7 @@ sub VerifyAttachment {
my %args = ( Data => undef, Signature => undef, Top => undef, @_ );
my $gnupg = new GnuPG::Interface;
@@ -93,7 +98,7 @@ $NetBSD: patch-ab,v 1.3 2010/03/14 13:12:04 spz Exp $
my %opt = RT->Config->Get('GnuPGOptions');
$opt{'digest-algo'} ||= 'SHA1';
$gnupg->options->hash_init(
-@@ -1114,7 +1119,7 @@ sub VerifyAttachment {
+@@ -1130,7 +1135,7 @@ sub VerifyAttachment {
};
$res{'exit_code'} = $?;
foreach ( qw(stderr logger status) ) {
@@ -102,7 +107,7 @@ $NetBSD: patch-ab,v 1.3 2010/03/14 13:12:04 spz Exp $
delete $res{$_} unless $res{$_} && $res{$_} =~ /\S/s;
close $handle{$_};
}
-@@ -1131,6 +1136,7 @@ sub VerifyRFC3156 {
+@@ -1147,6 +1152,7 @@ sub VerifyRFC3156 {
my %args = ( Data => undef, Signature => undef, Top => undef, @_ );
my $gnupg = new GnuPG::Interface;
@@ -110,7 +115,7 @@ $NetBSD: patch-ab,v 1.3 2010/03/14 13:12:04 spz Exp $
my %opt = RT->Config->Get('GnuPGOptions');
$opt{'digest-algo'} ||= 'SHA1';
$gnupg->options->hash_init(
-@@ -1161,7 +1167,7 @@ sub VerifyRFC3156 {
+@@ -1177,7 +1183,7 @@ sub VerifyRFC3156 {
};
$res{'exit_code'} = $?;
foreach ( qw(stderr logger status) ) {
@@ -119,7 +124,7 @@ $NetBSD: patch-ab,v 1.3 2010/03/14 13:12:04 spz Exp $
delete $res{$_} unless $res{$_} && $res{$_} =~ /\S/s;
close $handle{$_};
}
-@@ -1184,6 +1190,7 @@ sub DecryptRFC3156 {
+@@ -1200,6 +1206,7 @@ sub DecryptRFC3156 {
);
my $gnupg = new GnuPG::Interface;
@@ -127,7 +132,7 @@ $NetBSD: patch-ab,v 1.3 2010/03/14 13:12:04 spz Exp $
my %opt = RT->Config->Get('GnuPGOptions');
# handling passphrase in GnupGOptions
-@@ -1226,7 +1233,7 @@ sub DecryptRFC3156 {
+@@ -1242,7 +1249,7 @@ sub DecryptRFC3156 {
};
$res{'exit_code'} = $?;
foreach ( qw(stderr logger status) ) {
@@ -136,7 +141,7 @@ $NetBSD: patch-ab,v 1.3 2010/03/14 13:12:04 spz Exp $
delete $res{$_} unless $res{$_} && $res{$_} =~ /\S/s;
close $handle{$_};
}
-@@ -1237,6 +1244,11 @@ sub DecryptRFC3156 {
+@@ -1253,6 +1260,11 @@ sub DecryptRFC3156 {
# if the decryption is fine but the signature is bad, then without this
# status check we lose the decrypted text
# XXX: add argument to the function to control this check
@@ -148,7 +153,7 @@ $NetBSD: patch-ab,v 1.3 2010/03/14 13:12:04 spz Exp $
if ( $res{'status'} !~ /DECRYPTION_OKAY/ ) {
if ( $@ || $? ) {
$res{'message'} = $@? $@: "gpg exitted with error code ". ($? >> 8);
-@@ -1262,6 +1274,7 @@ sub DecryptInline {
+@@ -1278,6 +1290,7 @@ sub DecryptInline {
);
my $gnupg = new GnuPG::Interface;
@@ -156,7 +161,7 @@ $NetBSD: patch-ab,v 1.3 2010/03/14 13:12:04 spz Exp $
my %opt = RT->Config->Get('GnuPGOptions');
# handling passphrase in GnuPGOptions
-@@ -1369,7 +1382,7 @@ sub _DecryptInlineBlock {
+@@ -1406,7 +1419,7 @@ sub _DecryptInlineBlock {
};
$res{'exit_code'} = $?;
foreach ( qw(stderr logger status) ) {
@@ -165,7 +170,7 @@ $NetBSD: patch-ab,v 1.3 2010/03/14 13:12:04 spz Exp $
delete $res{$_} unless $res{$_} && $res{$_} =~ /\S/s;
close $handle{$_};
}
-@@ -1380,6 +1393,11 @@ sub _DecryptInlineBlock {
+@@ -1417,6 +1430,11 @@ sub _DecryptInlineBlock {
# if the decryption is fine but the signature is bad, then without this
# status check we lose the decrypted text
# XXX: add argument to the function to control this check
@@ -177,7 +182,7 @@ $NetBSD: patch-ab,v 1.3 2010/03/14 13:12:04 spz Exp $
if ( $res{'status'} !~ /DECRYPTION_OKAY/ ) {
if ( $@ || $? ) {
$res{'message'} = $@? $@: "gpg exitted with error code ". ($? >> 8);
-@@ -1400,6 +1418,7 @@ sub DecryptAttachment {
+@@ -1437,6 +1455,7 @@ sub DecryptAttachment {
);
my $gnupg = new GnuPG::Interface;
@@ -185,7 +190,7 @@ $NetBSD: patch-ab,v 1.3 2010/03/14 13:12:04 spz Exp $
my %opt = RT->Config->Get('GnuPGOptions');
# handling passphrase in GnuPGOptions
-@@ -1451,6 +1470,7 @@ sub DecryptContent {
+@@ -1488,6 +1507,7 @@ sub DecryptContent {
);
my $gnupg = new GnuPG::Interface;
@@ -193,7 +198,7 @@ $NetBSD: patch-ab,v 1.3 2010/03/14 13:12:04 spz Exp $
my %opt = RT->Config->Get('GnuPGOptions');
# handling passphrase in GnupGOptions
-@@ -1489,7 +1509,7 @@ sub DecryptContent {
+@@ -1526,7 +1546,7 @@ sub DecryptContent {
};
$res{'exit_code'} = $?;
foreach ( qw(stderr logger status) ) {
@@ -202,7 +207,7 @@ $NetBSD: patch-ab,v 1.3 2010/03/14 13:12:04 spz Exp $
delete $res{$_} unless $res{$_} && $res{$_} =~ /\S/s;
close $handle{$_};
}
-@@ -1500,6 +1520,11 @@ sub DecryptContent {
+@@ -1537,6 +1557,11 @@ sub DecryptContent {
# if the decryption is fine but the signature is bad, then without this
# status check we lose the decrypted text
# XXX: add argument to the function to control this check
@@ -214,7 +219,7 @@ $NetBSD: patch-ab,v 1.3 2010/03/14 13:12:04 spz Exp $
if ( $res{'status'} !~ /DECRYPTION_OKAY/ ) {
if ( $@ || $? ) {
$res{'message'} = $@? $@: "gpg exitted with error code ". ($? >> 8);
-@@ -2040,6 +2065,7 @@ sub GetKeysInfo {
+@@ -2077,6 +2102,7 @@ sub GetKeysInfo {
}
my $gnupg = new GnuPG::Interface;
@@ -222,7 +227,7 @@ $NetBSD: patch-ab,v 1.3 2010/03/14 13:12:04 spz Exp $
my %opt = RT->Config->Get('GnuPGOptions');
$opt{'digest-algo'} ||= 'SHA1';
$opt{'with-colons'} = undef; # parseable format
-@@ -2064,12 +2090,12 @@ sub GetKeysInfo {
+@@ -2101,12 +2127,12 @@ sub GetKeysInfo {
waitpid $pid, 0;
};
@@ -237,7 +242,34 @@ $NetBSD: patch-ab,v 1.3 2010/03/14 13:12:04 spz Exp $
delete $res{$_} unless $res{$_} && $res{$_} =~ /\S/s;
close $handle{$_};
}
-@@ -2239,6 +2265,7 @@ sub DeleteKey {
+@@ -2158,7 +2184,7 @@ sub ParseKeysInfo {
+ @info{qw(OwnerTrust OwnerTrustTerse OwnerTrustLevel)} =
+ _ConvertTrustChar( $info{'OwnerTrustChar'} );
+ $info{ $_ } = _ParseDate( $info{ $_ } )
+- foreach qw(Created Expire);
++ foreach ( qw(Created Expire) );
+ push @res, \%info;
+ }
+ elsif ( $tag eq 'sec' ) {
+@@ -2171,7 +2197,7 @@ sub ParseKeysInfo {
+ @info{qw(OwnerTrust OwnerTrustTerse OwnerTrustLevel)} =
+ _ConvertTrustChar( $info{'OwnerTrustChar'} );
+ $info{ $_ } = _ParseDate( $info{ $_ } )
+- foreach qw(Created Expire);
++ foreach ( qw(Created Expire) );
+ push @res, \%info;
+ }
+ elsif ( $tag eq 'uid' ) {
+@@ -2179,7 +2205,7 @@ sub ParseKeysInfo {
+ @info{ qw(Trust Created Expire String) }
+ = (split /:/, $line)[0,4,5,8];
+ $info{ $_ } = _ParseDate( $info{ $_ } )
+- foreach qw(Created Expire);
++ foreach ( qw(Created Expire) );
+ push @{ $res[-1]{'User'} ||= [] }, \%info;
+ }
+ elsif ( $tag eq 'fpr' ) {
+@@ -2276,6 +2302,7 @@ sub DeleteKey {
my $key = shift;
my $gnupg = new GnuPG::Interface;
@@ -245,7 +277,7 @@ $NetBSD: patch-ab,v 1.3 2010/03/14 13:12:04 spz Exp $
my %opt = RT->Config->Get('GnuPGOptions');
$gnupg->options->hash_init(
_PrepareGnuPGOptions( %opt ),
-@@ -2270,7 +2297,7 @@ sub DeleteKey {
+@@ -2307,7 +2334,7 @@ sub DeleteKey {
my %res;
$res{'exit_code'} = $?;
foreach ( qw(stderr logger status) ) {
@@ -254,7 +286,7 @@ $NetBSD: patch-ab,v 1.3 2010/03/14 13:12:04 spz Exp $
delete $res{$_} unless $res{$_} && $res{$_} =~ /\S/s;
close $handle{$_};
}
-@@ -2287,6 +2314,7 @@ sub ImportKey {
+@@ -2324,6 +2351,7 @@ sub ImportKey {
my $key = shift;
my $gnupg = new GnuPG::Interface;
@@ -262,7 +294,7 @@ $NetBSD: patch-ab,v 1.3 2010/03/14 13:12:04 spz Exp $
my %opt = RT->Config->Get('GnuPGOptions');
$gnupg->options->hash_init(
_PrepareGnuPGOptions( %opt ),
-@@ -2313,7 +2341,7 @@ sub ImportKey {
+@@ -2350,7 +2378,7 @@ sub ImportKey {
my %res;
$res{'exit_code'} = $?;
foreach ( qw(stderr logger status) ) {
@@ -271,7 +303,7 @@ $NetBSD: patch-ab,v 1.3 2010/03/14 13:12:04 spz Exp $
delete $res{$_} unless $res{$_} && $res{$_} =~ /\S/s;
close $handle{$_};
}
-@@ -2370,6 +2398,7 @@ properly (and false otherwise).
+@@ -2407,6 +2435,7 @@ properly (and false otherwise).
sub Probe {
my $gnupg = new GnuPG::Interface;
diff --git a/devel/rt3/patches/patch-lib_RT.pm b/devel/rt3/patches/patch-lib_RT.pm
new file mode 100644
index 00000000000..c376293302a
--- /dev/null
+++ b/devel/rt3/patches/patch-lib_RT.pm
@@ -0,0 +1,24 @@
+$NetBSD: patch-lib_RT.pm,v 1.1 2011/10/25 19:38:10 spz Exp $
+
+perl 5.14 qw() in for* fixes
+
+--- lib/RT.pm.orig 2011-04-14 01:10:13.000000000 +0000
++++ lib/RT.pm
+@@ -459,7 +459,7 @@ sub InitClasses {
+ # in the session, as we deserialize it so we never call constructor
+ # of the class, so the list of accessible fields is empty and we die
+ # with "Method xxx is not implemented in RT::SomeClass"
+- $_->_BuildTableAttributes foreach qw(
++ $_->_BuildTableAttributes foreach ( qw(
+ RT::Ticket
+ RT::Transaction
+ RT::Attachment
+@@ -477,7 +477,7 @@ sub InitClasses {
+ RT::ObjectCustomField
+ RT::ObjectCustomFieldValue
+ RT::Attribute
+- );
++ ) );
+
+ if ( $args{'Heavy'} ) {
+ # load scrips' modules
diff --git a/devel/rt3/patches/patch-lib_RT_Action_CreateTickets.pm b/devel/rt3/patches/patch-lib_RT_Action_CreateTickets.pm
new file mode 100644
index 00000000000..107dd2fe8b6
--- /dev/null
+++ b/devel/rt3/patches/patch-lib_RT_Action_CreateTickets.pm
@@ -0,0 +1,24 @@
+$NetBSD: patch-lib_RT_Action_CreateTickets.pm,v 1.1 2011/10/25 19:38:10 spz Exp $
+
+perl 5.14 qw() in for* fixes
+
+--- lib/RT/Action/CreateTickets.pm.orig 2011-04-14 00:32:21.000000000 +0000
++++ lib/RT/Action/CreateTickets.pm
+@@ -723,7 +723,7 @@ sub ParseLines {
+ }
+ }
+
+- foreach my $date qw(due starts started resolved) {
++ foreach my $date ( qw(due starts started resolved) ) {
+ my $dateobj = RT::Date->new( $self->CurrentUser );
+ next unless $args{$date};
+ if ( $args{$date} =~ /^\d+$/ ) {
+@@ -1080,7 +1080,7 @@ sub UpdateWatchers {
+
+ my @results;
+
+- foreach my $type qw(Requestor Cc AdminCc) {
++ foreach my $type ( qw(Requestor Cc AdminCc) ) {
+ my $method = $type . 'Addresses';
+ my $oldaddr = $ticket->$method;
+
diff --git a/devel/rt3/patches/patch-lib_RT_CustomFieldValues_External.pm b/devel/rt3/patches/patch-lib_RT_CustomFieldValues_External.pm
new file mode 100644
index 00000000000..020a5d54d46
--- /dev/null
+++ b/devel/rt3/patches/patch-lib_RT_CustomFieldValues_External.pm
@@ -0,0 +1,19 @@
+$NetBSD: patch-lib_RT_CustomFieldValues_External.pm,v 1.1 2011/10/25 19:38:10 spz Exp $
+
+perl 5.14 qw() in for* fixes
+
+--- lib/RT/CustomFieldValues/External.pm.orig 2011-04-14 00:32:21.000000000 +0000
++++ lib/RT/CustomFieldValues/External.pm
+@@ -94,10 +94,10 @@ sub _Init {
+
+ sub CleanSlate {
+ my $self = shift;
+- delete $self->{ $_ } foreach qw(
++ delete $self->{ $_ } foreach ( qw(
+ __external_cf
+ __external_cf_limits
+- );
++ ) );
+ return $self->SUPER::CleanSlate(@_);
+ }
+
diff --git a/devel/rt3/patches/patch-lib_RT_Interface_Email.pm b/devel/rt3/patches/patch-lib_RT_Interface_Email.pm
new file mode 100644
index 00000000000..d6b096b6313
--- /dev/null
+++ b/devel/rt3/patches/patch-lib_RT_Interface_Email.pm
@@ -0,0 +1,15 @@
+$NetBSD: patch-lib_RT_Interface_Email.pm,v 1.1 2011/10/25 19:38:10 spz Exp $
+
+perl 5.14 qw() in for* fixes
+
+--- lib/RT/Interface/Email.pm.orig 2011-04-14 00:32:21.000000000 +0000
++++ lib/RT/Interface/Email.pm
+@@ -632,7 +632,7 @@ sub ForwardTicket {
+ $txns->Limit(
+ FIELD => 'Type',
+ VALUE => $_,
+- ) for qw(Create Correspond);
++ ) for ( qw(Create Correspond) );
+
+ my $entity = MIME::Entity->build(
+ Type => 'multipart/mixed',
diff --git a/devel/rt3/patches/patch-lib_RT_Interface_Email_Auth_GnuPG.pm b/devel/rt3/patches/patch-lib_RT_Interface_Email_Auth_GnuPG.pm
new file mode 100644
index 00000000000..efc26495df1
--- /dev/null
+++ b/devel/rt3/patches/patch-lib_RT_Interface_Email_Auth_GnuPG.pm
@@ -0,0 +1,19 @@
+$NetBSD: patch-lib_RT_Interface_Email_Auth_GnuPG.pm,v 1.1 2011/10/25 19:38:10 spz Exp $
+
+perl 5.14 qw() in for* fixes
+
+--- lib/RT/Interface/Email/Auth/GnuPG.pm.orig 2011-04-14 00:32:21.000000000 +0000
++++ lib/RT/Interface/Email/Auth/GnuPG.pm
+@@ -76,10 +76,10 @@ sub GetCurrentUser {
+ );
+
+ foreach my $p ( $args{'Message'}->parts_DFS ) {
+- $p->head->delete($_) for qw(
++ $p->head->delete($_) for ( qw(
+ X-RT-GnuPG-Status X-RT-Incoming-Encrypton
+ X-RT-Incoming-Signature X-RT-Privacy
+- );
++ ) );
+ }
+
+ my $msg = $args{'Message'}->dup;
diff --git a/devel/rt3/patches/patch-lib_RT_Ticket__Overlay.pm b/devel/rt3/patches/patch-lib_RT_Ticket__Overlay.pm
new file mode 100644
index 00000000000..fb179fcb4cf
--- /dev/null
+++ b/devel/rt3/patches/patch-lib_RT_Ticket__Overlay.pm
@@ -0,0 +1,49 @@
+$NetBSD: patch-lib_RT_Ticket__Overlay.pm,v 1.1 2011/10/25 19:38:10 spz Exp $
+
+perl 5.14 qw() in for* fixes
+
+--- lib/RT/Ticket_Overlay.pm.orig 2011-04-14 00:32:21.000000000 +0000
++++ lib/RT/Ticket_Overlay.pm
+@@ -471,13 +471,13 @@ sub Create {
+ );
+
+ # Parameters passed in during an import that we probably don't want to touch, otherwise
+- foreach my $attr qw(id Creator Created LastUpdated LastUpdatedBy) {
++ foreach my $attr ( qw(id Creator Created LastUpdated LastUpdatedBy) ) {
+ $params{$attr} = $args{$attr} if $args{$attr};
+ }
+
+ # Delete null integer parameters
+ foreach my $attr
+- qw(TimeWorked TimeLeft TimeEstimated InitialPriority FinalPriority)
++ ( qw(TimeWorked TimeLeft TimeEstimated InitialPriority FinalPriority) )
+ {
+ delete $params{$attr}
+ unless ( exists $params{$attr} && $params{$attr} );
+@@ -745,7 +745,7 @@ sub _Parse822HeadersForAttributes {
+
+ }
+
+- foreach my $date qw(due starts started resolved) {
++ foreach my $date ( qw(due starts started resolved) ) {
+ my $dateobj = RT::Date->new($RT::SystemUser);
+ if ( defined ($args{$date}) and $args{$date} =~ /^\d+$/ ) {
+ $dateobj->Set( Format => 'unix', Value => $args{$date} );
+@@ -2600,7 +2600,7 @@ sub MergeInto {
+ }
+
+ # Update time fields
+- foreach my $type qw(TimeEstimated TimeWorked TimeLeft) {
++ foreach my $type ( qw(TimeEstimated TimeWorked TimeLeft) ) {
+
+ my $mutator = "Set$type";
+ $MergeInto->$mutator(
+@@ -2608,7 +2608,7 @@ sub MergeInto {
+
+ }
+ #add all of this ticket's watchers to that ticket.
+- foreach my $watcher_type qw(Requestors Cc AdminCc) {
++ foreach my $watcher_type ( qw(Requestors Cc AdminCc) ) {
+
+ my $people = $self->$watcher_type->MembersObj;
+ my $addwatcher_type = $watcher_type;
diff --git a/devel/rt3/patches/patch-lib_RT_Transaction__Overlay.pm b/devel/rt3/patches/patch-lib_RT_Transaction__Overlay.pm
new file mode 100644
index 00000000000..2a28a525d53
--- /dev/null
+++ b/devel/rt3/patches/patch-lib_RT_Transaction__Overlay.pm
@@ -0,0 +1,15 @@
+$NetBSD: patch-lib_RT_Transaction__Overlay.pm,v 1.1 2011/10/25 19:38:10 spz Exp $
+
+perl 5.14 qw() in for* fixes
+
+--- lib/RT/Transaction_Overlay.pm.orig 2011-04-14 00:32:21.000000000 +0000
++++ lib/RT/Transaction_Overlay.pm
+@@ -144,7 +144,7 @@ sub Create {
+ );
+
+ # Parameters passed in during an import that we probably don't want to touch, otherwise
+- foreach my $attr qw(id Creator Created LastUpdated TimeTaken LastUpdatedBy) {
++ foreach my $attr ( qw(id Creator Created LastUpdated TimeTaken LastUpdatedBy) ) {
+ $params{$attr} = $args{$attr} if ($args{$attr});
+ }
+
diff --git a/devel/rt3/patches/patch-sbin_rt-attributes-viewer b/devel/rt3/patches/patch-sbin_rt-attributes-viewer
new file mode 100644
index 00000000000..5b907419df0
--- /dev/null
+++ b/devel/rt3/patches/patch-sbin_rt-attributes-viewer
@@ -0,0 +1,15 @@
+$NetBSD: patch-sbin_rt-attributes-viewer,v 1.1 2011/10/25 19:38:10 spz Exp $
+
+perl 5.14 qw() in for* fixes
+
+--- sbin/rt-attributes-viewer.orig 2011-04-14 01:10:12.000000000 +0000
++++ sbin/rt-attributes-viewer
+@@ -103,7 +103,7 @@ unless ( $attr->id ) {
+ }
+
+ my %res = ();
+-$res{$_} = $attr->$_() foreach qw(ObjectType ObjectId Name Description Content ContentType);
++$res{$_} = $attr->$_() foreach ( qw(ObjectType ObjectId Name Description Content ContentType) );
+
+ use Data::Dumper;
+ print "Content of attribute #$id: ". Dumper( \%res );
diff --git a/devel/rt3/patches/patch-sbin_rt-attributes-viewer.in b/devel/rt3/patches/patch-sbin_rt-attributes-viewer.in
new file mode 100644
index 00000000000..37c50cd96c3
--- /dev/null
+++ b/devel/rt3/patches/patch-sbin_rt-attributes-viewer.in
@@ -0,0 +1,15 @@
+$NetBSD: patch-sbin_rt-attributes-viewer.in,v 1.1 2011/10/25 19:38:10 spz Exp $
+
+perl 5.14 qw() in for* fixes
+
+--- sbin/rt-attributes-viewer.in.orig 2011-04-14 00:32:21.000000000 +0000
++++ sbin/rt-attributes-viewer.in
+@@ -103,7 +103,7 @@ unless ( $attr->id ) {
+ }
+
+ my %res = ();
+-$res{$_} = $attr->$_() foreach qw(ObjectType ObjectId Name Description Content ContentType);
++$res{$_} = $attr->$_() foreach ( qw(ObjectType ObjectId Name Description Content ContentType) );
+
+ use Data::Dumper;
+ print "Content of attribute #$id: ". Dumper( \%res );
diff --git a/devel/rt3/patches/patch-share_html_Admin_CustomFields_Modify.html b/devel/rt3/patches/patch-share_html_Admin_CustomFields_Modify.html
new file mode 100644
index 00000000000..084ac880ffc
--- /dev/null
+++ b/devel/rt3/patches/patch-share_html_Admin_CustomFields_Modify.html
@@ -0,0 +1,15 @@
+$NetBSD: patch-share_html_Admin_CustomFields_Modify.html,v 1.1 2011/10/25 19:38:10 spz Exp $
+
+perl 5.14 qw() in for* fixes
+
+--- share/html/Admin/CustomFields/Modify.html.orig 2011-04-14 00:32:21.000000000 +0000
++++ share/html/Admin/CustomFields/Modify.html
+@@ -196,7 +196,7 @@ if ( $ARGS{'Update'} && $id ne 'new' ) {
+ # Update any existing values
+ my $values = $CustomFieldObj->ValuesObj;
+ while ( my $value = $values->Next ) {
+- foreach my $attr qw(Name Description SortOrder Category) {
++ foreach my $attr ( qw(Name Description SortOrder Category) ) {
+ my $param = join("-", $paramtag, $value->Id, $attr);
+ next unless exists $ARGS{$param};
+ $ARGS{$param} =~ s/^\s+//;
diff --git a/devel/rt3/patches/patch-share_html_Helpers_CalPopup.html b/devel/rt3/patches/patch-share_html_Helpers_CalPopup.html
new file mode 100644
index 00000000000..7902b31ec8f
--- /dev/null
+++ b/devel/rt3/patches/patch-share_html_Helpers_CalPopup.html
@@ -0,0 +1,22 @@
+$NetBSD: patch-share_html_Helpers_CalPopup.html,v 1.1 2011/10/25 19:38:10 spz Exp $
+
+perl 5.14 qw() in for* fixes
+
+--- share/html/Helpers/CalPopup.html.orig 2011-04-14 00:32:21.000000000 +0000
++++ share/html/Helpers/CalPopup.html
+@@ -95,12 +95,12 @@ my @today = localtime(time());
+
+ my @weekdays;
+ push @weekdays, loc($_)
+- for qw(Sun Mon Tue Wed Thu Fri Sat);
++ for ( qw(Sun Mon Tue Wed Thu Fri Sat) );
+
+ my @months;
+ push @months, loc($_)
+- for qw(January February March April May June July August
+- September October November December);
++ for ( qw(January February March April May June July August
++ September October November December) );
+
+ unless ($DisplayedYear) {
+ $DisplayedMonth = $today[4] + 1;
diff --git a/devel/rt3/patches/patch-share_html_Search_Bulk.html b/devel/rt3/patches/patch-share_html_Search_Bulk.html
new file mode 100644
index 00000000000..29eba5d0005
--- /dev/null
+++ b/devel/rt3/patches/patch-share_html_Search_Bulk.html
@@ -0,0 +1,31 @@
+$NetBSD: patch-share_html_Search_Bulk.html,v 1.1 2011/10/25 19:38:10 spz Exp $
+
+perl 5.14 qw() in for* fixes
+
+--- share/html/Search/Bulk.html.orig 2011-04-14 00:32:21.000000000 +0000
++++ share/html/Search/Bulk.html
+@@ -60,7 +60,7 @@
+
+ <& /Elements/ListActions, actions => \@results &>
+ <form method="post" action="<% RT->Config->Get('WebPath') %>/Search/Bulk.html" enctype="multipart/form-data">
+-% foreach my $var qw(Query Format OrderBy Order Rows Page SavedChartSearchId) {
++% foreach my $var ( qw(Query Format OrderBy Order Rows Page SavedChartSearchId) ) {
+ <input type="hidden" class="hidden" name="<%$var%>" value="<%$ARGS{$var} || ''%>" />
+ %}
+ <& /Elements/CollectionList,
+@@ -358,13 +358,13 @@ unless ( $ARGS{'AddMoreAttach'} ) {
+ my @watchresults =
+ ProcessTicketWatchers( TicketObj => $Ticket, ARGSRef => \%ARGS );
+
+- foreach my $type qw(MergeInto DependsOn MemberOf RefersTo) {
++ foreach my $type ( qw(MergeInto DependsOn MemberOf RefersTo) ) {
+ $ARGS{ $Ticket->id . "-" . $type } = $ARGS{"Ticket-$type"};
+ $ARGS{ $type . "-" . $Ticket->id } = $ARGS{"$type-Ticket"};
+ }
+ @linkresults =
+ ProcessTicketLinks( TicketObj => $Ticket, ARGSRef => \%ARGS );
+- foreach my $type qw(MergeInto DependsOn MemberOf RefersTo) {
++ foreach my $type ( qw(MergeInto DependsOn MemberOf RefersTo) ) {
+ delete $ARGS{ $type . "-" . $Ticket->id };
+ delete $ARGS{ $Ticket->id . "-" . $type };
+ }
diff --git a/devel/rt3/patches/patch-share_html_Search_Elements_SelectChartType b/devel/rt3/patches/patch-share_html_Search_Elements_SelectChartType
new file mode 100644
index 00000000000..b1e3dd8a96c
--- /dev/null
+++ b/devel/rt3/patches/patch-share_html_Search_Elements_SelectChartType
@@ -0,0 +1,15 @@
+$NetBSD: patch-share_html_Search_Elements_SelectChartType,v 1.1 2011/10/25 19:38:10 spz Exp $
+
+perl 5.14 qw() in for* fixes
+
+--- share/html/Search/Elements/SelectChartType.orig 2011-04-14 00:32:21.000000000 +0000
++++ share/html/Search/Elements/SelectChartType
+@@ -50,7 +50,7 @@ $Name => 'ChartType'
+ $Default => 'bar'
+ </%args>
+ <select id="<%$Name%>" name="<%$Name%>">
+-% foreach my $option qw(bar pie) {
++% foreach my $option ( qw(bar pie) ) {
+ % # 'bar' # loc
+ % # 'pie' # loc
+ <option value="<%$option%>"<% $option eq $Default ? qq[ selected="selected"] : '' |n %>><%loc($option)%></option>
diff --git a/devel/rt3/patches/patch-share_html_Ticket_Elements_PreviewScrips b/devel/rt3/patches/patch-share_html_Ticket_Elements_PreviewScrips
new file mode 100644
index 00000000000..5db2c8857d4
--- /dev/null
+++ b/devel/rt3/patches/patch-share_html_Ticket_Elements_PreviewScrips
@@ -0,0 +1,42 @@
+$NetBSD: patch-share_html_Ticket_Elements_PreviewScrips,v 1.1 2011/10/25 19:38:10 spz Exp $
+
+perl 5.14 qw() in for* fixes
+
+--- share/html/Ticket/Elements/PreviewScrips.orig 2011-04-14 00:32:21.000000000 +0000
++++ share/html/Ticket/Elements/PreviewScrips
+@@ -65,7 +65,7 @@ my @non_recipients = @{ $squelch{'EmailA
+ <b><% $scrip->Description || loc('Scrip #[_1]',$scrip->id) %></b><br />
+ <&|/l, loc($scrip->ConditionObj->Name), loc($scrip->ActionObj->Name), loc($scrip->TemplateObj->Name)&>[_1] [_2] with template [_3]</&>
+ <br />
+-%foreach my $type qw(To Cc Bcc) {
++%foreach my $type ( qw(To Cc Bcc) ) {
+ %my @addresses = $scrip->ActionObj->Action->$type();
+ <ul>
+ %foreach my $addr (@addresses) {
+@@ -90,7 +90,7 @@ my @non_recipients = @{ $squelch{'EmailA
+ % next unless $rule->{hints} && $rule->{hints}{class} eq 'SendEmail';
+ <b><% $rule->Describe %></b>
+ % my $data = $rule->{hints}{recipients};
+-% foreach my $type qw(To Cc Bcc) {
++% foreach my $type ( qw(To Cc Bcc) ) {
+ <ul>
+ % foreach my $address (@{$data->{$type}}) {
+ <li>
+@@ -205,7 +205,7 @@ foreach my $scrip ( @{ $txn->Scrips->Pre
+ my $action = $scrip->ActionObj->Action;
+ next unless $action->isa('RT::Action::SendEmail');
+
+- foreach my $type qw(To Cc Bcc) {
++ foreach my $type ( qw(To Cc Bcc) ) {
+ push @recipients, $action->$type();
+ }
+ }
+@@ -250,7 +250,7 @@ foreach my $scrip ( @{ $txn->Scrips->Pre
+ my $action = $scrip->ActionObj->Action;
+ next unless $action->isa('RT::Action::SendEmail');
+
+- foreach my $type qw(To Cc Bcc) {
++ foreach my $type ( qw(To Cc Bcc) ) {
+ push @recipients, $action->$type();
+ }
+ }
diff --git a/devel/rt3/patches/patch-t_approval_admincc.t b/devel/rt3/patches/patch-t_approval_admincc.t
new file mode 100644
index 00000000000..6333343abd0
--- /dev/null
+++ b/devel/rt3/patches/patch-t_approval_admincc.t
@@ -0,0 +1,15 @@
+$NetBSD: patch-t_approval_admincc.t,v 1.1 2011/10/25 19:38:10 spz Exp $
+
+perl 5.14 qw() in for* fixes
+
+--- t/approval/admincc.t.orig 2011-04-14 00:32:21.000000000 +0000
++++ t/approval/admincc.t
+@@ -32,7 +32,7 @@ for my $user_name (qw(minion cto coo ceo
+ );
+ my ($val, $msg);
+ ($val, $msg) = $user->PrincipalObj->GrantRight(Object =>$q, Right => $_)
+- for qw(ModifyTicket OwnTicket ShowTicket);
++ for (qw(ModifyTicket OwnTicket ShowTicket));
+ }
+
+ # XXX: we need to make the first approval ticket open so notification is sent.
diff --git a/devel/rt3/patches/patch-t_approval_basic.t b/devel/rt3/patches/patch-t_approval_basic.t
new file mode 100644
index 00000000000..6876b9aef14
--- /dev/null
+++ b/devel/rt3/patches/patch-t_approval_basic.t
@@ -0,0 +1,15 @@
+$NetBSD: patch-t_approval_basic.t,v 1.1 2011/10/25 19:38:10 spz Exp $
+
+perl 5.14 qw() in for* fixes
+
+--- t/approval/basic.t.orig 2011-04-14 00:32:21.000000000 +0000
++++ t/approval/basic.t
+@@ -28,7 +28,7 @@ for my $user_name (qw(minion cfo ceo ))
+ EmailAddress => $user_name.'@company.com');
+ my ($val, $msg);
+ ($val, $msg) = $user->PrincipalObj->GrantRight(Object =>$q, Right => $_)
+- for qw(ModifyTicket OwnTicket ShowTicket);
++ for (qw(ModifyTicket OwnTicket ShowTicket));
+ }
+
+ # XXX: we need to make the first approval ticket open so notification is sent.