From 0ba3444be553bc903674fd2be2b80753f8af3b84 Mon Sep 17 00:00:00 2001 From: Mario Fetka Date: Sat, 12 Oct 2013 13:19:31 +0200 Subject: [PATCH] Bump Package-Manager: portage-2.2.0_alpha188 RepoMan-Options: --force --- net-mail/zarafa/ChangeLog | 16 + net-mail/zarafa/Manifest | 18 +- .../files/7.1.7.42779/Datux-sendas.patch | 47 +++ .../files/7.1.7.42779/Datux-spamhook.patch | 219 ++++++++++ .../7.1.7.42779/zarafa-01-oss-configure.patch | 61 +++ .../7.1.7.42779/zarafa-06-sizeof-char.patch | 391 ++++++++++++++++++ .../files/7.1.7.42779/zarafa-22-gcc47.patch | 142 +++++++ .../7.1.7.42779/zarafa-23-newclucene.patch | 175 ++++++++ .../zarafa-24-undefined-behavior.patch | 33 ++ .../zarafa-7.0.3-sysconfig2confd-1.patch | 103 +++++ .../7.1.7.42779/zarafa-7.1.4-tcmalloc.patch | 11 + .../zarafa-7.1.5-gentoo-swig1.3.patch | 15 + net-mail/zarafa/zarafa-7.1.5.42059.ebuild | 1 + net-mail/zarafa/zarafa-7.1.7.42779.ebuild | 202 +++++++++ 14 files changed, 1432 insertions(+), 2 deletions(-) create mode 100644 net-mail/zarafa/files/7.1.7.42779/Datux-sendas.patch create mode 100644 net-mail/zarafa/files/7.1.7.42779/Datux-spamhook.patch create mode 100644 net-mail/zarafa/files/7.1.7.42779/zarafa-01-oss-configure.patch create mode 100644 net-mail/zarafa/files/7.1.7.42779/zarafa-06-sizeof-char.patch create mode 100644 net-mail/zarafa/files/7.1.7.42779/zarafa-22-gcc47.patch create mode 100644 net-mail/zarafa/files/7.1.7.42779/zarafa-23-newclucene.patch create mode 100644 net-mail/zarafa/files/7.1.7.42779/zarafa-24-undefined-behavior.patch create mode 100644 net-mail/zarafa/files/7.1.7.42779/zarafa-7.0.3-sysconfig2confd-1.patch create mode 100644 net-mail/zarafa/files/7.1.7.42779/zarafa-7.1.4-tcmalloc.patch create mode 100644 net-mail/zarafa/files/7.1.7.42779/zarafa-7.1.5-gentoo-swig1.3.patch create mode 100644 net-mail/zarafa/zarafa-7.1.7.42779.ebuild diff --git a/net-mail/zarafa/ChangeLog b/net-mail/zarafa/ChangeLog index e55dce6..1aad406 100644 --- a/net-mail/zarafa/ChangeLog +++ b/net-mail/zarafa/ChangeLog @@ -2,6 +2,22 @@ # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 # $Header: $ +*zarafa-7.1.7.42779 (12 Oct 2013) + + 12 Oct 2013; Mario Fetka + +files/7.1.7.42779/Datux-sendas.patch, + +files/7.1.7.42779/Datux-spamhook.patch, + +files/7.1.7.42779/zarafa-01-oss-configure.patch, + +files/7.1.7.42779/zarafa-06-sizeof-char.patch, + +files/7.1.7.42779/zarafa-22-gcc47.patch, + +files/7.1.7.42779/zarafa-23-newclucene.patch, + +files/7.1.7.42779/zarafa-24-undefined-behavior.patch, + +files/7.1.7.42779/zarafa-7.0.3-sysconfig2confd-1.patch, + +files/7.1.7.42779/zarafa-7.1.4-tcmalloc.patch, + +files/7.1.7.42779/zarafa-7.1.5-gentoo-swig1.3.patch, + +zarafa-7.1.7.42779.ebuild, zarafa-7.1.5.42059.ebuild: + Bump + 15 Aug 2013; Mario Fetka +files/7.1.5.42059/zarafa-01-oss-configure.patch, +files/7.1.5.42059/zarafa-06-sizeof-char.patch, diff --git a/net-mail/zarafa/Manifest b/net-mail/zarafa/Manifest index 525299d..12fc75e 100644 --- a/net-mail/zarafa/Manifest +++ b/net-mail/zarafa/Manifest @@ -13,6 +13,16 @@ AUX 7.1.5.42059/zarafa-35-embedded-mysql.patch 1867 SHA256 df3abb11aae67901251b0 AUX 7.1.5.42059/zarafa-7.0.3-sysconfig2confd-1.patch 4843 SHA256 c9196a886f8435dcb2f82b92c6ee4769daf1eeb76b2fdfad4980a88cff461359 SHA512 6b683018a834ca666b0c96226a63280f3a3cde5e1e392e1e9f5681fa870669bbff27ebd719390aeebf670bcf3ba7b05ef0c27a77a039c0099fdc97dec4f0f36d WHIRLPOOL dd8e19057dc40785bee25846b399fec8ec5b61fd43586361a5131ef2a9f3e1dcd36db8290e7a0695b6a0a2fa01dca42581dc8e517bafe9290008f3ec38c3a372 AUX 7.1.5.42059/zarafa-7.1.4-tcmalloc.patch 679 SHA256 3f982a2a37a42092a4878c7d7af0b235ae8327f26c0f5fe0ea253cbfcc236018 SHA512 086cbabb7d87ee3218de76f3f42cf3fcd9e1abdc289c6a9280556e3ef8812142da68dadb2e0d4da3355382fea27f3f3f3a37d943ef926f064d4bc9f0884c78de WHIRLPOOL 8e1d57b82d896127b384159ebb4b19457a3431250af1029d5cf214f5492f8f78b3c3baa8cf12baa39b2dbeddfa5672c4d5ce97b6a44bf230469d6074a02c829b AUX 7.1.5.42059/zarafa-7.1.5-gentoo-swig1.3.patch 621 SHA256 12666f1a041d4dde86577860c96fd7ca67f6e2ce33b981e8f57ac336bba48f19 SHA512 419b4f0b12ab18ec140e2d829a1355236f2fbecfa4c26262c7044142a6c56299e053cff4a21a50e5793b45419431c078080f8ff4dc715ad89725aa9921e320fa WHIRLPOOL 8adbad8396d1151942ea78daf52a11f050d59fabe476159afac86c7178e01733cf9848a163031663fdbf7858994c569318495181a196e710a06d54b621185908 +AUX 7.1.7.42779/Datux-sendas.patch 2439 SHA256 c2692144549cf5b0aad5aea3199c7655db3d6d8d62c8fc65a0333f7def98f5dc SHA512 64e3f43d703265d8aa9d6e2632fac68d1571409414dd48781593855f7def5f2d034501febf626bd809a748eaa8cff743f5e268a71ecd61dd41505f0157105f3e WHIRLPOOL 32fdb7136ee25d7381d3dbd690ca375e01ae097a521a2a42bdd90434b5c7b815e8eddb86ae7958c7be694107c693a543320e5c5455326fa0df618f3c452de048 +AUX 7.1.7.42779/Datux-spamhook.patch 8890 SHA256 e67e6178d27f78530b727ca7cc4e96cd1e9e3173fa20547cd132464f70d207f5 SHA512 5e11dc0940441e208d877a31d74ba077abd388982859e7c3d6c0f42551ad362d0e9991d2a6ea2b62d794ea84564222ef376025a2b50e60293684cdbd5ec566a4 WHIRLPOOL 7751cb4ceec3abf6261917fa518486fc4c534a6b9888e3fa091f9d86832cac229bb6ace87a33b20de7c68d7de7ac947826e3f360d1c185170587ab287b1bcc56 +AUX 7.1.7.42779/zarafa-01-oss-configure.patch 1759 SHA256 8933fd463506d703358e9829177afd71c15f34f8d424113c60a414ed406bcd24 SHA512 18d3cb4fb68df966372a7f7670c9f12627395387364adc66947ad04b5b086d057ace980d6bd064683a5a6d851d19e9f2b216ec4c54300491dbaf8bca684fedd3 WHIRLPOOL a46eb5370e53780800735be46dfc257d4612d0429145154dc2792b3556ae6dc4478c4c35db2c01a53925f1c990665cd9704f926b885b8f16b2279a77129fc566 +AUX 7.1.7.42779/zarafa-06-sizeof-char.patch 17312 SHA256 1d9b50aacc13e88ae650ffbdbf5470d1d9fc747c920afe082b2dd4108491443b SHA512 c92c81dd0a6cb241611af7247d01af508ce2c72238c0fab00a3d042c2002d941542137acf080015e3acb820e6f2998efde16da7b53823f43d13f55d8189b25cc WHIRLPOOL 5577193f7c9f3160cb6da385b4ca7f856f75e3336e3b42e3a0748b7c95fcf214bc3d6c60e32c36598d501745253311920fb9dbc70f4e16bec5b0ce61c888e3d0 +AUX 7.1.7.42779/zarafa-22-gcc47.patch 6805 SHA256 00a70d2e2b73ff81081302247e7a2af59573058ade9e3b9508fc6d997d5e585f SHA512 33e7279e2f451df7dfee9ffcb4dcbbc74349cf9ab1a85f3f4f9b033bf54d3a9fb7b893f6738c6bad573983cce955699ec1320f4fd8f061fe5a9d96d48b168761 WHIRLPOOL f5311a55639094cd5986a514c4892c23fedb31845f7660b1ab3421f00c77f8a4b96ba052f6918b84032c2ec6fdfa5df7f0f7e34f91be6db539350bb041b8db3c +AUX 7.1.7.42779/zarafa-23-newclucene.patch 6766 SHA256 794e0b8db4d8775a34d04a758aeb19ae6c50255955d78a2e0ecbadee8a7add50 SHA512 96d399ee72347d35f5b580f7760a729955d746937a0f56347d1558405064642a84803e39322816faa865ce0bf80aa5a6d576f3efc88bb81c8292e2f7c411608c WHIRLPOOL 781ee12b336f5410049b6454f2c671c9ec7e83f30684f4263814663bb4ae840e4cd24f89126cb06742ef184d1225497b37451305711c70157084415e624bd044 +AUX 7.1.7.42779/zarafa-24-undefined-behavior.patch 1002 SHA256 f3156cd7f17a7c3feaa66cbb52f8d4d1a3d22135054d6131cb76784b2f2dcb0b SHA512 3b67835052cfffa071e0f5a06de9b12c5018ced84a4bc48ada54d5eb1da2fa63fa7274882e70b43fcc3780c74bd6b216fdf26fa38a4633238a8dae0ca53e39bc WHIRLPOOL 6530d5caef06c007eb7b0941c4c6274cfd1dc1860f88a8037f540b7626dca90147ffd9595fad8c74015283a7b466c9450e8f7eb621673b1743eafa9502a23edd +AUX 7.1.7.42779/zarafa-7.0.3-sysconfig2confd-1.patch 4843 SHA256 c9196a886f8435dcb2f82b92c6ee4769daf1eeb76b2fdfad4980a88cff461359 SHA512 6b683018a834ca666b0c96226a63280f3a3cde5e1e392e1e9f5681fa870669bbff27ebd719390aeebf670bcf3ba7b05ef0c27a77a039c0099fdc97dec4f0f36d WHIRLPOOL dd8e19057dc40785bee25846b399fec8ec5b61fd43586361a5131ef2a9f3e1dcd36db8290e7a0695b6a0a2fa01dca42581dc8e517bafe9290008f3ec38c3a372 +AUX 7.1.7.42779/zarafa-7.1.4-tcmalloc.patch 679 SHA256 3f982a2a37a42092a4878c7d7af0b235ae8327f26c0f5fe0ea253cbfcc236018 SHA512 086cbabb7d87ee3218de76f3f42cf3fcd9e1abdc289c6a9280556e3ef8812142da68dadb2e0d4da3355382fea27f3f3f3a37d943ef926f064d4bc9f0884c78de WHIRLPOOL 8e1d57b82d896127b384159ebb4b19457a3431250af1029d5cf214f5492f8f78b3c3baa8cf12baa39b2dbeddfa5672c4d5ce97b6a44bf230469d6074a02c829b +AUX 7.1.7.42779/zarafa-7.1.5-gentoo-swig1.3.patch 621 SHA256 12666f1a041d4dde86577860c96fd7ca67f6e2ce33b981e8f57ac336bba48f19 SHA512 419b4f0b12ab18ec140e2d829a1355236f2fbecfa4c26262c7044142a6c56299e053cff4a21a50e5793b45419431c078080f8ff4dc715ad89725aa9921e320fa WHIRLPOOL 8adbad8396d1151942ea78daf52a11f050d59fabe476159afac86c7178e01733cf9848a163031663fdbf7858994c569318495181a196e710a06d54b621185908 AUX junklearn.dspam 924 SHA256 5060aa1c0fd3e103c0243f5372ec4a393d4aebc7ed7c69a9475adead50d6b37e SHA512 43321b5245a5a6b6032fe8f34382826dbc3630e03ff43eda5c41d5782e0df72a2e784638e3047ba141141e4d3d99ef11e555117fb77fc2555e3ce07c7b28f65c WHIRLPOOL 983c2d5c87145a38bb87044cb6b9050092fa7c05bfa6de5317890103663550a86ccdb5af71966e86062943f5e39b6fbb990617048380aab94920602ed5b9d214 AUX zarafa-bash-completion.sh 9045 SHA256 e3ad01ca797ef1aa428d17184ab16704faed1f1c6878113c0ff570b49cb788d6 SHA512 261dcb9cfdfe84920d666f4719fbf5c19000dd10295852a6121142d3e7fa9fe564a2b09149f93cba5fc1cf4630998b3227269b7c4e7ec245e4346b750b8171eb WHIRLPOOL dfacb2a9f1847f40fd02afe4813d97ec9be8a4fd83466e3d5b2ae32de31bd94a450b4fe9a7e6049cecb593b0ddd80ee37165400b0a43617b76f19170ef74931e AUX zarafa-dagent.confd 185 SHA256 5e142b9a6310197cf744a83bf8a134472ed6b497a7b477398f25d14e898480bc SHA512 8845cd227737667df9c96f56d92af2819d3ebb1580dc3399beda140992d10d23688fc50fbfd44a8e3e3bfa9e7e2fbdac0339ddc09b5544e6e7bf84b49f5cbdbc WHIRLPOOL cf3a9898babbc3576434bac86ba02da6aa4c1e67fc4fb1d5f473ad602dc9e7671385345f661ce9c86becf728bc9176ad9ca96b0972624901ac1c1a420c972fe9 @@ -51,6 +61,10 @@ DIST libssl1.0.0_1.0.1-4ubuntu5.10_i386.deb 1008434 SHA256 bef5216ecf59bd36317a2 DIST zcp-7.1.5-42059-ubuntu-12.04-i386-free.tar.gz 44539714 SHA256 cbe701272843c739614a2d30b4de728295694425ffd92bbbaf807cb5f4705c4a SHA512 75ee8f5c74cab5eaa86faf192dc4028c0461925d4e26ab2be6f6ed8a697b9a6fac2282e952b4f265107c19f00383471fa8db837b0a566e2d12ebcebc3a176c74 WHIRLPOOL 46e8dfc3f745d35e259b3fead70c640131be1482f1613023a55a76a008de82adcba54c0bf046dbc4bb5b108537ddcd3897e437b061416c60fe92ab749d22ae76 DIST zcp-7.1.5-42059-ubuntu-12.04-x86_64-free.tar.gz 44326614 SHA256 82ea3366b23fe74efbd92be2c282fba764c0690af4cce9306a4ea2ed57c8c491 SHA512 564650dd90e5b7f0509a339a934088b93dbcdc32cb2e13ead2cb13b580d7f244ba2bccd44c265ff1bf3ff0ae691a12fe27978d19784da723a90485d5f10542c9 WHIRLPOOL 6252231620d69a83a7ad9a75dc123f78d8e37be09e2a85c729af839894ef70f2b6703221b408db3395fba594152d45fb8a49fc69bfcc699a1593ace9da2214f9 DIST zcp-7.1.5.tar.gz 6473028 SHA256 d7a28e73672d3ef8da971a486536231b91b4d55b88544d519c19a440ff1ef3e8 SHA512 2220e2c4c52b2ab4d9409a696617a235866ecd099b108411497d075c551293f5526ad0a914e2804236357ac31d67c59cc725ac661c219cd44c30d0656e8cfbcc WHIRLPOOL f65c589404ca6ea625658bb157482256d30abb35844a6d3a7781e16de868ba4dc0a9cec0cf95da82db16cbee8b92d98e08966c2d2ae14eddcc597a839bdc82b6 -EBUILD zarafa-7.1.5.42059.ebuild 7514 SHA256 b384c93f87fe810a5e6ba0dc3c7c7d67c1b94501699c465916b11d756186b957 SHA512 76c1ef49fc14d483957602124a50130499dce33e3c413d7bacd8b236fe221f0ecc87b4766a71a0c97b77bd380be3193edc1a94322044dd4341a3acfcfa8ec226 WHIRLPOOL 01b1a73a2e3c8b0ff3047135b4415496b1aee9e551c2d529ebab48fc85ce22e3df7225fcd885f159cce1cdfe39fdb77fd64bfd057189fc8d6ec58dbcc1a2fece -MISC ChangeLog 24404 SHA256 ea83ae817e5a0ebcb4bca458907e0b6b054a5350620db5c14b3b89197ce798f3 SHA512 ecc6ea04150adefa3fd299a7fe9bce2c8222552f0934a00b3f731615a40af61d9edc648058bdce7a1b8d95b00b85993e819e8a6acc8775b17b1112275ecde155 WHIRLPOOL 0a94a57a7d317354868f2291ad6ff82e679f016656c1497e5e881b75172db16a5354fe8948ba24c1f45809dd77f05af25bb2ddc6b27ab9ad854d57587d7daaba +DIST zcp-7.1.7-42779-ubuntu-12.04-i386-free.tar.gz 44672059 SHA256 2fe8019ab36661e59840e24fae28689fcd1567771747df74ca607d98d4e28750 SHA512 869eb77c43ab421d012efaf77e5e6de1c5eee645423a966152473ca78864e4be60a825d6e6988a455da2aeabc1e34baffec2be9afeaf381430b6fab1e0b87337 WHIRLPOOL e9f202377c82eb46bf20b1dd0035f8361bc2d2af672c47a23b1e6414ba076737aff40a22aac5466d01824d316ac4383fa2e838bee440e4c4dc0002cc334a3e34 +DIST zcp-7.1.7-42779-ubuntu-12.04-x86_64-free.tar.gz 44458878 SHA256 fec8a131a4b431b2d261ca0cf4bc28e7891805621b579beff828d22e947833ce SHA512 8b452f0b6b3d0c4ce393875de2b536b01f052efafccd978832fbac99d41100813f8aea45445b450d1924d43dc2d8824e1f4033f9a4c996b7eb3df2c049888372 WHIRLPOOL af17ca0fd7f96d41bb451ed7b754f89c29fec1ff039ad8a61ceb69188a4e8f0f97ee39192e4720d2e4a29fced42d0dd2aaa711b102706f82bc337bd165976dc3 +DIST zcp-7.1.7.tar.gz 6458814 SHA256 61aa2fb1180e061afc733e1b911ae08aa7c923be8759af4e3b5bcdc851be108e SHA512 cd631d87b58f7131ad3865e8dd89f92c236d48651375d9443a67208768954bae43f3a1a332b587a601948b19ec38c4317df6164110c9cb64e911d7388ffb2d1b WHIRLPOOL 3ffb588d016a8e41e642e7619fe77bfdb1128bf8385f8ab809534b89617a941f70af529fc7573c7efebba60aac65b7e6131d910ddf8d632736a5b40e72a3dbbe +EBUILD zarafa-7.1.5.42059.ebuild 7515 SHA256 adaf2c5273e36ade2f8fdbf1ff482dd86dee4f7c065a2381a7f6427cff24db9a SHA512 ceece57ed8df3cf3bf4a539da0f69f1f796de8501cb1a600b0cfb9f2ee613c8b427433f51f62244c39820fff9320d7a0d2a719eca4506774986dec9c2973cd36 WHIRLPOOL bdd33cad7e3d2601d40a8e24be46933a60893c8b8630bbbcb10451728fccb7e5ed505c2a6bfa09960741616a2362b2537a467526906ddb8d12b85b7ddefed54c +EBUILD zarafa-7.1.7.42779.ebuild 7545 SHA256 9b65b5a06070f0ab321cac04fb71b77cab78da22fa9cdf72e3b81931012881ce SHA512 33d873271fb9738daa1176589bfced77e868d93612ad7cfe56b97af825a9e776f6d34a1676dc0a75f0afba764493a09fefea4700490193d1df5ebad500b66c06 WHIRLPOOL 59353a71b385a1d46ad551aca674814001ea1380168b98b2fa1bc32bcf9916657b0a5918957eb09384b0d1de02610d07fc184bc827fea1451b2ebad4321a7ece +MISC ChangeLog 25056 SHA256 9fb5ff1457156c2304ebe940d3c086a24c734f86dc3621ee7fa52d2b1aefd584 SHA512 ea61ae5d59a861f6858b010c48a4e8d9eceb2e690c121c1071be2b9ef54fa736b8fd95f513693380ee3779ff1d94b14979f235d8a8e753a3697a2c84c2a4c86c WHIRLPOOL 570189b698f296f7e7b249b883a58ccd96704e9ed89395a2243d0b076feb45923a096d1511f83d920c4417e830c184d7b918b8476933bae316b2abdab0a044c1 MISC metadata.xml 1238 SHA256 2c13f98be5fa8bdaf21ac86bcd00bbeb8944df5615de0cfce35ae4c00ef4b4d5 SHA512 d94394e853ce7bd9109322f37ab5d3526e2bbc4a59ac02d0b66e9d952d221a06ae1c38b6de5cdb142b2b09ac602a57ff03f0525efbbc7b8f33f9662ca42a5dd5 WHIRLPOOL 482453b974eaca6506c4503f49c5c55195790e9b47f19a885d551fa535445104fbb7bc93dc4f30f7faf545f619594fa04d9a8071c21eb55995fef4f7380f55b9 diff --git a/net-mail/zarafa/files/7.1.7.42779/Datux-sendas.patch b/net-mail/zarafa/files/7.1.7.42779/Datux-sendas.patch new file mode 100644 index 0000000..aabe5fc --- /dev/null +++ b/net-mail/zarafa/files/7.1.7.42779/Datux-sendas.patch @@ -0,0 +1,47 @@ +--- spooler/mailer.cpp.ori 2011-07-03 15:38:10.162737725 +0200 ++++ spooler/mailer.cpp 2011-07-03 15:39:14.362790762 +0200 +@@ -2172,6 +2172,8 @@ + HrGetOneProp(lpMessage, PR_AUTO_FORWARDED, &lpAutoForward) == hrSuccess && lpAutoForward->Value.b) + { + bAllowSendAs = true; ++ } else if (strcmp(g_lpConfig->GetSetting("always_send_as"), "yes") == 0) { ++ bAllowSendAs = true; + } else { + + hr = HrGetOneProp(lpUserStore, PR_MAILBOX_OWNER_ENTRYID, &lpPropOwner); +--- spooler/Spooler.cpp.ori 2011-07-03 15:46:25.366770639 +0200 ++++ spooler/Spooler.cpp 2011-07-03 15:46:45.716172033 +0200 +@@ -1118,6 +1118,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 }, + { "always_send_utf8", "no", CONFIGSETTING_RELOADABLE }, + { "allow_redirect_spoofing", "yes", CONFIGSETTING_RELOADABLE }, +--- php-webclient-ajax/client/modules/readmailitemmodule.js.ori 2011-06-22 00:02:22.000000000 +0200 ++++ php-webclient-ajax/client/modules/readmailitemmodule.js 2011-07-24 01:19:03.454049593 +0200 +@@ -479,7 +479,7 @@ + dhtml.addEvent(this, recipientItemSenderRepresentation, "click", eventReadmailClickEmail); + dhtml.addEvent(this, recipientItemSenderRepresentation, "contextmenu", eventReadmailAddressContextMenu); + +- dhtml.addElement(fromElement,"span","emailaddress","", NBSP+_("on behalf of")+NBSP); ++ //dhtml.addElement(fromElement,"span","emailaddress","", NBSP+_("on behalf of")+NBSP); + } + + var recipientItemSenderRepresentation = dhtml.addElement(fromElement,"a","emailaddress","senderrepresentatation_label",sender_representation); +--- installer/linux/spooler.ori 2011-07-03 14:41:32.934761391 +0200 ++++ installer/linux/spooler.cfg 2011-07-02 18:29:54.958164996 +0200 +@@ -76,7 +76,11 @@ + # delegates (other user than yourself in the From: header) + # In installations before 6.20, this value was always 'yes'. + # IMPORTANT: This feature overrides "send-as" functionality. +-always_send_delegates = no ++always_send_delegates = yes ++ ++# Set this value to 'yes' to let the spooler always send emails even ++# if the from emailadres someone elses ++always_send_as = yes + + # Set this value to 'no' if you do NOT want to allow redirected e-mails + # being sent with their original 'FROM' header \ No newline at end of file diff --git a/net-mail/zarafa/files/7.1.7.42779/Datux-spamhook.patch b/net-mail/zarafa/files/7.1.7.42779/Datux-spamhook.patch new file mode 100644 index 0000000..383697a --- /dev/null +++ b/net-mail/zarafa/files/7.1.7.42779/Datux-spamhook.patch @@ -0,0 +1,219 @@ +diff -ru zarafa-7.1.4/provider/libserver/ZarafaCmd.cpp zarafa-7.1.4.spamhook/provider/libserver/ZarafaCmd.cpp +--- zarafa-7.1.4/provider/libserver/ZarafaCmd.cpp 2013-02-28 17:13:17.000000000 +0100 ++++ zarafa-7.1.4.spamhook/provider/libserver/ZarafaCmd.cpp 2013-04-15 11:34:45.018632455 +0200 +@@ -84,6 +84,7 @@ + #include "StreamUtil.h" + #include "CommonUtil.h" + #include "StorageUtil.h" ++#include "UnixUtil.h" + + #include "ZarafaICS.h" + +@@ -7655,6 +7656,179 @@ + bool bMoved; + }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, unsigned int ulDestFolderId) ++{ ++ ++ ALLOC_DBRESULT(); ++ ECRESULT er = erSuccess; ++ std::string shScriptPath = g_lpSessionManager->GetConfig()->GetSetting("junklearn_script"); ++ string shMailStatus; ++ entryId* junkFolderEntryId; ++ entryId* wasteBucketEntryId; ++ int shNumRows; ++ ++ //dont do anything if the junklearn script doesnt exist: ++ int fCheck=open(shScriptPath.c_str(), O_RDONLY); ++ if (fCheck==0) { ++ g_lpSessionManager->GetLogger()->Log(EC_LOGLEVEL_INFO,"SpamHook: skipping, script "+shScriptPath+" not found"); ++ er=erSuccess; ++ goto exit; ++ } ++ close(fCheck); ++ ++ //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); ++ 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. ++ 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; ++ } ++ ++ //Get 'junk folder' entryId. ++ FREE_DBRESULT(); ++ 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. ++ 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; ++ } ++ ++ //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; ++ } ++ ++ //now we can determine if object being moved from or to the junkfolder ++ //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"; ++ else ++ //its just a normal movement, so do nothing. ++ goto exit; ++ } ++ ++ //Get the mail from the DB. ++ FREE_DBRESULT(); ++ 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); ++ shNumRows=lpDatabase->GetNumRows(lpDBResult); ++ ++ if(shNumRows<=0) { ++ g_lpSessionManager->GetLogger()->Log(EC_LOGLEVEL_WARNING,"SpamHook: warning mail header empty or this object is no e-mail"); ++ goto exit; ++ } ++ ++ { ++ //now its time to open the spamhook script and pass the mail to it: ++ shScriptPath=shScriptPath+" "+shMailStatus+" "+stringify(ulId); ++ int ulFpWrite = -1; ++ int ulFpRead = -1; ++ int ulCommandRetval; ++ ++ //we asume failure, unless we make it all the way though the script ++ er=ZARAFA_E_UNKNOWN; ++ ++ pid_t ulCommandPid = unix_popen_rw(g_lpSessionManager->GetLogger(), shScriptPath.c_str(), &ulFpWrite, &ulFpRead, NULL, NULL, true, false); ++ if (ulCommandPid <= 0) { ++ g_lpSessionManager->GetLogger()->Log(EC_LOGLEVEL_WARNING,"SpamHook: error opening subprocess."); ++ goto exit; ++ } ++ ++ //pass the data to the subprocess: ++ write(ulFpWrite, lpDBRow[0], strlen(lpDBRow[0])); ++ ulCommandRetval=unix_pclose(ulFpRead, ulFpWrite, ulCommandPid); ++ ++ //subprocess is done, check results ++ if (ulCommandRetval<0) { ++ g_lpSessionManager->GetLogger()->Log(EC_LOGLEVEL_WARNING,"SpamHook: error "+shScriptPath+" exits with: "+stringify(WEXITSTATUS(ulCommandRetval))); ++ goto exit; ++ } ++ } ++ ++ g_lpSessionManager->GetLogger()->Log(EC_LOGLEVEL_INFO,"SpamHook: "+shScriptPath+" successfully executed."); ++ 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) + { +@@ -8641,6 +8815,16 @@ + + // @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++) ++ { ++ 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 -ru zarafa-7.1.4/provider/server/ECServer.cpp zarafa-7.1.4.spamhook/provider/server/ECServer.cpp +--- zarafa-7.1.4/provider/server/ECServer.cpp 2013-02-28 17:13:17.000000000 +0100 ++++ zarafa-7.1.4.spamhook/provider/server/ECServer.cpp 2013-04-15 11:14:40.000000000 +0200 +@@ -963,6 +963,7 @@ + { "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/7.1.7.42779/zarafa-01-oss-configure.patch b/net-mail/zarafa/files/7.1.7.42779/zarafa-01-oss-configure.patch new file mode 100644 index 0000000..0fa8227 --- /dev/null +++ b/net-mail/zarafa/files/7.1.7.42779/zarafa-01-oss-configure.patch @@ -0,0 +1,61 @@ +From: Jan Engelhardt +Upstream: never? + +build: make autoreconf functional + +Make autoreconf functional with the OSS edition. + +--- + ECtools/Makefile.am | 1 - + Makefile.am | 4 ---- + configure.ac | 13 ------------- + 3 files changed, 18 deletions(-) + +Index: zarafa-7.1.1/ECtools/Makefile.am +=================================================================== +--- zarafa-7.1.1.orig/ECtools/Makefile.am ++++ zarafa-7.1.1/ECtools/Makefile.am +@@ -1,5 +1,4 @@ + if ! OSS_ONLY +-PROSUBS = zarafa-backup zarafa-report zarafa-msr za-extra zarafa-ocf + endif + + SUBDIRS = $(PROSUBS) zarafa-archiver zarafa-admin zarafa-monitor zarafa-passwd zarafa-fsck zarafa-cfgchecker zarafa-stats zarafa-search zarafa-utils +Index: zarafa-7.1.1/Makefile.am +=================================================================== +--- zarafa-7.1.1.orig/Makefile.am ++++ zarafa-7.1.1/Makefile.am +@@ -1,9 +1,5 @@ + ACLOCAL_AMFLAGS = -I autoconf + +-if ! OSS_ONLY +-PROSUBS = liblicense licensed +-endif +- + SUBDIRS = common libfreebusy mapi4linux zarafa-libsync $(PROSUBS) provider libicalmapi inetmapi php-ext ECtools spooler gateway caldav installer po doc + + if WITH_SWIG +Index: zarafa-7.1.1/configure.ac +=================================================================== +--- zarafa-7.1.1.orig/configure.ac ++++ zarafa-7.1.1/configure.ac +@@ -786,19 +786,6 @@ AC_CONFIG_FILES([Makefile + 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 +- ECtools/zarafa-msr/Makefile +- ECtools/zarafa-ocf/Makefile +- ECtools/za-extra/Makefile +-]) +-fi + + AC_OUTPUT + diff --git a/net-mail/zarafa/files/7.1.7.42779/zarafa-06-sizeof-char.patch b/net-mail/zarafa/files/7.1.7.42779/zarafa-06-sizeof-char.patch new file mode 100644 index 0000000..57cf8e9 --- /dev/null +++ b/net-mail/zarafa/files/7.1.7.42779/zarafa-06-sizeof-char.patch @@ -0,0 +1,391 @@ +From: Jan Engelhardt + +src: remove useless sizeof(char) + +sizeof(char) is defined by the standard to be always equal to 1. +It is thus useless in e.g. multiplications. + +--- + common/CommonUtil.cpp | 14 +++++++------- + common/Trace.cpp | 2 +- + common/Util.cpp | 2 +- + common/fileutil.cpp | 12 ++++++------ + gateway/IMAP.cpp | 8 ++++---- + inetmapi/tnef.cpp | 4 ++-- + mapi4linux/src/m4l.mapisvc.cpp | 2 +- + mapi4linux/src/mapidefs.cpp | 2 +- + provider/contacts/ZCMAPIProp.cpp | 2 +- + provider/libserver/ECDatabaseUtils.cpp | 2 +- + swig/python/RecurrenceState_wrap.cxx | 2 +- + swig/python/archiver_wrap.cxx | 2 +- + swig/python/icalmapi_wrap.cxx | 2 +- + swig/python/inetmapi_wrap.cxx | 6 +++--- + swig/python/libcommon_wrap.cxx | 2 +- + swig/python/libfreebusy_wrap.cxx | 2 +- + swig/python/licenseclient_wrap.cxx | 2 +- + swig/python/mapi_wrap.cxx | 2 +- + 18 files changed, 35 insertions(+), 35 deletions(-) + +Index: zarafa-7.1.0/common/CommonUtil.cpp +=================================================================== +--- zarafa-7.1.0.orig/common/CommonUtil.cpp ++++ zarafa-7.1.0/common/CommonUtil.cpp +@@ -1041,11 +1041,11 @@ HRESULT ECCreateOneOff(LPTSTR lpszName, + strOneOff.append((char*)strUnicode.c_str(), (strUnicode.length()+1)*sizeof(unsigned short)); + } else { + if (lpszName) +- strOneOff.append((char *)lpszName, (strlen((char *)lpszName) + 1) * sizeof(char)); ++ strOneOff.append((char *)lpszName, strlen((char *)lpszName) + 1); + else +- strOneOff.append(sizeof(char), '\0'); +- strOneOff.append((char *)lpszAdrType, (strlen((char *)lpszAdrType) + 1) * sizeof(char)); +- strOneOff.append((char *)lpszAddress, (strlen((char *)lpszAddress) + 1) * sizeof(char)); ++ strOneOff.append(1, '\0'); ++ strOneOff.append((char *)lpszAdrType, strlen((char *)lpszAdrType) + 1); ++ strOneOff.append((char *)lpszAddress, strlen((char *)lpszAddress) + 1); + } + + hr = MAPIAllocateBuffer(strOneOff.size(), (void **)lppEntryID); +@@ -1148,7 +1148,7 @@ HRESULT ECParseOneOff(LPENTRYID lpEntryI + hr = TryConvert(lpBuffer, rawsize(lpBuffer), "windows-1252", name); + if (hr != hrSuccess) + goto exit; +- lpBuffer += (str.length() + 1) * sizeof(char); ++ lpBuffer += str.length() + 1; + + str = (char*)lpBuffer; + if (str.length() == 0) { +@@ -1156,7 +1156,7 @@ HRESULT ECParseOneOff(LPENTRYID lpEntryI + goto exit; + } + type = convert_to(str); +- lpBuffer += (str.length() + 1) * sizeof(char); ++ lpBuffer += str.length() + 1; + + str = (char*)lpBuffer; + if (str.length() == 0) { +@@ -1164,7 +1164,7 @@ HRESULT ECParseOneOff(LPENTRYID lpEntryI + goto exit; + } + addr = convert_to(str); +- lpBuffer += (str.length() + 1) * sizeof(char); ++ lpBuffer += str.length() + 1; + } + + strWName = name; +Index: zarafa-7.1.0/common/Trace.cpp +=================================================================== +--- zarafa-7.1.0.orig/common/Trace.cpp ++++ zarafa-7.1.0/common/Trace.cpp +@@ -135,7 +135,7 @@ void TraceMsg(char* lpMsg, int time, cha + if (BUFFER_LIMIT != 0 && pos+3 < BUFFER_LIMIT && len > BUFFER_LIMIT) + len = BUFFER_LIMIT; + +- buffer = (char*)malloc( len * sizeof(char) ); ++ buffer = static_cast(malloc(len)); + + memcpy(buffer, debug, pos); + +Index: zarafa-7.1.0/common/Util.cpp +=================================================================== +--- zarafa-7.1.0.orig/common/Util.cpp ++++ zarafa-7.1.0/common/Util.cpp +@@ -470,7 +470,7 @@ HRESULT Util::HrCopyProperty(LPSPropValu + goto exit; + } + +- hr = lpfAllocMore(strlen(lpSrc->Value.lpszA)*sizeof(char)+sizeof(char), lpBase, (void**)&lpDest->Value.lpszA); ++ hr = lpfAllocMore(strlen(lpSrc->Value.lpszA) + 1, lpBase, (void**)&lpDest->Value.lpszA); + if (hr != hrSuccess) + goto exit; + strcpy(lpDest->Value.lpszA, lpSrc->Value.lpszA); +Index: zarafa-7.1.0/common/fileutil.cpp +=================================================================== +--- zarafa-7.1.0.orig/common/fileutil.cpp ++++ zarafa-7.1.0/common/fileutil.cpp +@@ -104,7 +104,7 @@ HRESULT HrFileLFtoCRLF(FILE *fin, FILE** + } + + while (!feof(fin)) { +- readsize = fread(bufferin, sizeof(char), BLOCKSIZE / 2, fin); ++ readsize = fread(bufferin, 1, BLOCKSIZE / 2, fin); + if (ferror(fin)) { + perror("Read error");//FIXME: What an error?, what now? + hr = MAPI_E_CORRUPT_DATA; +@@ -113,7 +113,7 @@ HRESULT HrFileLFtoCRLF(FILE *fin, FILE** + + BufferLFtoCRLF(readsize, bufferin, bufferout, &sizebufferout); + +- if (fwrite(bufferout, sizeof(char), sizebufferout, fTmp) != sizebufferout) { ++ if (fwrite(bufferout, 1, sizebufferout, fTmp) != sizebufferout) { + perror("Write error");//FIXME: What an error?, what now? + hr = MAPI_E_CORRUPT_DATA; + break; +@@ -180,7 +180,7 @@ HRESULT HrMapFileToBuffer(FILE *f, char + /* mmap failed (probably reading from STDIN as a stream), just read the file into memory, and return that */ + lpBuffer = (char*)malloc(BLOCKSIZE); // will be deleted as soon as possible + while (!feof(f)) { +- ulReadsize = fread(lpBuffer+offset, sizeof(char), BLOCKSIZE, f); ++ ulReadsize = fread(lpBuffer+offset, 1, BLOCKSIZE, f); + if (ferror(f)) { + perror("Read error"); + break; +@@ -309,7 +309,7 @@ bool DuplicateFile(ECLogger *lpLogger, F + } + + while (!feof(lpFile)) { +- ulReadsize = fread(lpBuffer, sizeof(char), BLOCKSIZE, lpFile); ++ ulReadsize = fread(lpBuffer, 1, BLOCKSIZE, lpFile); + if (ferror(lpFile)) { + if (lpLogger) + lpLogger->Log(EC_LOGLEVEL_FATAL, "Read error, error %d", errno); +@@ -321,7 +321,7 @@ bool DuplicateFile(ECLogger *lpLogger, F + } + + +- if (fwrite(lpBuffer, sizeof(char), ulReadsize , pfNew) != ulReadsize) { ++ if (fwrite(lpBuffer, 1, ulReadsize , pfNew) != ulReadsize) { + if (lpLogger) + lpLogger->Log(EC_LOGLEVEL_FATAL, "Write error, error %d", errno); + else +@@ -389,7 +389,7 @@ bool ConvertFileFromUCS2ToUTF8(ECLogger + goto exit; + } + +- if (fwrite(strConverted.c_str(), sizeof(char), strConverted.size(), pfDst) != strConverted.size()) { ++ if (fwrite(strConverted.c_str(), 1, strConverted.size(), pfDst) != strConverted.size()) { + if (lpLogger) + lpLogger->Log(EC_LOGLEVEL_FATAL, "Unable to write to file '%s', error %d", strDstFileName.c_str(), errno); + else +Index: zarafa-7.1.0/gateway/IMAP.cpp +=================================================================== +--- zarafa-7.1.0.orig/gateway/IMAP.cpp ++++ zarafa-7.1.0/gateway/IMAP.cpp +@@ -5973,7 +5973,7 @@ HRESULT IMAP::HrSearch(vector &l + if (iconv) + iconv->convert(lstSearchCriteria[ulStartCriteria+1]); + +- hr = MAPIAllocateMore(sizeof(char) * (lstSearchCriteria[ulStartCriteria + 1].size() + 1), lpRootRestrict, ++ hr = MAPIAllocateMore(lstSearchCriteria[ulStartCriteria + 1].size() + 1, lpRootRestrict, + (LPVOID *) &szBuffer); + if (hr != hrSuccess) + goto exit; +@@ -6063,7 +6063,7 @@ HRESULT IMAP::HrSearch(vector &l + if (iconv) + iconv->convert(lstSearchCriteria[ulStartCriteria+1]); + +- hr = MAPIAllocateMore(sizeof(char) * (lstSearchCriteria[ulStartCriteria + 1].size() + 1), lpRootRestrict, ++ hr = MAPIAllocateMore(lstSearchCriteria[ulStartCriteria + 1].size() + 1, lpRootRestrict, + (LPVOID *) &szBuffer); + if (hr != hrSuccess) + goto exit; +@@ -6509,7 +6509,7 @@ HRESULT IMAP::HrSearch(vector &l + if (iconv) + iconv->convert(lstSearchCriteria[ulStartCriteria+1]); + +- hr = MAPIAllocateMore(sizeof(char) * (lstSearchCriteria[ulStartCriteria + 1].size() + 1), lpRootRestrict, ++ hr = MAPIAllocateMore(lstSearchCriteria[ulStartCriteria + 1].size() + 1, lpRootRestrict, + (LPVOID *) &szBuffer); + if (hr != hrSuccess) + goto exit; +@@ -6542,7 +6542,7 @@ HRESULT IMAP::HrSearch(vector &l + if (iconv) + iconv->convert(lstSearchCriteria[ulStartCriteria+1]); + +- hr = MAPIAllocateMore(sizeof(char) * (lstSearchCriteria[ulStartCriteria + 1].size() + 1), lpRootRestrict, ++ hr = MAPIAllocateMore(lstSearchCriteria[ulStartCriteria + 1].size() + 1, lpRootRestrict, + (LPVOID *) &szBuffer); + if (hr != hrSuccess) + goto exit; +Index: zarafa-7.1.0/inetmapi/tnef.cpp +=================================================================== +--- zarafa-7.1.0.orig/inetmapi/tnef.cpp ++++ zarafa-7.1.0/inetmapi/tnef.cpp +@@ -1896,11 +1896,11 @@ HRESULT ECTNEF::HrReadByte(IStream *lpSt + HRESULT hr = hrSuccess; + ULONG ulRead = 0; + +- hr = lpStream->Read(ulData, sizeof(char), &ulRead); ++ hr = lpStream->Read(ulData, 1, &ulRead); + if(hr != hrSuccess) + goto exit; + +- if(ulRead != sizeof(char)) { ++ if(ulRead != 1) { + hr = MAPI_E_NOT_FOUND; + goto exit; + } +Index: zarafa-7.1.0/mapi4linux/src/m4l.mapisvc.cpp +=================================================================== +--- zarafa-7.1.0.orig/mapi4linux/src/m4l.mapisvc.cpp ++++ zarafa-7.1.0/mapi4linux/src/m4l.mapisvc.cpp +@@ -280,7 +280,7 @@ HRESULT INFLoader::MakeProperty(const st + sProp.ulPropTag = CHANGE_PROP_TYPE(sProp.ulPropTag, PT_STRING8); + case PT_STRING8: + { +- hr = MAPIAllocateMore((strData.length() +1) * sizeof(char), base, (void**)&sProp.Value.lpszA); ++ hr = MAPIAllocateMore(strData.length() + 1, base, (void**)&sProp.Value.lpszA); + if (hr != hrSuccess) + goto exit; + strcpy(sProp.Value.lpszA, strData.c_str()); +Index: zarafa-7.1.0/mapi4linux/src/mapidefs.cpp +=================================================================== +--- zarafa-7.1.0.orig/mapi4linux/src/mapidefs.cpp ++++ zarafa-7.1.0/mapi4linux/src/mapidefs.cpp +@@ -200,7 +200,7 @@ HRESULT M4LMAPIProp::GetProps(LPSPropTag + goto exit; + for (ULONG c = 0; c < (*i)->Value.MVszW.cValues; c++) { + ansi = converter.convert_to((*i)->Value.MVszW.lppszW[c]); +- hr = MAPIAllocateMore(ansi.length() * sizeof(char) + sizeof(char), props, (void**)&sConvert.Value.MVszA.lppszA[c]); ++ hr = MAPIAllocateMore(ansi.length() + 1, props, (void**)&sConvert.Value.MVszA.lppszA[c]); + if (hr != hrSuccess) + goto exit; + strcpy(sConvert.Value.MVszA.lppszA[c], ansi.c_str()); +Index: zarafa-7.1.0/provider/contacts/ZCMAPIProp.cpp +=================================================================== +--- zarafa-7.1.0.orig/provider/contacts/ZCMAPIProp.cpp ++++ zarafa-7.1.0/provider/contacts/ZCMAPIProp.cpp +@@ -379,7 +379,7 @@ HRESULT ZCMAPIProp::CopyOneProp(convert_ + // copy from unicode to string8 + lpProp->ulPropTag = CHANGE_PROP_TYPE(i->second.ulPropTag, PT_STRING8); + strAnsi = converter.convert_to(i->second.Value.lpszW); +- hr = MAPIAllocateMore(strAnsi.size() + sizeof(char), lpBase, (void**)&lpProp->Value.lpszA); ++ hr = MAPIAllocateMore(strAnsi.size() + 1, lpBase, (void**)&lpProp->Value.lpszA); + if (hr != hrSuccess) + goto exit; + strcpy(lpProp->Value.lpszA, strAnsi.c_str()); +Index: zarafa-7.1.0/provider/libserver/ECDatabaseUtils.cpp +=================================================================== +--- zarafa-7.1.0.orig/provider/libserver/ECDatabaseUtils.cpp ++++ zarafa-7.1.0/provider/libserver/ECDatabaseUtils.cpp +@@ -788,7 +788,7 @@ ECRESULT CopyDatabasePropValToSOAPPropVa + { + ParseMVProp(lpRow[FIELD_NR_STRING], lpLen[FIELD_NR_STRING], &ulLastPos, &strData); + lpPropVal->Value.mvszA.__ptr[i] = s_alloc(soap, strData.size() + 1); +- memcpy(lpPropVal->Value.mvszA.__ptr[i], strData.c_str(), sizeof(char) * (strData.size() + 1)); ++ memcpy(lpPropVal->Value.mvszA.__ptr[i], strData.c_str(), strData.size() + 1); + } + ulPropTag = CHANGE_PROP_TYPE(ulPropTag, PT_MV_UNICODE); // return unicode strings to client, because database contains UTF-8 + break; +Index: zarafa-7.1.0/swig/python/RecurrenceState_wrap.cxx +=================================================================== +--- zarafa-7.1.0.orig/swig/python/RecurrenceState_wrap.cxx ++++ zarafa-7.1.0/swig/python/RecurrenceState_wrap.cxx +@@ -3278,7 +3278,7 @@ SWIG_AsCharPtrAndSize(PyObject *obj, cha + if (*alloc == SWIG_NEWOBJ) + #endif + { +- *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, sizeof(char)*(len + 1))); ++ *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, len + 1)); + *alloc = SWIG_NEWOBJ; + } + else { +Index: zarafa-7.1.0/swig/python/archiver_wrap.cxx +=================================================================== +--- zarafa-7.1.0.orig/swig/python/archiver_wrap.cxx ++++ zarafa-7.1.0/swig/python/archiver_wrap.cxx +@@ -3075,7 +3075,7 @@ SWIG_AsCharPtrAndSize(PyObject *obj, cha + if (*alloc == SWIG_NEWOBJ) + #endif + { +- *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, sizeof(char)*(len + 1))); ++ *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, len + 1)); + *alloc = SWIG_NEWOBJ; + } + else { +Index: zarafa-7.1.0/swig/python/icalmapi_wrap.cxx +=================================================================== +--- zarafa-7.1.0.orig/swig/python/icalmapi_wrap.cxx ++++ zarafa-7.1.0/swig/python/icalmapi_wrap.cxx +@@ -2879,7 +2879,7 @@ SWIG_AsCharPtrAndSize(PyObject *obj, cha + if (*alloc == SWIG_NEWOBJ) + #endif + { +- *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, sizeof(char)*(len + 1))); ++ *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, len + 1)); + *alloc = SWIG_NEWOBJ; + } + else { +Index: zarafa-7.1.0/swig/python/inetmapi_wrap.cxx +=================================================================== +--- zarafa-7.1.0.orig/swig/python/inetmapi_wrap.cxx ++++ zarafa-7.1.0/swig/python/inetmapi_wrap.cxx +@@ -2865,7 +2865,7 @@ SWIG_AsCharPtrAndSize(PyObject *obj, cha + if (*alloc == SWIG_NEWOBJ) + #endif + { +- *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, sizeof(char)*(len + 1))); ++ *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, len + 1)); + *alloc = SWIG_NEWOBJ; + } + else { +@@ -3140,7 +3140,7 @@ SWIGINTERN PyObject *_wrap_sending_optio + if (arg1->alternate_boundary) delete[] arg1->alternate_boundary; + if (arg2) { + size_t size = strlen(reinterpret_cast< const char * >(arg2)) + 1; +- arg1->alternate_boundary = (char *)reinterpret_cast< char* >(memcpy((new char[size]), reinterpret_cast< const char * >(arg2), sizeof(char)*(size))); ++ arg1->alternate_boundary = (char *)reinterpret_cast< char* >(memcpy((new char[size]), reinterpret_cast< const char * >(arg2), size)); + } else { + arg1->alternate_boundary = 0; + } +@@ -3569,7 +3569,7 @@ SWIGINTERN PyObject *_wrap_sending_optio + if (arg1->charset_upgrade) delete[] arg1->charset_upgrade; + if (arg2) { + size_t size = strlen(reinterpret_cast< const char * >(arg2)) + 1; +- arg1->charset_upgrade = (char *)reinterpret_cast< char* >(memcpy((new char[size]), reinterpret_cast< const char * >(arg2), sizeof(char)*(size))); ++ arg1->charset_upgrade = (char *)reinterpret_cast< char* >(memcpy((new char[size]), reinterpret_cast< const char * >(arg2), size)); + } else { + arg1->charset_upgrade = 0; + } +Index: zarafa-7.1.0/swig/python/libcommon_wrap.cxx +=================================================================== +--- zarafa-7.1.0.orig/swig/python/libcommon_wrap.cxx ++++ zarafa-7.1.0/swig/python/libcommon_wrap.cxx +@@ -3002,7 +3002,7 @@ SWIG_AsCharPtrAndSize(PyObject *obj, cha + if (*alloc == SWIG_NEWOBJ) + #endif + { +- *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, sizeof(char)*(len + 1))); ++ *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, len + 1)); + *alloc = SWIG_NEWOBJ; + } + else { +Index: zarafa-7.1.0/swig/python/libfreebusy_wrap.cxx +=================================================================== +--- zarafa-7.1.0.orig/swig/python/libfreebusy_wrap.cxx ++++ zarafa-7.1.0/swig/python/libfreebusy_wrap.cxx +@@ -2894,7 +2894,7 @@ SWIG_AsCharPtrAndSize(PyObject *obj, cha + if (*alloc == SWIG_NEWOBJ) + #endif + { +- *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, sizeof(char)*(len + 1))); ++ *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, len + 1)); + *alloc = SWIG_NEWOBJ; + } + else { +Index: zarafa-7.1.0/swig/python/licenseclient_wrap.cxx +=================================================================== +--- zarafa-7.1.0.orig/swig/python/licenseclient_wrap.cxx ++++ zarafa-7.1.0/swig/python/licenseclient_wrap.cxx +@@ -2870,7 +2870,7 @@ SWIG_AsCharPtrAndSize(PyObject *obj, cha + if (*alloc == SWIG_NEWOBJ) + #endif + { +- *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, sizeof(char)*(len + 1))); ++ *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, len + 1)); + *alloc = SWIG_NEWOBJ; + } + else { +Index: zarafa-7.1.0/swig/python/mapi_wrap.cxx +=================================================================== +--- zarafa-7.1.0.orig/swig/python/mapi_wrap.cxx ++++ zarafa-7.1.0/swig/python/mapi_wrap.cxx +@@ -3520,7 +3520,7 @@ SWIG_AsCharPtrAndSize(PyObject *obj, cha + if (*alloc == SWIG_NEWOBJ) + #endif + { +- *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, sizeof(char)*(len + 1))); ++ *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, len + 1)); + *alloc = SWIG_NEWOBJ; + } + else { diff --git a/net-mail/zarafa/files/7.1.7.42779/zarafa-22-gcc47.patch b/net-mail/zarafa/files/7.1.7.42779/zarafa-22-gcc47.patch new file mode 100644 index 0000000..b5a7be1 --- /dev/null +++ b/net-mail/zarafa/files/7.1.7.42779/zarafa-22-gcc47.patch @@ -0,0 +1,142 @@ +From: Jan Engelhardt +Date: 2012-06-22 00:34:08.177803888 +0200 + +g++ -DHAVE_CONFIG_H -I. -I../../common -I../../mapi4linux/include -I../../common -I../../provider/include -I../../ECtools/zarafa-archiver -I/usr/include/CLucene/ext -I/usr/lib64 -DBOOST_FILESYSTEM_VERSION=2 -DLINUX -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -g -rdynamic -Wall -Wno-write-strings -DHAVE_CONFIG_H -pedantic -Wno-long-long -Wno-variadic-macros -pthread -O2 -fno-strict-aliasing -DNDEBUG -DFORCE_CHARSET_CONVERSION -DUNICODE -c -o ECIndexImporterAttachments.o ECIndexImporterAttachments.cpp +ECIndexImporterAttachments.cpp: In member function 'HRESULT ECIndexImporterAttachment::CopyStreamToParser(IStream*, int, int, std::wstring*)': +ECIndexImporterAttachments.cpp:249:34: error: 'max' was not declared in this scope +ECIndexImporterAttachments.cpp:249:34: note: suggested alternative: +/usr/include/c++/4.7/bits/stl_algobase.h:254:5: note: 'std::max' + +ECIndexImporterAttachments.cpp:440:3: error: 'string' was not declared in this scope +ECIndexImporterAttachments.cpp:440:3: note: suggested alternative: +/usr/include/c++/4.7/bits/stringfwd.h:65:33: note: 'std::string' + +ECIndexImporterAttachments.cpp:443:4: error: 'set' was not declared in this scope +ECIndexImporterAttachments.cpp:443:4: note: suggested alternative: +/usr/include/c++/4.7/bits/stl_set.h:91:11: note: 'std::set' + +ECIndexImporterAttachments.cpp:602:46: error: 'min' was not declared in this scope +ECIndexImporterAttachments.cpp:602:46: note: suggested alternative: +/usr/include/c++/4.7/bits/stl_algobase.h:233:5: note: 'std::min' + +ECIndexImporter.cpp: In member function 'HRESULT ECIndexImporter::ProcessThread()': +ECIndexImporter.cpp:400:5: error: 'auto_ptr' was not declared in this scope + +--- + ECtools/zarafa-search/ECIndexImporter.cpp | 3 +- + ECtools/zarafa-search/ECIndexImporterAttachments.cpp | 24 +++++++++++-------- + 2 files changed, 16 insertions(+), 11 deletions(-) + +Index: zarafa-7.1.0/ECtools/zarafa-search/ECIndexImporter.cpp +=================================================================== +--- zarafa-7.1.0.orig/ECtools/zarafa-search/ECIndexImporter.cpp ++++ zarafa-7.1.0/ECtools/zarafa-search/ECIndexImporter.cpp +@@ -47,6 +47,7 @@ + * + */ + ++#include + #include "platform.h" + + #include "ECIndexImporter.h" +@@ -433,7 +434,7 @@ HRESULT ECIndexImporter::ProcessThread() + ECIndexDB *lpIndex = NULL; + ECIndexDB *lpThisIndex = NULL; + ArchiveItem *lpArchiveItem = NULL; +- auto_ptr lpStubTarget; ++ std::auto_ptr lpStubTarget; + + m_lpLogger->Log(EC_LOGLEVEL_DEBUG, "Importer thread started"); + +Index: zarafa-7.1.0/ECtools/zarafa-search/ECIndexImporterAttachments.cpp +=================================================================== +--- zarafa-7.1.0.orig/ECtools/zarafa-search/ECIndexImporterAttachments.cpp ++++ zarafa-7.1.0/ECtools/zarafa-search/ECIndexImporterAttachments.cpp +@@ -47,6 +47,10 @@ + * + */ + ++#include ++#include ++#include ++ + #include + + #include +@@ -246,7 +250,7 @@ HRESULT ECIndexImporterAttachment::CopyS + ULONG ulWriteData; + fd_set rset, wset; + int res; +- int fd = max(ulFpWrite, ulFpRead); ++ int fd = std::max(ulFpWrite, ulFpRead); + struct timeval timeout; + + +@@ -267,7 +271,7 @@ HRESULT ECIndexImporterAttachment::CopyS + FD_ZERO(&wset); + if (ulTotalWriteData) { + FD_SET(ulFpWrite, &wset); +- fd = max(ulFpWrite, ulFpRead); ++ fd = std::max(ulFpWrite, ulFpRead); + } else { + fd = ulFpRead; + } +@@ -437,10 +441,10 @@ HRESULT ECIndexImporterAttachment::Parse + command.assign(m_strCommand + " "); + + if (!strMimeTag.empty() && strMimeTag.compare(_T("application/octet-stream")) != 0) { +- string tmp = trim(convert_to(strMimeTag), "\r\n "); ++ std::string tmp = trim(convert_to(strMimeTag), "\r\n "); + size_t pos = tmp.find_first_of('/'); + if (pos != std::string::npos) { +- set::iterator i = m_lpThreadData->m_setMimeFilter.find(string(tmp,0,pos)); ++ std::set::iterator i = m_lpThreadData->m_setMimeFilter.find(std::string(tmp,0,pos)); + if (i != m_lpThreadData->m_setMimeFilter.end()) { + m_lpThreadData->lpLogger->Log(EC_LOGLEVEL_DEBUG, "Skipping filtered attachment mimetype: %s for %ls", tmp.c_str(), strFilename.c_str()); + hr = MAPI_E_INVALID_OBJECT; +@@ -452,8 +456,8 @@ HRESULT ECIndexImporterAttachment::Parse + command.append("'"); + } else if (!strExtension.empty()) { + // this string mostly does not exist +- string tmp = trim(convert_to(strExtension), "\r\n "); +- set::iterator i = m_lpThreadData->m_setExtFilter.find(string(tmp,1)); // skip dot in extension find ++ std::string tmp = trim(convert_to(strExtension), "\r\n "); ++ std::set::iterator i = m_lpThreadData->m_setExtFilter.find(std::string(tmp,1)); // skip dot in extension find + if (i != m_lpThreadData->m_setExtFilter.end()) { + m_lpThreadData->lpLogger->Log(EC_LOGLEVEL_DEBUG, "Skipping filtered attachment extension: %s for %ls", tmp.c_str(), strFilename.c_str()); + hr = MAPI_E_INVALID_OBJECT; +@@ -463,14 +467,14 @@ HRESULT ECIndexImporterAttachment::Parse + command.append(forcealnum(tmp, ".")); + command.append("'"); + } else if (!strFilename.empty()) { +- std::string tmp = trim(convert_to(strFilename), "\r\n "); ++ std::string tmp = trim(convert_to(strFilename), "\r\n "); + size_t pos = tmp.find_last_of('.'); + if (pos == std::string::npos) + goto exit; + + + // skip dot in find +- set::iterator i = m_lpThreadData->m_setExtFilter.find(string(tmp, pos+1)); ++ std::set::iterator i = m_lpThreadData->m_setExtFilter.find(std::string(tmp, pos+1)); + if (i != m_lpThreadData->m_setExtFilter.end()) { + m_lpThreadData->lpLogger->Log(EC_LOGLEVEL_DEBUG, "Skipping filtered attachment extension: %ls", strFilename.c_str()); + hr = MAPI_E_INVALID_OBJECT; +@@ -478,7 +482,7 @@ HRESULT ECIndexImporterAttachment::Parse + } + + command.append("ext '"); +- command.append(forcealnum(string(tmp, pos), ".")); ++ command.append(forcealnum(std::string(tmp, pos), ".")); + command.append("'"); + } else { + m_lpThreadData->lpLogger->Log(EC_LOGLEVEL_DEBUG, "Invalid attachment, no mimetag, extension or filename"); +@@ -599,7 +603,7 @@ HRESULT ECIndexImporterAttachment::Parse + if (ulAttachSize) { + /* Copy attachment data into stream */ + while (TRUE) { +- ULONG ulRead = min(m_ulCache, ulAttachSize); ++ ULONG ulRead = std::min(m_ulCache, ulAttachSize); + ULONG ulCopy = ulRead; + ULONG ulWritten = 0; + diff --git a/net-mail/zarafa/files/7.1.7.42779/zarafa-23-newclucene.patch b/net-mail/zarafa/files/7.1.7.42779/zarafa-23-newclucene.patch new file mode 100644 index 0000000..1935f52 --- /dev/null +++ b/net-mail/zarafa/files/7.1.7.42779/zarafa-23-newclucene.patch @@ -0,0 +1,175 @@ +From: Jan Engelhardt +Date: 2012-06-22 01:14:57.789674760 +0200 + +Make ZCP compilation succeed if distribution uses clucene-core 2.x. + +--- + ECtools/zarafa-search/ECAnalyzers.cpp | 14 +++++----- + ECtools/zarafa-search/ECAnalyzers.h | 5 +-- + ECtools/zarafa-search/ECIndexDB.cpp | 4 +-- + configure.ac | 45 +--------------------------------- + 4 files changed, 13 insertions(+), 55 deletions(-) + +Index: zarafa-7.1.4/ECtools/zarafa-search/ECAnalyzers.cpp +=================================================================== +--- zarafa-7.1.4.orig/ECtools/zarafa-search/ECAnalyzers.cpp ++++ zarafa-7.1.4/ECtools/zarafa-search/ECAnalyzers.cpp +@@ -78,24 +78,24 @@ EmailFilter::~EmailFilter() { + * @param token Output token + * @return false if no more token was available + */ +-bool EmailFilter::next(lucene::analysis::Token *token) { ++lucene::analysis::Token *EmailFilter::next(lucene::analysis::Token *token) { + // See if we had any stored tokens + if(part < parts.size()) { + token->set(parts[part].c_str(), 0, 0, _T("")); + token->setPositionIncrement(0); + part++; +- return true; ++ return token; + } else { + // No more stored token, get a new one + if(!input->next(token)) +- return false; ++ return NULL; + + // Split EMAIL tokens into the various parts + if(wcscmp(token->type(), L"") == 0) { + // Split into user, domain, com +- parts = tokenize((std::wstring)token->_termText, (std::wstring)L".@"); ++ parts = tokenize((std::wstring)token->termBuffer(), (std::wstring)L".@"); + // Split into user, domain.com +- std::vector moreparts = tokenize((std::wstring)token->_termText, (std::wstring)L"@"); ++ std::vector moreparts = tokenize((std::wstring)token->termBuffer(), (std::wstring)L"@"); + parts.insert(parts.end(), moreparts.begin(), moreparts.end()); + + // Only add parts once (unique parts) +@@ -105,7 +105,7 @@ bool EmailFilter::next(lucene::analysis: + part = 0; + } + +- return true; ++ return token; + } + } + +@@ -124,7 +124,7 @@ ECAnalyzer::~ECAnalyzer() + * @param reader Reader to read the bytestream to tokenize + * @return A TokenStream outputting the tokens to be indexed + */ +-lucene::analysis::TokenStream* ECAnalyzer::tokenStream(const TCHAR* fieldName, lucene::util::Reader* reader) ++lucene::analysis::TokenStream *ECAnalyzer::tokenStream(const TCHAR *fieldName, CL_NS(util)::BufferedReader *reader) + { + lucene::analysis::TokenStream* ret = _CLNEW lucene::analysis::standard::StandardTokenizer(reader); + ret = _CLNEW lucene::analysis::standard::StandardFilter(ret,true); +Index: zarafa-7.1.4/ECtools/zarafa-search/ECAnalyzers.h +=================================================================== +--- zarafa-7.1.4.orig/ECtools/zarafa-search/ECAnalyzers.h ++++ zarafa-7.1.4/ECtools/zarafa-search/ECAnalyzers.h +@@ -50,7 +50,6 @@ + #ifndef ANALYZERS_H + + #include "CLucene/StdHeader.h" +-#include "CLucene/util/Reader.h" + #include "CLucene/analysis/standard/StandardAnalyzer.h" + #include "CLucene/analysis/AnalysisHeader.h" + +@@ -68,7 +67,7 @@ class EmailFilter: public lucene::analys + public: + EmailFilter(lucene::analysis::TokenStream* in, bool deleteTokenStream); + virtual ~EmailFilter(); +- bool next(lucene::analysis::Token* token); ++ lucene::analysis::Token *next(lucene::analysis::Token *token); + private: + lucene::analysis::Token curtoken; + +@@ -86,7 +85,7 @@ public: + ECAnalyzer(); + virtual ~ECAnalyzer(); + +- virtual lucene::analysis::TokenStream* tokenStream(const TCHAR* fieldName, CL_NS(util)::Reader* reader); ++ virtual lucene::analysis::TokenStream *tokenStream(const TCHAR *fieldName, CL_NS(util)::BufferedReader *reader); + }; + + #endif +Index: zarafa-7.1.4/ECtools/zarafa-search/ECIndexDB.cpp +=================================================================== +--- zarafa-7.1.4.orig/ECtools/zarafa-search/ECIndexDB.cpp ++++ zarafa-7.1.4/ECtools/zarafa-search/ECIndexDB.cpp +@@ -68,7 +68,7 @@ + #include + #include + +-#include ++#include + + using namespace kyotocabinet; + +@@ -305,7 +305,7 @@ HRESULT ECIndexDB::AddTerm(folderid_t fo + unsigned int len; + unsigned int keylen; + +- lucene::util::StringReader reader(wstrTerm.c_str()); ++ CL_NS(util)::StringReader reader(wstrTerm.c_str()); + + stream = m_lpAnalyzer->tokenStream(L"", &reader); + +Index: zarafa-7.1.4/configure.ac +=================================================================== +--- zarafa-7.1.4.orig/configure.ac ++++ zarafa-7.1.4/configure.ac +@@ -432,52 +432,11 @@ AC_SUBST(ICAL_LIBS) + CXXFLAGS=$CXXFLAGS_system + + # Check for CLucene availability +-AC_ARG_WITH(clucene-lib-prefix, +- AC_HELP_STRING([--with-clucene-lib-prefix=PATH],[path to the clucene config file, e.g. /usr/lib/]), +- [CLUCENE_LIB_PREFIX=${withval}],[CLUCENE_LIB_PREFIX=/usr/lib]) +-AC_ARG_WITH(clucene-include-prefix, +- AC_HELP_STRING([--with-clucene-include-prefix=PATH],[path to the clucene include files, e.g. /usr/include/]), +- [CLUCENE_INCLUDE_PREFIX=${withval}],[CLUCENE_INCLUDE_PREFIX=/usr/include]) +-have_clucene=no +-# preprocessor doesn't check in /usr/lib{,64}/ for include files +-if test "x$CLUCENE_LIB_PREFIX" != "x"; then +- CXXFLAGS="$CXXFLAGS -I$CLUCENE_LIB_PREFIX" +- CPPFLAGS="$CPPFLAGS -I$CLUCENE_LIB_PREFIX" +-fi +-if test "x$CLUCENE_INCLUDE_PREFIX" != "x"; then +- CXXFLAGS="$CXXFLAGS -I$CLUCENE_INCLUDE_PREFIX" +- CPPFLAGS="$CPPFLAGS -I$CLUCENE_INCLUDE_PREFIX" +-fi +-# force add pthread in lucene test +-CXXFLAGS="$CXXFLAGS -pthread" +-if test -e "${CLUCENE_LIB_PREFIX}/libclucene.a"; then +-# lucene::index::IndexReader::open(const char *) in c++ style +-AC_CHECK_LIB(clucene, [_ZN6lucene5index11IndexReader4openEPKc], +- [ CLUCENE_LIBS="${CLUCENE_LIB_PREFIX}/libclucene.a" +- have_clucene=static +- ]) +-else +-AC_CHECK_LIB(clucene, [_ZN6lucene5index11IndexReader4openEPKc], +- [ CLUCENE_LIBS="-lclucene" +- have_clucene=dynamic +- ]) +-fi +-AC_MSG_CHECKING([library type for clucene]) +-AC_MSG_RESULT([$have_clucene]) +-AC_CHECK_HEADERS([CLucene.h], +- [ CLUCENE_CFLAGS="-DLUCENE_DISABLE_MEMTRACKING" ], +- [ have_clucene=no ]) +-if test "x$CLUCENE_LIB_PREFIX" != "x"; then +- CLUCENE_CFLAGS="$CLUCENE_CFLAGS -I$CLUCENE_LIB_PREFIX" +-fi +-if test "x$CLUCENE_INCLUDE_PREFIX" != "x"; then +- CLUCENE_CFLAGS="$CLUCENE_CFLAGS -I$CLUCENE_INCLUDE_PREFIX" +-fi ++PKG_CHECK_MODULES([CLUCENE], [libclucene-core >= 2.3.3], ++ [have_clucene=dynamic], [have_clucene=no]) + AM_CONDITIONAL([WITH_CLUCENE], [test "$have_clucene" != "no"]) + AC_SUBST(CLUCENE_CFLAGS) + AC_SUBST(CLUCENE_LIBS) +-CXXFLAGS=$CXXFLAGS_system +-CPPFLAGS=$CPPFLAGS_system + + # Check for google perftools tcmalloc availability + if test "$want_tcmalloc_full" = "yes"; then diff --git a/net-mail/zarafa/files/7.1.7.42779/zarafa-24-undefined-behavior.patch b/net-mail/zarafa/files/7.1.7.42779/zarafa-24-undefined-behavior.patch new file mode 100644 index 0000000..f591740 --- /dev/null +++ b/net-mail/zarafa/files/7.1.7.42779/zarafa-24-undefined-behavior.patch @@ -0,0 +1,33 @@ +From: Jan Engelhardt +Date: 2013-01-25 03:39:37.985164412 +0100 + +build: flag path that probably should not be taken + +[ 1420s] I: Program returns random data in a function +[ 1420s] E: zarafa no-return-in-nonvoid-function archiver.cpp:373 + +--- + ECtools/zarafa-archiver/archiver.cpp | 3 +++ + 1 file changed, 3 insertions(+) + +Index: zarafa-7.1.3/ECtools/zarafa-archiver/archiver.cpp +=================================================================== +--- zarafa-7.1.3.orig/ECtools/zarafa-archiver/archiver.cpp ++++ zarafa-7.1.3/ECtools/zarafa-archiver/archiver.cpp +@@ -60,6 +60,7 @@ + #include "ECConfig.h" + #include "ECLogger.h" + ++#include + #include + using namespace std; + +@@ -370,6 +371,8 @@ ECLogger* ArchiverImpl::GetLogger(eLogTy + case DefaultLog: return m_lpLogger; + case LogOnly: return m_lpLogLogger; + } ++ abort(); ++ return NULL; + } + + configsetting_t* ArchiverImpl::ConcatSettings(const configsetting_t *lpSettings1, const configsetting_t *lpSettings2) diff --git a/net-mail/zarafa/files/7.1.7.42779/zarafa-7.0.3-sysconfig2confd-1.patch b/net-mail/zarafa/files/7.1.7.42779/zarafa-7.0.3-sysconfig2confd-1.patch new file mode 100644 index 0000000..2496e65 --- /dev/null +++ b/net-mail/zarafa/files/7.1.7.42779/zarafa-7.0.3-sysconfig2confd-1.patch @@ -0,0 +1,103 @@ +Submitted By: Mario Fetka (mario.fetka@gmail.com) +Date: 2010-10-13 +Initial Package Version: 6.40.2 (7.0.3) +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 -uNr zarafa-7.0.3.orig/installer/linux/Makefile.am zarafa-7.0.3/installer/linux/Makefile.am +--- zarafa-7.0.3.orig/installer/linux/Makefile.am 2011-11-20 18:45:15.661461795 +0100 ++++ zarafa-7.0.3/installer/linux/Makefile.am 2011-11-20 18:48:10.780508507 +0100 +@@ -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 -uNr zarafa-7.0.3.orig/installer/userscripts/createcompany.in zarafa-7.0.3/installer/userscripts/createcompany.in +--- zarafa-7.0.3.orig/installer/userscripts/createcompany.in 2011-11-20 18:45:15.640628342 +0100 ++++ zarafa-7.0.3/installer/userscripts/createcompany.in 2011-11-20 18:47:09.706088759 +0100 +@@ -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-server ]; then ++ . @sysconfdir@/conf.d/zarafa-server + elif [ -f @sysconfdir@/default/zarafa ]; then + . @sysconfdir@/default/zarafa + fi +diff -uNr zarafa-7.0.3.orig/installer/userscripts/creategroup.in zarafa-7.0.3/installer/userscripts/creategroup.in +--- zarafa-7.0.3.orig/installer/userscripts/creategroup.in 2011-11-20 18:45:15.640628342 +0100 ++++ zarafa-7.0.3/installer/userscripts/creategroup.in 2011-11-20 18:46:48.060132907 +0100 +@@ -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-server ]; then ++ . @sysconfdir@/conf.d/zarafa-server + elif [ -f @sysconfdir@/default/zarafa ]; then + . @sysconfdir@/default/zarafa + fi +diff -uNr zarafa-7.0.3.orig/installer/userscripts/createuser.in zarafa-7.0.3/installer/userscripts/createuser.in +--- zarafa-7.0.3.orig/installer/userscripts/createuser.in 2011-11-20 18:45:15.640628342 +0100 ++++ zarafa-7.0.3/installer/userscripts/createuser.in 2011-11-20 18:47:04.215316936 +0100 +@@ -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-server ]; then ++ . @sysconfdir@/conf.d/zarafa-server + elif [ -f @sysconfdir@/default/zarafa ]; then + . @sysconfdir@/default/zarafa + fi +diff -uNr zarafa-7.0.3.orig/installer/userscripts/deletecompany.in zarafa-7.0.3/installer/userscripts/deletecompany.in +--- zarafa-7.0.3.orig/installer/userscripts/deletecompany.in 2011-11-20 18:45:15.638313511 +0100 ++++ zarafa-7.0.3/installer/userscripts/deletecompany.in 2011-11-20 18:46:16.113192833 +0100 +@@ -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-server ]; then ++ . @sysconfdir@/conf.d/zarafa-server + fi + + ZARAFA_COMPANY_SCRIPTS=@USERSCRIPTDIR@/deletecompany.d +diff -uNr zarafa-7.0.3.orig/installer/userscripts/deletegroup.in zarafa-7.0.3/installer/userscripts/deletegroup.in +--- zarafa-7.0.3.orig/installer/userscripts/deletegroup.in 2011-11-20 18:45:15.638313511 +0100 ++++ zarafa-7.0.3/installer/userscripts/deletegroup.in 2011-11-20 18:46:26.173434957 +0100 +@@ -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-server ]; then ++ . @sysconfdir@/conf.d/zarafa-server + fi + + ZARAFA_GROUP_SCRIPTS=@USERSCRIPTDIR@/deletegroup.d +diff -uNr zarafa-7.0.3.orig/installer/userscripts/deleteuser.in zarafa-7.0.3/installer/userscripts/deleteuser.in +--- zarafa-7.0.3.orig/installer/userscripts/deleteuser.in 2011-11-20 18:45:15.659146961 +0100 ++++ zarafa-7.0.3/installer/userscripts/deleteuser.in 2011-11-20 18:47:14.958433297 +0100 +@@ -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-server ]; then ++ . @sysconfdir@/conf.d/zarafa-server + fi + + ZARAFA_USER_SCRIPTS=@USERSCRIPTDIR@/deleteuser.d diff --git a/net-mail/zarafa/files/7.1.7.42779/zarafa-7.1.4-tcmalloc.patch b/net-mail/zarafa/files/7.1.7.42779/zarafa-7.1.4-tcmalloc.patch new file mode 100644 index 0000000..0aa02be --- /dev/null +++ b/net-mail/zarafa/files/7.1.7.42779/zarafa-7.1.4-tcmalloc.patch @@ -0,0 +1,11 @@ +--- zarafa-7.1.4/configure.ac.orig 2013-04-15 21:53:32.183138074 +0200 ++++ zarafa-7.1.4/configure.ac 2013-04-15 21:55:33.742618371 +0200 +@@ -493,7 +493,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" AC_DEFINE(HAVE_TCMALLOC, [1], [Google TCMalloc available]) ], ++ [ TCMALLOC_LIBS="${TCMALLOC_PREFIX}/libtcmalloc_minimal.so" AC_DEFINE(HAVE_TCMALLOC, [1], [Google TCMalloc available]) ], + [ WITH_TCMALLOC=no ]) + AC_SUBST(TCMALLOC_LIBS) + else diff --git a/net-mail/zarafa/files/7.1.7.42779/zarafa-7.1.5-gentoo-swig1.3.patch b/net-mail/zarafa/files/7.1.7.42779/zarafa-7.1.5-gentoo-swig1.3.patch new file mode 100644 index 0000000..62f8b94 --- /dev/null +++ b/net-mail/zarafa/files/7.1.7.42779/zarafa-7.1.5-gentoo-swig1.3.patch @@ -0,0 +1,15 @@ +diff -uNr zarafa-7.1.5.orig/autoconf/swig.m4 zarafa-7.1.5/autoconf/swig.m4 +--- zarafa-7.1.5.orig/autoconf/swig.m4 2013-08-15 17:10:38.483748612 +0200 ++++ zarafa-7.1.5/autoconf/swig.m4 2013-08-15 17:11:28.996117121 +0200 +@@ -12,9 +12,9 @@ + need_swig=no + fi + +-AC_PATH_PROG(SWIG_EXEC, [swig]) ++AC_PATH_PROG(SWIG_EXEC, [swig1.3]) + if test "$need_swig" = "yes" -a "x$SWIG_EXEC" = "x"; then +- AC_MSG_ERROR([Current options require swig, but swig binary is not found]) ++ AC_MSG_ERROR([Current options require swig 1.3, but swig 1.3 binary is not found]) + fi + AM_CONDITIONAL([WITH_SWIG], [test "$want_swig" = "yes"]) + ]) diff --git a/net-mail/zarafa/zarafa-7.1.5.42059.ebuild b/net-mail/zarafa/zarafa-7.1.5.42059.ebuild index 7b5ff30..448ab09 100644 --- a/net-mail/zarafa/zarafa-7.1.5.42059.ebuild +++ b/net-mail/zarafa/zarafa-7.1.5.42059.ebuild @@ -179,6 +179,7 @@ src_install() { insinto /etc/logrotate.d newins "${FILESDIR}"/zarafa.logrotate zarafa || die "Failed to install logrotate" fi + if use ldap; then insinto /etc/openldap/schema doins installer/ldap/zarafa.* || die "Failed to install ldap schema files" diff --git a/net-mail/zarafa/zarafa-7.1.7.42779.ebuild b/net-mail/zarafa/zarafa-7.1.7.42779.ebuild new file mode 100644 index 0000000..514ba6a --- /dev/null +++ b/net-mail/zarafa/zarafa-7.1.7.42779.ebuild @@ -0,0 +1,202 @@ +# Copyright 1999-2013 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 php5-4" +PHPSAPILIST="apache2 cgi cli" + +PYTHON_DEPEND="python? 2" + +inherit eutils bash-completion flag-o-matic php-ext-base-r1 python unpacker autotools versionator systemd + +DESCRIPTION="Open Source Groupware Solution" +HOMEPAGE="http://zarafa.com/" + +ZARAFA_RELEASE="final" +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 ) + +SRC_URI="http://download.zarafa.com/community/${ZARAFA_RELEASE}/${MY_PVM}/${MY_PV}/sourcecode/zcp-${MY_PVR}.tar.gz + amd64? ( licensed? ( http://download.zarafa.com/community/${ZARAFA_RELEASE}/${MY_PVM}/${MY_PV}/zcp-${MY_PV}-ubuntu-12.04-x86_64-free.tar.gz + https://launchpad.net/ubuntu/+archive/primary/+files/libboost-system1.46.1_1.46.1-7ubuntu3_amd64.deb + https://launchpad.net/ubuntu/+archive/primary/+files/libboost-filesystem1.46.1_1.46.1-7ubuntu3_amd64.deb + https://launchpad.net/ubuntu/+archive/primary/+files/libssl1.0.0_1.0.1-4ubuntu5.10_amd64.deb + https://launchpad.net/ubuntu/+archive/primary/+files/libicu48_4.8.1.1-3_amd64.deb ) ) + x86? ( licensed? ( http://download.zarafa.com/community/${ZARAFA_RELEASE}/${MY_PVM}/${MY_PV}/zcp-${MY_PV}-ubuntu-12.04-i386-free.tar.gz + https://launchpad.net/ubuntu/+archive/primary/+files/libboost-system1.46.1_1.46.1-7ubuntu3_i386.deb + https://launchpad.net/ubuntu/+archive/primary/+files/libboost-filesystem1.46.1_1.46.1-7ubuntu3_i386.deb + https://launchpad.net/ubuntu/+archive/primary/+files/libssl1.0.0_1.0.1-4ubuntu5.10_i386.deb + https://launchpad.net/ubuntu/+archive/primary/+files/libicu48_4.8.1.1-3_i386.deb ) )" +S="${WORKDIR}"/zarafa-${MY_PVR} + +ZARAFA_SERVICES="dagent gateway ical monitor search server spooler" + +LICENSE="AGPL-3" +SLOT="0" +KEYWORDS="~x86 ~amd64 ~arm" +RESTRICT="mirror" +IUSE="debug kerberos icu ldap logrotate perl +python static +swig tcmalloc licensed sparsehash profiling pic" + +RDEPEND=">=dev-libs/libical-0.44 + >=dev-cpp/libvmime-0.9.2_pre512 + virtual/httpd-php + virtual/mysql + dev-cpp/clucene + dev-db/kyotocabinet + dev-libs/boost + dev-libs/libxml2 + dev-libs/openssl + net-misc/curl + sys-libs/e2fsprogs-libs + sys-libs/zlib + icu? ( dev-libs/icu ) + kerberos? ( virtual/krb5 ) + ldap? ( net-nds/openldap ) + logrotate? ( app-admin/logrotate ) + perl? ( dev-lang/perl ) + python? ( dev-lang/python ) + tcmalloc? ( dev-util/google-perftools ) + swig? ( =dev-lang/swig-1.3* )" +DEPEND="${RDEPEND} + sparsehash? ( dev-cpp/sparsehash ) + dev-util/pkgconfig + sys-devel/gettext" + +pkg_setup() { + python_set_active_version 2 + python_pkg_setup +} + +src_prepare() { + EPATCH_SOURCE="${FILESDIR}/${PV}" EPATCH_SUFFIX="patch" \ + EPATCH_FORCE="yes" epatch + edos2unix php-webclient-ajax/config.php.dist + AT_M4DIR="autoconf" eautoreconf + if use licensed; then + # not a hack just correct a script + sed -i "s!/etc/default/zarafa-ssm!/etc/conf.d/zarafa-ssm!g" "${WORKDIR}"/licensed/usr/bin/zarafa-ssm || die "sed failed" + fi + append-flags "-fPIC" +} + + +src_unpack() { + unpack zcp-${MY_PVR}.tar.gz + if use licensed; then + if [[ "${ARCH}" == "amd64" ]]; then + unpack zcp-${MY_PV}-ubuntu-12.04-x86_64-free.tar.gz + fi + + if [[ "${ARCH}" == "x86" ]]; then + unpack zcp-${MY_PV}-ubuntu-12.04-i386-free.tar.gz + fi + pushd "${WORKDIR}" + mkdir licensed + cd licensed + unpack_deb $(find ./../ -name "zarafa-licensed*.deb") + unpack_deb $(find ./../ -name "zarafa-client*.deb") + unpack_deb $(find ./../../ -name "libboost-system1.46.1*.deb") + unpack_deb $(find ./../../ -name "libboost-filesystem1.46.1*.deb") + unpack_deb $(find ./../../ -name "libssl1.0.0*.deb") + unpack_deb $(find ./../../ -name "libicu48*.deb") + popd + fi + cd "${S}" +} + +src_configure() { + append-flags -fpermissive + econf \ + --enable-oss \ + --disable-testtools \ + --enable-release \ + --enable-unicode \ + --enable-epoll \ + --with-userscript-prefix=/etc/zarafa/userscripts \ + --with-quotatemplate-prefix=/etc/zarafa/quotamails \ + --with-searchscripts-prefix=/etc/zarafa/searchscripts \ + $(use_with pic) \ + $(use_enable icu) \ + $(use_enable static) \ + $(use_enable perl) \ + $(use_enable python) \ + $(use_enable swig) \ + $(use_enable tcmalloc) + $(use_enable profiling) \ + $(use_enable sparsehash) \ + $(use_enable debug) +} + +src_compile() { + find swig -type f | xargs touch + emake || die "emake failed" +} + +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" + + php-ext-base-r1_src_install + + if [[ "${ARCH}" == "x86" || "${ARCH}" == "amd64" ]]; then + if use licensed; then + dobin "${WORKDIR}"/licensed/usr/bin/zarafa-ssm || die "Failed to install licensed binaries" + make_wrapper zarafa-licensed "/opt/zarafa/bin/zarafa-licensed" /opt/zarafa/bin /opt/zarafa/$(get_libdir) + make_wrapper zarafa-report "/opt/zarafa/bin/zarafa-report" /opt/zarafa/bin /opt/zarafa/$(get_libdir) + ZARAFA_SERVICES="${ZARAFA_SERVICES} licensed" + into /opt/zarafa + dobin "${WORKDIR}"/licensed/usr/bin/zarafa-{licensed,report} || die "Failed to install licensed binaries" + dolib.so $(find ${WORKDIR}/licensed -name "*.so*") + doman "${WORKDIR}"/licensed/usr/share/man/*/zarafa-*.gz || die "Failed to install man files" + dodoc "${WORKDIR}"/licensed/usr/share/doc/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" + doconfd "${WORKDIR}"/licensed/etc/default/zarafa-ssm || die "Failed to install sysconfig files" + fi + fi + + 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" + rm "${D}"/etc/conf.d/zarafa || die "Failed to remove wrong file files" + + exeinto /etc/zarafa/userscripts/ + newexe "${FILESDIR}"/junklearn.dspam junklearn + + if use logrotate; then + insinto /etc/logrotate.d + newins "${FILESDIR}"/zarafa.logrotate zarafa || die "Failed to install logrotate" + fi + + if use ldap; then + insinto /etc/openldap/schema + doins installer/ldap/zarafa.* || die "Failed to install ldap schema files" + fi + + insinto /etc/zarafa + doins "${S}"/installer/linux/*.cfg || die "Failed to install config files" + + dodir /var/log/zarafa + keepdir /var/log/zarafa + + for service in ${ZARAFA_SERVICES}; do + newconfd "${FILESDIR}/zarafa-${service}.confd" "zarafa-${service}" + newinitd "${FILESDIR}/zarafa-${service}.initd" "zarafa-${service}" + systemd_newunit "${FILESDIR}/zarafa-${service}.service" "zarafa-${service}.service" + done + + dobashcompletion "${FILESDIR}/zarafa-bash-completion.sh" ${PN} +}