diff mbox

[4/6] ntp: fix missing optional dependencies

Message ID 20161114132238.6569-5-jezz@sysmic.org
State Accepted
Headers show

Commit Message

Jérôme Pouiller Nov. 14, 2016, 1:22 p.m. UTC
ntpq and ntpdc may depends on libedit and libcap.

$ arm-linux-readelf -d ./usr/bin/ntpdc | grep NEEDED
 0x00000001 (NEEDED)                     Shared library: [libcap.so.2]
 0x00000001 (NEEDED)                     Shared library: [libm.so.6]
 0x00000001 (NEEDED)                     Shared library: [libedit.so.0]
 0x00000001 (NEEDED)                     Shared library: [libncursesw.so.6]
 0x00000001 (NEEDED)                     Shared library: [libssl.so.1.0.0]
 0x00000001 (NEEDED)                     Shared library: [libcrypto.so.1.0.0]
 0x00000001 (NEEDED)                     Shared library: [libpthread.so.0]
 0x00000001 (NEEDED)                     Shared library: [libc.so.6]

However, build order with these libraries is not defined.

In order to keep things simple, we enforce build order even if ntpq/ntpdc are
not selected.

Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
---
 package/ntp/ntp.mk | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

Comments

Thomas Petazzoni Nov. 28, 2016, 10:24 p.m. UTC | #1
Hello,

On Mon, 14 Nov 2016 14:22:36 +0100, Jérôme Pouiller wrote:
> ntpq and ntpdc may depends on libedit and libcap.
> 
> $ arm-linux-readelf -d ./usr/bin/ntpdc | grep NEEDED
>  0x00000001 (NEEDED)                     Shared library: [libcap.so.2]
>  0x00000001 (NEEDED)                     Shared library: [libm.so.6]
>  0x00000001 (NEEDED)                     Shared library: [libedit.so.0]
>  0x00000001 (NEEDED)                     Shared library: [libncursesw.so.6]
>  0x00000001 (NEEDED)                     Shared library: [libssl.so.1.0.0]
>  0x00000001 (NEEDED)                     Shared library: [libcrypto.so.1.0.0]
>  0x00000001 (NEEDED)                     Shared library: [libpthread.so.0]
>  0x00000001 (NEEDED)                     Shared library: [libc.so.6]
> 
> However, build order with these libraries is not defined.
> 
> In order to keep things simple, we enforce build order even if ntpq/ntpdc are
> not selected.
> 
> Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>

I've applied your patch, after doing one small change, see below.

> +ifeq ($(BR2_PACKAGE_LIBEDIT),y)
> +NTP_CONF_OPTS += --with-lineeditlibs=edit
> +NTP_DEPENDENCIES += libedit
> +else
> +NTP_CONF_OPTS += --with-lineeditlibs=""

I've replaced this by --without-lineeditlibs, which has the same
effect but is more commonly used in Buildroot. I did check that with
the libedit package installed, but forcing --without-lineeditlibs
really causes ntp to ignore libedit, which proves that it does work.

Thanks!

Thomas
diff mbox

Patch

diff --git a/package/ntp/ntp.mk b/package/ntp/ntp.mk
index 0b6304b..11061f4 100644
--- a/package/ntp/ntp.mk
+++ b/package/ntp/ntp.mk
@@ -28,6 +28,20 @@  else
 NTP_CONF_OPTS += --without-crypto --disable-openssl-random
 endif
 
+ifeq ($(BR2_PACKAGE_LIBCAP),y)
+NTP_CONF_OPTS += --enable-linuxcaps
+NTP_DEPENDENCIES += libcap
+else
+NTP_CONF_OPTS += --disable-linuxcaps
+endif
+
+ifeq ($(BR2_PACKAGE_LIBEDIT),y)
+NTP_CONF_OPTS += --with-lineeditlibs=edit
+NTP_DEPENDENCIES += libedit
+else
+NTP_CONF_OPTS += --with-lineeditlibs=""
+endif
+
 ifeq ($(BR2_PACKAGE_NTP_NTPSNMPD),y)
 NTP_CONF_OPTS += \
 	--with-net-snmp-config=$(STAGING_DIR)/usr/bin/net-snmp-config