All of lore.kernel.org
 help / color / mirror / Atom feed
* [meta-networking][PATCH] cyrus-sasl: several fixes
@ 2013-07-19  6:29 rongqing.li
  2013-07-19 15:21 ` Joe MacDonald
  0 siblings, 1 reply; 2+ messages in thread
From: rongqing.li @ 2013-07-19  6:29 UTC (permalink / raw)
  To: openembedded-devel; +Cc: Joe.macdonald

From: "Roy.Li" <rongqing.li@windriver.com>

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>
---
 .../cyrus-sasl/cyrus-sasl_2.1.26.bb                |   31 ++++++++++++++++----
 .../cyrus-sasl/files/Fix-hardcoded-libdir.patch    |   25 ++++++++++++++++
 2 files changed, 51 insertions(+), 5 deletions(-)
 create mode 100644 meta-networking/recipes-daemons/cyrus-sasl/files/Fix-hardcoded-libdir.patch

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 4311540..d8cb3d9 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"
 LIC_FILES_CHKSUM = "file://COPYING;md5=3f55e0974e3d6db00ca6f57f2d206396"
 
 SRC_URI = "ftp://ftp.cyrusimap.org/cyrus-sasl/cyrus-sasl-${PV}.tar.gz \
-	   file://avoid-to-call-AC_TRY_RUN.patch"
+	   file://avoid-to-call-AC_TRY_RUN.patch \
+	   file://Fix-hardcoded-libdir.patch" 
 
-inherit autotools pkgconfig
+inherit autotools pkgconfig useradd
 
 EXTRA_OECONF += "--with-dblib=berkeley \
                  --with-bdb-libdir=${STAGING_LIBDIR} \
                  --with-bdb-incdir=${STAGING_INCDIR} \
-                 --without-pam --without-opie --without-des \
+                 --with-bdb=db-5.3 \
+                 --with-plugindir="${libdir}/sasl2/" \
                  andrew_cv_runpath_switch=none"
 
-PACKAGECONFIG ??= ""
+PACKAGECONFIG ??= "ntlm \
+        ${@base_contains('DISTRO_FEATURES', 'ldap', 'ldap', '', d)} \
+        ${@base_contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \
+        "
 PACKAGECONFIG[gssapi] = "--enable-gssapi=yes,--enable-gssapi=no,krb5,"
+PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam,"
+PACKAGECONFIG[opie] = "--with-opie,--without-opie,opie,"
+PACKAGECONFIG[des] = "--with-des,--without-des,,"
+PACKAGECONFIG[ldap] = "--with-ldap=${STAGING_LIBDIR} --enable-ldapdb,--without-ldap --disable-ldapdb,openldap,"
+PACKAGECONFIG[ntlm] = "--with-ntlm,--without-ntlm,,"
+
+CFLAGS += "-fPIC"
 
 do_configure_prepend () {
     rm -f acinclude.m4 config/libtool.m4
+
+    # make it be able to work with db 5.0 version
+    local sed_files="sasldb/db_berkeley.c utils/dbconverter-2.c"
+    for sed_file in $sed_files; do
+        sed -i 's#DB_VERSION_MAJOR == 4.*#(&) || DB_VERSION_MAJOR == 5#' $sed_file
+    done
 }
 
 do_compile_prepend () {
@@ -29,8 +47,11 @@ do_compile_prepend () {
     cd ..
 }
 
+USERADD_PACKAGES = "${PN}-bin"
+GROUPADD_PARAM_${PN}-bin = "--system mail"
+USERADD_PARAM_${PN}-bin = "--system --home=/var/spool/mail -g mail cyrus"
+
 pkg_postinst_${PN}-bin () {
-    grep cyrus /etc/passwd || adduser --disabled-password --home=/var/spool/mail --ingroup mail -g "Cyrus sasl" cyrus
     echo "cyrus" | saslpasswd2 -p -c cyrus
     chgrp mail /etc/sasldb2
 }
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 0000000..3fa8431
--- /dev/null
+++ b/meta-networking/recipes-daemons/cyrus-sasl/files/Fix-hardcoded-libdir.patch
@@ -0,0 +1,25 @@
+Fix hardcoded libdir.
+
+Upstream-Status: Pending 
+
+Signed-off-by: Roy.Li <rongqing.li@windriver.com>
+---
+ plugins/Makefile.am |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/plugins/Makefile.am b/plugins/Makefile.am
+index b00915f..25262a1 100644
+--- a/plugins/Makefile.am
++++ b/plugins/Makefile.am
+@@ -62,7 +62,7 @@ plugindir = @plugindir@
+ 
+ common_sources = plugin_common.c plugin_common.h
+ 
+-sasldir = $(prefix)/lib/sasl2
++sasldir = $(libdir)/sasl2
+ sasl_LTLIBRARIES = @SASL_MECHS@
+ EXTRA_LTLIBRARIES = libplain.la libanonymous.la libkerberos4.la libcrammd5.la \
+ 	libgs2.la libgssapiv2.la libdigestmd5.la liblogin.la libsrp.la libotp.la \
+-- 
+1.7.4.1
+
-- 
1.7.10.4



^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [meta-networking][PATCH] cyrus-sasl: several fixes
  2013-07-19  6:29 [meta-networking][PATCH] cyrus-sasl: several fixes rongqing.li
@ 2013-07-19 15:21 ` Joe MacDonald
  0 siblings, 0 replies; 2+ messages in thread
From: Joe MacDonald @ 2013-07-19 15:21 UTC (permalink / raw)
  To: rongqing.li; +Cc: openembedded-devel

