Hi Fabio, [[oe] [meta-networking][PATCH] lldpd: Add recipe] On 15.09.15 (Tue 14:54) Fabio Berton wrote:
> From: Fabio Berton <fabio.ber...@ossystems.com.br> > > lldpd is a 802.1AB implementation, a L2 network discovery protocol. > It also supports CDP, EDP and various other protocols. I haven't looked at this in great detail yet, but it appears like it would provide the same functionality as lldpad, already in meta-networking: commit 6781f9b5dc60bbd39727aeaa74c13dd31eb73838 Author: Qian Lei <qianl.f...@cn.fujitsu.com> Date: Thu Dec 11 17:36:20 2014 +0800 lldpad: Add new recipe LLDPAD contains the Linux user space daemon and configuration tool for Intel LLDP Agent with Enhanced Ethernet support for the Data Center. Signed-off-by: Qian Lei <qianl.f...@cn.fujitsu.com> Signed-off-by: Martin Jansa <martin.ja...@gmail.com> I've no objection to carrying two different implementations, particularly if one is more complete than the other or if one is more actively developed, but I do have a couple of requests for you given that you're the second one on the scene. - Can we move your recipe to sit beside the other lldp daemon? (That is, in recipes-daemons) - Can you update your recipe (and the other, if necessary) to provide an appropriate PROVIDES / CONFLICTS variable? -J. > > Signed-off-by: Fabio Berton <fabio.ber...@ossystems.com.br> > --- > .../recipes-connectivity/lldpd/files/lldpd.default | 2 + > .../recipes-connectivity/lldpd/files/lldpd.init.d | 130 > +++++++++++++++++++++ > .../recipes-connectivity/lldpd/lldpd_0.7.15.bb | 65 +++++++++++ > 3 files changed, 197 insertions(+) > create mode 100644 > meta-networking/recipes-connectivity/lldpd/files/lldpd.default > create mode 100644 > meta-networking/recipes-connectivity/lldpd/files/lldpd.init.d > create mode 100644 meta-networking/recipes-connectivity/lldpd/lldpd_0.7.15.bb > > diff --git a/meta-networking/recipes-connectivity/lldpd/files/lldpd.default > b/meta-networking/recipes-connectivity/lldpd/files/lldpd.default > new file mode 100644 > index 0000000..3acacfd > --- /dev/null > +++ b/meta-networking/recipes-connectivity/lldpd/files/lldpd.default > @@ -0,0 +1,2 @@ > +# Uncomment to start SNMP subagent and enable CDP, SONMP and EDP protocol > +#DAEMON_ARGS="-x -c -s -e" > diff --git a/meta-networking/recipes-connectivity/lldpd/files/lldpd.init.d > b/meta-networking/recipes-connectivity/lldpd/files/lldpd.init.d > new file mode 100644 > index 0000000..2d88d25 > --- /dev/null > +++ b/meta-networking/recipes-connectivity/lldpd/files/lldpd.init.d > @@ -0,0 +1,130 @@ > +#! /bin/sh > +### BEGIN INIT INFO > +# Provides: lldpd > +# Required-Start: $remote_fs $network $syslog > +# Required-Stop: $network $remote_fs $syslog > +# Default-Start: 2 3 4 5 > +# Default-Stop: 0 1 6 > +# Short-Description: LLDP daemon > +# Description: lldpd is a 802.1AB implementation, a L2 network > +# discovery protocol. It also supports CDP, EDP and > +# various other protocols. > +### END INIT INFO > + > +# Do NOT "set -e" > + > +log_daemon_msg() { > + echo $* > +} > + > +log_end_msg() { > + if [ $1 -eq 0 ]; then > + success $* > + else > + failure $* > + fi > +} > + > +log_failure_msg() { > + echo $* > +} > + > +log_success_msg() { > + echo $* > +} > + > + > +# PATH should only include /usr/* if it runs after the mountnfs.sh script > +PATH=/sbin:/usr/sbin:/bin:/usr/bin > +DESC="LLDP daemon" > +NAME=lldpd > +DAEMON=/usr/sbin/$NAME > +DAEMON_ARGS="" > +PIDFILE=/var/run/$NAME.pid > +SCRIPTNAME=/etc/init.d/$NAME > +CHROOT=/var/run/$NAME > + > +# Exit if the package is not installed > +[ -x "$DAEMON" ] || exit 0 > + > +# Read configuration variable file if it is present > +[ -r /etc/default/$NAME ] && . /etc/default/$NAME > + > +# LSB log_* functions > +. /etc/init.d/functions > + > +do_start() > +{ > + start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON > --test > /dev/null \ > + || return 1 > + start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \ > + $DAEMON_ARGS \ > + || return 2 > +} > + > +do_stop() > +{ > + start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile > $PIDFILE --name $NAME > + RETVAL="$?" > + [ "$RETVAL" = 2 ] && return 2 > + start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec > $DAEMON > + [ "$?" = 2 ] && return 2 > + rm -f $PIDFILE > + return "$RETVAL" > +} > + > +do_reload() { > + start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name > $NAME > + return 0 > +} > + > +case "$1" in > + start) > + [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME" > + do_start > + case "$?" in > + 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; > + 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; > + esac > + ;; > + stop) > + [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" > + do_stop > + case "$?" in > + 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; > + 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; > + esac > + ;; > + reload) > + log_daemon_msg "Reloading $DESC" "$NAME" > + do_reload > + log_end_msg $? > + ;; > + restart|force-reload) > + log_daemon_msg "Restarting $DESC" "$NAME" > + do_stop > + case "$?" in > + 0|1) > + do_start > + case "$?" in > + 0) log_end_msg 0 ;; > + 1) log_end_msg 1 ;; # Old process is still running > + *) log_end_msg 1 ;; # Failed to start > + esac > + ;; > + *) > + # Failed to stop > + log_end_msg 1 > + ;; > + esac > + ;; > + status) > + status_of_proc $DAEMON $NAME -p $PIDFILE && exit 0 || exit $? > + ;; > + *) > + echo "Usage: $SCRIPTNAME > {start|stop|restart|reload|force-reload|status}" >&2 > + exit 3 > + ;; > +esac > + > +: > diff --git a/meta-networking/recipes-connectivity/lldpd/lldpd_0.7.15.bb > b/meta-networking/recipes-connectivity/lldpd/lldpd_0.7.15.bb > new file mode 100644 > index 0000000..f68dae3 > --- /dev/null > +++ b/meta-networking/recipes-connectivity/lldpd/lldpd_0.7.15.bb > @@ -0,0 +1,65 @@ > +SUMMARY = "A 802.1ab implementation (LLDP) to help you locate neighbors of > all your equipments" > +SECTION = "net/misc" > +LICENSE = "ISC" > +LIC_FILES_CHKSUM = > "file://${COREBASE}/meta/files/common-licenses/ISC;md5=f3b90e78ea0cffb20bf5cca7947a896d" > + > +DEPENDS = "libbsd libevent" > + > +SRC_URI = "\ > + http://media.luffy.cx/files/${PN}/${PN}-${PV}.tar.gz \ > + file://lldpd.init.d \ > + file://lldpd.default \ > +" > + > +SRC_URI[md5sum] = "46f7ad97fc1d04084ab11b32fc0ed708" > +SRC_URI[sha256sum] = > "c891d6d4480a6a890561ac43d8cc923bd027deb82a3999d65f37d96ca368c246" > + > +inherit autotools update-rc.d useradd systemd pkgconfig > + > +USERADD_PACKAGES = "${PN}" > +USERADD_PARAM_${PN} = "--system -g lldpd --shell /bin/false lldpd" > +GROUPADD_PARAM_${PN} = "--system lldpd" > + > +EXTRA_OECONF += "--without-embedded-libevent \ > + --disable-oldies \ > + --with-privsep-user=lldpd \ > + --with-privsep-group=lldpd" > + > +PACKAGECONFIG ??= "cdp fdp edp sonmp lldpmed dot1 dot3" > +PACKAGECONFIG[json] = "--with-json,--without-json,jansson" > +PACKAGECONFIG[xml] = "--with-xml,--without-xml,libxm2" > +PACKAGECONFIG[snmp] = "--with-snmp,--without-snmp,net-snmp" > +PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline" > +PACKAGECONFIG[seccomp] = "--with-seccomp,--without-seccomp,libseccomp" > +PACKAGECONFIG[cdp] = "--enable-cdp,--disable-cdp" > +PACKAGECONFIG[fdp] = "--enable-fdp,--disable-fdp" > +PACKAGECONFIG[edp] = "--enable-edp,--disable-edp" > +PACKAGECONFIG[sonmp] = "--enable-sonmp,--disable-sonmp" > +PACKAGECONFIG[lldpmed] = "--enable-lldpmed,--disable-lldpmed" > +PACKAGECONFIG[dot1] = "--enable-dot1,--disable-dot1" > +PACKAGECONFIG[dot3] = "--enable-dot3,--disable-dot3" > +PACKAGECONFIG[custom] = "--enable-custom,--disable-custom" > + > +INITSCRIPT_NAME = "lldpd" > +INITSCRIPT_PARAMS = "defaults" > + > +SYSTEMD_SERVICE_${PN} = "lldpd.service" > + > +do_install_append() { > + install -Dm 0755 ${WORKDIR}/lldpd.init.d ${D}${sysconfdir}/init.d/lldpd > + install -Dm 0644 ${WORKDIR}/lldpd.default ${D}${sysconfdir}/default/lldpd > + # Make an empty configuration file > + touch ${D}${sysconfdir}/lldpd.conf > +} > + > +PACKAGES =+ "${PN}-bash-completion ${PN}-zsh-completion" > + > +FILES_${PN} += "${datadir}/zsh ${libdir}/sysusers.d" > +RDEPENDS_${PN} += "os-release" > + > +FILES_${PN}-bash-completion += "${sysconfdir}/bash_completion.d/" > +RDEPENDS_${PN}-bash-completion += "bash" > + > +FILES_${PN}-zsh-completion += "${datadir}/zsh/vendor-completions/" > +# FIXME: zsh is broken in meta-oe so this cannot be enabled for now > +#RDEPENDS_${PN}-zsh-completion += "zsh" > -- > 2.1.4 > -- -Joe MacDonald. :wq
signature.asc
Description: Digital signature
-- _______________________________________________ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-devel