summaryrefslogtreecommitdiff
path: root/net-analyzer/bro
diff options
context:
space:
mode:
authorMatthew Brewer <tomboy64@sina.cn>2016-03-11 15:14:18 +0100
committerIan Delaney <idella4@gentoo.org>2016-03-19 19:19:20 +0800
commitb802dd69107a7765fd6094f18a65060e12746eee (patch)
tree3f50eae8754d613282d94333e8d50a6bb0b14477 /net-analyzer/bro
parent2970ef097b92c747ea2b95dfdcca8f6ef1a743e9 (diff)
downloadgentoo-b802dd69107a7765fd6094f18a65060e12746eee.tar.gz
gentoo-b802dd69107a7765fd6094f18a65060e12746eee.tar.xz
net-analyzer/bro: initial ebuild, version 2.4.1
Bro is a highly configurable network analysis framework and IDS. Package-Manager: portage-2.2.27 RepoMan-Options: --ignore-arches Closes: https://github.com/gentoo/gentoo/pull/1069
Diffstat (limited to 'net-analyzer/bro')
-rw-r--r--net-analyzer/bro/Manifest1
-rw-r--r--net-analyzer/bro/bro-2.4.1.ebuild78
-rw-r--r--net-analyzer/bro/files/bro-2.4.1-fix-python-install-dir.patch37
-rw-r--r--net-analyzer/bro/files/bro-2.4.1-remove-unnecessary-remove.patch20
-rw-r--r--net-analyzer/bro/metadata.xml29
5 files changed, 165 insertions, 0 deletions
diff --git a/net-analyzer/bro/Manifest b/net-analyzer/bro/Manifest
new file mode 100644
index 00000000000..f260885d707
--- /dev/null
+++ b/net-analyzer/bro/Manifest
@@ -0,0 +1 @@
+DIST bro-2.4.1.tar.gz 15010455 SHA256 d8b99673a5024630f6bae820c4f8c3ca9029f1167f9e5729c914c66e1fc7c8f6 SHA512 4f7bf6c037fe7b16214830d2dba9f7abffd853f66030aa710fb9f174a475f8cd27d8de6bacf965f142f942a42093ceb78dcd8cbcedac6fbcfdd65ac07b3dd410 WHIRLPOOL 545450119846f28dcca38429d1ba8c21f3da9c3f4d5fac6e4797143a401b789f7b171980fec046d4333c820858e74d0a89ea3e614c9f2ceb4c3690b5582f1be7
diff --git a/net-analyzer/bro/bro-2.4.1.ebuild b/net-analyzer/bro/bro-2.4.1.ebuild
new file mode 100644
index 00000000000..538988008e8
--- /dev/null
+++ b/net-analyzer/bro/bro-2.4.1.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+inherit cmake-utils python-single-r1
+
+DESCRIPTION="The Bro Network Security Monitor"
+HOMEPAGE="https://www.bro.org"
+SRC_URI="https://www.bro.org/downloads/release/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+broccoli +broctl broker curl debug geoip ipv6 jemalloc mta +python -ruby tcmalloc static-libs +tools"
+
+RDEPEND="app-shells/bash:0
+ dev-libs/openssl:0
+ net-analyzer/ipsumdump
+ ipv6? ( net-analyzer/ipsumdump[ipv6] )
+ net-dns/bind-tools
+ net-libs/libpcap
+ sys-libs/zlib
+ broker? ( =dev-libs/actor-framework-0.13.2* )
+ curl? ( net-misc/curl )
+ geoip? ( dev-libs/geoip )
+ jemalloc? ( dev-libs/jemalloc )
+ mta? ( virtual/mta )
+ python? ( ${PYTHON_DEPS} )
+ ruby? ( >=dev-lang/ruby-1.8:= )
+ tcmalloc? ( dev-util/google-perftools )"
+DEPEND="${RDEPEND}
+ >=dev-lang/swig-3.0.3
+ dev-lang/perl"
+
+REQUIRED_USE="broker? ( python )
+ broctl? ( python )
+ python? ( ${PYTHON_REQUIRED_USE} )"
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ eapply "${FILESDIR}/bro-2.4.1-remove-unnecessary-remove.patch"
+ eapply "${FILESDIR}/bro-2.4.1-fix-python-install-dir.patch"
+ eapply_user
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_DEBUG=$(usex debug true false)
+ -DENABLE_JEMALLOC=$(usex jemalloc true false)
+ -DDISABLE_PERFTOOLS=$(usex tcmalloc false true)
+ -DENABLE_BROKER=$(usex broker true false)
+ -DENABLE_CXX11=$(usex broker true false)
+ -DBROKER_PYTHON_PREFIX="/usr"
+ -DLIBCAF_INCLUDE_DIR_CORE="/usr/include/"
+ -DLIBCAF_INCLUDE_DIR_IO="/usr/include/"
+ -DLIBCAF_ROOT_DIR="/usr"
+ -DENABLE_STATIC=$(usex static-libs true false)
+ -DINSTALL_BROCCOLI=$(usex broccoli true false)
+ -DINSTALL_BROCTL=$(usex broctl true false)
+ -DINSTALL_AUX_TOOLS=$(usex tools true false)
+ -DENABLE_MOBILE_IPV6=$(usex ipv6 true false)
+ -DDISABLE_RUBY_BINDINGS=$(usex ruby false true)
+ -DDISABLE_PYTHON_BINDINGS=$(usex python false true)
+ -DBRO_LOG_DIR="/var/log/bro/"
+ -DBRO_SPOOL_DIR="/var/spool/bro/"
+ -DBRO_ETC_INSTALL_DIR="/etc/bro/"
+ -DINSTALL_LIB_DIR="/usr/$(get_libdir)"
+ -DPY_MOD_INSTALL_DIR="$(python_get_sitedir)"
+ )
+
+ cmake-utils_src_configure
+}
diff --git a/net-analyzer/bro/files/bro-2.4.1-fix-python-install-dir.patch b/net-analyzer/bro/files/bro-2.4.1-fix-python-install-dir.patch
new file mode 100644
index 00000000000..66d41ed4f47
--- /dev/null
+++ b/net-analyzer/bro/files/bro-2.4.1-fix-python-install-dir.patch
@@ -0,0 +1,37 @@
+--- a/aux/broker/bindings/python/CMakeLists.txt 2016-03-17 23:26:42.707456012 +0100
++++ b/aux/broker/bindings/python/CMakeLists.txt 2016-03-17 23:28:27.714453166 +0100
+@@ -52,19 +52,21 @@
+ swig_add_module(pybroker python pybroker.i)
+ swig_link_libraries(pybroker ${libbroker} ${PYTHON_LIBRARIES})
+
+-if ( BROKER_PYTHON_PREFIX )
+- set(pyver ${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR})
+- set(PY_MOD_INSTALL_DIR
+- ${BROKER_PYTHON_PREFIX}/lib/python${pyver}/site-packages)
+-elseif ( BROKER_PYTHON_HOME )
+- set(PY_MOD_INSTALL_DIR ${BROKER_PYTHON_HOME}/lib/python)
+-else ()
+- execute_process(COMMAND ${PYTHON_EXECUTABLE} -c
+- "from distutils.sysconfig import get_python_lib; print get_python_lib()"
+- OUTPUT_VARIABLE PYTHON_SITE_PACKAGES
+- OUTPUT_STRIP_TRAILING_WHITESPACE)
+- set(PY_MOD_INSTALL_DIR ${PYTHON_SITE_PACKAGES})
+-endif ()
++if ( NOT PY_MOD_INSTALL_DIR )
++ if ( BROKER_PYTHON_PREFIX )
++ set(pyver ${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR})
++ set(PY_MOD_INSTALL_DIR
++ ${BROKER_PYTHON_PREFIX}/lib/python${pyver}/site-packages)
++ elseif ( BROKER_PYTHON_HOME )
++ set(PY_MOD_INSTALL_DIR ${BROKER_PYTHON_HOME}/lib/python)
++ else ()
++ execute_process(COMMAND ${PYTHON_EXECUTABLE} -c
++ "from distutils.sysconfig import get_python_lib; print get_python_lib()"
++ OUTPUT_VARIABLE PYTHON_SITE_PACKAGES
++ OUTPUT_STRIP_TRAILING_WHITESPACE)
++ set(PY_MOD_INSTALL_DIR ${PYTHON_SITE_PACKAGES})
++ endif ( BROKER_PYTHON_PREFIX )
++endif ( NOT PY_MOD_INSTALL_DIR )
+
+ message(STATUS "Python bindings will be built and installed to: "
+ ${PY_MOD_INSTALL_DIR})
diff --git a/net-analyzer/bro/files/bro-2.4.1-remove-unnecessary-remove.patch b/net-analyzer/bro/files/bro-2.4.1-remove-unnecessary-remove.patch
new file mode 100644
index 00000000000..e4803bc7db9
--- /dev/null
+++ b/net-analyzer/bro/files/bro-2.4.1-remove-unnecessary-remove.patch
@@ -0,0 +1,20 @@
+--- a/src/CMakeLists.txt.old 2016-03-11 20:47:44.652900344 +0100
++++ b/src/CMakeLists.txt 2016-03-11 20:48:11.665101378 +0100
+@@ -425,10 +425,10 @@
+
+ # Remove some stale files and scripts that previous Bro versions put in
+ # place, yet make confuse us now. This makes upgrading easier.
+-install(CODE "
+- file(REMOVE_RECURSE
+- ${BRO_SCRIPT_INSTALL_PATH}/base/frameworks/logging/writers/dataseries.bro
+- ${BRO_SCRIPT_INSTALL_PATH}/base/frameworks/logging/writers/elasticsearch.bro
+- ${BRO_SCRIPT_INSTALL_PATH}/policy/tuning/logs-to-elasticsearch.bro
+- )
+-")
++#install(CODE "
++# file(REMOVE_RECURSE
++# ${BRO_SCRIPT_INSTALL_PATH}/base/frameworks/logging/writers/dataseries.bro
++# ${BRO_SCRIPT_INSTALL_PATH}/base/frameworks/logging/writers/elasticsearch.bro
++# ${BRO_SCRIPT_INSTALL_PATH}/policy/tuning/logs-to-elasticsearch.bro
++# )
++#")
diff --git a/net-analyzer/bro/metadata.xml b/net-analyzer/bro/metadata.xml
new file mode 100644
index 00000000000..5a0fdfd0e98
--- /dev/null
+++ b/net-analyzer/bro/metadata.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tomboy64@sina.cn</email>
+ <name>M.B.</name>
+ <description>Maintainer, assign bugs to him</description>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <use>
+ <flag name="broccoli">Enable the Bro Client Communication Library</flag>
+ <flag name="broctl">An interactive shell for managing Bro installations</flag>
+ <flag name="broker">Bro's (new) Messaging Library</flag>
+ <flag name="geoip">Enable support for Maxmind's GeoIP library</flag>
+ <flag name="ipv6">Support for mobile IPv6</flag>
+ <flag name="jemalloc">Support for the Jemalloc allocator</flag>
+ <flag name="mta">Enable Bro to send e-mails</flag>
+ <flag name="python">Enable Python bindings</flag>
+ <flag name="ruby">Enable Ruby bindings (deprecated)</flag>
+ <flag name="tcmalloc">Enable Google's Performance Analysis Tools</flag>
+ <flag name="tools">Small auxiliary tools for Bro</flag>
+ </use>
+ <longdescription lang="en">
+ Bro is a powerful network analysis framework that is much different from the typical IDS you may know.
+ </longdescription>
+</pkgmetadata>