[Buildroot] [PATCH 1/1] open-lldp: new package

Yegor Yefremov yegorslists at googlemail.com
Fri Jan 12 14:46:14 UTC 2018


Hi Laurent,

please provide change history when sending another patch version
(you'll find examples in Buildroot's manual
http://nightly.buildroot.org/manual.html#submitting-patches).

On Fri, Jan 12, 2018 at 3:01 PM, Laurent Charpentier
<laurent_pubs at yahoo.com> wrote:
> The lldpad package comes with utilities to manage an LLDP interface with
> support for reading and configuring TLVs. TLVs and interfaces are individual
> controlled allowing flexible configuration for TX only, RX only, or TX/RX
> modes per TLV.
>
> http://open-lldp.org/
>
> Signed-off-by: Laurent Charpentier <laurent_pubs at yahoo.com>
> ---
>  DEVELOPERS                                         |  3 +++
>  package/Config.in                                  |  1 +
>  .../open-lldp/0001-lldpad-vdptool-getline.patch    | 10 +++++++++
>  package/open-lldp/Config.in                        | 12 +++++++++++
>  package/open-lldp/open-lldp.hash                   |  2 ++
>  package/open-lldp/open-lldp.mk                     | 25 ++++++++++++++++++++++
>  6 files changed, 53 insertions(+)
>  create mode 100644 package/open-lldp/0001-lldpad-vdptool-getline.patch
>  create mode 100644 package/open-lldp/Config.in
>  create mode 100644 package/open-lldp/open-lldp.hash
>  create mode 100644 package/open-lldp/open-lldp.mk
>
> diff --git a/DEVELOPERS b/DEVELOPERS
> index 2f7d051e8a..012af32925 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -929,6 +929,9 @@ F:  package/qt5/
>  N:     Julien Floret <julien.floret at 6wind.com>
>  F:     package/lldpd/
>
> +N:     Laurent Charpentier <laurent_pubs at yahoo.com>
> +F:     package/open-lldp/
> +
>  N:     Julien Viard de Galbert <julien at vdg.name>
>  F:     package/dieharder/
>  F:     package/easy-rsa/
> diff --git a/package/Config.in b/package/Config.in
> index 01f4095be5..37e1e753e3 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -1760,6 +1760,7 @@ endif
>         source "package/odhcp6c/Config.in"
>         source "package/odhcploc/Config.in"
>         source "package/olsr/Config.in"
> +       source "package/open-lldp/Config.in"
>         source "package/open-plc-utils/Config.in"
>         source "package/openntpd/Config.in"
>         source "package/openobex/Config.in"
> diff --git a/package/open-lldp/0001-lldpad-vdptool-getline.patch b/package/open-lldp/0001-lldpad-vdptool-getline.patch
> new file mode 100644
> index 0000000000..ac2e62ff16
> --- /dev/null
> +++ b/package/open-lldp/0001-lldpad-vdptool-getline.patch
> @@ -0,0 +1,10 @@
> +--- open-lldp-036e314/vdptool.c 2015-08-24 19:31:59.000000000 +0200
> ++++ open-lldp-036e314_patched/vdptool.c 2018-01-10 10:16:24.096431555 +0100
> +@@ -36,6 +36,7 @@
> +  * set and query VSI profile settings.
> +  */
> +
> ++#define _GNU_SOURCE
> + #include <stdlib.h>
> + #include <stdio.h>
> + #include <unistd.h>

the patch still has now commit log etc.

> diff --git a/package/open-lldp/Config.in b/package/open-lldp/Config.in
> new file mode 100644
> index 0000000000..79eefee71b
> --- /dev/null
> +++ b/package/open-lldp/Config.in
> @@ -0,0 +1,12 @@
> +config BR2_PACKAGE_OPEN_LLDP
> +       bool "open-lldp"
> +       depends on BR2_TOOLCHAIN_HAS_THREADS # libnl
> +       select BR2_PACKAGE_LIBCONFIG
> +       select BR2_PACKAGE_LIBNL
> +       select BR2_PACKAGE_READLINE
> +       help
> +         This package contains the Linux user space daemon and
> +         configuration tool for Intel LLDP Agent with Enhanced Ethernet
> +         support for the Data Center.
> +
> +         http://open-lldp.org/
> diff --git a/package/open-lldp/open-lldp.hash b/package/open-lldp/open-lldp.hash
> new file mode 100644
> index 0000000000..6fef5b2999
> --- /dev/null
> +++ b/package/open-lldp/open-lldp.hash
> @@ -0,0 +1,2 @@
> +# Locally computed
> +sha256 217124f24ac57d3191ab33c53fccf5d7319e83f9029610be3c3cb71392480a2a  open-lldp-036e314.tar.gz

checksum for COPYING is missing

> diff --git a/package/open-lldp/open-lldp.mk b/package/open-lldp/open-lldp.mk
> new file mode 100644
> index 0000000000..d062b6795b
> --- /dev/null
> +++ b/package/open-lldp/open-lldp.mk
> @@ -0,0 +1,25 @@
> +################################################################################
> +#
> +# open-lldp
> +#
> +################################################################################
> +
> +OPEN_LLDP_VERSION = 036e314bd93602f7388262cc37faf8b626980af1
> +OPEN_LLDP_SITE = git://open-lldp.org/open-lldp.git
> +OPEN_LLDP_SITE_METHOD = git

if you provide a git URL you don't need to specify the method.

> +OPEN_LLDP_DEPENDENCIES = readline libnl libconfig
> +OPEN_LLDP_LICENSE = GPL-2.0
> +OPEN_LLDP_LICENSE_FILES = COPYING
> +
> +# Fetching from git, need to generate configure/Makefile.in
> +OPEN_LLDP_AUTORECONF = YES
> +
> +# Run the bootstrap.sh command.
> +# (from the 'lldpad Application Install' section of the README file)
> +define OPEN_LLDP_BOOTSTRAP
> +       (cd $(@D) && ./bootstrap.sh)
> +endef

m4 folder is missing. It is worth sending a patch upstream (open-lldp)
to fix this. As long as you have this hook, you don't need
OPEN_LLDP_AUTORECONF = YES, because boostrap.sh already invokes
"autoreconf -i". At least thy this.

> +
> +OPEN_LLDP_PRE_CONFIGURE_HOOKS += OPEN_LLDP_BOOTSTRAP
> +
> +$(eval $(autotools-package))

The package doesn't build:

In file included from lldpad.c:58:0:
./include/lldp_8021qaz.h:237:12: error: inline function
‘ieee8021qaz_clif_cmd’ declared but never defined [-Werror]
 inline int ieee8021qaz_clif_cmd(void *data, struct sockaddr_un *from,
            ^~~~~~~~~~~~~~~~~~~~
./include/lldp_8021qaz.h:222:13: error: inline function ‘set_prio_map’
declared but never defined [-Werror]
 inline void set_prio_map(u32 *prio_map, u8 prio, int tc);
             ^~~~~~~~~~~~
./include/lldp_8021qaz.h:221:12: error: inline function ‘get_prio_map’
declared but never defined [-Werror]
 inline int get_prio_map(u32 prio_map, int tc);
            ^~~~~~~~~~~~

Yegor



More information about the buildroot mailing list