blob: f05bd615d57021235f24acf68759b61bcddd50fe [file] [log] [blame]
Patrick Williamsb48b7b42016-08-17 15:04:38 -05001SUMMARY = "Filtering tool for a Linux-based bridging firewall"
Brad Bishopd7bf8c12018-02-25 22:55:05 -05002HOMEPAGE = "http://sourceforge.net/projects/ebtables/"
Patrick Williamsb48b7b42016-08-17 15:04:38 -05003DESCRIPTION = "Utility for basic Ethernet frame filtering on a Linux bridge, \
4 advanced logging, MAC DNAT/SNAT and brouting."
5LICENSE = "GPLv2"
6LIC_FILES_CHKSUM = "file://COPYING;md5=53b4a999993871a28ab1488fdbd2e73e"
7SECTION = "net"
Brad Bishopd7bf8c12018-02-25 22:55:05 -05008PR = "r4"
Patrick Williamsb48b7b42016-08-17 15:04:38 -05009
Brad Bishopd7bf8c12018-02-25 22:55:05 -050010RDEPENDS_${PN} += "bash"
Patrick Williamsb48b7b42016-08-17 15:04:38 -050011
12RRECOMMENDS_${PN} += "kernel-module-ebtables \
13 "
14
15SRC_URI = "${SOURCEFORGE_MIRROR}/ebtables/ebtables-v${PV}.tar.gz \
Brad Bishopd7bf8c12018-02-25 22:55:05 -050016 file://ebtables-save \
Patrick Williamsb48b7b42016-08-17 15:04:38 -050017 file://installnonroot.patch \
18 file://01debian_defaultconfig.patch \
19 file://ebtables.init \
20 file://ebtables.common \
21 file://ebtables.service \
22 file://no-as-needed.patch \
Brad Bishop6e60e8b2018-02-01 10:27:11 -050023 file://0001-add-RARP-and-update-iana-url.patch \
24 file://0002-fix-compilation-warning.patch \
25 file://0003-add-info-about-Wl-no-as-needed.patch \
26 file://0004-workaround-for-kernel-regression-bug-IPv6-source-des.patch \
27 file://0005-Add-noflush-command-line-support-for-ebtables-restor.patch \
28 file://0006-don-t-print-IPv6-mask-if-it-s-all-ones-based-on-patc.patch \
29 file://0007-extensions-Use-stdint-types.patch \
30 file://0008-ethernetdb.h-Remove-C-specific-compiler-hint-macro-_.patch \
31 file://0009-ebtables-Allow-RETURN-target-rules-in-user-defined-c.patch \
Brad Bishop6e60e8b2018-02-01 10:27:11 -050032 "
Patrick Williamsb48b7b42016-08-17 15:04:38 -050033
Brad Bishop316dfdd2018-06-25 12:45:53 -040034SRC_URI_append_libc-musl = " file://0010-Adjust-header-include-sequence.patch"
35
Patrick Williamsb48b7b42016-08-17 15:04:38 -050036SRC_URI[md5sum] = "506742a3d44b9925955425a659c1a8d0"
37SRC_URI[sha256sum] = "dc6f7b484f207dc712bfca81645f45120cb6aee3380e77a1771e9c34a9a4455d"
38
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080039# It is using '-' but not '.' as delimiter for the version in the releases page,
40# which causes the version comparison unmatched.
41#UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/ebtables/files/ebtables/"
42#UPSTREAM_CHECK_REGEX = "ebtables-(?P<pver>\d+(\-\d+)+)"
43
44RECIPE_UPSTREAM_VERSION = "2.0.10-4"
45RECIPE_UPSTREAM_DATE = "Dec 15, 2011"
46CHECK_DATE = "May 25, 2018"
47
Patrick Williamsb48b7b42016-08-17 15:04:38 -050048S = "${WORKDIR}/ebtables-v${PV}"
49
50inherit update-rc.d systemd
51
52python __anonymous () {
53 import re
54
Brad Bishop316dfdd2018-06-25 12:45:53 -040055 karch = d.getVar('TARGET_ARCH')
Brad Bishop6e60e8b2018-02-01 10:27:11 -050056 multilib = d.getVar('MLPREFIX')
Patrick Williamsb48b7b42016-08-17 15:04:38 -050057
Brad Bishop316dfdd2018-06-25 12:45:53 -040058 if multilib and ( karch == 'powerpc64' or karch == 'arm' ):
Patrick Williamsb48b7b42016-08-17 15:04:38 -050059 searchstr = "lib.?32"
60 reg = re.compile(searchstr)
61 if reg.search(multilib):
62 d.appendVar('CFLAGS' ,' -DKERNEL_64_USERSPACE_32 -DEBT_MIN_ALIGN=8')
63}
64
65EXTRA_OEMAKE = " \
66 BINDIR=${base_sbindir} \
67 MANDIR=${mandir} \
68 ETHERTYPESPATH=${sysconfdir} \
69 INITDIR=${sysconfdir}/init.d \
70 SYSCONFIGDIR=${sysconfdir}/default \
71 LIBDIR=${base_libdir}/ebtables \
72 'CC=${CC}' \
73 'CFLAGS=${CFLAGS}' \
74 'LDFLAGS=${LDFLAGS} -Wl,--no-as-needed' \
75 'LD=${LD}' \
76"
77
78do_install () {
79 install -d ${D}${sbindir}
80 install -m 0755 ${WORKDIR}/ebtables.common ${D}${sbindir}/ebtables.common
81 # Fix hardcoded paths in scripts
82 sed -i 's!/sbin/!${base_sbindir}/!g' ${D}${sbindir}/ebtables.common
83 sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sbindir}/ebtables.common
84
85 install -d ${D}${sysconfdir}/init.d
86 install -d ${D}${sysconfdir}/default
87 install -d ${D}${sysconfdir}/ebtables
88 oe_runmake DESTDIR='${D}' install
89 install -m 0755 ${WORKDIR}/ebtables.init ${D}/${sysconfdir}/init.d/ebtables
90 mv ${D}${sysconfdir}/default/ebtables-config ${D}${sysconfdir}/default/ebtables
91 sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/ebtables
92
Brad Bishopd7bf8c12018-02-25 22:55:05 -050093 # Replace upstream ebtables-save perl script with Fedora bash based rewrite
94 # http://pkgs.fedoraproject.org/cgit/rpms/ebtables.git/tree/ebtables-save
95 install -m 0755 ${WORKDIR}/ebtables-save ${D}${base_sbindir}/ebtables-save
96 sed -i 's!/sbin/!${base_sbindir}/!g' ${D}${base_sbindir}/ebtables-save
Patrick Williamsb48b7b42016-08-17 15:04:38 -050097
98 # Install systemd service files
99 install -d ${D}${systemd_unitdir}/system
100 install -m 0644 ${WORKDIR}/ebtables.service ${D}${systemd_unitdir}/system
101 sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/ebtables.service
102}
103
104CONFFILES_${PN} += "${sysconfdir}/default/ebtables"
105
106INITSCRIPT_NAME = "ebtables"
107INITSCRIPT_PARAMS = "start 41 S . stop 41 6 ."
108
109SYSTEMD_SERVICE_${PN} = "ebtables.service"
110
111FILES_${PN}-dbg += "${base_libdir}/ebtables/.debug"
112FILES_${PN} += "${base_libdir}/ebtables/*.so"