Bump version to current stable version 0.7.19.
Add options for custom TLV and JSON support.
Add systemd unit and adapt rule file accordingly.

Signed-off-by: Clemens Gruber <clemens.gru...@pqgruber.com>
---
 projectroot/lib/systemd/system/lldpd.service | 13 ++++++++++++
 rules/lldpd.in                               | 18 +++++++++++++++-
 rules/lldpd.make                             | 31 +++++++++++++++++++++++-----
 3 files changed, 56 insertions(+), 6 deletions(-)
 create mode 100644 projectroot/lib/systemd/system/lldpd.service

diff --git a/projectroot/lib/systemd/system/lldpd.service 
b/projectroot/lib/systemd/system/lldpd.service
new file mode 100644
index 0000000..9b51165
--- /dev/null
+++ b/projectroot/lib/systemd/system/lldpd.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=LLDP daemon
+After=network.target
+RequiresMountsFor=@PRIVSEP_CHROOT@
+
+[Service]
+Type=notify
+NotifyAccess=main
+ExecStart=/usr/sbin/lldpd @DAEMON_ARGS@
+Restart=on-failure
+
+[Install]
+WantedBy=multi-user.target
diff --git a/rules/lldpd.in b/rules/lldpd.in
index c4b4434..e7d3f51 100644
--- a/rules/lldpd.in
+++ b/rules/lldpd.in
@@ -7,6 +7,7 @@ menuconfig LLDPD
        select LIBEVENT
        select NET_SNMP if LLDPD_SNMP
        select NET_SNMP_MIB_MODULES_AGENTX if LLDPD_SNMP
+       select JSON_C if LLDPD_JSON
        select LIBXML2 if LLDPD_XML
        select BUSYBOX_START_STOP_DAEMON if LLDPD_STARTSCRIPT
        select BUSYBOX_FEATURE_START_STOP_DAEMON_LONG_OPTIONS if 
LLDPD_STARTSCRIPT
@@ -66,14 +67,23 @@ config LLDPD_DOT3
        prompt "Enable Dot3 extension (PHY stuff)"
        default y
 
+config LLDPD_CUSTOM_TLV
+       bool
+       prompt "Enable Custom TLV support"
+       default y
+
 config LLDPD_OLDIES
        bool
-       prompt "Enable compatibility with Linux kernel older than 2.6.18"
+       prompt "Enable compatibility with Linux kernel older than 2.6.32"
 
 config LLDPD_SNMP
        bool
        prompt "Enable the use of SNMP"
 
+config LLDPD_JSON
+       bool
+       prompt "Enable JSON output via json-c"
+
 config LLDPD_XML
        bool
        prompt "Enable XML output via libxml2"
@@ -83,6 +93,12 @@ config LLDPD_STARTSCRIPT
        prompt "install /etc/init.d/lldpd"
        default y
 
+config LLDPD_SYSTEMD_UNIT
+       bool
+       prompt "install systemd service file"
+       default y
+       depends on SYSTEMD
+
 config LLDPD_DAEMON_ARGS
        string
        prompt "additional arguments for daemon startup"
diff --git a/rules/lldpd.make b/rules/lldpd.make
index 37ba590..42c3809 100644
--- a/rules/lldpd.make
+++ b/rules/lldpd.make
@@ -1,6 +1,7 @@
 # -*-makefile-*-
 #
 # Copyright (C) 2013 by Alexander Dahl <p...@lespocky.de>
+# Copyright (C) 2015 by Clemens Gruber <clemens.gru...@pqgruber.com>
 #
 # See CREDITS for details about who has contributed to this project.
 #
@@ -16,13 +17,13 @@ PACKAGES-$(PTXCONF_LLDPD) += lldpd
 #
 # Paths and names
 #
-LLDPD_VERSION  := 0.7.6
-LLDPD_MD5              := dbd90a68b91448dcb94a4a77c5d8ef65
-LLDPD                  := lldpd-$(LLDPD_VERSION)
+LLDPD_VERSION  := 0.7.19
+LLDPD_MD5      := 4e924420e00ccd5dc289506f43221820
+LLDPD          := lldpd-$(LLDPD_VERSION)
 LLDPD_SUFFIX   := tar.gz
-LLDPD_URL              := 
http://media.luffy.cx/files/lldpd//$(LLDPD).$(LLDPD_SUFFIX)
+LLDPD_URL      := http://media.luffy.cx/files/lldpd//$(LLDPD).$(LLDPD_SUFFIX)
 LLDPD_SOURCE   := $(SRCDIR)/$(LLDPD).$(LLDPD_SUFFIX)
-LLDPD_DIR              := $(BUILDDIR)/$(LLDPD)
+LLDPD_DIR      := $(BUILDDIR)/$(LLDPD)
 LLDPD_LICENSE  := ISC
 
 # ----------------------------------------------------------------------------
@@ -40,13 +41,21 @@ LLDPD_CONF_OPT      := $(CROSS_AUTOCONF_USR) \
        --$(call ptx/endis, PTXCONF_LLDPD_LLDPMED)-lldpmed \
        --$(call ptx/endis, PTXCONF_LLDPD_DOT1)-dot1 \
        --$(call ptx/endis, PTXCONF_LLDPD_DOT3)-dot3 \
+       --$(call ptx/endis, PTXCONF_LLDPD_CUSTOM_TLV)-custom \
        --$(call ptx/endis, PTXCONF_LLDPD_OLDIES)-oldies \
        --$(call ptx/wwo, PTXCONF_LLDPD_SNMP)-snmp \
+       --$(call ptx/wwo, PTXCONF_LLDPD_JSON)-json \
        --$(call ptx/wwo, PTXCONF_LLDPD_XML)-xml \
        --with-privsep-user="$(PTXCONF_LLDPD_PRIVSEP_USER)" \
        --with-privsep-group="$(PTXCONF_LLDPD_PRIVSEP_GROUP)" \
        --with-privsep-chroot="$(PTXCONF_LLDPD_PRIVSEP_CHROOT)"
 
+ifdef PTXCONF_LLDPD_SYSTEMD_UNIT
+LLDPD_CONF_OPT += --with-systemdsystemunitdir=/lib/systemd/system
+else
+LLDPD_CONF_OPT += --without-systemdsystemunitdir
+endif
+
 # ----------------------------------------------------------------------------
 # Target-Install
 # ----------------------------------------------------------------------------
@@ -82,6 +91,18 @@ endif
 endif
 endif
 
+ifdef PTXCONF_LLDPD_SYSTEMD_UNIT
+       @$(call install_alternative, lldpd, 0, 0, 0755, 
/lib/systemd/system/lldpd.service)
+       @$(call install_replace, lldpd, /lib/systemd/system/lldpd.service, \
+               @DAEMON_ARGS@, $(PTXCONF_LLDPD_DAEMON_ARGS))
+       @$(call install_replace, lldpd, /lib/systemd/system/lldpd.service, \
+               @PRIVSEP_CHROOT@, $(PTXCONF_LLDPD_PRIVSEP_CHROOT))
+       @$(call install_link, lldpd, \
+               ../lldpd.service, \
+               /lib/systemd/system/multi-user.target.wants/lldpd.service \
+       )
+endif
+
        @$(call install_finish, lldpd)
 
        @$(call touch)
-- 
2.6.2


_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

Reply via email to