* [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
* 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-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
* 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
* [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
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.