blob: 2a0dbba431d4abb7abd1917f2574eb1ae6da1860 [file] [log] [blame]
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
inherit eutils linux-info
DESCRIPTION="iptables firewall generator"
HOMEPAGE="http://firehol.sourceforge.net/"
SRC_URI="https://firehol.org/download/firehol/releases/v${PV}/${P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
IUSE="doc"
KEYWORDS="~amd64 ~ppc ~sparc ~x86"
RDEPEND="net-firewall/iptables
sys-apps/iproute2[-minimal]
virtual/modutils
app-arch/gzip"
DEPEND="${RDEPEND}"
pkg_setup() {
local KCONFIG_OPTS="~NF_CONNTRACK_IPV4 ~NF_CONNTRACK_MARK ~NF_NAT ~NF_NAT_FTP ~NF_NAT_IRC \
~IP_NF_IPTABLES ~IP_NF_FILTER ~IP_NF_TARGET_REJECT ~IP_NF_TARGET_LOG ~IP_NF_TARGET_ULOG \
~IP_NF_TARGET_MASQUERADE ~IP_NF_TARGET_REDIRECT ~IP_NF_MANGLE \
~NETFILTER_XT_MATCH_LIMIT ~NETFILTER_XT_MATCH_STATE ~NETFILTER_XT_MATCH_OWNER"
get_version
if [ ${KV_PATCH} -ge 25 ]; then
CONFIG_CHECK="~NF_CONNTRACK ${KCONFIG_OPTS}"
else
CONFIG_CHECK="~NF_CONNTRACK_ENABLED ${KCONFIG_OPTS}"
fi
linux-info_pkg_setup
}
src_prepare() {
epatch "${FILESDIR}/${PN}-2.0.2-autosave.patch"
}
src_configure() {
# removing IP6TABLES_CMD has no effect and enable build
# without ipv6 available
econf \
--docdir="${EPREFIX}/usr/share/doc/${PF}" \
--with-autosave="${EPREFIX}/var/lib/iptables/rules-save" \
--with-autosave6="${EPREFIX}/var/lib/ip6tables/rules-save" \
$(use_enable doc) \
IP6TABLES_CMD=/bin/false \
IP6TABLES_SAVE_CMD=/bin/false \
IP6TABLES_RESTORE_CMD=/bin/false
}
src_install() {
default
newconfd "${FILESDIR}"/firehol.conf.d firehol
newinitd "${FILESDIR}"/firehol.initrd firehol
newconfd "${FILESDIR}"/fireqos.conf.d fireqos
newinitd "${FILESDIR}"/fireqos.initrd fireqos
}