net-analyzer/flow-tools: Revbump to fix compile and mysql dependency
authorBrian Evans <grknight@gentoo.org>
Thu, 14 Feb 2019 19:48:29 +0000 (14:48 -0500)
committerBrian Evans <grknight@gentoo.org>
Thu, 14 Feb 2019 19:50:49 +0000 (14:50 -0500)
Non-maintainer commit.

Original ebuild and patch by Robin Johnson <robbat2@gentoo.org>
Additional change for mysql dep by me

Bug: https://bugs.gentoo.org/674032
Bug: https://bugs.gentoo.org/665940
Package-Manager: Portage-2.3.60, Repoman-2.3.12
Signed-off-by: Brian Evans <grknight@gentoo.org>
net-analyzer/flow-tools/files/flow-tools-0.68.5.1-openssl11.patch [new file with mode: 0644]
net-analyzer/flow-tools/flow-tools-0.68.5.1-r10.ebuild [new file with mode: 0644]

diff --git a/net-analyzer/flow-tools/files/flow-tools-0.68.5.1-openssl11.patch b/net-analyzer/flow-tools/files/flow-tools-0.68.5.1-openssl11.patch
new file mode 100644 (file)
index 0000000..c6b1774
--- /dev/null
@@ -0,0 +1,47 @@
+diff -Nuar --exclude '*~' flow-tools-0.68.5.1.orig/lib/ftxlate.c flow-tools-0.68.5.1/lib/ftxlate.c
+--- flow-tools-0.68.5.1.orig/lib/ftxlate.c     2008-01-27 12:48:49.000000000 -0800
++++ flow-tools-0.68.5.1/lib/ftxlate.c  2018-12-29 15:18:33.739062317 -0800
+@@ -34,6 +34,14 @@
+ #include <openssl/ssl.h>
+ #include <openssl/evp.h>
+ #undef free_func
++
++/* fixup LibreSSL OpenSSL version numbering */
++#include <openssl/opensslv.h>
++#if (defined LIBRESSL_VERSION_NUMBER && OPENSSL_VERSION_NUMBER == 0x20000000L)
++#undef OPENSSL_VERSION_NUMBER
++#define OPENSSL_VERSION_NUMBER 0x1000107fL
++#endif
++
+ #endif /* HAVE_OPENSSL */
+ 
+ #include <sys/time.h>
+@@ -2040,11 +2048,13 @@
+ 
+ 
+   /* init crypto */
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+   if (!(cp->cipher_ctx = (EVP_CIPHER_CTX*) malloc(sizeof(EVP_CIPHER_CTX)))) {
+     return -1;
+   }
+ 
+   EVP_CIPHER_CTX_init(cp->cipher_ctx);
++#endif
+ 
+   /* disable padding */
+   if (!(EVP_CIPHER_CTX_set_padding(cp->cipher_ctx, 0))) {
+@@ -2083,10 +2093,14 @@
+ {
+ 
+ #ifdef HAVE_OPENSSL
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+   EVP_CIPHER_CTX_cleanup(cp->cipher_ctx);
+ 
+   if (cp->cipher_ctx)
+     free (cp->cipher_ctx);
++#else
++  EVP_CIPHER_CTX_free(cp->cipher_ctx);
++#endif
+ #endif /* HAVE_OPENSSL */
+ 
+   return 0;
diff --git a/net-analyzer/flow-tools/flow-tools-0.68.5.1-r10.ebuild b/net-analyzer/flow-tools/flow-tools-0.68.5.1-r10.ebuild
new file mode 100644 (file)
index 0000000..9d62c33
--- /dev/null
@@ -0,0 +1,78 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit user
+
+DESCRIPTION="library and programs to process reports from NetFlow data"
+HOMEPAGE="https://code.google.com/p/flow-tools/"
+SRC_URI="https://${PN}.googlecode.com/files/${P}.tar.bz2"
+
+LICENSE="BSD GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="debug libressl mysql postgres ssl static-libs"
+
+RDEPEND="sys-apps/tcp-wrappers
+       sys-libs/zlib
+       mysql? ( dev-db/mysql-connector-c:0= )
+       postgres? ( dev-db/postgresql:* )
+       ssl? (
+               !libressl? ( dev-libs/openssl:0= )
+               libressl? ( dev-libs/libressl:0= )
+       )"
+
+DEPEND="${RDEPEND}
+       sys-devel/flex
+       sys-devel/bison"
+
+DOCS=( ChangeLog README SECURITY TODO )
+
+PATCHES=(
+       "${FILESDIR}"/${P}-run.patch
+       "${FILESDIR}"/${P}-syslog.patch
+       "${FILESDIR}"/${P}-openssl11.patch
+)
+
+pkg_setup() {
+       pkg_douser
+}
+
+src_configure() {
+       econf \
+               $(use_enable static-libs static) \
+               $(usex mysql --with-mysql '') \
+               $(usex postgres --with-postgresql=yes --with-postgresql=no) \
+               $(usex ssl --with-openssl '') \
+               --sysconfdir=/etc/flow-tools
+}
+
+src_install() {
+       default
+
+       find "${D}" -name '*.la' -delete || die
+
+       exeinto /var/lib/flows/bin
+       doexe "${FILESDIR}"/linkme
+
+       keepdir /var/lib/flows/ft
+
+       newinitd "${FILESDIR}/flowcapture.initd" flowcapture
+       newconfd "${FILESDIR}/flowcapture.confd" flowcapture
+
+       fowners flows:flows /var/lib/flows
+       fowners flows:flows /var/lib/flows/bin
+       fowners flows:flows /var/lib/flows/ft
+
+       fperms 0755 /var/lib/flows
+       fperms 0755 /var/lib/flows/bin
+}
+
+pkg_preinst() {
+       pkg_douser
+}
+
+pkg_douser() {
+       enewgroup flows
+       enewuser flows -1 -1 /var/lib/flows flows
+}