commit:     b802dd69107a7765fd6094f18a65060e12746eee
Author:     Matthew Brewer <tomboy64 <AT> sina <DOT> cn>
AuthorDate: Fri Mar 11 14:14:18 2016 +0000
Commit:     Ian Delaney <idella4 <AT> gentoo <DOT> org>
CommitDate: Sat Mar 19 11:19:20 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b802dd69

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

 net-analyzer/bro/Manifest                          |  1 +
 net-analyzer/bro/bro-2.4.1.ebuild                  | 78 ++++++++++++++++++++++
 .../files/bro-2.4.1-fix-python-install-dir.patch   | 37 ++++++++++
 .../bro-2.4.1-remove-unnecessary-remove.patch      | 20 ++++++
 net-analyzer/bro/metadata.xml                      | 29 ++++++++
 5 files changed, 165 insertions(+)

diff --git a/net-analyzer/bro/Manifest b/net-analyzer/bro/Manifest
new file mode 100644
index 0000000..f260885
--- /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 0000000..5389880
--- /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 0000000..66d41ed
--- /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 0000000..e4803bc
--- /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 0000000..5a0fdfd
--- /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>tombo...@sina.cn</email>
+        <name>M.B.</name>
+        <description>Maintainer, assign bugs to him</description>
+    </maintainer>
+    <maintainer type="project">
+        <email>proxy-ma...@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>

Reply via email to