- Update to 3.4.4

- No longer broken with mod_perl2
- Fixed packing list when installing in non-standard path
- Added patch to Makefile.in to correctly install sample config files
- Added optional patches to support multiple instances

PR:		ports/85910
Submitted by:	Angelo Turetta <aturetta@bestunion.it>
This commit is contained in:
Pav Lucistnik 2005-09-10 19:51:13 +00:00
parent d3679e22d5
commit 2922e45d0b
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=142376
14 changed files with 1466 additions and 1158 deletions

View File

@ -6,7 +6,7 @@
#
PORTNAME= rt
PORTVERSION?= 3.4.2
PORTVERSION?= 3.4.4
CATEGORIES= www
MASTER_SITES?= http://download.bestpractical.com/pub/rt/release/ \
http://download.bestpractical.com/pub/rt/devel/ \
@ -28,6 +28,7 @@ BUILD_DEPENDS+= ${APXS}:${PORTSDIR}/${APACHE_PORT} \
${SITE_PERL}/HTML/FormatText.pm:${PORTSDIR}/textproc/p5-HTML-Format \
${SITE_PERL}/HTML/Scrubber.pm:${PORTSDIR}/www/p5-HTML-Scrubber \
${SITE_PERL}/HTML/TreeBuilder.pm:${PORTSDIR}/www/p5-HTML-Tree \
${SITE_PERL}/HTTP/Server/Simple/Mason.pm:${PORTSDIR}/www/p5-HTTP-Server-Simple-Mason \
${SITE_PERL}/Locale/Maketext.pm:${PORTSDIR}/devel/p5-Locale-Maketext \
${SITE_PERL}/Locale/Maketext/Fuzzy.pm:${PORTSDIR}/devel/p5-Locale-Maketext-Fuzzy \
${SITE_PERL}/Locale/Maketext/Lexicon.pm:${PORTSDIR}/devel/p5-Locale-Maketext-Lexicon \
@ -45,6 +46,7 @@ BUILD_DEPENDS+= ${APXS}:${PORTSDIR}/${APACHE_PORT} \
${SITE_PERL}/Text/Autoformat.pm:${PORTSDIR}/textproc/p5-Text-Autoformat \
${SITE_PERL}/Text/Quoted.pm:${PORTSDIR}/textproc/p5-Text-Quoted \
${SITE_PERL}/Text/Template.pm:${PORTSDIR}/textproc/p5-Text-Template \
${SITE_PERL}/Text/WikiFormat.pm:${PORTSDIR}/textproc/p5-Text-WikiFormat \
${SITE_PERL}/Text/Wrapper.pm:${PORTSDIR}/textproc/p5-Text-Wrapper \
${SITE_PERL}/${PERL_ARCH}/Time/HiRes.pm:${PORTSDIR}/devel/p5-Time-HiRes \
${SITE_PERL}/Time/ParseDate.pm:${PORTSDIR}/devel/p5-Time-modules \
@ -82,7 +84,6 @@ DEPENDS_ARGS+= WITHOUT_MODPERL=yes
.else
BUILD_DEPENDS+= ${SITE_PERL}/Apache/DBI.pm:${PORTSDIR}/www/p5-Apache-DBI
.if defined(WITH_APACHE2)
BROKEN= Broken due the new mod_perl2 API
BUILD_DEPENDS+= ${LOCALBASE}/libexec/apache2/mod_perl.so:${PORTSDIR}/www/mod_perl2
DEPENDS_ARGS+= WITHOUT_MODPERL=yes
DEPENDS_ARGS+= WITH_MODPERL2=yes
@ -92,6 +93,9 @@ BUILD_DEPENDS+= ${LOCALBASE}/libexec/apache/libperl.so:${PORTSDIR}/www/mod_perl
${SITE_PERL}/${PERL_ARCH}/Apache/Request.pm:${PORTSDIR}/www/p5-libapreq
.endif
.endif
.if defined(MULTIPLE_INSTANCES)
EXTRA_PATCHES+= ${FILESDIR}/multiple*
.endif
DB_TYPE?= mysql
@ -112,6 +116,7 @@ BUILD_DEPENDS+= ${SITE_PERL}/${PERL_ARCH}/DBD/mysql.pm:${PORTSDIR}/databases/p5-
USE_PERL5= yes
RT_PATH?= ${PREFIX}/rt3
PLIST_SUB= RT_PATH=${RT_PATH} RTPLIST=${RT_PATH:S/^${PREFIX}\///}
LAYOUT?= RT3
DB_DBA_USER?= root
@ -147,6 +152,8 @@ pre-fetch:
@${ECHO} " INITIAL_INSTALL Do initialize DB (for initial install only)"
@${ECHO} " WITH_FASTCGI Use FastCGI instead of mod_perl"
@${ECHO} " WITH_APACHE2 Use Apache2 as the web server"
@${ECHO} " MULTIPLE_INSTANCES Patch RT to allow for multiple instances"
@${ECHO} " (see: http://wiki.bestpractical.com/index.cgi?MultipleInstances)"
@${ECHO} ""
@${ECHO} " DB_TYPE=type mysql, Oracle, Pg or SQLite (mysql)"
@${ECHO} " DB_HOST=hostname The database host (localhost)"
@ -163,6 +170,7 @@ pre-install:
@${RM} -f ${WRKSRC}/html/Admin/Queues/*orig 2>/dev/null
@${RM} -f ${WRKSRC}/html/Search/Elements/*orig 2>/dev/null
@${RM} -f ${WRKSRC}/lib/RT/I18N/*orig 2>/dev/null
@${RM} -f ${WRKSRC}/lib/*orig ${WRKSRC}/lib/*.in 2>/dev/null
PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} \
${PKGNAME} PRE-INSTALL

View File

@ -1,4 +1,4 @@
MD5 (rt-3.4.2.tar.gz) = a50158055fff423a557d43335ae1dc81
SIZE (rt-3.4.2.tar.gz) = 1359775
MD5 (rt-3.4.2.tar.gz.sig) = 707b779f05621e845b8b74853ff93b51
SIZE (rt-3.4.2.tar.gz.sig) = 65
MD5 (rt-3.4.4.tar.gz) = 769d77eea39006be643cbd2db4820ba3
SIZE (rt-3.4.4.tar.gz) = 1393950
MD5 (rt-3.4.4.tar.gz.sig) = ee0787e1dbd981dec7b9481c23fe61d1
SIZE (rt-3.4.4.tar.gz.sig) = 65

View File

@ -0,0 +1,16 @@
Index: bin/webmux.pl.in
--- rt-3.4.2-pristine/bin/webmux.pl.in 2005-05-11 20:36:48.064856616 -0400
+++ rt-3.4.2/bin/webmux.pl.in 2005-05-11 20:39:43.540180312 -0400
@@ -64,6 +64,12 @@
}
use lib ( "@LOCAL_LIB_PATH@", "@RT_LIB_PATH@" );
+if ($ENV{RT_INSTANCE_PATH}) {
+ lib->import("$ENV{RT_INSTANCE_PATH}/local/lib");
+}
+if ($ENV{RT_VENDOR_PATH}) {
+ lib->import($ENV{RT_VENDOR_PATH});
+}
use RT;
package RT::Mason;

View File

@ -0,0 +1,62 @@
Index: lib/RT.pm.in
--- rt-3.4.2-pristine/lib/RT.pm.in 2005-05-11 20:36:48.098851448 -0400
+++ rt-3.4.2/lib/RT.pm.in 2005-05-11 20:41:52.026647400 -0400
@@ -98,6 +98,60 @@
# via the web interface)
$MasonSessionDir = '@MASON_SESSION_PATH@';
+=item import
+
+Allow override of various internal paths.
+
+ RT->import (
+ RT_INSTANCE_PATH => '/usr/local/rt/stuff',
+ SITE_CONFIG_FILE => '/etc/stuff.pm',
+ ...
+ );
+
+If RT_INSTANCE_PATH is set in the arguments (or in %ENV)
+then it replaces the old value of $BasePath in the following
+variables:
+ $SITE_CONFIG_FILE
+ $LocalPath
+ $LocalEtcPath
+ $LocalLexiconPath
+ $MasonLocalComponentRoot
+ $MasonDataDir
+ $MasonSessionDir
+
+Beyond that, those individual values can be set explicitly
+by arguments.
+
+=cut
+
+sub import {
+no strict 'refs';
+ shift;
+ my %args = @_;
+ return unless ( scalar (keys %args) || $ENV{RT_INSTANCE_PATH} );
+
+ my @variables = qw (
+ SITE_CONFIG_FILE
+ LocalPath
+ LocalEtcPath
+ LocalLexiconPath
+ MasonLocalComponentRoot
+ MasonDataDir
+ MasonSessionDir
+ );
+
+ my $RT_INSTANCE_PATH = $args{RT_INSTANCE_PATH} || $ENV{RT_INSTANCE_PATH};
+ if ($RT_INSTANCE_PATH) {
+ foreach my $vref (@variables) {
+ $$vref =~ s/^\Q$BasePath\E/$RT_INSTANCE_PATH/;
+ }
+ }
+ foreach my $vref (@variables) {
+ $$vref = $args{$vref} if defined ( $args{$vref} );
+ }
+
+use strict 'refs';
+}

View File

@ -0,0 +1,22 @@
Index: sbin/rt-setup-database.in
--- rt-3.4.2-pristine/sbin/rt-setup-database.in 2005-05-11 20:36:48.128846888 -0400
+++ rt-3.4.2/sbin/rt-setup-database.in 2005-05-11 20:45:35.800628584 -0400
@@ -50,11 +50,17 @@
qw(@Groups @Users @ACL @Queues @ScripActions @ScripConditions @Templates @CustomFields @Scrips);
use lib "@RT_LIB_PATH@";
+## RT_INSTANCE_PATH can be passed on command line.
+## Can change where RT_SiteConfig is read from.
+my $RT_INSTANCE_PATH;
+BEGIN {
+ $RT_INSTANCE_PATH = shift || $ENV{RT_INSTANCE_PATH};
+}
#This drags in RT's config.pm
# We do it in a begin block because RT::Handle needs to know the type to do its
# inheritance
-use RT;
+use RT (RT_INSTANCE_PATH => $RT_INSTANCE_PATH);
use Carp;
use RT::User;
use RT::CurrentUser;

View File

@ -0,0 +1,38 @@
--- Makefile.in.orig Fri Apr 1 11:18:10 2005
+++ Makefile.in Wed May 4 17:00:58 2005
@@ -224,9 +224,6 @@
@echo "very dangerous. Note that you do not have to manually add a "
@echo "database user or set up a database for RT. These actions will be "
@echo "taken care of in the next step.)"
- @echo ""
- @echo "After that, you need to initialize RT's database by running"
- @echo " 'make initialize-database'"
# @echo " or by executing "
# @echo " '$(RT_SBIN_PATH)/rt-setup-database --action init \ "
@@ -284,7 +281,7 @@
chgrp -R $(RTGROUP) $(DESTDIR)/$(RT_ETC_PATH)
chmod 0550 $(DESTDIR)/$(CONFIG_FILE)
- chmod 0550 $(DESTDIR)/$(SITE_CONFIG_FILE)
+ chmod 0550 $(DESTDIR)/$(SITE_CONFIG_FILE)-dist
# Make the interfaces executable
chown $(BIN_OWNER) $(BINARIES)
@@ -331,13 +328,13 @@
config-install:
mkdir -p $(DESTDIR)/$(CONFIG_FILE_PATH)
-cp etc/RT_Config.pm $(DESTDIR)/$(CONFIG_FILE)
- [ -f $(DESTDIR)/$(SITE_CONFIG_FILE) ] || cp etc/RT_SiteConfig.pm $(DESTDIR)/$(SITE_CONFIG_FILE)
+ -cp etc/RT_SiteConfig.pm $(DESTDIR)/$(SITE_CONFIG_FILE)-dist
chgrp $(RTGROUP) $(DESTDIR)/$(CONFIG_FILE)
chown $(BIN_OWNER) $(DESTDIR)/$(CONFIG_FILE)
- chgrp $(RTGROUP) $(DESTDIR)/$(SITE_CONFIG_FILE)
- chown $(BIN_OWNER) $(DESTDIR)/$(SITE_CONFIG_FILE)
+ chgrp $(RTGROUP) $(DESTDIR)/$(SITE_CONFIG_FILE)-dist
+ chown $(BIN_OWNER) $(DESTDIR)/$(SITE_CONFIG_FILE)-dist
@echo "Installed configuration. about to install rt in $(RT_PATH)"

File diff suppressed because it is too large Load Diff

View File

@ -6,7 +6,7 @@
#
PORTNAME= rt
PORTVERSION?= 3.4.2
PORTVERSION?= 3.4.4
CATEGORIES= www
MASTER_SITES?= http://download.bestpractical.com/pub/rt/release/ \
http://download.bestpractical.com/pub/rt/devel/ \
@ -28,6 +28,7 @@ BUILD_DEPENDS+= ${APXS}:${PORTSDIR}/${APACHE_PORT} \
${SITE_PERL}/HTML/FormatText.pm:${PORTSDIR}/textproc/p5-HTML-Format \
${SITE_PERL}/HTML/Scrubber.pm:${PORTSDIR}/www/p5-HTML-Scrubber \
${SITE_PERL}/HTML/TreeBuilder.pm:${PORTSDIR}/www/p5-HTML-Tree \
${SITE_PERL}/HTTP/Server/Simple/Mason.pm:${PORTSDIR}/www/p5-HTTP-Server-Simple-Mason \
${SITE_PERL}/Locale/Maketext.pm:${PORTSDIR}/devel/p5-Locale-Maketext \
${SITE_PERL}/Locale/Maketext/Fuzzy.pm:${PORTSDIR}/devel/p5-Locale-Maketext-Fuzzy \
${SITE_PERL}/Locale/Maketext/Lexicon.pm:${PORTSDIR}/devel/p5-Locale-Maketext-Lexicon \
@ -45,6 +46,7 @@ BUILD_DEPENDS+= ${APXS}:${PORTSDIR}/${APACHE_PORT} \
${SITE_PERL}/Text/Autoformat.pm:${PORTSDIR}/textproc/p5-Text-Autoformat \
${SITE_PERL}/Text/Quoted.pm:${PORTSDIR}/textproc/p5-Text-Quoted \
${SITE_PERL}/Text/Template.pm:${PORTSDIR}/textproc/p5-Text-Template \
${SITE_PERL}/Text/WikiFormat.pm:${PORTSDIR}/textproc/p5-Text-WikiFormat \
${SITE_PERL}/Text/Wrapper.pm:${PORTSDIR}/textproc/p5-Text-Wrapper \
${SITE_PERL}/${PERL_ARCH}/Time/HiRes.pm:${PORTSDIR}/devel/p5-Time-HiRes \
${SITE_PERL}/Time/ParseDate.pm:${PORTSDIR}/devel/p5-Time-modules \
@ -82,7 +84,6 @@ DEPENDS_ARGS+= WITHOUT_MODPERL=yes
.else
BUILD_DEPENDS+= ${SITE_PERL}/Apache/DBI.pm:${PORTSDIR}/www/p5-Apache-DBI
.if defined(WITH_APACHE2)
BROKEN= Broken due the new mod_perl2 API
BUILD_DEPENDS+= ${LOCALBASE}/libexec/apache2/mod_perl.so:${PORTSDIR}/www/mod_perl2
DEPENDS_ARGS+= WITHOUT_MODPERL=yes
DEPENDS_ARGS+= WITH_MODPERL2=yes
@ -92,6 +93,9 @@ BUILD_DEPENDS+= ${LOCALBASE}/libexec/apache/libperl.so:${PORTSDIR}/www/mod_perl
${SITE_PERL}/${PERL_ARCH}/Apache/Request.pm:${PORTSDIR}/www/p5-libapreq
.endif
.endif
.if defined(MULTIPLE_INSTANCES)
EXTRA_PATCHES+= ${FILESDIR}/multiple*
.endif
DB_TYPE?= mysql
@ -112,6 +116,7 @@ BUILD_DEPENDS+= ${SITE_PERL}/${PERL_ARCH}/DBD/mysql.pm:${PORTSDIR}/databases/p5-
USE_PERL5= yes
RT_PATH?= ${PREFIX}/rt3
PLIST_SUB= RT_PATH=${RT_PATH} RTPLIST=${RT_PATH:S/^${PREFIX}\///}
LAYOUT?= RT3
DB_DBA_USER?= root
@ -147,6 +152,8 @@ pre-fetch:
@${ECHO} " INITIAL_INSTALL Do initialize DB (for initial install only)"
@${ECHO} " WITH_FASTCGI Use FastCGI instead of mod_perl"
@${ECHO} " WITH_APACHE2 Use Apache2 as the web server"
@${ECHO} " MULTIPLE_INSTANCES Patch RT to allow for multiple instances"
@${ECHO} " (see: http://wiki.bestpractical.com/index.cgi?MultipleInstances)"
@${ECHO} ""
@${ECHO} " DB_TYPE=type mysql, Oracle, Pg or SQLite (mysql)"
@${ECHO} " DB_HOST=hostname The database host (localhost)"
@ -163,6 +170,7 @@ pre-install:
@${RM} -f ${WRKSRC}/html/Admin/Queues/*orig 2>/dev/null
@${RM} -f ${WRKSRC}/html/Search/Elements/*orig 2>/dev/null
@${RM} -f ${WRKSRC}/lib/RT/I18N/*orig 2>/dev/null
@${RM} -f ${WRKSRC}/lib/*orig ${WRKSRC}/lib/*.in 2>/dev/null
PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} \
${PKGNAME} PRE-INSTALL

View File

@ -1,4 +1,4 @@
MD5 (rt-3.4.2.tar.gz) = a50158055fff423a557d43335ae1dc81
SIZE (rt-3.4.2.tar.gz) = 1359775
MD5 (rt-3.4.2.tar.gz.sig) = 707b779f05621e845b8b74853ff93b51
SIZE (rt-3.4.2.tar.gz.sig) = 65
MD5 (rt-3.4.4.tar.gz) = 769d77eea39006be643cbd2db4820ba3
SIZE (rt-3.4.4.tar.gz) = 1393950
MD5 (rt-3.4.4.tar.gz.sig) = ee0787e1dbd981dec7b9481c23fe61d1
SIZE (rt-3.4.4.tar.gz.sig) = 65

View File

@ -0,0 +1,16 @@
Index: bin/webmux.pl.in
--- rt-3.4.2-pristine/bin/webmux.pl.in 2005-05-11 20:36:48.064856616 -0400
+++ rt-3.4.2/bin/webmux.pl.in 2005-05-11 20:39:43.540180312 -0400
@@ -64,6 +64,12 @@
}
use lib ( "@LOCAL_LIB_PATH@", "@RT_LIB_PATH@" );
+if ($ENV{RT_INSTANCE_PATH}) {
+ lib->import("$ENV{RT_INSTANCE_PATH}/local/lib");
+}
+if ($ENV{RT_VENDOR_PATH}) {
+ lib->import($ENV{RT_VENDOR_PATH});
+}
use RT;
package RT::Mason;

View File

@ -0,0 +1,62 @@
Index: lib/RT.pm.in
--- rt-3.4.2-pristine/lib/RT.pm.in 2005-05-11 20:36:48.098851448 -0400
+++ rt-3.4.2/lib/RT.pm.in 2005-05-11 20:41:52.026647400 -0400
@@ -98,6 +98,60 @@
# via the web interface)
$MasonSessionDir = '@MASON_SESSION_PATH@';
+=item import
+
+Allow override of various internal paths.
+
+ RT->import (
+ RT_INSTANCE_PATH => '/usr/local/rt/stuff',
+ SITE_CONFIG_FILE => '/etc/stuff.pm',
+ ...
+ );
+
+If RT_INSTANCE_PATH is set in the arguments (or in %ENV)
+then it replaces the old value of $BasePath in the following
+variables:
+ $SITE_CONFIG_FILE
+ $LocalPath
+ $LocalEtcPath
+ $LocalLexiconPath
+ $MasonLocalComponentRoot
+ $MasonDataDir
+ $MasonSessionDir
+
+Beyond that, those individual values can be set explicitly
+by arguments.
+
+=cut
+
+sub import {
+no strict 'refs';
+ shift;
+ my %args = @_;
+ return unless ( scalar (keys %args) || $ENV{RT_INSTANCE_PATH} );
+
+ my @variables = qw (
+ SITE_CONFIG_FILE
+ LocalPath
+ LocalEtcPath
+ LocalLexiconPath
+ MasonLocalComponentRoot
+ MasonDataDir
+ MasonSessionDir
+ );
+
+ my $RT_INSTANCE_PATH = $args{RT_INSTANCE_PATH} || $ENV{RT_INSTANCE_PATH};
+ if ($RT_INSTANCE_PATH) {
+ foreach my $vref (@variables) {
+ $$vref =~ s/^\Q$BasePath\E/$RT_INSTANCE_PATH/;
+ }
+ }
+ foreach my $vref (@variables) {
+ $$vref = $args{$vref} if defined ( $args{$vref} );
+ }
+
+use strict 'refs';
+}

View File

@ -0,0 +1,22 @@
Index: sbin/rt-setup-database.in
--- rt-3.4.2-pristine/sbin/rt-setup-database.in 2005-05-11 20:36:48.128846888 -0400
+++ rt-3.4.2/sbin/rt-setup-database.in 2005-05-11 20:45:35.800628584 -0400
@@ -50,11 +50,17 @@
qw(@Groups @Users @ACL @Queues @ScripActions @ScripConditions @Templates @CustomFields @Scrips);
use lib "@RT_LIB_PATH@";
+## RT_INSTANCE_PATH can be passed on command line.
+## Can change where RT_SiteConfig is read from.
+my $RT_INSTANCE_PATH;
+BEGIN {
+ $RT_INSTANCE_PATH = shift || $ENV{RT_INSTANCE_PATH};
+}
#This drags in RT's config.pm
# We do it in a begin block because RT::Handle needs to know the type to do its
# inheritance
-use RT;
+use RT (RT_INSTANCE_PATH => $RT_INSTANCE_PATH);
use Carp;
use RT::User;
use RT::CurrentUser;

View File

@ -0,0 +1,38 @@
--- Makefile.in.orig Fri Apr 1 11:18:10 2005
+++ Makefile.in Wed May 4 17:00:58 2005
@@ -224,9 +224,6 @@
@echo "very dangerous. Note that you do not have to manually add a "
@echo "database user or set up a database for RT. These actions will be "
@echo "taken care of in the next step.)"
- @echo ""
- @echo "After that, you need to initialize RT's database by running"
- @echo " 'make initialize-database'"
# @echo " or by executing "
# @echo " '$(RT_SBIN_PATH)/rt-setup-database --action init \ "
@@ -284,7 +281,7 @@
chgrp -R $(RTGROUP) $(DESTDIR)/$(RT_ETC_PATH)
chmod 0550 $(DESTDIR)/$(CONFIG_FILE)
- chmod 0550 $(DESTDIR)/$(SITE_CONFIG_FILE)
+ chmod 0550 $(DESTDIR)/$(SITE_CONFIG_FILE)-dist
# Make the interfaces executable
chown $(BIN_OWNER) $(BINARIES)
@@ -331,13 +328,13 @@
config-install:
mkdir -p $(DESTDIR)/$(CONFIG_FILE_PATH)
-cp etc/RT_Config.pm $(DESTDIR)/$(CONFIG_FILE)
- [ -f $(DESTDIR)/$(SITE_CONFIG_FILE) ] || cp etc/RT_SiteConfig.pm $(DESTDIR)/$(SITE_CONFIG_FILE)
+ -cp etc/RT_SiteConfig.pm $(DESTDIR)/$(SITE_CONFIG_FILE)-dist
chgrp $(RTGROUP) $(DESTDIR)/$(CONFIG_FILE)
chown $(BIN_OWNER) $(DESTDIR)/$(CONFIG_FILE)
- chgrp $(RTGROUP) $(DESTDIR)/$(SITE_CONFIG_FILE)
- chown $(BIN_OWNER) $(DESTDIR)/$(SITE_CONFIG_FILE)
+ chgrp $(RTGROUP) $(DESTDIR)/$(SITE_CONFIG_FILE)-dist
+ chown $(BIN_OWNER) $(DESTDIR)/$(SITE_CONFIG_FILE)-dist
@echo "Installed configuration. about to install rt in $(RT_PATH)"

File diff suppressed because it is too large Load Diff