Gentoo Archives: gentoo-commits

From: "Göktürk Yüksek" <gokturk@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-admin/prelude-manager/, app-admin/prelude-manager/files/
Date: Fri, 05 Aug 2016 01:13:44
Message-Id: 1470359412.e7deb2ae837b631e218ffef3295771d1621c45b5.gokturk@gentoo
1 commit: e7deb2ae837b631e218ffef3295771d1621c45b5
2 Author: Thomas Andrejak <thomas.andrejak <AT> gmail <DOT> com>
3 AuthorDate: Sun Jul 17 13:12:22 2016 +0000
4 Commit: Göktürk Yüksek <gokturk <AT> gentoo <DOT> org>
5 CommitDate: Fri Aug 5 01:10:12 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e7deb2ae
7
8 app-admin/prelude-manager: New package
9
10 Prelude-Manager is a high availability server that accepts secured
11 connections from distributed sensors and saves received events to a
12 media specified by the user (database, log file, mail etc.).
13
14 app-admin/prelude-manager/Manifest | 1 +
15 .../files/prelude-manager-3.0.0-conf.patch | 11 ++++
16 .../files/prelude-manager-3.0.0-configure.patch | 57 ++++++++++++++++++++
17 .../files/prelude-manager-3.0.0-run.patch | 13 +++++
18 .../prelude-manager/files/prelude-manager.initd | 26 +++++++++
19 .../prelude-manager/files/prelude-manager.run | 4 ++
20 .../prelude-manager/files/prelude-manager.service | 14 +++++
21 app-admin/prelude-manager/metadata.xml | 28 ++++++++++
22 .../prelude-manager/prelude-manager-3.0.0.ebuild | 63 ++++++++++++++++++++++
23 9 files changed, 217 insertions(+)
24
25 diff --git a/app-admin/prelude-manager/Manifest b/app-admin/prelude-manager/Manifest
26 new file mode 100644
27 index 0000000..fc1d19b
28 --- /dev/null
29 +++ b/app-admin/prelude-manager/Manifest
30 @@ -0,0 +1 @@
31 +DIST prelude-manager-3.0.0.tar.gz 1286459 SHA256 379de4c79ccdba4093e9c5a2b9e5c6cee8e8d8694e1358c3d248250c4957dc0b SHA512 4c16a353495179265375686ce9592c8cd044b4255060b78286466bd25f9b38634233c95af058e1c0b81e1b574ec9ada5b2db92d6d1f5594dfcddce572fd0fd67 WHIRLPOOL 35814a88e62e4bfdbd3e8c88f733cd304f8fb355d820ae9887da0c9e6b02936b7aed8d73a05cc458fbf01f7a9e48174d446b1174e1edd44637fadcdc282f3f92
32
33 diff --git a/app-admin/prelude-manager/files/prelude-manager-3.0.0-conf.patch b/app-admin/prelude-manager/files/prelude-manager-3.0.0-conf.patch
34 new file mode 100644
35 index 0000000..246ce7d
36 --- /dev/null
37 +++ b/app-admin/prelude-manager/files/prelude-manager-3.0.0-conf.patch
38 @@ -0,0 +1,11 @@
39 +--- a/prelude-manager.conf.in
40 ++++ b/prelude-manager.conf.in
41 +@@ -361,7 +361,7 @@
42 + # (same source, target and classification combination) every 2 minutes
43 + # to reporting plugins (eg. to the database).
44 + [thresholding]
45 +-path = alert.classification.text, alert.source.node.address.address, alert.target.node.address.address
46 ++path = alert.classification.text, alert.source(0).node.address(0).address, alert.target(0).node.address(0).address
47 + limit = 120
48 + count = 100
49 + hook = reporting
50
51 diff --git a/app-admin/prelude-manager/files/prelude-manager-3.0.0-configure.patch b/app-admin/prelude-manager/files/prelude-manager-3.0.0-configure.patch
52 new file mode 100644
53 index 0000000..bc1949f
54 --- /dev/null
55 +++ b/app-admin/prelude-manager/files/prelude-manager-3.0.0-configure.patch
56 @@ -0,0 +1,57 @@
57 +When : when you try to use enable with libmaxmind, libpreludedb, xml, libwrap, they are not working
58 +Why : Needed if you want to use useflags
59 +--- a/configure.in
60 ++++ b/configure.in
61 +@@ -110,7 +110,10 @@
62 + dnl **************************************************
63 + LIBMAXMINDDB_MIN_VERSION=1.0.0
64 +
65 +-PKG_CHECK_MODULES([LIBMAXMINDDB], [libmaxminddb >= $LIBMAXMINDDB_MIN_VERSION], enable_libmaxminddb=yes, enable_libmaxminddb=no)
66 ++AC_ARG_ENABLE(libmaxminddb, AC_HELP_STRING(--enable-libmaxminddb, Define whether libmaxminddb is available), , enable_libmaxminddb="yes")
67 ++if test x$enable_libmaxminddb = xyes; then
68 ++ PKG_CHECK_MODULES([LIBMAXMINDDB], [libmaxminddb >= $LIBMAXMINDDB_MIN_VERSION], enable_libmaxminddb=yes, enable_libmaxminddb=no)
69 ++fi
70 + if test x$enable_libmaxminddb = xyes; then
71 + AC_CHECK_HEADER(maxminddb.h, enable_libmaxminddb=yes, enable_libmaxminddb=no)
72 + fi
73 +@@ -126,11 +129,14 @@
74 + dnl * Check for libpreludedb *
75 + dnl **************************************************
76 +
77 +-AM_PATH_LIBPRELUDEDB(3.0.0, enable_libpreludedb=yes, enable_libpreludedb=no, no)
78 +-AM_CONDITIONAL(HAVE_LIBPRELUDEDB, test x$enable_libpreludedb = xyes)
79 ++AC_ARG_ENABLE(libpreludedb, AC_HELP_STRING(--enable-libpreludedb, Define whether libpreludedb is available), , enable_libpreludedb="yes")
80 ++if test x$enable_libpreludedb = xyes; then
81 ++ AM_PATH_LIBPRELUDEDB(3.0.0, enable_libpreludedb=yes, enable_libpreludedb=no, no)
82 ++fi
83 + if test x$enable_libpreludedb = xyes; then
84 + AC_DEFINE_UNQUOTED(HAVE_LIBPRELUDEDB, , Define whether libpreludedb is available)
85 + fi
86 ++AM_CONDITIONAL(HAVE_LIBPRELUDEDB, test x$enable_libpreludedb = xyes)
87 +
88 +
89 +
90 +@@ -138,7 +144,10 @@
91 + dnl * Check for the Libxml2 *
92 + dnl ********************************************************
93 +
94 +-AM_PATH_XML2(, enable_xmlmod=yes, enable_xmlmod=no)
95 ++AC_ARG_ENABLE(xmlmod, AC_HELP_STRING(--enable-xmlmod, Enable XML), , enable_xmlmod="yes")
96 ++if test x$enable_xmlmod = xyes; then
97 ++ AM_PATH_XML2(, enable_xmlmod=yes, enable_xmlmod=no)
98 ++fi
99 + AM_CONDITIONAL(HAVE_XML2, test x$enable_xmlmod = xyes)
100 +
101 +
102 +@@ -147,9 +156,10 @@
103 + dnl * TCP WRAPPER CHECK *
104 + dnl **************************************************
105 +
106 ++AC_ARG_WITH(libwrap, AC_HELP_STRING(--with-libwrap, Compile in libwrap (tcp_wrappers) support.), , with_libwrap="yes")
107 + AC_ARG_WITH(libwrap-prefix, AC_HELP_STRING(--with-libwrap-prefix@<:@=PFX@:>@,
108 + Compile in libwrap (tcp_wrappers) support @<:@default=auto@:>@.),
109 +- libwrap_required=true, with_libwrap="yes")
110 ++ libwrap_required=true, )
111 +
112 + if test x$with_libwrap != xno; then
113 + LIBWRAP_INCLUDE="tcpd.h"
114
115 diff --git a/app-admin/prelude-manager/files/prelude-manager-3.0.0-run.patch b/app-admin/prelude-manager/files/prelude-manager-3.0.0-run.patch
116 new file mode 100644
117 index 0000000..ef6d553
118 --- /dev/null
119 +++ b/app-admin/prelude-manager/files/prelude-manager-3.0.0-run.patch
120 @@ -0,0 +1,13 @@
121 +When : everytime
122 +Why : since systemd, run dir has changed
123 +--- a/configure.in
124 ++++ b/configure.in
125 +@@ -304,7 +304,7 @@
126 +
127 + manager_failover_dir=$LOCALSTATEDIR/spool/prelude-manager/failover
128 + manager_scheduler_dir=$LOCALSTATEDIR/spool/prelude-manager/scheduler
129 +-manager_run_dir=$LOCALSTATEDIR/run/prelude-manager
130 ++manager_run_dir=/run/prelude-manager
131 +
132 + AC_DEFINE_UNQUOTED(REPORT_PLUGIN_DIR, "$report_plugin_dir", Prelude-Manager report plugin directory)
133 + AC_DEFINE_UNQUOTED(DECODE_PLUGIN_DIR, "$decode_plugin_dir", Prelude-Manager decode plugin directory)
134
135 diff --git a/app-admin/prelude-manager/files/prelude-manager.initd b/app-admin/prelude-manager/files/prelude-manager.initd
136 new file mode 100755
137 index 0000000..4db7200
138 --- /dev/null
139 +++ b/app-admin/prelude-manager/files/prelude-manager.initd
140 @@ -0,0 +1,26 @@
141 +#!/sbin/runscript
142 +# Copyright 1999-2016 Gentoo Foundation
143 +# Distributed under the terms of the GNU General Public License v2
144 +# $Id$
145 +
146 +BIN_MANAGER=/usr/bin/prelude-manager
147 +PID_MANAGER=/run/prelude-manager/prelude-manager.pid
148 +
149 +depend() {
150 + need net
151 +}
152 +
153 +start() {
154 + ebegin "Starting prelude-manager"
155 + checkpath -d -m 0755 -o root:root /run/prelude-manager
156 + start-stop-daemon --start --exec $BIN_MANAGER \
157 + --pidfile $PID_MANAGER -- -d -P $PID_MANAGER
158 + eend $?
159 +}
160 +
161 +stop() {
162 + ebegin "Stopping prelude-manager"
163 + start-stop-daemon --stop --exec $BIN_MANAGER \
164 + --pidfile $PID_MANAGER
165 + eend $?
166 +}
167
168 diff --git a/app-admin/prelude-manager/files/prelude-manager.run b/app-admin/prelude-manager/files/prelude-manager.run
169 new file mode 100644
170 index 0000000..7398084
171 --- /dev/null
172 +++ b/app-admin/prelude-manager/files/prelude-manager.run
173 @@ -0,0 +1,4 @@
174 +# Configuration to create /run/prelude-manager directory
175 +# Used as part of systemd's tmpfiles
176 +
177 +d /run/prelude-manager 0755 root root
178
179 diff --git a/app-admin/prelude-manager/files/prelude-manager.service b/app-admin/prelude-manager/files/prelude-manager.service
180 new file mode 100644
181 index 0000000..15eee91
182 --- /dev/null
183 +++ b/app-admin/prelude-manager/files/prelude-manager.service
184 @@ -0,0 +1,14 @@
185 +[Unit]
186 +Description=Prelude-Manager service
187 +DefaultDependencies=no
188 +After=remote_fs.target
189 +Before=prelude-lml.service prelude-correlator.service
190 +
191 +[Service]
192 +ExecStart=/usr/bin/prelude-manager -d -P /run/prelude-manager/prelude-manager.pid
193 +Type=forking
194 +PIDFile=/run/prelude-manager/prelude-manager.pid
195 +Restart=always
196 +
197 +[Install]
198 +WantedBy=prelude-lml.service prelude-correlator.service multi-user.target
199
200 diff --git a/app-admin/prelude-manager/metadata.xml b/app-admin/prelude-manager/metadata.xml
201 new file mode 100644
202 index 0000000..5990a2a
203 --- /dev/null
204 +++ b/app-admin/prelude-manager/metadata.xml
205 @@ -0,0 +1,28 @@
206 +<?xml version="1.0" encoding="UTF-8"?>
207 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
208 +<pkgmetadata>
209 + <maintainer type="person">
210 + <email>thomas.andrejak@×××××.com</email>
211 + <name>Thomas Andrejak</name>
212 + </maintainer>
213 + <maintainer type="project">
214 + <email>proxy-maint@g.o</email>
215 + <name>Proxy Maintainers</name>
216 + </maintainer>
217 + <longdescription lang="en">
218 + Prelude-Manager is a high availability server that
219 + accepts secured connections from distributed sensors
220 + and saves received events to a media specified by the user
221 + (database, log file, mail etc.). The server schedules and
222 + establishes the priorities of treatment according to the
223 + critical character and the source of the alerts.
224 + </longdescription>
225 + <use>
226 + <flag name="tcpwrapper">Enables Prelude Manager using
227 + tcp wrapper. It requires <pkg>sys-apps/tcp-wrappers</pkg>
228 + .</flag>
229 + <flag name="dbx">Enables Prelude Manager storing Prelude
230 + alerts into database through <pkg>dev-libs/libpreludedb</pkg>
231 + .</flag>
232 + </use>
233 +</pkgmetadata>
234
235 diff --git a/app-admin/prelude-manager/prelude-manager-3.0.0.ebuild b/app-admin/prelude-manager/prelude-manager-3.0.0.ebuild
236 new file mode 100644
237 index 0000000..74a4fc8
238 --- /dev/null
239 +++ b/app-admin/prelude-manager/prelude-manager-3.0.0.ebuild
240 @@ -0,0 +1,63 @@
241 +# Copyright 1999-2016 Gentoo Foundation
242 +# Distributed under the terms of the GNU General Public License v2
243 +# $Id$
244 +
245 +EAPI=6
246 +
247 +inherit autotools eutils systemd
248 +
249 +DESCRIPTION="Bus communication for all Prelude modules"
250 +HOMEPAGE="https://www.prelude-siem.org"
251 +SRC_URI="https://www.prelude-siem.org/pkg/src/3.0.0/${P}.tar.gz"
252 +
253 +LICENSE="GPL-2+"
254 +SLOT="0"
255 +KEYWORDS="~amd64 ~x86"
256 +IUSE="tcpwrapper xml geoip dbx"
257 +
258 +RDEPEND="net-libs/gnutls
259 + dev-libs/libprelude
260 + dbx? ( dev-libs/libpreludedb )
261 + tcpwrapper? ( sys-apps/tcp-wrappers )
262 + xml? ( dev-libs/libxml2 )
263 + geoip? ( dev-libs/libmaxminddb )"
264 +
265 +DEPEND="${RDEPEND}
266 + virtual/pkgconfig"
267 +
268 +PATCHES=(
269 + "${FILESDIR}/${P}-conf.patch"
270 + "${FILESDIR}/${P}-configure.patch"
271 + "${FILESDIR}/${P}-run.patch"
272 +)
273 +
274 +src_prepare() {
275 + default_src_prepare
276 +
277 + mv "${S}/configure.in" "${S}/configure.ac" || die "mv failed"
278 +
279 + eautoreconf
280 +}
281 +
282 +src_configure() {
283 + econf \
284 + --localstatedir=/var \
285 + $(use_enable dbx libpreludedb) \
286 + $(use_with tcpwrapper libwrap) \
287 + $(use_enable xml xmlmod) \
288 + $(use_enable geoip libmaxminddb)
289 +}
290 +
291 +src_install() {
292 + default_src_install
293 +
294 + rm -rv "${D}/run" || die "rm failed"
295 + keepdir /var/spool/prelude-manager{,/failover,/scheduler}
296 +
297 + prune_libtool_files --modules
298 +
299 + systemd_dounit "${FILESDIR}/${PN}.service"
300 + systemd_newtmpfilesd "${FILESDIR}/${PN}.run" "${PN}.conf"
301 +
302 + newinitd "${FILESDIR}/${PN}.initd" "${PN}"
303 +}