summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorPeter Kjellerstedt <peter.kjellerstedt@axis.com>2018-07-19 20:19:38 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-07-30 12:44:35 +0100
commit4fb55aaaf70bb4911342e5ace7fb978f7e298233 (patch)
tree9f6fed5fbaac41262623aff7313a59cc1b9ad8ed /meta
parenta5f2b5c4c39bea0673fe14dbec9d3e7537bef4b9 (diff)
downloadpoky-4fb55aaaf70bb4911342e5ace7fb978f7e298233.tar.gz
iptables: Split the iptables modules into separate packages
By splitting the iptables modules into separate packages it is possible to pick and choose the modules to install and thereby reduce the total size of the installed modules. Backwards compatibility is maintained by adding a recommendation of iptables-modules, which is a meta package that depends on all the generated packages. (From OE-Core rev: 2e99caca64704d1ec51f4f65048d945e5ff1384f) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/recipes-extended/iptables/iptables_1.6.2.bb43
1 files changed, 30 insertions, 13 deletions
diff --git a/meta/recipes-extended/iptables/iptables_1.6.2.bb b/meta/recipes-extended/iptables/iptables_1.6.2.bb
index 38a83d2b32..e00824f763 100644
--- a/meta/recipes-extended/iptables/iptables_1.6.2.bb
+++ b/meta/recipes-extended/iptables/iptables_1.6.2.bb
@@ -7,17 +7,6 @@ LICENSE = "GPLv2+"
7LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263\ 7LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263\
8 file://iptables/iptables.c;beginline=13;endline=25;md5=c5cffd09974558cf27d0f763df2a12dc" 8 file://iptables/iptables.c;beginline=13;endline=25;md5=c5cffd09974558cf27d0f763df2a12dc"
9 9
10RRECOMMENDS_${PN} = "kernel-module-x-tables \
11 kernel-module-ip-tables \
12 kernel-module-iptable-filter \
13 kernel-module-iptable-nat \
14 kernel-module-nf-defrag-ipv4 \
15 kernel-module-nf-conntrack \
16 kernel-module-nf-conntrack-ipv4 \
17 kernel-module-nf-nat \
18 kernel-module-ipt-masquerade"
19FILES_${PN} =+ "${libdir}/xtables/ ${datadir}/xtables"
20
21SRC_URI = "http://netfilter.org/projects/iptables/files/iptables-${PV}.tar.bz2 \ 10SRC_URI = "http://netfilter.org/projects/iptables/files/iptables-${PV}.tar.bz2 \
22 file://0001-configure-Add-option-to-enable-disable-libnfnetlink.patch \ 11 file://0001-configure-Add-option-to-enable-disable-libnfnetlink.patch \
23 file://0002-configure.ac-only-check-conntrack-when-libnfnetlink-enabled.patch \ 12 file://0002-configure.ac-only-check-conntrack-when-libnfnetlink-enabled.patch \
@@ -28,8 +17,8 @@ SRC_URI[sha256sum] = "55d02dfa46263343a401f297d44190f2a3e5113c8933946f094ed40237
28 17
29inherit autotools pkgconfig 18inherit autotools pkgconfig
30 19
31EXTRA_OECONF = "--with-kernel=${STAGING_INCDIR} \ 20EXTRA_OECONF = "--with-kernel=${STAGING_INCDIR}"
32 " 21
33PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" 22PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
34 23
35PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," 24PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
@@ -45,3 +34,31 @@ do_configure_prepend() {
45 # Keep ax_check_linker_flags.m4 which belongs to autoconf-archive. 34 # Keep ax_check_linker_flags.m4 which belongs to autoconf-archive.
46 rm -f libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4 35 rm -f libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4
47} 36}
37
38PACKAGES += "${PN}-modules"
39PACKAGES_DYNAMIC += "^${PN}-module-.*"
40
41python populate_packages_prepend() {
42 modules = do_split_packages(d, '${libdir}/xtables', '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
50ALLOW_EMPTY_${PN}-modules = "1"
51
52RDEPENDS_${PN} = "${PN}-module-xt-standard"
53RRECOMMENDS_${PN} = " \
54 ${PN}-modules \
55 kernel-module-x-tables \
56 kernel-module-ip-tables \
57 kernel-module-iptable-filter \
58 kernel-module-iptable-nat \
59 kernel-module-nf-defrag-ipv4 \
60 kernel-module-nf-conntrack \
61 kernel-module-nf-conntrack-ipv4 \
62 kernel-module-nf-nat \
63 kernel-module-ipt-masquerade \
64"