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

Attachment: signature.asc
Description: Digital signature

-- 
_______________________________________________
Openembedded-devel mailing list
Openembedded-devel@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-devel

Reply via email to