diff options
author | Mike Frysinger <vapier@chromium.org> | 2021-02-09 10:37:30 -0500 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2021-02-09 10:58:03 -0500 |
commit | 48b6b55aefb25bfe50d9f09e04f2ae52c492ecba (patch) | |
tree | 5a31aff5310b3917ebf755f14613c1705f09f3ad /net-firewall/ebtables | |
parent | net-firewall/ebtables: stop installing /etc/ethertypes when USE=static (diff) | |
download | gentoo-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.ebuild | 107 |
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 +} |