summaryrefslogtreecommitdiff
path: root/pcr/openchange
diff options
context:
space:
mode:
Diffstat (limited to 'pcr/openchange')
-rw-r--r--pcr/openchange/PKGBUILD101
-rw-r--r--pcr/openchange/bugzilla_682449.patch191
-rw-r--r--pcr/openchange/openchange-samba42.patch282
3 files changed, 337 insertions, 237 deletions
diff --git a/pcr/openchange/PKGBUILD b/pcr/openchange/PKGBUILD
index 9a774867a..8ed9d2e90 100644
--- a/pcr/openchange/PKGBUILD
+++ b/pcr/openchange/PKGBUILD
@@ -1,67 +1,76 @@
-# Maintainer (Arch): Michael Hansen <zrax0111 gmail com>
-# Contributor (Arch): ngoonee <ngoonee.talk@gmail.com>
-# Contributor (Arch): Adam Russell <adamlr6+arch@gmail.com>
+# Maintainer: Michael Hansen <zrax0111 gmail com>
+# Contributor: DJ Lucas <dj@linuxfromscratch.org>
+# Contributor: ngoonee <ngoonee.talk@gmail.com>
+# Contributor: Adam Russell <adamlr6+arch@gmail.com>
pkgname=openchange
-_codename=BORG
-_dlid=180
-pkgver=1.0
-pkgrel=6
-pkgdesc="Library for MAPI connectivity with Microsoft Exchange. This package was SPECIFICALLY created to support evolution-mapi and may not work for any other purpose."
-arch=('i686' 'x86_64' 'mips64el')
+_codename=NANOPROBE
+_dlid=246
+pkgver=2.2
+pkgrel=4
+pkgdesc="A portable, open source implementation of Microsoft Exchange server \
+and Exchange protocols. This package was originally created to support \
+evolution-mapi and may not work for any other purpose."
+arch=('i686' 'x86_64')
url="http://www.openchange.org"
license=('GPL3')
-depends=('samba4>=4.0.0B1' 'popt' 'libical' 'sqlite3' 'file' 'boost' 'zlib')
-makedepends=('ccache' 'python2' 'subversion' 'docbook-xsl' 'libxslt' 'flex' 'bison' 'autoconf' 'automake')
+depends=('samba>=4.2' 'libical' 'sqlite3' 'file' 'boost' 'python2' 'libmariadbclient')
+makedepends=('ccache' 'python2' 'docbook-xsl' 'libxslt')
options=(!makeflags)
# Releases are mirrored at http://tracker.openchange.org/projects/openchange/files
source=("http://tracker.openchange.org/attachments/download/${_dlid}/${pkgname}-${pkgver}-${_codename}.tar.gz"
- "bugzilla_682449.patch")
+ "openchange-samba42.patch")
-md5sums=('9b57a325e90e5ad3a702ddc6e8762ab6'
- '7521f89f8ffaa733ed72532334951b90')
-_prefix="/opt/samba4"
+sha256sums=('f15eb26d16370e85f01649300dd6722c31f0750437a4b60acd604a79439cf688'
+ '8e4c2afede896e16a74be87323412bdcad8173d6943107a0aab38c6b77860887')
build() {
- cd ${srcdir}/${pkgname}-${pkgver}-${_codename}
+ cd "${srcdir}/${pkgname}-${pkgver}-${_codename}"
- patch -i ../bugzilla_682449.patch
+ patch -p1 < "${srcdir}/openchange-samba42.patch"
- SAVEIFS=${IFS}
- IFS=$(echo -en "\n\b")
- PYTHON_CALLERS="$(find ${srcdir}/${pkgname}-${pkgver}-${_codename} -name '*.py')
-$(find ${srcdir}/${pkgname}-${pkgver}-${_codename}/ -type f)
-$(find ${srcdir}/${pkgname}-${pkgver}-${_codename}/ -name 'configure.ac')"
- 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}
+ PYTHON_CALLERS="$(find ${srcdir}/${pkgname}-${pkgver}-${_codename} -name '*.py')
+ $(find ${srcdir}/${pkgname}-${pkgver}-${_codename} -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}
- # Patch for samba4-alpha19+
- SRC_FILES="$(find ${srcdir}/${pkgname}-${pkgver}-${_codename} -name '*.c')"
- sed -i -e "s|#include <samba/popt.h>|#include <popt.h>|" ${SRC_FILES}
- IFS=${SAVEIFS}
+ # 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
+ export PYTHON=/usr/bin/python2
- export PKG_CONFIG_PATH="${_prefix}/samba/lib/pkgconfig:${_prefix}/lib/pkgconfig"
- export BOOST_LIB_SUFFIX="-mt"
- ./autogen.sh
-
- sed -i -e "s|python-config|python2-config|g" configure
- ./configure --prefix=${_prefix} --with-samba=${_prefix}
- make FLEX=/usr/bin/flex BISON=/usr/bin/bison || return 1
+ ./autogen.sh
+ ./configure \
+ --prefix=/usr \
+ --sbindir=/usr/bin \
+ --datadir=/usr/share/samba \
+ --enable-pyopenchange \
+ --with-modulesdir=/usr/lib/samba/modules
+ rm mapiproxy/libmapi{proxy,store}/backends/*.po
+ rm mapiproxy/util/*.po
+ make FLEX=/usr/bin/flex BISON=/usr/bin/bison || return 1
}
package() {
- _pyver=`python2 -c 'import sys; print(sys.version[:3])'`
+ _pyver=`python2 -c 'import sys; print(sys.version[:3])'`
+
+ cd "${srcdir}/${pkgname}-${pkgver}-${_codename}"
+ make DESTDIR="$pkgdir/" install
- cd ${srcdir}/${pkgname}-${pkgver}-${_codename}
- make DESTDIR="$pkgdir/" 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}/${_prefix}/lib/
- ln -s libmapi.so libmapi.so.0
- ln -s libocpf.so libocpf.so.0
+ cd "${pkgdir}/usr/lib"
+ ln -s libmapi.so libmapi.so.0
+ ln -s libocpf.so libocpf.so.0
- find ${pkgdir}/${_prefix}/lib/python${_pyver}/site-packages/ -name '*.py' | \
- xargs sed -i "s|#!/usr/bin/env python$|#!/usr/bin/env python2|"
+ find "${pkgdir}/usr/lib/python${_pyver}/site-packages" -name '*.py' | \
+ xargs sed -i "s|#!/usr/bin/env python$|#!/usr/bin/env python2|"
}
diff --git a/pcr/openchange/bugzilla_682449.patch b/pcr/openchange/bugzilla_682449.patch
deleted file mode 100644
index e1b3f0983..000000000
--- a/pcr/openchange/bugzilla_682449.patch
+++ /dev/null
@@ -1,191 +0,0 @@
-Index: exchange.idl
-===================================================================
---- exchange.idl (revision 4004)
-+++ exchange.idl (working copy)
-@@ -1039,7 +1039,7 @@
- [case(ActionType_OP_COPY)] MoveCopy_Action CopyAction;
- [case(ActionType_OP_REPLY)] ReplyOOF_Action ReplyAction;
- [case(ActionType_OP_OOF_REPLY)] ReplyOOF_Action ReplyOOFAction;
-- [case(ActionType_OP_DEFER_ACTION)][flag(NDR_REMAINING)] DATA_BLOB DeferAction;
-+ [case(ActionType_OP_DEFER_ACTION)][flag(NDR_REMAINING|NDR_NOALIGN)] DATA_BLOB DeferAction;
- [case(ActionType_OP_BOUNCE)] BounceCode BounceCode;
- [case(ActionType_OP_TAG)] mapi_SPropValue_wrap PropValue;
- [case(ActionType_OP_FORWARD)] ForwardDelegate_Action ForwardAction;
-@@ -1057,7 +1057,7 @@
-
- typedef [flag(NDR_NOALIGN)] struct {
- uint16 ActionLength;
-- [subcontext(0),subcontext_size(ActionLength),flag(NDR_REMAINING)] ActionBlockData ActionBlockData;
-+ [subcontext(0),subcontext_size(ActionLength),flag(NDR_REMAINING|NDR_NOALIGN)] ActionBlockData ActionBlockData;
- } ActionBlock;
-
- typedef [flag(NDR_NOALIGN)] struct {
-@@ -1095,7 +1095,7 @@
-
- typedef [public,flag(NDR_NOALIGN)] struct {
- uint16 cValues;
-- [flag(NDR_REMAINING)]mapi_SPropValue lpProps[cValues];
-+ [flag(NDR_REMAINING|NDR_NOALIGN)]mapi_SPropValue lpProps[cValues];
- } mapi_SPropValue_array;
-
- typedef [flag(NDR_NOALIGN)] struct {
-@@ -1281,7 +1281,7 @@
- // TODO: figure out if "layout" can go
- uint8 layout;
- // TODO: convert this to a proper structure - see if we already have one.
-- [flag(NDR_REMAINING)] DATA_BLOB prop_values;
-+ [flag(NDR_REMAINING|NDR_NOALIGN)] DATA_BLOB prop_values;
- } RecipientRow;
-
- typedef [flag(NDR_NOALIGN)] struct {
-@@ -1356,7 +1356,7 @@
-
- typedef [flag(NDR_NOALIGN)] struct {
- uint8 layout;
-- [flag(NDR_REMAINING)] DATA_BLOB prop_data;
-+ [flag(NDR_REMAINING|NDR_NOALIGN)] DATA_BLOB prop_data;
- } GetProps_repl;
-
- /*************************/
-@@ -1455,7 +1455,7 @@
- typedef [flag(NDR_NOALIGN)]struct {
- uint32 idx;
- ulRecipClass RecipClass;
-- [subcontext(2),flag(NDR_REMAINING)] RecipientRow RecipientRow;
-+ [subcontext(2),flag(NDR_REMAINING|NDR_NOALIGN)] RecipientRow RecipientRow;
- } ModifyRecipientRow;
-
- typedef [flag(NDR_NOALIGN)] struct {
-@@ -1532,7 +1532,7 @@
- uint8 handle_idx;
- MSGFLAG_READ flags;
- /* TEMP HACK for editing notes without crashing Outlook:
-- [flag(NDR_REMAINING)] DATA_BLOB clientdata; */
-+ [flag(NDR_REMAINING|NDR_NOALIGN)] DATA_BLOB clientdata; */
- } SetMessageReadFlag_req;
-
- typedef [nodiscriminant, flag(NDR_NOALIGN)] union {
-@@ -1782,7 +1782,7 @@
- typedef [nopush,nopull,flag(NDR_NOALIGN)] struct {
- uint8 Origin;
- uint16 RowCount;
-- [flag(NDR_REMAINING)]DATA_BLOB RowData;
-+ [flag(NDR_REMAINING|NDR_NOALIGN)]DATA_BLOB RowData;
- } QueryRows_repl;
-
- /**************************/
-@@ -2394,13 +2394,13 @@
- } ReadStream_req;
-
- typedef [flag(NDR_NOALIGN)] struct {
-- [subcontext(2), flag(NDR_REMAINING)] DATA_BLOB data;
-+ [subcontext(2), flag(NDR_REMAINING|NDR_NOALIGN)] DATA_BLOB data;
- } ReadStream_repl;
-
- /*************************/
- /* EcDoRpc Function 0x2d */
- typedef [flag(NDR_NOALIGN)] struct {
-- [subcontext(2), flag(NDR_REMAINING)] DATA_BLOB data;
-+ [subcontext(2), flag(NDR_REMAINING|NDR_NOALIGN)] DATA_BLOB data;
- } WriteStream_req;
-
-
-@@ -2900,7 +2900,7 @@
- uint16 TotalStepCount;
- uint8 Reserved;
- uint16 TransferBufferSize;
-- [subcontext(0),subcontext_size(TransferBufferSize),flag(NDR_REMAINING)] DATA_BLOB TransferBuffer;
-+ [subcontext(0),subcontext_size(TransferBufferSize),flag(NDR_REMAINING|NDR_NOALIGN)] DATA_BLOB TransferBuffer;
- } FastTransferSourceGetBuffer_repl;
-
- /**************************/
-@@ -2982,7 +2982,7 @@
- /* EcDoRpc Function 0x54 */
- typedef [flag(NDR_NOALIGN)] struct {
- uint16 TransferBufferSize;
-- [subcontext(0),subcontext_size(TransferBufferSize),flag(NDR_REMAINING)] DATA_BLOB TransferBuffer;
-+ [subcontext(0),subcontext_size(TransferBufferSize),flag(NDR_REMAINING|NDR_NOALIGN)] DATA_BLOB TransferBuffer;
- } FastTransferDestinationPutBuffer_req;
-
- typedef [flag(NDR_NOALIGN)] struct {
-@@ -3075,7 +3075,7 @@
- typedef [flag(NDR_NOALIGN)] struct {
- uint32 ExpandedRowCount;
- uint16 RowCount;
-- [flag(NDR_REMAINING)]DATA_BLOB RowData;
-+ [flag(NDR_REMAINING|NDR_NOALIGN)]DATA_BLOB RowData;
- } ExpandRow_repl;
-
- /*************************/
-@@ -3184,7 +3184,7 @@
- typedef [flag(NDR_NOALIGN)] struct {
- boolean8 HasFinished;
- uint16 DataSize;
-- [subcontext(0), subcontext_size(DataSize), flag(NDR_REMAINING)] DATA_BLOB Data;
-+ [subcontext(0), subcontext_size(DataSize), flag(NDR_REMAINING|NDR_NOALIGN)] DATA_BLOB Data;
- } ReadPerUserInformation_repl;
-
- /*************************/
-@@ -3194,7 +3194,7 @@
- boolean8 HasFinished;
- uint32 DataOffset;
- uint16 DataSize;
-- [subcontext(0), subcontext_size(DataSize), flag(NDR_REMAINING)] DATA_BLOB Data;
-+ [subcontext(0), subcontext_size(DataSize), flag(NDR_REMAINING|NDR_NOALIGN)] DATA_BLOB Data;
- GUID ReplGuid; /* Note: ReplGuid gets only included under specific circumstances */
- } WritePerUserInformation_req;
-
-@@ -3364,7 +3364,7 @@
- SendOptions SendOptions;
- SynchronizationFlag SynchronizationFlag;
- uint16 RestrictionSize;
-- [subcontext(0),subcontext_size(RestrictionSize),flag(NDR_REMAINING)] DATA_BLOB RestrictionData;
-+ [subcontext(0),subcontext_size(RestrictionSize),flag(NDR_REMAINING|NDR_NOALIGN)] DATA_BLOB RestrictionData;
- SynchronizationExtraFlags SynchronizationExtraFlags;
- mapi_SPropTagArray PropertyTags;
- } SyncConfigure_req;
-@@ -3542,7 +3542,7 @@
- } MessageReadState;
-
- typedef [flag(NDR_NOALIGN)] struct {
-- [subcontext(2),flag(NDR_REMAINING)] DATA_BLOB MessageReadStates;
-+ [subcontext(2),flag(NDR_REMAINING|NDR_NOALIGN)] DATA_BLOB MessageReadStates;
- } SyncImportReadStateChanges_req;
-
- typedef [flag(NDR_NOALIGN)] struct {
-@@ -3617,7 +3617,7 @@
- /*************************/
- /* EcDoRpc Function 0x90 */
- typedef [flag(NDR_NOALIGN)] struct {
-- [subcontext(2), flag(NDR_REMAINING)] DATA_BLOB data;
-+ [subcontext(2), flag(NDR_REMAINING|NDR_NOALIGN)] DATA_BLOB data;
- } WriteAndCommitStream_req;
-
-
-@@ -4462,7 +4462,7 @@
- uint32 MajorVersion;
- uint32 MinorVersion;
- uint32 BuildNumber;
-- [subcontext(0), subcontext_size(132), flag(NDR_NOALIGN|NDR_REMAINING)] DATA_BLOB Reserved_1;
-+ [subcontext(0), subcontext_size(132), flag(NDR_REMAINING|NDR_NOALIGN)] DATA_BLOB Reserved_1;
- uint16 ServicePackMajor;
- uint16 ServicePackMinor;
- uint32 Reserved_2;
-@@ -4567,7 +4567,7 @@
- [out] uint16 rgwServerVersion[3],
- [out] uint16 rgwBestVersion[3],
- [in,out] uint32 *pulTimeStamp,
-- [in,subcontext(4),flag(NDR_NOALIGN|NDR_REMAINING)] mapi2k7_AuxInfo *rgbAuxIn,
-+ [in,subcontext(4),flag(NDR_REMAINING|NDR_NOALIGN)] mapi2k7_AuxInfo *rgbAuxIn,
- [in] uint32 cbAuxIn,
- [out, length_is(*pcbAuxOut), size_is(*pcbAuxOut)] mapi2k7_AuxInfo *rgbAuxOut,
- [in,out][range(0,0x1008)] uint32 *pcbAuxOut
-@@ -4588,7 +4588,7 @@
-
- typedef [public,nopull] struct {
- RPC_HEADER_EXT header;
-- [subcontext(0),flag(NDR_NOALIGN|NDR_REMAINING)] mapi_response *mapi_response;
-+ [subcontext(0),flag(NDR_REMAINING|NDR_NOALIGN)] mapi_response *mapi_response;
- } mapi2k7_response;
-
- [public,noprint] MAPISTATUS EcDoRpcExt2(
diff --git a/pcr/openchange/openchange-samba42.patch b/pcr/openchange/openchange-samba42.patch
new file mode 100644
index 000000000..cf005004a
--- /dev/null
+++ b/pcr/openchange/openchange-samba42.patch
@@ -0,0 +1,282 @@
+diff -Naurp openchange-2.2-NANOPROBE-orig/config.mk.in openchange-2.2-NANOPROBE/config.mk.in
+--- openchange-2.2-NANOPROBE-orig/config.mk.in 2014-08-11 10:51:05.000000000 -0500
++++ openchange-2.2-NANOPROBE/config.mk.in 2015-03-22 23:10:47.208548756 -0500
+@@ -52,6 +52,9 @@ PACKAGE_VERSION=@PACKAGE_VERSION@
+ SAMBA_CFLAGS=@SAMBA_CFLAGS@
+ SAMBA_LIBS=@SAMBA_LIBS@
+
++SAMBA_DEBUG_LDFLAGS=@SAMBA_DEBUG_LDFLAGS@
++SAMBA_DEBUG_LIBS=@SAMBA_DEBUG_LIBS@
++
+ LDB_CFLAGS=@LDB_CFLAGS@
+ LDB_LIBS=@LDB_LIBS@
+
+diff -Naurp openchange-2.2-NANOPROBE-orig/configure.ac openchange-2.2-NANOPROBE/configure.ac
+--- openchange-2.2-NANOPROBE-orig/configure.ac 2014-08-11 10:51:05.000000000 -0500
++++ openchange-2.2-NANOPROBE/configure.ac 2015-03-22 23:31:08.448303310 -0500
+@@ -412,6 +412,12 @@ PKG_CHECK_MODULES(SAMBASERVER, dcerpc_se
+ PKG_CHECK_MODULES(TDB, tdb)
+ PKG_CHECK_MODULES(LDB, ldb)
+
++SAMBA_DEBUG_LIBS="-lsamba-debug-samba4 -lsocket-blocking-samba4"
++AC_SUBST(SAMBA_DEBUG_LIBS)
++
++SAMBA_DEBUG_LDFLAGS="-L`pkg-config --variable=libdir samba-util`/samba -Wl,-rpath,`pkg-config --variable=libdir samba-util`/samba"
++AC_SUBST(SAMBA_DEBUG_LDFLAGS)
++
+ dnl ---------------------------------------------------------------------------
+ dnl Check a particular Samba4 git revision
+ dnl ---------------------------------------------------------------------------
+diff -Naurp openchange-2.2-NANOPROBE-orig/Makefile openchange-2.2-NANOPROBE/Makefile
+--- openchange-2.2-NANOPROBE-orig/Makefile 2014-08-11 10:51:05.000000000 -0500
++++ openchange-2.2-NANOPROBE/Makefile 2015-03-22 23:31:08.451636651 -0500
+@@ -357,7 +357,7 @@ libmapipp.$(SHLIBEXT).$(PACKAGE_VERSION)
+ libmapi++/src/session.po \
+ libmapi.$(SHLIBEXT).$(LIBMAPI_SO_VERSION)
+ @echo "Linking $@"
+- @$(CXX) $(DSOOPT) $(CXX11FLAGS) $(CXXFLAGS) $(LDFLAGS) -Wl,-soname,libmapipp.$(SHLIBEXT).$(LIBMAPIPP_SO_VERSION) -o $@ $^ $(LIBS)
++ @$(CXX) $(DSOOPT) $(CXX11FLAGS) $(CXXFLAGS) $(LDFLAGS) -Wl,-soname,libmapipp.$(SHLIBEXT).$(LIBMAPIPP_SO_VERSION) -o $@ $^ $(LIBS) $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS)
+
+ libmapixx-installpc:
+ @echo "[*] install: libmapi++ pc files"
+@@ -438,7 +438,7 @@ bin/libmapixx-test: libmapi++/tests/test
+ libmapipp.$(SHLIBEXT).$(PACKAGE_VERSION) \
+ libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
+ @echo "Linking sample application $@"
+- @$(CXX) $(CXX11FLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS)
++ @$(CXX) $(CXX11FLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS) $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS)
+
+ clean:: libmapixx-test-clean
+
+@@ -453,7 +453,7 @@ bin/libmapixx-attach: libmapi++/tests/at
+ libmapipp.$(SHLIBEXT).$(PACKAGE_VERSION) \
+ libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
+ @echo "Linking sample application $@"
+- @$(CXX) $(CXX11FLAGS) $(CXXFLAGS) -o $@ $^ $(LIBS)
++ @$(CXX) $(CXX11FLAGS) $(CXXFLAGS) -o $@ $^ $(LIBS) $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS)
+
+ clean:: libmapixx-attach-clean
+
+@@ -463,7 +463,7 @@ bin/libmapixx-exception: libmapi++/tests
+ libmapipp.$(SHLIBEXT).$(PACKAGE_VERSION) \
+ libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
+ @echo "Linking exception test application $@"
+- @$(CXX) $(CXX11FLAGS) $(CXXFLAGS) -o $@ $^ $(LIBS)
++ @$(CXX) $(CXX11FLAGS) $(CXXFLAGS) -o $@ $^ $(LIBS) $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS)
+
+ libmapixx-exception-clean:
+ rm -f bin/libmapixx-exception
+@@ -483,7 +483,7 @@ bin/libmapixx-profiletest: libmapi++/tes
+ libmapipp.$(SHLIBEXT).$(PACKAGE_VERSION) \
+ libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
+ @echo "Linking profile test application $@"
+- @$(CXX) $(CXX11FLAGS) $(CXXFLAGS) -o $@ $^ $(LIBS)
++ @$(CXX) $(CXX11FLAGS) $(CXXFLAGS) -o $@ $^ $(LIBS) $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS)
+
+ clean:: libmapixx-profiletest-clean
+
+@@ -504,7 +504,7 @@ libmapi++/examples/foldertree: libmapi++
+ libmapipp.$(SHLIBEXT).$(PACKAGE_VERSION) \
+ libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
+ @echo "Linking foldertree example application $@"
+- @$(CXX) $(CXX11FLAGS) $(CXXFLAGS) -o $@ $^ $(LIBS)
++ @$(CXX) $(CXX11FLAGS) $(CXXFLAGS) -o $@ $^ $(LIBS) $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS)
+
+ clean:: libmapixx-foldertree-clean
+
+@@ -512,7 +512,7 @@ libmapi++/examples/messages: libmapi++/e
+ libmapipp.$(SHLIBEXT).$(PACKAGE_VERSION) \
+ libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
+ @echo "Linking messages example application $@"
+- @$(CXX) $(CXX11FLAGS) $(CXXFLAGS) -o $@ $^ $(LIBS)
++ @$(CXX) $(CXX11FLAGS) $(CXXFLAGS) -o $@ $^ $(LIBS) $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS)
+
+ clean:: libmapixx-messages-clean
+
+@@ -579,7 +579,7 @@ libmapiadmin.$(SHLIBEXT).$(PACKAGE_VERSI
+ libmapiadmin/mapiadmin.po \
+ libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
+ @echo "Linking $@"
+- @$(CC) $(DSOOPT) $(LDFLAGS) -Wl,-soname,libmapiadmin.$(SHLIBEXT).$(LIBMAPIADMIN_SO_VERSION) -o $@ $^ $(LIBS) $(LIBMAPIADMIN_LIBS)
++ @$(CC) $(DSOOPT) $(LDFLAGS) -Wl,-soname,libmapiadmin.$(SHLIBEXT).$(LIBMAPIADMIN_SO_VERSION) -o $@ $^ $(LIBS) $(LIBMAPIADMIN_LIBS) $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS)
+
+
+
+@@ -656,7 +656,7 @@ libocpf.$(SHLIBEXT).$(PACKAGE_VERSION):
+ libocpf/ocpf_write.po \
+ libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
+ @echo "Linking $@"
+- @$(CC) $(DSOOPT) $(LDFLAGS) -Wl,-soname,libocpf.$(SHLIBEXT).$(LIBOCPF_SO_VERSION) -o $@ $^ $(LIBS)
++ @$(CC) $(DSOOPT) $(LDFLAGS) -Wl,-soname,libocpf.$(SHLIBEXT).$(LIBOCPF_SO_VERSION) -o $@ $^ $(LIBS) $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS)
+
+ libocpf.$(SHLIBEXT).$(LIBOCPF_SO_VERSION): libocpf.$(SHLIBEXT).$(PACKAGE_VERSION)
+ ln -fs $< $@
+@@ -728,7 +728,7 @@ mapiproxy/dcesrv_mapiproxy.$(SHLIBEXT):
+ gen_ndr/ndr_exchange.po
+
+ @echo "Linking $@"
+- @$(CC) -o $@ $(DSOOPT) $^ -L. $(LDFLAGS) $(LIBS) $(SAMBASERVER_LIBS) $(SAMDB_LIBS) -Lmapiproxy mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION) libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
++ @$(CC) -o $@ $(DSOOPT) $^ -L. $(LDFLAGS) $(LIBS) $(SAMBASERVER_LIBS) $(SAMDB_LIBS) -Lmapiproxy mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION) libmapi.$(SHLIBEXT).$(PACKAGE_VERSION) $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS)
+
+ mapiproxy/dcesrv_mapiproxy.c: gen_ndr/ndr_exchange_s.c gen_ndr/ndr_exchange.c
+
+@@ -783,7 +783,7 @@ mapiproxy/libmapiproxy.$(SHLIBEXT).$(PAC
+ mapiproxy/util/mysql.po \
+ libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
+ @echo "Linking $@"
+- @$(CC) -o $@ $(DSOOPT) $(LDFLAGS) -Wl,-soname,libmapiproxy.$(SHLIBEXT).$(LIBMAPIPROXY_SO_VERSION) $^ -L. $(LIBS) $(TDB_LIBS) $(DL_LIBS) $(MYSQL_LIBS)
++ @$(CC) -o $@ $(DSOOPT) $(LDFLAGS) -Wl,-soname,libmapiproxy.$(SHLIBEXT).$(LIBMAPIPROXY_SO_VERSION) $^ -L. $(LIBS) $(TDB_LIBS) $(DL_LIBS) $(MYSQL_LIBS) $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS)
+
+ libmapiproxy.$(SHLIBEXT).$(LIBMAPIPROXY_SO_VERSION): mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION)
+ ln -fs $< $@
+@@ -939,7 +939,7 @@ mapiproxy/libmapistore.$(SHLIBEXT).$(PAC
+ mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION) \
+ libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
+ @echo "Linking $@"
+- @$(CC) $(DSOOPT) $(CFLAGS) $(LDFLAGS) -Wl,-soname,libmapistore.$(SHLIBEXT).$(LIBMAPISTORE_SO_VERSION) -o $@ $^ $(LIBS) $(TDB_LIBS) $(DL_LIBS) $(MYSQL_LIBS)
++ @$(CC) $(DSOOPT) $(CFLAGS) $(LDFLAGS) -Wl,-soname,libmapistore.$(SHLIBEXT).$(LIBMAPISTORE_SO_VERSION) -o $@ $^ $(LIBS) $(TDB_LIBS) $(DL_LIBS) $(MYSQL_LIBS) $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS)
+
+ mapiproxy/libmapistore/mapistore_interface.po: mapiproxy/libmapistore/mapistore_nameid.h
+
+@@ -960,7 +960,7 @@ bin/mapistore_test: mapiproxy/libmapist
+ mapiproxy/libmapistore.$(SHLIBEXT).$(PACKAGE_VERSION) \
+ mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION)
+ @echo "Linking $@"
+- @$(CC) -o $@ $^ $(LDFLAGS) $(LIBS) -lpopt -L. libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
++ @$(CC) -o $@ $^ $(LDFLAGS) $(LIBS) -lpopt -L. libmapi.$(SHLIBEXT).$(PACKAGE_VERSION) $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS)
+
+ mapistore_clean:
+ rm -f mapiproxy/libmapistore/tests/*.o
+@@ -1138,7 +1138,7 @@ bin/openchangeclient: utils/openchangec
+ libmapi.$(SHLIBEXT).$(PACKAGE_VERSION) \
+ libocpf.$(SHLIBEXT).$(PACKAGE_VERSION)
+ @echo "Linking $@"
+- @$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(LIBS) -lpopt
++ @$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(LIBS) -lpopt $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS)
+
+
+ ##############
+@@ -1166,7 +1166,7 @@ bin/mapiprofile: utils/mapiprofile.o
+ utils/openchange-tools.o \
+ libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
+ @echo "Linking $@"
+- @$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(LIBS) -lpopt
++ @$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(LIBS) -lpopt $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS)
+
+
+ ###################
+@@ -1195,7 +1195,7 @@ bin/openchangepfadmin: utils/openchangep
+ libmapi.$(SHLIBEXT).$(PACKAGE_VERSION) \
+ libmapiadmin.$(SHLIBEXT).$(PACKAGE_VERSION)
+ @echo "Linking $@"
+- @$(CC) -o $@ $^ $(LDFLAGS) $(LIBS) $(LIBMAPIADMIN_LIBS) -lpopt
++ @$(CC) -o $@ $^ $(LDFLAGS) $(LIBS) $(LIBMAPIADMIN_LIBS) -lpopt $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS)
+
+
+ ###################
+@@ -1226,7 +1226,7 @@ bin/exchange2mbox: utils/exchange2mbox.o
+ utils/openchange-tools.o \
+ libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
+ @echo "Linking $@"
+- @$(CC) -o $@ $^ $(LIBS) $(LDFLAGS) -lpopt $(MAGIC_LIBS)
++ @$(CC) -o $@ $^ $(LIBS) $(LDFLAGS) -lpopt $(MAGIC_LIBS) $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS)
+
+
+ ###################
+@@ -1290,7 +1290,7 @@ bin/exchange2ical: utils/exchange2ical_t
+ utils/openchange-tools.o \
+ libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
+ @echo "Linking $@"
+- @$(CC) $(LDFLAGS) -o $@ $^ $(LIBS) $(ICAL_LIBS) -lpopt
++ @$(CC) $(LDFLAGS) -o $@ $^ $(LIBS) $(ICAL_LIBS) -lpopt $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS)
+
+ ######################
+ # testsuite
+@@ -1321,7 +1321,7 @@ bin/openchange-testsuite: testsuite/tes
+ mapiproxy/libmapistore.$(SHLIBEXT).$(PACKAGE_VERSION) \
+ mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION)
+ @echo "Linking $@"
+- @$(CC) $(CFLAGS) $(CHECK_CFLAGS) $(TDB_CFLAGS) -I. -Itestsuite/ -Imapiproxy -o $@ $^ $(LDFLAGS) $(LIBS) $(TDB_LIBS) $(CHECK_LIBS) $(MYSQL_LIBS) libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
++ @$(CC) $(CFLAGS) $(CHECK_CFLAGS) $(TDB_CFLAGS) -I. -Itestsuite/ -Imapiproxy -o $@ $^ $(LDFLAGS) $(LIBS) $(TDB_LIBS) $(CHECK_LIBS) $(MYSQL_LIBS) libmapi.$(SHLIBEXT).$(PACKAGE_VERSION) $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS)
+
+ testsuite-check: testsuite
+ @LD_LIBRARY_PATH=. CK_XML_LOG_FILE_NAME=test_results.xml ./bin/openchange-testsuite
+@@ -1390,7 +1390,7 @@ bin/mapitest: utils/mapitest/mapitest.o
+ utils/mapitest/modules/module_lzxpress.o \
+ libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
+ @echo "Linking $@"
+- @$(CC) -o $@ $^ $(LDFLAGS) $(LIBS) -lpopt $(SUBUNIT_LIBS)
++ @$(CC) -o $@ $^ $(LDFLAGS) $(LIBS) -lpopt $(SUBUNIT_LIBS) $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS)
+
+ utils/mapitest/proto.h: \
+ utils/mapitest/mapitest_suite.c \
+@@ -1450,7 +1450,7 @@ bin/openchangemapidump: utils/backup/ope
+ utils/openchange-tools.o \
+ libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
+ @echo "Linking $@"
+- @$(CC) -o $@ $^ $(LDFLAGS) $(LIBS) -lpopt
++ @$(CC) -o $@ $^ $(LDFLAGS) $(LIBS) -lpopt $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS)
+
+
+ ###############
+@@ -1503,7 +1503,7 @@ bin/check_fasttransfer: testprogs/check_
+ mapiproxy/libmapistore.$(SHLIBEXT).$(PACKAGE_VERSION) \
+ mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION)
+ @echo "Linking $@"
+- @$(CC) -o $@ $^ $(LIBS) $(LDFLAGS) -lpopt
++ @$(CC) -o $@ $^ $(LIBS) $(LDFLAGS) -lpopt $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS)
+
+ ###################
+ # test_asyncnotif test app.
+@@ -1529,7 +1529,7 @@ clean:: test_asyncnotif-clean
+ bin/test_asyncnotif: testprogs/test_asyncnotif.o \
+ libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
+ @echo "Linking $@"
+- @$(CC) -o $@ $^ $(LIBS) $(LDFLAGS) -lpopt
++ @$(CC) -o $@ $^ $(LIBS) $(LDFLAGS) -lpopt $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS)
+
+ ###################
+ # python code
+@@ -1574,7 +1574,7 @@ $(pythonscriptdir)/openchange/mapi.$(SHL
+ pyopenchange/pymapi_properties.c \
+ libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
+ @echo "Linking $@"
+- @$(CC) $(CFLAGS) -fno-strict-aliasing $(DSOOPT) $(LDFLAGS) -o $@ $^ $(PYTHON_CFLAGS) $(PYTHON_LIBS) $(LIBS)
++ @$(CC) $(CFLAGS) -fno-strict-aliasing $(DSOOPT) $(LDFLAGS) -o $@ $^ $(PYTHON_CFLAGS) $(PYTHON_LIBS) $(LIBS) $(SAMBA_DEBUG_LDFLAGS) $(SAMBA_DEBUG_LIBS)
+
+ # $(pythonscriptdir)/openchange/ocpf.$(SHLIBEXT): pyopenchange/pyocpf.c \
+ # libocpf.$(SHLIBEXT).$(PACKAGE_VERSION) \
+diff -Naurp openchange-2.2-NANOPROBE-orig/mapiproxy/dcesrv_mapiproxy.c openchange-2.2-NANOPROBE/mapiproxy/dcesrv_mapiproxy.c
+--- openchange-2.2-NANOPROBE-orig/mapiproxy/dcesrv_mapiproxy.c 2014-08-11 10:51:05.000000000 -0500
++++ openchange-2.2-NANOPROBE/mapiproxy/dcesrv_mapiproxy.c 2015-03-22 23:41:19.793032062 -0500
+@@ -132,10 +132,10 @@ static NTSTATUS mapiproxy_op_connect(str
+
+ switch (dce_call->pkt.ptype) {
+ case DCERPC_PKT_BIND:
+- b->assoc_group_id = dce_call->pkt.u.bind.assoc_group_id;
++ status = dcerpc_binding_set_assoc_group_id(b, dce_call->pkt.u.bind.assoc_group_id);
+ break;
+ case DCERPC_PKT_ALTER:
+- b->assoc_group_id = dce_call->pkt.u.alter.assoc_group_id;
++ status = dcerpc_binding_set_assoc_group_id(b, dce_call->pkt.u.alter.assoc_group_id);
+ break;
+ default:
+ break;
+@@ -152,7 +152,7 @@ static NTSTATUS mapiproxy_op_connect(str
+ if (!NT_STATUS_IS_OK(status)) {
+ return status;
+ }
+- dce_call->context->assoc_group->id = private->c_pipe->assoc_group_id;
++ dce_call->context->assoc_group->id = dcerpc_binding_get_assoc_group_id(private->c_pipe->binding);
+
+ } else {
+ status = dcerpc_pipe_connect(dce_call->context,
+@@ -167,7 +167,7 @@ static NTSTATUS mapiproxy_op_connect(str
+ if (!NT_STATUS_IS_OK(status)) {
+ return status;
+ }
+- dce_call->context->assoc_group->id = private->c_pipe->assoc_group_id;
++ dce_call->context->assoc_group->id = dcerpc_binding_get_assoc_group_id(private->c_pipe->binding);
+ }
+
+ private->connected = true;