From 3e987cd82291b3375f2b8d6c2a66d7bbbf74fbe6 Mon Sep 17 00:00:00 2001 From: Ilya Tumaykin Date: Tue, 31 May 2016 06:06:45 +0300 Subject: net-firewall/fwknop: revbump to 2.6.8-r2 Changes: - EAPI=6; - HTTPS in HOMEPAGE; - update LICENSE; - require server USE for gdbm USE as it only affects server builds; - move kernel config check to pkg_postinst as it's purely informational; - respect PREFIX in build system; - avoid ${S} overuse; - install utility scripts with extras USE; - various cleanups here and there. Package-Manager: portage-2.3.0_rc1 --- net-firewall/fwknop/fwknop-2.6.8-r2.ebuild | 132 +++++++++++++++++++++++++++++ net-firewall/fwknop/metadata.xml | 4 +- 2 files changed, 134 insertions(+), 2 deletions(-) create mode 100644 net-firewall/fwknop/fwknop-2.6.8-r2.ebuild (limited to 'net-firewall') diff --git a/net-firewall/fwknop/fwknop-2.6.8-r2.ebuild b/net-firewall/fwknop/fwknop-2.6.8-r2.ebuild new file mode 100644 index 000000000000..204959447d91 --- /dev/null +++ b/net-firewall/fwknop/fwknop-2.6.8-r2.ebuild @@ -0,0 +1,132 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 + +# Python extension supports only Python 2. +# See https://github.com/mrash/fwknop/issues/167 +PYTHON_COMPAT=( python2_7 ) +DISTUTILS_OPTIONAL=1 + +inherit autotools distutils-r1 eutils linux-info readme.gentoo-r1 systemd + +DESCRIPTION="Single Packet Authorization and Port Knocking application" +HOMEPAGE="https://www.cipherdyne.org/fwknop/ https://github.com/mrash/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=" + firewalld? ( server ) + gdbm? ( server ) + iptables? ( server ) + python? ( ${PYTHON_REQUIRED_USE} ) + server? ( ^^ ( firewalld iptables ) ) + udp-server? ( server ) +" + +DOCS=( AUTHORS ChangeLog README.md ) + +DISABLE_AUTOFORMATTING=1 +DOC_CONTENTS=" +Example configuration files were installed to /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. +" + +src_prepare() { + default_src_prepare + + # Install example configs with .example suffix. + if use server; then + sed -i -e 's|conf;|conf.example;|g' Makefile.am || die + fi + + eautoreconf +} + +src_configure() { + local myeconfargs=( + --localstatedir="${EPREFIX}/run" + $(use_enable client) + $(use_enable !gdbm file-cache) + $(use_enable server) + $(use_enable udp-server) + $(use_with gpg gpgme) + ) + use firewalld && myeconfargs+=(--with-firewalld="${EPREFIX}/usr/sbin/firewalld") + use iptables && myeconfargs+=(--with-iptables="${EPREFIX}/sbin/iptables") + + econf "${myeconfargs[@]}" +} + +src_compile() { + default_src_compile + + if use python; then + cd python || die + distutils-r1_src_compile + fi +} + +src_install() { + default_src_install + prune_libtool_files --modules + + if use extras; then + dodoc extras/apparmor/usr.sbin.fwknopd + dodoc extras/console-qr/console-qr.sh + dodoc extras/fwknop-launcher/* + fi + + if use server; then + newinitd "${FILESDIR}/fwknopd.init" 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 + + if use python; then + # Redefine DOCS, otherwise distutils-r1 eclass interferes. + local DOCS=() + cd python || die + distutils-r1_src_install + fi +} + +pkg_postinst() { + if use server; then + readme.gentoo_print_elog + + if ! linux_config_exists || ! linux_chkconfig_present NETFILTER_XT_MATCH_COMMENT; then + echo + ewarn "fwknopd daemon relies on the 'comment' match in order to expire" + ewarn "created firewall rules, which is an important security feature." + ewarn "Please enable NETFILTER_XT_MATCH_COMMENT support in your kernel." + echo + fi + fi +} diff --git a/net-firewall/fwknop/metadata.xml b/net-firewall/fwknop/metadata.xml index fac989c8b97c..46d8d3708515 100644 --- a/net-firewall/fwknop/metadata.xml +++ b/net-firewall/fwknop/metadata.xml @@ -11,9 +11,9 @@ Build fwknop client - Install example AppArmor policy for fwknopd server + Install utility scripts and AppArmor policy for fwknopd Use net-firewall/firewalld as the default server backend - Replace file-based digest-cache with gdbm one + Use sys-libs/gdbm to store fwknopd digest cache Enable GPG support via app-crypt/gpgme Use net-firewall/iptables as the default server backend Build fwknopd server -- cgit v1.2.3-65-gdbad