2 # Copyright (C) 2019 Wind River Systems, Inc.
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
8 # http://www.apache.org/licenses/LICENSE-2.0
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
16 SUMMARY = "A 802.1ab implementation (LLDP) to help you locate neighbors of all your equipments"
19 LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/ISC;md5=f3b90e78ea0cffb20bf5cca7947a896d"
21 DEPENDS = "libbsd libevent json-c"
24 # Patches pullled from
26 # BRANCH = "r/stx.3.0"
28 # SRCREV = "0bf4b546df8c7fdec8cfc6cb6f71b9609ee54306"
29 # git://opendev.org/starlingx/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH};destsuffix=stx-patches;subpath=networking/lldpd
32 http://media.luffy.cx/files/${BPN}/${BPN}-${PV}.tar.gz \
33 file://lldpd-interface-show.patch \
34 file://lldpd-create-run-dir.patch \
35 file://lldpd-i40e-disable.patch \
36 file://lldpd-clear-station.patch \
37 file://i40e-lldp-configure.sh \
42 SRC_URI[md5sum] = "ed0226129b0c90b3a45c273fe1aba8de"
43 SRC_URI[sha256sum] = "300e4a590f7bf21c79d5ff94c2d6a69d0b2c34dbc21e17281496462a04ca80bc"
46 bb.build.exec_func('stx_do_patch', d)
49 SOURCE1 = "${WORKDIR}/lldpd.init"
50 SOURCE2 = "${WORKDIR}/lldpd.default"
51 SOURCE3 = "${WORKDIR}/i40e-lldp-configure.sh"
53 DISTRO_FEATURES_BACKFILL_CONSIDERED_remove = "sysvinit"
55 inherit autotools update-rc.d useradd systemd pkgconfig bash-completion
57 USERADD_PACKAGES = "${PN}"
58 USERADD_PARAM_${PN} = "--system -g lldpd --shell /bin/false lldpd"
59 GROUPADD_PARAM_${PN} = "--system lldpd"
61 EXTRA_OECONF += "--without-embedded-libevent \
63 --with-privsep-user=lldpd \
64 --with-privsep-group=lldpd \
65 --with-systemdsystemunitdir=${systemd_system_unitdir} \
66 --without-sysusersdir \
69 PACKAGECONFIG ??= "cdp fdp edp sonmp lldpmed dot1 dot3"
70 PACKAGECONFIG[xml] = "--with-xml,--without-xml,libxm2"
71 PACKAGECONFIG[snmp] = "--with-snmp,--without-snmp,net-snmp"
72 PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
73 PACKAGECONFIG[seccomp] = "--with-seccomp,--without-seccomp,libseccomp"
74 PACKAGECONFIG[cdp] = "--enable-cdp,--disable-cdp"
75 PACKAGECONFIG[fdp] = "--enable-fdp,--disable-fdp"
76 PACKAGECONFIG[edp] = "--enable-edp,--disable-edp"
77 PACKAGECONFIG[sonmp] = "--enable-sonmp,--disable-sonmp"
78 PACKAGECONFIG[lldpmed] = "--enable-lldpmed,--disable-lldpmed"
79 PACKAGECONFIG[dot1] = "--enable-dot1,--disable-dot1"
80 PACKAGECONFIG[dot3] = "--enable-dot3,--disable-dot3"
81 PACKAGECONFIG[custom] = "--enable-custom,--disable-custom"
83 INITSCRIPT_NAME = "lldpd"
84 INITSCRIPT_PARAMS = "defaults"
86 SYSTEMD_SERVICE_${PN} = "lldpd.service"
89 install -d -m 0755 ${D}/${sysconfdir}/init.d
90 install -Dm 0755 ${SOURCE1} ${D}${sysconfdir}/init.d/lldpd
91 install -Dm 0644 ${SOURCE2} ${D}${sysconfdir}/default/lldpd
92 install -Dm 0755 ${SOURCE3} ${D}${sysconfdir}/init.d/
93 # Make an empty configuration file
94 touch ${D}${sysconfdir}/lldpd.conf
97 PACKAGES =+ "${PN}-zsh-completion"
99 FILES_${PN} += "${libdir}/sysusers.d"
100 RDEPENDS_${PN} += "os-release bash"
102 FILES_${PN}-zsh-completion += "${datadir}/zsh/"
103 # FIXME: zsh is broken in meta-oe so this cannot be enabled for now
104 #RDEPENDS_${PN}-zsh-completion += "zsh"