diff options
| author | Roy.Li <rongqing.li@windriver.com> | 2013-07-19 14:29:31 +0800 |
|---|---|---|
| committer | Joe MacDonald <joe.macdonald@windriver.com> | 2013-07-19 08:26:55 -0400 |
| commit | fe85f4980e7c7c35df8fc6b93431c125577dd643 (patch) | |
| tree | 527567de7d36407e894b95d5fdb276903476eecb /meta-networking | |
| parent | 5102691729fe8371fee0fefd55694f122e412ef0 (diff) | |
| download | meta-openembedded-fe85f4980e7c7c35df8fc6b93431c125577dd643.tar.gz | |
cyrus-sasl: several fixes
1. Fix hardcoded libdir
2. configure cyrus-sasl based on PACKAGECONFIG
3. create user by inherit useradd
4. add -fPIC to CFLAG to fix the below building failure:
ld: ../sasldb/.libs/libsasldb.a(db_berkeley.o): relocation R_X86_64_32S against
`.rodata' can not be used when making a shared object; recompile with -fPIC
../sasldb/.libs/libsasldb.a(db_berkeley.o): could not read symbols: Bad value
The cause is that libsasldb.a is built twice since {.c.o: and .c.lo} co-exist, one
with -fPIC, other without -fPIC. if no -fPIC library follows behind, this error
will appear. so we enable -fPIC no matter whatever objects are built.
5. The version of db in oe-core is 5.0
Signed-off-by: Roy.Li <rongqing.li@windriver.com>
Signed-off-by: Joe MacDonald <joe.macdonald@windriver.com>
Diffstat (limited to 'meta-networking')
| -rw-r--r-- | meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl_2.1.26.bb | 31 | ||||
| -rw-r--r-- | meta-networking/recipes-daemons/cyrus-sasl/files/Fix-hardcoded-libdir.patch | 25 |
2 files changed, 51 insertions, 5 deletions
diff --git a/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl_2.1.26.bb b/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl_2.1.26.bb index 431154013f..7dcef26dbf 100644 --- a/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl_2.1.26.bb +++ b/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl_2.1.26.bb | |||
| @@ -5,21 +5,39 @@ LICENSE = "BSD" | |||
| 5 | LIC_FILES_CHKSUM = "file://COPYING;md5=3f55e0974e3d6db00ca6f57f2d206396" | 5 | LIC_FILES_CHKSUM = "file://COPYING;md5=3f55e0974e3d6db00ca6f57f2d206396" |
| 6 | 6 | ||
| 7 | SRC_URI = "ftp://ftp.cyrusimap.org/cyrus-sasl/cyrus-sasl-${PV}.tar.gz \ | 7 | SRC_URI = "ftp://ftp.cyrusimap.org/cyrus-sasl/cyrus-sasl-${PV}.tar.gz \ |
| 8 | file://avoid-to-call-AC_TRY_RUN.patch" | 8 | file://avoid-to-call-AC_TRY_RUN.patch \ |
| 9 | file://Fix-hardcoded-libdir.patch" | ||
| 9 | 10 | ||
| 10 | inherit autotools pkgconfig | 11 | inherit autotools pkgconfig useradd |
| 11 | 12 | ||
| 12 | EXTRA_OECONF += "--with-dblib=berkeley \ | 13 | EXTRA_OECONF += "--with-dblib=berkeley \ |
| 13 | --with-bdb-libdir=${STAGING_LIBDIR} \ | 14 | --with-bdb-libdir=${STAGING_LIBDIR} \ |
| 14 | --with-bdb-incdir=${STAGING_INCDIR} \ | 15 | --with-bdb-incdir=${STAGING_INCDIR} \ |
| 15 | --without-pam --without-opie --without-des \ | 16 | --with-bdb=db-5.3 \ |
| 17 | --with-plugindir="${libdir}/sasl2/" \ | ||
| 16 | andrew_cv_runpath_switch=none" | 18 | andrew_cv_runpath_switch=none" |
| 17 | 19 | ||
| 18 | PACKAGECONFIG ??= "" | 20 | PACKAGECONFIG ??= "ntlm \ |
| 21 | ${@base_contains('DISTRO_FEATURES', 'ldap', 'ldap', '', d)} \ | ||
| 22 | ${@base_contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \ | ||
| 23 | " | ||
| 19 | PACKAGECONFIG[gssapi] = "--enable-gssapi=yes,--enable-gssapi=no,krb5," | 24 | PACKAGECONFIG[gssapi] = "--enable-gssapi=yes,--enable-gssapi=no,krb5," |
| 25 | PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam," | ||
| 26 | PACKAGECONFIG[opie] = "--with-opie,--without-opie,opie," | ||
| 27 | PACKAGECONFIG[des] = "--with-des,--without-des,," | ||
| 28 | PACKAGECONFIG[ldap] = "--with-ldap=${STAGING_LIBDIR} --enable-ldapdb,--without-ldap --disable-ldapdb,openldap," | ||
| 29 | PACKAGECONFIG[ntlm] = "--with-ntlm,--without-ntlm,," | ||
| 30 | |||
| 31 | CFLAGS += "-fPIC" | ||
| 20 | 32 | ||
| 21 | do_configure_prepend () { | 33 | do_configure_prepend () { |
| 22 | rm -f acinclude.m4 config/libtool.m4 | 34 | rm -f acinclude.m4 config/libtool.m4 |
| 35 | |||
| 36 | # make it be able to work with db 5.0 version | ||
| 37 | local sed_files="sasldb/db_berkeley.c utils/dbconverter-2.c" | ||
| 38 | for sed_file in $sed_files; do | ||
| 39 | sed -i 's#DB_VERSION_MAJOR == 4.*#(&) || DB_VERSION_MAJOR == 5#' $sed_file | ||
| 40 | done | ||
| 23 | } | 41 | } |
| 24 | 42 | ||
| 25 | do_compile_prepend () { | 43 | do_compile_prepend () { |
| @@ -29,8 +47,11 @@ do_compile_prepend () { | |||
| 29 | cd .. | 47 | cd .. |
| 30 | } | 48 | } |
| 31 | 49 | ||
| 50 | USERADD_PACKAGES = "${PN}-bin" | ||
| 51 | GROUPADD_PARAM_${PN}-bin = "--system mail" | ||
| 52 | USERADD_PARAM_${PN}-bin = "--system --home=/var/spool/mail -g mail cyrus" | ||
| 53 | |||
| 32 | pkg_postinst_${PN}-bin () { | 54 | pkg_postinst_${PN}-bin () { |
| 33 | grep cyrus /etc/passwd || adduser --disabled-password --home=/var/spool/mail --ingroup mail -g "Cyrus sasl" cyrus | ||
| 34 | echo "cyrus" | saslpasswd2 -p -c cyrus | 55 | echo "cyrus" | saslpasswd2 -p -c cyrus |
| 35 | chgrp mail /etc/sasldb2 | 56 | chgrp mail /etc/sasldb2 |
| 36 | } | 57 | } |
diff --git a/meta-networking/recipes-daemons/cyrus-sasl/files/Fix-hardcoded-libdir.patch b/meta-networking/recipes-daemons/cyrus-sasl/files/Fix-hardcoded-libdir.patch new file mode 100644 index 0000000000..3fa8431c34 --- /dev/null +++ b/meta-networking/recipes-daemons/cyrus-sasl/files/Fix-hardcoded-libdir.patch | |||
| @@ -0,0 +1,25 @@ | |||
| 1 | Fix hardcoded libdir. | ||
| 2 | |||
| 3 | Upstream-Status: Pending | ||
| 4 | |||
| 5 | Signed-off-by: Roy.Li <rongqing.li@windriver.com> | ||
| 6 | --- | ||
| 7 | plugins/Makefile.am | 2 +- | ||
| 8 | 1 files changed, 1 insertions(+), 1 deletions(-) | ||
| 9 | |||
| 10 | diff --git a/plugins/Makefile.am b/plugins/Makefile.am | ||
| 11 | index b00915f..25262a1 100644 | ||
| 12 | --- a/plugins/Makefile.am | ||
| 13 | +++ b/plugins/Makefile.am | ||
| 14 | @@ -62,7 +62,7 @@ plugindir = @plugindir@ | ||
| 15 | |||
| 16 | common_sources = plugin_common.c plugin_common.h | ||
| 17 | |||
| 18 | -sasldir = $(prefix)/lib/sasl2 | ||
| 19 | +sasldir = $(libdir)/sasl2 | ||
| 20 | sasl_LTLIBRARIES = @SASL_MECHS@ | ||
| 21 | EXTRA_LTLIBRARIES = libplain.la libanonymous.la libkerberos4.la libcrammd5.la \ | ||
| 22 | libgs2.la libgssapiv2.la libdigestmd5.la liblogin.la libsrp.la libotp.la \ | ||
| 23 | -- | ||
| 24 | 1.7.4.1 | ||
| 25 | |||
