1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-21 00:25:50 +00:00

net-mgmt/openbmp: new port

Adding openBMP, a BGP Monitor Protocol collector

Approved by:	olivier (mentor)
Sponsored by:	trivago N.V.
Differential Revision:	https://reviews.freebsd.org/D12378
This commit is contained in:
Luca Pizzamiglio 2017-09-15 14:17:03 +00:00
parent c0caef4413
commit 45a3a02fad
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=449905
10 changed files with 118 additions and 0 deletions

View File

@ -210,6 +210,7 @@
SUBDIR += ocsinventory-ng SUBDIR += ocsinventory-ng
SUBDIR += omping SUBDIR += omping
SUBDIR += onionlauncher SUBDIR += onionlauncher
SUBDIR += openbmp
SUBDIR += openlldp SUBDIR += openlldp
SUBDIR += openvmps SUBDIR += openvmps
SUBDIR += p0f SUBDIR += p0f

23
net-mgmt/openbmp/Makefile Normal file
View File

@ -0,0 +1,23 @@
# Created by: Luca Pizzamiglio <pizzamig@FreeBSD.org>
# $FreeBSD$
PORTNAME= openbmp
DISTVERSIONPREFIX= v
DISTVERSION= 0.13.0
CATEGORIES= net-mgmt
MAINTAINER= pizzamig@FreeBSD.org
COMMENT= OpenBMP Server Collector
LICENSE= EPL
LICENSE_FILE= ${WRKSRC}/LICENSE
LIB_DEPENDS= librdkafka.so:net/librdkafka \
libsasl2.so:security/cyrus-sasl2 \
libyaml-cpp.so:devel/yaml-cpp
USES= cmake:outsource ssl
USE_GITHUB= yes
GH_ACCOUNT= OpenBMP
.include <bsd.port.mk>

View File

@ -0,0 +1,3 @@
TIMESTAMP = 1505339149
SHA256 (OpenBMP-openbmp-v0.13.0_GH0.tar.gz) = 5eb3cc72553e1be86e47e298da441cdc1d4be9a4c67bd0d02f14fc903a01c307
SIZE (OpenBMP-openbmp-v0.13.0_GH0.tar.gz) = 3016241

View File

@ -0,0 +1,11 @@
--- CMakeLists.txt.orig 2017-09-14 09:28:17 UTC
+++ CMakeLists.txt
@@ -24,6 +24,8 @@ if (CMAKE_SYSTEM_NAME STREQUAL Linux)
set(LINUX TRUE)
elseif (CMAKE_SYSTEM_NAME STREQUAL Darwin)
set(MACOSX TRUE)
+elseif (CMAKE_SYSTEM_NAME STREQUAL FreeBSD)
+ set(FREEBSD TRUE)
else ()
Message (FATAL_ERROR "${CMAKE_SYSTEM_NAME} not supported; Must be Linux or Darwin")
endif()

View File

@ -0,0 +1,34 @@
--- Server/CMakeLists.txt.orig 2017-09-14 09:29:16 UTC
+++ Server/CMakeLists.txt
@@ -24,6 +24,14 @@ find_path(LIBYAML_CPP_INCLUDE_DIR
PATH_SUFFIXES
include)
+find_path(LIBLZ4_CPP_LIBRARY_DIR
+ NAMES
+ liblz4.so
+ HINTS
+ ${HINT_ROOT_DIR}
+ PATH_SUFFIXES
+ lib)
+
find_library(LIBYAML_CPP_LIBRARY
NAMES
libyaml-cpp.a yaml-cpp
@@ -84,6 +92,7 @@ endif()
# Update the include dir
include_directories(${LIBRDKAFKA_INCLUDE_DIR} ${LIBYAML_CPP_INCLUDE_DIR} src/ src/bmp src/bgp src/bgp/linkstate src/kafka)
#link_directories(${LIBRDKAFKA_LIBRARY})
+link_directories(${LIBLZ4_CPP_LIBRARY_DIR})
# Define the source files to compile
@@ -134,7 +143,7 @@ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR CMA
endif()
# Set the libs to link
-set (LIBS pthread ${LIBYAML_CPP_LIBRARY} ${LIBRDKAFKA_CPP_LIBRARY} ${LIBRDKAFKA_LIBRARY} z ${SSL_LIBS})
+set (LIBS pthread ${LIBYAML_CPP_LIBRARY} ${LIBRDKAFKA_CPP_LIBRARY} ${LIBRDKAFKA_LIBRARY} z lz4 ${SSL_LIBS})
# Set the binary
add_executable (openbmpd ${SRC_FILES})

View File

@ -0,0 +1,10 @@
--- Server/src/Config.cpp.orig 2017-09-14 09:34:05 UTC
+++ Server/src/Config.cpp
@@ -15,6 +15,7 @@
#include <unistd.h>
#include <arpa/inet.h>
+#include <sys/socket.h>
#include <yaml-cpp/yaml.h>
#include <boost/xpressive/xpressive.hpp>
#include <boost/exception/all.hpp>

View File

@ -0,0 +1,11 @@
--- Server/src/client_thread.cpp.orig 2017-09-14 09:34:45 UTC
+++ Server/src/client_thread.cpp
@@ -227,7 +227,7 @@ void *ClientThread(void *arg) {
close(sock_fds[0]);
close(sock_fds[1]);
-#ifndef __APPLE__
+#if !defined(__APPLE__) and !defined(__FreeBSD__)
} catch (abi::__forced_unwind&) {
close(sock_fds[0]);
close(sock_fds[1]);

View File

@ -0,0 +1,17 @@
--- Server/src/kafka/KafkaTopicSelector.cpp.orig 2017-09-14 09:36:00 UTC
+++ Server/src/kafka/KafkaTopicSelector.cpp
@@ -8,6 +8,7 @@
*/
#include <arpa/inet.h>
+#include <sys/socket.h>
#include <boost/algorithm/string/replace.hpp>
#include "KafkaTopicSelector.h"
@@ -439,4 +440,4 @@ void KafkaTopicSelector::freeTopicMap() {
it->second = NULL;
}
}
-}
\ No newline at end of file
+}

View File

@ -0,0 +1,6 @@
OpenBMP is part of the Open BGP Monitoring Protocol collection framework.
OpenBMP is an open source project that implements draft-ietf-grow-bmp-17.
BMP protocol version 3 is defined in draft 08, while versions 1 and 2 are
defined in the previous revisions of the draft.
WWW: https://github.com/OpenBMP/openbmp

View File

@ -0,0 +1,2 @@
bin/openbmpd
%%ETCDIR%%/openbmpd.conf