All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] Build bind with threads
@ 2017-05-19  8:52 kai.kang
  2017-05-19  8:52 ` [PATCH 1/2] bind: build with threads and update configure options kai.kang
  2017-05-19  8:52 ` [PATCH 2/2] dhcp: build shared libraries kai.kang
  0 siblings, 2 replies; 11+ messages in thread
From: kai.kang @ 2017-05-19  8:52 UTC (permalink / raw)
  To: ross.burton; +Cc: openembedded-core

From: Kai Kang <kai.kang@windriver.com>

The following changes since commit ef506f58da3a95fba2696df749b2b81f9c118847:

  cve-check-tool: backport a patch to make CVE checking work (2017-05-18 14:01:48 +0100)

are available in the git repository at:

  git://git.pokylinux.org/poky-contrib kangkai/bind
  http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=kangkai/bind

Kai Kang (2):
  bind: build with threads and update configure options
  dhcp: build shared libraries

 .../bind/bind/generate-rndc-key.sh                 |   1 +
 meta/recipes-connectivity/bind/bind_9.10.3-P3.bb   |  10 +-
 meta/recipes-connectivity/dhcp/dhcp.inc            |   6 +-
 .../dhcp/dhcp/build-shared-libs.patch              | 186 +++++++++++++++++++++
 meta/recipes-connectivity/dhcp/dhcp_4.3.5.bb       |   1 +
 5 files changed, 200 insertions(+), 4 deletions(-)
 create mode 100644 meta/recipes-connectivity/dhcp/dhcp/build-shared-libs.patch

-- 
2.10.1



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

* [PATCH 1/2] bind: build with threads and update configure options
  2017-05-19  8:52 [PATCH 0/2] Build bind with threads kai.kang
@ 2017-05-19  8:52 ` kai.kang
  2017-05-19 11:47   ` Burton, Ross
  2017-11-16 11:50   ` André Draszik
  2017-05-19  8:52 ` [PATCH 2/2] dhcp: build shared libraries kai.kang
  1 sibling, 2 replies; 11+ messages in thread
From: kai.kang @ 2017-05-19  8:52 UTC (permalink / raw)
  To: ross.burton; +Cc: openembedded-core

From: Kai Kang <kai.kang@windriver.com>

Build without threads for bind is inherited from legacy openembedded.
All libc's support proper threading on Linux now, so enable threads
support for bind.

It is also need to disable static library build which cause package dhcp
fail to build after enable bind threads support.

Options devpoll and epoll are configured to choose most preferable
multiplex method for unix socket. The priorities are: epoll > poll >
select. When set '--enable-epoll', it just defines a var and include
header file that is available for cross compile. So use epoll for bind.

Add PACKAGECONFIG 'urandom' that could use /dev/urandom as random device.

Update file/directory ownerships to fix daemon start failure.

Signed-off-by: Kai Kang <kai.kang@windriver.com>
---
 meta/recipes-connectivity/bind/bind/generate-rndc-key.sh |  1 +
 meta/recipes-connectivity/bind/bind_9.10.3-P3.bb         | 10 ++++++++--
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-connectivity/bind/bind/generate-rndc-key.sh b/meta/recipes-connectivity/bind/bind/generate-rndc-key.sh
index db20127..ef915c0 100644
--- a/meta/recipes-connectivity/bind/bind/generate-rndc-key.sh
+++ b/meta/recipes-connectivity/bind/bind/generate-rndc-key.sh
@@ -3,5 +3,6 @@
 if [ ! -s /etc/bind/rndc.key ]; then
     echo -n "Generating /etc/bind/rndc.key:"
     /usr/sbin/rndc-confgen -a -b 512 -r /dev/urandom
+    chown root:bind /etc/bind/rndc.key
     chmod 0640 /etc/bind/rndc.key
 fi
diff --git a/meta/recipes-connectivity/bind/bind_9.10.3-P3.bb b/meta/recipes-connectivity/bind/bind_9.10.3-P3.bb
index 18249f2..7eb79b0 100644
--- a/meta/recipes-connectivity/bind/bind_9.10.3-P3.bb
+++ b/meta/recipes-connectivity/bind/bind_9.10.3-P3.bb
@@ -38,8 +38,8 @@ SRC_URI[md5sum] = "bcf7e772b616f7259420a3edc5df350a"
 SRC_URI[sha256sum] = "690810d1fbb72afa629e74638d19cd44e28d2b2e5eb63f55c705ad85d1a4cb83"
 
 ENABLE_IPV6 = "--enable-ipv6=${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'yes', 'no', d)}"
-EXTRA_OECONF = " ${ENABLE_IPV6} --with-randomdev=/dev/random --disable-threads \
-                 --disable-devpoll --disable-epoll --with-gost=no \
+EXTRA_OECONF = " ${ENABLE_IPV6} --with-libtool --enable-threads \
+                 --disable-devpoll --enable-epoll --with-gost=no \
                  --with-gssapi=no --with-ecdsa=yes \
                  --sysconfdir=${sysconfdir}/bind \
                  --with-openssl=${STAGING_LIBDIR}/.. \
