Skip to contentSkip to conversation

Added lldpad (LLDP Agent Daemon) package.

PATCH New Laurent Charpentier 3 participants 3 messages Jan 12, 2018

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Added lldpad (LLDP Agent Daemon) package.

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/

---
 package/Config.in                                  |  1 +
 .../open-lldp/0001-lldpad-vdptool-getline.patch    | 10 +++++++++
 package/open-lldp/Config.in                        | 11 +++++++++
 package/open-lldp/open-lldp.hash                   |  2 ++
 package/open-lldp/open-lldp.mk                     | 26 ++++++++++++++++++++++
 5 files changed, 50 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
package/Config.in +1 -0
index 01f4095be5..37e1e753e3 100644
@@ -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"
package/open-lldp/0001-lldpad-vdptool-getline.patch new file +10 -0
new file mode 100644
index 0000000000..ac2e62ff16
@@ -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>
package/open-lldp/Config.in new file +11 -0
new file mode 100644
index 0000000000..84b24702c7
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_OPEN_LLDP
+        bool "open-lldp"
+        select BR2_PACKAGE_LIBCONFIG
+        select BR2_PACKAGE_LIBNL
+        select BR2_PACKAGE_LIBTOOL
+        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.
+
package/open-lldp/open-lldp.hash new file +2 -0
new file mode 100644
index 0000000000..6fef5b2999
@@ -0,0 +1,2 @@
+# Locally computed
+sha256 217124f24ac57d3191ab33c53fccf5d7319e83f9029610be3c3cb71392480a2a  open-lldp-036e314.tar.gz
package/open-lldp/open-lldp.mk new file +26 -0
new file mode 100644
index 0000000000..5a69595b4f
@@ -0,0 +1,26 @@
+################################################################################
+#
+# open-lldp
+#
+################################################################################
+
+OPEN_LLDP_VERSION = 036e314
+OPEN_LLDP_SITE = git://open-lldp.org/open-lldp.git
+OPEN_LLDP_SITE_METHOD = git
+OPEN_LLDP_DEPENDENCIES = libconfig host-pkgconf libtool
+OPEN_LLDP_LICENSE = GPL-2.0
+OPEN_LLDP_LICENSE_FILES = README
+
+OPEN_LLDP_AUTORECONF = YES
+OPEN_LLDP_INSTALL_STAGING = YES
+
+OPEN_LLDP_CONF_OPTS = \
+        --disable-static
+
+define OPEN_LLDP_BOOTSTRAP
+        (cd $(@D) && ./bootstrap.sh)
+endef
+
+OPEN_LLDP_PRE_CONFIGURE_HOOKS += OPEN_LLDP_BOOTSTRAP
+
+$(eval $(autotools-package))
Signature · 1 line
2.14.3
#1 lore raw

PATCH 1/1 Added lldpad (LLDP Agent Daemon) package.

Hi Laurent,

Quoted 7 lines · Laurent Charpentier

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/

Quoted 7 lines
---
 package/Config.in                                  |  1 +
 .../open-lldp/0001-lldpad-vdptool-getline.patch    | 10 +++++++++
 package/open-lldp/Config.in                        | 11 +++++++++
 package/open-lldp/open-lldp.hash                   |  2 ++
 package/open-lldp/open-lldp.mk                     | 26 ++++++++++++++++++++++

Please also add an entry to the DEVELOPERS file.

Quoted 24 lines
 5 files changed, 50 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
package/Config.in +1 -0
index 01f4095be5..37e1e753e3 100644
@@ -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"
package/open-lldp/0001-lldpad-vdptool-getline.patch new file +0 -0
new file mode 100644
index 0000000000..ac2e62ff16

package/open-lldp/0001-lldpad-vdptool-getline.patch line 10

Quoted 10 lines
package/open-lldp/0001-lldpad-vdptool-getline.patch new file +10 -0
@@ -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 should be git formatted, have a proper commit log and your Signed-off-by tag.

Quoted 7 lines
package/open-lldp/Config.in new file +1 -0
new file mode 100644
index 0000000000..84b24702c7
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_OPEN_LLDP

package/open-lldp/Config.in line 11

Quoted 10 lines
package/open-lldp/Config.in new file +10 -0
+        bool "open-lldp"
+        select BR2_PACKAGE_LIBCONFIG
+        select BR2_PACKAGE_LIBNL
+        select BR2_PACKAGE_LIBTOOL
+        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.
+

Projects URL missing.

package/open-lldp/open-lldp.hash line 2

Quoted 8 lines
package/open-lldp/open-lldp.hash new file +2 -0
new file mode 100644
index 0000000000..6fef5b2999
@@ -0,0 +1,2 @@
+# Locally computed
+sha256 217124f24ac57d3191ab33c53fccf5d7319e83f9029610be3c3cb71392480a2a  open-lldp-036e314.tar.gz

checksum for licence file (README) is missing.

Quoted 6 lines
package/open-lldp/open-lldp.mk new file +0 -0
new file mode 100644
index 0000000000..5a69595b4f

package/open-lldp/open-lldp.mk line 10

Quoted 10 lines
package/open-lldp/open-lldp.mk new file +10 -0
@@ -0,0 +1,26 @@
+################################################################################
+#
+# open-lldp
+#
+################################################################################
+
+OPEN_LLDP_VERSION = 036e314
+OPEN_LLDP_SITE = git://open-lldp.org/open-lldp.git
+OPEN_LLDP_SITE_METHOD = git
+OPEN_LLDP_DEPENDENCIES = libconfig host-pkgconf libtool

