This repository has been archived on 2026-01-16. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
alignak/alignak.spec
Fedora Release Engineering 1495484625 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-12 20:08:04 +00:00

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.