@@ -51,6 +51,7 @@ PACKAGECONFIG ?= "readline"
 PACKAGECONFIG[httpstats] = "--with-libxml2,--without-libxml2,libxml2"
 PACKAGECONFIG[readline] = "--with-readline=-lreadline,,readline"
 PACKAGECONFIG[libedit] = "--with-readline=-ledit,,libedit"
+PACKAGECONFIG[urandom] = "--with-randomdev=/dev/urandom,--with-randomdev=/dev/random,,"
 
 USERADD_PACKAGES = "${PN}"
 USERADD_PARAM_${PN} = "--system --home ${localstatedir}/cache/bind --no-create-home \
@@ -101,6 +102,11 @@ do_install_append() {
 
 	install -d ${D}${sysconfdir}/default
 	install -m 0644 ${WORKDIR}/bind9 ${D}${sysconfdir}/default
+
+	if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+		install -d ${D}${sysconfdir}/tmpfiles.d
+		echo "d /run/named 0755 bind bind - -" > ${D}${sysconfdir}/tmpfiles.d/bind.conf
+	fi
 }
 
 CONFFILES_${PN} = " \
-- 
2.10.1



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

* [PATCH 2/2] dhcp: build shared libraries
  2017-05-19  8:52 [PATCH 0/2] Build bind with threads kai.kang
  2017-05-19  8:52 ` [PATCH 1/2] bind: build with threads and update configure options kai.kang
@ 2017-05-19  8:52 ` kai.kang
  1 sibling, 0 replies; 11+ messages in thread
From: kai.kang @ 2017-05-19  8:52 UTC (permalink / raw)
  To: ross.burton; +Cc: openembedded-core

From: Kai Kang <kai.kang@windriver.com>

When enable bind threads support, it fails to compile dhcp:

