diff options
author | Ilya Tumaykin <itumaykin@gmail.com> | 2015-11-23 17:42:59 +0300 |
---|---|---|
committer | Ian Delaney <idella4@gentoo.org> | 2015-11-25 07:28:00 +0800 |
commit | d7ffdfbff01fcb89fda56483b488c325fd23aa36 (patch) | |
tree | 2327b1d5230d1ce49879723587c9be680b92fc1f /net-firewall | |
parent | net-firewall/fwknop: revbump to fix depend() and update regexps in initscript (diff) | |
download | gentoo-d7ffdfbff01fcb89fda56483b488c325fd23aa36.tar.gz gentoo-d7ffdfbff01fcb89fda56483b488c325fd23aa36.tar.bz2 gentoo-d7ffdfbff01fcb89fda56483b488c325fd23aa36.zip |
net-firewall/fwknop: revbump to 2.6.7-r2 in order to fix dependencies
Separate RDEPEND and DEPEND properly.
Diffstat (limited to 'net-firewall')
-rw-r--r-- | net-firewall/fwknop/fwknop-2.6.7-r2.ebuild | 135 |
1 files changed, 135 insertions, 0 deletions
diff --git a/net-firewall/fwknop/fwknop-2.6.7-r2.ebuild b/net-firewall/fwknop/fwknop-2.6.7-r2.ebuild new file mode 100644 index 000000000000..18c6e9075a39 --- /dev/null +++ b/net-firewall/fwknop/fwknop-2.6.7-r2.ebuild @@ -0,0 +1,135 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +AUTOTOOLS_AUTORECONF=1 +DISABLE_AUTOFORMATTING=1 + +DISTUTILS_OPTIONAL=1 +# Python extension supports only Python2 +# See https://github.com/mrash/fwknop/issues/167 +PYTHON_COMPAT=( python2_7 ) + +inherit autotools-utils distutils-r1 linux-info readme.gentoo systemd + +DESCRIPTION="Single Packet Authorization and Port Knocking application" +HOMEPAGE="http://www.cipherdyne.org/fwknop/" +SRC_URI="https://github.com/mrash/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="client extras firewalld gdbm gpg iptables python server udp-server" + +DEPEND=" + client? ( net-misc/wget[ssl] ) + firewalld? ( net-firewall/firewalld[${PYTHON_USEDEP}] ) + gdbm? ( sys-libs/gdbm ) + gpg? ( + app-crypt/gpgme + dev-libs/libassuan + dev-libs/libgpg-error + ) + iptables? ( net-firewall/iptables ) + python? ( ${PYTHON_DEPS} ) + server? ( !udp-server? ( net-libs/libpcap ) ) +" +RDEPEND="${DEPEND}" + +REQUIRED_USE=" + python? ( ${PYTHON_REQUIRED_USE} ) + firewalld? ( server ) + iptables? ( server ) + server? ( ^^ ( firewalld iptables ) ) + udp-server? ( server ) +" + +DOCS=( ChangeLog README.md ) + +DOC_CONTENTS=" +Example configuration files were installed in /etc/fwknopd directory. +Please edit them to fit your needs and then remove the .example suffix. + +fwknopd supports several backends: firewalld, iptables, ipfw, pf, ipf. +You can set the desired backend via FIREWALL_EXE option in fwknopd.conf +instead of the default one chosen at compile time. +" + +pkg_pretend() { + if use server; then + if ! linux_config_exists || ! linux_chkconfig_present NETFILTER_XT_MATCH_COMMENT; then + ewarn "fwknopd uses the iptables 'comment' match to expire SPA rules," + ewarn "which is a major security feature and is enabled by default." + ewarn "Please either enable NETFILTER_XT_MATCH_COMMENT support in your" + ewarn "kernel, or set the appropriate ENABLE_{FIREWD,IPT}_COMMENT_CHECK" + ewarn "to 'N' in your fwknopd.conf file." + fi + fi +} + +src_prepare() { + # Install example configs with .example suffix + if use server; then + sed -i -e 's/conf;/conf.example;/g' "${S}"/Makefile.am || die + fi + + autotools-utils_src_prepare + + if use python; then + cd "${S}"/python || die + distutils-r1_src_prepare + fi +} + +src_configure() { + local myeconfargs=( + --localstatedir=/run + --enable-digest-cache + $(use_enable client) + $(use_enable !gdbm file-cache) + $(use_enable server) + $(use_enable udp-server) + $(use_with gpg gpgme) + ) + use firewalld && myeconfargs+=(--with-firewalld=/usr/sbin/firewalld) + use iptables && myeconfargs+=(--with-iptables=/sbin/iptables) + + autotools-utils_src_configure +} + +src_compile() { + autotools-utils_src_compile + + if use python; then + cd "${S}"/python || die + distutils-r1_src_compile + fi +} + +src_install() { + autotools-utils_src_install + prune_libtool_files --modules + + if use server; then + newinitd "${FILESDIR}/fwknopd.init-r1" fwknopd + newconfd "${FILESDIR}/fwknopd.confd" fwknopd + systemd_dounit extras/systemd/fwknopd.service + systemd_newtmpfilesd extras/systemd/fwknopd.tmpfiles.conf fwknopd.conf + readme.gentoo_create_doc + fi + + use extras && dodoc "${S}/extras/apparmor/usr.sbin.fwknopd" + + if use python; then + # Unset DOCS since distutils-r1.eclass interferes + local DOCS=() + cd "${S}"/python || die + distutils-r1_src_install + fi +} + +pkg_postinst() { + use server && readme.gentoo_print_elog +} |