summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-firewall/ebtables/ebtables-2.0.11-r1.ebuild')
-rw-r--r--net-firewall/ebtables/ebtables-2.0.11-r1.ebuild106
1 files changed, 106 insertions, 0 deletions
diff --git a/net-firewall/ebtables/ebtables-2.0.11-r1.ebuild b/net-firewall/ebtables/ebtables-2.0.11-r1.ebuild
new file mode 100644
index 000000000000..4090f230c800
--- /dev/null
+++ b/net-firewall/ebtables/ebtables-2.0.11-r1.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs autotools
+
+MY_PV="$(ver_rs 3 '-' )"
+MY_P="${PN}-${MY_PV}"
+
+DESCRIPTION="Controls Ethernet frame filtering on a Linux bridge, MAC NAT and brouting"
+HOMEPAGE="http://ebtables.sourceforge.net/"
+SRC_URI="ftp://ftp.netfilter.org/pub/${PN}/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+IUSE="+perl static"
+
+BDEPEND=">=app-eselect/eselect-iptables-20200508"
+# The ebtables-save script is written in perl.
+RDEPEND="${BDEPEND}
+ perl? ( dev-lang/perl )
+ net-misc/ethertypes"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.0.11-makefile.patch"
+
+ # Enhance ebtables-save to take table names as parameters bug #189315
+ "${FILESDIR}/${PN}-2.0.11-ebt-save.patch"
+
+ # from upstream git
+ "${FILESDIR}/ebtables-2.0.11-remove-stray-atsign.patch"
+)
+
+pkg_setup() {
+ if use static; then
+ ewarn "You've chosen static build which is useful for embedded devices."
+ ewarn "It has no init script. Make sure that's really what you want."
+ fi
+}
+
+src_prepare() {
+ default
+
+ # don't install perl scripts if USE=perl is disabled
+ if ! use perl; then
+ sed -e '/sbin_SCRIPTS/ d' -i Makefile.am || die
+ fi
+
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --bindir="/bin" \
+ --sbindir="/sbin" \
+ --libdir=/$(get_libdir)/${PN} \
+ --sysconfdir="/usr/share/doc/${PF}" \
+ $(use_enable static)
+}
+
+src_compile() {
+ emake $(usex static 'static ebtables-legacy.8' '')
+}
+
+src_install() {
+ local -a DOCS=( ChangeLog THANKS )
+
+ if ! use static; then
+ emake DESTDIR="${D}" install
+ keepdir /var/lib/ebtables/
+ newinitd "${FILESDIR}"/ebtables.initd-r1 ebtables
+ newconfd "${FILESDIR}"/ebtables.confd-r1 ebtables
+
+ find "${D}" -name '*.la' -type f -delete || die
+ else
+ into /
+ newsbin static ebtables
+ insinto /etc
+ doins ethertypes
+ fi
+
+ newman ebtables-legacy.8 ebtables.8
+ einstalldocs
+}
+
+pkg_postinst() {
+ if ! eselect ebtables show &>/dev/null; then
+ elog "Current ebtables implementation is unset, setting to ebtables-legacy"
+ eselect ebtables set ebtables-legacy
+ fi
+
+ eselect ebtables show
+}
+
+pkg_prerm() {
+ if has_version 'net-firewall/iptables[nftables]'; then
+ elog "Resetting ebtables symlinks to xtables-nft-multi before removal"
+ eselect ebtables set xtables-nft-multi
+ else
+ elog "Unsetting ebtables symlinks before removal"
+ eselect ebtables unset
+ fi
+}