diff options
4 files changed, 145 insertions, 0 deletions
diff --git a/meta-networking/recipes-protocols/openlldp/files/0001-Fix-musl-libc-build-issue.patch b/meta-networking/recipes-protocols/openlldp/files/0001-Fix-musl-libc-build-issue.patch new file mode 100644 index 000000000..40b082e77 --- /dev/null +++ b/meta-networking/recipes-protocols/openlldp/files/0001-Fix-musl-libc-build-issue.patch | |||
@@ -0,0 +1,26 @@ | |||
1 | From a64e52f9b58519aa2b8a1073fa6c04da04933428 Mon Sep 17 00:00:00 2001 | ||
2 | From: Jonathan Richardson <jonathan.richardson@broadcom.com> | ||
3 | Date: Wed, 26 Feb 2020 12:16:38 -0800 | ||
4 | Subject: [PATCH] Fix musl libc build issue | ||
5 | |||
6 | clif.h should include sys/types.h for the definition of pid_t. It fails | ||
7 | to compile when using musl libc. | ||
8 | |||
9 | Signed-off-by: Jonathan Richardson <jonathan.richardson@broadcom.com> | ||
10 | |||
11 | --- | ||
12 | include/clif.h | 1 + | ||
13 | 1 file changed, 1 insertion(+) | ||
14 | |||
15 | diff --git a/include/clif.h b/include/clif.h | ||
16 | index 648eedf..92f4fd8 100644 | ||
17 | --- a/include/clif.h | ||
18 | +++ b/include/clif.h | ||
19 | @@ -32,6 +32,7 @@ | ||
20 | #ifndef CLIF_H | ||
21 | #define CLIF_H | ||
22 | |||
23 | +#include <sys/types.h> | ||
24 | #include <sys/un.h> | ||
25 | #include "clif_sock.h" | ||
26 | |||
diff --git a/meta-networking/recipes-protocols/openlldp/files/0001-autotools-Add-include-path-to-generated-version.h.patch b/meta-networking/recipes-protocols/openlldp/files/0001-autotools-Add-include-path-to-generated-version.h.patch new file mode 100644 index 000000000..b58fc104d --- /dev/null +++ b/meta-networking/recipes-protocols/openlldp/files/0001-autotools-Add-include-path-to-generated-version.h.patch | |||
@@ -0,0 +1,29 @@ | |||
1 | From eb14aa66dc0384071af401cced8c02993b55502e Mon Sep 17 00:00:00 2001 | ||
2 | From: Jonathan Richardson <jonathan.richardson@broadcom.com> | ||
3 | Date: Wed, 26 Feb 2020 15:54:51 -0800 | ||
4 | Subject: [PATCH] autotools: Add include path to generated version.h | ||
5 | |||
6 | When the build dir isn't the same as source dir it fails to compile | ||
7 | because the generated version.h from AC_CONFIG_FILES is always in build | ||
8 | dir. Include the path to it in AM_CPPFLAGS. | ||
9 | |||
10 | Signed-off-by: Jonathan Richardson <jonathan.richardson@broadcom.com> | ||
11 | |||
12 | --- | ||
13 | Makefile.am | 3 +++ | ||
14 | 1 file changed, 3 insertions(+) | ||
15 | |||
16 | diff --git a/Makefile.am b/Makefile.am | ||
17 | index 0fb9bb0..2952019 100644 | ||
18 | --- a/Makefile.am | ||
19 | +++ b/Makefile.am | ||
20 | @@ -14,6 +14,9 @@ endif | ||
21 | AM_CPPFLAGS = -I${srcdir}/include -DSYSCONFDIR="\"${sysconfdir}\"" \ | ||
22 | -D_FORTIFY_SOURCE=2 | ||
23 | |||
24 | +# Required for the generated version.h when build dir is not the same as srcdir. | ||
25 | +AM_CPPFLAGS += -I${top_builddir}/include | ||
26 | + | ||
27 | ACLOCAL_AMFLAGS = -I m4 | ||
28 | |||
29 | parse_cli.o: CFLAGS+=-U_FORTIFY_SOURCE -Wno-error | ||
diff --git a/meta-networking/recipes-protocols/openlldp/files/0001-autotools-Add-option-to-disable-installation-of-syst.patch b/meta-networking/recipes-protocols/openlldp/files/0001-autotools-Add-option-to-disable-installation-of-syst.patch new file mode 100644 index 000000000..a26a5299a --- /dev/null +++ b/meta-networking/recipes-protocols/openlldp/files/0001-autotools-Add-option-to-disable-installation-of-syst.patch | |||
@@ -0,0 +1,57 @@ | |||
1 | From dc3f2250908587710f109c80ddf8a94f0bc40b82 Mon Sep 17 00:00:00 2001 | ||
2 | From: Jonathan Richardson <jonathan.richardson@broadcom.com> | ||
3 | Date: Fri, 6 Apr 2018 10:49:04 -0700 | ||
4 | Subject: [PATCH] autotools: Add option to disable installation of systemd conf | ||
5 | files | ||
6 | |||
7 | Add option to configure.ac to enable or disable install of systemd conf | ||
8 | files. If --with-systemdsystemunitdir is passed to configure then the | ||
9 | files will be installed to the provided directory. If the option isn't | ||
10 | provided then the value is determined from the systemd pkgconfig file, | ||
11 | if found in PKG_CONFIG_PATH. | ||
12 | |||
13 | This change is required because Makefile.am always installed the files | ||
14 | to a hard coded path that couldn't be changed. | ||
15 | |||
16 | |||
17 | Signed-off-by: Jonathan Richardson <jonathan.richardson@broadcom.com> | ||
18 | --- | ||
19 | Makefile.am | 3 ++- | ||
20 | configure.ac | 9 +++++++++ | ||
21 | 2 files changed, 11 insertions(+), 1 deletion(-) | ||
22 | |||
23 | diff --git a/Makefile.am b/Makefile.am | ||
24 | index 292c0fd..0fb9bb0 100644 | ||
25 | --- a/Makefile.am | ||
26 | +++ b/Makefile.am | ||
27 | @@ -138,8 +138,9 @@ install-data-hook: installdirs-local | ||
28 | pkgconfigdir = ${libdir}/pkgconfig | ||
29 | pkgconfig_DATA = lldpad.pc liblldp_clif.pc | ||
30 | |||
31 | -systemdsystemunitdir = $(prefix)/lib/systemd/system | ||
32 | +if HAVE_SYSTEMD | ||
33 | dist_systemdsystemunit_DATA = lldpad.service lldpad.socket | ||
34 | +endif | ||
35 | |||
36 | bashcompletiondir = $(sysconfdir)/bash_completion.d | ||
37 | dist_bashcompletion_DATA = contrib/bash_completion/lldpad contrib/bash_completion/lldptool | ||
38 | diff --git a/configure.ac b/configure.ac | ||
39 | index 0667446..f75f433 100644 | ||
40 | --- a/configure.ac | ||
41 | +++ b/configure.ac | ||
42 | @@ -95,6 +95,15 @@ AC_TYPE_UINT16_T | ||
43 | AC_TYPE_UINT32_T | ||
44 | AC_TYPE_UINT8_T | ||
45 | |||
46 | +# Support for systemd unit files. | ||
47 | +AC_ARG_WITH([systemdsystemunitdir], | ||
48 | + AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]), | ||
49 | + [], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)]) | ||
50 | +if test "x$with_systemdsystemunitdir" != xno; then | ||
51 | + AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir]) | ||
52 | +fi | ||
53 | +AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != xno ]) | ||
54 | + | ||
55 | AC_CONFIG_FILES([Makefile include/version.h lldpad.spec lldpad.pc liblldp_clif.pc]) | ||
56 | AC_CONFIG_MACRO_DIR([m4]) | ||
57 | AC_OUTPUT | ||
diff --git a/meta-networking/recipes-protocols/openlldp/openlldp_1.0.1.bb b/meta-networking/recipes-protocols/openlldp/openlldp_1.0.1.bb new file mode 100644 index 000000000..5fbf0645e --- /dev/null +++ b/meta-networking/recipes-protocols/openlldp/openlldp_1.0.1.bb | |||
@@ -0,0 +1,33 @@ | |||
1 | SUMMARY = "Open-LLDP" | ||
2 | DESCRIPTION = "Link Layer Discovery Protocol for Linux that includes support for DCBX" | ||
3 | HOMEPAGE = "http://open-lldp.org/start" | ||
4 | |||
5 | LICENSE = "GPLv2" | ||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=8c2bc283e65df398ced5f5b747e78162" | ||
7 | |||
8 | S = "${WORKDIR}/git" | ||
9 | |||
10 | inherit pkgconfig autotools | ||
11 | inherit ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} | ||
12 | |||
13 | DEPENDS = "libnl libconfig readline" | ||
14 | |||
15 | SRCREV = "36d729de7ce5b56cf061d94d610cf0510154820c" | ||
16 | SRC_URI = "git://github.com/intel/openlldp.git;protocol=https;branch=master \ | ||
17 | file://0001-Fix-musl-libc-build-issue.patch \ | ||
18 | file://0001-autotools-Add-include-path-to-generated-version.h.patch \ | ||
19 | file://0001-autotools-Add-option-to-disable-installation-of-syst.patch \ | ||
20 | " | ||
21 | |||
22 | # Makefile.am adds -Werror to AM_CFLAGS. There are warnings so disable it. | ||
23 | TARGET_CFLAGS += "-Wno-error" | ||
24 | |||
25 | # Enable install of systemd conf files. | ||
26 | EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_system_unitdir}', '', d)}" | ||
27 | |||
28 | SYSTEMD_SERVICE_${PN} = "lldpad.service lldpad.socket" | ||
29 | |||
30 | # To enable service at boot set to enable in local.conf. | ||
31 | SYSTEMD_AUTO_ENABLE ?= "disable" | ||
32 | |||
33 | RRECOMMENDS_${PN} = "iproute2-tc" | ||