1SUMMARY = "A 802.1ab implementation (LLDP) to help you locate neighbors of all your equipments"
2SECTION = "net/misc"
3LICENSE = "ISC"
4LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/ISC;md5=f3b90e78ea0cffb20bf5cca7947a896d"
5
6DEPENDS = "libbsd libevent"
7
8SRC_URI = "\
9    http://media.luffy.cx/files/${BPN}/${BP}.tar.gz \
10    file://lldpd.init.d \
11    file://lldpd.default \
12    file://run-ptest \
13    "
14
15SRC_URI[sha256sum] = "4b320675d608901a4a0d4feff8f96bb846d4913d914b0cf75b7d0ae80490f2f7"
16
17inherit autotools update-rc.d useradd systemd pkgconfig bash-completion github-releases ptest
18
19USERADD_PACKAGES = "${PN}"
20USERADD_PARAM:${PN} = "--system -g lldpd --shell /bin/false lldpd"
21GROUPADD_PARAM:${PN} = "--system lldpd"
22
23EXTRA_OECONF += "--without-embedded-libevent \
24                 --disable-oldies \
25                 --with-privsep-user=lldpd \
26                 --with-privsep-group=lldpd \
27                 --with-systemdsystemunitdir=${systemd_system_unitdir} \
28                 --without-sysusersdir \
29"
30
31PACKAGECONFIG ??= "cdp fdp edp sonmp lldpmed dot1 dot3"
32PACKAGECONFIG[xml] = "--with-xml,--without-xml,libxm2"
33PACKAGECONFIG[snmp] = "--with-snmp,--without-snmp,net-snmp"
34PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
35PACKAGECONFIG[seccomp] = "--with-seccomp,--without-seccomp,libseccomp"
36PACKAGECONFIG[cdp] = "--enable-cdp,--disable-cdp"
37PACKAGECONFIG[fdp] = "--enable-fdp,--disable-fdp"
38PACKAGECONFIG[edp] = "--enable-edp,--disable-edp"
39PACKAGECONFIG[sonmp] = "--enable-sonmp,--disable-sonmp"
40PACKAGECONFIG[lldpmed] = "--enable-lldpmed,--disable-lldpmed"
41PACKAGECONFIG[dot1] = "--enable-dot1,--disable-dot1"
42PACKAGECONFIG[dot3] = "--enable-dot3,--disable-dot3"
43PACKAGECONFIG[custom] = "--enable-custom,--disable-custom"
44
45INITSCRIPT_NAME = "lldpd"
46INITSCRIPT_PARAMS = "defaults"
47
48SYSTEMD_SERVICE:${PN} = "lldpd.service"
49
50do_install:append() {
51    install -Dm 0755 ${WORKDIR}/lldpd.init.d ${D}${sysconfdir}/init.d/lldpd
52    install -Dm 0644 ${WORKDIR}/lldpd.default ${D}${sysconfdir}/default/lldpd
53    # Make an empty configuration file
54    touch ${D}${sysconfdir}/lldpd.conf
55}
56
57PACKAGES =+ "${PN}-zsh-completion"
58
59FILES:${PN} += "${libdir}/sysusers.d"
60RDEPENDS:${PN} += "os-release"
61
62FILES:${PN}-zsh-completion += "${datadir}/zsh/"
63# FIXME: zsh is broken in meta-oe so this cannot be enabled for now
64#RDEPENDS:${PN}-zsh-completion += "zsh"
65
66RDEPENDS:${PN}-ptest = "libcheck"
67DEPENDS += "${@bb.utils.contains('PTEST_ENABLED', '1', 'libcheck', '', d)}"
68
69TESTDIR = "tests"
70do_compile_ptest () {
71    # hack to remove the call to `make check-TESTS`
72    sed -i 's/$(MAKE) $(AM_MAKEFLAGS) check-TESTS//g' ${TESTDIR}/Makefile
73    oe_runmake check
74}
75
76do_install_ptest () {
77    # install the tests
78    cp -rf ${B}/${TESTDIR} ${D}${PTEST_PATH}
79    # remove the object files
80    rm ${D}${PTEST_PATH}/${TESTDIR}/*.o
81}
82