diff --git a/net-mail/zarafa/ChangeLog b/net-mail/zarafa/ChangeLog index 1a2d618..ce7a39c 100644 --- a/net-mail/zarafa/ChangeLog +++ b/net-mail/zarafa/ChangeLog @@ -2,6 +2,14 @@ # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 # $Header: $ +*zarafa-6.40.10.28214 (25 Jul 2011) + + 25 Jul 2011; Mario Fetka + -files/6.40.10.28214/zarafa-6.40.6-package.patch, + +zarafa-6.40.10.28214.ebuild, + +files/6.40.10.28214/zarafa-6.40.10-package.patch: + Bump + 19 Jun 2011; Mario Fetka zarafa-6.40.9.27553.ebuild: add archive plugin diff --git a/net-mail/zarafa/Manifest b/net-mail/zarafa/Manifest index 8164083..c06f280 100644 --- a/net-mail/zarafa/Manifest +++ b/net-mail/zarafa/Manifest @@ -1,5 +1,15 @@ AUX 50_zarafa-webaccess-mobile.conf 298 RMD160 06cc5aed60486f78327aa20c0d03fd7ab10b52be SHA1 bef2feeb930d36403a48545045969b2556513dee SHA256 7019d90fae91e2efb54c2b002ff3ee40de5a684686a74753385514b6abbe8581 AUX 50_zarafa-webaccess.conf 270 RMD160 226eb8c9661ff57347e2f917223a7823e666324a SHA1 fbd9efab7f9a1f85e55df142c0d553317eab1436 SHA256 ddf11e70107c2d6eaf40ba8253e2118822ee66eddaf471afebca248ba71e85a6 +AUX 6.40.10.28214/Datux-sendas.patch 1429 RMD160 bd2b502775fb84bd6899bb3892d36d19ee3d5b8d SHA1 07a5887d02d0ddbd368c46e50eb4267f73aac9f7 SHA256 852e7fc30df15fc534ff6697f8735ee02fe013f2fcb2c7dcd0b4b5f79b9b1032 +AUX 6.40.10.28214/Datux-spamhook.patch 9895 RMD160 b1143f3e2057ee8d1b0a03e757086501769645a6 SHA1 a108a95087ba83f9c1fb0da42ffc5eef1d3755da SHA256 57d4fe122acc168b508b06a0a99ee9dc093080116918d2043fca02bc7022ed2b +AUX 6.40.10.28214/fix-pthread.patch 2101 RMD160 aafbca78c32dc5c248ff044b9fd35ae3e5882649 SHA1 44f7ac8d8e36209c811b0e1cde5dbfdcc1cdab0d SHA256 f3e8324db43fb626aadb0bf334852d7a1b194333b120c7de643a89a37a1cc99c +AUX 6.40.10.28214/fix-zarafaserver-uuid-linkage.patch 1394 RMD160 f88c3d41e5af48713d5ba5a4f9a9add75724bb45 SHA1 59aadb0eb993c7a552018c37e715bee7caaa1a12 SHA256 c452efb1f6b4deec5f32471b3998d6b9a40a2eacba959b76b3abae7d82e80e22 +AUX 6.40.10.28214/fix-zarafastats-uuid-linkage.patch 1051 RMD160 9713fa23bd16cb69111ecb39f840f8b7026d8f21 SHA1 ca04f80dce737ad10821c2e1bb84cd8f4ea5b9c5 SHA256 a1c0febb372dba9241cd87eded9d0e5940748cf01285a8eee0e43fa38a63fc03 +AUX 6.40.10.28214/zarafa-6.40.1-no-php-conf.patch 1634 RMD160 1bb4d4357aeeec0b005cd090beb96cb73905f58d SHA1 3da975c330bf09eca894db87aa1888536ee1e206 SHA256 ec79e127c30aeb93fe455bbebbd426645d4d8aa3e1031005ff9177d7f7b9685f +AUX 6.40.10.28214/zarafa-6.40.10-package.patch 9476 RMD160 9d5bbf6ac07a90b54a76192b27a3118177cf173e SHA1 1e0a47f1b8259a858a0424dffd75bfe75fcae4ea SHA256 b6fbd8ac8a4e8fabba4513882ebb946a92393e790e01ed1a2cf89397cc42db23 +AUX 6.40.10.28214/zarafa-6.40.2-libtcmalloc_shared-1.patch 857 RMD160 c9b89cad232b513db8dad25dba9a7a3b6cdcf007 SHA1 c4d332881ab985f817c8d5c4848f4ec2be91d050 SHA256 82b9e69f6fdb00dea3cdbbc4bdfa94b61303fa022891e1ef0763f019cbe0f350 +AUX 6.40.10.28214/zarafa-6.40.2-sysconfig2confd-1.patch 8495 RMD160 f747da766c1777121f04c12f4cb3bee9ec56b7f8 SHA1 44e5a9487497080933de75d55311c97dfc7fc8fc SHA256 591dfe4e220673818fd3548d9b36f8b4e5ea92529eaf3d7bee6c7885808f8988 +AUX 6.40.10.28214/zarafa-6.40.6-force_latin1.patch 618 RMD160 8fc093050c3368c770d11326cf2402511f8d7c14 SHA1 5a7a6669308166ffb8117090411c3df9827408aa SHA256 e8caa41fb4a285e59ab8b3a2a6c0b5733423f70dbc55798d6c1472202deab496 AUX 6.40.8.27223/Datux-sendas.patch 1429 RMD160 bd2b502775fb84bd6899bb3892d36d19ee3d5b8d SHA1 07a5887d02d0ddbd368c46e50eb4267f73aac9f7 SHA256 852e7fc30df15fc534ff6697f8735ee02fe013f2fcb2c7dcd0b4b5f79b9b1032 AUX 6.40.8.27223/Datux-spamhook.patch 9895 RMD160 b1143f3e2057ee8d1b0a03e757086501769645a6 SHA1 a108a95087ba83f9c1fb0da42ffc5eef1d3755da SHA256 57d4fe122acc168b508b06a0a99ee9dc093080116918d2043fca02bc7022ed2b AUX 6.40.8.27223/fix-pthread.patch 2101 RMD160 aafbca78c32dc5c248ff044b9fd35ae3e5882649 SHA1 44f7ac8d8e36209c811b0e1cde5dbfdcc1cdab0d SHA256 f3e8324db43fb626aadb0bf334852d7a1b194333b120c7de643a89a37a1cc99c @@ -30,21 +40,33 @@ AUX zarafa-monitor.rc6 705 RMD160 d1e524b7ed48ec5b53594595a35d4fb3c02b1a5a SHA1 AUX zarafa-server.rc6 706 RMD160 d3734a455367d93d316fca873e79467f624b97a2 SHA1 e819806ba99c5b5d4c195cfbace7b4027b053976 SHA256 5a8553127bc529350cf56ea35b558e1d276ca0d4bde92a32583d62d0d790fa4f AUX zarafa-spooler.rc6 705 RMD160 a2981b8e9b60df19d5adce5507ec51ac6d5b12e8 SHA1 09527095beb3891986656cb0e1c53414b7f038bf SHA256 4cf183daf6d86e2bb39073993af8f244bc28ee90feb4cf1ba34e5302894aa2fe AUX zarafa.logrotate 1857 RMD160 d295f5307be6577d3f8fdc89edc7995adae2fd47 SHA1 7188133da91ad6d453811ff5e67d84fde49b4fb9 SHA256 44e26d9ad5eff2e159388698a068df72d9626d91e9be478be00b3e3eaa15913f +DIST zarafa-bash-completion-6.40.10.28214.zip 2156 RMD160 7f00d115e0abd0d7707e8c0815a2beedeb29b28f SHA1 705d6a1dc7e55afdf2c8693de22dbd985842beec SHA256 1343b8d279761f6aaf2263c6d7ba97d1ec21d7436a6f0277a34250fe587f28e5 DIST zarafa-bash-completion-6.40.9.27553.zip 2156 RMD160 7f00d115e0abd0d7707e8c0815a2beedeb29b28f SHA1 705d6a1dc7e55afdf2c8693de22dbd985842beec SHA256 1343b8d279761f6aaf2263c6d7ba97d1ec21d7436a6f0277a34250fe587f28e5 +DIST zarafa-webaccess-plugin-dspam-6.40.10.28214.tar.gz 5308 RMD160 57f6ce09049067892c48cd411aea848a4586fa1b SHA1 7134477b89efcdc3c7abada75df9a840b5cc90c0 SHA256 04a550a60aa6b5eee4875be6d5f3161752223fd278c4b87d62a31e3a486c5d99 DIST zarafa-webaccess-plugin-dspam-6.40.9.27553.tar.gz 5308 RMD160 57f6ce09049067892c48cd411aea848a4586fa1b SHA1 7134477b89efcdc3c7abada75df9a840b5cc90c0 SHA256 04a550a60aa6b5eee4875be6d5f3161752223fd278c4b87d62a31e3a486c5d99 +DIST zarafa-webaccess-plugin-google-maps-6.40.10.28214.zip 100943 RMD160 5f2598f678d206fae94230cb7ceb150e8026cf82 SHA1 2d1cf0d5cf415ab1b4cc85ad8b4bc57f7eb34b0b SHA256 0fd861ac242d6937cdc1bc8d53edd9dce5f6348342d4e71bf06c5f5ebea1031e DIST zarafa-webaccess-plugin-google-maps-6.40.9.27553.zip 100943 RMD160 5f2598f678d206fae94230cb7ceb150e8026cf82 SHA1 2d1cf0d5cf415ab1b4cc85ad8b4bc57f7eb34b0b SHA256 0fd861ac242d6937cdc1bc8d53edd9dce5f6348342d4e71bf06c5f5ebea1031e +DIST zarafa-webaccess-plugin-mobile-device-6.40.10.28214.zip 26916 RMD160 ee331c6b01ff3d5360de833eaa4a8f0107613574 SHA1 92a9f572aa510e469290da05e421fab01546688f SHA256 0a641f3e521e4c3b29a8ab54972d7000059c84d37c50e32722cf8e09a5582ee4 DIST zarafa-webaccess-plugin-mobile-device-6.40.9.27553.zip 26916 RMD160 ee331c6b01ff3d5360de833eaa4a8f0107613574 SHA1 92a9f572aa510e469290da05e421fab01546688f SHA256 0a641f3e521e4c3b29a8ab54972d7000059c84d37c50e32722cf8e09a5582ee4 +DIST zarafa-webaccess-plugin-smime-6.40.10.28214.zip 3678929 RMD160 3c704ef7b0b0b41ae068c898fbab757d5c507582 SHA1 5e20346ae0f6777526d2d688f0a2eafbaa1f3d73 SHA256 5c9b4c73cf3a649b7b5c3adb17f562490dba21102d8e4c64ccc58327b75b998a DIST zarafa-webaccess-plugin-smime-6.40.9.27553.zip 3678929 RMD160 3c704ef7b0b0b41ae068c898fbab757d5c507582 SHA1 5e20346ae0f6777526d2d688f0a2eafbaa1f3d73 SHA256 5c9b4c73cf3a649b7b5c3adb17f562490dba21102d8e4c64ccc58327b75b998a +DIST zarafa-webaccess-plugin-z-merge-archive-6.40.10.28214.zip 25852 RMD160 61cbb0e75a243f65370c60ed7040a9804174685a SHA1 8c3c0b62f89fe09c0e4867a22995f64b22216b4f SHA256 5b7884c9c19b1428fc5024ed9e674993366665358e0f1ca88610a4bcf534563a DIST zarafa-webaccess-plugin-z-merge-archive-6.40.9.27553.zip 25852 RMD160 61cbb0e75a243f65370c60ed7040a9804174685a SHA1 8c3c0b62f89fe09c0e4867a22995f64b22216b4f SHA256 5b7884c9c19b1428fc5024ed9e674993366665358e0f1ca88610a4bcf534563a +DIST zarafa-webaccess-theme-dark-6.40.10.28214.tar.gz 12902 RMD160 e749eb36f607144ef3fb6edc1101f2ca6c143586 SHA1 9701c4bdd5be4f1a3b58bbf6f9ca5fb6987d538c SHA256 3ea4d26676c5be8b0ea862fd261600375fe00b1350985b222caa232c28c02b58 DIST zarafa-webaccess-theme-dark-6.40.9.27553.tar.gz 12902 RMD160 e749eb36f607144ef3fb6edc1101f2ca6c143586 SHA1 9701c4bdd5be4f1a3b58bbf6f9ca5fb6987d538c SHA256 3ea4d26676c5be8b0ea862fd261600375fe00b1350985b222caa232c28c02b58 +DIST zarafa-webaccess-theme-orange-6.40.10.28214.tar.gz 12828 RMD160 dbbf3dba6dce99fd94111635076f4abf65f0cbf3 SHA1 1a55492c99bf1f62b56c17394227b2308385b08e SHA256 6ee1c07a77efd38dc4f8ca292df4e0c2645de82d3f9454cf1cd8c119c0fdb532 DIST zarafa-webaccess-theme-orange-6.40.9.27553.tar.gz 12828 RMD160 dbbf3dba6dce99fd94111635076f4abf65f0cbf3 SHA1 1a55492c99bf1f62b56c17394227b2308385b08e SHA256 6ee1c07a77efd38dc4f8ca292df4e0c2645de82d3f9454cf1cd8c119c0fdb532 +DIST zcp-6.40.10-28214-sles-11-i586-free.tar.gz 24512897 RMD160 af1f2819f1494d5cf53ddfd02b2842a3489e5737 SHA1 e567bd051b010319cb045f6b90ddc645cf304fa9 SHA256 f8f2813a3ed511fa305cb12c30232e7ede94be67c981f2624ea7517565fe35c6 +DIST zcp-6.40.10-28214-sles-11-x86_64-free.tar.gz 24445806 RMD160 26b1a8e5372591625a030d94603fbd03ffadf807 SHA1 a2d8635034f245bde22c78ee7a5e3aa7792a10ca SHA256 cba3334b76e82f2555b6209285889799fc0e4593d360c43a35f2dcf2c0e0315e +DIST zcp-6.40.10.tar.gz 5452296 RMD160 8ed6388e7ff310edff30a75dc3758eedd7911d1b SHA1 d35502d8ac4dba962c0bf8449c4b9e7cd9fba0f7 SHA256 50eef47cb354b9eca4bd4e2af6e0422aac5db5fdb35486197312f5f96b34abfc DIST zcp-6.40.8-27223-sles-11-i586-free.tar.gz 24048189 RMD160 442e433cb7a0da8081a5def4c8c6ac6770a24b10 SHA1 dec7d3e8fa8ad4bf5fd162ebb3b1fd2e2d3d71b4 SHA256 99a010e216e7d49d2d6b07fd33f265a08829f01d7ed85f2dd832e8809c1c72a1 DIST zcp-6.40.8-27223-sles-11-x86_64-free.tar.gz 24001656 RMD160 d4f8474b47378b28e8e8374141c03eedff9b3666 SHA1 775f53bb7d5c35cfb596f87e99b5278ef77420eb SHA256 ba5fed41d6fee39dc969e711a7edbf76e7640ca5c77e28c9be6d11f026a99b30 DIST zcp-6.40.8.tar.gz 5428506 RMD160 36ce2095a1d0126a43405ac50b289107910feeaf SHA1 6c342a725610fb38dc6a5cef6e0d9bc160252fd4 SHA256 206bb736731f5b3c3fdc0d34c495b8c2af9e3245770d8636bc97d06ff7363023 DIST zcp-6.40.9-27553-sles-11-i586-free.tar.gz 24074176 RMD160 f540590d7f371c9b51ca15cd562a77e7fc5d7cbc SHA1 2094481bcbe976d2ed8b63d9e951091033763edb SHA256 1f3fd302b6c3f79f14798da21a61ae3e63f836e0545e4a7e6bdecba26a9a6479 DIST zcp-6.40.9-27553-sles-11-x86_64-free.tar.gz 24027236 RMD160 f1612ccf825eed9ea8eaf1fb675460eca9b2ac25 SHA1 5de01cbc7d1d3d2051be9a897de18223abccc3e2 SHA256 ef21788f2864210d801c9d258ec97fad670c8fb00c9200dbb9e0c023e22ce035 DIST zcp-6.40.9.tar.gz 5434001 RMD160 6a14d627dfbdf77c17839e1ab8840695af9e3b34 SHA1 7cf5b7d08d521571d00e06c9f97a8498b8fe49eb SHA256 23653649497b0b26322b8152c639eec1087727d2370947050c239dc3d7c1f03d +EBUILD zarafa-6.40.10.28214.ebuild 9054 RMD160 84c3d9d212f1582bd6bb1ce3b055f30f8f173496 SHA1 f2e92a8c214884b0e6d6a5da56ac3174629696b6 SHA256 e6addb81a27872cd0242a6c115e4d84be1c8acaf7cb5d947db791b23e7b8f2b0 EBUILD zarafa-6.40.8.27223.ebuild 6567 RMD160 83e20fc877c6d5f50d4b85f7b9d6b957c97a5e15 SHA1 7b7637509d64c46bb52e1208e553a298cbb6e939 SHA256 74ab1f9061cada56505cd39e861d348f5b9007e85fa94d3dd48c811005dc4f95 EBUILD zarafa-6.40.9.27553.ebuild 9033 RMD160 bc86e8eadf58d619774ea62aaf869d00b477df5d SHA1 23d7461f0614ccabe5fe7377ee1590291937d5b7 SHA256 bcf13aaaeb85e536a6aed59ae670bef33c562c5d7efc6a38d79fd04b0bba8716 -MISC ChangeLog 7437 RMD160 150449bc44853c0acd8d318a5b99bc703637256c SHA1 62a741113682c58292e6f10b617eeb16e2fabb8a SHA256 82a2537b2cc62fb06468e19c594cfcf0c0278f72fe8fe0f8b95127c24e34f2e4 +MISC ChangeLog 7670 RMD160 0956c6d37c2725ef85efd02faf75bfaf1f7f296c SHA1 6dd1f10e4dc3942807ee5f2bc5e92bfc55ff1840 SHA256 eae458f81cb5b1e2b58ab6458f5c0d607983cbc749b2d3d8b8808423037d41f8 MISC metadata.xml 1238 RMD160 c82938e77f387291d6a1c3bf9b0d802f2878dd12 SHA1 b5738f14922c69e78cfb867acdc65eeea25977bf SHA256 2c13f98be5fa8bdaf21ac86bcd00bbeb8944df5615de0cfce35ae4c00ef4b4d5 diff --git a/net-mail/zarafa/files/6.40.10.28214/Datux-sendas.patch b/net-mail/zarafa/files/6.40.10.28214/Datux-sendas.patch new file mode 100644 index 0000000..d42326f --- /dev/null +++ b/net-mail/zarafa/files/6.40.10.28214/Datux-sendas.patch @@ -0,0 +1,25 @@ +diff -u -r zarafa-6.40.3/spooler/Spooler.cpp zarafa-6.40.3.new/spooler/Spooler.cpp +--- zarafa-6.40.3/spooler/Spooler.cpp 2010-10-20 14:16:24.000000000 +0000 ++++ zarafa-6.40.3.new/spooler/Spooler.cpp 2010-11-10 15:58:43.000000000 +0000 +@@ -935,6 +935,7 @@ + { "fax_domain", "", CONFIGSETTING_RELOADABLE }, + { "fax_international", "+", CONFIGSETTING_RELOADABLE }, + { "always_send_delegates", "no", CONFIGSETTING_RELOADABLE }, ++ { "always_send_as", "no", CONFIGSETTING_RELOADABLE }, + { "always_send_tnef", "no", CONFIGSETTING_RELOADABLE }, + { "allow_redirect_spoofing", "yes", CONFIGSETTING_RELOADABLE }, + { "allow_delegate_meeting_request", "yes", CONFIGSETTING_RELOADABLE }, +diff -u -r zarafa-6.40.3/spooler/mailer.cpp zarafa-6.40.3.new/spooler/mailer.cpp +--- zarafa-6.40.3/spooler/mailer.cpp 2010-10-20 14:16:24.000000000 +0000 ++++ zarafa-6.40.3.new/spooler/mailer.cpp 2010-11-10 15:58:09.000000000 +0000 +@@ -1949,6 +1949,10 @@ + HrGetOneProp(lpMessage, PR_AUTO_FORWARDED, &lpAutoForward) == hrSuccess && lpAutoForward->Value.b) + { + bAllowSendAs = true; ++ } else if (strcmp(g_lpConfig->GetSetting("always_send_as"), "yes") == 0) { ++ //use always_send_as to allow everybody to send as someone else. ++ //(some users hate the 'on behalf of' text, and dont want to do the extra configuration) ++ bAllowSendAs = true; + } else { + + hr = HrGetOneProp(lpUserStore, PR_MAILBOX_OWNER_ENTRYID, &lpPropOwner); diff --git a/net-mail/zarafa/files/6.40.10.28214/Datux-spamhook.patch b/net-mail/zarafa/files/6.40.10.28214/Datux-spamhook.patch new file mode 100644 index 0000000..c35d6d2 --- /dev/null +++ b/net-mail/zarafa/files/6.40.10.28214/Datux-spamhook.patch @@ -0,0 +1,199 @@ +diff -rupN zarafa-6.40.0-orig/provider/libserver/ZarafaCmd.cpp zarafa-6.40.0/provider/libserver/ZarafaCmd.cpp +--- zarafa-6.40.0-orig/provider/libserver/ZarafaCmd.cpp 2010-05-31 19:28:59.000000000 +0200 ++++ zarafa-6.40.0/provider/libserver/ZarafaCmd.cpp 2010-07-20 17:22:07.995625072 +0200 +@@ -7244,6 +7244,166 @@ typedef struct{ + SOURCEKEY sSourceKey; + SOURCEKEY sParentSourceKey; + }COPYITEM; ++//SPAM HOOK ++//This function parses an e-mail to the /etc/zarafa/userscripts/junklearn script. With 2 arguments: ++//ham or spam ++//message id ++//and pipes the mail header to the script. ++//This script wil be inhaled by MoveObjects(); ++///////////////////////////////////////////////////////////////////////////////////////////////// ++int SpamHook(ECDatabase *lpDatabase,int ulId,int ulDestFolderId) ++{ ++ ++ ALLOC_DBRESULT(); ++ ECRESULT er = erSuccess; ++ std::string shScriptPath = g_lpSessionManager->GetConfig()->GetSetting("junklearn_script"); ++ ++ //If shScriptPath doesn't exist skip spam hook. ++ if(fopen(shScriptPath.c_str(),"r")) { ++ ++ //Get store object ID via message object id ++ unsigned int storeId; ++ er = g_lpSessionManager->GetCacheManager()->GetStore(ulId,&storeId,NULL); ++ if(er != erSuccess) ++ { ++ g_lpSessionManager->GetLogger()->Log(EC_LOGLEVEL_WARNING,"SpamHook: error while retrieve source folder."); ++ goto exit; ++ } ++ ++ //get deleted items folder entry id ++ strQuery="SELECT val_binary FROM properties WHERE hierarchyid="+stringify(storeId)+" AND tag="+stringify(PROP_ID(PR_IPM_WASTEBASKET_ENTRYID)); ++ er = lpDatabase->DoSelect(strQuery, &lpDBResult); ++ if(er != erSuccess) { ++ g_lpSessionManager->GetLogger()->Log(EC_LOGLEVEL_WARNING,"SpamHook: error while retrieve wastebasket entryid from DB."); ++ goto exit; ++ } ++ lpDBRow = lpDatabase->FetchRow(lpDBResult); ++ lpDBLen = lpDatabase->FetchRowLengths(lpDBResult); ++ int shNumRows=lpDatabase->GetNumRows(lpDBResult); ++ if(shNumRows<1) ++ { ++ g_lpSessionManager->GetLogger()->Log(EC_LOGLEVEL_WARNING,"SpamHook: error while retrieve wastebasket entryid, empty DB result."); ++ goto exit; ++ } ++ ++ //Convert 'deleted items' entryid to objectid. ++ entryId* wasteBucketEntryId = new entryId[0]; ++ wasteBucketEntryId->__ptr=(unsigned char*)lpDBRow[0]; ++ wasteBucketEntryId->__size=lpDBLen[0]; ++ unsigned int wasteBucketFolderId; ++ er=g_lpSessionManager->GetCacheManager()->GetObjectFromEntryId(wasteBucketEntryId,&wasteBucketFolderId); ++ delete wasteBucketEntryId; ++ if(er!=erSuccess) ++ { ++ g_lpSessionManager->GetLogger()->Log(EC_LOGLEVEL_WARNING,"SpamHook: error while retrieve wastebasket entryid, converting to objectID."); ++ goto exit; ++ } ++ FREE_DBRESULT(); ++ ++ //Get 'junk folder' entryId. ++ strQuery="SELECT val_binary FROM receivefolder LEFT JOIN mvproperties ON receivefolder.objid=mvproperties.hierarchyid WHERE receivefolder.storeid="+stringify(storeId)+" AND receivefolder.messageclass='IPC' AND mvproperties.tag="+stringify(PROP_ID(PR_ADDITIONAL_REN_ENTRYIDS))+" AND mvproperties.orderid=4"; ++ er = lpDatabase->DoSelect(strQuery, &lpDBResult); ++ if(er != erSuccess) { ++ g_lpSessionManager->GetLogger()->Log(EC_LOGLEVEL_WARNING,"SpamHook: error while retrieve junkfolder entryids from DB."); ++ goto exit; ++ } ++ lpDBRow = lpDatabase->FetchRow(lpDBResult); ++ lpDBLen = lpDatabase->FetchRowLengths(lpDBResult); ++ shNumRows=lpDatabase->GetNumRows(lpDBResult); ++ if(shNumRows<1) ++ { ++ g_lpSessionManager->GetLogger()->Log(EC_LOGLEVEL_WARNING,"SpamHook: error while retrieve junkfolder entryid, empty DB result."); ++ goto exit; ++ } ++ ++ //Convert 'junk folder' entryid to objectid. ++ entryId* junkFolderEntryId = new entryId[0]; ++ junkFolderEntryId->__ptr=(unsigned char*)lpDBRow[0]; ++ junkFolderEntryId->__size=lpDBLen[0]; ++ unsigned int junkFolderId; ++ er=g_lpSessionManager->GetCacheManager()->GetObjectFromEntryId(junkFolderEntryId,&junkFolderId); ++ delete junkFolderEntryId; ++ if(er!=erSuccess) ++ { ++ g_lpSessionManager->GetLogger()->Log(EC_LOGLEVEL_WARNING,"SpamHook: error while retrieve junkfolder entryid, converting to objectID."); ++ goto exit; ++ } ++ FREE_DBRESULT(); ++ ++ //Get source folder object ID. (Actually we should check if mail came from subfolders in the 'deleted items folder', which I think never happens.) ++ unsigned int srcFolderId; ++ er=g_lpSessionManager->GetCacheManager()->GetParent(ulId,&srcFolderId); ++ if(er!=erSuccess) ++ { ++ g_lpSessionManager->GetLogger()->Log(EC_LOGLEVEL_WARNING,"SpamHook: error while retrieve src folder id."); ++ goto exit; ++ } ++ ++ //Check if object is ham or spam ++ string shMailStatus; ++ //if destination folder is junk, mark as spam ++ if(ulDestFolderId==junkFolderId) ++ shMailStatus="spam"; ++ else ++ { ++ //if destination folder is not TRASH and de source folder is JUNK, mark as ham ++ if(ulDestFolderId!=wasteBucketFolderId && srcFolderId==junkFolderId) ++ shMailStatus="ham"; ++ } ++ ++ //Only call hook script if the mail is marked as ham or spam. ++ if(!shMailStatus.empty()) { ++ ++ //Get the mail from the DB. ++ strQuery="SELECT val_string FROM properties WHERE tag="+stringify(PROP_ID(PR_TRANSPORT_MESSAGE_HEADERS))+" AND hierarchyid= "+stringify(ulId); ++ er = lpDatabase->DoSelect(strQuery, &lpDBResult); ++ if(er != erSuccess) { ++ g_lpSessionManager->GetLogger()->Log(EC_LOGLEVEL_WARNING,"SpamHook: db error while retrieve mail header."); ++ goto exit; ++ } ++ lpDBRow = lpDatabase->FetchRow(lpDBResult); ++ int shNumRows=lpDatabase->GetNumRows(lpDBResult); ++ ++ if(shNumRows>0) { ++ ++ // Execute the hook: ++ FILE *shFilePtr; ++ shScriptPath=shScriptPath+" "+shMailStatus+" "+stringify(ulId); ++ shFilePtr=popen(shScriptPath.c_str(),"w"); ++ fputs(lpDBRow[0],shFilePtr); ++ int shExitCode=pclose(shFilePtr); ++ if(!WIFEXITED(shExitCode)) { ++ g_lpSessionManager->GetLogger()->Log(EC_LOGLEVEL_WARNING,"SpamHook: "+shScriptPath+" was terminated abnormally."); ++ goto exit; ++ } ++ //If script exit with non 0, exit.. ++ if(WEXITSTATUS(shExitCode)!=0) { ++ g_lpSessionManager->GetLogger()->Log(EC_LOGLEVEL_WARNING,"SpamHook: error "+shScriptPath+" exits with: "+stringify(shExitCode)); ++ er=ZARAFA_E_UNKNOWN; ++ goto exit; ++ } ++ g_lpSessionManager->GetLogger()->Log(EC_LOGLEVEL_INFO,"SpamHook: "+shScriptPath+" successfully executed."); ++ er=erSuccess; ++ } ++ else { ++ g_lpSessionManager->GetLogger()->Log(EC_LOGLEVEL_WARNING,"SpamHook: warning mail header empty or this object is no e-mail"); ++ } ++ ++ // Free database results ++ FREE_DBRESULT(); ++ } ++ } ++ else { ++ g_lpSessionManager->GetLogger()->Log(EC_LOGLEVEL_INFO,"SpamHook: skipping, script "+shScriptPath+" not found"); ++ er=erSuccess; ++ } ++exit: ++ // Free database results ++ FREE_DBRESULT(); ++ ++ return er; ++} ++ + + // Move one or more messages and/or moved a softdeleted message to a normal message + ECRESULT MoveObjects(ECSession *lpSession, ECDatabase *lpDatabase, ECListInt* lplObjectIds, unsigned int ulDestFolderId, unsigned int ulSyncId) +@@ -8096,6 +8256,17 @@ SOAP_ENTRY_START5(copyObjects, *result, + + // @note The object type checking wille be done in MoveObjects or CopyObject + ++//SPAMHOOK ++///////////////////////////////////// ++ //Iterate over all mail ids and initiate spamhook. ++ for(iObjectId = lObjectIds.begin(); iObjectId != lObjectIds.end(); iObjectId++) ++ { ++ //Ignore the result ++ int shResult=SpamHook(lpDatabase,*iObjectId,ulDestFolderId); ++ } ++//SPAMHOOK END ++//////////////////////////////////// ++ + //check copy or a move + if(ulFlags & FOLDER_MOVE ) { // A move + er = MoveObjects(lpecSession, lpDatabase, &lObjectIds, ulDestFolderId, ulSyncId); +diff -rupN zarafa-6.40.0-orig/provider/server/ECServer.cpp zarafa-6.40.0/provider/server/ECServer.cpp +--- zarafa-6.40.0-orig/provider/server/ECServer.cpp 2010-05-31 19:28:59.000000000 +0200 ++++ zarafa-6.40.0/provider/server/ECServer.cpp 2010-07-20 17:26:25.119624516 +0200 +@@ -670,6 +670,7 @@ int running_server(char *szName, char *s + { "deletegroup_script", "/etc/zarafa/userscripts/deletegroup", CONFIGSETTING_RELOADABLE}, + { "createcompany_script", "/etc/zarafa/userscripts/createcompany", CONFIGSETTING_RELOADABLE }, + { "deletecompany_script", "/etc/zarafa/userscripts/deletecompany", CONFIGSETTING_RELOADABLE }, ++ { "junklearn_script", "/etc/zarafa/userscripts/junklearn", CONFIGSETTING_RELOADABLE }, + { "user_safe_mode", "no", CONFIGSETTING_RELOADABLE }, + + // Storename format diff --git a/net-mail/zarafa/files/6.40.10.28214/fix-pthread.patch b/net-mail/zarafa/files/6.40.10.28214/fix-pthread.patch new file mode 100644 index 0000000..b374366 --- /dev/null +++ b/net-mail/zarafa/files/6.40.10.28214/fix-pthread.patch @@ -0,0 +1,51 @@ +diff -uNr zarafa-6.40.6.orig//autoconf/ltmain.sh zarafa-6.40.6/autoconf/ltmain.sh +--- zarafa-6.40.6.orig//autoconf/ltmain.sh 2011-03-20 08:23:21.000000000 +0100 ++++ zarafa-6.40.6/autoconf/ltmain.sh 2011-03-20 08:24:23.000000000 +0100 +@@ -1628,7 +1628,7 @@ + elif test "X$arg" = "X-lc_r"; then + case $host in + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) +- # Do not include libc_r directly, use -pthread flag. ++ # Do not include libc_r directly, use -lpthread flag. + continue + ;; + esac +@@ -1647,7 +1647,7 @@ + continue + ;; + +- -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) ++ -mt|-mthreads|-kthread|-Kthread|-lpthread|-pthreads|--thread-safe|-threads) + compiler_flags="$compiler_flags $arg" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" +@@ -2150,7 +2150,7 @@ + lib= + found=no + case $deplib in +- -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) ++ -mt|-mthreads|-kthread|-Kthread|-lpthread|-pthreads|--thread-safe|-threads) + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" +diff -uNr zarafa-6.40.6.orig//configure.ac zarafa-6.40.6/configure.ac +--- zarafa-6.40.6.orig//configure.ac 2011-03-20 08:23:20.000000000 +0100 ++++ zarafa-6.40.6/configure.ac 2011-03-20 08:23:44.000000000 +0100 +@@ -407,7 +407,7 @@ + CPPFLAGS="$CPPFLAGS -I$CLUCENE_INCLUDE_PREFIX" + fi + # force add pthread in lucene test +-CXXFLAGS="$CXXFLAGS -pthread" ++CXXFLAGS="$CXXFLAGS -lpthread" + if test -e "${CLUCENE_LIB_PREFIX}/libclucene.a"; then + AC_CHECK_LIB(clucene, [open], + [ CLUCENE_LIBS="${CLUCENE_LIB_PREFIX}/libclucene.a" +@@ -561,7 +561,7 @@ + AC_CHECK_LIB([pthread], [pthread_create],, AC_MSG_ERROR([required library libpthread missing or unusable])) + LIBS=$libs_keep + # because it seems this is better... (gnu c/c++ only?) +-CXXFLAGS="$CXXFLAGS -pthread" ++CXXFLAGS="$CXXFLAGS -lpthread" + + # Only specific links with uuid and dl, clients only with crypto and ssl for ssl connections + libs_keep=$LIBS diff --git a/net-mail/zarafa/files/6.40.10.28214/fix-zarafaserver-uuid-linkage.patch b/net-mail/zarafa/files/6.40.10.28214/fix-zarafaserver-uuid-linkage.patch new file mode 100644 index 0000000..610b74d --- /dev/null +++ b/net-mail/zarafa/files/6.40.10.28214/fix-zarafaserver-uuid-linkage.patch @@ -0,0 +1,26 @@ +Index: zarafa-6.40.0/provider/server/Makefile.in +=================================================================== +--- zarafa-6.40.0.orig/provider/server/Makefile.in ++++ zarafa-6.40.0/provider/server/Makefile.in +@@ -274,7 +274,7 @@ zarafa_server_LDADD = $(UUID_LIBS) $(INT + ${top_builddir}/common/libcommon_util.la \ + ${top_builddir}/common/libcommon_mapi.la \ + ${top_builddir}/common/libcommon_ssl.la \ +- $(MYSQL_LIBS) $(SSL_LIBS) $(PAM_LIBS) $(KRB5_LIBS) $(TCMALLOC_LIBS) -lrt ++ $(MYSQL_LIBS) $(UUID_LIBS) $(SSL_LIBS) $(PAM_LIBS) $(KRB5_LIBS) $(TCMALLOC_LIBS) -lrt + + zarafa_server_SOURCES = ECServer.cpp \ + ECSoapServerConnection.h ECSoapServerConnection.cpp \ +Index: zarafa-6.40.0/provider/server/Makefile.am +=================================================================== +--- zarafa-6.40.0.orig/provider/server/Makefile.am ++++ zarafa-6.40.0/provider/server/Makefile.am +@@ -18,7 +18,7 @@ zarafa_server_LDADD = $(UUID_LIBS) $(INT + ${top_builddir}/common/libcommon_util.la \ + ${top_builddir}/common/libcommon_mapi.la \ + ${top_builddir}/common/libcommon_ssl.la \ +- $(MYSQL_LIBS) $(SSL_LIBS) $(PAM_LIBS) $(KRB5_LIBS) $(TCMALLOC_LIBS) -lrt ++ $(MYSQL_LIBS) $(UUID_LIBS) $(SSL_LIBS) $(PAM_LIBS) $(KRB5_LIBS) $(TCMALLOC_LIBS) -lrt + + zarafa_server_SOURCES = ECServer.cpp \ + ECSoapServerConnection.h ECSoapServerConnection.cpp \ diff --git a/net-mail/zarafa/files/6.40.10.28214/fix-zarafastats-uuid-linkage.patch b/net-mail/zarafa/files/6.40.10.28214/fix-zarafastats-uuid-linkage.patch new file mode 100644 index 0000000..05e1406 --- /dev/null +++ b/net-mail/zarafa/files/6.40.10.28214/fix-zarafastats-uuid-linkage.patch @@ -0,0 +1,24 @@ +diff -Nuar zarafa-6.40.0.orig/ECtools/zarafa-stats/Makefile.am zarafa-6.40.0/ECtools/zarafa-stats/Makefile.am +--- zarafa-6.40.0.orig/ECtools/zarafa-stats/Makefile.am 2010-04-26 11:37:49.561680215 +0300 ++++ zarafa-6.40.0/ECtools/zarafa-stats/Makefile.am 2010-04-26 11:38:31.435806562 +0300 +@@ -13,7 +13,7 @@ + ${top_builddir}/mapi4linux/src/libmapi.la \ + ${top_builddir}/common/libcommon_mapi.la \ + ${top_builddir}/common/libcommon_util.la \ +- -lncurses ++ -lncurses -luuid + + zarafa_stats_SOURCES = zarafa-stats.cpp + +diff -Nuar zarafa-6.40.0.orig/ECtools/zarafa-stats/Makefile.in zarafa-6.40.0/ECtools/zarafa-stats/Makefile.in +--- zarafa-6.40.0.orig/ECtools/zarafa-stats/Makefile.in 2010-04-26 11:37:49.561680215 +0300 ++++ zarafa-6.40.0/ECtools/zarafa-stats/Makefile.in 2010-04-26 11:38:22.475687815 +0300 +@@ -250,7 +250,7 @@ + ${top_builddir}/mapi4linux/src/libmapi.la \ + ${top_builddir}/common/libcommon_mapi.la \ + ${top_builddir}/common/libcommon_util.la \ +- -lncurses ++ -lncurses -luuid + + zarafa_stats_SOURCES = zarafa-stats.cpp + all: all-am diff --git a/net-mail/zarafa/files/6.40.10.28214/zarafa-6.40.1-no-php-conf.patch b/net-mail/zarafa/files/6.40.10.28214/zarafa-6.40.1-no-php-conf.patch new file mode 100644 index 0000000..9e51f09 --- /dev/null +++ b/net-mail/zarafa/files/6.40.10.28214/zarafa-6.40.1-no-php-conf.patch @@ -0,0 +1,44 @@ +--- php-ext/Makefile.in~ 2010-10-20 12:26:22.000000000 +0100 ++++ php-ext/Makefile.in 2010-10-28 13:40:48.830318647 +0100 +@@ -34,7 +34,7 @@ + build_triplet = @build@ + host_triplet = @host@ + subdir = php-ext +-DIST_COMMON = $(dist_data_DATA) $(dist_sysconf_DATA) \ ++DIST_COMMON = $(dist_data_DATA) \ + $(srcdir)/Makefile.am $(srcdir)/Makefile.in + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/configure.ac +@@ -86,7 +86,7 @@ + DIST_SOURCES = $(mapi_la_SOURCES) + dist_dataDATA_INSTALL = $(INSTALL_DATA) + dist_sysconfDATA_INSTALL = $(INSTALL_DATA) +-DATA = $(dist_data_DATA) $(dist_sysconf_DATA) ++DATA = $(dist_data_DATA) + ETAGS = etags + CTAGS = ctags + DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +@@ -406,23 +406,6 @@ + echo " rm -f '$(DESTDIR)$(datadir)/$$f'"; \ + rm -f "$(DESTDIR)$(datadir)/$$f"; \ + done +-install-dist_sysconfDATA: $(dist_sysconf_DATA) +- @$(NORMAL_INSTALL) +- test -z "$(sysconfdir)" || $(MKDIR_P) "$(DESTDIR)$(sysconfdir)" +- @list='$(dist_sysconf_DATA)'; for p in $$list; do \ +- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ +- f=$(am__strip_dir) \ +- echo " $(dist_sysconfDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(sysconfdir)/$$f'"; \ +- $(dist_sysconfDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(sysconfdir)/$$f"; \ +- done +- +-uninstall-dist_sysconfDATA: +- @$(NORMAL_UNINSTALL) +- @list='$(dist_sysconf_DATA)'; for p in $$list; do \ +- f=$(am__strip_dir) \ +- echo " rm -f '$(DESTDIR)$(sysconfdir)/$$f'"; \ +- rm -f "$(DESTDIR)$(sysconfdir)/$$f"; \ +- done + + ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ diff --git a/net-mail/zarafa/files/6.40.10.28214/zarafa-6.40.10-package.patch b/net-mail/zarafa/files/6.40.10.28214/zarafa-6.40.10-package.patch new file mode 100644 index 0000000..5ea6a40 --- /dev/null +++ b/net-mail/zarafa/files/6.40.10.28214/zarafa-6.40.10-package.patch @@ -0,0 +1,252 @@ +Patch by Robert Scheck for zarafa >= 6.40.0, which only +removes the paths from autoconf/automake related files, that don't exist in the OSS +version of Zarafa. Having these paths not removed causes autoreconf to fail, but a +re-run of autoreconf is needed in order to get the rpaths completely out of all the +libraries and binaries built during the make process. + +forward patch by Mario Fetka + +diff -uNr zarafa-6.40.10.orig//ECtools/Makefile.am zarafa-6.40.10/ECtools/Makefile.am +--- zarafa-6.40.10.orig//ECtools/Makefile.am 2011-07-25 20:03:46.527000045 +0200 ++++ zarafa-6.40.10/ECtools/Makefile.am 2011-07-25 20:04:37.900000042 +0200 +@@ -1,10 +1,3 @@ +-if ! OSS_ONLY +-PROSUBS = zarafa-backup zarafa-report +-if WITH_PYTHON +-PROSUBS += za-extra +-endif +-endif +- + if WITH_TESTTOOLS + TESTSUBS = ECTestTools + endif +diff -uNr zarafa-6.40.10.orig//ECtools/zarafa-archiver/Makefile.am zarafa-6.40.10/ECtools/zarafa-archiver/Makefile.am +--- zarafa-6.40.10.orig//ECtools/zarafa-archiver/Makefile.am 2011-07-25 20:03:46.549000045 +0200 ++++ zarafa-6.40.10/ECtools/zarafa-archiver/Makefile.am 2011-07-25 20:08:24.531000049 +0200 +@@ -27,15 +27,6 @@ + + + +-if ! OSS_ONLY +-bin_PROGRAMS = zarafa-archiver +- +-zarafa_archiver_LDADD = ${top_builddir}/common/libcommon_util.la \ +- libarchiver.la \ +- $(PROG_LIBS) +- +-zarafa_archiver_SOURCES = main.cpp +-endif + + + check-syntax: +diff -uNr zarafa-6.40.10.orig//ECtools/zarafa-stats/Makefile.am zarafa-6.40.10/ECtools/zarafa-stats/Makefile.am +--- zarafa-6.40.10.orig//ECtools/zarafa-stats/Makefile.am 2011-07-25 20:03:46.555000045 +0200 ++++ zarafa-6.40.10/ECtools/zarafa-stats/Makefile.am 2011-07-25 20:11:41.436000030 +0200 +@@ -1,9 +1,5 @@ + bin_PROGRAMS = zarafa-stats + +-if ! OSS_ONLY +-dist_noinst_DATA = zarafa-ssm zarafa-ssm.default zarafa-ssm.cron +-endif +- + AM_CPPFLAGS = $(DEBUGFLAGS) -DLINUX \ + -I${top_srcdir}/mapi4linux/include \ + -I${top_srcdir}/libfreebusy \ +@@ -18,14 +14,6 @@ + zarafa_stats_SOURCES = zarafa-stats.cpp + + install-data-hook: +-if ! OSS_ONLY +- mkdir -p $(DESTDIR)/$(sysconfdir)/default +- install -m 644 zarafa-ssm.default $(DESTDIR)/$(sysconfdir)/default/zarafa-ssm +- mkdir -p $(DESTDIR)/$(sysconfdir)/cron.d +- install -m 644 zarafa-ssm.cron $(DESTDIR)/$(sysconfdir)/cron.d/zarafa-ssm +- mkdir -p $(DESTDIR)/$(bindir) +- install -m 755 zarafa-ssm $(DESTDIR)/$(bindir) +-endif + + check-syntax: + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) \ +diff -uNr zarafa-6.40.10.orig//Makefile.am zarafa-6.40.10/Makefile.am +--- zarafa-6.40.10.orig//Makefile.am 2011-07-25 20:03:46.610000045 +0200 ++++ zarafa-6.40.10/Makefile.am 2011-07-25 20:05:12.960000054 +0200 +@@ -1,10 +1,6 @@ + AUTOMAKE_OPTIONS = 1.9 foreign + ACLOCAL_AMFLAGS = -Iautoconf + +-if ! OSS_ONLY +-PROSUBS = liblicense licensed +-endif +- + SUBDIRS = common libfreebusy zarafa-libsync mapi4linux $(PROSUBS) provider libicalmapi inetmapi php-ext ECtools spooler gateway caldav installer po doc + + if WITH_SWIG +@@ -26,10 +22,6 @@ + common/ecversion.h: versionheader.sh + sh ${top_srcdir}/versionheader.sh > common/ecversion.h + +-if ! OSS_ONLY +-CLEANFILES=common/ecversion.h +-endif +- + dist-hook: + find $(distdir) -type d -name .svn -exec rm -rf {} \; 2>/dev/null || true + if OSS_ONLY +diff -uNr zarafa-6.40.10.orig//configure.ac zarafa-6.40.10/configure.ac +--- zarafa-6.40.10.orig//configure.ac 2011-07-25 20:03:46.747000046 +0200 ++++ zarafa-6.40.10/configure.ac 2011-07-25 20:06:33.002000046 +0200 +@@ -819,18 +819,6 @@ + version + specialbuild + ]) +-dnl non-oss files +-if test -d `dirname $0`/licensed; then +-AC_CONFIG_FILES([ +- liblicense/Makefile +- licensed/Makefile +- ECtools/zarafa-backup/Makefile +- ECtools/zarafa-backup/helpers/Makefile +- ECtools/zarafa-report/Makefile +- debian/zarafa.install +- ECtools/za-extra/Makefile +-]) +-fi + + AC_OUTPUT + +diff -uNr zarafa-6.40.10.orig//installer/linux/Makefile.am zarafa-6.40.10/installer/linux/Makefile.am +--- zarafa-6.40.10.orig//installer/linux/Makefile.am 2011-07-25 20:03:46.564000045 +0200 ++++ zarafa-6.40.10/installer/linux/Makefile.am 2011-07-25 20:09:04.792000046 +0200 +@@ -59,19 +59,6 @@ + dist_sysconf_rotate_DATA = zarafa.logrotate zarafa-indexer.logrotate + + sysconf_certdir = ${sysconfdir}/zarafa/report-ca +-if ! OSS_ONLY +-BUILT_SOURCES += ldapms.openldap.cfg ldapms.active-directory.cfg +- +-config_files += licensed.cfg archiver.cfg +-rhel_initscript_files += zarafa-licensed.init.rhel +-suse_initscript_files += zarafa-licensed.init.suse +-cbs4_initscript_files += zarafa-licensed.init.cbs4 +-rhel_sysconfig_files += sysconfig-licensed.rhel +-suse_sysconfig_files += sysconfig-licensed.suse +- +-dist_sysconf_cert_DATA = addtrust.crt +-dist_sysconf_rotate_DATA += zarafa-licensed.logrotate +-endif + + config_files += $(BUILT_SOURCES) + EXTRA_DIST = $(BUILT_SOURCES) ldap.m4 \ +diff -uNr zarafa-6.40.10.orig//provider/plugins/Makefile.am zarafa-6.40.10/provider/plugins/Makefile.am +--- zarafa-6.40.10.orig//provider/plugins/Makefile.am 2011-07-25 20:03:46.473000045 +0200 ++++ zarafa-6.40.10/provider/plugins/Makefile.am 2011-07-25 20:07:32.946000045 +0200 +@@ -21,14 +21,6 @@ + ldapplugin_la_LDFLAGS = -module -avoid-version + ldapplugin_la_LIBADD = ${top_builddir}/common/libcommon_util.la $(LDAP_LIBS) + +-if ! OSS_ONLY +-pkglib_LTLIBRARIES += ldapmsplugin.la +-ldapmsplugin_la_CXXFLAGS = $(ldapplugin_la_CXXFLAGS) -DWITH_MULTISERVER +-ldapmsplugin_la_SOURCES = $(ldapplugin_la_SOURCES) +-ldapmsplugin_la_LDFLAGS = $(ldapplugin_la_LDFLAGS) +-ldapmsplugin_la_LIBADD = $(ldapplugin_la_LIBADD) +-endif +- + endif + + # default plugin +diff -uNr zarafa-6.40.10.orig//swig/Makefile.am zarafa-6.40.10/swig/Makefile.am +--- zarafa-6.40.10.orig//swig/Makefile.am 2011-07-25 20:03:46.706000046 +0200 ++++ zarafa-6.40.10/swig/Makefile.am 2011-07-25 20:11:26.644000114 +0200 +@@ -15,10 +15,6 @@ + + EXTRA_DIST = edkmdb.i mapi.i mapiutil.i mapidefs.i mapicode.i mapix.i mapinotifsink.i typemap.i helpers.i IECServiceAdmin.i IECLicense.i inetmapi.i icalmapi.i swig_iunknown.h ecdefs.i archiver.i licenseclient.i + +-if ! OSS_ONLY +-EXTRA_DIST += licensereq.i +-endif +- + check-syntax: + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) \ + -fsyntax-only -fmessage-length=0 ${CHK_SOURCES} -Wall -Wformat=2 +diff -uNr zarafa-6.40.10.orig//swig/python/Makefile.am zarafa-6.40.10/swig/python/Makefile.am +--- zarafa-6.40.10.orig//swig/python/Makefile.am 2011-07-25 20:03:46.701000046 +0200 ++++ zarafa-6.40.10/swig/python/Makefile.am 2011-07-25 20:10:26.313000045 +0200 +@@ -1,9 +1,6 @@ + pythonexeclib_LTLIBRARIES = _MAPICore.la _inetmapi.la _icalmapi.la _licenseclient.la + noinst_LTLIBRARIES = _archiver.la + +-if ! OSS_ONLY +-pythonexeclib_LTLIBRARIES += _licensereq.la +-endif + + # disable warnings since code is mostly generated + AM_CPPFLAGS = $(DEBUGFLAGS) -DLINUX -I$(top_srcdir)/mapi4linux/include -I$(top_srcdir)/provider/common -I${top_srcdir}/common $(PYTHON_INCLUDES) -I${top_srcdir}/swig -w +@@ -50,15 +47,6 @@ + ${top_builddir}/mapi4linux/src/libmapi.la \ + $(PROG_LIBS) $(PYTHON_LIBS) $(SSL_LIBS) + +-if ! OSS_ONLY +-_licensereq_la_CXXFLAGS = -I${top_srcdir}/provider/common -I${top_builddir}/provider/soap -I${top_srcdir}/provider/soap -I${top_srcdir}/liblicense +-_licensereq_la_LDFLAGS = -module -avoid-version +-_licensereq_la_LIBADD = ${top_builddir}/liblicense/liblicense.la \ +- ${top_builddir}/common/libcommon_mapi.la \ +- ${top_builddir}/common/libcommon_util.la \ +- $(PROG_LIBS) $(PYTHON_LIBS) $(SSL_LIBS) +-endif +- + BUILT_SOURCES = mapi_wrap.cxx \ + mapi_wrap.h \ + inetmapi_wrap.cxx \ +@@ -66,10 +54,6 @@ + archiver_wrap.cxx \ + licenseclient_wrap.cxx + +-if ! OSS_ONLY +-BUILT_SOURCES += licensereq_wrap.cxx +-endif +- + CLEANFILES = $(BUILT_SOURCES) \ + MAPICore.py \ + inetmapi.py \ +@@ -77,10 +61,6 @@ + archiver.py \ + licenseclient.py + +-if ! OSS_ONLY +-CLEANFILES += licensereq.py +-endif +- + # wait for full output of swig + MAPICore.py: $(BUILT_SOURCES) + inetmapi.py: $(BUILT_SOURCES) +@@ -88,29 +68,16 @@ + archiver.py: $(BUILT_SOURCES) + licenseclient.py: $(BUILT_SOURCES) + +-if ! OSS_ONLY +-licensereq.py: $(BUILT_SOURCES) +-endif +- + _MAPICore_la_SOURCES = conversion.h conversion.cpp mapi_wrap.cxx mapi_wrap.h scl.h ../director_util.h ../director_util.cpp + _inetmapi_la_SOURCES = conversion.h conversion.cpp inetmapi_wrap.cxx + _icalmapi_la_SOURCES = conversion.h conversion.cpp icalmapi_wrap.cxx + _archiver_la_SOURCES = archiver_wrap.cxx archiver_conv.h archiver_conv.cpp + _licenseclient_la_SOURCES = licenseclient_wrap.cxx licenseclient_conv.cpp licenseclient_conv.h + +-if ! OSS_ONLY +-_licensereq_la_SOURCES = licensereq_wrap.cxx +-endif +- + EXTRA_DIST = typemap_python.i helpers_python.i setup.py $(BUILT_SOURCES) MAPICore.py inetmapi.py icalmapi.py licenseclient.py MAPI/Defs.py MAPI/__init__.py MAPI/Struct.py MAPI/Tags.py MAPI/Time.py MAPI/Util/__init__.py MAPI/Util/Generators.py MAPI/Util/Iterators.py archiver_python.i + datadir = $(pythonexeclibdir) + data_DATA = MAPICore.py inetmapi.py icalmapi.py licenseclient.py + +-if ! OSS_ONLY +-EXTRA_DIST += licensereq.py +-data_DATA += licensereq.py +-endif +- + mapi_wrap.h: mapi_wrap.cxx + mapi_wrap.cxx: ../mapi.i ../mapiutil.i ../mapidefs.i ../mapicode.i ../mapix.i ../mapinotifsink.i ../mapiutil.i ../typemap.i ../helpers.i ../edkmdb.i ../IECServiceAdmin.i ../ecdefs.i typemap_python.i helpers_python.i + if test "x$(SWIG_EXEC)" = "x"; then echo "swig is required for 'make dist'"; exit 1; fi diff --git a/net-mail/zarafa/files/6.40.10.28214/zarafa-6.40.2-libtcmalloc_shared-1.patch b/net-mail/zarafa/files/6.40.10.28214/zarafa-6.40.2-libtcmalloc_shared-1.patch new file mode 100644 index 0000000..0c69fa7 --- /dev/null +++ b/net-mail/zarafa/files/6.40.10.28214/zarafa-6.40.2-libtcmalloc_shared-1.patch @@ -0,0 +1,19 @@ +Submitted By: Mario Fetka ( mario.fetka@gmaail.com) +Date: 2010-10-11 +Initial Package Version: 6.40.2 +Origin: me +Upstream Status: unknown +Description: on gentoo libtcmalloc_minimal is only provided as shared lib + +diff -Naur zarafa-6.40.2.orig/configure.ac zarafa-6.40.2/configure.ac +--- zarafa-6.40.2.orig/configure.ac 2010-10-11 18:39:35.000000000 +0000 ++++ zarafa-6.40.2/configure.ac 2010-10-11 18:40:03.000000000 +0000 +@@ -441,7 +441,7 @@ + AC_HELP_STRING([--with-tcmalloc-prefix=PATH],[path to tcmalloc lib, e.g. /usr/lib/]), + [TCMALLOC_PREFIX=${withval}],[TCMALLOC_PREFIX=/usr/lib]) + AC_CHECK_LIB(tcmalloc_minimal, [open], +- [ TCMALLOC_LIBS="${TCMALLOC_PREFIX}/libtcmalloc_minimal.a" ], ++ [ TCMALLOC_LIBS="${TCMALLOC_PREFIX}/libtcmalloc_minimal.so" ], + [ WITH_TCMALLOC=no ]) + AC_SUBST(TCMALLOC_LIBS) + AC_LANG_POP diff --git a/net-mail/zarafa/files/6.40.10.28214/zarafa-6.40.2-sysconfig2confd-1.patch b/net-mail/zarafa/files/6.40.10.28214/zarafa-6.40.2-sysconfig2confd-1.patch new file mode 100644 index 0000000..ed8f328 --- /dev/null +++ b/net-mail/zarafa/files/6.40.10.28214/zarafa-6.40.2-sysconfig2confd-1.patch @@ -0,0 +1,187 @@ +Submitted By: Mario Fetka (mario.fetka@gmail.com) +Date: 2010-10-13 +Initial Package Version: 6.40.2 +Origin: me +Upstream Status: gentoo specific +Description: this patch correct the install dir for the default install target from /etc/sysconfig to the gentoo equivalent /etc/conf.d + +diff -Naur zarafa-6.40.2.orig/installer/linux/Makefile.am zarafa-6.40.2/installer/linux/Makefile.am +--- zarafa-6.40.2.orig/installer/linux/Makefile.am 2010-10-13 08:26:21.000000000 +0000 ++++ zarafa-6.40.2/installer/linux/Makefile.am 2010-10-13 08:28:26.000000000 +0000 +@@ -26,7 +26,7 @@ + sysconf_initdir=${sysconfdir}/init.d + sysconf_init_SCRIPTS = ${@DISTRO@_initscript_files} + +-rhel_sysconfig_path = ${sysconfdir}/sysconfig ++rhel_sysconfig_path = ${sysconfdir}/conf.d + suse_sysconfig_path = ${localstatedir}/adm/fillup-templates + sles_sysconfig_path = ${localstatedir}/adm/fillup-templates + sysconf_sysconfigdir = ${@DISTRO@_sysconfig_path} +diff -Naur zarafa-6.40.2.orig/installer/userscripts/createcompany zarafa-6.40.2/installer/userscripts/createcompany +--- zarafa-6.40.2.orig/installer/userscripts/createcompany 2010-10-13 08:26:21.000000000 +0000 ++++ zarafa-6.40.2/installer/userscripts/createcompany 2010-10-13 08:26:53.000000000 +0000 +@@ -9,8 +9,8 @@ + # beware that this string can contain any characters, so take heed to + # correct quoting. + +-if [ -f ${prefix}/etc/sysconfig/zarafa ]; then +- . ${prefix}/etc/sysconfig/zarafa ++if [ -f ${prefix}/etc/conf.d/zarafa ]; then ++ . ${prefix}/etc/conf.d/zarafa + fi + + ZARAFA_COMPANY_SCRIPTS=/etc/zarafa/userscripts/createcompany.d +diff -Naur zarafa-6.40.2.orig/installer/userscripts/createcompany.in zarafa-6.40.2/installer/userscripts/createcompany.in +--- zarafa-6.40.2.orig/installer/userscripts/createcompany.in 2010-10-13 08:26:21.000000000 +0000 ++++ zarafa-6.40.2/installer/userscripts/createcompany.in 2010-10-13 08:27:00.000000000 +0000 +@@ -9,8 +9,8 @@ + # beware that this string can contain any characters, so take heed to + # correct quoting. + +-if [ -f @sysconfdir@/sysconfig/zarafa ]; then +- . @sysconfdir@/sysconfig/zarafa ++if [ -f @sysconfdir@/conf.d/zarafa ]; then ++ . @sysconfdir@/conf.d/zarafa + fi + + ZARAFA_COMPANY_SCRIPTS=@USERSCRIPTDIR@/createcompany.d +diff -Naur zarafa-6.40.2.orig/installer/userscripts/creategroup zarafa-6.40.2/installer/userscripts/creategroup +--- zarafa-6.40.2.orig/installer/userscripts/creategroup 2010-10-13 08:26:21.000000000 +0000 ++++ zarafa-6.40.2/installer/userscripts/creategroup 2010-10-13 08:27:04.000000000 +0000 +@@ -9,8 +9,8 @@ + # beware that this string can contain any characters, so take heed to + # correct quoting. + +-if [ -f ${prefix}/etc/sysconfig/zarafa ]; then +- . ${prefix}/etc/sysconfig/zarafa ++if [ -f ${prefix}/etc/conf.d/zarafa ]; then ++ . ${prefix}/etc/conf.d/zarafa + fi + + ZARAFA_GROUP_SCRIPTS=/etc/zarafa/userscripts/creategroup.d +diff -Naur zarafa-6.40.2.orig/installer/userscripts/creategroup.in zarafa-6.40.2/installer/userscripts/creategroup.in +--- zarafa-6.40.2.orig/installer/userscripts/creategroup.in 2010-10-13 08:26:21.000000000 +0000 ++++ zarafa-6.40.2/installer/userscripts/creategroup.in 2010-10-13 08:27:08.000000000 +0000 +@@ -9,8 +9,8 @@ + # beware that this string can contain any characters, so take heed to + # correct quoting. + +-if [ -f @sysconfdir@/sysconfig/zarafa ]; then +- . @sysconfdir@/sysconfig/zarafa ++if [ -f @sysconfdir@/conf.d/zarafa ]; then ++ . @sysconfdir@/conf.d/zarafa + fi + + ZARAFA_GROUP_SCRIPTS=@USERSCRIPTDIR@/creategroup.d +diff -Naur zarafa-6.40.2.orig/installer/userscripts/createuser zarafa-6.40.2/installer/userscripts/createuser +--- zarafa-6.40.2.orig/installer/userscripts/createuser 2010-10-13 08:26:21.000000000 +0000 ++++ zarafa-6.40.2/installer/userscripts/createuser 2010-10-13 08:27:12.000000000 +0000 +@@ -9,8 +9,8 @@ + # beware that this string can contain any characters, so take heed to + # correct quoting. + +-if [ -f ${prefix}/etc/sysconfig/zarafa ]; then +- . ${prefix}/etc/sysconfig/zarafa ++if [ -f ${prefix}/etc/conf.d/zarafa ]; then ++ . ${prefix}/etc/conf.d/zarafa + fi + + ZARAFA_USER_SCRIPTS=/etc/zarafa/userscripts/createuser.d +diff -Naur zarafa-6.40.2.orig/installer/userscripts/createuser.in zarafa-6.40.2/installer/userscripts/createuser.in +--- zarafa-6.40.2.orig/installer/userscripts/createuser.in 2010-10-13 08:26:21.000000000 +0000 ++++ zarafa-6.40.2/installer/userscripts/createuser.in 2010-10-13 08:27:17.000000000 +0000 +@@ -9,8 +9,8 @@ + # beware that this string can contain any characters, so take heed to + # correct quoting. + +-if [ -f @sysconfdir@/sysconfig/zarafa ]; then +- . @sysconfdir@/sysconfig/zarafa ++if [ -f @sysconfdir@/conf.d/zarafa ]; then ++ . @sysconfdir@/conf.d/zarafa + fi + + ZARAFA_USER_SCRIPTS=@USERSCRIPTDIR@/createuser.d +diff -Naur zarafa-6.40.2.orig/installer/userscripts/deletecompany zarafa-6.40.2/installer/userscripts/deletecompany +--- zarafa-6.40.2.orig/installer/userscripts/deletecompany 2010-10-13 08:26:21.000000000 +0000 ++++ zarafa-6.40.2/installer/userscripts/deletecompany 2010-10-13 08:27:22.000000000 +0000 +@@ -9,8 +9,8 @@ + # beware that this string can contain any characters, so take heed to + # correct quoting. + +-if [ -f ${prefix}/etc/sysconfig/zarafa ]; then +- . ${prefix}/etc/sysconfig/zarafa ++if [ -f ${prefix}/etc/conf.d/zarafa ]; then ++ . ${prefix}/etc/conf.d/zarafa + fi + + ZARAFA_COMPANY_SCRIPTS=/etc/zarafa/userscripts/deletecompany.d +diff -Naur zarafa-6.40.2.orig/installer/userscripts/deletecompany.in zarafa-6.40.2/installer/userscripts/deletecompany.in +--- zarafa-6.40.2.orig/installer/userscripts/deletecompany.in 2010-10-13 08:26:21.000000000 +0000 ++++ zarafa-6.40.2/installer/userscripts/deletecompany.in 2010-10-13 08:27:26.000000000 +0000 +@@ -9,8 +9,8 @@ + # beware that this string can contain any characters, so take heed to + # correct quoting. + +-if [ -f @sysconfdir@/sysconfig/zarafa ]; then +- . @sysconfdir@/sysconfig/zarafa ++if [ -f @sysconfdir@/conf.d/zarafa ]; then ++ . @sysconfdir@/conf.d/zarafa + fi + + ZARAFA_COMPANY_SCRIPTS=@USERSCRIPTDIR@/deletecompany.d +diff -Naur zarafa-6.40.2.orig/installer/userscripts/deletegroup zarafa-6.40.2/installer/userscripts/deletegroup +--- zarafa-6.40.2.orig/installer/userscripts/deletegroup 2010-10-13 08:26:21.000000000 +0000 ++++ zarafa-6.40.2/installer/userscripts/deletegroup 2010-10-13 08:27:30.000000000 +0000 +@@ -9,8 +9,8 @@ + # beware that this string can contain any characters, so take heed to + # correct quoting. + +-if [ -f ${prefix}/etc/sysconfig/zarafa ]; then +- . ${prefix}/etc/sysconfig/zarafa ++if [ -f ${prefix}/etc/conf.d/zarafa ]; then ++ . ${prefix}/etc/conf.d/zarafa + fi + + ZARAFA_GROUP_SCRIPTS=/etc/zarafa/userscripts/deletegroup.d +diff -Naur zarafa-6.40.2.orig/installer/userscripts/deletegroup.in zarafa-6.40.2/installer/userscripts/deletegroup.in +--- zarafa-6.40.2.orig/installer/userscripts/deletegroup.in 2010-10-13 08:26:21.000000000 +0000 ++++ zarafa-6.40.2/installer/userscripts/deletegroup.in 2010-10-13 08:27:35.000000000 +0000 +@@ -9,8 +9,8 @@ + # beware that this string can contain any characters, so take heed to + # correct quoting. + +-if [ -f @sysconfdir@/sysconfig/zarafa ]; then +- . @sysconfdir@/sysconfig/zarafa ++if [ -f @sysconfdir@/conf.d/zarafa ]; then ++ . @sysconfdir@/conf.d/zarafa + fi + + ZARAFA_GROUP_SCRIPTS=@USERSCRIPTDIR@/deletegroup.d +diff -Naur zarafa-6.40.2.orig/installer/userscripts/deleteuser zarafa-6.40.2/installer/userscripts/deleteuser +--- zarafa-6.40.2.orig/installer/userscripts/deleteuser 2010-10-13 08:26:21.000000000 +0000 ++++ zarafa-6.40.2/installer/userscripts/deleteuser 2010-10-13 08:27:39.000000000 +0000 +@@ -9,8 +9,8 @@ + # that this string can contain any characters, so take heed to correct + # quoting. + +-if [ -f ${prefix}/etc/sysconfig/zarafa ]; then +- . ${prefix}/etc/sysconfig/zarafa ++if [ -f ${prefix}/etc/conf.d/zarafa ]; then ++ . ${prefix}/etc/conf.d/zarafa + fi + + ZARAFA_USER_SCRIPTS=/etc/zarafa/userscripts/deleteuser.d +diff -Naur zarafa-6.40.2.orig/installer/userscripts/deleteuser.in zarafa-6.40.2/installer/userscripts/deleteuser.in +--- zarafa-6.40.2.orig/installer/userscripts/deleteuser.in 2010-10-13 08:26:21.000000000 +0000 ++++ zarafa-6.40.2/installer/userscripts/deleteuser.in 2010-10-13 08:27:43.000000000 +0000 +@@ -9,8 +9,8 @@ + # that this string can contain any characters, so take heed to correct + # quoting. + +-if [ -f @sysconfdir@/sysconfig/zarafa ]; then +- . @sysconfdir@/sysconfig/zarafa ++if [ -f @sysconfdir@/conf.d/zarafa ]; then ++ . @sysconfdir@/conf.d/zarafa + fi + + ZARAFA_USER_SCRIPTS=@USERSCRIPTDIR@/deleteuser.d diff --git a/net-mail/zarafa/files/6.40.10.28214/zarafa-6.40.6-force_latin1.patch b/net-mail/zarafa/files/6.40.10.28214/zarafa-6.40.6-force_latin1.patch new file mode 100644 index 0000000..82ada47 --- /dev/null +++ b/net-mail/zarafa/files/6.40.10.28214/zarafa-6.40.6-force_latin1.patch @@ -0,0 +1,14 @@ +diff -uNr zarafa-6.40.6.orig//provider/libserver/ECDatabaseMySQL.cpp zarafa-6.40.6/provider/libserver/ECDatabaseMySQL.cpp +--- zarafa-6.40.6.orig//provider/libserver/ECDatabaseMySQL.cpp 2011-03-20 23:50:06.000000000 +0100 ++++ zarafa-6.40.6/provider/libserver/ECDatabaseMySQL.cpp 2011-03-21 00:00:45.000000000 +0100 +@@ -343,6 +343,10 @@ + // this option was introduced in mysql 5.0, so let's not even try on 4.1 servers + strQuery = "SET SESSION sql_mode = 'STRICT_ALL_TABLES'"; + Query(strQuery); // ignore error ++ ++ // Latin1 is default charset ++ strQuery = "SET NAMES 'latin1'"; ++ Query(strQuery); + } + + exit: diff --git a/net-mail/zarafa/zarafa-6.40.10.28214.ebuild b/net-mail/zarafa/zarafa-6.40.10.28214.ebuild new file mode 100644 index 0000000..2085fec --- /dev/null +++ b/net-mail/zarafa/zarafa-6.40.10.28214.ebuild @@ -0,0 +1,252 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="2" + +PHP_EXT_NAME="mapi" +PHP_EXT_INI="yes" +PHP_EXT_ZENDEXT="no" +USE_PHP="php5-3" + +inherit php-ext-source-r2 eutils autotools rpm5 versionator + +MY_PV=$(replace_version_separator 3 '-' ) +MY_PVV=$(replace_version_separator 3 'beta' $MY_PV ) +MY_PVM=$(get_version_component_range 1-2 ) +MY_PVR=$(get_version_component_range 1-3 ) + +DESCRIPTION="Open Source Groupware Solution" +HOMEPAGE="http://zarafa.com/" +SRC_URI="http://download.zarafa.com/community/final/${MY_PVM}/${MY_PV}/sourcecode/zcp-${MY_PVR}.tar.gz + amd64? ( licensed? ( http://download.zarafa.com/community/final/${MY_PVM}/${MY_PV}/zcp-${MY_PV}-sles-11-x86_64-free.tar.gz ) ) + x86? ( licensed? ( http://download.zarafa.com/community/final/${MY_PVM}/${MY_PV}/zcp-${MY_PV}-sles-11-i586-free.tar.gz ) ) + bash-completion? ( http://community.zarafa.com/mod/community_plugins/download.php?release_guid=434 -> ${PN}-bash-completion-${PV}.zip ) + smime? ( http://community.zarafa.com/mod/community_plugins/download.php?release_guid=554 -> ${PN}-webaccess-plugin-smime-${PV}.zip ) + dspam? ( http://community.zarafa.com/mod/community_plugins/download.php?release_guid=125 -> ${PN}-webaccess-plugin-dspam-${PV}.tar.gz ) + google-maps? ( http://community.zarafa.com/mod/community_plugins/download.php?release_guid=123 -> ${PN}-webaccess-plugin-google-maps-${PV}.zip ) + mobile-device? ( http://community.zarafa.com/mod/community_plugins/download.php?release_guid=152 -> ${PN}-webaccess-plugin-mobile-device-${PV}.zip ) + archive? ( http://community.zarafa.com/mod/community_plugins/download.php?release_guid=140 -> ${PN}-webaccess-plugin-z-merge-archive-${PV}.zip ) + themes? ( + http://community.zarafa.com/mod/community_plugins/download.php?release_guid=164 -> ${PN}-webaccess-theme-dark-${PV}.tar.gz + http://community.zarafa.com/mod/community_plugins/download.php?release_guid=162 -> ${PN}-webaccess-theme-orange-${PV}.tar.gz + ) + " + +LICENSE="AGPL-3" +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86" +RESTRICT="" +IUSE="debug epoll ldap logrotate licensed static swig tcmalloc testtools perl pic profiling python kerberos sparsehash bash-completion smime dspam google-maps themes mobile-device archive" + +RDEPEND=">=dev-libs/libical-0.44 + dev-cpp/libvmime:0.7 + app-text/catdoc + app-text/poppler + dev-cpp/clucene + dev-db/mysql + dev-libs/libxml2 + dev-libs/openssl + net-misc/curl + sys-libs/e2fsprogs-libs + sys-libs/zlib + sys-libs/ncurses + sys-libs/pam + dev-libs/boost + sys-apps/util-linux + kerberos? ( || ( app-crypt/mit-krb5 app-crypt/heimdal ) ) + ldap? ( net-nds/openldap ) + logrotate? ( app-admin/logrotate ) + tcmalloc? ( dev-util/google-perftools ) + sparsehash? ( dev-cpp/sparsehash ) + perl? ( dev-lang/perl ) + python? ( dev-lang/python ) + swig? ( dev-lang/swig ) + testtools? ( dev-python/testtools ) + licensed? ( + dev-libs/openssl:0.9.8 + >=sys-libs/zlib-1.2.4 ) + bash-completion? ( app-shells/bash-completion )" + +S="${WORKDIR}"/zarafa-${MY_PVR}/ + +DEPEND="${RDEPEND} + dev-util/pkgconfig + sys-devel/gettext + dev-lang/php + app-arch/unzip" + +QA_PRESTRIPPED=" + usr/bin/zarafa-restore + usr/bin/zarafa-report + usr/bin/zarafa-backup + usr/bin/zarafa-licensed + usr/lib/zarafa/ldapmsplugin.so + usr/lib64/zarafa/ldapmsplugin.so" + +QA_DT_HASH=" + usr/bin/zarafa-restore + usr/bin/zarafa-report + usr/bin/zarafa-backup + usr/bin/zarafa-licensed + usr/lib/zarafa/ldapmsplugin.so + usr/lib64/zarafa/ldapmsplugin.so" + +src_unpack() { + unpack ${A} + if use licensed; then + cd "${WORKDIR}" + mkdir licensed + cd licensed + rpm5_unpack $(find ./../ -name "zarafa-licensed*.rpm") + cd "${S}" + fi +} + +src_prepare() { + EPATCH_SOURCE="${FILESDIR}/${PV}" EPATCH_SUFFIX="patch" \ + EPATCH_FORCE="yes" epatch + edos2unix php-webclient-ajax/config.php.dist + AT_M4DIR="autoconf" eautoreconf +} + +src_configure() { + econf \ + --enable-oss \ + --disable-testtools \ + --enable-release \ + --with-userscript-prefix=/etc/zarafa/userscripts \ + --with-quotatemplate-prefix=/etc/zarafa/quotamails \ + --with-indexerscripts-prefix=/etc/zarafa/indexerscripts \ + $(use_with pic) \ + $(use_enable perl) \ + $(use_enable python) \ + $(use_enable profiling) \ + $(use_enable static) \ + $(use_enable swig) \ + $(use_enable sparsehash) \ + $(use_enable tcmalloc) \ + $(use_enable testtools) \ + $(use_enable debug) +} + + +src_install() { + make DESTDIR="${D}" install || die "make install failed" + make DESTDIR="${D}" install-ajax-webaccess || die "make install-ajax-webaccess failed" + make DESTDIR="${D}" install-mobile-webaccess || die "make install-mobile-webaccess failed" + + insinto /etc/apache2/modules.d + newins "${FILESDIR}/50_zarafa-webaccess-mobile.conf" 50_zarafa-webaccess-mobile.conf || die "Failed to install apache config files" + newins "${FILESDIR}/50_zarafa-webaccess.conf" 50_zarafa-webaccess.conf || die "Failed to install apache config files" + + rm "${D}"/usr/share/zarafa-webaccess/*.conf || die "Failed to remove apache config files" + rm "${D}"/usr/share/zarafa-webaccess-mobile/*.conf || die "Failed to remove apache config files" + + # Use only some parts of PHP eclass + php-ext-source-r2_buildinilist php${slot} + php-ext-source-r2_addextension "${PHP_EXT_NAME}.so" + + # Symlink the .ini files from ext/ to ext-active/ + for inifile in ${PHPINIFILELIST} ; do + inidir="${inifile/${PHP_EXT_NAME}.ini/}" + inidir="${inidir/ext/ext-active}" + dodir "/${inidir}" + dosym "/${inifile}" "/${inifile/ext/ext-active}" + done + + # Install PHP module + php-ext-source-r2_addtoinifiles ";mapi.cache_max_sessions" "128" + php-ext-source-r2_addtoinifiles ";mapi.cache_lifetime" "300" + + if use logrotate; then + insinto /etc/logrotate.d + newins "${FILESDIR}"/zarafa.logrotate zarafa || die "Failed to install logrotate" + fi + + # install ldap files + if use ldap; then + insinto /etc/openldap/schema + doins installer/ldap/zarafa.* || die "Failed to install ldap schema files" + fi + + insinto /etc/zarafa + doins installer/linux/*.cfg || die "Failed to install config files" + + exeinto /etc/zarafa/userscripts/ + newexe "${FILESDIR}"/junklearn.dspam junklearn + + dodir /var/log/zarafa + keepdir /var/log/zarafa + + if [[ "${ARCH}" == "x86" || "${ARCH}" == "amd64" ]]; then + if use licensed; then + dobin "${WORKDIR}"/licensed/usr/bin/* || die "Failed to install licensed binaries" + exeinto /usr/$(get_libdir)/zarafa/ + doexe "${WORKDIR}"/licensed/usr/$(get_libdir)/zarafa/*.so || die "Failed to install licensed lib" + doman "${WORKDIR}"/licensed/usr/share/man/*/*.gz || die "Failed to install man files" + exeinto /usr/share/zarafa/zarafa-backup-helpers/ + doexe "${WORKDIR}"/licensed/usr/share/zarafa/zarafa-backup-helpers/* || die "Failed to install helper scripts" + dodoc "${WORKDIR}"/licensed/usr/share/doc/packages/zarafa-licensed/* || die "Failed to install docs" + insinto /etc/zarafa + doins -r "${WORKDIR}"/licensed/etc/zarafa/* || die "Failed to install config files" + insinto /etc/cron.d + doins "${WORKDIR}"/licensed/etc/cron.d/* || die "Failed to install cron files" +# insinto /usr/share/zarafa-webaccess/ +# doins -r "${WORKDIR}"/licensed/usr/share/zarafa-webaccess/* || die "Failed to install webapp files" + newinitd "${FILESDIR}"/zarafa-licensed.rc6 zarafa-licensed || die "Failed to install init.d files" + fi + fi + + if use bash-completion; then + insinto /usr/share/bash-completion + doins "${WORKDIR}"/zarafa + fi + + if use smime; then + insinto /var/lib/zarafa-webaccess/plugins + doins -r "${WORKDIR}"/smime + dodoc "${WORKDIR}"/*.pdf + fi + + if use dspam; then + newdoc "${WORKDIR}"/dspam/README README.dspam + newdoc "${WORKDIR}"/dspam/INSTALL INSTALL.dspam + newdoc "${WORKDIR}"/dspam/CHANGELOG CHANGELOG.dspam + rm "${WORKDIR}"/dspam/README "${WORKDIR}"/dspam/INSTALL "${WORKDIR}"/dspam/CHANGELOG + + insinto /var/lib/zarafa-webaccess/plugins + doins -r "${WORKDIR}"/dspam + fi + + if use google-maps; then + insinto /var/lib/zarafa-webaccess/plugins + doins -r "${WORKDIR}"/contactgmap + doins -r "${WORKDIR}"/gmap + fi + + if use mobile-device; then + insinto /var/lib/zarafa-webaccess/plugins + doins -r "${WORKDIR}"/mdm + fi + + if use archive; then + insinto /var/lib/zarafa-webaccess/plugins + doins -r "${WORKDIR}"/zma + fi + + if use themes; then + insinto /usr/share/zarafa-webaccess/client/layout/themes + doins -r "${WORKDIR}"/dark + insinto /usr/share/zarafa-webaccess/client/layout/themes/orange + doins -r "${WORKDIR}"/zarafa-orange-theme/* + fi + + newinitd "${FILESDIR}"/zarafa-gateway.rc6 zarafa-gateway || die "Failed to install init.d files" + newinitd "${FILESDIR}"/zarafa-ical.rc6 zarafa-ical || die "Failed to install init.d files" + newinitd "${FILESDIR}"/zarafa-indexer.rc6 zarafa-indexer || die "Failed to install init.d files" + newinitd "${FILESDIR}"/zarafa-monitor.rc6 zarafa-monitor || die "Failed to install init.d files" + newinitd "${FILESDIR}"/zarafa-server.rc6 zarafa-server || die "Failed to install init.d files" + newinitd "${FILESDIR}"/zarafa-spooler.rc6 zarafa-spooler || die "Failed to install init.d files" + newinitd "${FILESDIR}"/zarafa-dagent.rc6 zarafa-dagent || die "Failed to install init.d files" +}