Import of pkgsrc-2013Q2

This commit is contained in:
2013-09-26 17:14:40 +02:00
commit 785076ae39
74991 changed files with 4380255 additions and 0 deletions
+5
View File
@@ -0,0 +1,5 @@
RT is an industrial-grade ticketing system. It lets a group of
people intelligently and efficiently manage requests submitted by
a community of users. RT is used by systems administrators, customer
support staffs, NOCs, developers and even marketing departments at
over a thousand sites around the world.
+50
View File
@@ -0,0 +1,50 @@
===========================================================================
$NetBSD: MESSAGE,v 1.6 2011/04/14 12:42:56 adam Exp $
You must configure RT by editing ${PKG_SYSCONFDIR}/RT_SiteConfig.pm.
To initialize the RT database, run
${PREFIX}/sbin/rt-setup-database --action init \
--dba dbadmin --prompt-for-dba-password \
--datadir ${RTSHAREDIR}/etc
as a user in the ${RT_GROUP} group or as superuser. In the previous
command-line, 'dbadmin' stands for the database administrator's username,
e.g. 'root' for MySQL.
To upgrade the RT database from an older version, look in
${PREFIX}/share/rt3/etc/upgrade, and for each version newer than the one
previously used, do the following:
${PREFIX}/sbin/rt-setup-database --action schema \
--dba dbadmin --prompt-for-dba-password \
--datadir ${RTSHAREDIR}/etc/upgrade/<version>
${PREFIX}/sbin/rt-setup-database --action acl \
--dba dbadmin --prompt-for-dba-password \
--datadir ${RTSHAREDIR}/etc/upgrade/<version>
${PREFIX}/sbin/rt-setup-database --action insert \
--dba dbadmin --prompt-for-dba-password \
--datadir ${RTSHAREDIR}/etc/upgrade/<version>
You might also want to clear the Mason cache:
rm -Rf ${RTVARDIR}/mason_data/obj
UPGRADING FROM 3.8.8 and earlier:
Previous versions of RT used a password hashing scheme which was too
easy to reverse, which could allow attackers with read access to the
RT database to possibly compromise users' passwords. Even if RT does
no password authentication itself, it may still store these weak
password hashes -- using ExternalAuth does not guarantee that you are
not vulnerable! To upgrade stored passwords to a stronger hash, run:
perl ${RTSHAREDIR}/etc/vulnerable-passwords
at this point.
For other upgrading actions, see ${RTSHAREDIR}/etc/UPGRADING
See also the manual on ${HOMEPAGE}docs.html
===========================================================================
+151
View File
@@ -0,0 +1,151 @@
# $NetBSD: Makefile,v 1.53 2013/05/31 12:40:56 wiz Exp $
DISTNAME= rt-3.8.17
PKGREVISION= 1
CATEGORIES= devel
MASTER_SITES= http://download.bestpractical.com/pub/rt/release/
MAINTAINER= spz@NetBSD.org
HOMEPAGE= http://bestpractical.com/rt/
COMMENT= Industrial-grade ticketing system
LICENSE= gnu-gpl-v2
PKG_DESTDIR_SUPPORT= destdir
.include "options.mk"
USE_TOOLS+= perl:run
USE_LANGUAGES+= c
# Core dependencies:
DEPENDS+= {perl>=5.7.3,p5-Digest-[0-9]*}:../../security/p5-Digest
DEPENDS+= {perl>=5.8.1,p5-Digest-MD5>=2.27}:../../security/p5-Digest-MD5
DEPENDS+= p5-Class-ReturnValue>=0.40:../../devel/p5-Class-ReturnValue
DEPENDS+= p5-TimeDate-[0-9]*:../../time/p5-TimeDate
DEPENDS+= p5-DBIx-SearchBuilder>=1.54:../../databases/p5-DBIx-SearchBuilder
DEPENDS+= p5-Text-Template>=1.43:../../textproc/p5-Text-Template
DEPENDS+= p5-HTML-Parser>=3.35:../../www/p5-HTML-Parser
DEPENDS+= p5-HTML-Scrubber>=0.08:../../www/p5-HTML-Scrubber
DEPENDS+= p5-HTTP-Server-Simple>=0.34:../../www/p5-HTTP-Server-Simple
DEPENDS+= p5-HTTP-Server-Simple-Mason>=0.09:../../www/p5-HTTP-Server-Simple-Mason
DEPENDS+= p5-Log-Dispatch>=2.0:../../devel/p5-Log-Dispatch
DEPENDS+= {perl>=5.10.0,p5-Locale-Maketext>=1.06}:../../misc/p5-Locale-Maketext
DEPENDS+= p5-Locale-Maketext-Lexicon>=0.32:../../misc/p5-Locale-Maketext-Lexicon
DEPENDS+= p5-Locale-Maketext-Fuzzy>=0.02:../../misc/p5-Locale-Maketext-Fuzzy
DEPENDS+= p5-MIME-tools>=5.411.1:../../mail/p5-MIME-tools
DEPENDS+= p5-MailTools>=1.57:../../mail/p5-MailTools
DEPENDS+= p5-Email-Address-[0-9]*:../../mail/p5-Email-Address
DEPENDS+= p5-Net>=1.15:../../net/p5-Net
DEPENDS+= p5-Net-Server-[0-9]*:../../net/p5-Net-Server
DEPENDS+= p5-Text-Wrapper>=1.0:../../textproc/p5-Text-Wrapper
DEPENDS+= p5-Time-modules>=101.062101:../../time/p5-Time-modules
DEPENDS+= p5-Text-Autoformat>=1.04:../../textproc/p5-Text-Autoformat
DEPENDS+= p5-Text-Quoted>=2.02:../../textproc/p5-Text-Quoted
DEPENDS+= p5-Tree-Simple>=1.04:../../devel/p5-Tree-Simple
DEPENDS+= p5-Regexp-Common>=2.113:../../textproc/p5-Regexp-Common
DEPENDS+= p5-Module-Versions-Report>=1.05:../../devel/p5-Module-Versions-Report
DEPENDS+= p5-Cache-Simple-TimedExpiry-[0-9]*:../../devel/p5-Cache-Simple-TimedExpiry
DEPENDS+= p5-UNIVERSAL-require>=0.11:../../devel/p5-UNIVERSAL-require
DEPENDS+= p5-Calendar-Simple>=1.00:../../time/p5-Calendar-Simple
DEPENDS+= p5-CSS-Squish>=0.07:../../www/p5-CSS-Squish
DEPENDS+= p5-File-ShareDir>=1.00:../../devel/p5-File-ShareDir
# Mason dependencies:
DEPENDS+= p5-HTML-Mason>=1.36:../../www/p5-HTML-Mason
DEPENDS+= p5-Apache-Session>=1.53:../../www/p5-Apache-Session
DEPENDS+= p5-XML-RSS>=1.05:../../textproc/p5-XML-RSS
DEPENDS+= p5-GD-[0-9]*:../../graphics/p5-GD
DEPENDS+= p5-GDGraph-[0-9]*:../../graphics/p5-GDGraph
DEPENDS+= p5-GDTextUtil-[0-9]*:../../graphics/p5-GDTextUtil
DEPENDS+= p5-Text-WikiFormat>=0.76:../../textproc/p5-Text-WikiFormat
DEPENDS+= p5-Module-Refresh>=0.03:../../devel/p5-Module-Refresh
DEPENDS+= {perl>=5.10.1,p5-Encode>=2.13}:../../textproc/p5-Encode
# Mailgate dependencies:
DEPENDS+= p5-HTML-Tree>=3.18:../../www/p5-HTML-Tree
DEPENDS+= p5-HTML-Format>=2.03:../../www/p5-HTML-Format
DEPENDS+= p5-libwww>=5.76:../../www/p5-libwww
# CLI dependencies
DEPENDS+= p5-Term-ReadKey>=2.21:../../devel/p5-Term-ReadKey
# Dashboard dependencies:
DEPENDS+= p5-MIME-Types-[0-9]*:../../mail/p5-MIME-Types
DEPENDS+= p5-HTML-RewriteAttributes>=0.02:../../www/p5-HTML-RewriteAttributes
# ICAL dependencies:
DEPENDS+= p5-Data-ICal-[0-9]*:../../time/p5-Data-ICal
# GPG dependencies:
DEPENDS+= p5-PerlIO-eol-[0-9]*:../../devel/p5-PerlIO-eol
DEPENDS+= p5-GnuPG-Interface-[0-9]*:../../security/p5-GnuPG-Interface
# Front-end dependencies:
.if !empty(PKG_OPTIONS:Mmodperl1)
DEPENDS+= p5-libapreq>=1.2:../../www/p5-libapreq
DEPENDS+= p5-Apache-DBI>=0.92:../../databases/p5-Apache-DBI
.elif !empty(PKG_OPTIONS:Mmodperl2)
DEPENDS+= p5-Apache-DBI>=0.92:../../databases/p5-Apache-DBI
.elif !empty(PKG_OPTIONS:Mfastcgi)
DEPENDS+= p5-FCGI>=0.67:../../www/p5-FCGI
DEPENDS+= {perl>=5.10.1,p5-CGI>=3.38}:../../www/p5-CGI
.endif
PLIST_VARS+= speedycgi
.if !empty(PKG_OPTIONS:Mspeedycgi)
DEPENDS+= SpeedyCGI-[0-9]*:../../www/SpeedyCGI
PLIST.speedycgi=yes
.else
MAKE_FLAGS+= RT_SPEEDYCGI_HANDLER=""
.PHONY: rm-speedycgi
post-install: rm-speedycgi
rm-speedycgi:
rm -f ${DESTDIR}${PREFIX}/bin/mason_handler.scgi
.endif
# Back-end dependencies
.if !empty(PKG_OPTIONS:Mmysql)
DEPENDS+= p5-DBD-mysql>=2.1018:../../databases/p5-DBD-mysql
_RT_DB_TYPE= mysql
.elif !empty(PKG_OPTIONS:Mpgsql)
DEPENDS+= p5-DBD-postgresql>=1.43:../../databases/p5-DBD-postgresql
_RT_DB_TYPE= Pg
.elif !empty(PKG_OPTIONS:Moracle)
DEPENDS+= p5-DBD-Oracle-[0-9]*:../../databases/p5-DBD-Oracle
_RT_DB_TYPE= Oracle
.elif !empty(PKG_OPTIONS:Msqlite)
DEPENDS+= p5-DBD-SQLite>=1.00:../../databases/p5-DBD-SQLite
_RT_DB_TYPE= SQLite
.endif
# "Development" dependencies:
# XML::Simple is required by the installed script
# PREFIX/sbin/rt-dump-database
DEPENDS+= p5-XML-Simple-[0-9]*:../../textproc/p5-XML-Simple
USE_PKGLOCALEDIR= yes
GNU_CONFIGURE= yes
NO_BUILD= yes
PKG_SYSCONFSUBDIR= rt3
PKG_GROUPS= ${RT_GROUP}
PKG_GROUPS_VARS+= RT_GROUP APACHE_GROUP
PKG_USERS_VARS+= APACHE_USER
CONFIGURE_ARGS+= --enable-layout=pkgsrc
CONFIGURE_ARGS+= --with-rt-group=${RT_GROUP:Q}
CONFIGURE_ARGS+= --with-db-type=${_RT_DB_TYPE:Q}
CONFIGURE_ARGS+= --with-web-user=${APACHE_USER:Q}
CONFIGURE_ARGS+= --with-web-group=${APACHE_GROUP:Q}
CONFIGURE_ARGS+= --with-speedycgi=${PERL5_INSTALLVENDORBIN}/speedy
MESSAGE_SUBST+= HOMEPAGE=${HOMEPAGE:Q}
MESSAGE_SUBST+= RT_GROUP=${RT_GROUP:Q}
MESSAGE_SUBST+= PKG_SYSCONFDIR=${PKG_SYSCONFDIR:Q}
post-extract:
cd ${WRKSRC} && chmod -R g-w .
.include "Makefile.install"
.include "../../databases/p5-DBI/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
+123
View File
@@ -0,0 +1,123 @@
# $NetBSD: Makefile.install,v 1.20 2013/05/26 16:55:53 spz Exp $
.include "dirs.mk"
BUILD_DEFS+= APACHE_USER APACHE_GROUP
INSTALLATION_DIRS+= sbin
OWN_DIRS+= ${RT_VAR_DIR} ${RT_LOCAL_DIR} ${RT_LOCAL_DIR}/etc
OWN_DIRS+= ${RT_LOCAL_DIR}/lib ${RT_LOCAL_DIR}/po
OWN_DIRS+= ${RT_LOCAL_DIR}/html
REQD_DIRS+= ${RT_HTML_DIR}/Callbacks
OWN_DIRS_PERMS+= ${RT_VAR_DIR}/mason_data ${APACHE_USER} ${APACHE_GROUP} 0770
OWN_DIRS_PERMS+= ${RT_VAR_DIR}/mason_data/cache ${APACHE_USER} ${APACHE_GROUP} 0770
OWN_DIRS_PERMS+= ${RT_VAR_DIR}/mason_data/etc ${APACHE_USER} ${APACHE_GROUP} 0770
OWN_DIRS_PERMS+= ${RT_VAR_DIR}/mason_data/obj ${APACHE_USER} ${APACHE_GROUP} 0770
OWN_DIRS_PERMS+= ${RT_VAR_DIR}/session_data ${APACHE_USER} ${APACHE_GROUP} 0770
SUBST_CLASSES+= prefix
SUBST_FILES.prefix= config.layout
SUBST_SED.prefix= -e s,@PREFIX@,${PREFIX},
SUBST_SED.prefix+= -e s,@PKGSYSCONFDIR@,${PKG_SYSCONFDIR},
SUBST_SED.prefix+= -e s,@RTLIBDIR@,${RT_LIB_DIR},
SUBST_SED.prefix+= -e s,@RTSHAREDIR@,${RT_SHARE_DIR},
SUBST_SED.prefix+= -e s,@RTHTMLDIR@,${RT_HTML_DIR},
SUBST_SED.prefix+= -e s,@RTDOCDIR@,${RT_DOC_DIR},
SUBST_SED.prefix+= -e s,@RTVARDIR@,${RT_VAR_DIR},
SUBST_SED.prefix+= -e s,@RTLOCALDIR@,${RT_LOCAL_DIR},
SUBST_STAGE.prefix= pre-configure
SUBST_CLASSES+= etcpath
SUBST_FILES.etcpath= sbin/rt-setup-database.in
SUBST_SED.etcpath= -e 's,\$$RT::EtcPath,"${RT_SHARE_DIR}/etc",'
SUBST_STAGE.etcpath= post-patch
SUBST_CLASSES+= path
SUBST_FILES.path= bin/webmux.pl.in lib/RT/Interface/CLI.pm
SUBST_SED.path= -e 's,/bin:/usr/bin,/bin:/usr/bin:${PREFIX}/bin,'
SUBST_STAGE.path= post-patch
SUBST_CLASSES+= hardwired
SUBST_FILES.hardwired= share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.pl \
etc/upgrade/shrink_cgm_table.pl \
etc/upgrade/shrink_transactions_table.pl \
etc/upgrade/upgrade-mysql-schema.pl
SUBST_SED.hardwired= -e 's,/usr/bin/perl,'${PERL5}','
SUBST_STAGE.hardwired= post-patch
RT_CONFIG_FILES= RT_Config.pm RT_SiteConfig.pm
.for _file_ in ${RT_CONFIG_FILES}
CONF_FILES_PERMS+= ${RT_EXAMPLE_DIR}/${_file_} \
${PKG_SYSCONFDIR}/${_file_} \
${ROOT_USER} ${RT_GROUP} 0550
.endfor
RT_ETC_FILES= acl.Oracle acl.Pg acl.mysql constraints.mysql \
drop.Oracle initialdata schema.Oracle schema.Pg \
schema.SQLite schema.mysql-4.0 schema.mysql-4.1 \
upgrade/3.8-branded-queues-extension \
upgrade/3.8-ical-extension \
upgrade/generate-rtaddressregexp \
upgrade/shrink_cgm_table.pl \
upgrade/shrink_transactions_table.pl \
upgrade/split-out-cf-categories \
upgrade/upgrade-mysql-schema.pl \
upgrade/vulnerable-passwords
RT_UPGRADE_DIRS= 3.3.0 3.3.11 3.5.1 3.7.1 3.7.3 3.7.10 3.7.15 \
3.7.19 3.7.81 3.7.82 3.7.85 3.7.86 3.7.87 \
3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.6 3.8.8 3.8.9 \
3.8.12 3.8.17
MESSAGE_SUBST+= RTVARDIR=${RT_VAR_DIR:Q} RTSHAREDIR=${RT_SHARE_DIR:Q}
USE_TOOLS+= pax
do-install:
@${ECHO} "=> Configuration files"
${INSTALL_DATA_DIR} ${DESTDIR}${RT_EXAMPLE_DIR}
.for _file_ in ${RT_CONFIG_FILES}
${INSTALL_DATA} ${WRKSRC}/etc/${_file_} ${DESTDIR}${RT_EXAMPLE_DIR}
.endfor
${INSTALL_DATA_DIR} ${DESTDIR}${RT_SHARE_DIR}/etc
${INSTALL_DATA} ${WRKSRC}/UPGRADING ${DESTDIR}${RT_SHARE_DIR}/etc
.for _file_ in ${RT_ETC_FILES}
${INSTALL_DATA} ${WRKSRC}/etc/${_file_} ${DESTDIR}${RT_SHARE_DIR}/etc
.endfor
${INSTALL_DATA_DIR} ${DESTDIR}${RT_SHARE_DIR}/etc/upgrade
.for _dir_ in ${RT_UPGRADE_DIRS}
${INSTALL_DATA_DIR} ${DESTDIR}${RT_SHARE_DIR}/etc/upgrade/${_dir_}
cd ${WRKSRC}/etc/upgrade/${_dir_} && \
${FIND} . -type f ! -name '*.orig' 2>/dev/null | \
${PAX} -rw ${DESTDIR}${RT_SHARE_DIR}/etc/upgrade/${_dir_}
.endfor
@${ECHO} "=> Libraries"
${INSTALL_DATA_DIR} ${DESTDIR}${RT_LIB_DIR}
cd ${WRKSRC}/lib && ${FIND} . -type f ! -name '*.orig' -o -name '*.in' 2>/dev/null | ${PAX} -rw ${DESTDIR}${RT_LIB_DIR}
${FIND} ${DESTDIR}${RT_LIB_DIR} -type f -exec ${CHMOD} 644 {} \;
@${ECHO} "=> Binaries"
${INSTALL_SCRIPT_DIR} ${DESTDIR}${PREFIX}/bin
${INSTALL_SCRIPT} ${WRKSRC}/bin/rt-mailgate ${WRKSRC}/bin/rt-crontool \
${WRKSRC}/bin/mason_handler.fcgi ${WRKSRC}/bin/mason_handler.scgi \
${WRKSRC}/bin/standalone_httpd ${WRKSRC}/bin/mason_handler.svc \
${WRKSRC}/bin/rt ${WRKSRC}/bin/webmux.pl \
${DESTDIR}${PREFIX}/bin
${INSTALL_SCRIPT_DIR} ${DESTDIR}${PREFIX}/sbin
${INSTALL_SCRIPT} ${WRKSRC}/sbin/rt-dump-database \
${WRKSRC}/sbin/rt-setup-database \
${WRKSRC}/sbin/rt-email-digest \
${WRKSRC}/sbin/rt-email-dashboards \
${WRKSRC}/sbin/rt-email-group-admin \
${WRKSRC}/sbin/rt-server \
${WRKSRC}/sbin/rt-test-dependencies \
${WRKSRC}/sbin/rt-clean-sessions \
${WRKSRC}/sbin/rt-shredder \
${WRKSRC}/sbin/rt-validator ${DESTDIR}${PREFIX}/sbin
@${ECHO} "=> HTML documents"
${INSTALL_DATA_DIR} ${DESTDIR}${RT_HTML_DIR}
cd ${WRKSRC}/share/html && ${FIND} . -type f ! -name '*.orig' -o -name '*.in' 2>/dev/null | ${PAX} -rw ${DESTDIR}${RT_HTML_DIR}
${FIND} ${DESTDIR}${RT_HTML_DIR} -type f -exec ${CHMOD} 644 {} \;
@${ECHO} "=> Documentation"
${INSTALL_DATA_DIR} ${DESTDIR}${RT_DOC_DIR}
${INSTALL_DATA} ${WRKSRC}/README ${DESTDIR}${RT_DOC_DIR}
+1216
View File
File diff suppressed because it is too large Load Diff
+15
View File
@@ -0,0 +1,15 @@
# $NetBSD: dirs.mk,v 1.3 2008/08/23 23:58:29 tonnerre Exp $
.include "../../mk/bsd.prefs.mk"
RT_LOCAL_DIR?= ${VARBASE}/rt3
BUILD_DEFS+= RT_LOCAL_DIR
RT_DOC_DIR= ${PREFIX}/share/doc/rt3
RT_EXAMPLE_DIR= ${PREFIX}/share/examples/rt3
RT_LIB_DIR= ${PREFIX}/lib/rt3
RT_SHARE_DIR= ${PREFIX}/share/rt3
RT_VAR_DIR= ${VARBASE}/spool/rt3
RT_HTML_DIR= ${RT_SHARE_DIR}/html
RT_I18N_DIR= ${RT_LIB_DIR}/RT/I18N
+16
View File
@@ -0,0 +1,16 @@
$NetBSD: distinfo,v 1.24 2013/05/26 16:55:53 spz Exp $
SHA1 (rt-3.8.17.tar.gz) = 4765c68f91a0e8e21ed0fd39397cd8e3970ca992
RMD160 (rt-3.8.17.tar.gz) = 6da8fca56976233417bd47b26e1a7326fde5d2d0
Size (rt-3.8.17.tar.gz) = 5728368 bytes
SHA1 (patch-aa) = 6f78710f4460a25c75afbdf7128c0fe34914927c
SHA1 (patch-ab) = ee455dd683c84d3a745a29a132e28903ba03144d
SHA1 (patch-lib_RT.pm) = f72c6cb6f94acf1296076423d26d7efa4ed78293
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) = 60d53a4dcda8f3cda14350f34f74fddc6091c3ce
SHA1 (patch-sbin_rt-attributes-viewer) = e1c963800b76282cda4ca46e006f30d9abfc29c9
SHA1 (patch-sbin_rt-attributes-viewer.in) = 99a15cca9a394b5743edc3929f43593f1384c8da
SHA1 (patch-share_html_Helpers_CalPopup.html) = 3920ac6448d1d21c7ff32ef67344b19aa53616a4
SHA1 (patch-t_approval_admincc.t) = 4fddf5fa844d15e8698e00fe6863daaafa661315
SHA1 (patch-t_approval_basic.t) = 209303cc34370518a2600e28570627e1dc7e698b
+20
View File
@@ -0,0 +1,20 @@
# $NetBSD: options.mk,v 1.5 2008/08/23 23:58:29 tonnerre Exp $
PKG_OPTIONS_VAR= PKG_OPTIONS.rt
PKG_OPTIONS_REQUIRED_GROUPS= backend frontend
PKG_OPTIONS_GROUP.backend= mysql oracle pgsql sqlite
PKG_OPTIONS_GROUP.frontend= modperl1 modperl2 \
fastcgi
PKG_SUGGESTED_OPTIONS= mysql fastcgi
PKG_OPTIONS_LEGACY_OPTS= backend-mysql:mysql backend-pgsql:pgsql \
frontend-modperl1:modperl1 \
frontend-modperl2:modperl2 \
frontend-fastcgi:fastcgi
.include "../../mk/bsd.options.mk"
# Other options
RT_GROUP?= rt
PKG_GROUPS_VARS+= RT_GROUP
+35
View File
@@ -0,0 +1,35 @@
$NetBSD: patch-aa,v 1.3 2011/10/25 19:38:10 spz Exp $
Adds the pkgsrc layout.
--- config.layout.orig 2011-04-14 00:32:21.000000000 +0000
+++ config.layout
@@ -114,6 +114,28 @@
customlibdir: ${customdir}/local/lib
</Layout>
+<Layout pkgsrc>
+ prefix: @PREFIX@
+ exec_prefix: ${prefix}
+ bindir: ${exec_prefix}/bin
+ sbindir: ${exec_prefix}/sbin
+ sysconfdir: @PKGSYSCONFDIR@
+ mandir: ${prefix}/man
+ libdir: @RTLIBDIR@
+ datadir: @RTSHAREDIR@
+ htmldir: @RTHTMLDIR@
+ manualdir: @RTDOCDIR@
+ logfiledir: /var/log
+ localstatedir: @RTVARDIR@
+ masonstatedir: ${localstatedir}/mason_data
+ sessionstatedir: ${localstatedir}/session_data
+ customdir: @RTLOCALDIR@
+ custometcdir: ${customdir}/etc
+ customhtmldir: ${customdir}/html
+ customlexdir: ${customdir}/po
+ customlibdir: ${customdir}/lib
+</Layout>
+
<Layout Win32>
prefix: C:/Program Files/Request Tracker
exec_prefix: ${prefix}
+313
View File
@@ -0,0 +1,313 @@
$NetBSD: patch-ab,v 1.4 2011/10/25 19:38:10 spz Exp $
- 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 {
);
my $gnupg = new GnuPG::Interface;
+ $gnupg->call(RT->Config->Get('GnuPG')->{'Call'}) if RT->Config->Get('GnuPG')->{'Call'};
my %opt = RT->Config->Get('GnuPGOptions');
# handling passphrase in GnuPGOptions
@@ -484,12 +485,12 @@ sub SignEncryptRFC3156 {
waitpid $pid, 0;
};
my $err = $@;
- my @signature = readline $handle{'stdout'};
+ my @signature = readline $handle{'stdout'} if $handle{'stdout'}->opened ;
close $handle{'stdout'};
$res{'exit_code'} = $?;
foreach ( qw(stderr logger status) ) {
- $res{$_} = do { local $/; readline $handle{$_} };
+ $res{$_} = do { local $/; readline $handle{$_} if $handle{$_}->opened };
delete $res{$_} unless $res{$_} && $res{$_} =~ /\S/s;
close $handle{$_};
}
@@ -545,7 +546,7 @@ sub SignEncryptRFC3156 {
$res{'exit_code'} = $?;
foreach ( qw(stderr logger status) ) {
- $res{$_} = do { local $/; readline $handle{$_} };
+ $res{$_} = do { local $/; readline $handle{$_} if $handle{$_}->opened };
delete $res{$_} unless $res{$_} && $res{$_} =~ /\S/s;
close $handle{$_};
}
@@ -616,6 +617,7 @@ sub _SignEncryptTextInline {
return unless $args{'Sign'} || $args{'Encrypt'};
my $gnupg = new GnuPG::Interface;
+ $gnupg->call(RT->Config->Get('GnuPG')->{'Call'}) if RT->Config->Get('GnuPG')->{'Call'};
my %opt = RT->Config->Get('GnuPGOptions');
# handling passphrase in GnupGOptions
@@ -670,7 +672,7 @@ sub _SignEncryptTextInline {
my $err = $@;
foreach ( qw(stderr logger status) ) {
- $res{$_} = do { local $/; readline $handle{$_} };
+ $res{$_} = do { local $/; readline $handle{$_} if $handle{$_}->opened };
delete $res{$_} unless $res{$_} && $res{$_} =~ /\S/s;
close $handle{$_};
}
@@ -704,6 +706,7 @@ sub _SignEncryptAttachmentInline {
return unless $args{'Sign'} || $args{'Encrypt'};
my $gnupg = new GnuPG::Interface;
+ $gnupg->call(RT->Config->Get('GnuPG')->{'Call'}) if RT->Config->Get('GnuPG')->{'Call'};
my %opt = RT->Config->Get('GnuPGOptions');
# handling passphrase in GnupGOptions
@@ -757,7 +760,7 @@ sub _SignEncryptAttachmentInline {
my $err = $@;
foreach ( qw(stderr logger status) ) {
- $res{$_} = do { local $/; readline $handle{$_} };
+ $res{$_} = do { local $/; readline $handle{$_} if $handle{$_}->opened };
delete $res{$_} unless $res{$_} && $res{$_} =~ /\S/s;
close $handle{$_};
}
@@ -806,6 +809,7 @@ sub SignEncryptContent {
return unless $args{'Sign'} || $args{'Encrypt'};
my $gnupg = new GnuPG::Interface;
+ $gnupg->call(RT->Config->Get('GnuPG')->{'Call'}) if RT->Config->Get('GnuPG')->{'Call'};
my %opt = RT->Config->Get('GnuPGOptions');
# handling passphrase in GnupGOptions
@@ -858,7 +862,7 @@ sub SignEncryptContent {
my $err = $@;
foreach ( qw(stderr logger status) ) {
- $res{$_} = do { local $/; readline $handle{$_} };
+ $res{$_} = do { local $/; readline $handle{$_} if $handle{$_}->opened };
delete $res{$_} unless $res{$_} && $res{$_} =~ /\S/s;
close $handle{$_};
}
@@ -1093,6 +1097,7 @@ sub VerifyAttachment {
my %args = ( Data => undef, Signature => undef, Top => undef, @_ );
my $gnupg = new GnuPG::Interface;
+ $gnupg->call(RT->Config->Get('GnuPG')->{'Call'}) if RT->Config->Get('GnuPG')->{'Call'};
my %opt = RT->Config->Get('GnuPGOptions');
$opt{'digest-algo'} ||= 'SHA1';
$gnupg->options->hash_init(
@@ -1130,7 +1135,7 @@ sub VerifyAttachment {
};
$res{'exit_code'} = $?;
foreach ( qw(stderr logger status) ) {
- $res{$_} = do { local $/; readline $handle{$_} };
+ $res{$_} = do { local $/; readline $handle{$_} if $handle{$_}->opened };
delete $res{$_} unless $res{$_} && $res{$_} =~ /\S/s;
close $handle{$_};
}
@@ -1147,6 +1152,7 @@ sub VerifyRFC3156 {
my %args = ( Data => undef, Signature => undef, Top => undef, @_ );
my $gnupg = new GnuPG::Interface;
+ $gnupg->call(RT->Config->Get('GnuPG')->{'Call'}) if RT->Config->Get('GnuPG')->{'Call'};
my %opt = RT->Config->Get('GnuPGOptions');
$opt{'digest-algo'} ||= 'SHA1';
$gnupg->options->hash_init(
@@ -1177,7 +1183,7 @@ sub VerifyRFC3156 {
};
$res{'exit_code'} = $?;
foreach ( qw(stderr logger status) ) {
- $res{$_} = do { local $/; readline $handle{$_} };
+ $res{$_} = do { local $/; readline $handle{$_} if $handle{$_}->opened };
delete $res{$_} unless $res{$_} && $res{$_} =~ /\S/s;
close $handle{$_};
}
@@ -1200,6 +1206,7 @@ sub DecryptRFC3156 {
);
my $gnupg = new GnuPG::Interface;
+ $gnupg->call(RT->Config->Get('GnuPG')->{'Call'}) if RT->Config->Get('GnuPG')->{'Call'};
my %opt = RT->Config->Get('GnuPGOptions');
# handling passphrase in GnupGOptions
@@ -1242,7 +1249,7 @@ sub DecryptRFC3156 {
};
$res{'exit_code'} = $?;
foreach ( qw(stderr logger status) ) {
- $res{$_} = do { local $/; readline $handle{$_} };
+ $res{$_} = do { local $/; readline $handle{$_} if $handle{$_}->opened };
delete $res{$_} unless $res{$_} && $res{$_} =~ /\S/s;
close $handle{$_};
}
@@ -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
+ if ( !defined $res{'status'} ) {
+ $res{'message'} = $@? $@: "gpg failed ". ($? >> 8);
+ seek $tmp_fh, 0, 0;
+ return ($tmp_fh, $tmp_fn, %res);
+ }
if ( $res{'status'} !~ /DECRYPTION_OKAY/ ) {
if ( $@ || $? ) {
$res{'message'} = $@? $@: "gpg exitted with error code ". ($? >> 8);
@@ -1278,6 +1290,7 @@ sub DecryptInline {
);
my $gnupg = new GnuPG::Interface;
+ $gnupg->call(RT->Config->Get('GnuPG')->{'Call'}) if RT->Config->Get('GnuPG')->{'Call'};
my %opt = RT->Config->Get('GnuPGOptions');
# handling passphrase in GnuPGOptions
@@ -1406,7 +1419,7 @@ sub _DecryptInlineBlock {
};
$res{'exit_code'} = $?;
foreach ( qw(stderr logger status) ) {
- $res{$_} = do { local $/; readline $handle{$_} };
+ $res{$_} = do { local $/; readline $handle{$_} if $handle{$_}->opened };
delete $res{$_} unless $res{$_} && $res{$_} =~ /\S/s;
close $handle{$_};
}
@@ -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
+ if ( !defined $res{'status'} ) {
+ $res{'message'} = $@? $@: "gpg failed ". ($? >> 8);
+ seek $tmp_fh, 0, 0;
+ return ($tmp_fh, $tmp_fn, %res);
+ }
if ( $res{'status'} !~ /DECRYPTION_OKAY/ ) {
if ( $@ || $? ) {
$res{'message'} = $@? $@: "gpg exitted with error code ". ($? >> 8);
@@ -1437,6 +1455,7 @@ sub DecryptAttachment {
);
my $gnupg = new GnuPG::Interface;
+ $gnupg->call(RT->Config->Get('GnuPG')->{'Call'}) if RT->Config->Get('GnuPG')->{'Call'};
my %opt = RT->Config->Get('GnuPGOptions');
# handling passphrase in GnuPGOptions
@@ -1488,6 +1507,7 @@ sub DecryptContent {
);
my $gnupg = new GnuPG::Interface;
+ $gnupg->call(RT->Config->Get('GnuPG')->{'Call'}) if RT->Config->Get('GnuPG')->{'Call'};
my %opt = RT->Config->Get('GnuPGOptions');
# handling passphrase in GnupGOptions
@@ -1526,7 +1546,7 @@ sub DecryptContent {
};
$res{'exit_code'} = $?;
foreach ( qw(stderr logger status) ) {
- $res{$_} = do { local $/; readline $handle{$_} };
+ $res{$_} = do { local $/; readline $handle{$_} if $handle{$_}->opened };
delete $res{$_} unless $res{$_} && $res{$_} =~ /\S/s;
close $handle{$_};
}
@@ -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
+ if ( !defined $res{'status'} ) {
+ $res{'message'} = $@? $@: "gpg failed ". ($? >> 8);
+ seek $tmp_fh, 0, 0;
+ return ($tmp_fh, $tmp_fn, %res);
+ }
if ( $res{'status'} !~ /DECRYPTION_OKAY/ ) {
if ( $@ || $? ) {
$res{'message'} = $@? $@: "gpg exitted with error code ". ($? >> 8);
@@ -2077,6 +2102,7 @@ sub GetKeysInfo {
}
my $gnupg = new GnuPG::Interface;
+ $gnupg->call(RT->Config->Get('GnuPG')->{'Call'}) if RT->Config->Get('GnuPG')->{'Call'};
my %opt = RT->Config->Get('GnuPGOptions');
$opt{'digest-algo'} ||= 'SHA1';
$opt{'with-colons'} = undef; # parseable format
@@ -2101,12 +2127,12 @@ sub GetKeysInfo {
waitpid $pid, 0;
};
- my @info = readline $handle{'stdout'};
+ my @info = readline $handle{'stdout'} if $handle{'stdout'}->opened ;
close $handle{'stdout'};
$res{'exit_code'} = $?;
foreach ( qw(stderr logger status) ) {
- $res{$_} = do { local $/; readline $handle{$_} };
+ $res{$_} = do { local $/; readline $handle{$_} if $handle{$_}->opened };
delete $res{$_} unless $res{$_} && $res{$_} =~ /\S/s;
close $handle{$_};
}
@@ -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;
+ $gnupg->call(RT->Config->Get('GnuPG')->{'Call'}) if RT->Config->Get('GnuPG')->{'Call'};
my %opt = RT->Config->Get('GnuPGOptions');
$gnupg->options->hash_init(
_PrepareGnuPGOptions( %opt ),
@@ -2307,7 +2334,7 @@ sub DeleteKey {
my %res;
$res{'exit_code'} = $?;
foreach ( qw(stderr logger status) ) {
- $res{$_} = do { local $/; readline $handle{$_} };
+ $res{$_} = do { local $/; readline $handle{$_} if $handle{$_}->opened };
delete $res{$_} unless $res{$_} && $res{$_} =~ /\S/s;
close $handle{$_};
}
@@ -2324,6 +2351,7 @@ sub ImportKey {
my $key = shift;
my $gnupg = new GnuPG::Interface;
+ $gnupg->call(RT->Config->Get('GnuPG')->{'Call'}) if RT->Config->Get('GnuPG')->{'Call'};
my %opt = RT->Config->Get('GnuPGOptions');
$gnupg->options->hash_init(
_PrepareGnuPGOptions( %opt ),
@@ -2350,7 +2378,7 @@ sub ImportKey {
my %res;
$res{'exit_code'} = $?;
foreach ( qw(stderr logger status) ) {
- $res{$_} = do { local $/; readline $handle{$_} };
+ $res{$_} = do { local $/; readline $handle{$_} if $handle{$_}->opened };
delete $res{$_} unless $res{$_} && $res{$_} =~ /\S/s;
close $handle{$_};
}
@@ -2407,6 +2435,7 @@ properly (and false otherwise).
sub Probe {
my $gnupg = new GnuPG::Interface;
+ $gnupg->call(RT->Config->Get('GnuPG')->{'Call'}) if RT->Config->Get('GnuPG')->{'Call'};
my %opt = RT->Config->Get('GnuPGOptions');
$gnupg->options->hash_init(
_PrepareGnuPGOptions( %opt ),
+24
View File
@@ -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
@@ -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(@_);
}
@@ -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',
@@ -0,0 +1,20 @@
$NetBSD: patch-lib_RT_Interface_Email_Auth_GnuPG.pm,v 1.2 2012/10/31 20:39:26 spz Exp $
perl 5.14 qw() in for* fixes
--- lib/RT/Interface/Email/Auth/GnuPG.pm.orig 2012-10-25 20:19:10.000000000 +0000
+++ lib/RT/Interface/Email/Auth/GnuPG.pm
@@ -76,11 +76,11 @@ 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-Encryption
X-RT-Incoming-Signature X-RT-Privacy
X-RT-Sign X-RT-Encrypt
- );
+ ));
}
my $msg = $args{'Message'}->dup;
@@ -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 );
@@ -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 );
@@ -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;
@@ -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.
@@ -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.