| tmp/work/armv5e-poky-linux-gnueabi/bind/9.10.3-P3-r0/build/lib/isc/pthreads/../../../
| ../bind-9.10.3-P3/lib/isc/pthreads/thread.c:64: undefined reference to `pthread_create'

Enable build shared libraries for bind and dhcp to fix the build
failure. And the patch is ported from Fedora.

Add sub-package dhcp-libs to package shared libraries.

Signed-off-by: Kai Kang <kai.kang@windriver.com>
---
 meta/recipes-connectivity/dhcp/dhcp.inc            |   6 +-
 .../dhcp/dhcp/build-shared-libs.patch              | 186 +++++++++++++++++++++
 meta/recipes-connectivity/dhcp/dhcp_4.3.5.bb       |   1 +
 3 files changed, 191 insertions(+), 2 deletions(-)
 create mode 100644 meta/recipes-connectivity/dhcp/dhcp/build-shared-libs.patch

diff --git a/meta/recipes-connectivity/dhcp/dhcp.inc b/meta/recipes-connectivity/dhcp/dhcp.inc
index aafdd0a..969fdcb 100644
--- a/meta/recipes-connectivity/dhcp/dhcp.inc
+++ b/meta/recipes-connectivity/dhcp/dhcp.inc
@@ -46,7 +46,7 @@ EXTRA_OECONF = "--with-srv-lease-file=${localstatedir}/lib/dhcp/dhcpd.leases \
                 --with-cli-lease-file=${localstatedir}/lib/dhcp/dhclient.leases \
                 --with-cli6-lease-file=${localstatedir}/lib/dhcp/dhclient6.leases \
                 --with-libbind=${STAGING_LIBDIR}/ \
-                --enable-paranoia \
+                --enable-paranoia --disable-static \
                 --with-randomdev=/dev/random \
                "
 
@@ -82,12 +82,14 @@ do_install_append () {
        sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/dhcrelay.service
 }
 
-PACKAGES += "dhcp-server dhcp-server-config dhcp-client dhcp-relay dhcp-omshell"
+PACKAGES += "dhcp-libs dhcp-server dhcp-server-config dhcp-client dhcp-relay dhcp-omshell"
 
 FILES_${PN} = ""
 RDEPENDS_${PN}-dev = ""
 RDEPENDS_${PN}-staticdev = ""
 
+FILES_${PN}-libs = "${libdir}/libdhcpctl.so.0* ${libdir}/libomapi.so.0*"
+
 FILES_${PN}-server = "${sbindir}/dhcpd ${sysconfdir}/init.d/dhcp-server"
 RRECOMMENDS_${PN}-server = "dhcp-server-config"
 
diff --git a/meta/recipes-connectivity/dhcp/dhcp/build-shared-libs.patch b/meta/recipes-connectivity/dhcp/dhcp/build-shared-libs.patch
new file mode 100644
index 0000000..0b3d6e4
--- /dev/null
+++ b/meta/recipes-connectivity/dhcp/dhcp/build-shared-libs.patch
@@ -0,0 +1,186 @@
+Upstream-Status: Pending
+
+Port patches from Fedora to build shared libs rather than static libs.
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+diff --git a/client/Makefile.am b/client/Makefile.am
+index 84d8131..e776bf0 100644
+--- a/client/Makefile.am
++++ b/client/Makefile.am
+@@ -15,7 +15,7 @@ dhclient_SOURCES = $(srcdir)/clparse.c $(srcdir)/dhclient.c $(srcdir)/dhc6.c \
+ 		   scripts/bsdos scripts/freebsd scripts/linux scripts/macos \
+ 		   scripts/netbsd scripts/nextstep scripts/openbsd \
+ 		   scripts/solaris scripts/openwrt
+-dhclient_LDADD = ../common/libdhcp.a ../omapip/libomapi.a $(BINDLIBDIR)/libirs.a \
+-		 $(BINDLIBDIR)/libdns.a $(BINDLIBDIR)/libisccfg.a $(BINDLIBDIR)/libisc.a
++dhclient_LDADD = ../common/libdhcp.a ../omapip/libomapi.la \
++		  -L$(BINDLIBDIR) -lirs -ldns -lisccfg -lisc
+ man_MANS = dhclient.8 dhclient-script.8 dhclient.conf.5 dhclient.leases.5
+ EXTRA_DIST = $(man_MANS)
+diff --git a/common/tests/Makefile.am b/common/tests/Makefile.am
+index 05cd9c1..ab7a5a3 100644
+--- a/common/tests/Makefile.am
++++ b/common/tests/Makefile.am
+@@ -15,26 +15,23 @@ ATF_TESTS += alloc_unittest dns_unittest misc_unittest ns_name_unittest
+ alloc_unittest_SOURCES = test_alloc.c $(top_srcdir)/tests/t_api_dhcp.c
+ alloc_unittest_LDADD = $(ATF_LDFLAGS)
+ alloc_unittest_LDADD += ../libdhcp.a  \
+-	../../omapip/libomapi.a $(BINDLIBDIR)/libirs.a \
+-	$(BINDLIBDIR)/libdns.a $(BINDLIBDIR)/libisccfg.a  $(BINDLIBDIR)/libisc.a
++	../../omapip/libomapi.la -L$(BINDLIBDIR) -ldns -lisccfg -lisc
+ 
+ dns_unittest_SOURCES = dns_unittest.c $(top_srcdir)/tests/t_api_dhcp.c
+ dns_unittest_LDADD = $(ATF_LDFLAGS)
+ dns_unittest_LDADD += ../libdhcp.a  \
+-	../../omapip/libomapi.a $(BINDLIBDIR)/libirs.a \
+-	$(BINDLIBDIR)/libdns.a $(BINDLIBDIR)/libisccfg.a  $(BINDLIBDIR)/libisc.a
++	../../omapip/libomapi.la -L$(BINDLIBDIR) -ldns -lisccfg -lisc
+ 
+ misc_unittest_SOURCES = misc_unittest.c $(top_srcdir)/tests/t_api_dhcp.c
+ misc_unittest_LDADD = $(ATF_LDFLAGS)
+ misc_unittest_LDADD += ../libdhcp.a  \
+-	../../omapip/libomapi.a $(BINDLIBDIR)/libirs.a \
+-	$(BINDLIBDIR)/libdns.a $(BINDLIBDIR)/libisccfg.a  $(BINDLIBDIR)/libisc.a
++	../../omapip/libomapi.la -L$(BINDLIBDIR) -ldns -lisccfg -lisc
+ 
+ ns_name_unittest_SOURCES = ns_name_test.c $(top_srcdir)/tests/t_api_dhcp.c
+ ns_name_unittest_LDADD = $(ATF_LDFLAGS)
+ ns_name_unittest_LDADD += ../libdhcp.a  \
+-	../../omapip/libomapi.a $(BINDLIBDIR)/libirs.a \
+-	$(BINDLIBDIR)/libdns.a $(BINDLIBDIR)/libisccfg.a  $(BINDLIBDIR)/libisc.a
++	../../omapip/libomapi.a -L$(BINDLIBDIR) \
++	-ldns -lisccfg -lisc
+ 
+ check: $(ATF_TESTS)
+ 	-cp -n $(top_srcdir)/common/tests/Atffile Atffile
+diff --git a/configure.ac b/configure.ac
+index 1684df1..dadc3f1 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -47,16 +47,8 @@ AM_CONDITIONAL(CROSS_COMPILING, test "$cross_compiling" = "yes")
+ # Use this to define _GNU_SOURCE to pull in the IPv6 Advanced Socket API.
+ AC_USE_SYSTEM_EXTENSIONS
+ 
+-AC_PROG_RANLIB
+-
+-AC_PATH_PROG(AR, ar)
+-AC_SUBST(AR)
+-
+-if test "X$AR" = "X"; then
+-	AC_MSG_ERROR([
+-ar program not found.  Please fix your PATH to include the directory in
+-which ar resides, or set AR in the environment with the full path to ar.])
+-fi
++# Use libtool to simplify building of shared libraries
++AC_PROG_LIBTOOL
+ 
+ AC_CONFIG_HEADERS([includes/config.h])
+ 
+diff --git a/dhcpctl/Makefile.am b/dhcpctl/Makefile.am
+index 9b2486e..784cdf7 100644
+--- a/dhcpctl/Makefile.am
++++ b/dhcpctl/Makefile.am
+@@ -3,19 +3,17 @@ BINDLIBDIR = @BINDDIR@
+ AM_CPPFLAGS = -I$(top_srcdir)/includes -I$(top_srcdir)
+ 
+ bin_PROGRAMS = omshell
+-lib_LIBRARIES = libdhcpctl.a
++lib_LTLIBRARIES = libdhcpctl.la
+ noinst_PROGRAMS = cltest
+ man_MANS = omshell.1 dhcpctl.3
+ EXTRA_DIST = $(man_MANS)
+ 
+ omshell_SOURCES = omshell.c
+-omshell_LDADD = libdhcpctl.a ../common/libdhcp.a ../omapip/libomapi.a \
+-	        $(BINDLIBDIR)/libirs.a $(BINDLIBDIR)/libdns.a \
+-	        $(BINDLIBDIR)/libisccfg.a $(BINDLIBDIR)/libisc.a
++omshell_LDADD = libdhcpctl.la ../common/libdhcp.a ../omapip/libomapi.la \
++	        -L$(BINDLIBDIR) -lirs -ldns -lisccfg -lisc
+ 
+-libdhcpctl_a_SOURCES = dhcpctl.c callback.c remote.c
++libdhcpctl_la_SOURCES = dhcpctl.c callback.c remote.c
+ 
+ cltest_SOURCES = cltest.c
+-cltest_LDADD = libdhcpctl.a ../common/libdhcp.a ../omapip/libomapi.a \
+-	       $(BINDLIBDIR)/libirs.a $(BINDLIBDIR)/libdns.a \
+-               $(BINDLIBDIR)/libisccfg.a $(BINDLIBDIR)/libisc.a
++cltest_LDADD = libdhcpctl.la ../common/libdhcp.a ../omapip/libomapi.la \
++	       -L$(BINDLIBDIR) -lirs -ldns -lisccfg -lisc
+diff --git a/omapip/Makefile.am b/omapip/Makefile.am
+index e4a8599..c0c7a1e 100644
+--- a/omapip/Makefile.am
++++ b/omapip/Makefile.am
+@@ -1,10 +1,10 @@
+ BINDLIBDIR = @BINDDIR@
+ AM_CPPFLAGS = -I$(top_srcdir)/includes
+ 
+-lib_LIBRARIES = libomapi.a
++lib_LTLIBRARIES = libomapi.la
+ noinst_PROGRAMS = svtest
+ 
+-libomapi_a_SOURCES = protocol.c buffer.c alloc.c result.c connection.c \
++libomapi_la_SOURCES = protocol.c buffer.c alloc.c result.c connection.c \
+ 		     errwarn.c listener.c dispatch.c generic.c support.c \
+ 		     handle.c message.c convert.c hash.c auth.c inet_addr.c \
+ 		     array.c trace.c toisc.c iscprint.c isclib.c
+@@ -13,6 +13,5 @@ man_MANS = omapi.3
+ EXTRA_DIST = $(man_MANS)
+ 
+ svtest_SOURCES = test.c
+-svtest_LDADD = libomapi.a $(BINDLIBDIR)/libirs.a $(BINDLIBDIR)/libdns.a \
+-		$(BINDLIBDIR)/libisccfg.a $(BINDLIBDIR)/libisc.a
++svtest_LDADD = libomapi.la -L$(BINDLIBDIR) -lirs -ldns -lisccfg -lisc
+ 
+diff --git a/relay/Makefile.am b/relay/Makefile.am
+index b3bf578..f47009f 100644
+--- a/relay/Makefile.am
++++ b/relay/Makefile.am
+@@ -4,9 +4,8 @@ AM_CPPFLAGS = -DLOCALSTATEDIR='"@localstatedir@"' -I$(top_srcdir)/includes
+ 
+ sbin_PROGRAMS = dhcrelay
+ dhcrelay_SOURCES = dhcrelay.c
+-dhcrelay_LDADD = ../common/libdhcp.a ../omapip/libomapi.a \
+-		 $(BINDLIBDIR)/libirs.a $(BINDLIBDIR)/libdns.a \
+-		 $(BINDLIBDIR)/libisccfg.a $(BINDLIBDIR)/libisc.a
++dhcrelay_LDADD = ../common/libdhcp.a ../omapip/libomapi.la \
++		 -L$(BINDLIBDIR) -lirs -ldns -lisccfg -lisc
+ man_MANS = dhcrelay.8
+ EXTRA_DIST = $(man_MANS)
+ 
+diff --git a/server/Makefile.am b/server/Makefile.am
+index b5d8c2d..d7f876d 100644
+--- a/server/Makefile.am
++++ b/server/Makefile.am
+@@ -15,10 +15,9 @@ dhcpd_SOURCES = dhcpd.c dhcp.c bootp.c confpars.c db.c class.c failover.c \
+ 		dhcpv6.c mdb6.c ldap.c ldap_casa.c leasechain.c ldap_krb_helper.c
+ 
+ dhcpd_CFLAGS = $(LDAP_CFLAGS)
+-dhcpd_LDADD = ../common/libdhcp.a ../omapip/libomapi.a \
+-	      ../dhcpctl/libdhcpctl.a $(BINDLIBDIR)/libirs.a \
+-	      $(BINDLIBDIR)/libdns.a $(BINDLIBDIR)/libisccfg.a \
+-	      $(BINDLIBDIR)/libisc.a $(LDAP_LIBS)
++dhcpd_LDADD = ../common/libdhcp.a ../omapip/libomapi.la \
++	      ../dhcpctl/libdhcpctl.la -L$(BINDLIBDIR) \
++	      -lirs -ldns -lisccfg -lisc $(LDAP_LIBS)
+ 
+ man_MANS = dhcpd.8 dhcpd.conf.5 dhcpd.leases.5
+ EXTRA_DIST = $(man_MANS)
+diff --git a/server/tests/Makefile.am b/server/tests/Makefile.am
+index 2892309..056978b 100644
+--- a/server/tests/Makefile.am
++++ b/server/tests/Makefile.am
+@@ -19,10 +19,9 @@ DHCPSRC = ../dhcp.c ../bootp.c ../confpars.c ../db.c ../class.c      \
+           ../ddns.c ../dhcpleasequery.c ../dhcpv6.c ../mdb6.c        \
+           ../ldap.c ../ldap_casa.c ../dhcpd.c ../leasechain.c
+ 
+-DHCPLIBS = $(top_builddir)/common/libdhcp.a $(top_builddir)/omapip/libomapi.a \
+-          $(top_builddir)/dhcpctl/libdhcpctl.a $(BINDLIBDIR)/libirs.a \
+-	  $(BINDLIBDIR)/libdns.a $(BINDLIBDIR)/libisccfg.a \
+-	  $(BINDLIBDIR)/libisc.a
++DHCPLIBS = $(top_builddir)/common/libdhcp.a $(top_builddir)/omapip/libomapi.la \
++          $(top_builddir)/dhcpctl/libdhcpctl.la \
++          -L$(BINDLIBDIR) -lirs -ldns -lisccfg -lisc
+ 
+ ATF_TESTS =
+ if HAVE_ATF
diff --git a/meta/recipes-connectivity/dhcp/dhcp_4.3.5.bb b/meta/recipes-connectivity/dhcp/dhcp_4.3.5.bb
index 678c29a..0a73ecc 100644
--- a/meta/recipes-connectivity/dhcp/dhcp_4.3.5.bb
+++ b/meta/recipes-connectivity/dhcp/dhcp_4.3.5.bb
@@ -9,6 +9,7 @@ SRC_URI += "file://dhcp-3.0.3-dhclient-dbus.patch;striplevel=0 \
             file://libxml2-configure-argument.patch \
             file://tweak-to-support-external-bind.patch \
             file://remove-dhclient-script-bash-dependency.patch \
+            file://build-shared-libs.patch \
            "
 
 SRC_URI[md5sum] = "2b5e5b2fa31c2e27e487039d86f83d3f"
-- 
2.10.1



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

* Re: [PATCH 1/2] bind: build with threads and update configure options
  2017-05-19  8:52 ` [PATCH 1/2] bind: build with threads and update configure options kai.kang
