Commit 99cfeb85 authored by Łukasz Nowak's avatar Łukasz Nowak

- build minimal cyrus-sasl implementation

Note: Cyrus sasl plugin build system ignores any parameters passed by caller
and ends up with wrongly linked plugins (lack of rpath). In case of missing
plugins which are required, they have to be analysed case by case.


git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@40600 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent e87e5374
......@@ -2,9 +2,6 @@
parts =
cyrus-sasl
extends =
../software-profiles/gdbm.cfg
../software-profiles/libdb.cfg
../software-profiles/openssl.cfg
../software-profiles/zlib.cfg
[cyrus-sasl-gcc4.4-patch]
......@@ -26,14 +23,18 @@ patch-options =
-p1
configure-options =
--with-openssl=${openssl:location}
--with-bdb-libdir=${libdb:location}/lib
--with-bdb-incdir=${libdb:location}/include
--with-gdbm=${gdbm:location}
--disable-digest
--disable-gssapi
--disable-otp
--with-dblib=none
--without-des
--without-openssl
--without-pam
--without-saslauthd
# it seems that parallel build sometimes fails.
make-options =
-j1
environment =
CPPFLAGS=-I${openssl:location}/include -I${gdbm:location}/include -I${zlib:location}/include
LDFLAGS=-L${openssl:location}/lib -Wl,-rpath -Wl,${openssl:location}/lib -L${libdb:location}/lib -Wl,-rpath -Wl,${libdb:location}/lib -L${gdbm:location}/lib -Wl,-rpath -Wl,${gdbm:location}/lib -L${zlib:location}/lib -Wl,-rpath -Wl,${zlib:location}/lib
CPPFLAGS=-I${zlib:location}/include
LDFLAGS=-L${zlib:location}/lib -Wl,-rpath -Wl,${zlib:location}/lib
......@@ -1640,37 +1640,28 @@ class AssertOpenssl(AssertSoftwareMixin):
self.assertEqual(sorted(expected_rpath_list), elf_dict['runpath_list'])
class AssertCyrusSasl(AssertSoftwareMixin):
def test_ld_libsasl2(self):
elf_dict = readElfAsDict('parts/cyrus-sasl/lib/libsasl2.so')
def test_ld_pluginviewer(self):
elf_dict = readElfAsDict('parts/cyrus-sasl/sbin/pluginviewer')
self.assertEqual(sorted([
'libc',
'libdl',
'libresolv',
'libsasl2',
]),
elf_dict['library_list'])
soft_dir = os.path.join(os.path.abspath(os.curdir), 'parts')
expected_rpath_list = [os.path.join(soft_dir, software, 'lib') for
software in [
'cyrus-sasl',
'zlib',
]]
self.assertEqual(sorted(expected_rpath_list), elf_dict['runpath_list'])
def test_ld_sasl2_libanonymous(self):
elf_dict = readElfAsDict('parts/cyrus-sasl/lib/sasl2/libanonymous.so')
self.assertEqual(sorted([
'libc',
'libresolv',
]),
elf_dict['library_list'])
soft_dir = os.path.join(os.path.abspath(os.curdir), 'parts')
expected_rpath_list = [os.path.join(soft_dir, software, 'lib') for
software in [
]]
self.assertEqual(sorted(expected_rpath_list), elf_dict['runpath_list'])
def test_ld_sasl2_libcrammd5(self):
elf_dict = readElfAsDict('parts/cyrus-sasl/lib/sasl2/libcrammd5.so')
def test_ld_libsasl2(self):
elf_dict = readElfAsDict('parts/cyrus-sasl/lib/libsasl2.so')
self.assertEqual(sorted([
'libc',
'libdl',
'libresolv',
]),
elf_dict['library_list'])
......@@ -1680,33 +1671,29 @@ class AssertCyrusSasl(AssertSoftwareMixin):
]]
self.assertEqual(sorted(expected_rpath_list), elf_dict['runpath_list'])
def test_ld_sasl2_libdigestmd5(self):
elf_dict = readElfAsDict('parts/cyrus-sasl/lib/sasl2/libdigestmd5.so')
def test_ld_sasl2_libanonymous(self):
elf_dict = readElfAsDict('parts/cyrus-sasl/lib/sasl2/libanonymous.so')
self.assertEqual(sorted([
'libc',
'libcrypto',
'libresolv',
]),
elf_dict['library_list'])
soft_dir = os.path.join(os.path.abspath(os.curdir), 'parts')
expected_rpath_list = [os.path.join(soft_dir, software, 'lib') for
software in [
'openssl',
]]
self.assertEqual(sorted(expected_rpath_list), elf_dict['runpath_list'])
def test_ld_sasl2_libotp(self):
elf_dict = readElfAsDict('parts/cyrus-sasl/lib/sasl2/libotp.so')
def test_ld_sasl2_libcrammd5(self):
elf_dict = readElfAsDict('parts/cyrus-sasl/lib/sasl2/libcrammd5.so')
self.assertEqual(sorted([
'libc',
'libcrypto',
'libresolv',
]),
elf_dict['library_list'])
soft_dir = os.path.join(os.path.abspath(os.curdir), 'parts')
expected_rpath_list = [os.path.join(soft_dir, software, 'lib') for
software in [
'openssl',
]]
self.assertEqual(sorted(expected_rpath_list), elf_dict['runpath_list'])
......@@ -1724,21 +1711,6 @@ class AssertCyrusSasl(AssertSoftwareMixin):
]]
self.assertEqual(sorted(expected_rpath_list), elf_dict['runpath_list'])
def test_ld_sasl2_libsasldb(self):
elf_dict = readElfAsDict('parts/cyrus-sasl/lib/sasl2/libsasldb.so')
self.assertEqual(sorted([
'libc',
'libdb-4.5',
'libresolv',
]),
elf_dict['library_list'])
soft_dir = os.path.join(os.path.abspath(os.curdir), 'parts')
expected_rpath_list = [os.path.join(soft_dir, software, 'lib') for
software in [
'libdb',
]]
self.assertEqual(sorted(expected_rpath_list), elf_dict['runpath_list'])
class AssertPython26(AssertSoftwareMixin):
def test_ld_dyn_locale(self):
elf_dict = readElfAsDict('parts/python2.6/lib/python2.6/lib-dynload/_locale.so')
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment