summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@chromium.org>2021-02-09 10:37:30 -0500
committerMike Frysinger <vapier@gentoo.org>2021-02-09 10:58:03 -0500
commit48b6b55aefb25bfe50d9f09e04f2ae52c492ecba (patch)
tree5a31aff5310b3917ebf755f14613c1705f09f3ad /net-firewall/ebtables
parentnet-firewall/ebtables: stop installing /etc/ethertypes when USE=static (diff)
downloadgentoo-48b6b55aefb25bfe50d9f09e04f2ae52c492ecba.tar.gz
gentoo-48b6b55aefb25bfe50d9f09e04f2ae52c492ecba.tar.bz2
gentoo-48b6b55aefb25bfe50d9f09e04f2ae52c492ecba.zip
net-firewall/ebtables: fix path to /etc/ethertypes #765679
The --sysconfdir setting controls where ebtables looks for ethertypes, so don't use /usr/share/doc/ which is not guaranteed to exist, and is not where the ethertypes package installs its config. Switch back to the standard /etc path instead. This path logic was prob a mistake as part of the upgrade from the old 2.0.10.4 ebuild that had a similar named setting (SYSCONFIGDIR) but a different meaning which we wanted to install into /usr/share/doc/. Fixes: https://bugs.gentoo.org/765679 Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'net-firewall/ebtables')
-rw-r--r--net-firewall/ebtables/ebtables-2.0.11-r3.ebuild107
1 files changed, 107 insertions, 0 deletions
diff --git a/net-firewall/ebtables/ebtables-2.0.11-r3.ebuild b/net-firewall/ebtables/ebtables-2.0.11-r3.ebuild
new file mode 100644
index 000000000000..798135864def
--- /dev/null
+++ b/net-firewall/ebtables/ebtables-2.0.11-r3.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit 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="https://ebtables.netfilter.org/"
+SRC_URI="http://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 -i -e '/^sbin_SCRIPTS/ d' Makefile.am || die
+ fi
+
+ # The bundled autotools are borked, so force a rebuild.
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --bindir="/bin" \
+ --sbindir="/sbin" \
+ --libdir="/$(get_libdir)/${PN}" \
+ $(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
+
+ # The ethertypes package installs this for us.
+ rm "${ED}"/etc/ethertypes || die
+ else
+ into /
+ newsbin static ebtables
+ 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 [[ -z ${REPLACED_BY_VERSION} ]] && 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
+}