@ 2017-05-19 11:47   ` Burton, Ross
  2017-05-23  9:58     ` Kang Kai
  2017-11-16 11:50   ` André Draszik
  1 sibling, 1 reply; 11+ messages in thread
From: Burton, Ross @ 2017-05-19 11:47 UTC (permalink / raw)
  To: Kang Kai; +Cc: OE-core

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

On 19 May 2017 at 09:52, <kai.kang@windriver.com> wrote:

> Build without threads for bind is inherited from legacy openembedded.
> All libc's support proper threading on Linux now, so enable threads
> support for bind.
>
> It is also need to disable static library build which cause package dhcp
> fail to build after enable bind threads support.
>
> Options devpoll and epoll are configured to choose most preferable
> multiplex method for unix socket. The priorities are: epoll > poll >
> select. When set '--enable-epoll', it just defines a var and include
> header file that is available for cross compile. So use epoll for bind.
>
> Add PACKAGECONFIG 'urandom' that could use /dev/urandom as random device.
>
> Update file/directory ownerships to fix daemon start failure.
>

This is changing more than documented:

packages/corei7-64-poky-linux/bind/bind-utils: RDEPENDS: removed "libcrypto
(['>= 1.0.2k'])", added "bind (['>= 9.10.3-P3'])"

(and dhcp has the same dropping of libcrypto)

Is this intentional?

Ross

[-- Attachment #2: Type: text/html, Size: 1952 bytes --]

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

* Re: [PATCH 1/2] bind: build with threads and update configure options
  2017-05-19 11:47   ` Burton, Ross
