blob: ea84ecd5728d34cca8bbd910f729c5cc6fbf4a08 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
|
# Maintainer (Arch): Michael Hansen <zrax0111 gmail com>
# Maintainer (Arch): DJ Lucas <dj_AT_linuxfromscratch_DOT_org>
# Contributor (Arch): ngoonee <ngoonee.talk@gmail.com>
# Contributor (Arch): Adam Russell <adamlr6+arch@gmail.com>
# Maintainer: Omar Vega Ramos <ovruni@gnu.org.pe>
pkgname=openchange
_codename=VULCAN
pkgver=2.3
pkgrel=2
pkgdesc="A portable, open source implementation of Microsoft Exchange server \
and Exchange protocols."
arch=('i686' 'x86_64')
url="http://www.openchange.org"
license=('GPL3')
depends=('samba>=4.2.2' 'libical' 'sqlite3' 'file' 'boost' 'python2'
'libmariadbclient' 'nanomsg>=0.5' 'libmemcached>=1.0.18')
makedepends=('ccache' 'docbook-xsl' 'libxslt' 'python2-setuptools'
'python2-pylons')
optdepends=('python2-pylons: Needed for OCSManager')
options=(!makeflags)
# Releases are mirrored at http://tracker.openchange.org/projects/openchange/files
source=("https://github.com/openchange/openchange/archive/${pkgname}-${pkgver}-${_codename}.tar.gz"
"ocsmanager.service"
"openchange-provision-type-error.patch"
"openchange-issue-249.patch")
sha256sums=('46ffdc779bb7bf6a823f6d1a78c5ca3f5548b981ad90164214a68279b403a05e'
'45bd19e2a5725a94692ae606086be6d57423375c9b1c0eb5322c6e09ef2b5fb3'
'067d25b0442ab233f47fbfd32a56042fa161b3d0aa65081f222fddde3648c439'
'e3cfd2455a52d4b68153b3d546c70edbde5cf024ebcec1088a923aedaa938834')
# Used to be pkgname-pkgver-codename, but now we have two openchanges. WAT
_srcsubdir="${pkgname}-${pkgname}-${pkgver}-${_codename}"
build() {
cd "${srcdir}/${_srcsubdir}"
patch -p1 < "${srcdir}/openchange-provision-type-error.patch"
patch -p1 < "${srcdir}/openchange-issue-249.patch"
PYTHON_CALLERS="$(find ${srcdir}/${_srcsubdir} -name '*.py')
$(find ${srcdir}/${_srcsubdir} -name 'configure.ac')
setup/openchange_newuser setup/openchange_provision
mapiproxy/services/web/rpcproxy/rpcproxy.wsgi"
sed -i -e "s|/usr/bin/env python$|/usr/bin/env python2|" \
-e "s|python-config|python2-config|" \
-e "s|bin/python|bin/python2|" \
${PYTHON_CALLERS}
# Fix linking of boost_thread in autoconf test
sed -i -e "s|-lboost_thread\$BOOST_LIB_SUFFIX|-lboost_thread\$BOOST_LIB_SUFFIX -lboost_system\$BOOST_LIB_SUFFIX|" \
configure.ac
export PYTHON=/usr/bin/python2
./autogen.sh
./configure \
--prefix=/usr \
--sbindir=/usr/bin \
--datadir=/usr/share/samba \
--enable-pyopenchange \
--with-modulesdir=/usr/lib/samba/modules
make FLEX=/usr/bin/flex BISON=/usr/bin/bison || return 1
}
package() {
_pyver=`python2 -c 'import sys; print(sys.version[:3])'`
cd "${srcdir}/${_srcsubdir}"
make DESTDIR="${pkgdir}" install
make DESTDIR="${pkgdir}" pyopenchange-install
# NOTE: Not using `make installman' because that generates a bunch
# of doxygen-based manpages which may have conflicting names with
# other system man pages
install -d "${pkgdir}/usr/share/man"
cp -r doc/man/man* "${pkgdir}/usr/share/man"
cd "${pkgdir}/usr/lib"
ln -s libmapi.so libmapi.so.0
ln -s libocpf.so libocpf.so.0
# Install OCSManager
cd "${srcdir}/${_srcsubdir}"
make srcdir="${srcdir}/${_srcsubdir}" DESTDIR="${pkgdir}" ocsmanager-install
install -vdm700 -o http -g http "${pkgdir}/var/cache/ntlmauthhandler"
install -vDm644 "${srcdir}/ocsmanager.service" \
"${pkgdir}/usr/lib/systemd/system/ocsmanager.service"
install -vDm644 "${srcdir}/${_srcsubdir}/mapiproxy/services/ocsmanager/ocsmanager.ini" \
"${pkgdir}/etc/ocsmanager/ocsmanager.ini"
install -vDm644 "${srcdir}/${_srcsubdir}/mapiproxy/services/ocsmanager/ocsmanager-apache.conf" \
"${pkgdir}/etc/httpd/conf/extra/ocsmanager.conf"
# Install RPC Proxy
cd "${srcdir}/${_srcsubdir}/mapiproxy/services/web/rpcproxy"
install -vdm755 "${pkgdir}/usr/lib/openchange/web/rpcproxy"
install -vm644 "${srcdir}/${_srcsubdir}/mapiproxy/services/web/rpcproxy/rpcproxy.conf" \
"${pkgdir}/etc/httpd/conf/extra/rpcproxy.conf"
python2 setup.py install \
--root="${pkgdir}" \
--install-lib=/usr/lib/openchange/web/rpcproxy \
--install-scripts=/usr/lib/openchange/web/rpcproxy
find "${pkgdir}/usr/lib/python${_pyver}/site-packages" -name '*.py' | \
xargs sed -i "s|#!/usr/bin/env python$|#!/usr/bin/env python2|"
}
|