summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas K. Hüttel <dilfridge@gentoo.org>2017-09-25 12:38:37 +0200
committerAndreas K. Hüttel <dilfridge@gentoo.org>2017-11-01 23:04:47 +0100
commitc2585aef6d159695ac0a5dc600245507973e82ef (patch)
treed57f37e7f34b1e21cb39b528220037bd138daf2e /net-analyzer/argus
parentdev-perl/Module-Build-XSUtil: Bump to version 0.180.0 (diff)
downloadgentoo-c2585aef6d159695ac0a5dc600245507973e82ef.tar.gz
gentoo-c2585aef6d159695ac0a5dc600245507973e82ef.tar.bz2
gentoo-c2585aef6d159695ac0a5dc600245507973e82ef.zip
net-analyzer/argus: Add option to build against libtirpc for RPC support, bug 631474
Closes: https://bugs.gentoo.org/631474 Package-Manager: Portage-2.3.10, Repoman-2.3.3
Diffstat (limited to 'net-analyzer/argus')
-rw-r--r--net-analyzer/argus/argus-3.0.8.2-r1.ebuild86
-rw-r--r--net-analyzer/argus/files/argus-3.0.8.2-rpc.patch47
-rw-r--r--net-analyzer/argus/metadata.xml3
3 files changed, 136 insertions, 0 deletions
diff --git a/net-analyzer/argus/argus-3.0.8.2-r1.ebuild b/net-analyzer/argus/argus-3.0.8.2-r1.ebuild
new file mode 100644
index 00000000000..4484cf276e7
--- /dev/null
+++ b/net-analyzer/argus/argus-3.0.8.2-r1.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit autotools eutils user
+
+DESCRIPTION="network Audit Record Generation and Utilization System"
+HOMEPAGE="http://www.qosient.com/argus/"
+SRC_URI="${HOMEPAGE}dev/${P/_rc/.rc.}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="debug +libtirpc sasl tcpd"
+
+RDEPEND="
+ net-libs/libpcap
+ sys-libs/zlib
+ !libtirpc? ( sys-libs/glibc[rpc(-)] )
+ libtirpc? ( net-libs/libtirpc )
+ sasl? ( dev-libs/cyrus-sasl )
+ tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
+"
+
+DEPEND="
+ ${RDEPEND}
+ >=sys-devel/bison-1.28
+ >=sys-devel/flex-2.4.6
+"
+
+S=${WORKDIR}/${P/_rc/.rc.}
+
+src_prepare() {
+ find . -type f -execdir chmod +w {} \; #561360
+ sed -e 's:/etc/argus.conf:/etc/argus/argus.conf:' \
+ -i argus/argus.c \
+ -i support/Config/argus.conf \
+ -i man/man8/argus.8 \
+ -i man/man5/argus.conf.5 || die
+
+ sed -e 's:#\(ARGUS_SETUSER_ID=\).*:\1argus:' \
+ -e 's:#\(ARGUS_SETGROUP_ID=\).*:\1argus:' \
+ -e 's:\(#ARGUS_CHROOT_DIR=\).*:\1/var/lib/argus:' \
+ -i support/Config/argus.conf || die
+ epatch \
+ "${FILESDIR}"/${PN}-3.0.8.1-disable-tcp-wrappers-automagic.patch \
+ "${FILESDIR}"/${PN}-3.0.5-Makefile.patch \
+ "${FILESDIR}"/${PN}-3.0.7.3-DLT_IPNET.patch \
+ "${FILESDIR}"/${PN}-3.0.8.2-rpc.patch
+
+ epatch_user
+ eautoreconf
+}
+
+src_configure() {
+ use debug && touch .debug # enable debugging
+ econf $(use_with libtirpc) $(use_with tcpd wrappers) $(use_with sasl)
+}
+
+src_compile() {
+ emake CCOPT="${CFLAGS} ${LDFLAGS}"
+}
+
+src_install () {
+ doman man/man5/*.5 man/man8/*.8
+
+ dosbin bin/argus{,bug}
+
+ dodoc ChangeLog CREDITS README
+
+ insinto /etc/argus
+ doins support/Config/argus.conf
+
+ newinitd "${FILESDIR}/argus.initd" argus
+ keepdir /var/lib/argus
+}
+
+pkg_preinst() {
+ enewgroup argus
+ enewuser argus -1 -1 /var/lib/argus argus
+}
+
+pkg_postinst() {
+ elog "Note, if you modify ARGUS_DAEMON value in argus.conf it's quite"
+ elog "possible that the init script will fail to work."
+}
diff --git a/net-analyzer/argus/files/argus-3.0.8.2-rpc.patch b/net-analyzer/argus/files/argus-3.0.8.2-rpc.patch
new file mode 100644
index 00000000000..462d465609f
--- /dev/null
+++ b/net-analyzer/argus/files/argus-3.0.8.2-rpc.patch
@@ -0,0 +1,47 @@
+diff -ruN argus-3.0.8.2.orig/common/Makefile.in argus-3.0.8.2/common/Makefile.in
+--- argus-3.0.8.2.orig/common/Makefile.in 2015-04-14 14:32:33.000000000 -0000
++++ argus-3.0.8.2/common/Makefile.in 2017-09-25 10:27:16.272856331 -0000
+@@ -35,12 +35,12 @@
+
+ CC = @CC@
+ CCOPT = @V_CCOPT@
+-INCLS = -I$(srcdir) @V_INCLS@ -I$(srcdir)/../include -I$(srcdir)/../argus
++INCLS = -I$(srcdir) @V_INCLS@ @RPC_CFLAGS@ -I$(srcdir)/../include -I$(srcdir)/../argus
+ DEFS = @DEFS@
+
+ # Standard CFLAGS
+ CFLAGS = $(CCOPT) $(INCLS) $(DEFS)
+-LDFLAGS = @LDFLAGS@
++LDFLAGS = @LDFLAGS@ @RPC_LIBS@
+
+ INSTALL = @INSTALL@
+ RANLIB = @V_RANLIB@
+diff -ruN argus-3.0.8.2.orig/configure.ac argus-3.0.8.2/configure.ac
+--- argus-3.0.8.2.orig/configure.ac 2017-09-25 10:20:04.155174606 -0000
++++ argus-3.0.8.2/configure.ac 2017-09-25 10:24:39.151904377 -0000
+@@ -120,6 +120,25 @@
+ AC_CHECK_FUNCS(floorf remainderf)
+ AC_CHECK_FUNCS(timegm)
+
++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)
++
+ AC_CHECK_FUNCS(xdrmem_create)
+ if test "$ac_cv_func_xdrmem_create" = yes ; then
+ AC_DEFINE([HAVE_XDR], [], [Using system XDR library])
diff --git a/net-analyzer/argus/metadata.xml b/net-analyzer/argus/metadata.xml
index 90955da4b59..e7da258d526 100644
--- a/net-analyzer/argus/metadata.xml
+++ b/net-analyzer/argus/metadata.xml
@@ -6,4 +6,7 @@
<name>Gentoo network monitoring and analysis project</name>
</maintainer>
<longdescription>network Audit Record Generation and Utilization System</longdescription>
+<use>
+ <flag name="libtirpc">Build against <pkg>net-libs/libtirpc</pkg> for RPC support</flag>
+</use>
</pkgmetadata>