@ 2017-05-23  9:58     ` Kang Kai
  2017-05-27  3:24       ` Kang Kai
  0 siblings, 1 reply; 11+ messages in thread
From: Kang Kai @ 2017-05-23  9:58 UTC (permalink / raw)
  To: Burton, Ross; +Cc: OE-core

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

On 2017年05月19日 19:47, Burton, Ross wrote:
>
> On 19 May 2017 at 09:52, <kai.kang@windriver.com 
> <mailto:kai.kang@windriver.com>> wrote:
>
>     Build without threads for bind is inherited from legacy openembedded.
>     All libc's support proper threading on Linux now, so enable threads
>     support for bind.
>
>     It is also need to disable static library build which cause
>     package dhcp
>     fail to build after enable bind threads support.
>
>     Options devpoll and epoll are configured to choose most preferable
>     multiplex method for unix socket. The priorities are: epoll > poll >
>     select. When set '--enable-epoll', it just defines a var and include
>     header file that is available for cross compile. So use epoll for
>     bind.
>
>     Add PACKAGECONFIG 'urandom' that could use /dev/urandom as random
>     device.
>
>     Update file/directory ownerships to fix daemon start failure.
>
>
> This is changing more than documented:
>
> packages/corei7-64-poky-linux/bind/bind-utils: RDEPENDS: removed 
> "libcrypto (['>= 1.0.2k'])", added "bind (['>= 9.10.3-P3'])"

