From dcd1b098491e069c04070b4e09f387eaf0748dd7 Mon Sep 17 00:00:00 2001
From: pav <pav@FreeBSD.org>
Date: Sat, 10 Sep 2005 19:51:13 +0000
Subject: - 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>
---
 www/rt36/files/multiple-bin-webmux_pl_in          | 16 ++++++
 www/rt36/files/multiple-lib-RT_pm_in              | 62 +++++++++++++++++++++++
 www/rt36/files/multiple-sbin-rt-setup-database_in | 22 ++++++++
 www/rt36/files/patch-Makefile_in                  | 38 ++++++++++++++
 4 files changed, 138 insertions(+)
 create mode 100644 www/rt36/files/multiple-bin-webmux_pl_in
 create mode 100644 www/rt36/files/multiple-lib-RT_pm_in
 create mode 100644 www/rt36/files/multiple-sbin-rt-setup-database_in
 create mode 100644 www/rt36/files/patch-Makefile_in

(limited to 'www/rt36/files')

diff --git a/www/rt36/files/multiple-bin-webmux_pl_in b/www/rt36/files/multiple-bin-webmux_pl_in
new file mode 100644
index 0000000..452c8f6
--- /dev/null
+++ b/www/rt36/files/multiple-bin-webmux_pl_in
@@ -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;
diff --git a/www/rt36/files/multiple-lib-RT_pm_in b/www/rt36/files/multiple-lib-RT_pm_in
new file mode 100644
index 0000000..dbabff7
--- /dev/null
+++ b/www/rt36/files/multiple-lib-RT_pm_in
@@ -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';
++}
+
diff --git a/www/rt36/files/multiple-sbin-rt-setup-database_in b/www/rt36/files/multiple-sbin-rt-setup-database_in
new file mode 100644
index 0000000..0695007
--- /dev/null
+++ b/www/rt36/files/multiple-sbin-rt-setup-database_in
@@ -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;
diff --git a/www/rt36/files/patch-Makefile_in b/www/rt36/files/patch-Makefile_in
new file mode 100644
index 0000000..a689b00
--- /dev/null
+++ b/www/rt36/files/patch-Makefile_in
@@ -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)"
+ 
-- 
cgit v1.1