diff options
author | Ilya Tumaykin <itumaykin@gmail.com> | 2016-05-31 06:06:45 +0300 |
---|---|---|
committer | Göktürk Yüksek <gokturk@gentoo.org> | 2016-06-12 00:27:56 -0400 |
commit | 3e987cd82291b3375f2b8d6c2a66d7bbbf74fbe6 (patch) | |
tree | 7dd018bc4c9472db96ecb9f70fcaaba51d1445cd /net-firewall/fwknop | |
parent | net-firewall/fwknop: bump initscript copyright years after shebang update (diff) | |
download | gentoo-3e987cd82291b3375f2b8d6c2a66d7bbbf74fbe6.tar.gz gentoo-3e987cd82291b3375f2b8d6c2a66d7bbbf74fbe6.tar.bz2 gentoo-3e987cd82291b3375f2b8d6c2a66d7bbbf74fbe6.zip |
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
Diffstat (limited to 'net-firewall/fwknop')
-rw-r--r-- | net-firewall/fwknop/fwknop-2.6.8-r2.ebuild | 132 | ||||
-rw-r--r-- | net-firewall/fwknop/metadata.xml | 4 |
2 files changed, 134 insertions, 2 deletions
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 @@ </maintainer> <use> <flag name="client">Build fwknop client</flag> - <flag name="extras">Install example AppArmor policy for fwknopd server</flag> + <flag name="extras">Install utility scripts and AppArmor policy for fwknopd</flag> <flag name="firewalld">Use <pkg>net-firewall/firewalld</pkg> as the default server backend</flag> - <flag name="gdbm">Replace file-based digest-cache with gdbm one</flag> + <flag name="gdbm">Use <pkg>sys-libs/gdbm</pkg> to store fwknopd digest cache</flag> <flag name="gpg">Enable GPG support via <pkg>app-crypt/gpgme</pkg></flag> <flag name="iptables">Use <pkg>net-firewall/iptables</pkg> as the default server backend</flag> <flag name="server">Build fwknopd server</flag> |