It is a problem and I am still working to figure it out.

Thanks,
Kai

>
> (and dhcp has the same dropping of libcrypto)
>
> Is this intentional?
>
> Ross


-- 
Regards,
Neil | Kai Kang


[-- Attachment #2: Type: text/html, Size: 3539 bytes --]

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

* Re: [PATCH 1/2] bind: build with threads and update configure options
  2017-05-23  9:58     ` Kang Kai
@ 2017-05-27  3:24       ` Kang Kai
  2017-11-16 10:27         ` Andre McCurdy
  0 siblings, 1 reply; 11+ messages in thread
From: Kang Kai @ 2017-05-27  3:24 UTC (permalink / raw)
  To: Burton, Ross; +Cc: OE-core

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

On 2017年05月23日 17:58, Kang Kai wrote:
> On 2017年05月19日 19:47, Burton, Ross wrote:
>>
>> On 19 May 2017 at 09:52, <kai.kang@windriver.com 
>> <mailto:kai.kang@windriver.com>> wrote:
>>
>>     Build without threads for bind is inherited from legacy openembedded.
>>     All libc's support proper threading on Linux now, so enable threads
>>     support for bind.
>>
>>     It is also need to disable static library build which cause
>>     package dhcp
>>     fail to build after enable bind threads support.
>>
>>     Options devpoll and epoll are configured to choose most preferable
>>     multiplex method for unix socket. The priorities are: epoll > poll >
>>     select. When set '--enable-epoll', it just defines a var and include
>>     header file that is available for cross compile. So use epoll for
>>     bind.
>>
>>     Add PACKAGECONFIG 'urandom' that could use /dev/urandom as random
>>     device.
>>
>>     Update file/directory ownerships to fix daemon start failure.
>>
>>
>> This is changing more than documented:
>>
>> packages/corei7-64-poky-linux/bind/bind-utils: RDEPENDS: removed 
>> "libcrypto (['>= 1.0.2k'])", added "bind (['>= 9.10.3-P3'])"

Hi Ross,

Sorry for late reply.

Before this patch, bind is static built.  So the 2 elf files "dig and 
host" in sub-packages bind-utils pack the libraries which require 
libcrypto from package bind itself.
So bind-utils only depends on libcrypto but does not require bind.

When build dynamically, all the functions which require libcrypto are 
packages into dynamic libraries. And these libraries are packaged into 
bind. That cause bind
depends on librypto and bind-utils depends on bind.

dhcp has the similar reason.


Regards,
Kai


>
> It is a problem and I am still working to figure it out.
>
> Thanks,
> Kai
>
>>
>> (and dhcp has the same dropping of libcrypto)
>>
>> Is this intentional?
>>
>> Ross
>
>
> -- 
> Regards,
> Neil | Kai Kang


-- 
Regards,
Neil | Kai Kang


[-- Attachment #2: Type: text/html, Size: 5054 bytes --]

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

* Re: [PATCH 1/2] bind: build with threads and update configure options
  2017-05-27  3:24       ` Kang Kai
@ 2017-11-16 10:27         ` Andre McCurdy
  2017-11-17  1:46           ` Kang Kai
  0 siblings, 1 reply; 11+ messages in thread
From: Andre McCurdy @ 2017-11-16 10:27 UTC (permalink / raw)
  To: Kang Kai; +Cc: OE-core

On Fri, May 26, 2017 at 8:24 PM, Kang Kai <Kai.Kang@windriver.com> wrote:
> On 2017年05月23日 17:58, Kang Kai wrote:
> On 2017年05月19日 19:47, Burton, Ross wrote:
> On 19 May 2017 at 09:52, <kai.kang@windriver.com> wrote:
>>
>> Build without threads for bind is inherited from legacy openembedded.
>> All libc's support proper threading on Linux now, so enable threads
>> support for bind.
>>
>> It is also need to disable static library build which cause package dhcp
>> fail to build after enable bind threads support.

It seems this change was made without taking into account the advice given in:

  http://git.openembedded.org/openembedded-core/commit/?id=f28757a4b89447ea528cba987f0396b92aa0bbfe

"If and when we ship bind's shared libraries we should ensure that the
libraries go into a separate package."

In rocko builds I see "named" running on port 53 and dnsmasq fails to start...

>> Options devpoll and epoll are configured to choose most preferable
>> multiplex method for unix socket. The priorities are: epoll > poll >
>> select. When set '--enable-epoll', it just defines a var and include
>> header file that is available for cross compile. So use epoll for bind.
>>
>> Add PACKAGECONFIG 'urandom' that could use /dev/urandom as random device.
>>
>> Update file/directory ownerships to fix daemon start failure.
>


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

* Re: [PATCH 1/2] bind: build with threads and update configure options
  2017-05-19  8:52 ` [PATCH 1/2] bind: build with threads and update configure options kai.kang
  2017-05-19 11:47   ` Burton, Ross
@ 2017-11-16 11:50   ` André Draszik
  1 sibling, 0 replies; 11+ messages in thread
From: André Draszik @ 2017-11-16 11:50 UTC (permalink / raw)
  To: openembedded-core

On Fri, 2017-05-19 at 16:52 +0800, kai.kang@windriver.com wrote:
> From: Kai Kang <kai.kang@windriver.com>
> 
> Build without threads for bind is inherited from legacy openembedded.
> All libc's support proper threading on Linux now, so enable threads
> support for bind.
> 
> It is also need to disable static library build which cause package dhcp
> fail to build after enable bind threads support.
> 
> Options devpoll and epoll are configured to choose most preferable
> multiplex method for unix socket. The priorities are: epoll > poll >
> select. When set '--enable-epoll', it just defines a var and include
> header file that is available for cross compile. So use epoll for bind.
> 
> Add PACKAGECONFIG 'urandom' that could use /dev/urandom as random device.

I'd say using /dev/urandom should also be made the default.

Cheers,
Andre'



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

* Re: [PATCH 1/2] bind: build with threads and update configure options
  2017-11-16 10:27         ` Andre McCurdy
@ 2017-11-17  1:46           ` Kang Kai
  2017-11-20  6:56             ` Kang Kai
  0 siblings, 1 reply; 11+ messages in thread
From: Kang Kai @ 2017-11-17  1:46 UTC (permalink / raw)
  To: Andre McCurdy; +Cc: OE-core

On 2017年11月16日 18:27, Andre McCurdy wrote:
> On Fri, May 26, 2017 at 8:24 PM, Kang Kai <Kai.Kang@windriver.com> wrote:
>> On 2017年05月23日 17:58, Kang Kai wrote:
>> On 2017年05月19日 19:47, Burton, Ross wrote:
>> On 19 May 2017 at 09:52, <kai.kang@windriver.com> wrote:
>>> Build without threads for bind is inherited from legacy openembedded.
>>> All libc's support proper threading on Linux now, so enable threads
>>> support for bind.
>>>
>>> It is also need to disable static library build which cause package dhcp
>>> fail to build after enable bind threads support.
> It seems this change was made without taking into account the advice given in:
>
>    http://git.openembedded.org/openembedded-core/commit/?id=f28757a4b89447ea528cba987f0396b92aa0bbfe
>
> "If and when we ship bind's shared libraries we should ensure that the
> libraries go into a separate package."
>
> In rocko builds I see "named" running on port 53 and dnsmasq fails to start...

Thanks. I'll check that.

--Kai

>
>>> Options devpoll and epoll are configured to choose most preferable
>>> multiplex method for unix socket. The priorities are: epoll > poll >
>>> select. When set '--enable-epoll', it just defines a var and include
>>> header file that is available for cross compile. So use epoll for bind.
>>>
>>> Add PACKAGECONFIG 'urandom' that could use /dev/urandom as random device.
>>>
>>> Update file/directory ownerships to fix daemon start failure.


-- 
Regards,
Neil | Kai Kang



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

* Re: [PATCH 1/2] bind: build with threads and update configure options
  2017-11-17  1:46           ` Kang Kai
@ 2017-11-20  6:56             ` Kang Kai
  2017-11-21  3:27               ` Andre McCurdy
  0 siblings, 1 reply; 11+ messages in thread
From: Kang Kai @ 2017-11-20  6:56 UTC (permalink / raw)
  To: Andre McCurdy; +Cc: OE-core

On 2017年11月17日 09:46, Kang Kai wrote:
> On 2017年11月16日 18:27, Andre McCurdy wrote:
>> On Fri, May 26, 2017 at 8:24 PM, Kang Kai <Kai.Kang@windriver.com> 
>> wrote:
>>> On 2017年05月23日 17:58, Kang Kai wrote:
>>> On 2017年05月19日 19:47, Burton, Ross wrote:
>>> On 19 May 2017 at 09:52, <kai.kang@windriver.com> wrote:
>>>> Build without threads for bind is inherited from legacy openembedded.
>>>> All libc's support proper threading on Linux now, so enable threads
>>>> support for bind.
>>>>
>>>> It is also need to disable static library build which cause package 
>>>> dhcp
>>>> fail to build after enable bind threads support.
>> It seems this change was made without taking into account the advice 
>> given in:
>>
>> http://git.openembedded.org/openembedded-core/commit/?id=f28757a4b89447ea528cba987f0396b92aa0bbfe
>>
>> "If and when we ship bind's shared libraries we should ensure that the
>> libraries go into a separate package."

Libraries are packaged to bind-libs which has been created by :

http://git.openembedded.org/openembedded-core/commit/?id=d74ebc91388941295a2321a295cdb06ee87fc38b


Regards,
Kai

>>
>> In rocko builds I see "named" running on port 53 and dnsmasq fails to 
>> start...
>
> Thanks. I'll check that.
>
> --Kai
>
>>
>>>> Options devpoll and epoll are configured to choose most preferable
>>>> multiplex method for unix socket. The priorities are: epoll > poll >
>>>> select. When set '--enable-epoll', it just defines a var and include
>>>> header file that is available for cross compile. So use epoll for 
>>>> bind.
>>>>
>>>> Add PACKAGECONFIG 'urandom' that could use /dev/urandom as random 
>>>> device.
>>>>
>>>> Update file/directory ownerships to fix daemon start failure.
>
>

-- 
Regards,
Neil | Kai Kang



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

* Re: [PATCH 1/2] bind: build with threads and update configure options
  2017-11-20  6:56             ` Kang Kai
@ 2017-11-21  3:27               ` Andre McCurdy
  0 siblings, 0 replies; 11+ messages in thread
From: Andre McCurdy @ 2017-11-21  3:27 UTC (permalink / raw)
  To: Kang Kai; +Cc: OE-core

On Sun, Nov 19, 2017 at 10:56 PM, Kang Kai <Kai.Kang@windriver.com> wrote:
> On 2017年11月17日 09:46, Kang Kai wrote:
>> On 2017年11月16日 18:27, Andre McCurdy wrote:
>>> On Fri, May 26, 2017 at 8:24 PM, Kang Kai <Kai.Kang@windriver.com> wrote:
>>>> On 2017年05月23日 17:58, Kang Kai wrote:
>>>> On 2017年05月19日 19:47, Burton, Ross wrote:
>>>> On 19 May 2017 at 09:52, <kai.kang@windriver.com> wrote:
>>>>>
>>>>> Build without threads for bind is inherited from legacy openembedded.
>>>>> All libc's support proper threading on Linux now, so enable threads
>>>>> support for bind.
>>>>>
>>>>> It is also need to disable static library build which cause package
>>>>> dhcp
>>>>> fail to build after enable bind threads support.
>>>
>>> It seems this change was made without taking into account the advice
>>> given in:
>>>
>>> http://git.openembedded.org/openembedded-core/commit/?id=f28757a4b89447ea528cba987f0396b92aa0bbfe
>>>
>>> "If and when we ship bind's shared libraries we should ensure that the
>>> libraries go into a separate package."
>
> Libraries are packaged to bind-libs which has been created by :
>
> http://git.openembedded.org/openembedded-core/commit/?id=d74ebc91388941295a2321a295cdb06ee87fc38b
>

Looks good. Hopefully it gets pulled into rocko soon.


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

end of thread, other threads:[~2017-11-21  3:27 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-19  8:52 [PATCH 0/2] Build bind with threads kai.kang
2017-05-19  8:52 ` [PATCH 1/2] bind: build with threads and update configure options kai.kang
2017-05-19 11:47   ` Burton, Ross
2017-05-23  9:58     ` Kang Kai
2017-05-27  3:24       ` Kang Kai
2017-11-16 10:27         ` Andre McCurdy
2017-11-17  1:46           ` Kang Kai
2017-11-20  6:56             ` Kang Kai
2017-11-21  3:27               ` Andre McCurdy
2017-11-16 11:50   ` André Draszik
2017-05-19  8:52 ` [PATCH 2/2] dhcp: build shared libraries kai.kang

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.