blob: 07e01845d766b87dea780e9f38f2ba8f856efc98 [file] [log] [blame]
Patrick Williamsac13d5f2023-11-24 18:59:46 -06001SUMMARY = "Connection tracking userspace tools for Linux"
2SECTION = "net"
3LICENSE = "GPL-2.0-or-later"
4LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
5
6DEPENDS = "libnfnetlink libnetfilter-conntrack libnetfilter-cttimeout \
7 libnetfilter-cthelper libnetfilter-queue bison-native libtirpc"
8
9EXTRA_OECONF += "LIBS=-ltirpc CPPFLAGS=-I${STAGING_INCDIR}/tirpc"
10
11SRC_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"
16SRC_URI[sha256sum] = "067677f4c5f6564819e78ed3a9d4a8980935ea9273f3abb22a420ea30ab5ded6"
17
18inherit autotools update-rc.d pkgconfig systemd
19
20PACKAGECONFIG ?= "cthelper cttimeout \
21 ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
22
23PACKAGECONFIG[cthelper] = "--enable-cthelper,--disable-cthelper"
24PACKAGECONFIG[cttimeout] = "--enable-cttimeout,--disable-cttimeout"
25PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd"
26
27INITSCRIPT_NAME = "conntrackd"
28
29SYSTEMD_PACKAGES = "${PN}"
30SYSTEMD_SERVICE:${PN} = "conntrackd.service"
31SYSTEMD_AUTO_ENABLE = "disable"
32
33do_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 ;-)
53pkg_postinst:${PN} () {
54 setcap cap_net_admin+ep "$D/${sbindir}/conntrack"
55}
56PACKAGE_WRITE_DEPS += "libcap-native"
57
58RRECOMMENDS:${PN} = "kernel-module-nf-conntrack kernel-module-nfnetlink \
59 kernel-module-nf-conntrack-netlink \
60 "