Patrick Williams | ac13d5f | 2023-11-24 18:59:46 -0600 | [diff] [blame] | 1 | SUMMARY = "Connection tracking userspace tools for Linux" |
| 2 | SECTION = "net" |
| 3 | LICENSE = "GPL-2.0-or-later" |
| 4 | LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b" |
| 5 | |
| 6 | DEPENDS = "libnfnetlink libnetfilter-conntrack libnetfilter-cttimeout \ |
| 7 | libnetfilter-cthelper libnetfilter-queue bison-native libtirpc" |
| 8 | |
| 9 | EXTRA_OECONF += "LIBS=-ltirpc CPPFLAGS=-I${STAGING_INCDIR}/tirpc" |
| 10 | |
| 11 | SRC_URI = "http://www.netfilter.org/projects/conntrack-tools/files/conntrack-tools-${PV}.tar.xz \ |
| 12 | file://conntrack-failover \ |
| 13 | file://init \ |
| 14 | file://conntrackd.service \ |
| 15 | " |
| 16 | SRC_URI[sha256sum] = "067677f4c5f6564819e78ed3a9d4a8980935ea9273f3abb22a420ea30ab5ded6" |
| 17 | |
| 18 | inherit autotools update-rc.d pkgconfig systemd |
| 19 | |
| 20 | PACKAGECONFIG ?= "cthelper cttimeout \ |
| 21 | ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" |
| 22 | |
| 23 | PACKAGECONFIG[cthelper] = "--enable-cthelper,--disable-cthelper" |
| 24 | PACKAGECONFIG[cttimeout] = "--enable-cttimeout,--disable-cttimeout" |
| 25 | PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd" |
| 26 | |
| 27 | INITSCRIPT_NAME = "conntrackd" |
| 28 | |
| 29 | SYSTEMD_PACKAGES = "${PN}" |
| 30 | SYSTEMD_SERVICE:${PN} = "conntrackd.service" |
| 31 | SYSTEMD_AUTO_ENABLE = "disable" |
| 32 | |
| 33 | do_install:append() { |
| 34 | install -d ${D}/${sysconfdir}/conntrackd |
| 35 | install -d ${D}/${sysconfdir}/init.d |
| 36 | install -m 0644 ${S}/doc/sync/ftfw/conntrackd.conf ${D}/${sysconfdir}/conntrackd/conntrackd.conf.sample |
| 37 | install -m 0755 ${WORKDIR}/conntrack-failover ${D}/${sysconfdir}/init.d/conntrack-failover |
| 38 | install -m 0755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/conntrackd |
| 39 | |
| 40 | # Fix hardcoded paths in scripts |
| 41 | sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}/${sysconfdir}/init.d/conntrack-failover ${D}/${sysconfdir}/init.d/conntrackd |
| 42 | sed -i 's!/etc/!${sysconfdir}/!g' ${D}/${sysconfdir}/init.d/conntrack-failover ${D}/${sysconfdir}/init.d/conntrackd |
| 43 | sed -i 's!/var/!${localstatedir}/!g' ${D}/${sysconfdir}/init.d/conntrack-failover ${D}/${sysconfdir}/init.d/conntrackd ${D}/${sysconfdir}/conntrackd/conntrackd.conf.sample |
| 44 | sed -i 's!^export PATH=.*!export PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}/${sysconfdir}/init.d/conntrackd |
| 45 | |
| 46 | if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then |
| 47 | install -d ${D}/${systemd_system_unitdir} |
| 48 | install -m 644 ${WORKDIR}/conntrackd.service ${D}/${systemd_system_unitdir} |
| 49 | fi |
| 50 | } |
| 51 | |
| 52 | # fix error message: Do not forget that you need *root* or CAP_NET_ADMIN capabilities ;-) |
| 53 | pkg_postinst:${PN} () { |
| 54 | setcap cap_net_admin+ep "$D/${sbindir}/conntrack" |
| 55 | } |
| 56 | PACKAGE_WRITE_DEPS += "libcap-native" |
| 57 | |
| 58 | RRECOMMENDS:${PN} = "kernel-module-nf-conntrack kernel-module-nfnetlink \ |
| 59 | kernel-module-nf-conntrack-netlink \ |
| 60 | " |