File nagios.spec of Package nagios
#
# spec file for package svnagios
#
#Centos 6 specific Part
%if %{?centos_version:1}0
BuildRequires: glibc shadow-utils glibc-common perl-IPC-Run3 perl-IPC-Cmd libqb zlib-devel pcre libtool-ltdl
Requires: glibc shadow-utils glibc-common mysql-community-server
%endif
%if 0%{?suse_version} == 1315
BuildRequires: unzip pwdutils aaa_base glibc zlib-devel perl-IPC-Run3 libpcreposix0
Requires: glibc unzip pwdutils mysql-community-server zlib
%endif
%if 0%{?suse_version} == 1500
BuildRequires: unzip pwdutils aaa_base glibc zlib-devel perl-IPC-Run3 libpcreposix0
Requires: glibc unzip pwdutils mysql-community-server zlib
%endif
%if 0%{?suse_version} == 1110
BuildRequires: pwdutils klogd aaa_base glibc syslog-ng
Requires: glibc pwdutils syslog-ng mysql
%endif
%if 0%{?rhel} == 8
BuildRequires: unzip shadow-utils glibc-common perl-IPC-Cmd libqb libqb-devel zlib-devel pcre libtool-ltdl
#perl-IPC-Run3
Requires: glibc unzip shadow-utils zlib perl-IPC-Run3
# mysql-community-server
%endif
%if 0%{?rhel} == 8
Name: svnagios
Provides: nagios
Obsoletes: nagios
Conflicts: nagios
Obsoletes: nagios-common
Conflicts: nagios-common
Provides: group(nagios) user(nagios) nagios-common(x86-64)
%else
Name: nagios
%endif
#Name: nagios
Version: 3.5.1
Release: 10000
License: GPL-2.0
Summary: Nagios
Group: System/Monitoring
Source: nagios-core-3-master.zip
Source1: rpmlintrc
Provides: sv-nagios
Provides: snagview-nagios nagios-common
BuildRoot:%{_tmppath}/%{name}-%{version}-build
BuildRequires: -post-build-checks
%define nagios_user nagios
%define nagios_group daemon
%package devel
Group: nagios
Requires: nagios
Summary: Development files for Nagios
%description
Nagios Is The Industry Standard In IT Infrastructure Monitoring.
Version 3.5.1 is forked by Sector Nord AG
%description devel
Development files for Nagios
%prep
mkdir %{_builddir}/nagios-core-3/
cd %{_builddir}/nagios-core-3/
unzip %{_sourcedir}/nagios-core-3-master.zip
%build
cd %{_builddir}/nagios-core-3/
./configure --bindir=/usr/bin/ --sbindir=%{_sbindir} --datadir=/var/lib/nagios/ --sysconfdir=/etc/nagios/ --localstatedir=/var/log/nagios --libdir=/usr/lib/ --includedir=/usr/include/ --with-nagios-user=%{nagios_user} --with-nagios-group=%{nagios_group}
make all
%install
# Binaries
echo "Install Binaries"
%if 0%{?suse_version} == 1500
install -D -m 755 %{_builddir}/nagios-core-3/nagios.sles15 %{buildroot}/usr/bin/nagios
%endif
%if 0%{?suse_version} == 1315
install -D -m 755 %{_builddir}/nagios-core-3/nagios.sles12 %{buildroot}/usr/bin/nagios
%endif
%if 0%{?suse_version} == 1110
install -D -m 755 %{_builddir}/nagios-core-3/base/nagios %{buildroot}/usr/bin/nagios
%endif
%if 0%{?centos_version} == 700
install -D -m 755 %{_builddir}/nagios-core-3/nagios.rhel7 %{buildroot}/usr/bin/nagios
%endif
%if 0%{?rhel_version} == 800
echo "rhel_version = 800"
install -D -m 755 %{_builddir}/nagios-core-3/nagios.rhel7 %{buildroot}/usr/bin/nagios
%endif
install -D -m 755 %{_builddir}/nagios-core-3/base/nagiostats %{buildroot}/usr/bin/nagiostats
# Logging
install -d %{buildroot}/var/log/nagios
install -d %{buildroot}/var/log/nagios/archives
install -d %{buildroot}/var/log/snagview/
touch %{buildroot}/var/log/nagios/nagios.log
# Runtime files
install -d %{buildroot}/var/run/nagios/rw/
touch %{buildroot}/var/run/nagios/rw/nagios.cmd
touch %{buildroot}/var/run/nagios/nagios.pid
install -d %{buildroot}/var/spool/nagios/checkresults
%if 0%{?centos_version} == 700 || 0%{?suse_version} >= 1315 || 0%{?rhel} == 8
mkdir -p %{buildroot}/var/run/lock/nagios
#touch %{buildroot}/var/run/lock/nagios/nagios.lock
%else
mkdir -p %{buildroot}/var/lock/nagios/
touch %{buildroot}/var/lock/nagios/nagios.lock
%endif
mkdir -p %{buildroot}/var/lib/nagios/
touch %{buildroot}/var/lib/nagios/status.dat
# Config
mkdir %{buildroot}/etc/
mkdir -p %{buildroot}/var/lib/nagios/
install -d %{buildroot}/var/lib/nagios/libexec
install -d %{buildroot}/var/lib/nagios/libexec-customer
ln -s /var/lib/nagios %{buildroot}/etc/
# For perfdata (used by pnp4nagios)
install -d %{buildroot}/var/spool/nagios/perfdata
install -d %{buildroot}/var/lib/nagios/perfdata
touch %{buildroot}/var/lib/nagios/host-perfdata
touch %{buildroot}/var/lib/nagios/service-perfdata
# Init script
install -D -m 644 %{_sourcedir}/nagios.service %{buildroot}/usr/lib/systemd/system/nagios.service
install -D -m 755 %{_sourcedir}/pre-config-svnagios %{buildroot}/usr/bin/pre-config-svnagios
# CGIs
mkdir -p %{buildroot}%{_sbindir}/
install -m 755 %{_builddir}/nagios-core-3/cgi/*.cgi %{buildroot}%{_sbindir}/
# Devel files
mkdir -p %{buildroot}%{_includedir}/nagios/
install -D -m 644 %{_builddir}/nagios-core-3/include/*.h %{buildroot}%{_includedir}/nagios/
%pre
getent group %{nagios_group} >/dev/null || /usr/sbin/groupadd -r %{nagios_group}
getent passwd %{nagios_user} >/dev/null || /usr/sbin/useradd -r -g %{nagios_group} -d /var/lib/nagios/ -s /bin/bash -c "SNAG-View User" %{nagios_user}
%post
getent group %{nagios_group} >/dev/null || /usr/sbin/groupadd -r %{nagios_group}
getent passwd %{nagios_user} >/dev/null || /usr/sbin/useradd -r -g %{nagios_group} -d /var/lib/nagios/ -s /bin/bash -c "SNAG-View User" %{nagios_user}
%if 0%{?centos_version} == 700 || 0%{?suse_version} >= 1315 || 0%{?rhel} == 8
usermod -g daemon nagios
usermod -a -G mysql nagios
%else
usermod nagios -A daemon
usermod nagios -A mysql
#/sbin/chkconfig --add syslog
/sbin/insserv syslog
%endif
systemctl enable nagios
if [ -f "/etc/sysconfig/nagios" ]; then
echo "Skipping: /etc/sysconfig/nagios exists."
else
echo "Creating: /etc/sysconfig/nagios does not exist."
touch /etc/sysconfig/nagios
fi
export NO_BRP_CHECK_RPATH=true
#Nagios-common compatibility:
mkdir -p /usr/lib64/nagios/plugins/eventhandlers
%postun
%clean
rm -rf %{buildroot}
rm -rf %{_builddir}
%files
%defattr(644,%{nagios_user},%{nagios_group},775)
%dir /var/log/nagios
%dir /var/log/nagios/archives
%dir /var/run/nagios
%dir /var/run/nagios/rw
%if 0%{?centos_version} == 700 || 0%{?suse_version} >= 1315 || 0%{?rhel} == 8
%dir /var/run/lock/nagios/
%ghost /var/lock/nagios/nagios.lock
%else
%dir /var/lock/nagios/
%ghost /var/lock/nagios/nagios.lock
%endif
#%dir /var/lock/nagios/
%dir /var/lib/nagios/
%dir /var/spool/nagios/perfdata
%dir /var/lib/nagios/perfdata
%ghost /var/run/nagios/rw/nagios.cmd
#%ghost /var/lock/nagios/nagios.lock
%ghost /var/log/nagios/nagios.log
%ghost /var/run/nagios/nagios.pid
%defattr(664,%{nagios_user}, %{nagios_group},-)
/var/lib/nagios/host-perfdata
/var/lib/nagios/service-perfdata
/var/lib/nagios/status.dat
%defattr(775,%{nagios_user},daemon,775)
%dir /var/spool/nagios
%dir /var/spool/nagios/checkresults
%dir /var/lib/nagios/libexec
%dir /var/lib/nagios/libexec-customer
/etc/nagios
%defattr(755,root,root)
%{_bindir}/nagios
%{_bindir}/nagiostats
/usr/bin/pre-config-svnagios
%attr(644, root, root) /usr/lib/systemd/system/nagios.service
%{_sbindir}/avail.cgi
%{_sbindir}/cmd.cgi
%{_sbindir}/config.cgi
%{_sbindir}/extinfo.cgi
%{_sbindir}/history.cgi
%{_sbindir}/notifications.cgi
%{_sbindir}/outages.cgi
%{_sbindir}/showlog.cgi
%{_sbindir}/status.cgi
%{_sbindir}/statuswml.cgi
%{_sbindir}/statuswrl.cgi
%{_sbindir}/summary.cgi
%{_sbindir}/tac.cgi
%files devel
%defattr(644,root,root,755)
%dir %{_includedir}/nagios/
%{_includedir}/nagios/*
%changelog