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 |
+} |