net-firewall/fwknop: verbump to 2.6.9
authorIlya Tumaykin <itumaykin@gmail.com>
Tue, 31 May 2016 03:21:39 +0000 (06:21 +0300)
committerGöktürk Yüksek <gokturk@gentoo.org>
Sun, 12 Jun 2016 04:27:56 +0000 (00:27 -0400)
Closes: https://github.com/gentoo/gentoo/pull/1565
Package-Manager: portage-2.3.0_rc1

net-firewall/fwknop/Manifest
net-firewall/fwknop/fwknop-2.6.9.ebuild [new file with mode: 0644]
net-firewall/fwknop/metadata.xml

index 7237b4578a707796f87967e2d729c5c1083129c6..8e3277a4f0644b8d3fa6fe3a6ca9b788e2b86395 100644 (file)
@@ -1 +1,2 @@
 DIST fwknop-2.6.8.tar.gz 2860231 SHA256 96e6ba8b7e29aaf65bd06eaa823896ab66169b2aaced8123375378ff4b76a2d6 SHA512 aed4081652a95f3276468d58476d093a6dd76abbe5b4047930fc32a0d46f3dc341a3b0d9b7c81dc6c466f468f06c94607f2dadc89867127d0b4878175e32b6d6 WHIRLPOOL d394b43c5eb96a4172ec005dc8ec13985e8b70bd342eabfdd95d0fd7a6425ddc294d24900f6b85b4ce7c595cf45622b28ee08583fb222c7d5d9f74f87a10c1cc
+DIST fwknop-2.6.9.tar.gz 3043542 SHA256 0a8de8d3e2073ad08f5834d39def6c33fd035809cfddbea252174e7dc06a5a51 SHA512 4706560d44c911c8604059d88dded9c1b8c333399d90ec7dc366c0fba96c79680bdbf1b8b5e76cc34aaf3a1e58fff80db8f5f20c96d57481bdb476a9b99f4d1b WHIRLPOOL e9ac76f39f8991af4a56f85f50f2ea982a7d043cfb17c824cbaf3ebd18e34630b86abdf198e9e91239c4acf67db56539a9dee00ee379ec39314adb5bc233344c
diff --git a/net-firewall/fwknop/fwknop-2.6.9.ebuild b/net-firewall/fwknop/fwknop-2.6.9.ebuild
new file mode 100644 (file)
index 0000000..ea7cb16
--- /dev/null
@@ -0,0 +1,142 @@
+# 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 nfqueue 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 )
+       nfqueue? ( net-libs/libnetfilter_queue )
+       python? ( ${PYTHON_DEPS} )
+       server? ( !nfqueue? ( !udp-server? ( net-libs/libpcap ) ) )
+"
+RDEPEND="${DEPEND}"
+
+REQUIRED_USE="
+       firewalld? ( server )
+       gdbm? ( server )
+       iptables? ( server )
+       nfqueue? ( 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 nfqueue nfq-capture)
+               $(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
+               if use nfqueue && \
+                       ! linux_config_exists || ! linux_chkconfig_present NETFILTER_XT_TARGET_NFQUEUE; then
+                       echo
+                       ewarn "fwknopd daemon relies on the 'NFQUEUE' target for NFQUEUE mode."
+                       ewarn "Please enable NETFILTER_XT_TARGET_NFQUEUE support in your kernel."
+                       echo
+               fi
+       fi
+}
index 46d8d3708515c463062ba06cb5c669c3d7786c3b..3f95120e273b237350085d8a5a251258e32bfe44 100644 (file)
@@ -16,8 +16,9 @@
                <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="nfqueue">Enable UDP-only NFQUEUE server mode (no <pkg>net-libs/libpcap</pkg> dependency)</flag>
                <flag name="server">Build fwknopd server</flag>
-               <flag name="udp-server">Enable UDP server mode only (no <pkg>net-libs/libpcap</pkg> dependency)</flag>
+               <flag name="udp-server">Enable UDP-only server mode (no <pkg>net-libs/libpcap</pkg> dependency)</flag>
        </use>
        <upstream>
                <remote-id type="github">mrash/fwknop</remote-id>