blob: 6ac3fc60c5473d400f2f0d1da43375f39cd14a5e [file] [log] [blame]
Brad Bishopc342db32019-05-15 21:57:59 -04001SUMMARY = "Tools for managing kernel packet filtering capabilities"
2DESCRIPTION = "iptables is the userspace command line program used to configure and control network packet \
3filtering code in Linux."
4HOMEPAGE = "http://www.netfilter.org/"
5BUGTRACKER = "http://bugzilla.netfilter.org/"
6LICENSE = "GPLv2+"
7LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263\
8 file://iptables/iptables.c;beginline=13;endline=25;md5=c5cffd09974558cf27d0f763df2a12dc"
9
10SRC_URI = "http://netfilter.org/projects/iptables/files/iptables-${PV}.tar.bz2 \
11 file://0001-configure-Add-option-to-enable-disable-libnfnetlink.patch \
12 file://0002-configure.ac-only-check-conntrack-when-libnfnetlink-enabled.patch \
Brad Bishopc342db32019-05-15 21:57:59 -040013"
14
Brad Bishop96ff1982019-08-19 13:50:42 -040015SRC_URI[md5sum] = "29de711d15c040c402cf3038c69ff513"
16SRC_URI[sha256sum] = "a23cac034181206b4545f4e7e730e76e08b5f3dd78771ba9645a6756de9cdd80"
Brad Bishopc342db32019-05-15 21:57:59 -040017
18inherit autotools pkgconfig
19
20EXTRA_OECONF = "--with-kernel=${STAGING_INCDIR}"
21
22PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
23
24PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
25
26# libnfnetlink recipe is in meta-networking layer
27PACKAGECONFIG[libnfnetlink] = "--enable-libnfnetlink,--disable-libnfnetlink,libnfnetlink libnetfilter-conntrack"
28
29# libnftnl recipe is in meta-networking layer(previously known as libnftables)
30PACKAGECONFIG[libnftnl] = "--enable-nftables,--disable-nftables,libnftnl"
31
32do_configure_prepend() {
33 # Remove some libtool m4 files
34 # Keep ax_check_linker_flags.m4 which belongs to autoconf-archive.
35 rm -f libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4
36}
37
38PACKAGES += "${PN}-modules"
39PACKAGES_DYNAMIC += "^${PN}-module-.*"
40
41python populate_packages_prepend() {
42 modules = do_split_packages(d, '${libdir}/xtables', r'lib(.*)\.so$', '${PN}-module-%s', '${PN} module %s', extra_depends='')
43 if modules:
44 metapkg = d.getVar('PN') + '-modules'
45 d.appendVar('RDEPENDS_' + metapkg, ' ' + ' '.join(modules))
46}
47
48FILES_${PN} += "${datadir}/xtables"
49
Brad Bishop96ff1982019-08-19 13:50:42 -040050# Include the symlinks as well in respective packages
51FILES_${PN}-module-xt-conntrack += "${libdir}/xtables/libxt_state.so"
52FILES_${PN}-module-xt-ct += "${libdir}/xtables/libxt_NOTRACK.so"
53
54INSANE_SKIP_${PN}-module-xt-conntrack = "dev-so"
55INSANE_SKIP_${PN}-module-xt-ct = "dev-so"
56
Brad Bishopc342db32019-05-15 21:57:59 -040057ALLOW_EMPTY_${PN}-modules = "1"
58
59RDEPENDS_${PN} = "${PN}-module-xt-standard"
60RRECOMMENDS_${PN} = " \
61 ${PN}-modules \
62 kernel-module-x-tables \
63 kernel-module-ip-tables \
64 kernel-module-iptable-filter \
65 kernel-module-iptable-nat \
66 kernel-module-nf-defrag-ipv4 \
67 kernel-module-nf-conntrack \
68 kernel-module-nf-conntrack-ipv4 \
69 kernel-module-nf-nat \
70 kernel-module-ipt-masquerade \
71"