From 43b45648b15249b406fc076d4cd92aae765cfaa5 Mon Sep 17 00:00:00 2001 From: Trent Piepho Date: Thu, 22 Nov 2018 00:35:44 +0000 Subject: [PATCH] lldpd: update to version 1.0.1 Drop patches for atom glue and remove CXX compiler check as they are applied upstream. Replace patch to disable libbsd with upstream patch to accomplish the same thing using --without-libbsd. Enable support for readline when that package is enabled. Enable lldpd's systemd unit file. Signed-off-by: Trent Piepho Signed-off-by: Thomas Petazzoni --- ...o-disable-libbsd-with-without-libbsd.patch | 106 ++++++++++++++++++ ...ation-of-atom-glue-compatible-with-o.patch | 43 ------- ...02-configure-do-not-check-for-libbsd.patch | 61 ---------- ...nfigure-remove-check-on-CXX-compiler.patch | 35 ------ package/lldpd/lldpd.hash | 2 +- package/lldpd/lldpd.mk | 11 +- 6 files changed, 116 insertions(+), 142 deletions(-) create mode 100644 package/lldpd/0001-build-ability-to-disable-libbsd-with-without-libbsd.patch delete mode 100644 package/lldpd/0001-build-make-generation-of-atom-glue-compatible-with-o.patch delete mode 100644 package/lldpd/0002-configure-do-not-check-for-libbsd.patch delete mode 100644 package/lldpd/0003-configure-remove-check-on-CXX-compiler.patch diff --git a/package/lldpd/0001-build-ability-to-disable-libbsd-with-without-libbsd.patch b/package/lldpd/0001-build-ability-to-disable-libbsd-with-without-libbsd.patch new file mode 100644 index 0000000000..7301ac636b --- /dev/null +++ b/package/lldpd/0001-build-ability-to-disable-libbsd-with-without-libbsd.patch @@ -0,0 +1,106 @@ +From ff3dcc4ad71c1105bd8ea11afe7e07efd48c038d Mon Sep 17 00:00:00 2001 +From: Vincent Bernat +Date: Tue, 25 Sep 2018 10:57:49 +0200 +Subject: [PATCH] build: ability to disable libbsd with --without-libbsd + +This is useful when user wants to ensure reproducibility of the build +whatever libbsd is present or not. + +Signed-off-by: Trent Piepho +--- + configure.ac | 59 +++++++++++++++++++++++++++++++++++++++-------------------- + src/marshal.h | 1 + + 2 files changed, 40 insertions(+), 20 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 9b40473..589cd96 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -173,26 +173,44 @@ AC_FUNC_REALLOC + AC_FUNC_FORK + + # Some functions can be in libbsd +-PKG_CHECK_MODULES([libbsd], [libbsd-overlay], [ +- _save_CFLAGS="$CFLAGS" +- _save_LIBS="$LIBS" +- CFLAGS="$CFLAGS $libbsd_CFLAGS" +- LIBS="$LIBS $libbsd_LIBS" +- AC_MSG_CHECKING([if libbsd can be linked correctly]) +- AC_TRY_LINK([ +-@%:@include +-@%:@include +-],[], +- [ +- AC_MSG_RESULT(yes) +- LLDP_CFLAGS="$LLDP_CFLAGS $libbsd_CFLAGS" +- LLDP_LDFLAGS="$LLDP_LDFLAGS $libbsd_LIBS" +- ],[ +- AC_MSG_RESULT(no) +- CFLAGS="$_save_CFLAGS" +- LIBS="$_save_LIBS" +- ]) +-], [:]) ++AC_ARG_WITH([libbsd], ++ AS_HELP_STRING( ++ [--with-libbsd], ++ [Use libbsd @<:@default=auto@:>@]), ++ [], ++ [with_libbsd=auto]) ++if test x"$with_libbsd" != x"no"; then ++ PKG_CHECK_MODULES([libbsd], [libbsd-overlay], [ ++ _save_CFLAGS="$CFLAGS" ++ _save_LIBS="$LIBS" ++ CFLAGS="$CFLAGS $libbsd_CFLAGS" ++ LIBS="$LIBS $libbsd_LIBS" ++ AC_MSG_CHECKING([if libbsd can be linked correctly]) ++ AC_TRY_LINK([ ++ @%:@include ++ @%:@include ++ ],[], ++ [ ++ AC_MSG_RESULT(yes) ++ LLDP_CFLAGS="$LLDP_CFLAGS $libbsd_CFLAGS" ++ LLDP_LDFLAGS="$LLDP_LDFLAGS $libbsd_LIBS" ++ with_libbsd=yes ++ ],[ ++ AC_MSG_RESULT(no) ++ CFLAGS="$_save_CFLAGS" ++ LIBS="$_save_LIBS" ++ if test x"$with_libbsd" = x"yes"; then ++ AC_MSG_FAILURE([*** no libbsd support found]) ++ fi ++ with_libbsd=no ++ ]) ++ ], [ ++ if test x"$with_libbsd" = x"yes"; then ++ AC_MSG_FAILURE([*** no libbsd support found]) ++ fi ++ with_libbsd=no ++ ]) ++fi + + # setproctitle may have an _init function + AC_REPLACE_FUNCS([setproctitle]) +@@ -412,6 +430,7 @@ cat < ++#include + #include + + struct marshal_info; +-- +2.14.4 + diff --git a/package/lldpd/0001-build-make-generation-of-atom-glue-compatible-with-o.patch b/package/lldpd/0001-build-make-generation-of-atom-glue-compatible-with-o.patch deleted file mode 100644 index d5675d39af..0000000000 --- a/package/lldpd/0001-build-make-generation-of-atom-glue-compatible-with-o.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 106aa50d4e5b336f7dd2d5cf4d882e692d205e91 Mon Sep 17 00:00:00 2001 -From: Vincent Bernat -Date: Sat, 18 Jun 2016 22:18:41 +0200 -Subject: [PATCH] build: make generation of atom-glue compatible with older gcc - versions - -With old versions, cpp doesn't accept several files as input. See #186. - -Signed-off-by: Vivien Didelot ---- - src/lib/Makefile.am | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am -index 250e32a..2a5cdb3 100644 ---- a/src/lib/Makefile.am -+++ b/src/lib/Makefile.am -@@ -20,8 +20,9 @@ nodist_liblldpctl_la_SOURCES = atom-glue.c - liblldpctl_la_LIBADD = $(top_builddir)/src/libcommon-daemon-lib.la libfixedpoint.la - - atom-glue.c: $(ATOM_FILES) Makefile -- $(AM_V_GEN)($(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ -- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(ATOM_FILES:%=$(srcdir)/%) | \ -+ $(AM_V_GEN)(for f in $(ATOM_FILES:%=$(srcdir)/%); do \ -+ $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ -+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $$f; done | \ - $(SED) -n 's+^void init_atom_builder_\([^(]*\)().*, \([0-9]*\)).*+\2 \1+p' | \ - sort | \ - $(AWK) '{ atoms[$$2] = 1 } \ -@@ -30,8 +31,9 @@ atom-glue.c: $(ATOM_FILES) Makefile - print " static int init = 0; if (init) return; init++;"; \ - for (atom in atoms) { print " init_atom_builder_"atom"();" } \ - print "}"; }' && \ -+ for f in $(ATOM_FILES:%=$(srcdir)/%); do \ - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ -- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(ATOM_FILES:%=$(srcdir)/%) | \ -+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $$f; done | \ - $(SED) -n 's+^void init_atom_map_\([^(]*\)().*, \([0-9]*\)).*+\2 \1+p' | \ - sort -n | \ - $(AWK) '{ atoms[$$2] = 1 } \ --- -2.9.0 - diff --git a/package/lldpd/0002-configure-do-not-check-for-libbsd.patch b/package/lldpd/0002-configure-do-not-check-for-libbsd.patch deleted file mode 100644 index 4d63274526..0000000000 --- a/package/lldpd/0002-configure-do-not-check-for-libbsd.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 0801a066cd4a24a858ddfa7c62c7802e0f5533a8 Mon Sep 17 00:00:00 2001 -From: "Yann E. MORIN" -Date: Sun, 14 Aug 2016 12:15:17 +0200 -Subject: [PATCH] configure: do not check for libbsd - -libbsd causes build issues because its libbsd-overlay.pc file is borked: -it contains -isystem in CFLAGS, which is not munged by pkgconf, so we -end up using the headers of the build machine, causing all sorts of -hard-to-debug trouble at build time. - -lldpd uses libbsd-overlay for a few helper functions, but has fallbacks -in case it is not available. The only feature that is lost when not using -it is that the neighbour name is no longer displayed in /proc/self/cmdline. -As the author of lldpd said on IRC: "people should survive! ;-)" - -So we just remove the detection of libbsd altogether. - -Fixes: - http://autobuild.buildroot.org/results/6b7/6b70fa379e834ec71cc260ba6af771b531ca3511/ - http://autobuild.buildroot.org/results/769/769074c4bb67336ae6679f2c1cd2a8220d2bec24/ - http://autobuild.buildroot.org/results/c8a/c8a6001f437701ecc75f6c9252935645bda8a8c8/ - [...] - -Signed-off-by: "Yann E. MORIN" ---- - configure.ac | 19 ------------------- - 1 file changed, 19 deletions(-) - -diff --git a/configure.ac b/configure.ac -index dd723b0..45498ce 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -165,25 +165,6 @@ AC_FUNC_MALLOC - AC_FUNC_REALLOC - AC_FUNC_FORK - --# Some functions can be in libbsd --PKG_CHECK_MODULES([libbsd], [libbsd-overlay], [ -- _save_CFLAGS="$CFLAGS" -- _save_LIBS="$LIBS" -- CFLAGS="$CFLAGS $libbsd_CFLAGS" -- LIBS="$LIBS $libbsd_LIBS" -- AC_MSG_CHECKING([if libbsd can be linked correctly]) -- AC_LINK_IFELSE([AC_LANG_SOURCE([[int main() { return 0; }]])], -- [ -- AC_MSG_RESULT(yes) -- LLDP_CFLAGS="$LLDP_CFLAGS $libbsd_CFLAGS" -- LLDP_LDFLAGS="$LLDP_LDFLAGS $libbsd_LIBS" -- ],[ -- AC_MSG_RESULT(no) -- CFLAGS="$_save_CFLAGS" -- LIBS="$_save_LIBS" -- ]) --], [:]) -- - # setproctitle may have an _init function - AC_REPLACE_FUNCS([setproctitle]) - AC_CHECK_FUNCS([setproctitle_init]) --- -2.7.4 - diff --git a/package/lldpd/0003-configure-remove-check-on-CXX-compiler.patch b/package/lldpd/0003-configure-remove-check-on-CXX-compiler.patch deleted file mode 100644 index 880f603f71..0000000000 --- a/package/lldpd/0003-configure-remove-check-on-CXX-compiler.patch +++ /dev/null @@ -1,35 +0,0 @@ -From d28b3bfa1b224f7770004dddf4dfaf10ad7ad6c9 Mon Sep 17 00:00:00 2001 -From: Damien Riegel -Date: Mon, 18 Dec 2017 14:37:08 -0500 -Subject: [PATCH] configure: remove check on CXX compiler - -lldpd fails to build if the toolchain doesn't have a C++ compiler -because configure fails with the following error: - - checking how to run the C++ preprocessor... /lib/cpp - configure: error: in `/home/dkc/src/buildroot/build-zii/build/lldpd-0.9.4': - configure: error: C++ preprocessor "/lib/cpp" fails sanity check - -Since "8d92800b: build: cleaner way to not alter CFLAGS/CPPFLAGS/LDFLAGS", -it seems that the dependency on C++ is not required anymore, so there -is no reason to keep this restriction. Dropping AC_PROG_CXX allows to -build with a toolchain that doesn't have C++ just fine. ---- - configure.ac | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 0edceb1..5afe8f2 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -48,7 +48,6 @@ AC_PROG_CC_C99 - if test x"$ac_cv_prog_cc_c99" = x"no"; then - AC_MSG_FAILURE([*** C99 support is mandatory]) - fi --AC_PROG_CXX - AM_PROG_CC_C_O - AC_PROG_LIBTOOL - AC_PROG_LN_S --- -2.15.1 - diff --git a/package/lldpd/lldpd.hash b/package/lldpd/lldpd.hash index fc3d21f487..1785197737 100644 --- a/package/lldpd/lldpd.hash +++ b/package/lldpd/lldpd.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 eb1f5beff2ff5c13c5e0342b5b9da815ed4a63866262445e1168a79ee65c9079 lldpd-0.9.4.tar.gz +sha256 450b622aac7ae1758f1ef82f3b7b94ec47f2ff33abfb0e6ac82555b9ee55f151 lldpd-1.0.1.tar.gz diff --git a/package/lldpd/lldpd.mk b/package/lldpd/lldpd.mk index 2bdda0213e..939cd128fa 100644 --- a/package/lldpd/lldpd.mk +++ b/package/lldpd/lldpd.mk @@ -4,7 +4,7 @@ # ################################################################################ -LLDPD_VERSION = 0.9.4 +LLDPD_VERSION = 1.0.1 LLDPD_SITE = http://media.luffy.cx/files/lldpd LLDPD_DEPENDENCIES = host-pkgconf libevent LLDPD_LICENSE = ISC @@ -28,14 +28,15 @@ endif LLDPD_CONF_ENV = ac_cv_prog_cc_c99=-std=gnu99 LLDPD_CONF_OPTS = \ - --without-readline \ --without-embedded-libevent \ --without-snmp \ --without-xml \ --without-json \ --without-seccomp \ + --without-libbsd \ --disable-hardening \ --disable-privsep \ + $(if $(BR2_PACKAGE_READLINE),--with-readline,--without-readline) \ $(if $(BR2_PACKAGE_LLDPD_CDP),--enable-cdp,--disable-cdp) \ $(if $(BR2_PACKAGE_LLDPD_FDP),--enable-fdp,--disable-fdp) \ $(if $(BR2_PACKAGE_LLDPD_EDP),--enable-edp,--disable-edp) \ @@ -50,4 +51,10 @@ define LLDPD_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S60lldpd endef +define LLDPD_INSTALL_INIT_SYSTEMD + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf ../../../../usr/lib/systemd/system/lldpd.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/lldpd.service +endef + $(eval $(autotools-package)) -- 2.30.2