blob: e9b726c5fbed5027c5062e956c7158c33b0ac356 [file] [log] [blame]
Patrick Williamsb48b7b42016-08-17 15:04:38 -05001SUMMARY = "Filtering tool for a Linux-based bridging firewall"
2DESCRIPTION = "Utility for basic Ethernet frame filtering on a Linux bridge, \
3 advanced logging, MAC DNAT/SNAT and brouting."
4LICENSE = "GPLv2"
5LIC_FILES_CHKSUM = "file://COPYING;md5=53b4a999993871a28ab1488fdbd2e73e"
6SECTION = "net"
7PR = "r3"
8
9RDEPENDS_${PN} += "perl"
10
11RRECOMMENDS_${PN} += "kernel-module-ebtables \
12 "
13
14SRC_URI = "${SOURCEFORGE_MIRROR}/ebtables/ebtables-v${PV}.tar.gz \
15 file://installnonroot.patch \
16 file://01debian_defaultconfig.patch \
17 file://ebtables.init \
18 file://ebtables.common \
19 file://ebtables.service \
20 file://no-as-needed.patch \
21"
22
23SRC_URI[md5sum] = "506742a3d44b9925955425a659c1a8d0"
24SRC_URI[sha256sum] = "dc6f7b484f207dc712bfca81645f45120cb6aee3380e77a1771e9c34a9a4455d"
25
26S = "${WORKDIR}/ebtables-v${PV}"
27
28inherit update-rc.d systemd
29
30python __anonymous () {
31 import re
32
33 karch = d.getVar('KARCH', True)
34 multilib = d.getVar('MLPREFIX', True)
35
36 if multilib and karch == 'powerpc64':
37 searchstr = "lib.?32"
38 reg = re.compile(searchstr)
39 if reg.search(multilib):
40 d.appendVar('CFLAGS' ,' -DKERNEL_64_USERSPACE_32 -DEBT_MIN_ALIGN=8')
41}
42
43EXTRA_OEMAKE = " \
44 BINDIR=${base_sbindir} \
45 MANDIR=${mandir} \
46 ETHERTYPESPATH=${sysconfdir} \
47 INITDIR=${sysconfdir}/init.d \
48 SYSCONFIGDIR=${sysconfdir}/default \
49 LIBDIR=${base_libdir}/ebtables \
50 'CC=${CC}' \
51 'CFLAGS=${CFLAGS}' \
52 'LDFLAGS=${LDFLAGS} -Wl,--no-as-needed' \
53 'LD=${LD}' \
54"
55
56do_install () {
57 install -d ${D}${sbindir}
58 install -m 0755 ${WORKDIR}/ebtables.common ${D}${sbindir}/ebtables.common
59 # Fix hardcoded paths in scripts
60 sed -i 's!/sbin/!${base_sbindir}/!g' ${D}${sbindir}/ebtables.common
61 sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sbindir}/ebtables.common
62
63 install -d ${D}${sysconfdir}/init.d
64 install -d ${D}${sysconfdir}/default
65 install -d ${D}${sysconfdir}/ebtables
66 oe_runmake DESTDIR='${D}' install
67 install -m 0755 ${WORKDIR}/ebtables.init ${D}/${sysconfdir}/init.d/ebtables
68 mv ${D}${sysconfdir}/default/ebtables-config ${D}${sysconfdir}/default/ebtables
69 sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/ebtables
70
71 # The script ebtables-save refernces perl in exec_prefix, so
72 # move it to sbindir to avoid QA issue
73 install -d ${D}/${sbindir}
74 mv ${D}/${base_sbindir}/ebtables-save ${D}/${sbindir}
75
76 # Install systemd service files
77 install -d ${D}${systemd_unitdir}/system
78 install -m 0644 ${WORKDIR}/ebtables.service ${D}${systemd_unitdir}/system
79 sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/ebtables.service
80}
81
82CONFFILES_${PN} += "${sysconfdir}/default/ebtables"
83
84INITSCRIPT_NAME = "ebtables"
85INITSCRIPT_PARAMS = "start 41 S . stop 41 6 ."
86
87SYSTEMD_SERVICE_${PN} = "ebtables.service"
88
89FILES_${PN}-dbg += "${base_libdir}/ebtables/.debug"
90FILES_${PN} += "${base_libdir}/ebtables/*.so"