313 lines
9.9 KiB
RPMSpec
313 lines
9.9 KiB
RPMSpec
%global alignak_user nagios
|
|
%global alignak_group nagios
|
|
|
|
Summary: Python Monitoring tool
|
|
Name: alignak
|
|
Version: 1.0.0
|
|
Release: 4%{?dist}
|
|
URL: https://github.com/Alignak-monitoring/%{name}
|
|
Source0: https://github.com/Alignak-monitoring/%{name}/archive/%{version}/%{name}-%{version}.tar.gz
|
|
Source1: %{name}-arbiter.service
|
|
Source2: %{name}-broker.service
|
|
Source3: %{name}-reactionner.service
|
|
Source4: %{name}-receiver.service
|
|
Source5: %{name}-poller.service
|
|
Source6: %{name}-scheduler.service
|
|
Source7: %{name}.logrotate
|
|
Source8: %{name}-tmpfiles.conf
|
|
License: AGPLv3+
|
|
Requires: python2-simplejson
|
|
Requires: python2-pycurl
|
|
Requires: python-cherrypy
|
|
Requires: python2-requests
|
|
Requires: python-setproctitle
|
|
Requires: python-ujson
|
|
Requires: python2-termcolor
|
|
Requires: python2-numpy
|
|
%{?systemd_requires}
|
|
BuildRequires: python2-devel
|
|
BuildRequires: python2-setuptools
|
|
%if 0%{?el7}
|
|
BuildRequires: python-pbr
|
|
%else
|
|
BuildRequires: python2-pbr
|
|
%endif
|
|
BuildRequires: systemd
|
|
|
|
BuildArch: noarch
|
|
|
|
%description
|
|
Alignak is a new monitoring tool written in Python.
|
|
The main goal of Alignak is to allow users to have a fully flexible
|
|
architecture for their monitoring system that can easily scale to large
|
|
environments.
|
|
|
|
%package all
|
|
Summary: Meta-package to pull in all alignak
|
|
Requires: %{name}-common = %{version}-%{release}
|
|
Requires: %{name}-arbiter = %{version}-%{release}
|
|
Requires: %{name}-broker = %{version}-%{release}
|
|
Requires: %{name}-scheduler = %{version}-%{release}
|
|
Requires: %{name}-reactionner = %{version}-%{release}
|
|
Requires: %{name}-receiver = %{version}-%{release}
|
|
Requires: %{name}-poller = %{version}-%{release}
|
|
|
|
%description all
|
|
Alignak is a new monitoring tool written in Python.
|
|
The main goal of Alignak is to allow users to have a fully flexible
|
|
architecture for their monitoring system that can easily scale to large
|
|
environments.
|
|
|
|
This is a dummy package which brings in all subpackages.
|
|
|
|
%package common
|
|
Summary: Alignak Common
|
|
|
|
%description common
|
|
Alignak Common
|
|
|
|
%package arbiter
|
|
Summary: Alignak Arbiter
|
|
Requires: %{name}-common = %{version}-%{release}
|
|
|
|
%description arbiter
|
|
Alignak arbiter daemon
|
|
|
|
%package reactionner
|
|
Summary: Alignak Reactionner
|
|
Requires: %{name}-common = %{version}-%{release}
|
|
|
|
%description reactionner
|
|
Alignak reactionner daemon
|
|
|
|
%package scheduler
|
|
Summary: Alignak Scheduler
|
|
Requires: %{name}-common = %{version}-%{release}
|
|
|
|
%description scheduler
|
|
Alignak scheduler daemon
|
|
|
|
%package poller
|
|
Summary: Alignak Poller
|
|
Requires: %{name}-common = %{version}-%{release}
|
|
Requires: nagios-plugins-all
|
|
|
|
%description poller
|
|
Alignak poller daemon
|
|
|
|
%package broker
|
|
Summary: Alignak Broker
|
|
Requires: %{name}-common = %{version}-%{release}
|
|
|
|
%description broker
|
|
Alignak broker daemon
|
|
|
|
%package receiver
|
|
Summary: Alignak Poller
|
|
Requires: %{name}-common = %{version}-%{release}
|
|
|
|
%description receiver
|
|
Alignak receiver daemon
|
|
|
|
%prep
|
|
|
|
%setup -q -n %{name}-%{version}
|
|
|
|
# clean git files
|
|
find . -name '.gitignore' -exec rm -f {} \;
|
|
find . -name '.gitempty' -exec rm -f {} \;
|
|
find . -name '.gitkeep' -exec rm -f {} \;
|
|
|
|
%build
|
|
|
|
%py2_build
|
|
|
|
%install
|
|
|
|
find %{buildroot} -size 0 -delete
|
|
|
|
%py2_install
|
|
|
|
install -d -m0755 %{buildroot}%{_unitdir}
|
|
install -p -m0644 %{SOURCE1} %{buildroot}%{_unitdir}/%{name}-arbiter.service
|
|
install -p -m0644 %{SOURCE2} %{buildroot}%{_unitdir}/%{name}-broker.service
|
|
install -p -m0644 %{SOURCE3} %{buildroot}%{_unitdir}/%{name}-reactionner.service
|
|
install -p -m0644 %{SOURCE4} %{buildroot}%{_unitdir}/%{name}-receiver.service
|
|
install -p -m0644 %{SOURCE5} %{buildroot}%{_unitdir}/%{name}-poller.service
|
|
install -p -m0644 %{SOURCE6} %{buildroot}%{_unitdir}/%{name}-scheduler.service
|
|
|
|
install -d -m0755 %{buildroot}%{_sysconfdir}/%{name}/
|
|
rm -rf %{buildroot}%{_sysconfdir}/%{name}/*
|
|
|
|
rm -rf %{buildroot}/usr/etc/%{name}/*
|
|
rm -rf %{buildroot}/etc/%{name}/%{name}.ini
|
|
rm -rf %{buildroot}/usr/etc/default/%{name}
|
|
|
|
install -d -m0755 %{buildroot}%{_sysconfdir}/%{name}
|
|
cp -rf etc/* %{buildroot}%{_sysconfdir}/%{name}
|
|
|
|
rm -rf %{buildroot}%{_sysconfdir}/%{name}/sample
|
|
install -d -m0755 %{buildroot}%{_sysconfdir}/%{name}/modules
|
|
|
|
install -d -m0755 %{buildroot}%{_sysconfdir}/logrotate.d
|
|
install -p -m0644 %{SOURCE7} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
|
|
|
|
mkdir -p %{buildroot}%{_tmpfilesdir}
|
|
install -m 0644 %{SOURCE8} %{buildroot}%{_tmpfilesdir}/%{name}.conf
|
|
|
|
install -d -m0755 %{buildroot}%{_localstatedir}/log/%{name}
|
|
install -d -m0755 %{buildroot}%{_localstatedir}/log/%{name}/archives
|
|
install -d -m0755 %{buildroot}%{_localstatedir}/lib/%{name}
|
|
|
|
install -d -m0755 %{buildroot}/run/%{name}
|
|
|
|
rm -rf %{buildroot}/usr/etc/init.d/*
|
|
rm -rf %{buildroot}/usr/bin/alignak-environment
|
|
|
|
sed -i 's|workdir=/usr/local/var/run/alignak|workdir=/var/run/alignak|g' %{buildroot}%{_sysconfdir}/%{name}/daemons/{arbiterd,brokerd,pollerd,reactionnerd,receiverd,schedulerd}.ini
|
|
sed -i 's|logdir=/usr/local/var/log/alignak|logdir=/var/log/alignak|g' %{buildroot}%{_sysconfdir}/%{name}/daemons/{arbiterd,brokerd,pollerd,reactionnerd,receiverd,schedulerd}.ini
|
|
sed -i 's|etcdir=/usr/local/etc/alignak|etcdir=/etc/alignak|g' %{buildroot}%{_sysconfdir}/%{name}/daemons/{arbiterd,brokerd,pollerd,reactionnerd,receiverd,schedulerd}.ini
|
|
sed -i 's|#user=alignak|user=nagios|g' %{buildroot}%{_sysconfdir}/%{name}/daemons/{arbiterd,brokerd,pollerd,reactionnerd,receiverd,schedulerd}.ini
|
|
sed -i 's|#group=alignak|group=nagios|g' %{buildroot}%{_sysconfdir}/%{name}/daemons/{arbiterd,brokerd,pollerd,reactionnerd,receiverd,schedulerd}.ini
|
|
|
|
sed -i 's|pack_distribution_file=/usr/local/var/lib/alignak/pack_distribution.dat|pack_distribution_file=/var/lib/alignak/pack_distribution.dat|g' %{buildroot}%{_sysconfdir}/%{name}/%{name}.cfg
|
|
sed -i 's|daemons_log_folder=/usr/local/var/log/alignak|daemons_log_folder=/var/log/alignak|g' %{buildroot}%{_sysconfdir}/%{name}/%{name}.cfg
|
|
|
|
chmod 0644 %{buildroot}/etc/alignak/alignak.cfg
|
|
chmod 0644 %{buildroot}/etc/alignak/alignak.ini
|
|
chmod 0644 %{buildroot}/etc/alignak/daemons/arbiterd.ini
|
|
chmod 0644 %{buildroot}/etc/alignak/daemons/brokerd.ini
|
|
chmod 0644 %{buildroot}/etc/alignak/daemons/pollerd.ini
|
|
chmod 0644 %{buildroot}/etc/alignak/daemons/reactionnerd.ini
|
|
chmod 0644 %{buildroot}/etc/alignak/daemons/receiverd.ini
|
|
chmod 0644 %{buildroot}/etc/alignak/daemons/schedulerd.ini
|
|
chmod 0644 %{buildroot}/etc/alignak/daemons/reactionnerd.ini
|
|
chmod 0644 %{buildroot}/etc/alignak/daemons/schedulerd.ini
|
|
chmod 0644 %{buildroot}/etc/alignak/daemons/pollerd.ini
|
|
chmod 0644 %{buildroot}/etc/alignak/daemons/brokerd.ini
|
|
chmod 0644 %{buildroot}/etc/alignak/daemons/receiverd.ini
|
|
|
|
for lib in %{buildroot}%{python2_sitelib}/%{name}/bin/alignak_*.py; do
|
|
sed '1{\@^#!/usr/bin/env python@d}' $lib > $lib.new &&
|
|
touch -r $lib $lib.new &&
|
|
mv $lib.new $lib
|
|
done
|
|
|
|
%clean
|
|
|
|
%pre
|
|
getent group %{alignak_group} >/dev/null || groupadd -r %{alignak_group}
|
|
getent passwd %{alignak_user} >/dev/null || useradd -r -g %{alignak_group} -d %{_localstatedir}/lib/alignak -s /sbin/nologin -c "Alignak/Nagios user" %{alignak_user}
|
|
exit 0
|
|
|
|
%post arbiter
|
|
%systemd_post %{name}-arbiter.service
|
|
|
|
%post broker
|
|
%systemd_post %{name}-broker.service
|
|
|
|
%post poller
|
|
%systemd_post %{name}-poller.service
|
|
|
|
%post reactionner
|
|
%systemd_post %{name}-reactionner.service
|
|
|
|
%post scheduler
|
|
%systemd_post %{name}-scheduler.service
|
|
|
|
%post receiver
|
|
%systemd_post %{name}-receiver.service
|
|
|
|
%preun arbiter
|
|
%systemd_preun %{name}-arbiter.service
|
|
|
|
%preun broker
|
|
%systemd_preun %{name}-broker.service
|
|
|
|
%preun poller
|
|
%systemd_preun %{name}-poller.service
|
|
|
|
%preun reactionner
|
|
%systemd_preun %{name}-reactionner.service
|
|
|
|
%preun scheduler
|
|
%systemd_preun %{name}-scheduler.service
|
|
|
|
%preun receiver
|
|
%systemd_preun %{name}-receiver.service
|
|
|
|
%postun arbiter
|
|
%systemd_postun_with_restart %{name}-arbiter.service
|
|
|
|
%postun broker
|
|
%systemd_postun_with_restart %{name}-broker.service
|
|
|
|
%postun poller
|
|
%systemd_postun_with_restart %{name}-poller.service
|
|
|
|
%postun reactionner
|
|
%systemd_postun_with_restart %{name}-reactionner.service
|
|
|
|
%postun scheduler
|
|
%systemd_postun_with_restart %{name}-scheduler.service
|
|
|
|
%postun receiver
|
|
%systemd_postun_with_restart %{name}-receiver.service
|
|
|
|
%files arbiter
|
|
%{_unitdir}/%{name}-arbiter.service
|
|
%{_bindir}/%{name}-arbiter*
|
|
%config(noreplace) %{_sysconfdir}/%{name}
|
|
|
|
%files reactionner
|
|
%{_unitdir}/%{name}-reactionner.service
|
|
%{_bindir}/%{name}-reactionner*
|
|
%config(noreplace) %{_sysconfdir}/%{name}/daemons/reactionnerd.ini
|
|
|
|
%files scheduler
|
|
%{_unitdir}/%{name}-scheduler.service
|
|
%{_bindir}/%{name}-scheduler*
|
|
%config(noreplace) %{_sysconfdir}/%{name}/daemons/schedulerd.ini
|
|
|
|
%files poller
|
|
%{_unitdir}/%{name}-poller.service
|
|
%{_bindir}/%{name}-poller*
|
|
%config(noreplace) %{_sysconfdir}/%{name}/daemons/pollerd.ini
|
|
|
|
%files broker
|
|
%{_unitdir}/%{name}-broker.service
|
|
%{_bindir}/%{name}-broker*
|
|
%config(noreplace) %{_sysconfdir}/%{name}/daemons/brokerd.ini
|
|
|
|
%files receiver
|
|
%{_unitdir}/%{name}-receiver.service
|
|
%{_bindir}/%{name}-receiver*
|
|
%config(noreplace) %{_sysconfdir}/%{name}/daemons/receiverd.ini
|
|
|
|
%files common
|
|
%{python2_sitelib}/%{name}
|
|
%{python2_sitelib}/alignak*.egg-info
|
|
%ghost %{_rundir}/%{name}
|
|
%license LICENSE
|
|
%doc AUTHORS CONTRIBUTING.rst Changelog README.rst
|
|
%{_tmpfilesdir}/%{name}.conf
|
|
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
|
|
%attr(-,%{alignak_user} ,%{alignak_group}) %dir %{_localstatedir}/log/%{name}
|
|
%attr(-,%{alignak_user} ,%{alignak_group}) %{_localstatedir}/lib/%{name}
|
|
#%attr(-,%{alignak_user} ,%{alignak_group}) %dir /run/%{name}
|
|
|
|
%files all
|
|
# No files for you!
|
|
|
|
%changelog
|
|
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-4
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
|
|
|
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-3
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
|
|
|
* Tue Nov 14 2017 David Hannequin <david.hannequin@gmail.com> - 1.0.0-2
|
|
- Add epel7 support.
|
|
|
|
* Sun Oct 08 2017 David Hannequin <david.hannequin@gmail.com> - 1.0.0-1
|
|
- Initial release for Fedora.
|