From 159222c51c7a05a898db16cbc5b4beca534caff36c75759dd9b148e9aa825af4 Mon Sep 17 00:00:00 2001 From: Darin Perusich Date: Fri, 20 May 2016 15:09:44 +0000 Subject: [PATCH] Accepting request 393494 from home:totol I want to maintain prelude-manager and Prelude modules OBS-URL: https://build.opensuse.org/request/show/393494 OBS-URL: https://build.opensuse.org/package/show/server:monitoring/prelude-manager?expand=0&rev=1 --- .gitattributes | 23 ++++ .gitignore | 1 + prelude-manager-3.0.0.tar.gz | 3 + prelude-manager-run-dir.patch | 22 ++++ prelude-manager.changes | 13 +++ prelude-manager.run | 2 + prelude-manager.service | 14 +++ prelude-manager.spec | 212 ++++++++++++++++++++++++++++++++++ 8 files changed, 290 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 prelude-manager-3.0.0.tar.gz create mode 100644 prelude-manager-run-dir.patch create mode 100644 prelude-manager.changes create mode 100644 prelude-manager.run create mode 100644 prelude-manager.service create mode 100644 prelude-manager.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/prelude-manager-3.0.0.tar.gz b/prelude-manager-3.0.0.tar.gz new file mode 100644 index 0000000..ffaec3d --- /dev/null +++ b/prelude-manager-3.0.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:379de4c79ccdba4093e9c5a2b9e5c6cee8e8d8694e1358c3d248250c4957dc0b +size 1286459 diff --git a/prelude-manager-run-dir.patch b/prelude-manager-run-dir.patch new file mode 100644 index 0000000..f5e066b --- /dev/null +++ b/prelude-manager-run-dir.patch @@ -0,0 +1,22 @@ +--- configure 2016-04-23 00:32:48.541000362 +0200 ++++ configure.new 2016-04-26 15:21:31.816028013 +0200 +@@ -31047,7 +31047,7 @@ + + manager_failover_dir=$LOCALSTATEDIR/spool/prelude-manager/failover + manager_scheduler_dir=$LOCALSTATEDIR/spool/prelude-manager/scheduler +-manager_run_dir=$LOCALSTATEDIR/run/prelude-manager ++manager_run_dir=/run/prelude-manager + + + cat >>confdefs.h <<_ACEOF +--- configure.in 2016-04-22 23:27:29.451000362 +0200 ++++ configure.in.new 2016-04-26 15:21:41.811800293 +0200 +@@ -304,7 +304,7 @@ + + manager_failover_dir=$LOCALSTATEDIR/spool/prelude-manager/failover + manager_scheduler_dir=$LOCALSTATEDIR/spool/prelude-manager/scheduler +-manager_run_dir=$LOCALSTATEDIR/run/prelude-manager ++manager_run_dir=/run/prelude-manager + + AC_DEFINE_UNQUOTED(REPORT_PLUGIN_DIR, "$report_plugin_dir", Prelude-Manager report plugin directory) + AC_DEFINE_UNQUOTED(DECODE_PLUGIN_DIR, "$decode_plugin_dir", Prelude-Manager decode plugin directory) diff --git a/prelude-manager.changes b/prelude-manager.changes new file mode 100644 index 0000000..bb551a0 --- /dev/null +++ b/prelude-manager.changes @@ -0,0 +1,13 @@ +------------------------------------------------------------------- +Tue May 3 21:54:49 UTC 2016 - thomas.andrejak@gmail.com + +Initial import + +Generate the plugins : + * DB (database) + * SMTP + * XML + +Add systemd files because it is a daemon. + +Also package SELinux files. diff --git a/prelude-manager.run b/prelude-manager.run new file mode 100644 index 0000000..ad8eb72 --- /dev/null +++ b/prelude-manager.run @@ -0,0 +1,2 @@ +# create a directory with permissions 0770 owned by user foo and group bar +d /run/prelude-manager 0750 root root diff --git a/prelude-manager.service b/prelude-manager.service new file mode 100644 index 0000000..d40e7e6 --- /dev/null +++ b/prelude-manager.service @@ -0,0 +1,14 @@ +[Unit] +Description=Prelude-Manager service +DefaultDependencies=no +After=remode_fs.target +Before=prelude-lml.service prelude-correlator.service + +[Service] +ExecStart=/usr/bin/prelude-manager -d -P /run/prelude-manager/prelude-manager.pid +Type=forking +PIDFile=/run/prelude-manager/prelude-manager.pid +Restart=always + +[Install] +WantedBy=prelude-lml.service prelude-correlator.service diff --git a/prelude-manager.spec b/prelude-manager.spec new file mode 100644 index 0000000..8585648 --- /dev/null +++ b/prelude-manager.spec @@ -0,0 +1,212 @@ +# +# spec file for package prelude-manager +# +# Copyright (c) 2016 SUSE LINUX Products GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +%define POLICYCOREUTILSVER 2.0.78-1 +%define SELINUXTARGETEDVER 3.7.19-279 + +Name: prelude-manager +Version: 3.0.0 +Release: 0 +Summary: Bus communication for all Prelude modules +License: GPL-2.0+ +Group: Applications/Internet +Url: https://www.prelude-siem.org +Source0: https://www.prelude-siem.org/pkg/prelude/src/%{name}-%{version}.tar.gz +Source1: prelude-manager.service +Source2: prelude-manager.run +Patch0: prelude-manager-run-dir.patch +BuildRequires: libgnutls-devel +BuildRequires: pkg-config +BuildRequires: libpreludedb-devel +BuildRequires: libxml2-devel +BuildRequires: libprelude-devel +BuildRequires: libwrap0 +BuildRequires: systemd +BuildRequires: tcpd-devel +%{?systemd_requires} + +%description +Prelude-Manager is a high availability server that +accepts secured connections from distributed sensors +and saves received events to a media specified by the user +(database, log file, mail etc.). The server schedules and +establishes the priorities of treatment according to the +critical character and the source of the alerts. + +%package -n prelude-manager-devel +Summary: Libraries, include files for Prelude-Manager +Group: Development/Libraries +Requires: prelude-manager = %{version}-%{release} +Requires: libpreludedb-devel + +%description -n prelude-manager-devel +Header files and libraries for prelude-manager development. + +%package -n prelude-manager-db-plugin +Summary: Database report plugin for Prelude Manager +Group: System Environment/Libraries +Requires: %{name} = %{version}-%{release} + +%description -n prelude-manager-db-plugin +This plugin allows prelude-manager to write to database. + +%package -n prelude-manager-xml-plugin +Summary: XML report plugin for Prelude Manager +Group: System Environment/Libraries +Requires: %{name} = %{version}-%{release} + +%description -n prelude-manager-xml-plugin +This plugin adds XML logging capabilities to prelude-manager. + +%package -n prelude-manager-smtp-plugin +Summary: SMTP alert plugin for Prelude Manager +Group: System Environment/Libraries +Requires: %{name} = %{version}-%{release} + +%description -n prelude-manager-smtp-plugin +This plugin adds alerting by email capabilities to prelude-manager + +%package selinux +Summary: SELinux policy for prelude-manager +Provides: selinux-policy-base +Group: System Environment/Base +BuildRequires: checkpolicy +BuildRequires: policycoreutils >= %{POLICYCOREUTILSVER} +BuildRequires: bzip2 +BuildRequires: selinux-policy-devel +BuildRequires: selinux-policy +Requires(pre): policycoreutils >= %{POLICYCOREUTILSVER} +Requires(pre): coreutils +Requires(pre): selinux-policy-targeted >= %{SELINUXTARGETEDVER} +Requires: selinux-policy-targeted >= %{SELINUXTARGETEDVER} +Requires: prelude-manager = %{version}-%{release} +Requires(post): policycoreutils >= %{POLICYCOREUTILSVER} +Requires(postun): policycoreutils >= %{POLICYCOREUTILSVER} +BuildArch: noarch + +%description selinux +Prelude-Manager is a high availability server that +accepts secured connections from distributed sensors +and saves received events to a media specified by the user +(database, log file, mail etc.). The server schedules and +establishes the priorities of treatment according to the +critical character and the source of the alerts. + +%prep +%setup -q +%patch0 -p0 + +%build +%configure --with-libwrap + +make %{?_smp_mflags} + +cd $RPM_BUILD_DIR/%{name}-%{version}/selinux/ +make + +%install +mkdir -p %{buildroot}%{_defaultdocdir}/%{name}-%{version} +mkdir -p %{buildroot}/%{_localstatedir}/spool/prelude/%{name}/ +mkdir -p %{buildroot}/%{_datadir}/selinux/targeted/ +make install DESTDIR=%{buildroot} INSTALL="%{__install} -c -p" +install -m 644 $RPM_BUILD_DIR/%{name}-%{version}/selinux/%{name}.pp.bz2 \ + %{buildroot}/%{_datadir}/selinux/targeted/ +rm -f %{buildroot}/%{_libdir}/%{name}/reports/*.la +rm -f %{buildroot}/%{_libdir}/%{name}/filters/*.la +rm -f %{buildroot}/%{_libdir}/%{name}/decodes/*.la +rm -f %{buildroot}/%{_defaultdocdir}/../%{name}/smtp/template.example +mkdir -p %{buildroot}/%{_sbindir} +ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rc%{name} +install -d -m 0755 %{buildroot}/%{_tmpfilesdir} +install -m 0644 %{SOURCE2} %{buildroot}/%{_tmpfilesdir}/%{name}.conf +rm -rf %{buildroot}/%{_localstatedir}/run/%{name} +install -D -m 444 %{SOURCE1} %{buildroot}%{_unitdir}/%{name}.service + +%pre +%service_add_pre %{name}.service + +%post +/sbin/ldconfig +/usr/bin/systemd-tmpfiles --create %{_tmpfilesdir}/%{name}.conf +%service_add_post %{name}.service + +%post selinux +if [ $1 -eq 1 ]; then + /usr/sbin/semodule -s targeted -i %{_datadir}/selinux/targeted/%{name}.pp.bz2 + /sbin/restorecon -R /dev/shm/ || : +else + /usr/sbin/semodule -n -s targeted -r prelude-manager 2>/dev/null || : + /usr/sbin/semodule -s targeted -i %{_datadir}/selinux/targeted/%{name}.pp.bz2 +fi + +%preun +%service_del_preun %{name}.service + +%postun +/sbin/ldconfig +%service_del_postun %{name}.service + +%postun selinux +semodule -n -s targeted -r prelude-manager 2>/dev/null || : +/sbin/restorecon -R /dev/shm/ || : + +%files +%defattr(-,root,root,-) +%doc COPYING +%attr(0750,-,-) %dir %{_sysconfdir}/%{name}/ +%config(noreplace) %attr(0640,-,-) %{_sysconfdir}/%{name}/prelude-manager.conf +%{_bindir}/%{name} +%dir %{_libdir}/%{name}/ +%dir %{_libdir}/%{name}/filters/ +%{_libdir}/%{name}/filters/*.so +%dir %{_libdir}/%{name}/reports/ +%{_libdir}/%{name}/reports/debug.so +%{_libdir}/%{name}/reports/textmod.so +%dir %{_libdir}/%{name}/decodes/ +%{_libdir}/%{name}/decodes/*.so +%attr(0750,-,-) %dir %{_localstatedir}/spool/prelude/%{name}/ +%attr(0750,-,-) %dir %{_datadir}/%{name}/ +%attr(0644,-,-) %{_mandir}/man1/prelude-manager.1.gz +%{_sbindir}/rcprelude-manager +%dir %{_tmpfilesdir} +%{_tmpfilesdir}/%{name}.conf +%{_unitdir}/%{name}.service + +%files -n prelude-manager-db-plugin +%defattr(-,root,root,-) +%{_libdir}/%{name}/reports/db.so + +%files -n prelude-manager-xml-plugin +%defattr(-,root,root,-) +%{_libdir}/%{name}/reports/xmlmod.so +%attr(0750,root,root) %dir %{_datadir}/%{name}/xmlmod/ +%{_datadir}/%{name}/xmlmod/* + +%files -n prelude-manager-smtp-plugin +%defattr(-,root,root,-) +%doc %attr(0644,root,root) plugins/reports/smtp/template.example +%{_libdir}/%{name}/reports/smtp.so + +%files -n prelude-manager-devel +%defattr(-,root,root,-) +%dir %{_includedir}/%{name}/ +%{_includedir}/%{name}/* + +%files selinux +%{_datadir}/selinux/targeted/%{name}.pp.bz2 + +%changelog