[-- Attachment #1: Type: text/plain, Size: 5107 bytes --]

Merged, thanks.
-J.

[[meta-networking][PATCH] cyrus-sasl: several fixes] On 13.07.19 (Fri 14:29) rongqing.li@windriver.com wrote:

> From: "Roy.Li" <rongqing.li@windriver.com>
> 
> 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>
> ---
>  .../cyrus-sasl/cyrus-sasl_2.1.26.bb                |   31 ++++++++++++++++----
>  .../cyrus-sasl/files/Fix-hardcoded-libdir.patch    |   25 ++++++++++++++++
>  2 files changed, 51 insertions(+), 5 deletions(-)
>  create mode 100644 meta-networking/recipes-daemons/cyrus-sasl/files/Fix-hardcoded-libdir.patch
> 
> 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 4311540..d8cb3d9 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"
>  LIC_FILES_CHKSUM = "file://COPYING;md5=3f55e0974e3d6db00ca6f57f2d206396"
>  
>  SRC_URI = "ftp://ftp.cyrusimap.org/cyrus-sasl/cyrus-sasl-${PV}.tar.gz \
> -	   file://avoid-to-call-AC_TRY_RUN.patch"
> +	   file://avoid-to-call-AC_TRY_RUN.patch \
> +	   file://Fix-hardcoded-libdir.patch" 
>  
> -inherit autotools pkgconfig
> +inherit autotools pkgconfig useradd
>  
>  EXTRA_OECONF += "--with-dblib=berkeley \
>                   --with-bdb-libdir=${STAGING_LIBDIR} \
>                   --with-bdb-incdir=${STAGING_INCDIR} \
> -                 --without-pam --without-opie --without-des \
> +                 --with-bdb=db-5.3 \
> +                 --with-plugindir="${libdir}/sasl2/" \
>                   andrew_cv_runpath_switch=none"
>  
> -PACKAGECONFIG ??= ""
> +PACKAGECONFIG ??= "ntlm \
> +        ${@base_contains('DISTRO_FEATURES', 'ldap', 'ldap', '', d)} \
> +        ${@base_contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \
> +        "
>  PACKAGECONFIG[gssapi] = "--enable-gssapi=yes,--enable-gssapi=no,krb5,"
> +PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam,"
> +PACKAGECONFIG[opie] = "--with-opie,--without-opie,opie,"
> +PACKAGECONFIG[des] = "--with-des,--without-des,,"
> +PACKAGECONFIG[ldap] = "--with-ldap=${STAGING_LIBDIR} --enable-ldapdb,--without-ldap --disable-ldapdb,openldap,"
> +PACKAGECONFIG[ntlm] = "--with-ntlm,--without-ntlm,,"
> +
> +CFLAGS += "-fPIC"
>  
>  do_configure_prepend () {
>      rm -f acinclude.m4 config/libtool.m4
> +
> +    # make it be able to work with db 5.0 version
> +    local sed_files="sasldb/db_berkeley.c utils/dbconverter-2.c"
> +    for sed_file in $sed_files; do
> +        sed -i 's#DB_VERSION_MAJOR == 4.*#(&) || DB_VERSION_MAJOR == 5#' $sed_file
> +    done
>  }
>  
>  do_compile_prepend () {
> @@ -29,8 +47,11 @@ do_compile_prepend () {
>      cd ..
>  }
>  
> +USERADD_PACKAGES = "${PN}-bin"
> +GROUPADD_PARAM_${PN}-bin = "--system mail"
> +USERADD_PARAM_${PN}-bin = "--system --home=/var/spool/mail -g mail cyrus"
> +
>  pkg_postinst_${PN}-bin () {
> -    grep cyrus /etc/passwd || adduser --disabled-password --home=/var/spool/mail --ingroup mail -g "Cyrus sasl" cyrus
>      echo "cyrus" | saslpasswd2 -p -c cyrus
>      chgrp mail /etc/sasldb2
>  }
> 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 0000000..3fa8431
> --- /dev/null
> +++ b/meta-networking/recipes-daemons/cyrus-sasl/files/Fix-hardcoded-libdir.patch
> @@ -0,0 +1,25 @@
> +Fix hardcoded libdir.
> +
> +Upstream-Status: Pending 
> +
> +Signed-off-by: Roy.Li <rongqing.li@windriver.com>
> +---
> + plugins/Makefile.am |    2 +-
> + 1 files changed, 1 insertions(+), 1 deletions(-)
> +
> +diff --git a/plugins/Makefile.am b/plugins/Makefile.am
> +index b00915f..25262a1 100644
> +--- a/plugins/Makefile.am
> ++++ b/plugins/Makefile.am
> +@@ -62,7 +62,7 @@ plugindir = @plugindir@
> + 
> + common_sources = plugin_common.c plugin_common.h
> + 
> +-sasldir = $(prefix)/lib/sasl2
> ++sasldir = $(libdir)/sasl2
> + sasl_LTLIBRARIES = @SASL_MECHS@
> + EXTRA_LTLIBRARIES = libplain.la libanonymous.la libkerberos4.la libcrammd5.la \
> + 	libgs2.la libgssapiv2.la libdigestmd5.la liblogin.la libsrp.la libotp.la \
> +-- 
> +1.7.4.1
> +
-- 
-Joe MacDonald.
:wq

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 205 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2013-07-19 15:21 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-07-19  6:29 [meta-networking][PATCH] cyrus-sasl: several fixes rongqing.li
2013-07-19 15:21 ` Joe MacDonald

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.