diff options
author | Andreas K. Hüttel <dilfridge@gentoo.org> | 2017-09-24 22:16:18 +0200 |
---|---|---|
committer | Andreas K. Hüttel <dilfridge@gentoo.org> | 2017-11-01 23:06:20 +0100 |
commit | d94fc3980f778d1d88ec93f83b0b4ebb41a3fe14 (patch) | |
tree | 87d9a6d900302a75dabe1ddcbcbbf2c257b598ad /net-firewall/conntrack-tools | |
parent | net-analyzer/argus: Add option to build against libtirpc for RPC support, bug... (diff) | |
download | gentoo-d94fc3980f778d1d88ec93f83b0b4ebb41a3fe14.tar.gz gentoo-d94fc3980f778d1d88ec93f83b0b4ebb41a3fe14.tar.bz2 gentoo-d94fc3980f778d1d88ec93f83b0b4ebb41a3fe14.zip |
net-firewall/conntrack-tools: Add support for libtirpc, bug 631902
Closes: https://bugs.gentoo.org/631902
Package-Manager: Portage-2.3.10, Repoman-2.3.3
Diffstat (limited to 'net-firewall/conntrack-tools')
3 files changed, 140 insertions, 0 deletions
diff --git a/net-firewall/conntrack-tools/conntrack-tools-1.4.4-r1.ebuild b/net-firewall/conntrack-tools/conntrack-tools-1.4.4-r1.ebuild new file mode 100644 index 000000000000..c5d0f532f96d --- /dev/null +++ b/net-firewall/conntrack-tools/conntrack-tools-1.4.4-r1.ebuild @@ -0,0 +1,94 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit autotools eutils linux-info + +DESCRIPTION="Connection tracking userspace tools" +HOMEPAGE="http://conntrack-tools.netfilter.org" +SRC_URI="http://www.netfilter.org/projects/conntrack-tools/files/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~hppa ~x86" +IUSE="doc +libtirpc" + +RDEPEND=" + >=net-libs/libmnl-1.0.3 + >=net-libs/libnetfilter_conntrack-1.0.6 + >=net-libs/libnetfilter_cthelper-1.0.0 + >=net-libs/libnetfilter_cttimeout-1.0.0 + >=net-libs/libnetfilter_queue-1.0.2 + >=net-libs/libnfnetlink-1.0.1 + !libtirpc? ( sys-libs/glibc[rpc(-)] ) + libtirpc? ( net-libs/libtirpc ) +" +DEPEND=" + ${RDEPEND} + doc? ( + app-text/docbook-xml-dtd:4.1.2 + app-text/xmlto + ) + virtual/pkgconfig + sys-devel/bison + sys-devel/flex +" + +pkg_setup() { + linux-info_pkg_setup + + if kernel_is lt 2 6 18 ; then + die "${PN} requires at least 2.6.18 kernel version" + fi + + #netfilter core team has changed some option names with kernel 2.6.20 + if kernel_is lt 2 6 20 ; then + CONFIG_CHECK="~IP_NF_CONNTRACK_NETLINK" + else + CONFIG_CHECK="~NF_CT_NETLINK" + fi + CONFIG_CHECK="${CONFIG_CHECK} ~NF_CONNTRACK + ~NETFILTER_NETLINK ~NF_CONNTRACK_EVENTS" + + check_extra_config + + linux_config_exists || \ + linux_chkconfig_present "NF_CONNTRACK_IPV4" || \ + linux_chkconfig_present "NF_CONNTRACK_IPV6" || \ + ewarn "CONFIG_NF_CONNTRACK_IPV4 or CONFIG_NF_CONNTRACK_IPV6 " \ + "are not set when one at least should be." +} + +src_prepare() { + default + + # bug #474858 + sed -i -e 's:/var/lock:/run/lock:' doc/stats/conntrackd.conf || die + + # bug #631902 + epatch "${FILESDIR}/${P}-rpc.patch" + + eautoreconf +} + +src_configure() { + econf $(use_with libtirpc) +} + +src_compile() { + default + use doc && emake -C doc/manual +} + +src_install() { + default + + newinitd "${FILESDIR}/conntrackd.initd-r3" conntrackd + newconfd "${FILESDIR}/conntrackd.confd-r2" conntrackd + + insinto /etc/conntrackd + doins doc/stats/conntrackd.conf + + dodoc -r doc/sync doc/stats AUTHORS TODO + use doc && dodoc doc/manual/${PN}.html +} diff --git a/net-firewall/conntrack-tools/files/conntrack-tools-1.4.4-rpc.patch b/net-firewall/conntrack-tools/files/conntrack-tools-1.4.4-rpc.patch new file mode 100644 index 000000000000..739857790c3d --- /dev/null +++ b/net-firewall/conntrack-tools/files/conntrack-tools-1.4.4-rpc.patch @@ -0,0 +1,43 @@ +diff -ruN conntrack-tools-1.4.4.orig/configure.ac conntrack-tools-1.4.4/configure.ac +--- conntrack-tools-1.4.4.orig/configure.ac 2016-08-22 10:43:02.954671362 -0000 ++++ conntrack-tools-1.4.4/configure.ac 2017-09-24 19:50:37.225517482 -0000 +@@ -50,6 +50,25 @@ + AS_HELP_STRING([--enable-systemd], [Build systemd support]), + [enable_systemd="$enableval"], [enable_systemd="no"]) + ++AC_ARG_WITH([libtirpc], ++ AS_HELP_STRING([--with-libtirpc], [Use libtirpc as RPC implementation (instead of sunrpc)]), ++ [], [ with_libtirpc=no ]) ++ ++AS_IF([test "x$with_libtirpc" != xno], ++ [PKG_CHECK_MODULES([TIRPC], ++ [libtirpc], ++ [RPC_CFLAGS=$TIRPC_CFLAGS; RPC_LIBS=$TIRPC_LIBS;], ++ [AC_MSG_ERROR([libtirpc requested, but library not found.])] ++ )], ++ [AC_CHECK_HEADER(rpc/rpc.h, ++ [RPC_CFLAGS=""; RPC_LIBS="";], ++ [AC_MSG_ERROR([sunrpc requested, but headers are not present.])] ++ )] ++) ++ ++AC_SUBST(RPC_CFLAGS) ++AC_SUBST(RPC_LIBS) ++ + PKG_CHECK_MODULES([LIBNFNETLINK], [libnfnetlink >= 1.0.1]) + PKG_CHECK_MODULES([LIBMNL], [libmnl >= 1.0.3]) + PKG_CHECK_MODULES([LIBNETFILTER_CONNTRACK], [libnetfilter_conntrack >= 1.0.6]) +diff -ruN conntrack-tools-1.4.4.orig/src/helpers/Makefile.am conntrack-tools-1.4.4/src/helpers/Makefile.am +--- conntrack-tools-1.4.4.orig/src/helpers/Makefile.am 2015-02-11 15:36:00.650610125 -0000 ++++ conntrack-tools-1.4.4/src/helpers/Makefile.am 2017-09-24 19:52:11.644990587 -0000 +@@ -22,8 +22,8 @@ + ct_helper_ftp_la_CFLAGS = $(AM_CFLAGS) $(LIBNETFILTER_CONNTRACK_CFLAGS) + + ct_helper_rpc_la_SOURCES = rpc.c +-ct_helper_rpc_la_LDFLAGS = -avoid-version -module $(LIBNETFILTER_CONNTRACK_LIBS) +-ct_helper_rpc_la_CFLAGS = $(AM_CFLAGS) $(LIBNETFILTER_CONNTRACK_CFLAGS) ++ct_helper_rpc_la_LDFLAGS = -avoid-version -module $(LIBNETFILTER_CONNTRACK_LIBS) $(RPC_LIBS) ++ct_helper_rpc_la_CFLAGS = $(AM_CFLAGS) $(LIBNETFILTER_CONNTRACK_CFLAGS) $(RPC_CFLAGS) + + ct_helper_tftp_la_SOURCES = tftp.c + ct_helper_tftp_la_LDFLAGS = -avoid-version -module $(LIBNETFILTER_CONNTRACK_LIBS) diff --git a/net-firewall/conntrack-tools/metadata.xml b/net-firewall/conntrack-tools/metadata.xml index 10198984dfc7..cd2eeff6fa91 100644 --- a/net-firewall/conntrack-tools/metadata.xml +++ b/net-firewall/conntrack-tools/metadata.xml @@ -10,4 +10,7 @@ the userspace command line interface, and conntrackd, the userspace daemon. </longdescription> + <use> + <flag name="libtirpc">Build against <pkg>net-libs/libtirpc</pkg> for RPC support</flag> + </use> </pkgmetadata> |