What about libnl?

package/open-lldp/open-lldp.mk line 22

Quoted 12 lines
package/open-lldp/open-lldp.mk new file +12 -0
+OPEN_LLDP_LICENSE = GPL-2.0
+OPEN_LLDP_LICENSE_FILES = README
+
+OPEN_LLDP_AUTORECONF = YES
+OPEN_LLDP_INSTALL_STAGING = YES
+
+OPEN_LLDP_CONF_OPTS = \
+        --disable-static
+
+define OPEN_LLDP_BOOTSTRAP
+        (cd $(@D) && ./bootstrap.sh)
+endef

Why is this needed? Isn't OPEN_LLDP_AUTORECONF = YES sufficient?

Yegor

Quoted 11 lines
package/open-lldp/open-lldp.mk new file +4 -1
+
+OPEN_LLDP_PRE_CONFIGURE_HOOKS += OPEN_LLDP_BOOTSTRAP
+
+$(eval $(autotools-package))
--

2.14.3

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

#2 lore raw

PATCH 1/1 Added lldpad (LLDP Agent Daemon) package.

In reply to Laurent Charpentier

Hello Laurent,

Thanks for this new version! Much easier to review.

First minor comment, the commit title should be:

open-lldp: new package

Quoted 7 lines · Laurent Charpentier

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/

Quoted 7 lines
---
 package/Config.in                                  |  1 +
 .../open-lldp/0001-lldpad-vdptool-getline.patch    | 10 +++++++++
 package/open-lldp/Config.in                        | 11 +++++++++
 package/open-lldp/open-lldp.hash                   |  2 ++
 package/open-lldp/open-lldp.mk                     | 26 ++++++++++++++++++++++

Please add an entry in the DEVELOPERS file for this package. This will allow you to be notified when patches are submitted for this package, and when there are build failures occurring due to this package.

package/open-lldp/0001-lldpad-vdptool-getline.patch

Quoted 5 lines
package/open-lldp/0001-lldpad-vdptool-getline.patch new file +0 -0
new file mode 100644
index 0000000000..ac2e62ff16

All patches should have a description and a Signed-off-by line. In addition, since this project is hosted in Git upstream, we would like patches to be formatted with "git format-patch -N".

package/open-lldp/Config.in line 4

Quoted 10 lines
package/open-lldp/Config.in new file +4 -0
new file mode 100644
index 0000000000..84b24702c7
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_OPEN_LLDP
+        bool "open-lldp"
+        select BR2_PACKAGE_LIBCONFIG
+        select BR2_PACKAGE_LIBNL

libnl depends on threads, so you need to replicate the threads dependency, and add a Config.in comment about it.

package/open-lldp/Config.in line 5

Quoted 1 line
package/open-lldp/Config.in new file +1 -0
+        select BR2_PACKAGE_LIBTOOL

Not needed, you don't need libtool for the target.

package/open-lldp/Config.in line 10

Quoted 5 lines
package/open-lldp/Config.in new file +5 -0
+        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.

Indentation for the help text is one tab + two spaces. Also, we like to have the URL to the upstream project in the help text, after one blank line.

These minor details are verified by the ./utils/check-package. I would recommend you to run this script on your package.

package/open-lldp/Config.in line 11

Quoted 1 line
package/open-lldp/Config.in new file +1 -0
+OPEN_LLDP_VERSION = 036e314

Please use a full hash.

package/open-lldp/Config.in

Quoted 3 lines
package/open-lldp/Config.in new file +3 -0
+OPEN_LLDP_SITE = git://open-lldp.org/open-lldp.git<
+OPEN_LLDP_SITE_METHOD = git
+OPEN_LLDP_DEPENDENCIES = libconfig host-pkgconf libtool

I'm pretty sure libtool is not needed on the target.

What about readline? You select it in the Config.in, but you don't depend on it. Is it just a runtime dependency (seems unlikely).

package/open-lldp/Config.in

Quoted 2 lines
package/open-lldp/Config.in new file +2 -0
+OPEN_LLDP_LICENSE = GPL-2.0
+OPEN_LLDP_LICENSE_FILES = README

COPYING is a better license file.

Quoted 1 line

+OPEN_LLDP_AUTORECONF = YES

We like to have a comment above autoreconf to explain why it is needed. In your case, something like:

# Fetching from git, need to generate configure/Makefile.in

package/open-lldp/Config.in

Quoted 4 lines
package/open-lldp/Config.in new file +4 -0
+OPEN_LLDP_INSTALL_STAGING = YES
+
+OPEN_LLDP_CONF_OPTS = \
+        --disable-static

This should not be needed, the autotools-package infrastructure is already passing --{enable,disable}-{shared,static} depending on the Buildroot configuration.

package/open-lldp/Config.in

Quoted 5 lines
package/open-lldp/Config.in new file +5 -0
+define OPEN_LLDP_BOOTSTRAP
+        (cd $(@D) && ./bootstrap.sh)
+endef
+
+OPEN_LLDP_PRE_CONFIGURE_HOOKS += OPEN_LLDP_BOOTSTRAP

Why do you need this? <pkg>_AUTORECONF should be sufficient.

Also, could you test your package with ./utils/test-pkg ? This would test it with a wide variety of toolchains/architectures, which will allow to detect build issues before they arrive on our autobuilder infrastructure.

Could you take into account those comments (most of them are really trivial) and submit an updated version?

Thanks a lot for your contribution!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com