Andrew Geissler | 517393d | 2023-01-13 08:55:19 -0600 | [diff] [blame^] | 1 | SUMMARY = "A 802.1ab implementation (LLDP) to help you locate neighbors of all your equipments" |
| 2 | SECTION = "net/misc" |
| 3 | LICENSE = "ISC" |
| 4 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/ISC;md5=f3b90e78ea0cffb20bf5cca7947a896d" |
| 5 | |
| 6 | DEPENDS = "libbsd libevent" |
| 7 | |
| 8 | SRC_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 | |
| 15 | SRC_URI[sha256sum] = "e3b391650c7ba67cea2fe84d67fdb4d7fc8aa1ec5cf86eb8bb984711df8465a9" |
| 16 | |
| 17 | inherit autotools update-rc.d useradd systemd pkgconfig bash-completion github-releases ptest |
| 18 | |
| 19 | USERADD_PACKAGES = "${PN}" |
| 20 | USERADD_PARAM:${PN} = "--system -g lldpd --shell /bin/false lldpd" |
| 21 | GROUPADD_PARAM:${PN} = "--system lldpd" |
| 22 | |
| 23 | EXTRA_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 | |
| 31 | PACKAGECONFIG ??= "cdp fdp edp sonmp lldpmed dot1 dot3" |
| 32 | PACKAGECONFIG[xml] = "--with-xml,--without-xml,libxm2" |
| 33 | PACKAGECONFIG[snmp] = "--with-snmp,--without-snmp,net-snmp" |
| 34 | PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline" |
| 35 | PACKAGECONFIG[seccomp] = "--with-seccomp,--without-seccomp,libseccomp" |
| 36 | PACKAGECONFIG[cdp] = "--enable-cdp,--disable-cdp" |
| 37 | PACKAGECONFIG[fdp] = "--enable-fdp,--disable-fdp" |
| 38 | PACKAGECONFIG[edp] = "--enable-edp,--disable-edp" |
| 39 | PACKAGECONFIG[sonmp] = "--enable-sonmp,--disable-sonmp" |
| 40 | PACKAGECONFIG[lldpmed] = "--enable-lldpmed,--disable-lldpmed" |
| 41 | PACKAGECONFIG[dot1] = "--enable-dot1,--disable-dot1" |
| 42 | PACKAGECONFIG[dot3] = "--enable-dot3,--disable-dot3" |
| 43 | PACKAGECONFIG[custom] = "--enable-custom,--disable-custom" |
| 44 | |
| 45 | INITSCRIPT_NAME = "lldpd" |
| 46 | INITSCRIPT_PARAMS = "defaults" |
| 47 | |
| 48 | SYSTEMD_SERVICE:${PN} = "lldpd.service" |
| 49 | |
| 50 | do_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 | |
| 57 | PACKAGES =+ "${PN}-zsh-completion" |
| 58 | |
| 59 | FILES:${PN} += "${libdir}/sysusers.d" |
| 60 | RDEPENDS:${PN} += "os-release" |
| 61 | |
| 62 | FILES:${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 | |
| 66 | RDEPENDS:${PN}-ptest = "libcheck" |
| 67 | DEPENDS += "${@bb.utils.contains('PTEST_ENABLED', '1', 'libcheck', '', d)}" |
| 68 | |
| 69 | TESTDIR = "tests" |
| 70 | do_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 | |
| 76 | do_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 | } |