summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Huddleston <eradicator@gentoo.org>2006-06-05 07:08:18 +0000
committerJeremy Huddleston <eradicator@gentoo.org>2006-06-05 07:08:18 +0000
commit408972b0995e23fb6c9b3a470019343641b5f460 (patch)
tree0f834a9a5f5aaca7b41e12af408301c4d49f1cb4 /www-apps/open-xchange
parentAdd ~x86-fbsd keyword. (diff)
downloadgentoo-2-408972b0995e23fb6c9b3a470019343641b5f460.tar.gz
gentoo-2-408972b0995e23fb6c9b3a470019343641b5f460.tar.bz2
gentoo-2-408972b0995e23fb6c9b3a470019343641b5f460.zip
Version bump and updates from Martin in bug #62197.
(Portage version: 2.1_rc4-r1)
Diffstat (limited to 'www-apps/open-xchange')
-rw-r--r--www-apps/open-xchange/ChangeLog13
-rw-r--r--www-apps/open-xchange/files/digest-open-xchange-0.8.211
-rw-r--r--www-apps/open-xchange/files/open-xchange-0.8.2-mysql-2.patch11
-rw-r--r--www-apps/open-xchange/files/open-xchange-0.8.2-mysql.patch501
-rw-r--r--www-apps/open-xchange/files/open-xchange-0.8.2-sieve.patch63
-rw-r--r--www-apps/open-xchange/open-xchange-0.8.2.ebuild658
6 files changed, 1256 insertions, 1 deletions
diff --git a/www-apps/open-xchange/ChangeLog b/www-apps/open-xchange/ChangeLog
index 38fe2957f6ea..bcbe8e2205c9 100644
--- a/www-apps/open-xchange/ChangeLog
+++ b/www-apps/open-xchange/ChangeLog
@@ -1,6 +1,17 @@
# ChangeLog for www-apps/open-xchange
# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/www-apps/open-xchange/ChangeLog,v 1.14 2006/04/27 23:31:11 antarus Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-apps/open-xchange/ChangeLog,v 1.15 2006/06/05 07:08:18 eradicator Exp $
+
+*open-xchange-0.8.2 (05 Jun 2006)
+
+ 05 Jun 2006; Jeremy Huddleston <eradicator@gentoo.org>
+ -files/open-xchange-0.8.1.2-login.patch,
+ -files/open-xchange-0.8.1.5-oxFolder.patch,
+ +files/open-xchange-0.8.2-mysql.patch,
+ +files/open-xchange-0.8.2-mysql-2.patch,
+ +files/open-xchange-0.8.2-sieve.patch, -open-xchange-0.8.0.6.ebuild,
+ -open-xchange-0.8.1.5.ebuild, +open-xchange-0.8.2.ebuild:
+ Version bump and updates from Martin in bug #62197.
27 Apr 2006; Alec Warner <antarus@gentoo.org>
files/digest-open-xchange-0.8.0.6, files/digest-open-xchange-0.8.1.5,
diff --git a/www-apps/open-xchange/files/digest-open-xchange-0.8.2 b/www-apps/open-xchange/files/digest-open-xchange-0.8.2
new file mode 100644
index 000000000000..513071b09fb1
--- /dev/null
+++ b/www-apps/open-xchange/files/digest-open-xchange-0.8.2
@@ -0,0 +1,11 @@
+RMD160 24d8b0501783f23b16f1a0b20800fcb59da7a464 Crystal_OX_Theme.tgz 53788
+SHA256 b864155899cf3526364dead79ffcd64f939c4f5a97bd36e2403a6d0e55342125 Crystal_OX_Theme.tgz 53788
+MD5 5bd67c0e350491fc8264429ee9e2b908 Crystal_OX_Theme_Webmail.tar.bz2 9442
+RMD160 2dd6c3b90d56219dfcab5ae48dcce635ed9e7311 Crystal_OX_Theme_Webmail.tar.bz2 9442
+SHA256 06b4d834bbd2a352468997671077f3630f60ff901651a865419e0156ac0d7e77 Crystal_OX_Theme_Webmail.tar.bz2 9442
+MD5 bb685bc3a95d31d437f42870892c45de open-xchange-0.8.2.tar.bz2 1970970
+RMD160 bea788b8264a8b882229612d6b284586c7250659 open-xchange-0.8.2.tar.bz2 1970970
+SHA256 576ac912d5fdfc98a84fe69abc7aa2b9f7d1ca24e7b40ff8e71b6642b131ef3d open-xchange-0.8.2.tar.bz2 1970970
+MD5 cad67d789cfb750e335b1bbdbbbf28d4 smartsieve-ox-1.03.tar.gz 102899
+RMD160 aaf58bc7549db4cad719f120635269fdf3585317 smartsieve-ox-1.03.tar.gz 102899
+SHA256 77a55ebe3c4e5f27e564d75f5cd80742c3bdb2e6e920d833de26eadec0fe6494 smartsieve-ox-1.03.tar.gz 102899
diff --git a/www-apps/open-xchange/files/open-xchange-0.8.2-mysql-2.patch b/www-apps/open-xchange/files/open-xchange-0.8.2-mysql-2.patch
new file mode 100644
index 000000000000..7d828188bb24
--- /dev/null
+++ b/www-apps/open-xchange/files/open-xchange-0.8.2-mysql-2.patch
@@ -0,0 +1,11 @@
+--- open-xchange-0.8.2/system/setup/init_mysql_database.sql 2006-05-30 17:05:15.000000000 +0200
++++ open-xchange-0.8.2.az/system/setup/init_mysql_database.sql 2006-05-30 17:05:30.000000000 +0200
+@@ -1640,7 +1640,7 @@
+ );
+
+ CREATE TABLE usr_settings (
+- username text,
++ username varchar(255),
+ mailoption1 text,
+ mailoption2 text,
+ mailoption3 text,
diff --git a/www-apps/open-xchange/files/open-xchange-0.8.2-mysql.patch b/www-apps/open-xchange/files/open-xchange-0.8.2-mysql.patch
new file mode 100644
index 000000000000..d4a568297647
--- /dev/null
+++ b/www-apps/open-xchange/files/open-xchange-0.8.2-mysql.patch
@@ -0,0 +1,501 @@
+diff -rNBwU 2 ../open-xchange-0.8.2-origin/conf/admintools.conf.in ./conf/admintools.conf.in
+--- ../open-xchange-0.8.2-origin/conf/admintools.conf.in 2006-04-25 10:57:34.000000000 +0200
++++ ./conf/admintools.conf.in 2006-05-04 23:01:37.628100648 +0200
+@@ -69,5 +69,5 @@
+ DEFAULT_SQL_PASS="@dbpass@"
+ ### if u want to use mysql change to mysql
+-SQL_DB_TYPE="pgsql"
++SQL_DB_TYPE="mysql"
+
+
+diff -rNBwU 2 ../open-xchange-0.8.2-origin/conf/groupware/intranet.conf ./conf/groupware/intranet.conf
+--- ../open-xchange-0.8.2-origin/conf/groupware/intranet.conf 2006-04-25 10:57:34.000000000 +0200
++++ ./conf/groupware/intranet.conf 2006-05-04 23:01:37.629100496 +0200
+@@ -130,16 +130,24 @@
+
+ # DATABASE identifiert for SYSDATE
+-SYSDATE='now'
++SYSDATE=now()
+
+ # DATABASE identifier for CURRENT_DATE
+-# SQL_TODAY='today'
++SQL_TODAY=curdate()
+
+ # Sequence SQL-String for DATABASE
+ # Example for POSTGRES
+-seq-fid=SELECT nextval ('fid')
+-seq-import_id=SELECT nextval ('import_id')
+-seq-insert_id=SELECT nextval ('insert_id')
+-seq-profile_id=SELECT nextval ('profile_id')
+-seq-serial_id=SELECT nextval ('serial_id')
++#seq-fid=SELECT nextval ('fid')
++#seq-import_id=SELECT nextval ('import_id')
++#seq-insert_id=SELECT nextval ('insert_id')
++#seq-profile_id=SELECT nextval ('profile_id')
++#seq-serial_id=SELECT nextval ('serial_id')
++
++# Example for mySQL
++seq-fid=SELECT select_fid()
++seq-import_id=SELECT select_import_id()
++seq-insert_id=SELECT select_insert_id()
++seq-profile_id=SELECT select_profile_id()
++seq-serial_id=SELECT select_serial_id()
++
+ # Example for ORACLE
+ #seq-fid="SELECT fid.nextval"
+diff -rNBwU 2 ../open-xchange-0.8.2-origin/conf/webmail/system.cfg ./conf/webmail/system.cfg
+--- ../open-xchange-0.8.2-origin/conf/webmail/system.cfg 2006-04-25 10:57:34.000000000 +0200
++++ ./conf/webmail/system.cfg 2006-05-04 23:01:37.631100192 +0200
+@@ -167,5 +167,5 @@
+
+ # SQL Query to request a new sequence number
+-seq-serial_id="SELECT nextval ('serial_id')"
++seq-serial_id="SELECT select_serial_id()"
+
+ # SQL Query field mapping name(s). May needed when having problems with field
+@@ -175,3 +175,3 @@
+ # ^^^^^^^^^^^^^^^^^^^^^
+ # usrdata delete
+-sql-fieldmapname-usrdata_delete="delete"
+\ Kein Zeilenumbruch am Dateiende.
++sql-fieldmapname-usrdata_delete="delete_it"
+diff -rNBwU 2 ../open-xchange-0.8.2-origin/configure.in ./configure.in
+--- ../open-xchange-0.8.2-origin/configure.in 2006-04-25 10:57:34.000000000 +0200
++++ ./configure.in 2006-05-04 23:01:37.633099888 +0200
+@@ -792,4 +792,5 @@
+ conf/admintools.conf
+ system/setup/init_ldap.ldif
++system/setup/create_mysql_database.sql
+ src/com/openexchange/server/Version.java )
+
+diff -rNBwU 2 ../open-xchange-0.8.2-origin/src/com/openexchange/groupware/InsertHandler.java ./src/com/openexchange/groupware/InsertHandler.java
+--- ../open-xchange-0.8.2-origin/src/com/openexchange/groupware/InsertHandler.java 2006-04-25 10:57:34.000000000 +0200
++++ ./src/com/openexchange/groupware/InsertHandler.java 2006-05-05 11:17:26.185499760 +0200
+@@ -245,4 +245,6 @@
+ setBinaryStreamFromFile(pst, value, a+1);
+ }
++ } else if (type.indexOf("TIMESTAMP") != -1 && (value != null && value.equals(GlobalConfig.getParameter("SYSDATE")))) {
++ pst.setTimestamp(a+1,new java.sql.Timestamp(System.currentTimeMillis()));
+ } else if (type.indexOf("TIMESTAMP") != -1 && (value == null || !value.equals(GlobalConfig.getParameter("SYSDATE")))) {
+ if (value == null) {
+@@ -253,5 +255,7 @@
+ try {
+ tsf.setCalendar(value, GlobalConfig.getDateTimePattern("DATABASE"));
+- } catch(Exception e) { e.printStackTrace(); }
++ } catch(Exception e) {
++ e.printStackTrace();
++ }
+ pst.setTimestamp(a+1,new java.sql.Timestamp(tsf.getDate().getTime()));
+ }
+diff -rNBwU 2 ../open-xchange-0.8.2-origin/src/com/openexchange/groupware/UpdateHandler.java ./src/com/openexchange/groupware/UpdateHandler.java
+--- ../open-xchange-0.8.2-origin/src/com/openexchange/groupware/UpdateHandler.java 2006-04-25 10:57:34.000000000 +0200
++++ ./src/com/openexchange/groupware/UpdateHandler.java 2006-05-05 11:18:36.848757312 +0200
+@@ -251,4 +251,6 @@
+ setBinaryStreamFromFile(pst, value, a+1);
+ }
++ } else if (type.indexOf("TIMESTAMP") != -1 && (value != null && value.equals(GlobalConfig.getParameter("SYSDATE")))) {
++ pst.setTimestamp(a+1,new java.sql.Timestamp(System.currentTimeMillis()));
+ } else if (type.indexOf("TIMESTAMP") != -1 && (value == null || !value.equals(GlobalConfig.getParameter("SYSDATE")))) {
+ if (value == null) {
+diff -rNBwU 2 ../open-xchange-0.8.2-origin/system/setup/create_mysql_database.sql.in ./system/setup/create_mysql_database.sql.in
+--- ../open-xchange-0.8.2-origin/system/setup/create_mysql_database.sql.in 1970-01-01 01:00:00.000000000 +0100
++++ ./system/setup/create_mysql_database.sql.in 2006-05-04 23:01:37.636099432 +0200
+@@ -0,0 +1,117 @@
++DROP DATABASE IF EXISTS @dbname@;
++
++CREATE DATABASE @dbname@ DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
++
++GRANT ALL PRIVILEGES ON @dbname@.* TO '@dbuser@'@'localhost' IDENTIFIED BY '@dbpass@' WITH GRANT OPTION;
++GRANT ALL PRIVILEGES ON @dbname@.* TO '@dbuser@'@'%' IDENTIFIED BY '@dbpass@';
++
++USE @dbname@;
++
++DROP TABLE IF EXISTS table_fid;
++
++CREATE TABLE table_fid (
++ id INT NOT NULL AUTO_INCREMENT,
++ primary key (id)
++);
++
++DROP FUNCTION IF EXISTS select_fid;
++
++DELIMITER //
++
++CREATE FUNCTION select_fid () RETURNS INTEGER DETERMINISTIC MODIFIES SQL DATA
++BEGIN
++ DECLARE xid INT;
++ INSERT into table_fid VALUES();
++ SELECT last_insert_id() into xid;
++ RETURN xid;
++END //
++
++DELIMITER ;
++
++DROP TABLE IF EXISTS table_serial_id;
++
++CREATE TABLE table_serial_id (
++ id INT NOT NULL AUTO_INCREMENT,
++ primary key (id)
++) AUTO_INCREMENT = 10;
++
++DROP FUNCTION IF EXISTS select_serial_id;
++
++DELIMITER //
++
++CREATE FUNCTION select_serial_id () RETURNS INTEGER DETERMINISTIC MODIFIES SQL DATA
++BEGIN
++ DECLARE xid INT;
++ INSERT into table_serial_id VALUES();
++ SELECT last_insert_id() into xid;
++ RETURN xid;
++END //
++
++DELIMITER ;
++
++
++DROP TABLE IF EXISTS table_import_id;
++
++CREATE TABLE table_import_id (
++ id INT NOT NULL AUTO_INCREMENT,
++ primary key (id)
++);
++
++DROP FUNCTION IF EXISTS select_import_id;
++
++DELIMITER //
++
++CREATE FUNCTION select_import_id () RETURNS INTEGER DETERMINISTIC MODIFIES SQL DATA
++BEGIN
++ DECLARE xid INT;
++ INSERT into table_import_id VALUES();
++ SELECT last_insert_id() into xid;
++ RETURN xid;
++END //
++
++DELIMITER ;
++
++
++DROP TABLE IF EXISTS table_insert_id;
++
++CREATE TABLE table_insert_id (
++ id INT NOT NULL AUTO_INCREMENT,
++ primary key (id)
++) AUTO_INCREMENT = 101;
++
++DROP FUNCTION IF EXISTS select_insert_id;
++
++DELIMITER //
++
++CREATE FUNCTION select_insert_id () RETURNS INTEGER DETERMINISTIC MODIFIES SQL DATA
++BEGIN
++ DECLARE xid INT;
++ INSERT into table_insert_id VALUES();
++ SELECT last_insert_id() into xid;
++ RETURN xid;
++END //
++
++DELIMITER ;
++
++DROP TABLE IF EXISTS table_profile_id;
++
++CREATE TABLE table_profile_id (
++ id INT NOT NULL AUTO_INCREMENT,
++ primary key (id)
++);
++
++DROP FUNCTION IF EXISTS select_profile_id;
++
++DELIMITER //
++
++CREATE FUNCTION select_profile_id () RETURNS INTEGER DETERMINISTIC MODIFIES SQL DATA
++BEGIN
++ DECLARE xid INT;
++ INSERT into table_profile_id VALUES();
++ SELECT last_insert_id() into xid;
++ RETURN xid;
++END //
++
++
++DELIMITER ;
++
+diff -rNBwU 2 ../open-xchange-0.8.2-origin/system/setup/init_mysql_database.sql ./system/setup/init_mysql_database.sql
+--- ../open-xchange-0.8.2-origin/system/setup/init_mysql_database.sql 2006-04-25 10:57:34.000000000 +0200
++++ ./system/setup/init_mysql_database.sql 2006-05-04 23:01:37.640098824 +0200
+@@ -1,110 +1,12 @@
+
+-DROP TABLE IF EXISTS table_fid;
+
+-CREATE TABLE table_fid (
+- id INT NOT NULL AUTO_INCREMENT,
+- primary key (id)
+-);
+-
+-DROP FUNCTION IF EXISTS select_fid;
+-
+-DELIMITER //
+-
+-CREATE FUNCTION select_fid () RETURNS INTEGER DETERMINISTIC MODIFIES SQL DATA
+-BEGIN
+- DECLARE xid INT;
+- INSERT into table_fid VALUES();
+- SELECT last_insert_id() into xid;
+- RETURN xid;
+-END //
+-
+-DELIMITER ;
+-
+-DROP TABLE IF EXISTS table_serial_id;
+-
+-CREATE TABLE table_serial_id (
+- id INT NOT NULL AUTO_INCREMENT,
+- primary key (id)
+-) AUTO_INCREMENT = 9;
+-
+-DROP FUNCTION IF EXISTS select_serial_id;
+-
+-DELIMITER //
+-
+-CREATE FUNCTION select_serial_id () RETURNS INTEGER DETERMINISTIC MODIFIES SQL DATA
+-BEGIN
+- DECLARE xid INT;
+- INSERT into table_serial_id VALUES();
+- SELECT last_insert_id() into xid;
+- RETURN xid;
+-END //
+-
+-DELIMITER ;
+-
+-
+-DROP TABLE IF EXISTS table_import_id;
+-
+-CREATE TABLE table_import_id (
+- id INT NOT NULL AUTO_INCREMENT,
+- primary key (id)
+-);
+
+-DROP FUNCTION IF EXISTS select_import_id;
+
+-DELIMITER //
+
+-CREATE FUNCTION select_import_id () RETURNS INTEGER DETERMINISTIC MODIFIES SQL DATA
+-BEGIN
+- DECLARE xid INT;
+- INSERT into table_import_id VALUES();
+- SELECT last_insert_id() into xid;
+- RETURN xid;
+-END //
+
+-DELIMITER ;
+
+
+-DROP TABLE IF EXISTS table_insert_id;
+
+-CREATE TABLE table_insert_id (
+- id INT NOT NULL AUTO_INCREMENT,
+- primary key (id)
+-) AUTO_INCREMENT = 101;
+
+-DROP FUNCTION IF EXISTS select_insert_id;
+-
+-DELIMITER //
+-
+-CREATE FUNCTION select_insert_id () RETURNS INTEGER DETERMINISTIC MODIFIES SQL DATA
+-BEGIN
+- DECLARE xid INT;
+- INSERT into table_insert_id VALUES();
+- SELECT last_insert_id() into xid;
+- RETURN xid;
+-END //
+-
+-DELIMITER ;
+-
+-DROP TABLE IF EXISTS table_profile_id;
+-
+-CREATE TABLE table_profile_id (
+- id INT NOT NULL AUTO_INCREMENT,
+- primary key (id)
+-);
+-
+-DROP FUNCTION IF EXISTS select_profile_id;
+-
+-DELIMITER //
+-
+-CREATE FUNCTION select_profile_id () RETURNS INTEGER DETERMINISTIC MODIFIES SQL DATA
+-BEGIN
+- DECLARE xid INT;
+- INSERT into table_profile_id VALUES();
+- SELECT last_insert_id() into xid;
+- RETURN xid;
+-END //
+-
+-
+-DELIMITER ;
+
+ CREATE TABLE prg_dlist (
+@@ -309,5 +211,5 @@
+ changing_date timestamp ,
+ changed_from text,
+- login text PRIMARY KEY,
++ login varchar(255) PRIMARY KEY,
+ addr_u text,
+ addr_r text,
+@@ -446,5 +348,5 @@
+ timestampfield01 timestamp ,
+ timestampfield02 timestamp ,
+- intfield01 int NOT NULL,
++ intfield01 int PRIMARY KEY,
+ intfield02 int,
+ intfield03 int,
+@@ -1328,5 +1230,35 @@
+ timestampfield01 timestamp ,
+ timestampfield02 timestamp ,
+- intfield01 int NOT NULL,
++ intfield01 int PRIMARY KEY,
++ intfield02 int,
++ intfield03 int,
++ intfield04 int,
++ intfield05 int,
++ intfield06 int,
++ field01 text NOT NULL,
++ field02 text,
++ field03 text,
++ field04 text,
++ field05 text,
++ field06 text,
++ field07 text,
++ field08 text,
++ field09 text,
++ field10 text
++);
++
++CREATE TABLE del_docufolders (
++ creating_date timestamp NOT NULL,
++ created_from text NOT NULL,
++ changing_date timestamp,
++ changed_from text,
++ user_right text NOT NULL,
++ group_right text NOT NULL,
++ sid text NOT NULL,
++ tid text,
++ order_crit text,
++ timestampfield01 timestamp,
++ timestampfield02 timestamp,
++ intfield01 int PRIMARY KEY,
+ intfield02 int,
+ intfield03 int,
+@@ -1358,5 +1290,35 @@
+ timestampfield01 timestamp ,
+ timestampfield02 timestamp ,
+- intfield01 int NOT NULL,
++ intfield01 int PRIMARY KEY,
++ intfield02 int NOT NULL,
++ intfield03 int,
++ intfield04 int,
++ intfield05 int,
++ intfield06 int,
++ field01 text NOT NULL,
++ field02 text,
++ field03 text,
++ field04 text,
++ field05 text,
++ field06 text,
++ field07 text,
++ field08 text,
++ field09 text,
++ field10 text
++);
++
++CREATE TABLE del_documents (
++ creating_date timestamp NOT NULL,
++ created_from text NOT NULL,
++ changing_date timestamp,
++ changed_from text,
++ user_right text NOT NULL,
++ group_right text NOT NULL,
++ sid text NOT NULL,
++ tid text,
++ order_crit text,
++ timestampfield01 timestamp,
++ timestampfield02 timestamp,
++ intfield01 int PRIMARY KEY,
+ intfield02 int NOT NULL,
+ intfield03 int,
+@@ -1388,5 +1350,35 @@
+ timestampfield01 timestamp ,
+ timestampfield02 timestamp ,
+- intfield01 int NOT NULL,
++ intfield01 int PRIMARY KEY,
++ intfield02 int NOT NULL,
++ intfield03 int NOT NULL,
++ intfield04 int,
++ intfield05 int,
++ intfield06 int,
++ field01 text NOT NULL,
++ field02 text,
++ field03 text NOT NULL,
++ field04 text NOT NULL,
++ field05 text,
++ field06 text,
++ field07 text,
++ field08 text,
++ field09 text,
++ field10 text
++);
++
++CREATE TABLE del_documents_files (
++ creating_date timestamp NOT NULL,
++ created_from text,
++ changing_date timestamp,
++ changed_from text,
++ user_right text,
++ group_right text,
++ sid text NOT NULL,
++ tid text,
++ order_crit text,
++ timestampfield01 timestamp,
++ timestampfield02 timestamp,
++ intfield01 int PRIMARY KEY,
+ intfield02 int NOT NULL,
+ intfield03 int NOT NULL,
+@@ -1972,5 +1964,5 @@
+ CREATE TABLE sys_linkage (
+ changing_date timestamp NOT NULL,
+- luid int NOT NULL,
++ luid int PRIMARY KEY,
+ source_id int NOT NULL,
+ src_table text NOT NULL,
+@@ -1992,5 +1984,5 @@
+ CREATE TABLE del_linkage (
+ changing_date timestamp NOT NULL,
+- luid int NOT NULL,
++ luid int PRIMARY KEY,
+ source_id int NOT NULL,
+ src_table text NOT NULL,
+@@ -2046,4 +2038,10 @@
+ );
+
++CREATE TABLE oxfolder_userfolders_standardfolders (
++ owner text,
++ module text,
++ fuid int
++);
++
+ CREATE TABLE del_oxfolder_tree (
+ fuid int,
+@@ -2110,4 +2108,10 @@
+ );
+
++CREATE TABLE del_system_objects (
++ object_type int,
++ object_id text,
++ deleting_date timestamp
++);
++
+ INSERT INTO oxfolder_tree VALUES (1, 0, 'private', 'system', 'system','system', 'system', now(), 'System', null, null);
+ INSERT INTO oxfolder_tree VALUES (2, 0, 'public', 'system', 'system','system', 'system', now(), 'System', null, null);
+@@ -2127,4 +2131,5 @@
+ INSERT INTO oxfolder_permissions VALUES (select_serial_id(), 7, 512, 'all_ox_users_and_ox_groups', 0, 2, 0, 0, 0);
+ INSERT INTO oxfolder_permissions VALUES (select_serial_id(), 8, 512, 'all_ox_users_and_ox_groups', 0, 8, 4, 2, 2);
++INSERT INTO oxfolder_permissions VALUES (select_serial_id(), 9, 32768, 'mailadmin', 0, 128, 128, 128, 128);
+
+ INSERT INTO oxfolder_specialfolders VALUES ('private', 1);
diff --git a/www-apps/open-xchange/files/open-xchange-0.8.2-sieve.patch b/www-apps/open-xchange/files/open-xchange-0.8.2-sieve.patch
new file mode 100644
index 000000000000..009663ca35ab
--- /dev/null
+++ b/www-apps/open-xchange/files/open-xchange-0.8.2-sieve.patch
@@ -0,0 +1,63 @@
+--- open-xchange-0.8.2/webmail/EN/options_navi.htm 2006-05-29 15:19:40.000000000 +0200
++++ open-xchange-0.8.2.az/webmail/EN/options_navi.htm 2006-05-29 15:21:42.000000000 +0200
+@@ -49,13 +49,17 @@
+ <td><a href="**webmail**?NAS_ID=**NAS_ID**&sessionID=**NAS_ID**&SITE=signature&vkn=0&nlf=**NAS_LF**" target="options_main" onClick="selectNaviItem(2);" id="nav2">Signatures</a></td>
+ </tr>
+ <tr>
++ <td width="5"><img src="**imageLink**/arrow.png"></td>
++ <td><a href="/open-xchange/smartsieve/login.php?sessionID=**NAS_ID**" target="options_main" onClick="selectNaviItem(3);" id="nav3">Mail filter rules</a></td>
++ </tr>
++ <tr>
+ <td width="5"><img src="**imageLink**/corner.png"></td>
+ <td><a href="javascript:parent.window.close();">Close</a></td>
+ </tr>
+ </table>
+ <script language="javascript">
+ function selectNaviItem(actItem) {
+- for (var a = 0; a < 3; a++) {
++ for (var a = 0; a < 4; a++) {
+ var object = document.getElementById("nav" + a);
+ if (actItem == a) {
+ object.style.fontWeight = "bold";
+--- open-xchange-0.8.2/webmail/DE/options_navi.htm 2006-05-29 15:19:34.000000000 +0200
++++ open-xchange-0.8.2.az/webmail/DE/options_navi.htm 2006-05-29 15:21:28.000000000 +0200
+@@ -49,13 +49,17 @@
+ <td><a href="**webmail**?NAS_ID=**NAS_ID**&sessionID=**NAS_ID**&SITE=signature&vkn=0&nlf=**NAS_LF**" target="options_main" onClick="selectNaviItem(2);" id="nav2">Signaturen</a></td>
+ </tr>
+ <tr>
++ <td width="5"><img src="**imageLink**/arrow.png"></td>
++ <td><a href="/open-xchange/smartsieve/login.php?sessionID=**NAS_ID**" target="options_main" onClick="selectNaviItem(3);" id="nav3">Mail filter rules</a></td>
++ </tr>
++ <tr>
+ <td width="5"><img src="**imageLink**/corner.png"></td>
+ <td><a href="javascript:parent.window.close();">Schlie&szlig;en</a></td>
+ </tr>
+ </table>
+ <script language="javascript">
+ function selectNaviItem(actItem) {
+- for (var a = 0; a < 3; a++) {
++ for (var a = 0; a < 4; a++) {
+ var object = document.getElementById("nav" + a);
+ if (actItem == a) {
+ object.style.fontWeight = "bold";
+--- open-xchange-0.8.2/templates/webmail/html/options_navi.htm 2006-05-29 15:19:47.000000000 +0200
++++ open-xchange-0.8.2.az/templates/webmail/html/options_navi.htm 2006-05-29 15:21:11.000000000 +0200
+@@ -42,13 +42,17 @@
+ <td><a href="**webmail**?NAS_ID=**NAS_ID**&sessionID=**NAS_ID**&SITE=signature&vkn=0&nlf=**NAS_LF**" target="options_main" onClick="selectNaviItem(2);" id="nav2">[signatures]</a></td>
+ </tr>
+ <tr>
++ <td width="5"><img src="**imageLink**/arrow.png"></td>
++ <td><a href="/open-xchange/smartsieve/login.php?sessionID=**NAS_ID**" target="options_main" onClick="selectNaviItem(3);" id="nav3">Mail filter rules</a></td>
++ </tr>
++ <tr>
+ <td width="5"><img src="**imageLink**/corner.png"></td>
+ <td><a href="javascript:parent.window.close();">[close]</a></td>
+ </tr>
+ </table>
+ <script language="javascript">
+ function selectNaviItem(actItem) {
+- for (var a = 0; a < 3; a++) {
++ for (var a = 0; a < 4; a++) {
+ var object = document.getElementById("nav" + a);
+ if (actItem == a) {
+ object.style.fontWeight = "bold";
diff --git a/www-apps/open-xchange/open-xchange-0.8.2.ebuild b/www-apps/open-xchange/open-xchange-0.8.2.ebuild
new file mode 100644
index 000000000000..bb5267cd07a8
--- /dev/null
+++ b/www-apps/open-xchange/open-xchange-0.8.2.ebuild
@@ -0,0 +1,658 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/www-apps/open-xchange/open-xchange-0.8.2.ebuild,v 1.1 2006/06/05 07:08:18 eradicator Exp $
+
+inherit eutils autotools webapp ssl-cert toolchain-funcs java-pkg versionator depend.apache
+
+# Smartsieve-OX version
+SIEVE_VER="1.03"
+
+MY_PV="$(get_version_component_range 1-3)"
+MY_P="${PN}-${MY_PV}"
+DESCRIPTION="A Collaboration and Integration Server Environment"
+HOMEPAGE="http://www.open-xchange.org/"
+
+SRC_URI="http://www.mikefetherston.ca/OX/Crystal_OX_Theme.tgz
+ http://dev.gentoo.org/~azarah/OX/Crystal_OX_Theme_Webmail.tar.bz2
+ sieve? ( http://www.pro-nets.de/user/mhoffmann/smartsieve-ox-${SIEVE_VER}.tar.gz )"
+if [[ $(get_version_component_range 3) -eq 0 ]]; then
+SRC_URI="${SRC_URI} http://mirror.open-xchange.org/download/archive/${MY_P}.tar.bz2"
+else
+SRC_URI="${SRC_URI} http://mirror.open-xchange.org/download/${MY_P}.tar.bz2"
+fi
+
+LICENSE="GPL-2"
+KEYWORDS="~x86 ~amd64"
+RESTRICT="primaryuri"
+
+IUSE="ssl doc webdav mysql postgres sieve jikes"
+
+S="${WORKDIR}/${MY_P}"
+
+OX_DB="postgres"
+if use mysql && ! use postgres ; then
+ OX_DB="mysql"
+fi
+
+RDEPEND=">=virtual/jre-1.4
+ >=dev-java/java-config-1.2
+ >=www-servers/tomcat-5.0.27-r6
+ dev-perl/Net-SSLeay
+ dev-java/jdom
+ net-nds/openldap
+ app-text/aspell
+ dev-java/sun-javamail-bin
+ dev-perl/XML-NamespaceSupport
+ >=dev-perl/XML-SAX-0.11
+ dev-perl/Authen-SASL
+ dev-perl/Convert-ASN1
+ dev-perl/perl-ldap
+ mysql? ( !postgres? ( dev-java/jdbc-mysql >=dev-db/mysql-4.1 ) )
+ !mysql? ( ~dev-java/jdbc3-postgresql-7.4.5 dev-db/postgresql )
+ sieve? ( dev-lang/php dev-php/PEAR-Crypt_RC4 net-mail/vacation )
+ postgres? ( ~dev-java/jdbc3-postgresql-7.4.5 dev-db/postgresql )
+ ssl? ( dev-libs/openssl dev-perl/IO-Socket-SSL )"
+
+DEPEND="${RDEPEND}
+ app-arch/zip
+ >=virtual/jdk-1.4
+ jikes? ( dev-java/jikes )"
+
+RDEPEND="${RDEPEND}
+ www-apache/mod_jk
+ app-admin/sudo"
+
+#parameter $1 == 1 for config part or == 0 for preinst
+ox_setup() {
+ local config=$1
+ local WORKINGBASE="${IMAGE}" #is used during pkg_*
+ if [[ $config -eq 1 ]]; then
+ #executed from in pkg_config
+ WORKINGBASE="${ROOT}"
+ fi
+ # Simple defaults
+ # some have to defined global
+ OX_DBNAME=${OX_DBNAME-"open_xchange"}
+ OX_DBUSER=${OX_DBUSER-"open_xchange"}
+ OX_DBPASS=${OX_DBPASS-"secret"}
+ OX_DOMAIN=${OX_DOMAIN-"example.org"}
+ # some just needed local
+ local OX_DBHOST=${OX_DBHOST-"localhost"}
+ local OX_ORG=${OX_ORG-"My Organization"}
+ local OX_LDAPSERVER=${OX_LDAPSERVER-"localhost"}
+ local OX_BASEDN=${OX_BASEDN-"dc=example,dc=org"}
+ local OX_ROOTDN=${OX_ROOTDN-"cn=Manager,${OX_BASEDN}"}
+ local OX_ROOTPW=${OX_ROOTPW-"secret"}
+
+ # Guess base on the installed config but only if it exists
+ if [[ -e "${ROOT}/etc/open-xchange/admintools.conf" ]] ; then
+ local temp_var
+ echo "Installation of OX detected"
+
+ temp_var=$(get_oxvar DEFAULT_SQL_HOST)
+ [[ -n ${temp_var} ]] && OX_DBHOST=${temp_var}
+
+ temp_var=$(get_oxvar DEFAULT_SQL_DB)
+ [[ -n ${temp_var} ]] && OX_DBNAME=${temp_var}
+
+ temp_var=$(get_oxvar DEFAULT_SQL_USER)
+ [[ -n ${temp_var} ]] && OX_DBUSER=${temp_var}
+
+ temp_var=$(get_oxvar DEFAULT_SQL_PASS)
+ [[ -n ${temp_var} ]] && OX_DBPASS=${temp_var}
+
+ temp_var=$(get_oxvar ORGA)
+ [[ -n ${temp_var} ]] && OX_ORG=${temp_var}
+
+ temp_var=$(get_oxvar BINDDN)
+ [[ -n ${temp_var} ]] && OX_ROOTDN=${temp_var}
+
+ temp_var=$(get_oxvar BINDPW)
+ [[ -n ${temp_var} ]] && OX_ROOTPW=${temp_var}
+
+ if [[ -e "${ROOT}/etc/open-xchange/groupware/ldap.conf" ]] ; then
+ # taken from admintools.conf self
+ temp_var=`grep -v '^#' ${ROOT}/etc/open-xchange/groupware/ldap.conf | grep -i BASE | head -n 1 | awk {'print $2'}`
+ [[ -n ${temp_var} ]] && OX_BASEDN=${temp_var}
+ fi
+ fi
+
+ if [[ ${config} -eq 1 ]]; then
+ # Now asking the user
+ einfo "If values are correct just press enter else enter the new value"
+
+ OX_DBHOST=$(get_user_config "${OX_DBHOST}" "Database Host")
+ OX_DBNAME=$(get_user_config "${OX_DBNAME}" "Database Name")
+ OX_DBUSER=$(get_user_config "${OX_DBUSER}" "Database User")
+ OX_DBPASS=$(get_user_config "${OX_DBPASS}" "Database User's Password")
+ OX_ORG=$(get_user_config "${OX_ORG}" "Organization")
+ OX_DOMAIN=$(get_user_config "${OX_DOMAIN}" "Domain")
+ OX_LDAPSERVER=$(get_user_config "${OX_LDAPSERVER}" "LDAP Server")
+ OX_BASEDN=$(get_user_config "${OX_BASEDN}" "LDAP Base DN")
+ OX_ROOTDN=$(get_user_config "${OX_ROOTDN}" "LDAP Root DN")
+ OX_ROOTPW=$(get_user_config "${OX_ROOTPW}" "LDAP Root Password")
+
+ einfo "Finished - now writing config"
+ fi
+ einfo "Domain = ${OX_DOMAIN}"
+
+ ## now create configs with the right values
+ # starting with ldap
+ sed -i "s|@basedn@|${OX_BASEDN}|g" ${WORKINGBASE}/usr/share/open-xchange/init_ldap.ldif
+ sed -i "s|@domain@|${OX_DOMAIN}|g" ${WORKINGBASE}/usr/share/open-xchange/init_ldap.ldif
+ # We do not pass a domain at configure time, so @domain@ gets AC_SUBST
+ # to 'example.org' during configure ...
+ sed -i "s|example\.org|${OX_DOMAIN}|g" ${WORKINGBASE}/usr/share/open-xchange/init_ldap.ldif
+ sed -i "s|@organization@|${OX_ORG}|g" ${WORKINGBASE}/usr/share/open-xchange/init_ldap.ldif
+
+ local OX_BASEDC="`echo ${OX_BASEDN} | sed -n 's:dc=\([-A-Za-z_]*\).*:\1:p'|head -n 1`"
+ sed -i "s|@basedc@|${OX_BASEDC}|g" ${WORKINGBASE}/usr/share/open-xchange/init_ldap.ldif
+ sed -i "s|ORGA=\".*\"|ORGA=\"${OX_ORG}\"|g" ${WORKINGBASE}/etc/open-xchange/admintools.conf
+ sed -i "s|BINDDN=\".*\"|BINDDN=\"${OX_ROOTDN}\"|g" ${WORKINGBASE}/etc/open-xchange/admintools.conf
+ sed -i "s|BINDPW=\".*\"|BINDPW=\"${OX_ROOTPW}\"|g" ${WORKINGBASE}/etc/open-xchange/admintools.conf
+ sed -i "s|DEFAULT_SQL_HOST=\".*\"|DEFAULT_SQL_HOST=\"${OX_DBHOST}\"|g" ${WORKINGBASE}/etc/open-xchange/admintools.conf
+ sed -i "s|DEFAULT_SQL_DB=\".*\"|DEFAULT_SQL_DB=\"${OX_DBNAME}\"|g" ${WORKINGBASE}/etc/open-xchange/admintools.conf
+ sed -i "s|DEFAULT_SQL_USER=\".*\"|DEFAULT_SQL_USER=\"${OX_DBUSER}\"|g" ${WORKINGBASE}/etc/open-xchange/admintools.conf
+ sed -i "s|DEFAULT_SQL_PASS=\".*\"|DEFAULT_SQL_PASS=\"${OX_DBPASS}\"|g" ${WORKINGBASE}/etc/open-xchange/admintools.conf
+
+ # setup correct ACIs
+ sed -i "s|@basedn@|${OX_BASEDN}|g" ${ROOT}/etc/openldap/slapd.ox.inc
+
+ # groupware : server.conf
+ for f in /etc/open-xchange/groupware/server.conf /etc/open-xchange/webmail/server.conf ; do
+ if [[ ${OX_DB} == mysql ]]; then
+ sed -i "s|NAS_CON_CLASS_NAME: jdbc:\(.*\)://.*|NAS_CON_CLASS_NAME: jdbc:\1://${OX_DBHOST}/${OX_DBNAME}?zeroDateTimeBehavior=convertToNull|g" ${WORKINGBASE}/${f}
+ else
+ sed -i "s|NAS_CON_CLASS_NAME: jdbc:\(.*\)://.*|NAS_CON_CLASS_NAME: jdbc:\1://${OX_DBHOST}/${OX_DBNAME}|g" ${WORKINGBASE}/${f}
+ fi
+ sed -i "s|NAS_CON_USER:.*|NAS_CON_USER: ${OX_DBUSER}|g" ${WORKINGBASE}/${f}
+ sed -i "s|NAS_CON_PASS:.*|NAS_CON_PASS: ${OX_DBPASS}|g" ${WORKINGBASE}/${f}
+ sed -i "s|NAS_CON_PASS:.*|NAS_CON_PASS: ${OX_DBPASS}|g" ${WORKINGBASE}/${f}
+ done
+
+ # patching umin.war, somehow dirty
+ [[ -d "${T}/ox_war" ]] && rm -rf ${T}/ox_war
+ mkdir -p ${T}/ox_war
+
+ # configure MySQL init stuff
+ if [[ ${OX_DB} == mysql ]]; then
+ sed -i "s|@dbname@|${OX_DBNAME}|g" \
+ ${WORKINGBASE}/usr/share/open-xchange/create_mysql_database.sql
+ sed -i "s|@dbuser@|${OX_DBUSER}|g" \
+ ${WORKINGBASE}/usr/share/open-xchange/create_mysql_database.sql
+ sed -i "s|@dbpass@|${OX_DBPASS}|g" \
+ ${WORKINGBASE}/usr/share/open-xchange/create_mysql_database.sql
+ fi
+
+ echo "${WORKINGBASE}/${SERVLETDIR}"
+ unzip ${WORKINGBASE}/${SERVLETDIR}/umin.war -d ${T}/ox_war
+
+ sed -i "s|LDAP_SERVER=.*|LDAP_SERVER=${OX_LDAPSERVER}|g" ${T}/ox_war/WEB-INF/classes/oxuserminconfig.properties
+ sed -i "s|LDAP_BASEDN=.*|LDAP_BASEDN=${OX_BASEDN}|g" ${T}/ox_war/WEB-INF/classes/oxuserminconfig.properties
+ sed -i "s|SQL_SERVER_GROUPWARE=.*|SQL_SERVER_GROUPWARE=${OX_DBHOST}|g" ${T}/ox_war/WEB-INF/classes/oxuserminconfig.properties
+ sed -i "s|SQL_SERVER_GROUPWARE_DATABASE_NAME=.*|SQL_SERVER_GROUPWARE_DATABASE_NAME=${OX_DBNAME}|g" ${T}/ox_war/WEB-INF/classes/oxuserminconfig.properties
+ sed -i "s|SQL_SERVER_GROUPWARE_DATABASE_USERNAME=.*|SQL_SERVER_GROUPWARE_DATABASE_USERNAME=${OX_DBUSER}|g" ${T}/ox_war/WEB-INF/classes/oxuserminconfig.properties
+ sed -i "s|SQL_SERVER_GROUPWARE_DATABASE_PASSWORD=.*|SQL_SERVER_GROUPWARE_DATABASE_PASSWORD=${OX_DBPASS}|g" ${T}/ox_war/WEB-INF/classes/oxuserminconfig.properties
+ sed -i "s|CSS_PATH=/cfintranet/css/stylesheet.css|CSS_PATH=/open-xchange/cfintranet/css/stylesheet.css|g" ${T}/ox_war/WEB-INF/classes/oxuserminconfig.properties
+
+ cd ${T}/ox_war
+ zip -r -9 umin.war *
+ cp umin.war ${WORKINGBASE}/${SERVLETDIR}
+ cd ${WORKINGBASE}
+ rm -rf ${T}/ox_war
+}
+
+ox_setup_tomcat() {
+ TOMCAT_DIR=`java-config -g CATALINA_HOME`
+ if has_version '>=www-servers/tomcat-5.0.28-r4' ; then
+ # it is now installed to the profile-directory choosen from /etc/conf.d/tomcat-5
+ local PROFILE="$(sed -n "s:^PROFILE=\(.*\):\1:p" /etc/conf.d/tomcat-5)"
+ local CATALINA_BASE="$(sed -n "s:^CATALINA_BASE=\(.*\)/$.*:\1:p" /etc/conf.d/tomcat-5)"
+ SERVLETDIR="${CATALINA_BASE}/${PROFILE}/webapps"
+ TOMCAT_SHARED_LIB="${CATALINA_BASE}/${PROFILE}/shared/lib"
+ else
+ SERVLETDIR="${TOMCAT_DIR}/webapps"
+ TOMCAT_SHARED_LIB="${TOMCAT_DIR}/shared/lib"
+ fi
+}
+
+
+pkg_setup() {
+ webapp_pkg_setup
+ ox_setup_tomcat
+}
+
+src_unpack() {
+ unpack ${A}
+ cd ${S}
+
+ # patch RC3 for MySQL support and fix problem with tasks not showing on groupware main page
+ if [[ ${OX_DB} == mysql ]]; then
+ epatch ${FILESDIR}/open-xchange-0.8.2-mysql.patch
+ epatch ${FILESDIR}/open-xchange-0.8.2-mysql-2.patch
+ sed -i "s|int4||" templates/groupware/html/portal/portal.htm
+ sed -i "s|int4||" groupware/EN/portal/portal.htm
+ sed -i "s|int4||" groupware/DE/portal/portal.htm
+ fi
+
+ use sieve && epatch ${FILESDIR}/open-xchange-0.8.2-sieve.patch
+
+ # http://www.open-xchange.org/cgi-bin/bugzilla/show_bug.cgi?id=656
+ sed -i "s|\${DESTDIR}|\$(DESTDIR)|g" Makefile.am
+
+ #export WANT_AUTOMAKE=1.8
+ #export WANT_AUTOCONF=2.5
+ AT_M4DIR="${S}/m4" eautoreconf
+
+ # doing all preconfigure which can be done here
+ # correct ispell-handling of german dictionary
+ sed -i "s|-ddeutsch|-dgerman|g" conf/webmail/spellcheck.cfg
+
+ if use ssl; then
+ # change login.pm-script if ssl should be used
+ sed -i "s|connection_mode = 3;|connection_mode = 2;|g" src/misc/login/login.pm.in
+ fi
+
+ # change image- and link- to the open-xchange location
+ find groupware/ -regex '.*\.htm' |xargs sed -i "s|/cfintranet/|/open-xchange/cfintranet/|g"
+ find templates/ -regex '.*\.htm' |xargs sed -i "s|/cfintranet/|/open-xchange/cfintranet/|g"
+ find webmail/ -regex '.*\.htm' |xargs sed -i "s|/cfintranet/|/open-xchange/cfintranet/|g"
+
+ find templates/ -regex '.*\.lang' |xargs sed -i "s|/cfintranet/|/open-xchange/cfintranet/|g"
+
+ find system/www/ -regex '.*\.htm' |xargs sed -i "s|/cfintranet/|/open-xchange/cfintranet/|g"
+ find system/www/ -regex '.*\.js' |xargs sed -i "s|/cfintranet/|/open-xchange/cfintranet/|g"
+
+ sed -i "s|/cfintranet/|/open-xchange/cfintranet/|g" conf/groupware/system.properties.in
+ sed -i "s|/cfintranet/|/open-xchange/cfintranet/|g" conf/webmail/system.properties.in
+}
+
+src_compile() {
+ local myconf
+ local tempvar
+
+ einfo "OX_DB = \"${OX_DB}\""
+ if [[ ${OX_DB} == postgres ]]; then
+ myconf="${myconf} --with-jdbcjar=$(java-config -p jdbc3-postgresql)"
+ else
+ myconf="${myconf} --with-jdbcjar=$(java-config -p jdbc-mysql)"
+ myconf="${myconf} --with-dbdriver=com.mysql.jdbc.Driver"
+ myconf="${myconf} --with-dburl=jdbc:mysql://localhost/openxchange"
+ fi
+ myconf="${myconf} $(use_enable doc) $(use_enable webdav) $(use_enable ssl)"
+ myconf="${myconf} --with-servletdir=${SERVLETDIR}"
+ myconf="${myconf} --with-jsdkjar=${TOMCAT_DIR}/common/lib/servlet-api.jar"
+ myconf="${myconf} --with-mailjar=/usr/share/sun-javamail-bin/lib/mail.jar"
+ myconf="${myconf} --with-activationjar=/usr/share/sun-jaf-bin/lib/activation.jar"
+ myconf="${myconf} --with-jdomjar=$(java-config -p jdom-1.0)"
+ myconf="${myconf} --with-xercesjar=/usr/share/xerces-2/lib/xercesImpl.jar"
+ myconf="${myconf} --with-jni-dir=$(java-config -O)/include"
+ myconf="${myconf} --with-runuid=tomcat"
+ myconf="${myconf} --with-rungid=tomcat"
+ myconf="${myconf} --with-tomcatuser=tomcat"
+ myconf="${myconf} --with-htdocsdir=${MY_HTDOCSDIR}"
+ myconf="${myconf} --with-cgibindir=${MY_CGIBINDIR}"
+ myconf="${myconf} --sysconfdir=/etc/open-xchange"
+ myconf="${myconf} --datadir=/usr/share/open-xchange"
+ myconf="${myconf} --includedir=/usr/include/open-xchange"
+ myconf="${myconf} --libdir=/usr/$(get_libdir)/open-xchange"
+ myconf="${myconf} --localstatedir=/var/open-xchange"
+
+ econf ${myconf} || die "bad ./configure"
+
+ # replace the string "jikes" with "modern". We dont want to see all jikes warnings
+ # Note: this makes it fail over here with blackdown-jdk (ie, USE=-jikes), so
+ # not sure if its the proper thing to do .... <azarah@gentoo.org>
+ use jikes || sed -i "s|jikes|modern|g" build.xml
+
+ emake -j1 || die "make failed"
+
+ # use sudo instead of su for the startup script and
+ # correct var-log
+ for foo in groupware sessiond webmail ; do
+ sed -i "s:^\([\t ]*\)\(su \$USER.*$\):\1#\2:gI;s:^\([\t ]*\)#\(sudo -u \$USER.*\)$:\1\2:gI" system/etc/init.d/${foo}
+ sed -i "s|open-xchange/log|log/open-xchange|g" system/etc/init.d/${foo}
+ done
+
+ sed -i "s|open-xchange/log|log/open-xchange|g" conf/groupware/system.properties
+}
+
+src_install() {
+ webapp_src_preinst
+
+ dodoc AUTHORS ChangeLog INSTALL NEWS README
+
+ # Install this big thing
+ cd ${S}
+ make DESTDIR=${D} install || die "Failed on make install"
+
+ # copy the ldif.in file for better config-abilities in pkg_preinst
+ cp ${S}/system/setup/init_ldap.ldif.in ${D}/usr/share/open-xchange/init_ldap.ldif
+
+ # copy mysql install SQL scripts
+ if [[ ${OX_DB} == mysql ]]; then
+ cp ${S}/system/setup/create_mysql_database.sql.in ${D}/usr/share/open-xchange/create_mysql_database.sql
+ cp ${S}/system/setup/init_mysql_database.sql ${D}/usr/share/open-xchange/init_mysql_database.sql
+ fi
+
+ # remove obsolete log-files they should be saved in /var/log/open-xchange
+ rm ${D}/var/open-xchange/log/groupware.log
+ rm ${D}/var/open-xchange/log/jserv.log
+ rm ${D}/var/open-xchange/log/sessiond.log
+ rm ${D}/var/open-xchange/log/webmail.log
+ rmdir ${D}/var/open-xchange/log/
+
+ # create log-dir
+ keepdir /var/log/open-xchange
+
+ # remove unessary war-files, they are needed for deploying application
+ rm -f ${D}/usr/lib/open-xchange/*.war
+
+ # remove empty include-dir
+ rmdir ${D}/usr/include/open-xchange/
+ rmdir ${D}/usr/include/
+
+ # remove unneeded init-script - not used by gentoo
+ rm ${D}/etc/open-xchange/init.d/openexchange
+
+ # Init script
+ newinitd "${FILESDIR}/init.d.open-xchange" open-xchange || die "newinitd failed"
+
+ if has_version '<www-servers/tomcat-5.0.28-r4' ; then
+ dosed 's:tomcat-5:tomcat5:' /etc/init.d/open-xchange
+ fi
+
+ insinto ${SERVLETDIR}
+ doins lib/*.war
+
+ # chown of war-files or tomcat gets problems with stopping itself
+ for x in umin.war servlet.war ; do
+ fowners tomcat:tomcat ${SERVLETDIR}/${x}
+ done
+
+ # Fix wrong path's
+ dosed -e 's:/cfintranet:/open-xchange/cfintranet:g' \
+ ${MY_HTDOCSDIR}/cfintranet/webmail/css/main.css
+
+ # Change default icon theme
+ insinto ${MY_HTDOCSDIR}/cfintranet/images/top/EN/
+ insopts -m0644
+ doins ${WORKDIR}/*.png
+ insinto ${MY_HTDOCSDIR}/cfintranet/images/top/DE/
+ doins ${WORKDIR}/*.png
+
+ # Change default email icon theme
+ insinto ${MY_HTDOCSDIR}/cfintranet/webmail/images/
+ doins ${WORKDIR}/email/*.png
+
+ # Install Smartsieve-OX
+ if useq sieve ; then
+ cp -a ${WORKDIR}/smartsieve-ox-${SIEVE_VER} ${D}${MY_HTDOCSDIR}/smartsieve
+ dosed -e 's:/smartsieve:/open-xchange/smartsieve:g' \
+ ${MY_HTDOCSDIR}/smartsieve/conf/config.php
+ fi
+
+ # now mark all items with meta-info for webapp-script
+ cd ${D}${MY_HTDOCSDIR}
+ for x in $(find . -type f -print) ; do
+ webapp_serverowned ${MY_HTDOCSDIR}/$x
+ done
+
+ # Put the schema in etc and symlink. This way it's protected.
+ dodir /etc/openldap/schema
+ mv ${D}/usr/share/open-xchange/openxchange.schema ${D}/etc/openldap/schema
+ dosym ../../../etc/openldap/schema/openxchange.schema /usr/share/open-xchange/openxchange.schema
+ dosym ../../openldap/ldap.conf /etc/open-xchange/groupware/ldap.conf
+ dosym ../../openldap/ldap.conf /etc/open-xchange/webmail/ldap.conf
+
+ if use ssl ; then
+ #create symlink to ssl directory for webmail
+ dosym /etc/open-xchange/groupware/sslcerts /etc/open-xchange/webmail/sslcerts
+ #and to get the setup part working
+ dodir ${TOMCAT_SHARED_LIB}
+ dosym /usr/lib/open-xchange/liboxssl.so ${TOMCAT_SHARED_LIB}/liboxssl.so
+ fi
+
+ for x in settings/intranet settings/webmail filespool drafts webmailupload dictionary ; do
+ keepdir /var/open-xchange/${x}
+ fowners tomcat:tomcat /var/open-xchange/${x}
+ done
+
+ # Copy mod_jk file
+ insinto ${APACHE2_MODULES_CONFDIR}
+ doins ${FILESDIR}/88_mod_jk.ox.conf
+
+ # copy ldap-aci-file
+ insinto /etc/openldap/
+ doins ${FILESDIR}/slapd.ox.inc
+
+ # copy sql update file
+ insinto /usr/share/open-xchange/
+ doins ${FILESDIR}/ox_reminder.sql
+
+ # .htacces file
+ insinto ${MY_HTDOCSDIR}
+ newins ${FILESDIR}/${PN}-htaccess .htaccess
+
+ # Install webapp
+ webapp_src_install
+}
+
+pkg_preinst(){
+ #execute ox_setup from preinst(0)
+ ox_setup_tomcat
+ ox_setup 0
+
+ # create user mailadmin, needed for mailsupport
+ enewuser mailadmin -1 -1 /dev/null users
+ _UID=`getent passwd mailadmin | awk -F : '{print $3}'`
+
+ # get the default guid of the group 'users'
+ OX_STDGID=`getent group users | awk -F : '{print $3}'`
+
+ # replace the SuSE group id 500 of users with the gentoo group id of the group 'users' for the mailadmin in ldif + uid
+ sed -i "s|500|${OX_STDGID}|g" ${D}/usr/share/open-xchange/init_ldap.ldif
+ sed -i "s|501|${_UID}|g" ${D}/usr/share/open-xchange/init_ldap.ldif
+
+ # configuring admintools.conf
+
+ # replace the SuSE standard group id 500 with the gentoo group id of the group 'users'
+ sed -i "s|500|${OX_STDGID}|g" ${D}/etc/open-xchange/admintools.conf
+ OX_STDGID=`expr ${OX_STDGID} + 1`
+ sed -i "s|501|${OX_STDGID}|g" ${D}/etc/open-xchange/admintools.conf
+
+ if use ssl ; then
+ SSL_ORGANIZATION="${SSL_ORGANIZATION:-Open Xchange}"
+ insinto /etc/open-xchange/groupware/sslcerts/oxCERTS
+ docert groupware sessiond
+
+ # copying the CA-certificate
+ dodir /etc/open-xchange/groupware/sslcerts/oxCA
+ cp ${T}/*ca.crt ${D}/etc/open-xchange/groupware/sslcerts/oxCA/cacert.pem
+
+ # copying the groupware-key and -cert the way ox would like it to have
+ mv ${D}/etc/open-xchange/groupware/sslcerts/oxCERTS/groupware.key ${D}/etc/open-xchange/groupware/sslcerts/oxCERTS/groupwarekey.pem
+ mv ${D}/etc/open-xchange/groupware/sslcerts/oxCERTS/groupware.crt ${D}/etc/open-xchange/groupware/sslcerts/oxCERTS/groupwarecert.pem
+ mv ${D}/etc/open-xchange/groupware/sslcerts/oxCERTS/sessiond.key ${D}/etc/open-xchange/groupware/sslcerts/oxCERTS/sessiondkey.pem
+ mv ${D}/etc/open-xchange/groupware/sslcerts/oxCERTS/sessiond.crt ${D}/etc/open-xchange/groupware/sslcerts/oxCERTS/sessiondcert.pem
+ rm ${D}/etc/open-xchange/groupware/sslcerts/oxCERTS/sessiond.pem
+ rm ${D}/etc/open-xchange/groupware/sslcerts/oxCERTS/groupware.pem
+ rm ${D}/etc/open-xchange/groupware/sslcerts/oxCERTS/sessiond.csr
+ rm ${D}/etc/open-xchange/groupware/sslcerts/oxCERTS/groupware.csr
+
+ chown -R tomcat:apache ${D}/etc/open-xchange/groupware/sslcerts
+ find ${D}/etc/open-xchange/groupware/sslcerts -name '*.pem' -exec chmod 440 {} \;
+ fi
+}
+
+pkg_postinst() {
+ webapp_pkg_postinst
+
+ chgrp -R apache /var/open-xchange/*
+ einfo
+ einfo " You have successfully installed Open-Xchange"
+ einfo
+ einfo
+ einfo " o STARTING and STOPPING Open-Xchange"
+ einfo " /etc/init.d/open-xchange start"
+ einfo " /etc/init.d/open-xchange stop"
+ einfo " /etc/init.d/open-xchange restart"
+ einfo
+ einfo "Execute the following command"
+
+ if has_version '<=sys-apps/portage-2.0.51*' ; then
+ einfo "ebuild /var/db/pkg/${CATEGORY}/${PF}/${PF}.ebuild config"
+ else
+ einfo "emerge --config =${CATEGORY}/${PN}-${PV}"
+ fi
+
+ einfo "to setup the initial open-xchange environment."
+ einfo
+
+ ewarn "If you upgrade from a version prior 0.8.1.5 you should execute the following command:"
+ ewarn "psql -U ${OX_DBUSER} ${OX_DBNAME} < ${ROOT}usr/share/open-xchange/ox_reminder.sql"
+
+ ewarn "If you upgrade from a version prior 0.8.1.6 you should execute the following command:"
+ ewarn "psql -U ${OX_DBUSER} ${OX_DBNAME} < ${ROOT}usr/share/open-xchange/ox_project.sql"
+
+ if has_version '=net-nds/openldap-2.1*' ; then
+ ewarn "You have got OpenLDAP-2.1.* installed."
+ ewarn "Please make sure you've got enabled aci support for this package."
+ ewarn "For more information: http://gentoo-wiki.com/HOWTO_Open-Xchange#OpenLDAP"
+ ewarn
+ ewarn "If you already have this done, ignore this warning"
+ fi
+}
+
+get_oxvar() {
+ local var=$1
+ more /etc/open-xchange/admintools.conf | sed -n "s:^\s*${var}=\"\(.*\)\":\1:p" | head -n 1
+}
+
+get_user_config() {
+ local default=$1
+ local desc=$2
+ local read_val;
+
+ echo -n "${desc}? [${default}] " 1>&2
+ read readval
+ if [[ -z ${readval} ]] ; then
+ echo ${default}
+ else
+ echo ${readval}
+ fi
+}
+
+pkg_config() {
+ ox_setup_tomcat
+ #execute ox_setup from pkg_config(1)
+ ## at first automatially change config in init_ldap.ldif and configuration-files
+ ox_setup 1
+
+ chown -R tomcat:tomcat ${ROOT}/etc/open-xchange
+
+ if use ssl ; then
+ chown -R tomcat:apache ${ROOT}/etc/open-xchange ${ROOT}/etc/open-xchange/groupware/sslcerts
+ find ${ROOT}/etc/open-xchange/groupware/sslcerts -name '*.pem' -exec chmod 440 {} \;
+ fi
+
+
+
+ #set correct user rights for ldap
+ chown ldap:ldap ${ROOT}/etc/openldap/slapd.ox.inc
+
+ correctfilespool
+ echo
+ echo
+ einfo "======================"
+ einfo "Finished configuration"
+ einfo "======================"
+
+ echo
+ einfo "Set JAVA_OPTS in /etc/conf.d/tomcat5 (or tomcat-5):"
+ einfo "JAVA_OPTS=\"-Dopenexchange.propfile=${ROOT}etc/open-xchange/groupware/system.properties\""
+ if use ssl ; then
+ einfo "CATALINA_OPTS=\"\${CATALINA_OPTS} -Djava.library.path=${TOMCAT_SHARED_LIB}\""
+ fi
+
+ echo
+ einfo "Setup /etc/conf.d/apache2"
+ einfo "APACHE2_OPTS=\"-D JK\""
+
+ if [[ ${OX_DB} == postgres ]]; then
+ echo
+ einfo "Setup /etc/conf.d/postgresql"
+ einfo "PGOPTS=\"-i\""
+ fi
+
+ # Tell the user how to propegate ldap and the db
+ ## create ox-dbuser
+ echo
+ if [[ ${OX_DB} == postgres ]]; then
+ einfo "HOWTO: Setup PostgreSQL database (following commands)"
+ einfo "++++++++++++++++++++++++++++++++++++++++++"
+
+ einfo "echo \"CREATE USER ${OX_DBUSER} WITH PASSWORD '${OX_DBPASS}' CREATEDB NOCREATEUSER\" | psql -h localhost -U postgres template1 -f -"
+ einfo "echo \"CREATE DATABASE ${OX_DBNAME} WITH OWNER=${OX_DBUSER} ENCODING='UNICODE'\" | psql -h localhost -U postgres template1 -f -"
+ einfo "psql -U ${OX_DBUSER} ${OX_DBNAME} < ${ROOT}usr/share/open-xchange/init_database.sql"
+ einfo "/usr/sbin/dbinit_ox"
+ else
+ einfo "HOWTO: Setup MySQL database (following commands)"
+ einfo "++++++++++++++++++++++++++++++++++++++++++"
+
+ einfo "mysql < /usr/share/open-xchange/create_mysql_database.sql"
+ einfo "mysql -u ${OX_DBUSER} --password=${OX_DBPASS} ${OX_DBNAME} < /usr/share/open-xchange/init_mysql_database.sql"
+ einfo "/usr/sbin/dbinit_ox"
+ fi
+ ## initialise database with ox, after configurations have been changed
+ echo
+ echo
+ einfo "HOWTO: Setup OpenLDAP"
+ ewarn "Please make sure to STOP slapd to maintain database consistency (from slapadd(8c))!!!"
+ einfo "+++++++++++++++++++++++++++++++++"
+ einfo "/etc/init.d/slapd stop"
+ einfo
+ einfo "Add this to /etc/openldap/slapd.conf:"
+ einfo "include /etc/openldap/schema/cosine.schema"
+ einfo "include /etc/openldap/schema/inetorgperson.schema"
+ einfo "include /etc/openldap/schema/misc.schema"
+ einfo "include /etc/openldap/schema/nis.schema"
+ einfo "include /etc/openldap/schema/openldap.schema"
+ einfo "include /etc/openldap/schema/openxchange.schema"
+ einfo
+ einfo "If you want an initial set of access rights (enables your user, editing their password, ...)"
+ einfo "you should also add the following line:"
+ einfo "include /etc/openldap/slapd.ox.inc"
+ einfo
+ einfo "slapadd -l /usr/share/open-xchange/init_ldap.ldif"
+ einfo
+ einfo "/etc/init.d/slapd start"
+
+ echo
+ echo
+ einfo "HOWTO: Add a group"
+ einfo "++++++++++++++++++"
+ einfo "This is suggested for correct webdav-access"
+ einfo "/usr/sbin/addgroup_ox --group=NEWGROUPNAME"
+
+ echo
+ echo
+ einfo "HOWTO: Add a user"
+ einfo "+++++++++++++++++"
+ einfo "/usr/sbin/adduser_ox --username=MYUSERNAME --passwd=MYPASSWORD --name=FORENAME --sname=SURENAME --maildomain=${OX_DOMAIN} --ox_timezone=\"Europe/Berlin\""
+ einfo "Now you can add the user to a group."
+ einfo "/usr/sbin/addusertogroup_ox --user=MYUSERNAME --group=NEWGROUPNAME"
+ echo
+ einfo "If you encounter any problems with this commands probably your ldap or database configuration is not correct"
+ echo
+ echo
+ einfo "Web Access:"
+ einfo "To access open-xchange via the web, point your browser to: http://localhost/cgi-bin/login.pl"
+
+ if use sieve ; then
+ echo
+ einfo "Smartsieve-OX:"
+ einfo "For this to work, php needs to be built with: USE=\"imap\""
+ fi
+}
+