diff options
author | 2007-07-22 13:53:15 +0000 | |
---|---|---|
committer | 2007-07-22 13:53:15 +0000 | |
commit | c2c5dc4a85f4eecfd7f5e8086837bd7997cbe721 (patch) | |
tree | d2611a523d79871d24f0d4b3990fee9895674e78 | |
parent | Ugly ebuilds for kvm but they suit my needs for now. :-) (diff) | |
download | philantrop-c2c5dc4a85f4eecfd7f5e8086837bd7997cbe721.tar.gz philantrop-c2c5dc4a85f4eecfd7f5e8086837bd7997cbe721.tar.bz2 philantrop-c2c5dc4a85f4eecfd7f5e8086837bd7997cbe721.zip |
Some random ebuild stuff.
svn path=/trunk/; revision=16
48 files changed, 4761 insertions, 0 deletions
diff --git a/games-simulation/realtimebattle/Manifest b/games-simulation/realtimebattle/Manifest new file mode 100755 index 0000000..47ca616 --- /dev/null +++ b/games-simulation/realtimebattle/Manifest @@ -0,0 +1,8 @@ +DIST RealTimeBattle-1.0.8-Ext.tar.gz 1287456 RMD160 76960fa356245ae484a07dcd49515f22cf85d94f SHA1 1b4cc67766d26b5d9a23e880d4ca01587ac4e1f4 SHA256 11a29720af3e7173f1afcc6b85b83a33015bdeadc3528874a504975024d86aaa +EBUILD realtimebattle-1.0.8.ebuild 1145 RMD160 0c47d59beee1f0a2e6d914282904b0d53a81dc61 SHA1 e2b4ed0f182f8052547c173cda39a1064aaf0fed SHA256 d4f10d0929434cc756a0e625ed5294d38d159762fb72eac8d2341ae388d9ba3f +MD5 63a0222d646e089d45aad7bb6e7767dd realtimebattle-1.0.8.ebuild 1145 +RMD160 0c47d59beee1f0a2e6d914282904b0d53a81dc61 realtimebattle-1.0.8.ebuild 1145 +SHA256 d4f10d0929434cc756a0e625ed5294d38d159762fb72eac8d2341ae388d9ba3f realtimebattle-1.0.8.ebuild 1145 +MD5 0abf97ae00025e2bcf6e9597fe550e82 files/digest-realtimebattle-1.0.8 277 +RMD160 82f45bdcfbb554ae3316356356d7a86fa529418f files/digest-realtimebattle-1.0.8 277 +SHA256 87d2a0676e7e32cfe8fd8354fd423b537cdb3c5dba9ac3d7138e8fbf4492c78b files/digest-realtimebattle-1.0.8 277 diff --git a/games-simulation/realtimebattle/files/digest-realtimebattle-1.0.8 b/games-simulation/realtimebattle/files/digest-realtimebattle-1.0.8 new file mode 100755 index 0000000..66c4c09 --- /dev/null +++ b/games-simulation/realtimebattle/files/digest-realtimebattle-1.0.8 @@ -0,0 +1,3 @@ +MD5 7f044f55e443f305e5c4c6c52a72c6e9 RealTimeBattle-1.0.8-Ext.tar.gz 1287456 +RMD160 76960fa356245ae484a07dcd49515f22cf85d94f RealTimeBattle-1.0.8-Ext.tar.gz 1287456 +SHA256 11a29720af3e7173f1afcc6b85b83a33015bdeadc3528874a504975024d86aaa RealTimeBattle-1.0.8-Ext.tar.gz 1287456 diff --git a/games-simulation/realtimebattle/realtimebattle-1.0.8.ebuild b/games-simulation/realtimebattle/realtimebattle-1.0.8.ebuild new file mode 100755 index 0000000..c00f9d5 --- /dev/null +++ b/games-simulation/realtimebattle/realtimebattle-1.0.8.ebuild @@ -0,0 +1,45 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit eutils + +MY_P1E="RealTimeBattle-${PV}-Ext" + +DESCRIPTION="A programming game in which robots controlled by programs fight each other." +HOMEPAGE="http://realtimebattle.sourceforge.net/" +SRC_URI="mirror://sourceforge/${PN}/${MY_P1E}.tar.gz" + +LICENSE="GPL-2" +KEYWORDS="x86" +IUSE="perl nls java debug doc" + +DEPEND=">=x11-libs/gtk+-2.0.3 + perl? ( >=dev-lang/perl-5.6.1 ) + nls? ( sys-devel/gettext ) + java? ( virtual/jre )" +RDEPEND="${DEPEND}" + +src_unpack() { + unpack ${A} + MY_P="${MY_P1E}" + #S="${WORKDIR}/${MY_P}" it does not run :( + cd ${WORKDIR} && + mv ${MY_P} ${P} +} + +src_compile() { + use nls || myconf="--disable-nls" + econf $(use_enable debug) ${myconf} || die "Configure failed" + emake || die "Compile failed" +} + +src_install(){ + make DESTDIR="${D}" install || die "Install failed" + mkdir -p ${D}/usr/share/games ${D}/usr/games/bin + mv ${D}/usr/bin/* ${D}/usr/games/bin/ + use doc || rm -Rf ${D}/usr/games/RealTimeBattle/Documentation + mv ${D}/usr/games/RealTimeBattle ${D}/usr/share/games/ + rm -R ${D}/usr/bin +} + diff --git a/media-gfx/gift/Manifest b/media-gfx/gift/Manifest new file mode 100644 index 0000000..8267917 --- /dev/null +++ b/media-gfx/gift/Manifest @@ -0,0 +1,32 @@ +AUX gift-0.1.14-extra_qualif.patch 19935 RMD160 73fc7b93da757c8eb0f83b073124d66e2a961e1e SHA1 2d1bf1db502319d8afe4d8f491df8476e2d41ffd SHA256 6e532ddeb3a13bfa35248305e1f16d5a45a88e01bb3afa418de4017d7a129bda +MD5 b36a63947600425666da712cea9bf09a files/gift-0.1.14-extra_qualif.patch 19935 +RMD160 73fc7b93da757c8eb0f83b073124d66e2a961e1e files/gift-0.1.14-extra_qualif.patch 19935 +SHA256 6e532ddeb3a13bfa35248305e1f16d5a45a88e01bb3afa418de4017d7a129bda files/gift-0.1.14-extra_qualif.patch 19935 +AUX gift-0.1.14-noDoc.patch 421 RMD160 9e8ecd717dc6009d1b58cfcec0f93210528da5ac SHA1 1ec9455b7bfa2f04bb45cc44006db14c29b301b8 SHA256 29416b0f386094b7fa428f3d4c03e069c9e1a57816288d8cf0551578a9dfde13 +MD5 9c4472bf47cc0daf89a040d966c25660 files/gift-0.1.14-noDoc.patch 421 +RMD160 9e8ecd717dc6009d1b58cfcec0f93210528da5ac files/gift-0.1.14-noDoc.patch 421 +SHA256 29416b0f386094b7fa428f3d4c03e069c9e1a57816288d8cf0551578a9dfde13 files/gift-0.1.14-noDoc.patch 421 +AUX gift-0.1.14-patch-tid.patch 2080 RMD160 479fc5920dffa726e120aa836b6fad05346931ed SHA1 ec632f6f19ce2b0fc816e6ec7efae1ab1be69d15 SHA256 077f1953e10ee451aa4781cd6df4840b57396a8a842e5f9c00e354dfd2437174 +MD5 2210f3d39978d05aa3aaa66ea5855c48 files/gift-0.1.14-patch-tid.patch 2080 +RMD160 479fc5920dffa726e120aa836b6fad05346931ed files/gift-0.1.14-patch-tid.patch 2080 +SHA256 077f1953e10ee451aa4781cd6df4840b57396a8a842e5f9c00e354dfd2437174 files/gift-0.1.14-patch-tid.patch 2080 +AUX gift-0.1.14-ps_params.patch 354 RMD160 3b6f3794a52c23ff62ebdacb62623ae3443b063f SHA1 046abded4dfc2b78b89483d3b5a10fca2164984c SHA256 256c409430453de0d0bd96b37c651d3787c574a89051dedcfaface192ac474aa +MD5 0bf1285d1fa049d27d8f38a459f6ef5c files/gift-0.1.14-ps_params.patch 354 +RMD160 3b6f3794a52c23ff62ebdacb62623ae3443b063f files/gift-0.1.14-ps_params.patch 354 +SHA256 256c409430453de0d0bd96b37c651d3787c574a89051dedcfaface192ac474aa files/gift-0.1.14-ps_params.patch 354 +AUX gift.confd 109 RMD160 b9e43d6f22e3f633ee4c0b86fb4bc625aec38d67 SHA1 7204897edab0e4448b593d985572685d5342ef27 SHA256 20405bd1b1c462969c2fe0fb1f7ca75900391eae1dc7d04e2c379db308600699 +MD5 3d388561fbc512cd9e224f847f2f262a files/gift.confd 109 +RMD160 b9e43d6f22e3f633ee4c0b86fb4bc625aec38d67 files/gift.confd 109 +SHA256 20405bd1b1c462969c2fe0fb1f7ca75900391eae1dc7d04e2c379db308600699 files/gift.confd 109 +AUX gift.initd 566 RMD160 880180bc482883eab30d869cb55e246eec19b893 SHA1 51390dee015a254b3dc6c16d82f7b603db98ee6d SHA256 c978d2142cbc2073521b43b73c0a773b3c7e3925be1ebb4c0b41c3d30188c1f9 +MD5 32638ba8e58c5021fe1e2533c1d3ac6c files/gift.initd 566 +RMD160 880180bc482883eab30d869cb55e246eec19b893 files/gift.initd 566 +SHA256 c978d2142cbc2073521b43b73c0a773b3c7e3925be1ebb4c0b41c3d30188c1f9 files/gift.initd 566 +DIST gift-0.1.15b.tar.gz 802968 RMD160 282b3e4d7961ef4c5f1d6c14d080246f2a0d8251 SHA1 d2d05ba3a68a3a8956df61c7b4694354226994c8 SHA256 fdbcd212b69d146287572bac47ae33aeb30e612af4cf4133ac24aaaaabeb698f +EBUILD gift-0.1.15b.ebuild 1306 RMD160 6f0ffa84ecbb1777f034ffab66a53672a7d7c915 SHA1 61d7310308599e3055ebffe7abe43353b4ada653 SHA256 85f920a00010025bdfc10cfa8716af23fc2645bb492871dd7dc978de495b45ab +MD5 ebac6ce48e7a0636653c8fa6032ddf6b gift-0.1.15b.ebuild 1306 +RMD160 6f0ffa84ecbb1777f034ffab66a53672a7d7c915 gift-0.1.15b.ebuild 1306 +SHA256 85f920a00010025bdfc10cfa8716af23fc2645bb492871dd7dc978de495b45ab gift-0.1.15b.ebuild 1306 +MD5 b30b657c2263fe8299e1f537d5af86f9 files/digest-gift-0.1.15b 238 +RMD160 49ae7dfdff717a9f200cf4b4dc90f6011784643e files/digest-gift-0.1.15b 238 +SHA256 ea5fb107faec0f0400b90ebd50364c1582e7a28835d8e27c3904eb716713758c files/digest-gift-0.1.15b 238 diff --git a/media-gfx/gift/files/digest-gift-0.1.15b b/media-gfx/gift/files/digest-gift-0.1.15b new file mode 100644 index 0000000..9f9ba9e --- /dev/null +++ b/media-gfx/gift/files/digest-gift-0.1.15b @@ -0,0 +1,3 @@ +MD5 8423354877e0bdb373276c177e0cb127 gift-0.1.15b.tar.gz 802968 +RMD160 282b3e4d7961ef4c5f1d6c14d080246f2a0d8251 gift-0.1.15b.tar.gz 802968 +SHA256 fdbcd212b69d146287572bac47ae33aeb30e612af4cf4133ac24aaaaabeb698f gift-0.1.15b.tar.gz 802968 diff --git a/media-gfx/gift/files/gift-0.1.14-extra_qualif.patch b/media-gfx/gift/files/gift-0.1.14-extra_qualif.patch new file mode 100644 index 0000000..329a276 --- /dev/null +++ b/media-gfx/gift/files/gift-0.1.14-extra_qualif.patch @@ -0,0 +1,633 @@ +diff -Nur gift-0.1.14.orig/libMRML/include/CAttributeList.h gift-0.1.14/libMRML/include/CAttributeList.h +--- gift-0.1.14.orig/libMRML/include/CAttributeList.h 2005-03-24 10:18:16.000000000 +0100 ++++ gift-0.1.14/libMRML/include/CAttributeList.h 2007-05-13 09:31:05.000000000 +0200 +@@ -79,7 +79,7 @@ + virtual pair<bool,string> stringReadAttribute(const string& inAttribute)const; + /** Outputting a string to XML + */ +- void CAttributeList::toXML(string& outString)const; ++ void toXML(string& outString)const; + /** the destructor + in the case of char* as content it deletes the arrays of char. + */ +diff -Nur gift-0.1.14.orig/libMRML/include/CAccessorAdmin.h gift-0.1.14/libMRML/include/CAccessorAdmin.h +--- gift-0.1.14.orig/libMRML/include/CAccessorAdmin.h 2005-03-24 10:18:16.000000000 +0100 ++++ gift-0.1.14/libMRML/include/CAccessorAdmin.h 2007-05-13 10:28:58.000000000 +0200 +@@ -111,11 +111,11 @@ + /** destructor */ + ~CAccessorAdmin(); + /** */ +- string CAccessorAdmin::getAlgorithmIDListID()const; ++ string getAlgorithmIDListID()const; + /** */ +- string CAccessorAdmin::getName()const; ++ string getName()const; + /** */ +- string CAccessorAdmin::getID()const; ++ string getID()const; + + /** for sorting */ + friend class CSortByName_pAP; +diff -Nur gift-0.1.14.orig/libMRML/include/CI18nTranslator.h gift-0.1.14/libMRML/include/CI18nTranslator.h +--- gift-0.1.14.orig/libMRML/include/CI18nTranslator.h 2005-03-24 10:18:16.000000000 +0100 ++++ gift-0.1.14/libMRML/include/CI18nTranslator.h 2007-05-13 10:33:58.000000000 +0200 +@@ -98,11 +98,11 @@ + void translateXMLTree(string inLanguageCode, + CXMLElement& inoutToBeTranslated)const; + /** for parsing the config file */ +- static void CI18nTranslator::startXMLElement(void *inUserData, ++ static void startXMLElement(void *inUserData, + const char *inElementName, + const char **inAttributes); + /** for parsing the config file */ +- static void CI18nTranslator::endXMLElement(void *inUserData, ++ static void endXMLElement(void *inUserData, + const char *inElementName); + }; + #endif +diff -Nur gift-0.1.14.orig/libMRML/include/CSessionManager.h gift-0.1.14/libMRML/include/CSessionManager.h +--- gift-0.1.14.orig/libMRML/include/CSessionManager.h 2005-03-24 10:18:16.000000000 +0100 ++++ gift-0.1.14/libMRML/include/CSessionManager.h 2007-05-13 10:34:50.000000000 +0200 +@@ -172,18 +172,18 @@ + bool rename(const string& inName); + /** the list of preferred languages of this + is cleared */ +- void CSession::clearLanguages(); ++ void clearLanguages(); + /** one language code is added at the back of the list + of preferred languages */ +- void CSession::addLanguage(string inLanguageCode); ++ void addLanguage(string inLanguageCode); + /** commit the list of languages. That means, here the + actual language that will be used throughout the + translation is determined */ +- void CSession::commitLanguages(const CI18nTranslator& inTranslator); ++ void commitLanguages(const CI18nTranslator& inTranslator); + /** get the preferred languages of this session */ + list<string> CSession::getLanguages()const; + /** get the preferred languages of this session */ +- string CSession::getPreferredLanguage()const; ++ string getPreferredLanguage()const; + + //-------------------------------------------------- + /** generating XML output for configuration/shandshake */ +@@ -420,7 +420,7 @@ + /** i18n: get the list of preferred languages of this session */ + list<string> getSessionLanguages(const string& inSessionID)const; + /** i18n: get the list of preferred languages of this session */ +- void CSessionManager::translate(string inSessionID, ++ void translate(string inSessionID, + CXMLElement& inoutToBeTranslated)const; + }; + +diff -Nur gift-0.1.14.orig/libMRML/include/CSessionManager.h gift-0.1.14/libMRML/include/CSessionManager.h +--- gift-0.1.14.orig/libMRML/include/CSessionManager.h 2007-05-13 10:35:39.000000000 +0200 ++++ gift-0.1.14/libMRML/include/CSessionManager.h 2007-05-13 11:21:01.000000000 +0200 +@@ -181,7 +181,7 @@ + translation is determined */ + void commitLanguages(const CI18nTranslator& inTranslator); + /** get the preferred languages of this session */ +- list<string> CSession::getLanguages()const; ++ list<string> getLanguages()const; + /** get the preferred languages of this session */ + string getPreferredLanguage()const; + +diff -Nur gift-0.1.14.orig/libMRML/cc/CAttributeList.cc gift-0.1.14/libMRML/cc/CAttributeList.cc +--- gift-0.1.14.orig/libMRML/cc/CAttributeList.cc 2005-03-24 10:18:15.000000000 +0100 ++++ gift-0.1.14/libMRML/cc/CAttributeList.cc 2007-05-13 11:30:47.000000000 +0200 +@@ -94,7 +94,7 @@ + + if(strcmp(i->second.first, + i->second.second)){ +- cout << "DELETING FAILED" << flush << int(i->second.second) << flush << i->second.first << i->second.second << endl; ++ cout << "DELETING FAILED" << flush << i->second.second << flush << i->second.first << i->second.second << endl; + assert(0); + } + delete[] i->second.first; +diff -Nur gift-0.1.14.orig/libMRML/cc/CAttributeList.cc~ gift-0.1.14/libMRML/cc/CAttributeList.cc~ +--- gift-0.1.14.orig/libMRML/cc/CAttributeList.cc~ 1970-01-01 01:00:00.000000000 +0100 ++++ gift-0.1.14/libMRML/cc/CAttributeList.cc~ 2005-03-24 10:18:15.000000000 +0100 +@@ -0,0 +1,418 @@ ++// -*- mode: c++ -*- ++/* ++ ++ GIFT, a flexible content based image retrieval system. ++ Copyright (C) 1998, 1999, 2000, 2001, 2002, CUI University of Geneva ++ ++ Copyright (C) 2003, 2004 Bayreuth University ++ 2005 Bamberg University ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 2 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with this program; if not, write to the Free Software ++ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++ ++*/ ++#include "libMRML/include/CAttributeList.h" ++#include "string.h" ++#include <cstdio> ++#include "libMRML/include/CMutex.h" ++#include <iostream> ++#include <algorithm> ++extern CMutex* gMutex; ++ ++CAttributeList::CAttributeList(const char * const * const inAttributeList){ ++ clear(); ++ if(inAttributeList){ ++ const char*const* lAttributes(inAttributeList); ++ while(lAttributes[0] && strlen(lAttributes[0])){ ++ if(strlen(lAttributes[0])>200){ ++ cerr << __FILE__ << ":" ++ << __LINE__ << ":" << flush ++ << "lAttributes[0] too long:[" << endl ++ << lAttributes[0] ++ << "]ENDOF STRING" ++ << endl; ++ };//for debugging purposes DEBUG ++ if(strlen(lAttributes[1])>200){ ++ cerr << __FILE__ << ":" ++ << __LINE__ << ":" << flush ++ << "lAttributes[1] too long:[" << endl ++ << lAttributes[1] ++ << "]ENDOF STRING" ++ << endl; ++ };//for debugging purposes DEBUG ++#ifndef _IS_SEQUENCE_AL ++ gMutex->lock(); ++ if(lAttributes[1]){ ++ // cout << "[L" << strlen(lAttributes[1]) << "L]" << flush; ++ if(strlen(lAttributes[1])){ ++ ++ int lLen(strlen(lAttributes[1])+1); ++ char* lBuffer(new char[lLen]); ++ strcpy(lBuffer,lAttributes[1]); ++ char* lBuffer2(new char[lLen]); ++ strcpy(lBuffer2,lAttributes[1]); ++ ++ insert(make_pair(lAttributes[0], ++ make_pair(lBuffer,lBuffer2))); ++ ++ //cout << "[" << lBuffer << "]" << flush; ++ assert(strlen(operator[](lAttributes[0]).second)==lLen-1); ++ assert(strlen(operator[](lAttributes[0]).first)==lLen-1); ++ }else{ ++ char* lBuffer(new char[1]); ++ lBuffer[0]=char(0); ++ char* lBuffer2(new char[1]); ++ lBuffer2[0]=char(0); ++ insert(make_pair(string(lAttributes[0]), ++ make_pair(lBuffer,lBuffer2))); ++ } ++ } ++ gMutex->unlock(); ++#else ++ push_back(make_pair(string(lAttributes[0]), ++ string((lAttributes[1] && strlen(lAttributes[1]))?lAttributes[1]:""))); ++#endif ++ lAttributes+=2; ++ } ++ } ++} ++CAttributeList::~CAttributeList(){ ++ //checkNPrint(); ++ for(iterator i=begin(); ++ i!=end(); ++ i++){ ++ ++ if(strcmp(i->second.first, ++ i->second.second)){ ++ cout << "DELETING FAILED" << flush << int(i->second.second) << flush << i->second.first << i->second.second << endl; ++ assert(0); ++ } ++ delete[] i->second.first; ++ delete[] i->second.second; ++ } ++} ++ ++CAttributeList::CAttributeList(const list<pair <string,string> >& inAttributes){ ++ gMutex->lock(); ++ ++ clear(); ++ for(list<pair <string,string> >::const_iterator i=inAttributes.begin(); ++ i!=inAttributes.end(); ++ i++){ ++ if(i->second.size()>200){ ++ cerr << __FILE__ << ":" ++ << __LINE__ << ":" << flush ++ << "i->second too long:[" << endl ++ << i->second ++ << "]ENDOF STRING" ++ << endl; ++ } ++#ifndef _IS_SEQUENCE_AL ++ int lLen(i->second.size()+1); ++ char* lBuffer(new char[lLen]); ++ strcpy(lBuffer,i->second.c_str()); ++ char* lBuffer2(new char[lLen]); ++ strcpy(lBuffer2,i->second.c_str()); ++ insert(make_pair(i->first, ++ make_pair(lBuffer, ++ lBuffer2))); ++ ++ // insert(*i); if the representation is map<string,string> ++#else ++ push_back(*i); ++#endif ++ } ++ gMutex->unlock(); ++} ++CAttributeList::CAttributeList(const CAttributeList& inAttributes){ ++ gMutex->lock(); ++ clear(); ++ for(CAttributeList::const_iterator i=inAttributes.begin(); ++ i!=inAttributes.end(); ++ i++){ ++#ifndef _IS_SEQUENCE_AL ++ if(strcmp(i->second.first, ++ i->second.second)){ ++ if(strcmp(i->second.first, ++ i->second.second)){ ++ cout << "ASSERTION FAILED" << i->second.first << "/" << i->second.second << endl; ++ assert(0); ++ } ++ } ++ assert(!strcmp(i->second.first, ++ i->second.second)); ++ int lLen(strlen(i->second.first)+1); ++ char* lBuffer(new char[lLen]); ++ strcpy(lBuffer,i->second.first); ++ int lLen2(strlen(i->second.second)+1); ++ char* lBuffer2(new char[lLen2]); ++ strcpy(lBuffer2,i->second.second); ++ ++ insert(make_pair(i->first,make_pair(lBuffer,lBuffer2))); ++#else ++ push_back(*i); ++#endif ++ } ++ gMutex->unlock(); ++} ++CAttributeList::const_iterator CAttributeList::find(string inString)const{ ++ //check(); ++ ++#ifdef _PRINTOUTS_AL ++ cout << endl ++ << "CAttributeList::find(" ++ << flush; ++ cout << inString ++ << ") size " << flush; ++ cout << size() ++ << " " ++ << inString.size() ++ << endl; ++#endif ++ ++#ifndef _CAL_FIND_WORKAROUND ++ return CAttributeList::CBase::find(inString); ++#else ++ for(const_iterator i=begin(); ++ i!=end(); ++ i++){ ++#ifdef _PRINTOUTS_AL ++ cout << "~" << flush; ++ cout << "[" << flush; ++ cout << i->first <<flush; ++ cout << "," << flush; ++ cout << i->second << flush; ++ cout << "]" << flush; ++#endif ++ ++ if(i->first==inString){ ++#ifdef _PRINTOUTS_AL ++ cout << "+" << flush; ++#endif ++ return i; ++ } ++#ifdef _PRINTOUTS_AL ++ cout << "." << flush; ++#endif ++ } ++ cout << "-" << flush; ++ return end(); ++#endif ++} ++void CAttributeList::add(const string& inFirst, ++ const string& inSecond){ ++ gMutex->lock(); ++ ++ ++#ifdef _PRINTOUTS_AL ++ checkNPrint(); ++ cout << "Adding to CAttributeList " ++ << inFirst ++ << " " ++ << inSecond ++ << endl; ++#endif ++ ++#ifndef _IS_SEQUENCE_AL ++ char* lBuffer=new char[inSecond.size()+1]; ++ lBuffer[inSecond.size()]=char(0); ++ strncpy(lBuffer,inSecond.c_str(),inSecond.size()); ++ char* lBuffer1=new char[inSecond.size()+1]; ++ lBuffer1[inSecond.size()]=char(0); ++ strncpy(lBuffer1,inSecond.c_str(),inSecond.size()); ++ ++ operator[](inFirst)=make_pair(lBuffer,lBuffer1); ++ // (*this).insert(make_pair(inFirst,inSecond)); ++#else ++ (*this).push_back(make_pair(inFirst,inSecond)); ++#endif ++ gMutex->unlock(); ++} ++/** adding an attribute for integers */ ++void CAttributeList::add(const string& inAttribute,long inValue){ ++ char lBuffer[20]; ++ for(int i=0; ++ i<20; ++ i++){ ++ lBuffer[i]=0; ++ } ++ sprintf(lBuffer, ++ "%ld", ++ inValue); ++ add(inAttribute, ++ lBuffer); ++}; ++/** adding an attribute for doubles */ ++void CAttributeList::add(const string& inAttribute,double inValue){ ++ char lBuffer[20]; ++ ++ for(int i=0; ++ i<20; ++ i++){ ++ lBuffer[i]=0; ++ } ++ sprintf(lBuffer, ++ "%lf", ++ inValue); ++ add(inAttribute, ++ lBuffer); ++}; ++ ++/** reading an attribute for integers */ ++pair<bool,bool> CAttributeList::boolReadAttribute(const string& inAttribute)const{ ++ pair<bool,string> lReadAttribute=stringReadAttribute(inAttribute); ++ ++ if(!lReadAttribute.first){ ++ return make_pair(bool(0),bool(0)); ++ }else{ ++ char* lLastCorrectCharacter=0; ++ ++ bool lReturnValue=((lReadAttribute.second=="yes") ++ || ++ (lReadAttribute.second=="y") ++ || ++ (lReadAttribute.second=="true") ++ || ++ (lReadAttribute.second=="t")); ++ return make_pair(lReadAttribute.first, ++ lReturnValue); ++ } ++}; ++/** reading an attribute for integers */ ++pair<bool,long> CAttributeList::longReadAttribute(const string& inAttribute)const{ ++ pair<bool,string> lReadAttribute=stringReadAttribute(inAttribute); ++ ++ if(!lReadAttribute.first){ ++ return make_pair(bool(0),long(0)); ++ }else{ ++ char* lLastCorrectCharacter=0; ++ ++ long lReturnValue=strtol(lReadAttribute.second.c_str(), ++ &lLastCorrectCharacter, ++ 10); ++ bool lIsValid=!(*lLastCorrectCharacter); ++ ++ return make_pair(lIsValid, ++ lReturnValue); ++ } ++}; ++/** reading an attribute for doubles */ ++pair<bool,double> CAttributeList::doubleReadAttribute(const string& inAttribute)const{ ++#ifdef __D_CATTRIBUTELIST__DOUBLEREADATTRIBUTE__ ++ cout << "In doubleReadAttribute " ++ << flush ++ << endl; ++#endif ++ ++ pair<bool,string> lReadAttribute=stringReadAttribute(inAttribute); ++ ++#ifdef __D_CATTRIBUTELIST__DOUBLEREADATTRIBUTE__ ++ cout << "AGAIN In doubleReadAttribute " ++ << flush ++ << endl; ++#endif ++ ++ if(!lReadAttribute.first){ ++ return make_pair(bool(0), ++ double(0)); ++ }else{ ++ char* lLastCorrectCharacter=0; ++ ++ double lReturnValue=strtod(lReadAttribute.second.c_str(), ++ &lLastCorrectCharacter); ++ bool lIsValid=!(*lLastCorrectCharacter); ++ ++ return make_pair(lIsValid, ++ lReturnValue); ++ } ++}; ++/** reading an attribute for strings */ ++pair<bool,string> CAttributeList::stringReadAttribute(const string& inAttribute)const{ ++ ++ //check, if the magic number is correct at this time ++ ++#ifdef _PRINTOUTS_AL ++ checkNPrint(); ++ cout << inAttribute ++ << endl ++ << flush; ++#endif ++ ++#ifdef _PRINTOUTS_AL ++ find(inAttribute); ++ cout << "came back from find()" << flush; ++#endif ++ ++ CAttributeList::const_iterator lFoundPosition(find(inAttribute)); ++ ++#ifdef _PRINTOUTS_AL ++ cout << "came back 2nd time from mAttributes.find()" << flush; ++#endif ++ ++ if(lFoundPosition != end()){ ++ assert(!strcmp(lFoundPosition->second.first, ++ lFoundPosition->second.second)); ++ ++ string lFoundString(lFoundPosition->second.first); ++ ++ pair<bool,string> lReturnValue=make_pair(bool(1), ++ lFoundString); ++ return lReturnValue; ++ } ++ return make_pair(bool(0), ++ string("")); ++}; ++/** reading an attribute for strings */ ++void CAttributeList::toXML(string& outString)const{ ++ outString += " "; ++ for(const_iterator i=begin(); ++ i!=end(); ++ i++){ ++ outString += i->first + "=\"" + i->second.first + "\" "; ++ assert(!strcmp(i->second.second, ++ i->second.first)); ++ } ++}; ++/** reading an attribute for strings */ ++void CAttributeList::check()const{ ++ for(const_iterator i=begin(); ++ i!=end(); ++ i++){ ++ assert(!strcmp(i->second.second, ++ i->second.first)); ++ } ++}; ++/** a local function */ ++template<typename T> ++static const string& _CAL_getFirst(const pair<string, T>& inElement){ ++ return inElement.first; ++} ++ ++/** Get the keys of all attributes in this list*/ ++list<string> CAttributeList::getKeys()const{ ++ list<string> lReturnValue; ++ // the following two implementations are equivalent ++ transform(this->begin(), ++ this->end(), ++ back_inserter(lReturnValue), ++ _CAL_getFirst<CAttributeList::mapped_type> ++ ); ++// #ifdef GCC30 ++// for(const_iterator i=begin(); ++// i!=end(); ++// i++){ ++// lReturnValue.push_back(i->first); ++// } ++// #endif ++ return lReturnValue; ++} +diff -Nur gift-0.1.14.orig/libGIFTAcInvertedFile/include/CInvertedFileChunk.h gift-0.1.14/libGIFTAcInvertedFile/include/CInvertedFileChunk.h +--- gift-0.1.14.orig/libGIFTAcInvertedFile/include/CInvertedFileChunk.h 2005-03-24 10:18:15.000000000 +0100 ++++ gift-0.1.14/libGIFTAcInvertedFile/include/CInvertedFileChunk.h 2007-05-13 11:39:54.000000000 +0200 +@@ -73,7 +73,7 @@ + * add one document of to the list for one feature + * + */ +- void CInvertedFileChunk::addElement(TID inDocumentID, ++ void addElement(TID inDocumentID, + double inDocumentFrequency); + + /** +diff -Nur gift-0.1.14.orig/libGIFTAcInvertedFile/include/CInvertedFileChunk.h~ gift-0.1.14/libGIFTAcInvertedFile/include/CInvertedFileChunk.h~ +--- gift-0.1.14.orig/libGIFTAcInvertedFile/include/CInvertedFileChunk.h~ 1970-01-01 01:00:00.000000000 +0100 ++++ gift-0.1.14/libGIFTAcInvertedFile/include/CInvertedFileChunk.h~ 2005-03-24 10:18:15.000000000 +0100 +@@ -0,0 +1,89 @@ ++/* -*- mode: c++ -*- ++*/ ++/* ++ ++ GIFT, a flexible content based image retrieval system. ++ Copyright (C) 1998, 1999, 2000, 2001, 2002, CUI University of Geneva ++ ++ Copyright (C) 2003, 2004 Bayreuth University ++ 2005 Bamberg University ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 2 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with this program; if not, write to the Free Software ++ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++ ++*/ ++// -*- mode: c++ -*- ++/** ++* ++* CInvertedFileChunk ++* ++* ++* ++* modification history: ++* ++* HM 090399 created the documentation ++* ++* ++* ++* compiler defines used: ++* ++* ++*/ ++#ifndef _CINVERTEDFILECHUNK ++#define _CINVERTEDFILECHUNK ++#include "libGIFTAcInvertedFile/include/uses-declarations.h" ++#include <iostream> ++#include <fstream> ++#include "libMRML/include/TID.h" ++#include <map> ++#include "libGIFTAcInvertedFile/include/CDocumentFrequencyList.h" ++ ++ ++/** */ ++class CMapInvertedFileChunk:public map<TID,double>{}; ++ ++ ++/** A class which does all the necessary administrative ++ work for generating inverted files. It contains the list of ++ documents which contain a given feature */ ++class CInvertedFileChunk:public CMapInvertedFileChunk{ ++ ++public: ++ ++/** ++ * ++ * returns the percentage of documents which contain this one feature ++ * ++ */ ++ ++ double getCollectionFrequency(size_t inSize)const; ++ ++/** ++ * ++ * add one document of to the list for one feature ++ * ++ */ ++ void CInvertedFileChunk::addElement(TID inDocumentID, ++ double inDocumentFrequency); ++ ++/** ++ * ++ * writes the binary part of the list for one feature ++ * ++ */ ++ bool writeBinary(ostream&, ++ TID inFeatureID, ++ size_t inSize)const; ++}; ++ ++#endif diff --git a/media-gfx/gift/files/gift-0.1.14-noDoc.patch b/media-gfx/gift/files/gift-0.1.14-noDoc.patch new file mode 100644 index 0000000..aacf2a4 --- /dev/null +++ b/media-gfx/gift/files/gift-0.1.14-noDoc.patch @@ -0,0 +1,11 @@ +--- gift-0.1.14.orig/Makefile.am 2002-11-05 17:30:40.000000000 +0100 ++++ gift-0.1.14/Makefile.am 2004-04-19 23:50:55.152365064 +0200 +@@ -20,7 +20,7 @@ + #gift-config.cc: gift-config.cc.in make-gift-config.pl + # perl make-gift-config.pl CXXFLAGS "$(CXXFLAGS)" LDFLAGS "$(LDFLAGS)" libdir "-l $(libdir)" < $< > $@ + +-SUBDIRS= Doc scripts dtd \ ++SUBDIRS= scripts dtd \ + @UNPUBLISHED_DIR@ \ + libMRML \ + libGIFTAcURL2FTS\ diff --git a/media-gfx/gift/files/gift-0.1.14-patch-tid.patch b/media-gfx/gift/files/gift-0.1.14-patch-tid.patch new file mode 100644 index 0000000..41b1844 --- /dev/null +++ b/media-gfx/gift/files/gift-0.1.14-patch-tid.patch @@ -0,0 +1,74 @@ +diff -u -r gift-0.1.14/libGIFTAcPerl/cc/CAcPerl.cc gift-0.1.14-test/libGIFTAcPerl/cc/CAcPerl.cc +--- gift-0.1.14/libGIFTAcPerl/cc/CAcPerl.cc 2005-03-24 10:18:16.000000000 +0100 ++++ gift-0.1.14-test/libGIFTAcPerl/cc/CAcPerl.cc 2005-11-22 10:09:22.000000000 +0100 +@@ -57,26 +57,26 @@ + /** + * + */ +-string CAcPerl::IDToURL(long int) const{ ++string CAcPerl::IDToURL(TID) const{ + assert(0); + return "this function should never be called"; + }; + /** + * + */ +-struct pair<bool,CAccessorElement> CAcPerl::IDToAccessorElement(long int) const{ ++struct pair<bool,CAccessorElement> CAcPerl::IDToAccessorElement(TID) const{ + return(make_pair(bool(0),CAccessorElement(0,"null","null","null"))); + }; + /** + * + */ +-struct pair<bool,long int> CAcPerl::URLToID(const string &) const{ ++struct pair<bool, TID> CAcPerl::URLToID(const string &) const{ + return(make_pair(bool(0),0)); + }; + /** + * + */ +-void CAcPerl::getAllIDs(list<long int > &) const{ ++void CAcPerl::getAllIDs(list<TID > &) const{ + assert(0); + }; + /** +@@ -88,7 +88,7 @@ + /** + * + */ +-void CAcPerl::getRandomIDs(list<long int > &, unsigned int) const{ ++void CAcPerl::getRandomIDs(list<TID > &, unsigned int) const{ + assert(0); + }; + /** +diff -u -r gift-0.1.14/libGIFTAcPerl/include/CAcPerl.h gift-0.1.14-test/libGIFTAcPerl/include/CAcPerl.h +--- gift-0.1.14/libGIFTAcPerl/include/CAcPerl.h 2005-03-24 10:18:16.000000000 +0100 ++++ gift-0.1.14-test/libGIFTAcPerl/include/CAcPerl.h 2005-11-22 10:09:28.000000000 +0100 +@@ -114,15 +114,15 @@ + /** + * + */ +- string IDToURL(long int) const; ++ string IDToURL(TID) const; + /** + * + */ +- struct pair<bool,CAccessorElement> IDToAccessorElement(long int) const; ++ struct pair<bool,CAccessorElement> IDToAccessorElement(TID) const; + /** + * + */ +- struct pair<bool,long int> URLToID(const string &) const; ++ struct pair<bool, TID> URLToID(const string &) const; + /** + * + */ +@@ -134,7 +134,7 @@ + /** + * + */ +- void getRandomIDs(list<long int > &, unsigned int) const; ++ void getRandomIDs(list<TID > &, unsigned int) const; + /** + * + */ diff --git a/media-gfx/gift/files/gift-0.1.14-ps_params.patch b/media-gfx/gift/files/gift-0.1.14-ps_params.patch new file mode 100644 index 0000000..03e2dda --- /dev/null +++ b/media-gfx/gift/files/gift-0.1.14-ps_params.patch @@ -0,0 +1,11 @@ +--- gift-0.1.14.orig/scripts/perl/gift-start.pre-pl 2002-07-22 09:09:29.000000000 +0200 ++++ gift-0.1.14/scripts/perl/gift-start.pre-pl 2004-04-20 01:16:46.751203000 +0200 +@@ -103,7 +103,7 @@ + + while(1){ + print "doing ps\n"; +- open PS,"ps -axww|" or die "could not ps"; ++ open PS,"ps axww|" or die "could not ps"; + + my $lFound=0; + my $lPID=0; diff --git a/media-gfx/gift/files/gift.confd b/media-gfx/gift/files/gift.confd new file mode 100644 index 0000000..e1f2249 --- /dev/null +++ b/media-gfx/gift/files/gift.confd @@ -0,0 +1,9 @@ +# /etc/conf.d/gift + +USER="gift" +BASEDIR="/home/gift" +HOST="localhost" +PORT="12789" + +LOGFILE="/var/log/gift" + diff --git a/media-gfx/gift/files/gift.initd b/media-gfx/gift/files/gift.initd new file mode 100644 index 0000000..93952fd --- /dev/null +++ b/media-gfx/gift/files/gift.initd @@ -0,0 +1,32 @@ +#!/sbin/runscript + +opts="start stop restart" + +depend() { + need net +} + +start() { + ebegin "Starting GNU Image-Finding Tool server" + if [[ ! -e ${BASEDIR}/gift-config.mrml ]]; then + einfo "First run... copying base files..." + su ${USER} -c "cp /usr/share/gift/* ${BASEDIR}" + fi + start-stop-daemon --quiet --start -c ${USER} \ + -x /usr/bin/gift -- ${PORT} ${BASEDIR} &>${LOGFILE} & + eend $? + +} + +stop() { + ebegin "Stoping GNU Image-Finding Tool server" + start-stop-daemon -o --stop -x /usr/bin/gift &>/dev/null + eend $? +} + +restart() { + svc_stop + sleep 2 + svc_start +} + diff --git a/media-gfx/gift/gift-0.1.15b.ebuild b/media-gfx/gift/gift-0.1.15b.ebuild new file mode 100644 index 0000000..2372fce --- /dev/null +++ b/media-gfx/gift/gift-0.1.15b.ebuild @@ -0,0 +1,61 @@ +# Copyright 1999-2004 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit eutils autotools + +DESCRIPTION="The GNU Image-Finding Tool" +HOMEPAGE="http://www.gnu.org/software/gift/" +SRC_URI="http://alpha.gnu.org/gnu/gift/${P}.tar.gz" +LICENSE="LGPL-2.1" + +IUSE="doc" +KEYWORDS="~amd64 ~x86" + +DEPEND="media-gfx/imagemagick + dev-perl/XML-DOM + dev-perl/XML-XQL + dev-perl/Text-Iconv" + +RDEPEND="${DEPEND}" + +SLOT="0" + +GIFT_USER="gift" +GIFT_HOME="/home/${GIFT_USER}/" +GIFT_INIT="gnu-gift" + +src_unpack() { + unpack ${A} + cd ${S} + + use doc || epatch ${FILESDIR}/${PN}-0.1.14-noDoc.patch + epatch ${FILESDIR}/${PN}-0.1.14-ps_params.patch +# epatch ${FILESDIR}/${PN}-0.1.14-patch-tid.patch + epatch ${FILESDIR}/${PN}-0.1.14-extra_qualif.patch +} + +src_compile() { + + eautoreconf + +# econf --enable-multithreading \ +# --enable-bayesian \ +# --datadir=/usr/share/${PN} \ +# --includedir=/usr/include/${PN} || die "econf failed" + + econf --enable-multi-threading \ + --enable-bayesian || die "econf failed" + + emake || die "emake failed" +} + +src_install() { + emake DESTDIR=${D} install || die + dodoc README NEWS AUTHORS + + newconfd ${FILESDIR}/${PN}.confd ${GIFT_INIT} + newinitd ${FILESDIR}/${PN}.initd ${GIFT_INIT} + + enewuser ${GIFT_USER} -1 /bin/bash ${GIFT_HOME} users +} diff --git a/net-analyzer/dmt-ux/Manifest b/net-analyzer/dmt-ux/Manifest new file mode 100644 index 0000000..a5cdcf5 --- /dev/null +++ b/net-analyzer/dmt-ux/Manifest @@ -0,0 +1,8 @@ +DIST dmt-ux-0.178.tar.gz 127099 RMD160 6363a1d59324b852653d994b61727f42d9901660 SHA1 0256745844152059264bb6bcaddb2859471e1951 SHA256 2dc2d6fd9226e23647f6dda533a99a6cfe9f15a6bf0a9e7709e9263cd2643d4e +EBUILD dmt-ux-0.178.ebuild 1002 RMD160 060d557214c9ef9994a38c85c97c7a5fffae672b SHA1 a25d3ddb9991a4b16fb2df87cfd940ed13ffe837 SHA256 a8c1e3f220f336e6b3de441332666868fb4e3abeb820c98905a0b183c37be151 +MD5 5628d544ff03894a3988cfdbde32f727 dmt-ux-0.178.ebuild 1002 +RMD160 060d557214c9ef9994a38c85c97c7a5fffae672b dmt-ux-0.178.ebuild 1002 +SHA256 a8c1e3f220f336e6b3de441332666868fb4e3abeb820c98905a0b183c37be151 dmt-ux-0.178.ebuild 1002 +MD5 5056fb778189b7af06c6aadf4c21e20f files/digest-dmt-ux-0.178 238 +RMD160 228ce6796d72069ccb35ecea27c44251260448b0 files/digest-dmt-ux-0.178 238 +SHA256 4cf8f2afc1cad933bfdc6d16f6e8e62a57c8ca2d3bb3c54b474590b103e00939 files/digest-dmt-ux-0.178 238 diff --git a/net-analyzer/dmt-ux/dmt-ux-0.178.ebuild b/net-analyzer/dmt-ux/dmt-ux-0.178.ebuild new file mode 100644 index 0000000..1fd1d8b --- /dev/null +++ b/net-analyzer/dmt-ux/dmt-ux-0.178.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +DESCRIPTION="DSL Modem Tool - read line characteristics and generate statistics" +HOMEPAGE="http://www.spida.net/projects/dmt-ux" +SRC_URI="http://www.spida.net/projects/dmt-ux/dmt-ux-${PV}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~x86" +IUSE="png rrdtool" + +RDEPEND="png? (media-fonts/ttf-bitstream-vera)" +DEPEND="png? (media-libs/libpng + >=media-libs/freetype-2.0.0) + rrdtool? (>=net-analyzer/rrdtool-1.2.0)" + +src_unpack() { + unpack ${A} + cd ${S} + use rrdtool || sed -i -e 's:-lrrd::g' \ + -e 's:rrdstat.o::' -e 's:-Drrd::' Makefile + use png || sed -i -e 's:-lpng::g' -e 's:-lfreetype::' \ + -e 's:graphic.o::' -e 's:-Dgraphic::'\ + -e 's:-I/usr/local/include/freetype2::' \ + -e 's:-I/usr/include/freetype2::' Makefile + sed -i -e \ + 's:./fonts/Vera.ttf:/usr/share/fonts/ttf-bitstream-vera/Vera.ttf:' dmt-ux.c +} + +src_install() { + dobin dmt-ux + dodoc doc/README +} + + + diff --git a/net-analyzer/dmt-ux/files/digest-dmt-ux-0.178 b/net-analyzer/dmt-ux/files/digest-dmt-ux-0.178 new file mode 100644 index 0000000..84e31d0 --- /dev/null +++ b/net-analyzer/dmt-ux/files/digest-dmt-ux-0.178 @@ -0,0 +1,3 @@ +MD5 fb4298cc071388b97b093cf723f88ed0 dmt-ux-0.178.tar.gz 127099 +RMD160 6363a1d59324b852653d994b61727f42d9901660 dmt-ux-0.178.tar.gz 127099 +SHA256 2dc2d6fd9226e23647f6dda533a99a6cfe9f15a6bf0a9e7709e9263cd2643d4e dmt-ux-0.178.tar.gz 127099 diff --git a/www-apps/open-xchange/ChangeLog b/www-apps/open-xchange/ChangeLog new file mode 100644 index 0000000..1b9ef06 --- /dev/null +++ b/www-apps/open-xchange/ChangeLog @@ -0,0 +1,73 @@ +# 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.13 2006/04/01 03:24:56 eradicator Exp $ + + 01 Apr 2006; Jeremy Huddleston <eradicator@gentoo.org> + open-xchange-0.8.0.6.ebuild, open-xchange-0.8.1.5.ebuild: + Don't install INSTALL doc. + + 29 Jan 2006; Jeremy Huddleston <eradicator@gentoo.org> + open-xchange-0.8.0.6.ebuild, open-xchange-0.8.1.5.ebuild: + Changed dev-perl/XML-SAX-Base to dev-perl/XML-SAX. + +*open-xchange-0.8.1.5 (30 Nov 2005) + + 30 Nov 2005; Jeremy Huddleston <eradicator@gentoo.org> + -files/open-xchange-0.8.1.2-reply.patch, + +files/open-xchange-0.8.1.5-oxFolder.patch, +files/ox_reminder.sql, + open-xchange-0.8.0.6.ebuild, -open-xchange-0.8.1.2.ebuild, + -open-xchange-0.8.1.3.ebuild, -open-xchange-0.8.1.3-r1.ebuild, + +open-xchange-0.8.1.5.ebuild: + Version bump. + + 20 Nov 2005; Stuart Herbert <stuart@gentoo.org> open-xchange-0.8.0.6.ebuild, + open-xchange-0.8.1.2.ebuild, open-xchange-0.8.1.3-r1.ebuild, + open-xchange-0.8.1.3.ebuild: + Fixed broken DEPEND + +*open-xchange-0.8.0.6 (22 Oct 2005) + + 22 Oct 2005; Jeremy Huddleston <eradicator@gentoo.org> + +open-xchange-0.8.0.6.ebuild: + Added ebuild for upstream stable version. + +*open-xchange-0.8.1.3-r1 (22 Oct 2005) + + 22 Oct 2005; Jeremy Huddleston <eradicator@gentoo.org> + +open-xchange-0.8.1.3-r1.ebuild: + Revbump with some further updates from Martin. + + 03 Oct 2005; Jeremy Huddleston <eradicator@gentoo.org> + open-xchange-0.8.1.2.ebuild, open-xchange-0.8.1.3.ebuild: + Added missing DEPEND on zip. + +*open-xchange-0.8.1.3 (01 Oct 2005) + + 01 Oct 2005; Jeremy Huddleston <eradicator@gentoo.org> + +open-xchange-0.8.1.3.ebuild: + Version bump. + + 01 Oct 2005; Jeremy Huddleston <eradicator@gentoo.org> + open-xchange-0.8.1.2.ebuild: + Using tomcat servelet classpath. + + 01 Oct 2005; Jeremy Huddleston <eradicator@gentoo.org> + +files/open-xchange-0.8.1.2-reply.patch, open-xchange-0.8.1.2.ebuild: + Fixed upstream bug #762 with buggy reply. + + 24 Sep 2005; Jeremy Huddleston <eradicator@gentoo.org> + +files/open-xchange-0.8.1.2-login.patch, open-xchange-0.8.1.2.ebuild: + Added patch for login.pm when USE=ssl. + + 24 Sep 2005; Jeremy Huddleston <eradicator@gentoo.org> files/slapd.ox.inc: + Fixed up the slapd permissions include. + +*open-xchange-0.8.1.2 (24 Sep 2005) + + 24 Sep 2005; Jeremy Huddleston <eradicator@gentoo.org> + +files/88_mod_jk.ox.conf, +files/init.d.open-xchange, + +files/open-xchange-htaccess, +files/slapd.ox.inc, +metadata.xml, + +open-xchange-0.8.1.2.ebuild: + Initial ebuild for open-xchange. See bug #62197. There have been many + contributors and testers, so hats off to all involved. + diff --git a/www-apps/open-xchange/Manifest b/www-apps/open-xchange/Manifest new file mode 100755 index 0000000..499a35f --- /dev/null +++ b/www-apps/open-xchange/Manifest @@ -0,0 +1,107 @@ +AUX 88_mod_jk.ox.conf 1228 RMD160 ac45be1d0824ab54728d5a304b59d5824297c974 SHA1 33e76d4dd9c2e5c719dc51e00248ed399cbac566 SHA256 f62c842769c9675968e9d1f3d6469315cf18b1802049e57d1dbfb39f66725a9a +MD5 cfa72c4f5e62b779052acf1cd629234b files/88_mod_jk.ox.conf 1228 +RMD160 ac45be1d0824ab54728d5a304b59d5824297c974 files/88_mod_jk.ox.conf 1228 +SHA256 f62c842769c9675968e9d1f3d6469315cf18b1802049e57d1dbfb39f66725a9a files/88_mod_jk.ox.conf 1228 +AUX Makefile.am 5472 RMD160 579798c783d82e7e927444b76a4b78408b636ae8 SHA1 669c21dc7d54bd6e50f96a0784ff2393579bd5c0 SHA256 1e52d797bf4afa3326ab83e2de07fd14c4fe81962a148b88f0cfbdc0cd149f6d +MD5 927c757f0e4a52db9be46e6f252d634d files/Makefile.am 5472 +RMD160 579798c783d82e7e927444b76a4b78408b636ae8 files/Makefile.am 5472 +SHA256 1e52d797bf4afa3326ab83e2de07fd14c4fe81962a148b88f0cfbdc0cd149f6d files/Makefile.am 5472 +AUX init.d.open-xchange 1877 RMD160 47fb7e7bc7e3325bae0fbfd33121de9cf58bd78e SHA1 2a7e07648c4fb3b6df851713c9b82daa66a4d6cd SHA256 2645eece4eed70079736c892efdea50bf448907cd116415d9c593a50245e97e5 +MD5 5388f979621c5e4d333aef5cd37f0062 files/init.d.open-xchange 1877 +RMD160 47fb7e7bc7e3325bae0fbfd33121de9cf58bd78e files/init.d.open-xchange 1877 +SHA256 2645eece4eed70079736c892efdea50bf448907cd116415d9c593a50245e97e5 files/init.d.open-xchange 1877 +AUX init_db.sql 279 RMD160 46e29ba9d6d8951540386aec7d4426f0d8e68255 SHA1 a384e6a462bffa061799ef3b8a6e21cf2db682c1 SHA256 cf059ae4c7ceaa07d12a6a1122e9fc6414adb2827c9e0c54289d07269f16c0ca +MD5 1f6183d5af7d91a530b1de27aa16b803 files/init_db.sql 279 +RMD160 46e29ba9d6d8951540386aec7d4426f0d8e68255 files/init_db.sql 279 +SHA256 cf059ae4c7ceaa07d12a6a1122e9fc6414adb2827c9e0c54289d07269f16c0ca files/init_db.sql 279 +AUX ldap_ox.include 522 RMD160 6dafc217b36e9c3ed2515db3df7e22e605660eb8 SHA1 e56d55a6fada5571fa866b30cbc56d2e1a5f290b SHA256 dbc600698458808954ced4f12aadfaded9be0b557b0368bdb25ec8594e0e3710 +MD5 91ff4613700232bdba46d53216a54dd0 files/ldap_ox.include 522 +RMD160 6dafc217b36e9c3ed2515db3df7e22e605660eb8 files/ldap_ox.include 522 +SHA256 dbc600698458808954ced4f12aadfaded9be0b557b0368bdb25ec8594e0e3710 files/ldap_ox.include 522 +AUX open-xchange 1091 RMD160 16bd94a7fbb5cd768b1af7fc19bbacf8d82313bc SHA1 0fe1c980bfc6085097c47bcceb625293420ca501 SHA256 369e2185343bd0173553787ca1af218482ff462f49bbd7564aa5328ec4868c27 +MD5 913feb00e09cc682bb4edb359452971e files/open-xchange 1091 +RMD160 16bd94a7fbb5cd768b1af7fc19bbacf8d82313bc files/open-xchange 1091 +SHA256 369e2185343bd0173553787ca1af218482ff462f49bbd7564aa5328ec4868c27 files/open-xchange 1091 +AUX open-xchange-0.8.1.2-login.patch 638 RMD160 0bf05c78eb72e6c591c878c1884bbb7abec7933f SHA1 63517f484e61bb9c1a426c56822efb9cedf8c91d SHA256 b2fbc697b30815f6f8cb435a1707e1d5db5fe7d71b958ef065328adb4c5655cf +MD5 b9bb53f0dd8125a862c1cbc45ab7c06f files/open-xchange-0.8.1.2-login.patch 638 +RMD160 0bf05c78eb72e6c591c878c1884bbb7abec7933f files/open-xchange-0.8.1.2-login.patch 638 +SHA256 b2fbc697b30815f6f8cb435a1707e1d5db5fe7d71b958ef065328adb4c5655cf files/open-xchange-0.8.1.2-login.patch 638 +AUX open-xchange-0.8.1.5-oxFolder.patch 676 RMD160 e90b70fad2e3d874a6a4de425821a3f3c52d63d6 SHA1 05d4aa555b0e4eb03117000807d28d4094843e93 SHA256 b58324ffcec78ec09db0c67dc641c06c13322f560fd961807e36144e8d5c241e +MD5 f7cf85b70e2c9930e965a10daf42d695 files/open-xchange-0.8.1.5-oxFolder.patch 676 +RMD160 e90b70fad2e3d874a6a4de425821a3f3c52d63d6 files/open-xchange-0.8.1.5-oxFolder.patch 676 +SHA256 b58324ffcec78ec09db0c67dc641c06c13322f560fd961807e36144e8d5c241e files/open-xchange-0.8.1.5-oxFolder.patch 676 +AUX open-xchange-0.8.2-mysql-2.patch 354 RMD160 db4a260fccff5f450b9e2c9ab6864aaa0bd1e0fc SHA1 a3c6d572b4d27d8b91f03fc21358e4546d942fda SHA256 942a8a66291a7e5b3d9bf77b49abcd1103080a048396ae62ac33c0e9653d9689 +MD5 3553c820a030c3a5205febc03fe73106 files/open-xchange-0.8.2-mysql-2.patch 354 +RMD160 db4a260fccff5f450b9e2c9ab6864aaa0bd1e0fc files/open-xchange-0.8.2-mysql-2.patch 354 +SHA256 942a8a66291a7e5b3d9bf77b49abcd1103080a048396ae62ac33c0e9653d9689 files/open-xchange-0.8.2-mysql-2.patch 354 +AUX open-xchange-0.8.2-mysql.patch 14522 RMD160 440ed5acdb54ce22147dcf1bb786458ec2d22240 SHA1 d46fa901d867127b480fd4e5bbd78024814b7bc0 SHA256 a2cbeeed5ef21ea1a730c20bae7d184102c5f5d5261c22c9913d6c2ed22b64bf +MD5 cac601ef7cc358a9c0e13d476be37b7b files/open-xchange-0.8.2-mysql.patch 14522 +RMD160 440ed5acdb54ce22147dcf1bb786458ec2d22240 files/open-xchange-0.8.2-mysql.patch 14522 +SHA256 a2cbeeed5ef21ea1a730c20bae7d184102c5f5d5261c22c9913d6c2ed22b64bf files/open-xchange-0.8.2-mysql.patch 14522 +AUX open-xchange-0.8.2-sieve.patch 3128 RMD160 ee8dca3be8ed7422420df8ec76607fbcd87e2901 SHA1 eaa6f1dc75ff5cac465d7dab0b0bf5bcc1c807f4 SHA256 d8b7c84ea5a33ebdc0715217a45c711c7813394e9f6eb2d9cc2e4ad7d50db4c1 +MD5 14faaf18cf484b18ea5be650dc84f971 files/open-xchange-0.8.2-sieve.patch 3128 +RMD160 ee8dca3be8ed7422420df8ec76607fbcd87e2901 files/open-xchange-0.8.2-sieve.patch 3128 +SHA256 d8b7c84ea5a33ebdc0715217a45c711c7813394e9f6eb2d9cc2e4ad7d50db4c1 files/open-xchange-0.8.2-sieve.patch 3128 +AUX open-xchange-0.8.2_rc3-mysql.patch 16146 RMD160 aa5d76b07925b0f31983832ec1f71d25b63c693d SHA1 f5529686e8fcf0fae4d0356fabf95b32d1c4a9c4 SHA256 d4d6b18a349338367cfb66468f97315b2d9182003048c85471644e3108034908 +MD5 59ad886ec8aed98c5c5370204488e6a9 files/open-xchange-0.8.2_rc3-mysql.patch 16146 +RMD160 aa5d76b07925b0f31983832ec1f71d25b63c693d files/open-xchange-0.8.2_rc3-mysql.patch 16146 +SHA256 d4d6b18a349338367cfb66468f97315b2d9182003048c85471644e3108034908 files/open-xchange-0.8.2_rc3-mysql.patch 16146 +AUX open-xchange-htaccess 174 RMD160 9fe2a5be9db7253351fa856994c237d867f7f2df SHA1 585f1a7bc774cfde620e4f4a03c02d77540cf15a SHA256 4596825adb0067148596ef7948b2f452457d0b43aff64b4ec3a3628e9fcbbaa5 +MD5 7d1504e4241974d3583575b3827b0f5a files/open-xchange-htaccess 174 +RMD160 9fe2a5be9db7253351fa856994c237d867f7f2df files/open-xchange-htaccess 174 +SHA256 4596825adb0067148596ef7948b2f452457d0b43aff64b4ec3a3628e9fcbbaa5 files/open-xchange-htaccess 174 +AUX openexchange 833 RMD160 c160684949bbb03e13940886f8b9d99b3186c575 SHA1 230659e6d1486e368edcb6c1447b9285ebaebe18 SHA256 bef95caf8aa13d4792cf12565cce28b1f06dbd2fbc92e8fdac12cd2d1c1c866f +MD5 fab825866ae59e76398eaac32a070302 files/openexchange 833 +RMD160 c160684949bbb03e13940886f8b9d99b3186c575 files/openexchange 833 +SHA256 bef95caf8aa13d4792cf12565cce28b1f06dbd2fbc92e8fdac12cd2d1c1c866f files/openexchange 833 +AUX ox_project.sql 6639 RMD160 51fe9c01fd6f2e009cace1e53b0602c541ddf5e3 SHA1 62d1aae66b1be7270bd284bd769557ca9e317baf SHA256 b02dcadb7d394c6beb8a32cf7e5f2775ba484b1e333f1e45b21b02719eb06b95 +MD5 80a9cdc6880b4fa14b09c3e387f3a482 files/ox_project.sql 6639 +RMD160 51fe9c01fd6f2e009cace1e53b0602c541ddf5e3 files/ox_project.sql 6639 +SHA256 b02dcadb7d394c6beb8a32cf7e5f2775ba484b1e333f1e45b21b02719eb06b95 files/ox_project.sql 6639 +AUX ox_reminder.sql 178 RMD160 0c80af0d7927debe4db383a6de08a3d662063829 SHA1 8e70f3cea2efc00f567584783d66593503507ed4 SHA256 41b640b0b1fdbb20ee8f108ca0e1bad69c494c8e6a0d351fe4904824e759a0fd +MD5 4c772a7e944bed0e5f8e17b99cb32939 files/ox_reminder.sql 178 +RMD160 0c80af0d7927debe4db383a6de08a3d662063829 files/ox_reminder.sql 178 +SHA256 41b640b0b1fdbb20ee8f108ca0e1bad69c494c8e6a0d351fe4904824e759a0fd files/ox_reminder.sql 178 +AUX postinstall-en.txt 760 RMD160 7e1977e7fbe7df02c13d24df47024b959557b0ff SHA1 78f6909466a9bf9d59cebfa02ad67f9a00e90ad1 SHA256 b256f8816871a90ffe06cb9172ffd19d97ae9973deb6e7545de0f2788ddb22fe +MD5 854e13a1a23d502007fa1b7faa700e95 files/postinstall-en.txt 760 +RMD160 7e1977e7fbe7df02c13d24df47024b959557b0ff files/postinstall-en.txt 760 +SHA256 b256f8816871a90ffe06cb9172ffd19d97ae9973deb6e7545de0f2788ddb22fe files/postinstall-en.txt 760 +AUX reconfig 3981 RMD160 80190ed6d12075a5737975bb8ccd90db2043e7e0 SHA1 baac534abd026566736e4e70bc4bb422582d11df SHA256 98386774bca99f487b49bc9ba693a140d11b8d75ea14bf6412208bc53b59b283 +MD5 2572dbe9869cca144b7c0a3641b2540e files/reconfig 3981 +RMD160 80190ed6d12075a5737975bb8ccd90db2043e7e0 files/reconfig 3981 +SHA256 98386774bca99f487b49bc9ba693a140d11b8d75ea14bf6412208bc53b59b283 files/reconfig 3981 +AUX slapd.ox.inc 2019 RMD160 1c5bcb56d603f489da113fbfdd8b39adabcf4ad6 SHA1 0f58dd7a3ddc111343bb9f7e7c15bc5b5f6fe879 SHA256 08409d20efa9af517d52ae813de86d935b1eff07672566f0786f13475305aef4 +MD5 2ad5cb7b97eca4314016247cde421449 files/slapd.ox.inc 2019 +RMD160 1c5bcb56d603f489da113fbfdd8b39adabcf4ad6 files/slapd.ox.inc 2019 +SHA256 08409d20efa9af517d52ae813de86d935b1eff07672566f0786f13475305aef4 files/slapd.ox.inc 2019 +AUX web.xml 862 RMD160 b0ab5daf28f82c8a07aa9c3715bb74e10e9f094c SHA1 7ad0569a56408d0478431d4d0e8ffa5458a04687 SHA256 51968223efac9275738181eebc5cfe3d74713a369705097195aa596690565b8e +MD5 4a49ad1bff25b50816a42b5e01cd18f8 files/web.xml 862 +RMD160 b0ab5daf28f82c8a07aa9c3715bb74e10e9f094c files/web.xml 862 +SHA256 51968223efac9275738181eebc5cfe3d74713a369705097195aa596690565b8e files/web.xml 862 +DIST Crystal_OX_Theme.tgz 53788 RMD160 24d8b0501783f23b16f1a0b20800fcb59da7a464 SHA1 4edb81cd7ff3f44cd6bdd6dca17aac4d21db62fd SHA256 b864155899cf3526364dead79ffcd64f939c4f5a97bd36e2403a6d0e55342125 +DIST Crystal_OX_Theme_Webmail.tar.bz2 9442 RMD160 2dd6c3b90d56219dfcab5ae48dcce635ed9e7311 SHA1 b4ec6731bebf4e92fe32c819e0b7a57120ca6ca0 SHA256 06b4d834bbd2a352468997671077f3630f60ff901651a865419e0156ac0d7e77 +DIST open-xchange-0.8.2-1.tar.bz2 1969458 RMD160 73fe0db243b78e8b62b2a8dbd1e4a7f0a4c433eb SHA1 e1171bb186607e3642cc43b0b615a66762fe96cb SHA256 e7fbd29b8a3a293af8b04fb46da22bcc98997051efdf041834b8e88820983785 +DIST open-xchange-0.8.2.tar.bz2 1970970 RMD160 bea788b8264a8b882229612d6b284586c7250659 SHA1 e7f252bf810dd52c3018d23524bc2c49e10fa41e SHA256 576ac912d5fdfc98a84fe69abc7aa2b9f7d1ca24e7b40ff8e71b6642b131ef3d +DIST smartsieve-ox-1.03.tar.gz 102899 RMD160 aaf58bc7549db4cad719f120635269fdf3585317 SHA1 c327a425a2638cbcfe959d3d6dc6a8fddae3436a SHA256 77a55ebe3c4e5f27e564d75f5cd80742c3bdb2e6e920d833de26eadec0fe6494 +EBUILD open-xchange-0.8.2-r1.ebuild 25301 RMD160 85e92b79f70717c009dcf093dcaaf8717fbf6e5e SHA1 d3d404c81575c3140ed25ee6b9aa29d0f54728f3 SHA256 4a13f56f3ab35341fb557db217e46d5fb91513c4ca13b98c539ec2fb09770063 +MD5 20312cd1d306cdc388c41719e4cc81bc open-xchange-0.8.2-r1.ebuild 25301 +RMD160 85e92b79f70717c009dcf093dcaaf8717fbf6e5e open-xchange-0.8.2-r1.ebuild 25301 +SHA256 4a13f56f3ab35341fb557db217e46d5fb91513c4ca13b98c539ec2fb09770063 open-xchange-0.8.2-r1.ebuild 25301 +EBUILD open-xchange-0.8.2_p1.ebuild 25325 RMD160 37300f4fe0b5698bd9dd61ad61d9f7852964e57b SHA1 8fdfc7f64c71e77a9173f9c5972932fd53d3aa4f SHA256 8042f0f59af5e6d0944e0c00aa5c922833d2ea41c16fdade0be40adfafbc08e5 +MD5 eda0a57603cc81751d0b3e1696639580 open-xchange-0.8.2_p1.ebuild 25325 +RMD160 37300f4fe0b5698bd9dd61ad61d9f7852964e57b open-xchange-0.8.2_p1.ebuild 25325 +SHA256 8042f0f59af5e6d0944e0c00aa5c922833d2ea41c16fdade0be40adfafbc08e5 open-xchange-0.8.2_p1.ebuild 25325 +MISC ChangeLog 2730 RMD160 983870d3cdca78e809f4712f99bdb504ad08b602 SHA1 b7a1991751b2c88852618396ab89f3b834f8760d SHA256 cc61e4b406e3fbc91b264e56fa563498433f717cd526280062139ece2d89d059 +MD5 117b561d742cf1707928cd276ba90df2 ChangeLog 2730 +RMD160 983870d3cdca78e809f4712f99bdb504ad08b602 ChangeLog 2730 +SHA256 cc61e4b406e3fbc91b264e56fa563498433f717cd526280062139ece2d89d059 ChangeLog 2730 +MISC metadata.xml 247 RMD160 d02acfac88a4c8bac4526154d2301306c9b11298 SHA1 03594ffbd30e504f419701bd2cc21a0699e15a72 SHA256 9031c04619455a61733317a87013fee0d9954581d358a097ae85714726d4bf71 +MD5 a339b15041bb6d450a7535f3df1fcc4c metadata.xml 247 +RMD160 d02acfac88a4c8bac4526154d2301306c9b11298 metadata.xml 247 +SHA256 9031c04619455a61733317a87013fee0d9954581d358a097ae85714726d4bf71 metadata.xml 247 +MD5 efcf8c2cd32c6b5540ccf05b2d7bf93f files/digest-open-xchange-0.8.2-r1 1027 +RMD160 d845e48cd305140770ec038e151162f7442b3e45 files/digest-open-xchange-0.8.2-r1 1027 +SHA256 510b4d70c3fc18609947acf251f06b1f3afcfa9bd12fb483b81132f732ea7e5f files/digest-open-xchange-0.8.2-r1 1027 +MD5 bafaacce2b3a13d611dcc506750d7ab6 files/digest-open-xchange-0.8.2_p1 1033 +RMD160 d3cda8268521fdfc79ac29a903c486fd0b830d7a files/digest-open-xchange-0.8.2_p1 1033 +SHA256 45782abffb005ac1a415ae6ad963bddb0f57bcfff1eb6a225f63abfd8d14050d files/digest-open-xchange-0.8.2_p1 1033 diff --git a/www-apps/open-xchange/files/88_mod_jk.ox.conf b/www-apps/open-xchange/files/88_mod_jk.ox.conf new file mode 100644 index 0000000..d6a092f --- /dev/null +++ b/www-apps/open-xchange/files/88_mod_jk.ox.conf @@ -0,0 +1,46 @@ +<IfDefine JK> +jkMount /manager ajp13 +jkMount /manager/* ajp13 + +jkMount /servlet ajp13 +jkMount /servlet/* ajp13 + +jkMount /umin ajp13 +jkMount /umin/* ajp13 + +jkMount /servlet/webdav.contacts ajp13 +jkMount /servlet/webdav.contacts/* ajp13 + +jkMount /servlet/webdav.calendar ajp13 +jkMount /servlet/webdav.calendar/* ajp13 + +jkMount /servlet/webdav.ical ajp13 +jkMount /servlet/webdav.ical/* ajp13 + +jkMount /servlet/webdav.documents ajp13 +jkMount /servlet/webdav.documents/* ajp13 + +jkMount /servlet/webdav.tasks ajp13 +jkMount /servlet/webdav.tasks/* ajp13 + +jkMount /servlet/webdav.folders ajp13 +jkMount /servlet/webdav.folders/* ajp13 + +jkMount /servlet/webdav.projects ajp13 +jkMount /servlet/webdav.projects/* ajp13 + +jkMount /servlet/webdav.groupuser ajp13 +jkMount /servlet/webdav.groupuser/* ajp13 + +jkMount /servlet/webdav.attachments ajp13 +jkMount /servlet/webdav.attachments/* ajp13 + +jkMount /servlet/webdav.freebusy ajp13 +jkMount /servlet/webdav.freebusy/* ajp13 + +jkMount /servlet/webdav.vcard ajp13 +jkMount /servlet/webdav.vcard/* ajp13 + +jkMount /servlet/webdav.bookmarks ajp13 +jkMount /servlet/webdav.bookmarks/* ajp13 +</IfDefine> diff --git a/www-apps/open-xchange/files/Makefile.am b/www-apps/open-xchange/files/Makefile.am new file mode 100644 index 0000000..c6cab9a --- /dev/null +++ b/www-apps/open-xchange/files/Makefile.am @@ -0,0 +1,122 @@ +SUBDIRS = javabuild src +clean: @sslsubdir@ + @ANT@ clean + +misc: + rm src/misc/ssl/com_openchange_ssl_SSLServerSocket.h + rm src/misc/ssl/com_openexchange_ssl_SSLCtx.h + rm src/misc/ssl/com_openexchange_ssl_SSLInputStream.h + rm src/misc/ssl/com_openexchange_ssl_SSLOutputStream.h + rm src/misc/ssl/com_openexchange_ssl_SSLSession.h + rm src/misc/ssl/com_openexchange_ssl_SSLSocket.h + +install: + $(mkinstalldirs) ${D}/@bindir@ + $(mkinstalldirs) ${D}/@sbindir@ + $(mkinstalldirs) ${D}/@datadir@ + $(mkinstalldirs) ${D}/@datadir@/images + $(mkinstalldirs) ${D}/@datadir@/sound + $(mkinstalldirs) ${D}/@datadir@/misc + $(mkinstalldirs) ${D}/@datadir@/servlets + $(mkinstalldirs) ${D}/@datadir@/perl + $(mkinstalldirs) ${D}/@oxgroupwarehtmldir@ + $(mkinstalldirs) ${D}/@oxwebmailhtmldir@ + $(mkinstalldirs) ${D}/@sysconfdir@ + $(mkinstalldirs) ${D}/@sysconfdir@/groupware + $(mkinstalldirs) ${D}/@sysconfdir@/webmail + $(mkinstalldirs) ${D}/@sysconfdir@/init.d + $(mkinstalldirs) ${D}/@sysconfdir@/groupware/CERT + $(mkinstalldirs) ${D}/@localstatedir@ + $(mkinstalldirs) ${D}/@localstatedir@/log + $(mkinstalldirs) ${D}/@localstatedir@/settings/intranet + $(mkinstalldirs) ${D}/@localstatedir@/settings/webmail + $(mkinstalldirs) ${D}/@localstatedir@/filespool + $(mkinstalldirs) ${D}/@localstatedir@/drafts + $(mkinstalldirs) ${D}/@localstatedir@/webmailupload + $(mkinstalldirs) ${D}/@localstatedir@/dictionary + $(mkinstalldirs) ${D}/@libdir@ + $(mkinstalldirs) ${D}/@includedir@ + $(mkinstalldirs) ${D}/@infodir@ + $(mkinstalldirs) ${D}/@mandir@ + chmod 755 bin/groupware/openexchange-groupware + chmod 755 bin/groupware/openexchange-sessiond + chmod 755 bin/webmail/openexchange-webmail + chmod 755 sbin/addgroup_ox + chmod 755 sbin/addresource_ox + chmod 755 sbin/addresourcegroup_ox + chmod 755 sbin/addresourcetogroup_ox + chmod 755 sbin/adduser_ox + chmod 755 sbin/addusersql_ox + chmod 755 sbin/addusertogroup_ox + chmod 755 sbin/changecyruspass_ox + chmod 755 sbin/changeuserattr_ox + chmod 755 sbin/delgroup_ox + chmod 755 sbin/delresource_ox + chmod 755 sbin/delresourcefromgroup_ox + chmod 755 sbin/delresourcegroup_ox + chmod 755 sbin/deluser_ox + chmod 755 sbin/deluserfromgroup_ox + chmod 755 sbin/correctfilespool + chmod 755 system/etc/init.d/groupware + chmod 755 system/etc/init.d/webmail + chmod 755 system/etc/init.d/sessiond + chmod 755 system/etc/init.d/openexchange + cp bin/groupware/openexchange-groupware ${D}/@bindir@/. + cp bin/groupware/openexchange-sessiond ${D}/@bindir@/. + cp bin/webmail/openexchange-webmail ${D}/@bindir@/. + cp sbin/addgroup_ox ${D}/@sbindir@/. + cp sbin/addresource_ox ${D}/@sbindir@/. + cp sbin/addresourcegroup_ox ${D}/@sbindir@/. + cp sbin/addresourcetogroup_ox ${D}/@sbindir@/. + cp sbin/adduser_ox ${D}/@sbindir@/. + cp sbin/addusersql_ox ${D}/@sbindir@/. + cp sbin/addusertogroup_ox ${D}/@sbindir@/. + cp sbin/changeuserattr_ox ${D}/@sbindir@/. + cp sbin/delgroup_ox ${D}/@sbindir@/. + cp sbin/delresource_ox ${D}/@sbindir@/. + cp sbin/delresourcefromgroup_ox ${D}/@sbindir@/. + cp sbin/delresourcegroup_ox ${D}/@sbindir@/. + cp sbin/deluser_ox ${D}/@sbindir@/. + cp sbin/deluserfromgroup_ox ${D}/@sbindir@/. + cp sbin/correctfilespool ${D}/@sbindir@/. + cp -r system/setup/* ${D}/@datadir@/. + cp -r system/etc/cron.d/ ${D}/@sysconfdir@/. + cp system/etc/init.d/groupware ${D}/@sysconfdir@/init.d/. + cp system/etc/init.d/sessiond ${D}/@sysconfdir@/init.d/. + cp system/etc/init.d/webmail ${D}/@sysconfdir@/init.d/. + cp system/etc/init.d/openexchange ${D}/@sysconfdir@/init.d/. + cp conf/admintools.conf ${D}/@sysconfdir@/. + cp conf/initscript.conf ${D}/@sysconfdir@/. + cp conf/groupware/nasi.conf ${D}/@sysconfdir@/groupware/. + cp conf/groupware/calendar ${D}/@sysconfdir@/groupware/. + cp conf/groupware/currencyformat ${D}/@sysconfdir@/groupware/. + cp conf/groupware/dateformat ${D}/@sysconfdir@/groupware/. + cp conf/groupware/external.conf ${D}/@sysconfdir@/groupware/. + cp conf/groupware/forum ${D}/@sysconfdir@/groupware/. + cp conf/groupware/intranet.conf ${D}/@sysconfdir@/groupware/. + cp conf/groupware/ldap.properties ${D}/@sysconfdir@/groupware/. + cp conf/groupware/server.conf ${D}/@sysconfdir@/groupware/. + cp conf/groupware/system.properties ${D}/@sysconfdir@/groupware/. + cp conf/groupware/tasks ${D}/@sysconfdir@/groupware/. + cp -r conf/groupware/locales ${D}/@sysconfdir@/groupware/. + cp -r conf/groupware/METADB ${D}/@sysconfdir@/groupware/. + cp conf/webmail/flags.cfg ${D}/@oxwebmailsysconfdir@/. + cp conf/webmail/system.properties ${D}/@oxwebmailsysconfdir@/. + cp conf/webmail/nasi.conf ${D}/@oxwebmailsysconfdir@/. + cp conf/webmail/server.conf ${D}/@oxwebmailsysconfdir@/. + cp conf/webmail/spellcheck.cfg ${D}/@oxwebmailsysconfdir@/. + cp conf/webmail/system.cfg ${D}/@oxwebmailsysconfdir@/. + cp conf/webmail/system.properties ${D}/@oxwebmailsysconfdir@/. + cp -r conf/webmail/locales ${D}/@oxwebmailsysconfdir@/. + cp -r groupware/* ${D}/@oxgroupwarehtmldir@/. + cp -r webmail/* ${D}/@oxwebmailhtmldir@/. + cp -r system/www/groupware/* ${D}/@datadir@/groupware/data/. + cp -r system/www/webmail/* ${D}/@datadir@/webmail/data/. + cp lib/* ${D}/@libdir@/ + if test -f src/misc/ssl/.libs/liboxssl.so ; then cp src/misc/ssl/.libs/liboxssl.so ${D}/@libdir@/. ; fi + chmod 755 src/misc/login/login.pl + cp src/misc/login/login.pl ${D}/@datadir@/perl/. + cp src/misc/login/login.pm ${D}/@datadir@/perl/. + cp build/intranet.class ${D}/@datadir@/servlets/. + cp build/webmail.class ${D}/@datadir@/servlets/. + diff --git a/www-apps/open-xchange/files/digest-open-xchange-0.8.2-r1 b/www-apps/open-xchange/files/digest-open-xchange-0.8.2-r1 new file mode 100644 index 0000000..56d1e32 --- /dev/null +++ b/www-apps/open-xchange/files/digest-open-xchange-0.8.2-r1 @@ -0,0 +1,12 @@ +MD5 0c390658072367c892ce5ff423a02def Crystal_OX_Theme.tgz 53788 +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/digest-open-xchange-0.8.2_p1 b/www-apps/open-xchange/files/digest-open-xchange-0.8.2_p1 new file mode 100644 index 0000000..6552306 --- /dev/null +++ b/www-apps/open-xchange/files/digest-open-xchange-0.8.2_p1 @@ -0,0 +1,12 @@ +MD5 0c390658072367c892ce5ff423a02def Crystal_OX_Theme.tgz 53788 +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 18f1b67eb4bfdb29b26795dfdc3cb98d open-xchange-0.8.2-1.tar.bz2 1969458 +RMD160 73fe0db243b78e8b62b2a8dbd1e4a7f0a4c433eb open-xchange-0.8.2-1.tar.bz2 1969458 +SHA256 e7fbd29b8a3a293af8b04fb46da22bcc98997051efdf041834b8e88820983785 open-xchange-0.8.2-1.tar.bz2 1969458 +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/init.d.open-xchange b/www-apps/open-xchange/files/init.d.open-xchange new file mode 100644 index 0000000..8d3d9c4 --- /dev/null +++ b/www-apps/open-xchange/files/init.d.open-xchange @@ -0,0 +1,84 @@ +#!/sbin/runscript + +groupware="/etc/open-xchange/init.d/groupware" +webmail="/etc/open-xchange/init.d/webmail" +sessiond="/etc/open-xchange/init.d/sessiond" + +depend() { + need net slapd apache2 tomcat-5 + use postgresql mysql cyrus courier-imapd courier-imapd-ssl postfix + after postgresql mysql +} + +checkconfig() { + if [[ ! -x ${groupware} ]] ; then + eerror "${groupware} doesn't exist or nor executable" + return 1 + fi + if [[ ! -x ${webmail} ]] ; then + eerror "${webmail} doesn't exist or nor executable" + return 1 + fi + if [[ ! -x ${sessiond} ]] ; then + eerror "${sessiond} doesn't exist or nor executable" + return 1 + fi +} + + +start() { + checkconfig || return 1 + + local retval + + ebegin "Starting Open-Xchange sessiond" + start-stop-daemon --start --exec ${sessiond} -- start &> /dev/null + retval=$? + eend $retval + [[ ${retval} -eq 0 ]] || return 1 + + ebegin "Starting Open-Xchange groupware" + start-stop-daemon --start --exec ${groupware} -- start &> /dev/null + retval=$? + eend $retval + [[ ${retval} -eq 0 ]] || return 1 + + ebegin "Starting Open-Xchange webmail" + start-stop-daemon --start --exec ${webmail} -- start &> /dev/null + retval=$? + eend $retval + [[ ${retval} -eq 0 ]] || return 1 +} + +stop() { + local retval + + ebegin "Stopping Open-Xchange sessiond" + start-stop-daemon --start --exec ${sessiond} -- stop &> /dev/null + retval=$? + eend $retval + [[ ${retval} -eq 0 ]] || return 1 + + ebegin "Stopping Open-Xchange groupware" + start-stop-daemon --start --exec ${groupware} -- stop &> /dev/null + retval=$? + eend $retval + [[ ${retval} -eq 0 ]] || return 1 + + ebegin "Stopping Open-Xchange webmail" + start-stop-daemon --start --exec ${webmail} -- stop &> /dev/null + retval=$? + eend $retval + [[ ${retval} -eq 0 ]] || return 1 +} + +opts="${opts} extendstatus" + +extendstatus() { + status="$sessiond status" + $status + status="$groupware status" + $status + stop="$webmail status" + $status +} diff --git a/www-apps/open-xchange/files/init_db.sql b/www-apps/open-xchange/files/init_db.sql new file mode 100644 index 0000000..1c2b9fd --- /dev/null +++ b/www-apps/open-xchange/files/init_db.sql @@ -0,0 +1,5 @@ +INSERT INTO sys_gen_rights_template values +('now','admin','now','','default_template','y','y','y','y', +'y','y','y','y','y','y','y','y','y','y','y','y','y','y','y', +'y','y','y','y','y','y','y','y','y','y','y','y','y','y','y', +'y','y','y','y','y','y','y','y','y','y','y','y','y'); diff --git a/www-apps/open-xchange/files/ldap_ox.include b/www-apps/open-xchange/files/ldap_ox.include new file mode 100644 index 0000000..24b031d --- /dev/null +++ b/www-apps/open-xchange/files/ldap_ox.include @@ -0,0 +1,11 @@ +# include /etc/openldap/schema/core.schema +include /etc/openldap/schema/cosine.schema +include /etc/openldap/schema/nis.schema +include /etc/openldap/schema/inetorgperson.schema +include /opt/open-xchange/share/openxchange.schema +database bdb +suffix "dc=example,dc=org" +rootdn "uid=admin,dc=example,dc=org" +rootpw secret +directory /var/lib/openldap-ox +index uid,mailEnabled,cn,sn,givenname,lnetMailAccess,alias,loginDestination eq,sub diff --git a/www-apps/open-xchange/files/open-xchange b/www-apps/open-xchange/files/open-xchange new file mode 100644 index 0000000..eb555fc --- /dev/null +++ b/www-apps/open-xchange/files/open-xchange @@ -0,0 +1,62 @@ +#!/sbin/runscript + +PROG_NAME="OX" + +groupware="/etc/open-xchange/init.d/groupware" +webmail="/etc/open-xchange/init.d/webmail" +sessiond="/etc/open-xchange/init.d/sessiond" + +depend() { + need net slapd postfix cyrus apache2 tomcat5 + use postgresql mysql + after postgresql mysql +} + +checkconfig() { + if [ ! -x "$groupware" ] ; then + eerror "$groupware doesn't exist or nor executable" + return 1 + fi + if [ ! -x "$webmail" ] ; then + eerror "$webmail doesn't exist or nor executable" + return 1 + fi + if [ ! -x "$sessiond" ] ; then + eerror "$sessiond doesn't exist or nor executable" + return 1 + fi +} + + +start() { + checkconfig || return 1 + ebegin "Starting Open-Xchange" + start="$sessiond start" + $start + start="$groupware start" + $start + start="$webmail start" + $start +# eend $? +} + +stop() { + echo "Stoping Open-Xchange" + stop="$sessiond stop" + $stop + stop="$groupware stop" + $stop + stop="$webmail stop" + $stop +} + +opts="${opts} extendstatus" + +extendstatus() { + status="$sessiond status" + $status + status="$groupware status" + $status + stop="$webmail status" + $status +} diff --git a/www-apps/open-xchange/files/open-xchange-0.8.1.2-login.patch b/www-apps/open-xchange/files/open-xchange-0.8.1.2-login.patch new file mode 100644 index 0000000..dd032e4 --- /dev/null +++ b/www-apps/open-xchange/files/open-xchange-0.8.1.2-login.patch @@ -0,0 +1,14 @@ +--- src/misc/login/login.pm.in.orig 2005-08-26 17:08:58.000000000 +0200 ++++ src/misc/login/login.pm.in 2005-09-25 00:34:39.000000000 +0200 +@@ -28,9 +28,9 @@ + # SSL + my $ssl_key_file = '@oxgroupwaresysconfdir@/sslcerts/oxCERTS/groupwarekey.pem'; + my $ssl_cert_file = '@oxgroupwaresysconfdir@/sslcerts/oxCERTS/groupwarecert.pem'; +-my $ssl_ca_file = '@oxgroupwaresysconfdir@/sslcerts/oxCA/cacert.pem '; ++my $ssl_ca_file = '@oxgroupwaresysconfdir@/sslcerts/oxCA/cacert.pem'; + my $ssl_use_cert = 1; +-my $ssl_verify_mode = '0x01'; ++my $ssl_verify_mode = 0x01; + # LDAP + #my $scope = 'one'; + #my $ldap_conf = '@oxgroupwaresysconfdir@/ldap.conf'; diff --git a/www-apps/open-xchange/files/open-xchange-0.8.1.5-oxFolder.patch b/www-apps/open-xchange/files/open-xchange-0.8.1.5-oxFolder.patch new file mode 100644 index 0000000..5243354 --- /dev/null +++ b/www-apps/open-xchange/files/open-xchange-0.8.1.5-oxFolder.patch @@ -0,0 +1,14 @@ +--- system/www/groupware/javascript/oxFolder.js.old 2005-11-28 22:31:25.000000000 +0100 ++++ system/www/groupware/javascript/oxFolder.js 2005-11-28 22:05:18.000000000 +0100 +@@ -24,9 +24,9 @@ + menuSelection=ediv[2]; + selectedFolderID=ediv[3]; + selectedFolder=selectedElement; +- if (selectedElement.id.indexOf("|txt") != -1) ++ if (selectedElement.id.indexOf("|txt") == -1) + selectedFolder=document.getElementById(selectedElement.id+"|txt"); +- selectedFolderName=selectedFolder.firstChild.nodeValue; ++ selectedFolderName=(selectedFolder ? selectedFolder.firstChild.nodeValue : "unkown"); + } + if (window.Event && !document.all) { + x=e.pageX; 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 0000000..7d82818 --- /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 0000000..d4a5682 --- /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 0000000..009663c --- /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ß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/files/open-xchange-0.8.2_rc3-mysql.patch b/www-apps/open-xchange/files/open-xchange-0.8.2_rc3-mysql.patch new file mode 100644 index 0000000..bbbbeeb --- /dev/null +++ b/www-apps/open-xchange/files/open-xchange-0.8.2_rc3-mysql.patch @@ -0,0 +1,521 @@ +diff -rNBwU 2 open-xchange-0.8.2-RC3-origin/conf/admintools.conf.in open-xchange-0.8.2-RC3/conf/admintools.conf.in +--- open-xchange-0.8.2-RC3-origin/conf/admintools.conf.in 2006-02-14 14:33:43.000000000 +0100 ++++ open-xchange-0.8.2-RC3/conf/admintools.conf.in 2006-02-15 14:42:12.000000000 +0100 +@@ -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-RC3-origin/conf/groupware/intranet.conf open-xchange-0.8.2-RC3/conf/groupware/intranet.conf +--- open-xchange-0.8.2-RC3-origin/conf/groupware/intranet.conf 2006-02-14 14:33:43.000000000 +0100 ++++ open-xchange-0.8.2-RC3/conf/groupware/intranet.conf 2006-02-15 15:29:07.000000000 +0100 +@@ -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-RC3-origin/configure.in open-xchange-0.8.2-RC3/configure.in +--- open-xchange-0.8.2-RC3-origin/configure.in 2006-02-14 14:33:43.000000000 +0100 ++++ open-xchange-0.8.2-RC3/configure.in 2006-02-15 14:59:10.000000000 +0100 +@@ -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-RC3-origin/sbin/deluser_ox.in open-xchange-0.8.2-RC3/sbin/deluser_ox.in +--- open-xchange-0.8.2-RC3-origin/sbin/deluser_ox.in 2006-02-14 14:33:43.000000000 +0100 ++++ open-xchange-0.8.2-RC3/sbin/deluser_ox.in 2006-02-15 15:45:07.000000000 +0100 +@@ -115,9 +115,9 @@ + then + +- SQL_INSERT=`$MYSQL_BIN -h $DEFAULT_SQL_HOST -u $DEFAULT_SQL_USER --password=$DEFAULT_SQL_PASS $DEFAULT_SQL_DB -e "DELETE FROM $RIGHTS_TABLE WHERE login LIKE '$USERNAME'" ` ++ SQL_INSERT=`$SQL_BIN -h $DEFAULT_SQL_HOST -U $DEFAULT_SQL_USER -d $DEFAULT_SQL_DB -X -c "DELETE FROM $RIGHTS_TABLE WHERE login LIKE '$USERNAME'" | $AWK_BIN {'print $1'}` + + else + +- SQL_INSERT=`$SQL_BIN -h $DEFAULT_SQL_HOST -U $DEFAULT_SQL_USER -d $DEFAULT_SQL_DB -X -c "DELETE FROM $RIGHTS_TABLE WHERE login LIKE '$USERNAME'" | $AWK_BIN {'print $1'}` ++ SQL_INSERT=`$MYSQL_BIN -h $DEFAULT_SQL_HOST -u $DEFAULT_SQL_USER --password=$DEFAULT_SQL_PASS $DEFAULT_SQL_DB -e "DELETE FROM $RIGHTS_TABLE WHERE login LIKE '$USERNAME'" ` + if [ $? -eq 0 ]; then + SQL_INSERT="DELETE" +diff -rNBwU 2 open-xchange-0.8.2-RC3-origin/src/com/openexchange/tools/HTMLConfirmation.java open-xchange-0.8.2-RC3/src/com/openexchange/tools/HTMLConfirmation.java +--- open-xchange-0.8.2-RC3-origin/src/com/openexchange/tools/HTMLConfirmation.java 2006-02-14 14:33:43.000000000 +0100 ++++ open-xchange-0.8.2-RC3/src/com/openexchange/tools/HTMLConfirmation.java 2006-02-16 16:08:58.000000000 +0100 +@@ -190,5 +190,5 @@ + + writeCon = DBPool.pickupWriteable(); +- stmt = writeCon.prepareStatement("UPDATE \"" + table + "\" SET confirm=?, reason=? WHERE (object_id=? AND member_uid LIKE ?)"); ++ stmt = writeCon.prepareStatement("UPDATE " + table + " SET confirm=?, reason=? WHERE (object_id=? AND member_uid LIKE ?)"); + stmt.setString(1, no.user.get("HTMLConfirmReason").toString()); + stmt.setString(2, comment); +@@ -209,5 +209,5 @@ + try { + String orig_table = table.startsWith("prg_date") ? "prg_dates" : "prg_tasks"; +- stmt = writeCon.prepareStatement("UPDATE \"" + orig_table + "\" SET changed_from = '" + no.getUser() + "', changing_date = 'NOW' WHERE (intfield01=?)"); ++ stmt = writeCon.prepareStatement("UPDATE " + orig_table + " SET changed_from = '" + no.getUser() + "', changing_date = 'NOW' WHERE (intfield01=?)"); + try { + stmt.setLong(1, Long.parseLong(objectID)); +diff -rNBwU 2 open-xchange-0.8.2-RC3-origin/system/setup/create_mysql_database.sql.in open-xchange-0.8.2-RC3/system/setup/create_mysql_database.sql.in +--- open-xchange-0.8.2-RC3-origin/system/setup/create_mysql_database.sql.in 1970-01-01 01:00:00.000000000 +0100 ++++ open-xchange-0.8.2-RC3/system/setup/create_mysql_database.sql.in 2006-02-15 14:58:28.000000000 +0100 +@@ -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 = 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 ; ++ +diff -rNBwU 2 open-xchange-0.8.2-RC3-origin/system/setup/init_mysql_database.sql open-xchange-0.8.2-RC3/system/setup/init_mysql_database.sql +--- open-xchange-0.8.2-RC3-origin/system/setup/init_mysql_database.sql 2006-02-14 14:33:43.000000000 +0100 ++++ open-xchange-0.8.2-RC3/system/setup/init_mysql_database.sql 2006-02-15 15:22:55.000000000 +0100 +@@ -1,111 +1,2 @@ +- +-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 ( + intfield01 integer, +@@ -446,5 +337,5 @@ + timestampfield01 timestamp , + timestampfield02 timestamp , +- intfield01 int NOT NULL, ++ intfield01 int PRIMARY KEY, + intfield02 int, + intfield03 int, +@@ -1127,5 +1018,5 @@ + CREATE TABLE projects_notes ( + intfield01 integer, +- note_id VARCHAR (255), ++ note_id VARCHAR(166), + member_id text, + primary key (intfield01, note_id), +@@ -1135,5 +1026,5 @@ + CREATE TABLE backup_projects_notes ( + intfield01 integer, +- note_id VARCHAR (255), ++ note_id VARCHAR(166), + member_id text, + primary key (intfield01, note_id), +@@ -1178,5 +1069,5 @@ + intfield01 integer, + id integer, +- antecessor VARCHAR (255), ++ antecessor VARCHAR(166), + object_type integer, + primary key (intfield01, id, antecessor), +@@ -1187,5 +1078,5 @@ + intfield01 integer, + id integer, +- antecessor VARCHAR (255), ++ antecessor VARCHAR(166), + object_type integer, + primary key (intfield01, id, antecessor), +@@ -1328,5 +1219,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 +1279,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 +1339,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, +@@ -1971,5 +1952,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, +@@ -1991,5 +1972,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, +@@ -2045,4 +2026,10 @@ + ); + ++CREATE TABLE oxfolder_userfolders_standardfolders ( ++ owner text, ++ module text, ++ fuid int ++); ++ + CREATE TABLE del_oxfolder_tree ( + fuid int, +@@ -2109,12 +2096,18 @@ + ); + +-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); +-INSERT INTO oxfolder_tree VALUES (3, 0, 'shared', 'system', 'system','system', 'system', now(), 'System', null, null); +-INSERT INTO oxfolder_tree VALUES (4, 0, 'system', 'system', 'system','system', 'system', now(), 'System', null, null); +-INSERT INTO oxfolder_tree VALUES (5, 4, 'system_global', 'contact', 'system','system', 'system', now(), 'System', null, null); +-INSERT INTO oxfolder_tree VALUES (6, 4, 'system_ldap', 'contact', 'system','system', 'system', now(), 'System', null, null); +-INSERT INTO oxfolder_tree VALUES (7, 0, 'user', 'system', 'system','system', 'system', now(), 'System', null, null); +-INSERT INTO oxfolder_tree VALUES (8, 7, 'projects', 'projects', 'system','system', 'system', now(), 'System', null, null); ++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); ++INSERT INTO oxfolder_tree VALUES (3, 0, 'shared', 'system', 'system','system', 'system', 'now', 'System', null, null); ++INSERT INTO oxfolder_tree VALUES (4, 0, 'system', 'system', 'system','system', 'system', 'now', 'System', null, null); ++INSERT INTO oxfolder_tree VALUES (5, 4, 'system_global', 'contact', 'system','system', 'system', 'now', 'System', null, null); ++INSERT INTO oxfolder_tree VALUES (6, 4, 'system_ldap', 'contact', 'system','system', 'system', 'now', 'System', null, null); ++INSERT INTO oxfolder_tree VALUES (7, 0, 'user', 'system', 'system','system', 'system', 'now', 'System', null, null); ++INSERT INTO oxfolder_tree VALUES (8, 7, 'projects', 'projects', 'system','system', 'system', 'now', 'System', null, null); + + INSERT INTO oxfolder_permissions VALUES (select_serial_id(), 1, 512,'all_ox_users_and_ox_groups', 0, 8, 0, 0, 0); + diff --git a/www-apps/open-xchange/files/open-xchange-htaccess b/www-apps/open-xchange/files/open-xchange-htaccess new file mode 100644 index 0000000..83c7cf0 --- /dev/null +++ b/www-apps/open-xchange/files/open-xchange-htaccess @@ -0,0 +1,7 @@ +<IfModule mod_rewrite.c> + RewriteEngine on + + RewriteRule ^$ /cgi-bin/login.pl + RewriteRule ^/$ /cgi-bin/login.pl + RewriteRule ^/open-xchange/(.*)$ $1 [L,QSA] +</IfModule> diff --git a/www-apps/open-xchange/files/openexchange b/www-apps/open-xchange/files/openexchange new file mode 100644 index 0000000..1f91da2 --- /dev/null +++ b/www-apps/open-xchange/files/openexchange @@ -0,0 +1,59 @@ +#! /bin/sh + +PROG_NAME="OX" + +groupware="/etc/open-xchange/init.d/groupware" +webmail="/etc/open-xchange/init.d/webmail" +sessiond="/etc/open-xchange/init.d/sessiond" + +case "$1" in + start) + echo "Starting all" + start="$sessiond start" + $start + + start="$groupware start" + $start + + start="$webmail start" + $start + ;; + stop) + echo "Stoping all" + stop="$sessiond stop" + $stop + + stop="$groupware stop" + $stop + + stop="$webmail stop" + $stop + ;; + restart) + echo "Restarting all" + restart="$sessiond restart" + $restart + + restart="$groupware restart" + $restart + + restart="$webmail restart" + $restart + ;; + status) + echo "Checking all" + + status="$sessiond status" + $status + + status="$groupware status" + $status + + status="$webmail status" + $status + ;; + *) + echo "Usage: $0 {start|stop|status|restart}" + exit 1 + ;; +esac diff --git a/www-apps/open-xchange/files/ox_project.sql b/www-apps/open-xchange/files/ox_project.sql new file mode 100644 index 0000000..d9dc0f1 --- /dev/null +++ b/www-apps/open-xchange/files/ox_project.sql @@ -0,0 +1,238 @@ +CREATE SEQUENCE "serial_id" start 9 increment 1 maxvalue 2147483647 minvalue 1 cache 1 cycle; +CREATE TABLE projects ( + "intfield01" integer, + "fuid" integer, + "creation_date" timestamp with time zone, + "created_from" text, + "changing_date" timestamp with time zone, + "changed_from" text, + "user_right" text, + "sid" text, + "tid" text, + "project_startdate" timestamp with time zone, + "project_enddate" timestamp with time zone, + "project_deadline" timestamp with time zone, + "project_reminder" timestamp with time zone, + "project_budget" text, + "project_effort" text, + "project_effort_unit" text, + "project_currency" text, + "project_type" text, + "project_kickoff" timestamp with time zone, + "project_description" text, + "project_goal" text, + "project_customer" text, + "project_name" text, + "project_status" text, + "project_phase" text, + "project_number_of_attachments" integer, + "project_task_folder_id" integer, + "project_manage_permissions" integer, + primary key (intfield01) +); + +CREATE TABLE backup_projects ( + "intfield01" integer, + "fuid" integer, + "creation_date" timestamp with time zone, + "created_from" text, + "changing_date" timestamp with time zone, + "changed_from" text, + "user_right" text, + "sid" text, + "tid" text, + "project_startdate" timestamp with time zone, + "project_enddate" timestamp with time zone, + "project_deadline" timestamp with time zone, + "project_reminder" timestamp with time zone, + "project_budget" text, + "project_effort" text, + "project_effort_unit" text, + "project_currency" text, + "project_type" text, + "project_kickoff" timestamp with time zone, + "project_description" text, + "project_goal" text, + "project_customer" text, + "project_name" text, + "project_status" text, + "project_phase" text, + "project_number_of_attachments" integer, + "project_task_folder_id" integer, + "project_manage_permissions" integer, + primary key (intfield01) +); + +CREATE TABLE projects_participants ( + "intfield01" integer, + "id" text, + "name" text, + "role" integer, + "ptype" integer, + "group_id" text, + "merged_permission" integer, + primary key (intfield01, id, group_id), + foreign key (intfield01) references projects on delete cascade on update cascade +); + +CREATE TABLE backup_projects_participants ( + "intfield01" integer, + "id" text, + "name" text, + "role" integer, + "ptype" integer, + "group_id" text, + "merged_permission" integer, + primary key (intfield01, id, group_id), + foreign key (intfield01) references backup_projects on delete cascade on update cascade +); + +CREATE TABLE projects_milestones ( + "intfield01" integer, + "id" integer, + "name" text, + "description" text, + "mdate" timestamp with time zone, + primary key (intfield01, id), + foreign key (intfield01) references projects on delete cascade on update cascade +); + +CREATE TABLE backup_projects_milestones ( + "intfield01" integer, + "id" integer, + "name" text, + "description" text, + "mdate" timestamp with time zone, + primary key (intfield01, id), + foreign key (intfield01) references backup_projects on delete cascade on update cascade +); + +CREATE TABLE projects_notes ( + "intfield01" integer, + "note_id" text, + "member_id" text, + primary key (intfield01, note_id), + foreign key (intfield01) references projects on delete cascade on update cascade +); + +CREATE TABLE backup_projects_notes ( + "intfield01" integer, + "note_id" text, + "member_id" text, + primary key (intfield01, note_id), + foreign key (intfield01) references backup_projects on delete cascade on update cascade +); + +CREATE TABLE projects_tasks ( + "intfield01" integer, + "task_id" integer, + primary key (intfield01, task_id), + foreign key (intfield01) references projects on delete cascade on update cascade +); + +CREATE TABLE backup_projects_tasks ( + "intfield01" integer, + "task_id" integer, + primary key (intfield01, task_id), + foreign key (intfield01) references backup_projects on delete cascade on update cascade +); + +CREATE TABLE projects_dependencies ( + "intfield01" integer, + "id" integer, + "successor" text, + "dependency_type" integer, + "object_type" integer, + primary key (intfield01, id), + foreign key (intfield01) references projects on delete cascade on update cascade +); + +CREATE TABLE backup_projects_dependencies ( + "intfield01" integer, + "id" integer, + "successor" text, + "dependency_type" integer, + "object_type" integer, + primary key (intfield01, id), + foreign key (intfield01) references backup_projects on delete cascade on update cascade +); + +CREATE TABLE projects_antecessors ( + "intfield01" integer, + "id" integer, + "antecessor" text, + "object_type" integer, + primary key (intfield01, id, antecessor), + foreign key (intfield01, id) references projects_dependencies on delete cascade on update cascade +); + +CREATE TABLE backup_projects_antecessors ( + "intfield01" integer, + "id" integer, + "antecessor" text, + "object_type" integer, + primary key (intfield01, id, antecessor), + foreign key (intfield01, id) references backup_projects_dependencies on delete cascade on update cascade +); + +CREATE TABLE projects_puids ( + "intfield01" integer, + "puid" integer, + "entity" text, + "fuid" integer, + primary key (intfield01, puid), + foreign key (intfield01) references projects on delete cascade on update cascade +); + +CREATE TABLE backup_projects_puids ( + "intfield01" integer, + "puid" integer, + "entity" text, + "fuid" integer, + primary key (intfield01, puid), + foreign key (intfield01) references backup_projects on delete cascade on update cascade +); + +CREATE table "oxfolder_userfolders" ( + "module_name" text, + "linksite" text, + "target" text, + "img" text +); + + +CREATE TABLE "ical_principal" ( + "object_id" int, + "principal" text, + "calendarfolder" int, + "taskfolder" int +); + +CREATE TABLE "ical_ids" ( + "object_id" int, + "principal_id" int, + "client_id" text, + "target_object_id" int, + "module" int +); + +CREATE TABLE "vcard_principal" ( + "object_id" int, + "principal" text, + "contactfolder" int +); + +CREATE TABLE "vcard_ids" ( + "object_id" int, + "principal_id" int, + "client_id" text, + "target_object_id" int +); + +INSERT INTO oxfolder_tree VALUES (7, 0, 'user', 'system', 'system','system', 'system', 'now', 'System', null, null); +INSERT INTO oxfolder_tree VALUES (8, 7, 'projects', 'projects', 'system','system', 'system', 'now', 'System', null, null); +INSERT INTO oxfolder_permissions VALUES ((select nextval('serial_id')), 7, 512, 'all_ox_users_and_ox_groups', 0, 2, 0, 0, 0); +INSERT INTO oxfolder_permissions VALUES ((select nextval('serial_id')), 8, 512, 'all_ox_users_and_ox_groups', 0, 8, 4, 2, 2); +INSERT INTO oxfolder_specialfolders VALUES ('user', 7); + +INSERT INTO oxfolder_userfolders VALUES ('projects', 'projects/projects_list_all', null, 'folder/item_projects.png'); diff --git a/www-apps/open-xchange/files/ox_reminder.sql b/www-apps/open-xchange/files/ox_reminder.sql new file mode 100644 index 0000000..84e6c1e --- /dev/null +++ b/www-apps/open-xchange/files/ox_reminder.sql @@ -0,0 +1,10 @@ +CREATE TABLE "reminder" ( + "object_id" int, + "target_id" text, + "module" int, + "username" text, + "alarm" timestamp with time zone, + "description" text, + "folder" text +); + diff --git a/www-apps/open-xchange/files/postinstall-en.txt b/www-apps/open-xchange/files/postinstall-en.txt new file mode 100644 index 0000000..5638ea0 --- /dev/null +++ b/www-apps/open-xchange/files/postinstall-en.txt @@ -0,0 +1,31 @@ +=========================================================== + + You have successfully installed Open-Xchange + +=========================================================== + + o FILE LOCATIONS + + 1. Open-Xchange home directory: /opt/open-xchange + 2. Configuration: /opt/open-xchange/etc + 3. Scripts to add user, ...: /opt/open-xchange/sbin + + o STARTING and STOPPING the Open-Xchange + + /etc/init.d/openexchange start + /etc/init.d/openexchange stop + /etc/init.d/openexchange restart + + o IMPORTANT: + + 1. Please be sure that your postgresql enables TCP/IP connections. + + /etc/conf.d/postgresql + + PGOPTS="-i" + + o HOW TO TEST + + Point your browser on the Open-Xchange site: + + http://localhost/cgi-bin/login-pl diff --git a/www-apps/open-xchange/files/reconfig b/www-apps/open-xchange/files/reconfig new file mode 100644 index 0000000..2c629c1 --- /dev/null +++ b/www-apps/open-xchange/files/reconfig @@ -0,0 +1,142 @@ +#!/bin/bash + +function die { + echo $1 + exit 1 +} + +# +# INSTALL +# +if [ $1 = "start" -o $1 = "install" ]; then + echo "" + echo "" + echo "" + # + # + # Preparing TOMCAT + # + # + echo "- Prepare Tomcat servlet directory for the Open-Xchange" + + mkdir -p /opt/tomcat5/webapps/servlet/WEB-INF/classes + cp /opt/open-xchange/share/servlets/* /opt/tomcat5/webapps/servlet/WEB-INF/classes/ + mkdir -p /opt/tomcat5/webapps/servlet/WEB-INF/lib + cp /opt/open-xchange/lib/* /opt/tomcat5/webapps/servlet/WEB-INF/lib/ + cp ${FILESDIR}/web.xml /opt/tomcat5/webapps/servlet/WEB-INF/web.xml + chown -R tomcat:tomcat /opt/tomcat5/webapps/servlet/ + chmod -R 755 /opt/tomcat5/webapps/servlet/ + + echo "- Restarting tomcat" + /etc/init.d/tomcat5 restart || die "tomcat needs to be running" + + # + # + # Preparing the DB + # + # + echo "- Starting postgresql" + /etc/init.d/postgresql restart || die "postgresql needs to be running" + echo "- Create openexchange user" + sudo -u postgres createuser -A -d openexchange >/dev/null 2>&1 + echo "- Create openexchange database" + sudo -u postgres createdb -O openexchange -E UNICODE openexchange >/dev/null 2>&1 + echo "- Init openexchange database" + psql -U openexchange openexchange < /opt/open-xchange/share/init_database.sql >/dev/null 2>&1 + psql -U openexchange openexchange < ${FILESDIR}/init_db.sql >/dev/null 2>&1 + + # + # + # Preparing SLAPD + # + # + cp ${FILESDIR}/ldap_ox.include /opt/open-xchange/etc/. + chmod 640 /opt/open-xchange/etc/ldap_ox.include + chown root:ldap /opt/open-xchange/etc/ldap_ox.include + + #egrep -e "ldap_ox.include" /etc/openldap/slapd.conf + #if [ $? -eq 1 ] ; then + # echo "include /opt/open-xchange/etc/ldap_ox.include" >> /etc/openldap/slapd.conf + # chown ldap:ldap /etc/openldap/slapd.conf + #fi + + # make state directories + #mkdir /var/lib/openldap-ox + #chown ldap:ldap /var/lib/openldap-ox + #chmod 0700 /var/lib/openldap-ox + + #echo "- Starting ldap" + #/etc/init.d/slapd restart || die "slapd needs to be running" + + #PASS=`perl -e 'print crypt(admin,pack("C2",(int(rand 26)+65),(int(rand 26)+65)));'` + sed -i "s|newmailadminpass|$PASS|g" /opt/open-xchange/share/init_ldap.ldif + #slapadd -b "dc=example,dc=org" -l /opt/open-xchange/share/init_ldap.ldif + + #egrep -e "dc=example,dc=org" /etc/openldap/ldap.conf + #if [ $? -eq 1 ] ; then + # echo "BASE dc=example,dc=org" >> /etc/openldap/ldap.conf + # echo "HOST localhost" >> /etc/openldap/ldap.conf + # chown ldap:ldap /etc/openldap/slapd.conf + #fi + + ln -s /etc/openldap/ldap.conf /opt/open-xchange/etc/groupware/ldap.conf + ln -s /etc/openldap/ldap.conf /opt/open-xchange/etc/webmail/ldap.conf + + # + # + # Creating test user + # + # + #/opt/open-xchange/sbin/./adduser_ox \ + # --username="test" \ + # --passwd="test" \ + # --name="user" \ + # --sname="test" \ + # --maildomain="example.org" \ + # --ox_timezone="Europe/Paris" + + #/opt/open-xchange/sbin/./addgroup_ox --group=developers + + # + # + # Filespool + # + # + echo "- Creating filespool" + /opt/open-xchange/sbin/./correctfilespool + + # + # + # Admintools + # + # + echo "- Changing admintools" + sed -i "s|cn=Manager|uid=admin|g" /opt/open-xchange/etc/admintools.conf + + # + # + # Restarting apache2 + # + # + #echo "- Restarting apache2" + #/etc/init.d/apache2 restart || die "apache2 needs to be running" + + # + # + # Restarting open-xchange + # + # + #echo "- Restarting open-xchange" + #/etc/init.d/openexchange start || die "openxchange needs to be running" + +# +# CLEAN +# +else + echo "- Delete Tomcat servlet directory" + rm -r /opt/tomcat5/webapps/servlet/ >/dev/null 2>&1 + rm -r /opt/open-xchange/etc/ + rm -r /opt/open-xchange/share/ + rm -r /opt/open-xchange/var/ +fi + diff --git a/www-apps/open-xchange/files/slapd.ox.inc b/www-apps/open-xchange/files/slapd.ox.inc new file mode 100644 index 0000000..b09c7d4 --- /dev/null +++ b/www-apps/open-xchange/files/slapd.ox.inc @@ -0,0 +1,49 @@ +access to dn.base="" + by dn="uid=root,ou=Users,ou=OxObjects,@basedn@" write + by * read + +access to dn.base="cn=Subschema" + by dn="uid=root,ou=Users,ou=OxObjects,@basedn@" write + by * read + +# protect the userPassword attribute +access to attrs=userPassword,shadowLastChange + by dn="uid=root,ou=Users,ou=OxObjects,@basedn@" write + by anonymous auth + by self write + by * none + +# global address book +access to dn.subtree="o=AddressBook,ou=OxObjects,@basedn@" + by dn="uid=root,ou=Users,ou=OxObjects,@basedn@" write + by group.exact="cn=AddressAdmins,o=AddressBook,ou=OxObjects,@basedn@" write + by users read + +# personal address book +access to dn.regex="^ou=addr,(uid=([^,]+),ou=Users,ou=OxObjects,@basedn@)$" attrs=children + by dn="uid=root,ou=Users,ou=OxObjects,@basedn@" write + by dn.exact,expand="$1" write +access to dn.regex="^uid=([^,]+),ou=addr,(uid=([^,]+),ou=Users,ou=OxObjects,@basedn@)$" attrs=entry + by dn="uid=root,ou=Users,ou=OxObjects,@basedn@" write + by dn.exact,expand="$2" write + +# default rule allowing users full access to their own entries + +# In order to let users modify their attributes through OX, you must grant +# users access to modify uid because of upstream bug #736: +# http://www.open-xchange.org/cgi-bin/bugzilla/show_bug.cgi?id=736 +# +# This is not secure and thus hasn't been set here. To enable it, add +# uid to the following list +access to attrs=birthDay,cn,description,facsimileTelephoneNumber,gecos,givenName,homePhone,initials,l,labeledURI,mobile,o,ou,OXAppointmentDays,OXDayViewInterval,OXDayViewEndTime,OXDayViewStartTime,OXTaskDays,OXTimeZone,pager,postalCode,preferredLanguage,sn,st,street,telephoneNumber,title,userCountry + by dn="uid=root,ou=Users,ou=OxObjects,@basedn@" write + by self write + by * read + +access to * + by dn="uid=root,ou=Users,ou=OxObjects,@basedn@" write + by * read + +# This is supposed to give a performance boose, but it just breaks things for +# me -- eradicator +#index uid,mailEnabled,cn,sn,givenname,lnetMailAccess,alias,loginDestination eq,sub diff --git a/www-apps/open-xchange/files/web.xml b/www-apps/open-xchange/files/web.xml new file mode 100644 index 0000000..163d52c --- /dev/null +++ b/www-apps/open-xchange/files/web.xml @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> + +<!DOCTYPE web-app +PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" +"http://java.sun.com/dtd/web-app_2_3.dtd"> + +<web-app> +<display-name>Servlet OpenXchange</display-name> +<description> +Servlet OpenXchange 0.7.0 +</description> + + +<servlet> +<servlet-name>intranet</servlet-name> +<servlet-class>intranet</servlet-class> +<display-name>OX Groupware</display-name> +<description>OX</description> +</servlet> + +<servlet> +<servlet-name>webmail</servlet-name> +<servlet-class>webmail</servlet-class> +<display-name>OX Webmail</display-name> +<description>OX</description> +</servlet> + +<servlet-mapping> +<servlet-name>intranet</servlet-name> +<url-pattern>/intranet</url-pattern> +</servlet-mapping> + +<servlet-mapping> +<servlet-name>webmail</servlet-name> +<url-pattern>/webmail</url-pattern> +</servlet-mapping> + +</web-app> diff --git a/www-apps/open-xchange/metadata.xml b/www-apps/open-xchange/metadata.xml new file mode 100644 index 0000000..440d993 --- /dev/null +++ b/www-apps/open-xchange/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> + +<pkgmetadata> + <maintainer> + <email>eradicator@gentoo.org</email> + <name>Jeremy Huddleston</name> + </maintainer> +</pkgmetadata> diff --git a/www-apps/open-xchange/open-xchange-0.8.2-r1.ebuild b/www-apps/open-xchange/open-xchange-0.8.2-r1.ebuild new file mode 100644 index 0000000..5d134ca --- /dev/null +++ b/www-apps/open-xchange/open-xchange-0.8.2-r1.ebuild @@ -0,0 +1,664 @@ +# 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.2 2006/06/05 07:24:01 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 ) + 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.5' ; then + local CATALINA_BASE="$(sed -n "s:^CATALINA_BASE=\(.*\):\1:p" /etc/conf.d/tomcat-5.5)" + SERVLETDIR="${CATALINA_BASE}/webapps" + TOMCAT_SHARED_LIB="${CATALINA_BASE}/shared/lib" + elif 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.5' ; then + dosed 's:tomcat-5:tomcat-5.5:' /etc/init.d/open-xchange + elif 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 or tomcat-5.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 +} + diff --git a/www-apps/open-xchange/open-xchange-0.8.2_p1.ebuild b/www-apps/open-xchange/open-xchange-0.8.2_p1.ebuild new file mode 100644 index 0000000..08ba095 --- /dev/null +++ b/www-apps/open-xchange/open-xchange-0.8.2_p1.ebuild @@ -0,0 +1,662 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit eutils autotools webapp ssl-cert toolchain-funcs java-pkg versionator depend.apache + +# Smartsieve-OX version +SIEVE_VER="1.03" + +MY_PL="$(get_version_component_range 4)" +MY_PV="$(get_version_component_range 1-3)" +MY_P="${PN}-${MY_PV}-${MY_PL/p}" +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-1.0 + net-nds/openldap + >=app-text/aspell-0.60.4 + 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 ) + 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.5' ; then + local CATALINA_BASE="$(sed -n "s:^CATALINA_BASE=\(.*\):\1:p" /etc/conf.d/tomcat-5.5)" + SERVLETDIR="${CATALINA_BASE}/webapps" + TOMCAT_SHARED_LIB="${CATALINA_BASE}/shared/lib" + elif 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 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.5' ; then + dosed 's:tomcat-5:tomcat-5.5:' /etc/init.d/open-xchange + elif 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} + 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 + + for x in settings/intranet settings/webmail filespool drafts webmailupload dictionary ; do + chown tomcat:apache /var/open-xchange/${x} + done + + 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 have enabled aci support for this package." + ewarn "For more information: http://gentoo-wiki.com/HOWTO_Open-Xchange#OpenLDAP" + ewarn + ewarn "If you have already done this, 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 or tomcat-5.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 +} diff --git a/www-apps/openca/Manifest b/www-apps/openca/Manifest new file mode 100755 index 0000000..747e05d --- /dev/null +++ b/www-apps/openca/Manifest @@ -0,0 +1,16 @@ +AUX mysql-setup.sql.in 188 RMD160 f6872544d80052f04e1275ccbe7423e706f037fe SHA1 f319af41006321718d33c7e89b0be701cdb9e0b4 SHA256 c14a54b39910154a8a200c151df8890484337f76077366160e551821289910a3 +MD5 84c66ff7cae2f685904a9163ceef3385 files/mysql-setup.sql.in 188 +RMD160 f6872544d80052f04e1275ccbe7423e706f037fe files/mysql-setup.sql.in 188 +SHA256 c14a54b39910154a8a200c151df8890484337f76077366160e551821289910a3 files/mysql-setup.sql.in 188 +AUX openca-0.9.2_noldap.patch 819 RMD160 1619ff471a25cd18cf9b75bd48731e5e89bb63d1 SHA1 4905899b03c0675dc4f3b046ecc6b96938dc6e35 SHA256 d222363638862a59db58ab4b2cb4bcad4c5649da39bc777839baa0a87480720a +MD5 c536f626f6af7a8cdf4232fbbda8d277 files/openca-0.9.2_noldap.patch 819 +RMD160 1619ff471a25cd18cf9b75bd48731e5e89bb63d1 files/openca-0.9.2_noldap.patch 819 +SHA256 d222363638862a59db58ab4b2cb4bcad4c5649da39bc777839baa0a87480720a files/openca-0.9.2_noldap.patch 819 +DIST openca-0.9.2-1.tar.gz 7185831 RMD160 06fc44aa0fb83557b2cc4766a55c5ff558b63284 SHA1 0f36dbef1c2837d8b3822ef96d8948b92e3b2947 SHA256 c839825133defbc25c2cbcd9009615e3f140cb7488e7acaabfc8b52d4c5dab5f +EBUILD openca-0.9.2_p1-r1.ebuild 4577 RMD160 b08564c2db0938e577587dc9810dae9bbcb4e03d SHA1 76052d490c13f10542ee9bd421002c0a843e4650 SHA256 1456cdd849c63f068b95e5aea085e09b600239b15efb390d221af5c481cf7a85 +MD5 e2e1b0105044ddb52760cf1265bab9d5 openca-0.9.2_p1-r1.ebuild 4577 +RMD160 b08564c2db0938e577587dc9810dae9bbcb4e03d openca-0.9.2_p1-r1.ebuild 4577 +SHA256 1456cdd849c63f068b95e5aea085e09b600239b15efb390d221af5c481cf7a85 openca-0.9.2_p1-r1.ebuild 4577 +MD5 3ffdd56fc061c3040139a2d83f3a1822 files/digest-openca-0.9.2_p1-r1 247 +RMD160 5dd8c8779a2fd30fa44cd5bccc458695d445bf53 files/digest-openca-0.9.2_p1-r1 247 +SHA256 cd00b56d2865806f2746c66db3c3dbcbf8afce0978fa7aaf59ce8da0eef52c1e files/digest-openca-0.9.2_p1-r1 247 diff --git a/www-apps/openca/files/digest-openca-0.9.2_p1 b/www-apps/openca/files/digest-openca-0.9.2_p1 new file mode 100755 index 0000000..3308e1d --- /dev/null +++ b/www-apps/openca/files/digest-openca-0.9.2_p1 @@ -0,0 +1 @@ +MD5 7ffaa78e2eee77773a800be96e75f0c7 openca-0.9.2-1.tar.gz 7185831 diff --git a/www-apps/openca/files/digest-openca-0.9.2_p1-r1 b/www-apps/openca/files/digest-openca-0.9.2_p1-r1 new file mode 100644 index 0000000..ca61d94 --- /dev/null +++ b/www-apps/openca/files/digest-openca-0.9.2_p1-r1 @@ -0,0 +1,3 @@ +MD5 7ffaa78e2eee77773a800be96e75f0c7 openca-0.9.2-1.tar.gz 7185831 +RMD160 06fc44aa0fb83557b2cc4766a55c5ff558b63284 openca-0.9.2-1.tar.gz 7185831 +SHA256 c839825133defbc25c2cbcd9009615e3f140cb7488e7acaabfc8b52d4c5dab5f openca-0.9.2-1.tar.gz 7185831 diff --git a/www-apps/openca/files/mysql-setup.sql.in b/www-apps/openca/files/mysql-setup.sql.in new file mode 100755 index 0000000..07b1705 --- /dev/null +++ b/www-apps/openca/files/mysql-setup.sql.in @@ -0,0 +1,5 @@ +GRANT USAGE ON openca.* TO 'openca'@'localhost' IDENTIFIED BY '@dbpass@'; + +GRANT SELECT, INSERT, UPDATE, DELETE ON openca.* TO 'openca'@'localhost'; + +CREATE DATABASE IF NOT EXISTS openca; diff --git a/www-apps/openca/files/openca-0.9.2_noldap.patch b/www-apps/openca/files/openca-0.9.2_noldap.patch new file mode 100755 index 0000000..0065730 --- /dev/null +++ b/www-apps/openca/files/openca-0.9.2_noldap.patch @@ -0,0 +1,24 @@ +--- src/common/lib/functions/initServer 2005-01-19 14:33:20.780398440 +0100 ++++ src/common/lib/functions/initServer 2005-01-19 14:33:51.348751344 +0100 +@@ -80,8 +80,8 @@ + setPerformancePoint ("rbac-utils loaded"); + require "$common_libs/mail-utils.lib"; + setPerformancePoint ("mail-utils loaded"); +-require "$common_libs/ldap-utils.lib"; +-setPerformancePoint ("ldap-utils loaded"); ++#require "$common_libs/ldap-utils.lib"; ++#setPerformancePoint ("ldap-utils loaded"); + require "$common_libs/export-import.lib"; + setPerformancePoint ("export-import loaded"); + +@@ -119,8 +119,8 @@ + initAccessControl(); + $ui_html = $debug_ui_html; + +-require "$common_libs/initLDAP"; +-setPerformancePoint ("ldap ready"); ++#require "$common_libs/initLDAP"; ++#setPerformancePoint ("ldap ready"); + + ## 5. load version and init debugging + diff --git a/www-apps/openca/openca-0.9.2_p1-r1.ebuild b/www-apps/openca/openca-0.9.2_p1-r1.ebuild new file mode 100755 index 0000000..f98f5fe --- /dev/null +++ b/www-apps/openca/openca-0.9.2_p1-r1.ebuild @@ -0,0 +1,174 @@ +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit eutils flag-o-matic toolchain +MY_P=${P/_p/-} +MY_P2=${P/_p/.} + +DESCRIPTION="The OpenCA Project is a collaborative effort to develop a robust, full-featured and Open Source out-of-the-box Certification Authority implementing the most used protocols with full-strength cryptography world-wide." +HOMEPAGE="http://www.openca.org/" +SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~x86" +IUSE="uclibc doc dbm mysql postgres ldap vhosts" + +RDEPEND="virtual/libc" +DEPEND="${RDEPEND} + !dev-perl/OpenCA-X509 + !dev-perl/OpenCA-REQ + !dev-perl/OpenCA-OpenSSL + !dev-perl/OpenCA-CRL + >=dev-libs/openssl-0.9.7 + net-www/apache + >=perl-core/MIME-Base64-2.20 + >=dev-perl/Digest-HMAC-1.01 + >=dev-perl/Digest-SHA1-2.02 + >=perl-core/Digest-MD5-2.24 + >=dev-perl/libintl-perl-1.10 + >=dev-perl/IO-stringy-2.108 + >=dev-perl/MIME-Lite-3.01 + >=dev-perl/MIME-tools-5.411 + >=dev-perl/MailTools-1.58 + >=dev-perl/Parse-RecDescent-1.94 + >=dev-perl/X500-DN-0.28 + >=dev-perl/XML-Twig-3.09 + >=dev-perl/CGI-Session-3.95 + >=dev-perl/net-server-0.86 + >=dev-perl/Convert-ASN1-0.18 + dbm? ( perl-core/DB_File ) + mysql? ( dev-perl/DBD-mysql ) + postgres? ( dev-perl/DBD-Pg ) + !mysql? ( !postgres? ( perl-core/DB_File ) ) + ldap? ( net-nds/openldap + >=dev-perl/perl-ldap-0.28 + >=dev-perl/IO-Socket-SSL-0.92 + >=dev-perl/URI-1.23 + ) + sasl? ( >=dev-perl/Authen-SASL-2.04 ) + !uclibc? ( sys-devel/bc )" + +S=${WORKDIR}/${MY_P2} + +src_unpack() { + unpack ${A} + cd ${S} + if ! use ldap ; then + epatch ${FILESDIR}/openca-0.9.2_noldap.patch + fi + + case $( gcc-version ) in + 3.4 | 3.3 | 3.2 ) + filter-flags -fprefetch-loop-arrays -freduce-all-givs -funroll-loops + ;; + esac + econf +} + +src_compile() { + cd ${S} + einfo "Compiling ${P}" + myconf="--with-openca-user=openca \ + --with-openca-group=openca \ + --with-htdocs-fs-prefix=/var/www/localhost/htdocs/openca \ + --with-cgi-fs-prefix=/var/www/localhost/cgi-bin \ + --with-etc-prefix=/etc/openca \ + --with-var-prefix=/var/openca \ + --with-lib-prefix=/usr/lib/openca \ + --with-httpd-user=apache \ + --with-httpd-group=apache \ + --disable-external-modules" + if ! use vhosts ; then + myconf="${myconf} --with-htdocs-url-prefix=/openca" + fi + if use ldap; then + myconf="${myconf} --with-ldap-port=389 \ + --with-ldap-root='cn=Manager,o=OpenCA,c=IT' \ + --with-ldap-root-pwd='openca'" + else + myconf="${myconf} --disable-ldap" + fi + if ! use mysql && ! use postgres || use dbm; then + myconf="${myconf} --enable-db" + else + myconf="${myconf} --disable-db" + fi + if use mysql; then + einfo "Setting random user/password details for the mysql database" + local dbpass="${RANDOM}${RANDOM}${RANDOM}${RANDOM}" + sed -e "s/@dbpass@/${dbpass}/g" \ + ${FILESDIR}/mysql-setup.sql.in > ${T}/mysql-setup.sql + + myconf="${myconf} --enable-dbi \ + --with-db-type=mysql \ + --with-db-name=openca \ + --with-db-host=localhost \ + --with-db-port=3306 \ + --with-db-user=openca \ + --with-db-passwd='${dbpass}'" + fi + if use postgres; then + einfo "Setting random user/password details for the postgres database" + local dbpass="${RANDOM}${RANDOM}${RANDOM}${RANDOM}" +# sed -e "s/@dbpass@/${dbpass}/g" \ +# ${FILESDIR}/postgres-setup.sql.in > ${T}/posgres-setup.sql + + myconf="${myconf} --enable-dbi \ + --with-db-type=Pg \ + --with-db-name=openca \ + --with-db-host=localhost \ + --with-db-port=5432 \ + --with-db-user=openca \ + --with-db-passwd='${dbpass}'" + fi + + econf ${myconf} + emake || die +} + +src_install() { + cd ${S} + make install-online install-ca DESTDIR=${D} || die + + dodir /var/openca/tmp + keepdir /var/openca/tmp + dosym /var/openca/log /var/log/openca + keepdir /var/openca/log + dodir /var/openca/log/xml + keepdir /var/openca/log/xml + + dodoc CHANGES* LICENSE README + dodoc docs/*.txt + doman docs/man3/*.3 + if use doc; then + dohtml -r docs/guide + dohtml -r docs/howto + docinto shared + dodocs docs/shared/*.txt + fi + if use ldap; then + docinto openldap + dodocs contrib/openldap/openca.schema + fi + if ! use mysql && ! use postgres || use dbm ; then + dodir /var/openca/db + keepdir /var/openca/db + fi + if use vhosts; then + insinto /etc/apache2/conf/vhosts + #***more to come*** + fi + dosym /etc/openca/openca_rc /etc/init.d/openca +} + +pkg_setup() { + enewgroup openca + enewuser openca -1 -1 /dev/null openca +} + +pkg_postinst() { + einfo "Please check file '/etc/openca/config.xml'" + einfo "Then run '/etc/openca/configure_etc.sh' script" +} |