* [meta-oe][PATCH v2 1/1] open-lldp: Add initial version 1.0.1
@ 2020-02-26 20:29 Jonathan Richardson
2020-02-26 20:34 ` Khem Raj
0 siblings, 1 reply; 4+ messages in thread
From: Jonathan Richardson @ 2020-02-26 20:29 UTC (permalink / raw)
To: openembedded-devel
Open-LLDP provides a Link Layer Discovery Protocol agent that supports
DCB (Data Center Bridging). The tc utility from iproute is needed to
manipulate traffic control settings in the kernel.
Signed-off-by: Jonathan Richardson <jonathan.richardson@broadcom.com>
---
.../0001-Fix-musl-libc-build-issue.patch | 25 ++++++++
...tion-to-disable-installation-of-syst.patch | 57 +++++++++++++++++++
.../openlldp/openlldp_1.0.1.bb | 39 +++++++++++++
3 files changed, 121 insertions(+)
create mode 100644 meta-networking/recipes-protocols/openlldp/files/0001-Fix-musl-libc-build-issue.patch
create mode 100644 meta-networking/recipes-protocols/openlldp/files/0001-autotools-Add-option-to-disable-installation-of-syst.patch
create mode 100644 meta-networking/recipes-protocols/openlldp/openlldp_1.0.1.bb
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..d8d5df218
--- /dev/null
+++ b/meta-networking/recipes-protocols/openlldp/files/0001-Fix-musl-libc-build-issue.patch
@@ -0,0 +1,25 @@
+From b20d64f814c15efbd6a19aacfbfecf15083a83dc Mon Sep 17 00:00:00 2001
+From: Jonathan Richardson <jonathan.richardson@broadcom.com>
+Date: Wed, 26 Feb 2020 12:16:38 -0800
+Subject: [PATCH] Fix musl libc build issue
+
+clif.h should include sys/types.h for the definition of pid_t. It fails
+to compile when using musl libc.
+
+Signed-off-by: Jonathan Richardson <jonathan.richardson@broadcom.com>
+---
+ include/clif.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/include/clif.h b/include/clif.h
+index 648eedf..92f4fd8 100644
+--- a/include/clif.h
++++ b/include/clif.h
+@@ -32,6 +32,7 @@
+ #ifndef CLIF_H
+ #define CLIF_H
+
++#include <sys/types.h>
+ #include <sys/un.h>
+ #include "clif_sock.h"
+
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..86c9f4463
--- /dev/null
+++ b/meta-networking/recipes-protocols/openlldp/files/0001-autotools-Add-option-to-disable-installation-of-syst.patch
@@ -0,0 +1,57 @@
+From 1c1e01b2414ca5b3cf5a21b6e6389f9ca82fd7e9 Mon Sep 17 00:00:00 2001
+From: Jonathan Richardson <jonathan.richardson@broadcom.com>
+Date: Fri, 6 Apr 2018 10:49:04 -0700
+Subject: [PATCH 1/1] autotools: Add option to disable installation of systemd
+ conf files
+
+Add option to configure.ac to enable or disable install of systemd conf
+files. If --with-systemdsystemunitdir is passed to configure then the
+files will be installed to the provided directory. If the option isn't
+provided then the value is determined from the systemd pkgconfig file,
+if found in PKG_CONFIG_PATH.
+
+This change is required because Makefile.am always installed the files
+to a hard coded path that couldn't be changed.
+---
+ Makefile.am | 3 ++-
+ configure.ac | 9 +++++++++
+ 2 files changed, 11 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 551d4c7..5491c61 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -133,8 +133,9 @@ install-data-hook: installdirs-local
+ pkgconfigdir = ${libdir}/pkgconfig
+ pkgconfig_DATA = lldpad.pc liblldp_clif.pc
+
+-systemdsystemunitdir = $(prefix)/lib/systemd/system
++if HAVE_SYSTEMD
+ dist_systemdsystemunit_DATA = lldpad.service lldpad.socket
++endif
+
+ bashcompletiondir = $(sysconfdir)/bash_completion.d
+ dist_bashcompletion_DATA = contrib/bash_completion/lldpad contrib/bash_completion/lldptool
+diff --git a/configure.ac b/configure.ac
+index 0667446..f75f433 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -95,6 +95,15 @@ AC_TYPE_UINT16_T
+ AC_TYPE_UINT32_T
+ AC_TYPE_UINT8_T
+
++# Support for systemd unit files.
++AC_ARG_WITH([systemdsystemunitdir],
++ AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]),
++ [], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)])
++if test "x$with_systemdsystemunitdir" != xno; then
++ AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
++fi
++AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != xno ])
++
+ AC_CONFIG_FILES([Makefile include/version.h lldpad.spec lldpad.pc liblldp_clif.pc])
+ AC_CONFIG_MACRO_DIR([m4])
+ AC_OUTPUT
+--
+1.9.1
+
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..ef8d780c6
--- /dev/null
+++ b/meta-networking/recipes-protocols/openlldp/openlldp_1.0.1.bb
@@ -0,0 +1,39 @@
+SUMMARY = "Open-LLDP"
+DESCRIPTION = "Link Layer Discovery Protocol for Linux that includes support for DCBX"
+HOMEPAGE = "http://open-lldp.org/start"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=8c2bc283e65df398ced5f5b747e78162"
+
+S = "${WORKDIR}/git"
+
+inherit pkgconfig autotools
+inherit ${@bb.utils.contains('VIRTUAL-RUNTIME_init_manager', 'systemd', 'systemd', '', d)}
+
+DEPENDS = "libnl libconfig readline"
+
+SRCREV = "36d729de7ce5b56cf061d94d610cf0510154820c"
+SRC_URI = "git://github.com/intel/openlldp.git;protocol=https;branch=master \
+ file://0001-autotools-Add-option-to-disable-installation-of-syst.patch \
+ file://0001-Fix-musl-libc-build-issue.patch \
+ "
+
+# Even though .ac allows disabling -Werror, Makefile.am adds it to AM_CFLAGS
+# causing it to always be enabled. There are warnings so disable it.
+TARGET_CFLAGS += "-Wno-error"
+
+# configure.ac generates version.h from include/version.h.in but autotools puts
+# build artefacts in $B, not $S and the header can't be found. To avoid
+# inheriting autotools-brokensep and messing up the source dir just tell Makefile
+# where it is.
+TARGET_CFLAGS += "-I ${B}/include"
+
+# Enable install of systemd conf files.
+EXTRA_OECONF += "${@bb.utils.contains('VIRTUAL-RUNTIME_init_manager', 'systemd', '--with-systemdsystemunitdir=${systemd_system_unitdir}', '', d)}"
+
+SYSTEMD_SERVICE_${PN} = "lldpad.service lldpad.socket"
+
+# To enable service at boot set to enable in local.conf.
+SYSTEMD_AUTO_ENABLE ?= "disable"
+
+RRECOMMENDS_${PN} = "iproute2-tc"
--
2.17.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [meta-oe][PATCH v2 1/1] open-lldp: Add initial version 1.0.1
2020-02-26 20:29 [meta-oe][PATCH v2 1/1] open-lldp: Add initial version 1.0.1 Jonathan Richardson
@ 2020-02-26 20:34 ` Khem Raj
2020-02-26 22:54 ` Jonathan Richardson
0 siblings, 1 reply; 4+ messages in thread
From: Khem Raj @ 2020-02-26 20:34 UTC (permalink / raw)
To: Jonathan Richardson, openembedded-devel
Thanks Jonathan, I have few more comments.
On 2/26/20 12:29 PM, Jonathan Richardson via Openembedded-devel wrote:
> Open-LLDP provides a Link Layer Discovery Protocol agent that supports
> DCB (Data Center Bridging). The tc utility from iproute is needed to
> manipulate traffic control settings in the kernel.
>
> Signed-off-by: Jonathan Richardson <jonathan.richardson@broadcom.com>
> ---
> .../0001-Fix-musl-libc-build-issue.patch | 25 ++++++++
> ...tion-to-disable-installation-of-syst.patch | 57 +++++++++++++++++++
> .../openlldp/openlldp_1.0.1.bb | 39 +++++++++++++
> 3 files changed, 121 insertions(+)
> create mode 100644 meta-networking/recipes-protocols/openlldp/files/0001-Fix-musl-libc-build-issue.patch
> create mode 100644 meta-networking/recipes-protocols/openlldp/files/0001-autotools-Add-option-to-disable-installation-of-syst.patch
> create mode 100644 meta-networking/recipes-protocols/openlldp/openlldp_1.0.1.bb
>
> 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..d8d5df218
> --- /dev/null
> +++ b/meta-networking/recipes-protocols/openlldp/files/0001-Fix-musl-libc-build-issue.patch
> @@ -0,0 +1,25 @@
> +From b20d64f814c15efbd6a19aacfbfecf15083a83dc Mon Sep 17 00:00:00 2001
> +From: Jonathan Richardson <jonathan.richardson@broadcom.com>
> +Date: Wed, 26 Feb 2020 12:16:38 -0800
> +Subject: [PATCH] Fix musl libc build issue
> +
> +clif.h should include sys/types.h for the definition of pid_t. It fails
> +to compile when using musl libc.
> +
> +Signed-off-by: Jonathan Richardson <jonathan.richardson@broadcom.com>
> +---
> + include/clif.h | 1 +
> + 1 file changed, 1 insertion(+)
> +
> +diff --git a/include/clif.h b/include/clif.h
> +index 648eedf..92f4fd8 100644
> +--- a/include/clif.h
> ++++ b/include/clif.h
> +@@ -32,6 +32,7 @@
> + #ifndef CLIF_H
> + #define CLIF_H
> +
> ++#include <sys/types.h>
> + #include <sys/un.h>
> + #include "clif_sock.h"
> +
> 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..86c9f4463
> --- /dev/null
> +++ b/meta-networking/recipes-protocols/openlldp/files/0001-autotools-Add-option-to-disable-installation-of-syst.patch
> @@ -0,0 +1,57 @@
> +From 1c1e01b2414ca5b3cf5a21b6e6389f9ca82fd7e9 Mon Sep 17 00:00:00 2001
> +From: Jonathan Richardson <jonathan.richardson@broadcom.com>
> +Date: Fri, 6 Apr 2018 10:49:04 -0700
> +Subject: [PATCH 1/1] autotools: Add option to disable installation of systemd
> + conf files
> +
> +Add option to configure.ac to enable or disable install of systemd conf
> +files. If --with-systemdsystemunitdir is passed to configure then the
> +files will be installed to the provided directory. If the option isn't
> +provided then the value is determined from the systemd pkgconfig file,
> +if found in PKG_CONFIG_PATH.
> +
> +This change is required because Makefile.am always installed the files
> +to a hard coded path that couldn't be changed.
> +---
> + Makefile.am | 3 ++-
> + configure.ac | 9 +++++++++
> + 2 files changed, 11 insertions(+), 1 deletion(-)
> +
> +diff --git a/Makefile.am b/Makefile.am
> +index 551d4c7..5491c61 100644
> +--- a/Makefile.am
> ++++ b/Makefile.am
> +@@ -133,8 +133,9 @@ install-data-hook: installdirs-local
> + pkgconfigdir = ${libdir}/pkgconfig
> + pkgconfig_DATA = lldpad.pc liblldp_clif.pc
> +
> +-systemdsystemunitdir = $(prefix)/lib/systemd/system
> ++if HAVE_SYSTEMD
> + dist_systemdsystemunit_DATA = lldpad.service lldpad.socket
> ++endif
> +
> + bashcompletiondir = $(sysconfdir)/bash_completion.d
> + dist_bashcompletion_DATA = contrib/bash_completion/lldpad contrib/bash_completion/lldptool
> +diff --git a/configure.ac b/configure.ac
> +index 0667446..f75f433 100644
> +--- a/configure.ac
> ++++ b/configure.ac
> +@@ -95,6 +95,15 @@ AC_TYPE_UINT16_T
> + AC_TYPE_UINT32_T
> + AC_TYPE_UINT8_T
> +
> ++# Support for systemd unit files.
> ++AC_ARG_WITH([systemdsystemunitdir],
> ++ AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]),
> ++ [], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)])
> ++if test "x$with_systemdsystemunitdir" != xno; then
> ++ AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
> ++fi
> ++AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != xno ])
> ++
> + AC_CONFIG_FILES([Makefile include/version.h lldpad.spec lldpad.pc liblldp_clif.pc])
> + AC_CONFIG_MACRO_DIR([m4])
> + AC_OUTPUT
> +--
> +1.9.1
> +
> 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..ef8d780c6
> --- /dev/null
> +++ b/meta-networking/recipes-protocols/openlldp/openlldp_1.0.1.bb
> @@ -0,0 +1,39 @@
> +SUMMARY = "Open-LLDP"
> +DESCRIPTION = "Link Layer Discovery Protocol for Linux that includes support for DCBX"
> +HOMEPAGE = "http://open-lldp.org/start"
> +
> +LICENSE = "GPLv2"
> +LIC_FILES_CHKSUM = "file://COPYING;md5=8c2bc283e65df398ced5f5b747e78162"
> +
> +S = "${WORKDIR}/git"
> +
> +inherit pkgconfig autotools
> +inherit ${@bb.utils.contains('VIRTUAL-RUNTIME_init_manager', 'systemd', 'systemd', '', d)}
> +
> +DEPENDS = "libnl libconfig readline"
> +
> +SRCREV = "36d729de7ce5b56cf061d94d610cf0510154820c"
> +SRC_URI = "git://github.com/intel/openlldp.git;protocol=https;branch=master \
> + file://0001-autotools-Add-option-to-disable-installation-of-syst.patch \
> + file://0001-Fix-musl-libc-build-issue.patch \
> + "
> +
> +# Even though .ac allows disabling -Werror, Makefile.am adds it to AM_CFLAGS
> +# causing it to always be enabled. There are warnings so disable it.
> +TARGET_CFLAGS += "-Wno-error"
is there configure option --disable-werror, we should use that if available.
> +
> +# configure.ac generates version.h from include/version.h.in but autotools puts
> +# build artefacts in $B, not $S and the header can't be found. To avoid
> +# inheriting autotools-brokensep and messing up the source dir just tell Makefile
> +# where it is.
> +TARGET_CFLAGS += "-I ${B}/include"
Can we avoid using B here.
> +
> +# Enable install of systemd conf files.
> +EXTRA_OECONF += "${@bb.utils.contains('VIRTUAL-RUNTIME_init_manager', 'systemd', '--with-systemdsystemunitdir=${systemd_system_unitdir}', '', d)}"
we should be checking for systemd in DISTRO_FEATURES here.
> +
> +SYSTEMD_SERVICE_${PN} = "lldpad.service lldpad.socket"
> +
> +# To enable service at boot set to enable in local.conf.
> +SYSTEMD_AUTO_ENABLE ?= "disable"
> +
> +RRECOMMENDS_${PN} = "iproute2-tc"
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [meta-oe][PATCH v2 1/1] open-lldp: Add initial version 1.0.1
2020-02-26 20:34 ` Khem Raj
@ 2020-02-26 22:54 ` Jonathan Richardson
2020-02-26 23:28 ` Khem Raj
0 siblings, 1 reply; 4+ messages in thread
From: Jonathan Richardson @ 2020-02-26 22:54 UTC (permalink / raw)
To: Khem Raj; +Cc: openembeded-devel
On Wed, Feb 26, 2020 at 12:34 PM Khem Raj <raj.khem@gmail.com> wrote:
>
> Thanks Jonathan, I have few more comments.
>
> On 2/26/20 12:29 PM, Jonathan Richardson via Openembedded-devel wrote:
> > Open-LLDP provides a Link Layer Discovery Protocol agent that supports
> > DCB (Data Center Bridging). The tc utility from iproute is needed to
> > manipulate traffic control settings in the kernel.
> >
> > Signed-off-by: Jonathan Richardson <jonathan.richardson@broadcom.com>
> > ---
> > .../0001-Fix-musl-libc-build-issue.patch | 25 ++++++++
> > ...tion-to-disable-installation-of-syst.patch | 57 +++++++++++++++++++
> > .../openlldp/openlldp_1.0.1.bb | 39 +++++++++++++
> > 3 files changed, 121 insertions(+)
> > create mode 100644 meta-networking/recipes-protocols/openlldp/files/0001-Fix-musl-libc-build-issue.patch
> > create mode 100644 meta-networking/recipes-protocols/openlldp/files/0001-autotools-Add-option-to-disable-installation-of-syst.patch
> > create mode 100644 meta-networking/recipes-protocols/openlldp/openlldp_1.0.1.bb
> >
> > 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..d8d5df218
> > --- /dev/null
> > +++ b/meta-networking/recipes-protocols/openlldp/files/0001-Fix-musl-libc-build-issue.patch
> > @@ -0,0 +1,25 @@
> > +From b20d64f814c15efbd6a19aacfbfecf15083a83dc Mon Sep 17 00:00:00 2001
> > +From: Jonathan Richardson <jonathan.richardson@broadcom.com>
> > +Date: Wed, 26 Feb 2020 12:16:38 -0800
> > +Subject: [PATCH] Fix musl libc build issue
> > +
> > +clif.h should include sys/types.h for the definition of pid_t. It fails
> > +to compile when using musl libc.
> > +
> > +Signed-off-by: Jonathan Richardson <jonathan.richardson@broadcom.com>
> > +---
> > + include/clif.h | 1 +
> > + 1 file changed, 1 insertion(+)
> > +
> > +diff --git a/include/clif.h b/include/clif.h
> > +index 648eedf..92f4fd8 100644
> > +--- a/include/clif.h
> > ++++ b/include/clif.h
> > +@@ -32,6 +32,7 @@
> > + #ifndef CLIF_H
> > + #define CLIF_H
> > +
> > ++#include <sys/types.h>
> > + #include <sys/un.h>
> > + #include "clif_sock.h"
> > +
> > 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..86c9f4463
> > --- /dev/null
> > +++ b/meta-networking/recipes-protocols/openlldp/files/0001-autotools-Add-option-to-disable-installation-of-syst.patch
> > @@ -0,0 +1,57 @@
> > +From 1c1e01b2414ca5b3cf5a21b6e6389f9ca82fd7e9 Mon Sep 17 00:00:00 2001
> > +From: Jonathan Richardson <jonathan.richardson@broadcom.com>
> > +Date: Fri, 6 Apr 2018 10:49:04 -0700
> > +Subject: [PATCH 1/1] autotools: Add option to disable installation of systemd
> > + conf files
> > +
> > +Add option to configure.ac to enable or disable install of systemd conf
> > +files. If --with-systemdsystemunitdir is passed to configure then the
> > +files will be installed to the provided directory. If the option isn't
> > +provided then the value is determined from the systemd pkgconfig file,
> > +if found in PKG_CONFIG_PATH.
> > +
> > +This change is required because Makefile.am always installed the files
> > +to a hard coded path that couldn't be changed.
> > +---
> > + Makefile.am | 3 ++-
> > + configure.ac | 9 +++++++++
> > + 2 files changed, 11 insertions(+), 1 deletion(-)
> > +
> > +diff --git a/Makefile.am b/Makefile.am
> > +index 551d4c7..5491c61 100644
> > +--- a/Makefile.am
> > ++++ b/Makefile.am
> > +@@ -133,8 +133,9 @@ install-data-hook: installdirs-local
> > + pkgconfigdir = ${libdir}/pkgconfig
> > + pkgconfig_DATA = lldpad.pc liblldp_clif.pc
> > +
> > +-systemdsystemunitdir = $(prefix)/lib/systemd/system
> > ++if HAVE_SYSTEMD
> > + dist_systemdsystemunit_DATA = lldpad.service lldpad.socket
> > ++endif
> > +
> > + bashcompletiondir = $(sysconfdir)/bash_completion.d
> > + dist_bashcompletion_DATA = contrib/bash_completion/lldpad contrib/bash_completion/lldptool
> > +diff --git a/configure.ac b/configure.ac
> > +index 0667446..f75f433 100644
> > +--- a/configure.ac
> > ++++ b/configure.ac
> > +@@ -95,6 +95,15 @@ AC_TYPE_UINT16_T
> > + AC_TYPE_UINT32_T
> > + AC_TYPE_UINT8_T
> > +
> > ++# Support for systemd unit files.
> > ++AC_ARG_WITH([systemdsystemunitdir],
> > ++ AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]),
> > ++ [], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)])
> > ++if test "x$with_systemdsystemunitdir" != xno; then
> > ++ AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
> > ++fi
> > ++AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != xno ])
> > ++
> > + AC_CONFIG_FILES([Makefile include/version.h lldpad.spec lldpad.pc liblldp_clif.pc])
> > + AC_CONFIG_MACRO_DIR([m4])
> > + AC_OUTPUT
> > +--
> > +1.9.1
> > +
> > 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..ef8d780c6
> > --- /dev/null
> > +++ b/meta-networking/recipes-protocols/openlldp/openlldp_1.0.1.bb
> > @@ -0,0 +1,39 @@
> > +SUMMARY = "Open-LLDP"
> > +DESCRIPTION = "Link Layer Discovery Protocol for Linux that includes support for DCBX"
> > +HOMEPAGE = "http://open-lldp.org/start"
> > +
> > +LICENSE = "GPLv2"
> > +LIC_FILES_CHKSUM = "file://COPYING;md5=8c2bc283e65df398ced5f5b747e78162"
> > +
> > +S = "${WORKDIR}/git"
> > +
> > +inherit pkgconfig autotools
> > +inherit ${@bb.utils.contains('VIRTUAL-RUNTIME_init_manager', 'systemd', 'systemd', '', d)}
> > +
> > +DEPENDS = "libnl libconfig readline"
> > +
> > +SRCREV = "36d729de7ce5b56cf061d94d610cf0510154820c"
> > +SRC_URI = "git://github.com/intel/openlldp.git;protocol=https;branch=master \
> > + file://0001-autotools-Add-option-to-disable-installation-of-syst.patch \
> > + file://0001-Fix-musl-libc-build-issue.patch \
> > + "
> > +
> > +# Even though .ac allows disabling -Werror, Makefile.am adds it to AM_CFLAGS
> > +# causing it to always be enabled. There are warnings so disable it.
> > +TARGET_CFLAGS += "-Wno-error"
>
> is there configure option --disable-werror, we should use that if available.
No unfortunately it's not supported. I'll fix the comment. .ac doesn't
allow disabling
of Werror. Support would have to be added to .ac.
>
> > +
> > +# configure.ac generates version.h from include/version.h.in but autotools puts
> > +# build artefacts in $B, not $S and the header can't be found. To avoid
> > +# inheriting autotools-brokensep and messing up the source dir just tell Makefile
> > +# where it is.
> > +TARGET_CFLAGS += "-I ${B}/include"
>
> Can we avoid using B here.
The output file from AC_CONFIG_FILES goes to $B and this path isn't included
automatically by autoconf. inheriting autotools-brokensep would avoid
the problem.
I can add another patch but there doesn't seem to be a variable for
the output dir
of this macro that I could use in cflags.. or at least I can't find it.
>
> > +
> > +# Enable install of systemd conf files.
> > +EXTRA_OECONF += "${@bb.utils.contains('VIRTUAL-RUNTIME_init_manager', 'systemd', '--with-systemdsystemunitdir=${systemd_system_unitdir}', '', d)}"
>
> we should be checking for systemd in DISTRO_FEATURES here.
Ok.
>
> > +
> > +SYSTEMD_SERVICE_${PN} = "lldpad.service lldpad.socket"
> > +
> > +# To enable service at boot set to enable in local.conf.
> > +SYSTEMD_AUTO_ENABLE ?= "disable"
> > +
> > +RRECOMMENDS_${PN} = "iproute2-tc"
> >
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [meta-oe][PATCH v2 1/1] open-lldp: Add initial version 1.0.1
2020-02-26 22:54 ` Jonathan Richardson
@ 2020-02-26 23:28 ` Khem Raj
0 siblings, 0 replies; 4+ messages in thread
From: Khem Raj @ 2020-02-26 23:28 UTC (permalink / raw)
To: Jonathan Richardson; +Cc: openembeded-devel
On 2/26/20 2:54 PM, Jonathan Richardson wrote:
> On Wed, Feb 26, 2020 at 12:34 PM Khem Raj <raj.khem@gmail.com> wrote:
>>
>> Thanks Jonathan, I have few more comments.
>>
>> On 2/26/20 12:29 PM, Jonathan Richardson via Openembedded-devel wrote:
>>> Open-LLDP provides a Link Layer Discovery Protocol agent that supports
>>> DCB (Data Center Bridging). The tc utility from iproute is needed to
>>> manipulate traffic control settings in the kernel.
>>>
>>> Signed-off-by: Jonathan Richardson <jonathan.richardson@broadcom.com>
>>> ---
>>> .../0001-Fix-musl-libc-build-issue.patch | 25 ++++++++
>>> ...tion-to-disable-installation-of-syst.patch | 57 +++++++++++++++++++
>>> .../openlldp/openlldp_1.0.1.bb | 39 +++++++++++++
>>> 3 files changed, 121 insertions(+)
>>> create mode 100644 meta-networking/recipes-protocols/openlldp/files/0001-Fix-musl-libc-build-issue.patch
>>> create mode 100644 meta-networking/recipes-protocols/openlldp/files/0001-autotools-Add-option-to-disable-installation-of-syst.patch
>>> create mode 100644 meta-networking/recipes-protocols/openlldp/openlldp_1.0.1.bb
>>>
>>> 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..d8d5df218
>>> --- /dev/null
>>> +++ b/meta-networking/recipes-protocols/openlldp/files/0001-Fix-musl-libc-build-issue.patch
>>> @@ -0,0 +1,25 @@
>>> +From b20d64f814c15efbd6a19aacfbfecf15083a83dc Mon Sep 17 00:00:00 2001
>>> +From: Jonathan Richardson <jonathan.richardson@broadcom.com>
>>> +Date: Wed, 26 Feb 2020 12:16:38 -0800
>>> +Subject: [PATCH] Fix musl libc build issue
>>> +
>>> +clif.h should include sys/types.h for the definition of pid_t. It fails
>>> +to compile when using musl libc.
>>> +
>>> +Signed-off-by: Jonathan Richardson <jonathan.richardson@broadcom.com>
>>> +---
>>> + include/clif.h | 1 +
>>> + 1 file changed, 1 insertion(+)
>>> +
>>> +diff --git a/include/clif.h b/include/clif.h
>>> +index 648eedf..92f4fd8 100644
>>> +--- a/include/clif.h
>>> ++++ b/include/clif.h
>>> +@@ -32,6 +32,7 @@
>>> + #ifndef CLIF_H
>>> + #define CLIF_H
>>> +
>>> ++#include <sys/types.h>
>>> + #include <sys/un.h>
>>> + #include "clif_sock.h"
>>> +
>>> 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..86c9f4463
>>> --- /dev/null
>>> +++ b/meta-networking/recipes-protocols/openlldp/files/0001-autotools-Add-option-to-disable-installation-of-syst.patch
>>> @@ -0,0 +1,57 @@
>>> +From 1c1e01b2414ca5b3cf5a21b6e6389f9ca82fd7e9 Mon Sep 17 00:00:00 2001
>>> +From: Jonathan Richardson <jonathan.richardson@broadcom.com>
>>> +Date: Fri, 6 Apr 2018 10:49:04 -0700
>>> +Subject: [PATCH 1/1] autotools: Add option to disable installation of systemd
>>> + conf files
>>> +
>>> +Add option to configure.ac to enable or disable install of systemd conf
>>> +files. If --with-systemdsystemunitdir is passed to configure then the
>>> +files will be installed to the provided directory. If the option isn't
>>> +provided then the value is determined from the systemd pkgconfig file,
>>> +if found in PKG_CONFIG_PATH.
>>> +
>>> +This change is required because Makefile.am always installed the files
>>> +to a hard coded path that couldn't be changed.
>>> +---
>>> + Makefile.am | 3 ++-
>>> + configure.ac | 9 +++++++++
>>> + 2 files changed, 11 insertions(+), 1 deletion(-)
>>> +
>>> +diff --git a/Makefile.am b/Makefile.am
>>> +index 551d4c7..5491c61 100644
>>> +--- a/Makefile.am
>>> ++++ b/Makefile.am
>>> +@@ -133,8 +133,9 @@ install-data-hook: installdirs-local
>>> + pkgconfigdir = ${libdir}/pkgconfig
>>> + pkgconfig_DATA = lldpad.pc liblldp_clif.pc
>>> +
>>> +-systemdsystemunitdir = $(prefix)/lib/systemd/system
>>> ++if HAVE_SYSTEMD
>>> + dist_systemdsystemunit_DATA = lldpad.service lldpad.socket
>>> ++endif
>>> +
>>> + bashcompletiondir = $(sysconfdir)/bash_completion.d
>>> + dist_bashcompletion_DATA = contrib/bash_completion/lldpad contrib/bash_completion/lldptool
>>> +diff --git a/configure.ac b/configure.ac
>>> +index 0667446..f75f433 100644
>>> +--- a/configure.ac
>>> ++++ b/configure.ac
>>> +@@ -95,6 +95,15 @@ AC_TYPE_UINT16_T
>>> + AC_TYPE_UINT32_T
>>> + AC_TYPE_UINT8_T
>>> +
>>> ++# Support for systemd unit files.
>>> ++AC_ARG_WITH([systemdsystemunitdir],
>>> ++ AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]),
>>> ++ [], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)])
>>> ++if test "x$with_systemdsystemunitdir" != xno; then
>>> ++ AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
>>> ++fi
>>> ++AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != xno ])
>>> ++
>>> + AC_CONFIG_FILES([Makefile include/version.h lldpad.spec lldpad.pc liblldp_clif.pc])
>>> + AC_CONFIG_MACRO_DIR([m4])
>>> + AC_OUTPUT
>>> +--
>>> +1.9.1
>>> +
>>> 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..ef8d780c6
>>> --- /dev/null
>>> +++ b/meta-networking/recipes-protocols/openlldp/openlldp_1.0.1.bb
>>> @@ -0,0 +1,39 @@
>>> +SUMMARY = "Open-LLDP"
>>> +DESCRIPTION = "Link Layer Discovery Protocol for Linux that includes support for DCBX"
>>> +HOMEPAGE = "http://open-lldp.org/start"
>>> +
>>> +LICENSE = "GPLv2"
>>> +LIC_FILES_CHKSUM = "file://COPYING;md5=8c2bc283e65df398ced5f5b747e78162"
>>> +
>>> +S = "${WORKDIR}/git"
>>> +
>>> +inherit pkgconfig autotools
>>> +inherit ${@bb.utils.contains('VIRTUAL-RUNTIME_init_manager', 'systemd', 'systemd', '', d)}
>>> +
>>> +DEPENDS = "libnl libconfig readline"
>>> +
>>> +SRCREV = "36d729de7ce5b56cf061d94d610cf0510154820c"
>>> +SRC_URI = "git://github.com/intel/openlldp.git;protocol=https;branch=master \
>>> + file://0001-autotools-Add-option-to-disable-installation-of-syst.patch \
>>> + file://0001-Fix-musl-libc-build-issue.patch \
>>> + "
>>> +
>>> +# Even though .ac allows disabling -Werror, Makefile.am adds it to AM_CFLAGS
>>> +# causing it to always be enabled. There are warnings so disable it.
>>> +TARGET_CFLAGS += "-Wno-error"
>>
>> is there configure option --disable-werror, we should use that if available.
>
> No unfortunately it's not supported. I'll fix the comment. .ac doesn't
> allow disabling
> of Werror. Support would have to be added to .ac.
OK, I think this should be fine. Ideally we should try to fix the warnings.
>
>>
>>> +
>>> +# configure.ac generates version.h from include/version.h.in but autotools puts
>>> +# build artefacts in $B, not $S and the header can't be found. To avoid
>>> +# inheriting autotools-brokensep and messing up the source dir just tell Makefile
>>> +# where it is.
>>> +TARGET_CFLAGS += "-I ${B}/include"
>>
>> Can we avoid using B here.
>
> The output file from AC_CONFIG_FILES goes to $B and this path isn't included
> automatically by autoconf. inheriting autotools-brokensep would avoid
> the problem.
> I can add another patch but there doesn't seem to be a variable for
> the output dir
> of this macro that I could use in cflags.. or at least I can't find it.
ah I see. Its perhaps using ${srcdir} in Makefile.am. I think you should
be able to fix it by modifying AM_CPPFLAGS in Makefile.am to use
I${top_builddir}/include, such a patch should be sent upstream as well
to fix out of tree builds. Its a good thing.
>
>>
>>> +
>>> +# Enable install of systemd conf files.
>>> +EXTRA_OECONF += "${@bb.utils.contains('VIRTUAL-RUNTIME_init_manager', 'systemd', '--with-systemdsystemunitdir=${systemd_system_unitdir}', '', d)}"
>>
>> we should be checking for systemd in DISTRO_FEATURES here.
>
> Ok.
>
>>
>>> +
>>> +SYSTEMD_SERVICE_${PN} = "lldpad.service lldpad.socket"
>>> +
>>> +# To enable service at boot set to enable in local.conf.
>>> +SYSTEMD_AUTO_ENABLE ?= "disable"
>>> +
>>> +RRECOMMENDS_${PN} = "iproute2-tc"
>>>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2020-02-26 23:28 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-26 20:29 [meta-oe][PATCH v2 1/1] open-lldp: Add initial version 1.0.1 Jonathan Richardson
2020-02-26 20:34 ` Khem Raj
2020-02-26 22:54 ` Jonathan Richardson
2020-02-26 23:28 ` Khem Raj
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.