From dc6167cf0b038911abf83df42786562464a7f5de Mon Sep 17 00:00:00 2001 From: Daniel Steiner Date: Sat, 22 Jul 2017 01:47:13 +0200 Subject: [PATCH] Several problems fixed for Fedora 26 --- fedora/SPECS/icinga2.spec | 755 ++++++++++++++++++++++++++++ fedora/SPECS/icingaweb2.spec | 356 ++++++++++++++ fedora/SPECS/nagios-plugins.spec | 815 +++++++++++++++++++++++++++++++ 3 files changed, 1926 insertions(+) create mode 100644 fedora/SPECS/icinga2.spec create mode 100644 fedora/SPECS/icingaweb2.spec create mode 100644 fedora/SPECS/nagios-plugins.spec diff --git a/fedora/SPECS/icinga2.spec b/fedora/SPECS/icinga2.spec new file mode 100644 index 0000000..80828f9 --- /dev/null +++ b/fedora/SPECS/icinga2.spec @@ -0,0 +1,755 @@ +#/****************************************************************************** +# * Icinga 2 * +# * Copyright (C) 2012-2017 Icinga Development Team (https://www.icinga.com/) * +# * * +# * This program is free software; you can redistribute it and/or * +# * modify it under the terms of the GNU General Public License * +# * as published by the Free Software Foundation; either version 2 * +# * of the License, or (at your option) any later version. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU General Public License for more details. * +# * * +# * You should have received a copy of the GNU General Public License * +# * along with this program; if not, write to the Free Software Foundation * +# * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. * +# ******************************************************************************/ + +%define revision 1 + +# make sure that _rundir is working on older systems +%if ! %{defined _rundir} +%define _rundir %{_localstatedir}/run +%endif + +%define _libexecdir %{_prefix}/lib/ + +%if "%{_vendor}" == "redhat" +%define apachename httpd +%define apacheconfdir %{_sysconfdir}/httpd/conf.d +%define apacheuser apache +%define apachegroup apache +%if 0%{?el5}%{?el6} +%define use_systemd 0 +%if %(uname -m) != "x86_64" +%define march_flag -march=i686 +%endif +%else +# fedora and el>=7 +%define use_systemd 1 +%endif +%endif + +%if "%{_vendor}" == "suse" +%define apachename apache2 +%define apacheconfdir %{_sysconfdir}/apache2/conf.d +%define apacheuser wwwrun +%define apachegroup www +%if 0%{?suse_version} >= 1310 +%define use_systemd 1 +%else +%define use_systemd 0 +%endif +%endif + +%define icinga_user icinga +%define icinga_group icinga +%define icingacmd_group icingacmd +%define icingaweb2name icingaweb2 +%define icingaweb2version 2.0.0 + +%define icingaclassicconfdir %{_sysconfdir}/icinga + +%define logmsg logger -t %{name}/rpm + +Summary: Network monitoring application +Name: icinga2 +Version: 2.6.3 +Release: %{revision}%{?dist} +License: GPL-2.0+ +Group: Applications/System +Source: icinga2.tar.gz +URL: https://www.icinga.com/ +BuildRoot: %{_tmppath}/%{name}-%{version}-build +Requires: %{name}-bin = %{version}-%{release} + +%description +Meta package for Icinga 2 Core, DB IDO and Web. + +%package bin +Summary: Icinga 2 binaries and libraries +Group: Applications/System + +%if "%{_vendor}" == "suse" +PreReq: permissions +Provides: monitoring_daemon +Recommends: monitoring-plugins +%if 0%{?suse_version} >= 1310 +BuildRequires: libyajl-devel +%endif +%endif +BuildRequires: libedit-devel +BuildRequires: ncurses-devel +%if "%{_vendor}" == "suse" && 0%{?suse_version} < 1210 +BuildRequires: gcc48-c++ +BuildRequires: libstdc++48-devel +BuildRequires: libopenssl1-devel +%else +BuildRequires: gcc-c++ +BuildRequires: libstdc++-devel +BuildRequires: openssl-devel +%endif +BuildRequires: cmake +BuildRequires: flex >= 2.5.35 +BuildRequires: bison +BuildRequires: make +%if 0%{?fedora} +BuildRequires: wxGTK3-devel +%endif + +%if 0%{?build_icinga_org} && "%{_vendor}" == "redhat" && (0%{?el5} || 0%{?rhel} == 5 || "%{?dist}" == ".el5" || 0%{?el6} || 0%{?rhel} == 6 || "%{?dist}" == ".el6") +# el5 and el6 require packages.icinga.com +BuildRequires: boost153-devel +%else +%if 0%{?build_icinga_org} && "%{_vendor}" == "suse" && 0%{?suse_version} < 1310 +# sles 11 sp3 requires packages.icinga.com +BuildRequires: boost153-devel +%else +BuildRequires: boost-devel >= 1.41 +%endif +%endif + +%if 0%{?use_systemd} +BuildRequires: systemd +Requires: systemd +%endif + +Requires: %{name}-libs = %{version}-%{release} + +%description bin +Icinga 2 is a general-purpose network monitoring application. +Provides binaries for Icinga 2 Core. + +%package common +Summary: Common Icinga 2 configuration +Group: Applications/System +%if "%{_vendor}" == "redhat" +Requires(pre): shadow-utils +Requires(post): shadow-utils +%endif +%if "%{_vendor}" == "suse" +Recommends: logrotate +%endif + +%description common +Provides common directories, uid and gid among Icinga 2 related +packages. + + +%package doc +Summary: Documentation for Icinga 2 +Group: Applications/System +Requires: %{name} = %{version}-%{release} + +%description doc +Provides documentation for Icinga 2. + + +%package libs +Summary: Libraries for Icinga 2 +Group: Applications/System +Requires: %{name}-common = %{version}-%{release} + +%description libs +Provides internal libraries for the daemon or studio. + + +%package ido-mysql +Summary: IDO MySQL database backend for Icinga 2 +Group: Applications/System +%if "%{_vendor}" == "suse" +BuildRequires: libmysqlclient-devel +%if 0%{?suse_version} >= 1310 +BuildRequires: mysql-devel +%endif + +%else +BuildRequires: mysql-devel +%endif #suse + +Requires: %{name} = %{version}-%{release} + +%description ido-mysql +Icinga 2 IDO mysql database backend. Compatible with Icinga 1.x +IDOUtils schema >= 1.12 + + +%package ido-pgsql +Summary: IDO PostgreSQL database backend for Icinga 2 +Group: Applications/System +%if "%{_vendor}" == "suse" && 0%{?suse_version} < 1210 +BuildRequires: postgresql-devel >= 8.4 +%else +BuildRequires: postgresql-devel +%endif +Requires: %{name} = %{version}-%{release} + +%description ido-pgsql +Icinga 2 IDO PostgreSQL database backend. Compatible with Icinga 1.x +IDOUtils schema >= 1.12 + + +%package classicui-config +Summary: Icinga 2 Classic UI Standalone configuration +Group: Applications/System +BuildRequires: %{apachename} +Requires: %{apachename} +Requires: %{name} = %{version}-%{release} +%if "%{_vendor}" == "suse" +Recommends: icinga-www +%endif +Provides: icinga-classicui-config +Conflicts: icinga-gui-config + +%description classicui-config +Icinga 1.x Classic UI Standalone configuration with locations +for Icinga 2. + +%if "%{_vendor}" == "redhat" && !(0%{?el5} || 0%{?rhel} == 5 || "%{?dist}" == ".el5" || 0%{?el6} || 0%{?rhel} == 6 || "%{?dist}" == ".el6") +%global selinux_variants mls targeted +#%{!?_selinux_policy_version: %global _selinux_policy_version %(sed -e 's,.*selinux-policy-\\([^/]*\\)/.*,\\1,' /usr/share/selinux/devel/policyhelp 2>/dev/null)} +%global modulename %{name} + +%package selinux +Summary: SELinux policy module supporting icinga2 +Group: System Environment/Base +#BuildRequires: checkpolicy, selinux-policy-devel, /usr/share/selinux/devel/policyhelp, hardlink +BuildRequires: checkpolicy, selinux-policy-devel, hardlink +%if "%{_selinux_policy_version}" != "" +Requires: selinux-policy >= %{_selinux_policy_version} +%endif +Requires: %{name} = %{version}-%{release} +Requires(post): /usr/sbin/semodule, /sbin/restorecon +Requires(postun): /usr/sbin/semodule, /sbin/restorecon + +%description selinux +SELinux policy module supporting icinga2 +%endif + + +%if 0%{?fedora} +%package studio +Summary: Studio for Icinga 2 +Group: Applications/System +Requires: %{name}-libs = %{version}-%{release} +Requires: wxGTK3 + +%description studio +Provides a GUI for the Icinga 2 API. +%endif + + +%package -n vim-icinga2 +Summary: Vim syntax highlighting for icinga2 +Group: Applications/System +%if "%{_vendor}" == "suse" +Requires: vim-data +%else +Requires: vim-filesystem +%endif + +%description -n vim-icinga2 +Vim syntax highlighting for icinga2 + + +%package -n nano-icinga2 +Summary: Nano syntax highlighting for icinga2 +Group: Applications/System +Requires: nano + +%description -n nano-icinga2 +Nano syntax highlighting for icinga2 + +%prep +%setup -q -n icinga2 + +%build +CMAKE_OPTS="-DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_SYSCONFDIR=/etc \ + -DCMAKE_INSTALL_LOCALSTATEDIR=/var \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DICINGA2_LTO_BUILD=ON \ + -DCMAKE_VERBOSE_MAKEFILE=ON \ + -DBoost_NO_BOOST_CMAKE=ON \ + -DICINGA2_RUNDIR=%{_rundir} \ + -DICINGA2_USER=%{icinga_user} \ + -DICINGA2_GROUP=%{icinga_group} \ + -DICINGA2_COMMAND_GROUP=%{icingacmd_group}" +%if 0%{?fedora} +CMAKE_OPTS="$CMAKE_OPTS -DICINGA2_WITH_STUDIO=true" +%endif +%if "%{_vendor}" == "redhat" +%if 0%{?el5} || 0%{?rhel} == 5 || "%{?dist}" == ".el5" || 0%{?el6} || 0%{?rhel} == 6 || "%{?dist}" == ".el6" +# Boost_VERSION 1.41.0 vs 101400 - disable build tests +# details in https://dev.icinga.com/issues/5033 +CMAKE_OPTS="$CMAKE_OPTS -DBOOST_LIBRARYDIR=/usr/lib/boost153 \ + -DBOOST_INCLUDEDIR=/usr/include/boost153 \ + -DBoost_ADDITIONAL_VERSIONS='1.53;1.53.0' \ + -DBoost_NO_SYSTEM_PATHS=TRUE \ + -DBUILD_TESTING=FALSE \ + -DBoost_NO_BOOST_CMAKE=TRUE" +%endif +%if 0%{?el6} || 0%{?rhel} == 6 || "%{?dist}" == ".el6" +CMAKE_OPTS="$CMAKE_OPTS -DBUILD_TESTING=FALSE" +%endif +%endif + +%if "%{_vendor}" != "suse" +CMAKE_OPTS="$CMAKE_OPTS -DICINGA2_PLUGINDIR=%{_libdir}/nagios/plugins" +%else +%if 0%{?suse_version} < 1310 +CMAKE_OPTS="$CMAKE_OPTS -DBOOST_LIBRARYDIR=/usr/lib/boost153 \ + -DBOOST_INCLUDEDIR=/usr/include/boost153 \ + -DBoost_ADDITIONAL_VERSIONS='1.53;1.53.0' \ + -DBoost_NO_SYSTEM_PATHS=TRUE \ + -DBUILD_TESTING=FALSE \ + -DBoost_NO_BOOST_CMAKE=TRUE" +%endif +CMAKE_OPTS="$CMAKE_OPTS -DICINGA2_PLUGINDIR=%{_prefix}/lib/nagios/plugins" +%endif + +%if 0%{?use_systemd} +CMAKE_OPTS="$CMAKE_OPTS -DUSE_SYSTEMD=ON" +%endif + +cmake $CMAKE_OPTS -DCMAKE_C_FLAGS:STRING="%{optflags} %{?march_flag}" -DCMAKE_CXX_FLAGS:STRING="%{optflags} %{?march_flag}" . + +make %{?_smp_mflags} + +%if "%{_vendor}" == "redhat" && !(0%{?el5} || 0%{?rhel} == 5 || "%{?dist}" == ".el5" || 0%{?el6} || 0%{?rhel} == 6 || "%{?dist}" == ".el6") +cd tools/selinux +for selinuxvariant in %{selinux_variants} +do + make NAME=${selinuxvariant} -f /usr/share/selinux/devel/Makefile + mv %{modulename}.pp %{modulename}.pp.${selinuxvariant} + make NAME=${selinuxvariant} -f /usr/share/selinux/devel/Makefile clean +done +cd - +%endif + +%install +make install \ + DESTDIR="%{buildroot}" + +# install classicui config +install -D -m 0644 etc/icinga/icinga-classic.htpasswd %{buildroot}%{icingaclassicconfdir}/passwd +install -D -m 0644 etc/icinga/cgi.cfg %{buildroot}%{icingaclassicconfdir}/cgi.cfg +install -D -m 0644 etc/icinga/icinga-classic-apache.conf %{buildroot}%{apacheconfdir}/icinga.conf + +# remove features-enabled symlinks +rm -f %{buildroot}/%{_sysconfdir}/%{name}/features-enabled/*.conf + +# enable suse rc links +%if "%{_vendor}" == "suse" +%if 0%{?use_systemd} + ln -sf /usr/sbin/service %{buildroot}%{_sbindir}/rc%{name} +%else + ln -sf ../../%{_initrddir}/%{name} "%{buildroot}%{_sbindir}/rc%{name}" +%endif +mkdir -p "%{buildroot}%{_localstatedir}/adm/fillup-templates/" +mv "%{buildroot}%{_sysconfdir}/sysconfig/%{name}" "%{buildroot}%{_localstatedir}/adm/fillup-templates/sysconfig.%{name}" +%endif + +%if "%{_vendor}" == "redhat" && !(0%{?el5} || 0%{?rhel} == 5 || "%{?dist}" == ".el5" || 0%{?el6} || 0%{?rhel} == 6 || "%{?dist}" == ".el6") +cd tools/selinux +for selinuxvariant in %{selinux_variants} +do + install -d %{buildroot}%{_datadir}/selinux/${selinuxvariant} + install -p -m 644 %{modulename}.pp.${selinuxvariant} \ + %{buildroot}%{_datadir}/selinux/${selinuxvariant}/%{modulename}.pp +done +cd - + +/usr/sbin/hardlink -cv %{buildroot}%{_datadir}/selinux +%endif + +%if 0%{?fedora} +mkdir -p "%{buildroot}%{_datadir}/icinga2-studio" +install -p -m 644 icinga-studio/icinga.ico %{buildroot}%{_datadir}/icinga2-studio + +mkdir -p "%{buildroot}%{_datadir}/applications" +echo "[Desktop Entry] +Name=Icinga 2 Studio +Comment=API viewer for Icinga 2 +TryExec=icinga-studio +Exec=icinga-studio +Icon=/usr/share/icinga2-studio/icinga.ico +StartupNotify=true +Terminal=false +Type=Application +Categories=GTK;Utility; +Keywords=Monitoring;" > %{buildroot}%{_datadir}/applications/icinga2-studio.desktop +%endif + +%if "%{_vendor}" == "suse" +%if 0%{?suse_version} >= 1310 +install -D -m 0644 tools/syntax/vim/syntax/%{name}.vim %{buildroot}%{_datadir}/vim/vim74/syntax/%{name}.vim +install -D -m 0644 tools/syntax/vim/ftdetect/%{name}.vim %{buildroot}%{_datadir}/vim/vim74/ftdetect/%{name}.vim +%else +install -D -m 0644 tools/syntax/vim/syntax/%{name}.vim %{buildroot}%{_datadir}/vim/vim72/syntax/%{name}.vim +install -D -m 0644 tools/syntax/vim/ftdetect/%{name}.vim %{buildroot}%{_datadir}/vim/vim72/ftdetect/%{name}.vim +%endif +%else +install -D -m 0644 tools/syntax/vim/syntax/%{name}.vim %{buildroot}%{_datadir}/vim/vimfiles/syntax/%{name}.vim +install -D -m 0644 tools/syntax/vim/ftdetect/%{name}.vim %{buildroot}%{_datadir}/vim/vimfiles/ftdetect/%{name}.vim +%endif + +install -D -m 0644 tools/syntax/nano/%{name}.nanorc %{buildroot}%{_datadir}/nano/%{name}.nanorc + +%clean +[ "%{buildroot}" != "/" ] && [ -d "%{buildroot}" ] && rm -rf %{buildroot} + +%pre common +getent group %{icinga_group} >/dev/null || %{_sbindir}/groupadd -r %{icinga_group} +getent group %{icingacmd_group} >/dev/null || %{_sbindir}/groupadd -r %{icingacmd_group} +getent passwd %{icinga_user} >/dev/null || %{_sbindir}/useradd -c "icinga" -s /sbin/nologin -r -d %{_localstatedir}/spool/%{name} -G %{icingacmd_group} -g %{icinga_group} %{icinga_user} + +%if "%{_vendor}" == "suse" +%if 0%{?use_systemd} + %service_add_pre %{name}.service +%endif +%endif + +%if "%{_vendor}" == "suse" +%verifyscript bin +%verify_permissions -e %{_rundir}/%{name}/cmd +%endif + +%post bin + +# suse +%if "%{_vendor}" == "suse" + +%if 0%{?suse_version} >= 1310 +%set_permissions %{_rundir}/%{name}/cmd +%endif + +%endif #suse/rhel + +%post common +# suse +%if "%{_vendor}" == "suse" +%if 0%{?use_systemd} +%fillup_only %{name} +%service_add_post %{name}.service +%else +%fillup_and_insserv %{name} +%endif + +# initial installation, enable default features +for feature in checker notification mainlog; do + ln -sf ../features-available/${feature}.conf %{_sysconfdir}/%{name}/features-enabled/${feature}.conf +done + +exit 0 + +%else +# rhel + +%if 0%{?use_systemd} +%systemd_post %{name}.service +%else +/sbin/chkconfig --add %{name} +%endif + +if [ ${1:-0} -eq 1 ] +then + # initial installation, enable default features + for feature in checker notification mainlog; do + ln -sf ../features-available/${feature}.conf %{_sysconfdir}/%{name}/features-enabled/${feature}.conf + done +fi + +exit 0 + +%endif +# suse/rhel + +%postun common +# suse +%if "%{_vendor}" == "suse" +%if 0%{?using_systemd} + %service_del_postun %{name}.service +%else + %restart_on_update %{name} + %insserv_cleanup +%endif + +%else +# rhel + +%if 0%{?use_systemd} +%systemd_postun_with_restart %{name}.service +%else +if [ "$1" -ge "1" ]; then + /sbin/service %{name} condrestart >/dev/null 2>&1 || : +fi +%endif + +%endif +# suse / rhel + +if [ "$1" = "0" ]; then + # deinstallation of the package - remove enabled features + rm -rf %{_sysconfdir}/%{name}/features-enabled +fi + +exit 0 + +%preun common +# suse +%if "%{_vendor}" == "suse" + +%if 0%{?use_systemd} + %service_del_preun %{name}.service +%else + %stop_on_removal %{name} +%endif + +exit 0 + +%else +# rhel + +%if 0%{?use_systemd} +%systemd_preun %{name}.service +%else +if [ "$1" = "0" ]; then + /sbin/service %{name} stop > /dev/null 2>&1 || : + /sbin/chkconfig --del %{name} || : +fi +%endif + +exit 0 + +%endif +# suse / rhel + +%post ido-mysql +if [ ${1:-0} -eq 1 ] +then + # initial installation, enable ido-mysql feature + ln -sf ../features-available/ido-mysql.conf %{_sysconfdir}/%{name}/features-enabled/ido-mysql.conf +fi + +exit 0 + +%postun ido-mysql +if [ "$1" = "0" ]; then + # deinstallation of the package - remove feature + rm -f %{_sysconfdir}/%{name}/features-enabled/ido-mysql.conf +fi + +exit 0 + +%post ido-pgsql +if [ ${1:-0} -eq 1 ] +then + # initial installation, enable ido-pgsql feature + ln -sf ../features-available/ido-pgsql.conf %{_sysconfdir}/%{name}/features-enabled/ido-pgsql.conf +fi + +exit 0 + +%postun ido-pgsql +if [ "$1" = "0" ]; then + # deinstallation of the package - remove feature + rm -f %{_sysconfdir}/%{name}/features-enabled/ido-pgsql.conf +fi + +exit 0 + +%post classicui-config +if [ ${1:-0} -eq 1 ] +then + # initial installation, enable features + for feature in statusdata compatlog command; do + ln -sf ../features-available/${feature}.conf %{_sysconfdir}/%{name}/features-enabled/${feature}.conf + done +fi + +exit 0 + +%postun classicui-config +if [ "$1" = "0" ]; then + # deinstallation of the package - remove feature + for feature in statusdata compatlog command; do + rm -f %{_sysconfdir}/%{name}/features-enabled/${feature}.conf + done +fi + +exit 0 + +%if "%{_vendor}" == "redhat" && !(0%{?el5} || 0%{?rhel} == 5 || "%{?dist}" == ".el5" || 0%{?el6} || 0%{?rhel} == 6 || "%{?dist}" == ".el6") +%post selinux +for selinuxvariant in %{selinux_variants} +do + /usr/sbin/semodule -s ${selinuxvariant} -i \ + %{_datadir}/selinux/${selinuxvariant}/%{modulename}.pp &> /dev/null || : +done +/sbin/fixfiles -R icinga2-bin restore &> /dev/null || : +/sbin/fixfiles -R icinga2-common restore &> /dev/null || : +/sbin/semanage port -a -t icinga2_port_t -p tcp 5665 &> /dev/null || : + +%postun selinux +if [ $1 -eq 0 ] ; then + /sbin/semanage port -d -t icinga2_port_t -p tcp 5665 &> /dev/null || : + for selinuxvariant in %{selinux_variants} + do + /usr/sbin/semodule -s ${selinuxvariant} -r %{modulename} &> /dev/null || : + done + /sbin/fixfiles -R icinga2-bin restore &> /dev/null || : + /sbin/fixfiles -R icinga2-common restore &> /dev/null || : +fi +%endif + + +%files +%defattr(-,root,root,-) +%doc COPYING + +%files bin +%defattr(-,root,root,-) +%doc COPYING COPYING.Exceptions README.md NEWS AUTHORS ChangeLog +%{_sbindir}/%{name} +%dir %{_libdir}/%{name}/sbin +%{_libdir}/%{name}/sbin/%{name} +%{_datadir}/%{name} +%exclude %{_datadir}/%{name}/include +%{_mandir}/man8/%{name}.8.gz + +%attr(0750,%{icinga_user},%{icingacmd_group}) %{_localstatedir}/cache/%{name} +%attr(0750,%{icinga_user},%{icingacmd_group}) %dir %{_localstatedir}/log/%{name} +%attr(0750,%{icinga_user},%{icinga_group}) %dir %{_localstatedir}/log/%{name}/crash +%attr(0750,%{icinga_user},%{icingacmd_group}) %dir %{_localstatedir}/log/%{name}/compat +%attr(0750,%{icinga_user},%{icingacmd_group}) %dir %{_localstatedir}/log/%{name}/compat/archives +%attr(0750,%{icinga_user},%{icinga_group}) %{_localstatedir}/lib/%{name} + +%attr(0750,%{icinga_user},%{icingacmd_group}) %ghost %{_rundir}/%{name} +%attr(2750,%{icinga_user},%{icingacmd_group}) %ghost %{_rundir}/%{name}/cmd + +%files libs +%defattr(-,root,root,-) +%doc COPYING COPYING.Exceptions README.md NEWS AUTHORS ChangeLog +%exclude %{_libdir}/%{name}/libdb_ido_mysql* +%exclude %{_libdir}/%{name}/libdb_ido_pgsql* +%dir %{_libdir}/%{name} +%{_libdir}/%{name}/*.so* + +%files common +%defattr(-,root,root,-) +%doc COPYING COPYING.Exceptions README.md NEWS AUTHORS ChangeLog tools/syntax +%attr(0750,%{icinga_user},%{icingacmd_group}) %dir %{_localstatedir}/log/%{name} +%config(noreplace) %{_sysconfdir}/logrotate.d/%{name} +%{_sysconfdir}/bash_completion.d/%{name} +%if 0%{?use_systemd} +%attr(644,root,root) %{_unitdir}/%{name}.service +%else +%attr(755,root,root) %{_sysconfdir}/init.d/%{name} +%endif +%if "%{_vendor}" == "suse" +%{_sbindir}/rc%{name} +%{_localstatedir}/adm/fillup-templates/sysconfig.%{name} +%else +%config(noreplace) %{_sysconfdir}/sysconfig/%{name} +%endif +%attr(0750,root,%{icinga_group}) %dir %{_sysconfdir}/%{name} +%attr(0750,%{icinga_user},%{icinga_group}) %dir %{_sysconfdir}/%{name}/conf.d +%attr(0750,%{icinga_user},%{icinga_group}) %dir %{_sysconfdir}/%{name}/features-available +%exclude %{_sysconfdir}/%{name}/features-available/ido-*.conf +%attr(0750,%{icinga_user},%{icinga_group}) %dir %{_sysconfdir}/%{name}/features-enabled +%attr(0750,%{icinga_user},%{icinga_group}) %dir %{_sysconfdir}/%{name}/repository.d +%attr(0750,%{icinga_user},%{icinga_group}) %dir %{_sysconfdir}/%{name}/scripts +%attr(0750,%{icinga_user},%{icinga_group}) %dir %{_sysconfdir}/%{name}/repository.d +%attr(0750,%{icinga_user},%{icinga_group}) %dir %{_sysconfdir}/%{name}/zones.d +%config(noreplace) %attr(0640,%{icinga_user},%{icinga_group}) %{_sysconfdir}/%{name}/%{name}.conf +%config(noreplace) %attr(0640,root,%{icinga_group}) %{_sysconfdir}/%{name}/init.conf +%config(noreplace) %attr(0640,%{icinga_user},%{icinga_group}) %{_sysconfdir}/%{name}/constants.conf +%config(noreplace) %attr(0640,%{icinga_user},%{icinga_group}) %{_sysconfdir}/%{name}/zones.conf +%config(noreplace) %attr(0640,%{icinga_user},%{icinga_group}) %{_sysconfdir}/%{name}/conf.d/*.conf +%config(noreplace) %attr(0640,%{icinga_user},%{icinga_group}) %{_sysconfdir}/%{name}/features-available/*.conf +%config(noreplace) %attr(0640,%{icinga_user},%{icinga_group}) %{_sysconfdir}/%{name}/repository.d/* +%config(noreplace) %attr(0640,%{icinga_user},%{icinga_group}) %{_sysconfdir}/%{name}/zones.d/* +%config(noreplace) %{_sysconfdir}/%{name}/scripts/* +%dir %{_libexecdir}/%{name} +%{_libexecdir}/%{name}/prepare-dirs +%{_libexecdir}/%{name}/safe-reload +%attr(0750,%{icinga_user},%{icinga_group}) %dir %{_localstatedir}/spool/%{name} +%attr(0770,%{icinga_user},%{icinga_group}) %dir %{_localstatedir}/spool/%{name}/perfdata +%attr(0750,%{icinga_user},%{icinga_group}) %dir %{_localstatedir}/spool/%{name}/tmp +%attr(0750,%{icinga_user},%{icinga_group}) %dir %{_datadir}/%{name}/include +%{_datadir}/%{name}/include + +%files doc +%defattr(-,root,root,-) +%{_datadir}/doc/%{name} +%docdir %{_datadir}/doc/%{name} + +%files ido-mysql +%defattr(-,root,root,-) +%doc COPYING COPYING.Exceptions README.md NEWS AUTHORS ChangeLog +%config(noreplace) %attr(0640,%{icinga_user},%{icinga_group}) %{_sysconfdir}/%{name}/features-available/ido-mysql.conf +%{_libdir}/%{name}/libdb_ido_mysql* +%{_datadir}/icinga2-ido-mysql + +%files ido-pgsql +%defattr(-,root,root,-) +%doc COPYING COPYING.Exceptions README.md NEWS AUTHORS ChangeLog +%config(noreplace) %attr(0640,%{icinga_user},%{icinga_group}) %{_sysconfdir}/%{name}/features-available/ido-pgsql.conf +%{_libdir}/%{name}/libdb_ido_pgsql* +%{_datadir}/icinga2-ido-pgsql + +%files classicui-config +%defattr(-,root,root,-) +%attr(0751,%{icinga_user},%{icinga_group}) %dir %{icingaclassicconfdir} +%config(noreplace) %{icingaclassicconfdir}/cgi.cfg +%config(noreplace) %{apacheconfdir}/icinga.conf +%config(noreplace) %attr(0640,root,%{apachegroup}) %{icingaclassicconfdir}/passwd + +%if "%{_vendor}" == "redhat" && !(0%{?el5} || 0%{?rhel} == 5 || "%{?dist}" == ".el5" || 0%{?el6} || 0%{?rhel} == 6 || "%{?dist}" == ".el6") +%files selinux +%defattr(-,root,root,0755) +%doc tools/selinux/* +%{_datadir}/selinux/*/%{modulename}.pp +%endif + +%if 0%{?fedora} +%files studio +%defattr(-,root,root,-) +%{_bindir}/icinga-studio +%{_datadir}/icinga2-studio +%{_datadir}/applications/icinga2-studio.desktop +%endif + +%files -n vim-icinga2 +%defattr(-,root,root,-) +%if "%{_vendor}" == "suse" +%if 0%{?suse_version} >= 1310 +%{_datadir}/vim/vim74/syntax/%{name}.vim +%{_datadir}/vim/vim74/ftdetect/%{name}.vim +%else +%{_datadir}/vim/vim72/syntax/%{name}.vim +%{_datadir}/vim/vim72/ftdetect/%{name}.vim +%endif +%else +%{_datadir}/vim/vimfiles/syntax/%{name}.vim +%{_datadir}/vim/vimfiles/ftdetect/%{name}.vim +%endif + +%files -n nano-icinga2 +%defattr(-,root,root,-) +%{_datadir}/nano/%{name}.nanorc + +%changelog diff --git a/fedora/SPECS/icingaweb2.spec b/fedora/SPECS/icingaweb2.spec new file mode 100644 index 0000000..fb3172e --- /dev/null +++ b/fedora/SPECS/icingaweb2.spec @@ -0,0 +1,356 @@ +# Icinga Web 2 | (c) 2013-2016 Icinga Development Team | GPLv2+ + +%define revision 1 + +Name: icingaweb2 +Version: 2.4.1 +Release: %{revision}%{?dist} +Summary: Icinga Web 2 +Group: Applications/System +License: GPLv2+ and MIT and BSD +URL: https://icinga.com +Source: icingaweb2.tar.gz +BuildArch: noarch +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release} +Packager: Icinga Team + +%if 0%{?fedora} || 0%{?rhel} || 0%{?amzn} +%define php php +%define php_cli php-cli +%define wwwconfigdir %{_sysconfdir}/httpd/conf.d +%define wwwuser apache +%endif + +%if 0%{?suse_version} +%define wwwconfigdir %{_sysconfdir}/apache2/conf.d +%define wwwuser wwwrun +%if 0%{?suse_version} == 1110 +%define php php53 +Requires: apache2-mod_php53 +%else +%define php php5 +Requires: apache2-mod_php5 +%endif +%endif + +%{?amzn:Requires(pre): shadow-utils} +%{?fedora:Requires(pre): shadow-utils} +%{?rhel:Requires(pre): shadow-utils} +%{?suse_version:Requires(pre): pwdutils} +Requires: %{name}-common = %{version}-%{release} +Requires: php-Icinga = %{version}-%{release} +Requires: %{name}-vendor-dompdf = 0.7.0-1%{?dist} +Requires: %{name}-vendor-HTMLPurifier = 4.8.0-1%{?dist} +Requires: %{name}-vendor-JShrink = 1.1.0-1%{?dist} +Requires: %{name}-vendor-lessphp = 0.4.0-1%{?dist} +Requires: %{name}-vendor-Parsedown = 1.6.0-1%{?dist} + +%if "%{_vendor}" == "redhat" && !(0%{?el5} || 0%{?rhel} == 5 || "%{?dist}" == ".el5" || 0%{?el6} || 0%{?rhel} == 6 || "%{?dist}" == ".el6") +%define selinux 1 +%define selinux_variants mls targeted +#%{!?_selinux_policy_version: %define _selinux_policy_version %(sed -e 's,.*selinux-policy-\\([^/]*\\)/.*,\\1,' /usr/share/selinux/devel/policyhelp 2>/dev/null)} +%endif + +%define basedir %{_datadir}/%{name} +%define bindir %{_bindir} +%define configdir %{_sysconfdir}/%{name} +%define logdir %{_localstatedir}/log/%{name} +%define phpdir %{_datadir}/php +%define icingawebgroup icingaweb2 +%define docsdir %{_datadir}/doc/%{name} + + +%description +Icinga Web 2 + + +%package common +Summary: Common files for Icinga Web 2 and the Icinga CLI +Group: Applications/System +%{?amzn:Requires(pre): shadow-utils} +%{?fedora:Requires(pre): shadow-utils} +%{?rhel:Requires(pre): shadow-utils} +%{?suse_version:Requires(pre): pwdutils} + +%description common +Common files for Icinga Web 2 and the Icinga CLI + + +%package -n php-Icinga +Summary: Icinga Web 2 PHP library +Group: Development/Libraries +Requires: %{php} >= 5.3.0 +Requires: %{php}-gd %{php}-intl +Requires: %{name}-vendor-zf1 = 1.12.20-1%{?dist} +%{?amzn:Requires: %{php}-pecl-imagick} +%{?fedora:Requires: php-pecl-imagick} +%{?rhel:Requires: php-pecl-imagick} +%{?suse_version:Requires: %{php}-gettext %{php}-json %{php}-openssl %{php}-posix} + +%description -n php-Icinga +Icinga Web 2 PHP library + + +%package -n icingacli +Summary: Icinga CLI +Group: Applications/System +Requires: %{name}-common = %{version}-%{release} +Requires: php-Icinga = %{version}-%{release} +%{?amzn:Requires: %{php_cli} >= 5.3.0 bash-completion} +%{?fedora:Requires: %{php_cli} >= 5.3.0 bash-completion} +%{?rhel:Requires: %{php_cli} >= 5.3.0 bash-completion} +%{?suse_version:Requires: %{php} >= 5.3.0} + +%description -n icingacli +Icinga CLI + + +%if 0%{?selinux} +%package selinux +Summary: SELinux policy for Icinga Web 2 +#BuildRequires: checkpolicy, selinux-policy-devel, /usr/share/selinux/devel/policyhelp, hardlink +BuildRequires: checkpolicy, selinux-policy-devel, hardlink +%if "%{_selinux_policy_version}" != "" +Requires: selinux-policy >= %{_selinux_policy_version} +%endif +Requires: %{name} = %{version}-%{release} +Requires(post): policycoreutils +Requires(postun): policycoreutils + +%description selinux +SELinux policy for Icinga Web 2 +%endif + + +%package vendor-dompdf +Version: 0.7.0 +Release: 1%{?dist} +Summary: Icinga Web 2 vendor library dompdf +Group: Development/Libraries +License: LGPLv2.1 +Requires: %{php} >= 5.3.0 + +%description vendor-dompdf +Icinga Web 2 vendor library dompdf + + +%package vendor-HTMLPurifier +Version: 4.8.0 +Release: 1%{?dist} +Summary: Icinga Web 2 vendor library HTMLPurifier +Group: Development/Libraries +License: LGPLv2.1 +Requires: %{php} >= 5.3.0 + +%description vendor-HTMLPurifier +Icinga Web 2 vendor library HTMLPurifier + + +%package vendor-JShrink +Version: 1.1.0 +Release: 1%{?dist} +Summary: Icinga Web 2 vendor library JShrink +Group: Development/Libraries +License: BSD +Requires: %{php} >= 5.3.0 + +%description vendor-JShrink +Icinga Web 2 vendor library JShrink + + +%package vendor-lessphp +Version: 0.4.0 +Release: 1%{?dist} +Summary: Icinga Web 2 vendor library lessphp +Group: Development/Libraries +License: MIT +Requires: %{php} >= 5.3.0 + +%description vendor-lessphp +Icinga Web 2 vendor library lessphp + + +%package vendor-Parsedown +Version: 1.6.0 +Release: 1%{?dist} +Summary: Icinga Web 2 vendor library Parsedown +Group: Development/Libraries +License: MIT +Requires: %{php} >= 5.3.0 + +%description vendor-Parsedown +Icinga Web 2 vendor library Parsedown + + +%package vendor-zf1 +Version: 1.12.20 +Release: 1%{?dist} +Summary: Icinga Web 2's fork of Zend Framework 1 +Group: Development/Libraries +License: BSD +Requires: %{php} >= 5.3.0 +Obsoletes: %{name}-vendor-Zend + +%description vendor-zf1 +Icinga Web 2's fork of Zend Framework 1 + + +%prep +%setup -q -n icingaweb2 +%if 0%{?selinux} +mkdir selinux +cp -p packages/selinux/icingaweb2.{fc,if,te} selinux +%endif + +%build +%if 0%{?selinux} +cd selinux +for selinuxvariant in %{selinux_variants} +do + make NAME=${selinuxvariant} -f /usr/share/selinux/devel/Makefile + mv icingaweb2.pp icingaweb2.pp.${selinuxvariant} + make NAME=${selinuxvariant} -f /usr/share/selinux/devel/Makefile clean +done +cd - +%endif + +%install +rm -rf %{buildroot} +mkdir -p %{buildroot}/{%{basedir}/{modules,library/vendor,public},%{bindir},%{configdir}/modules,%{logdir},%{phpdir},%{wwwconfigdir},%{_sysconfdir}/bash_completion.d,%{docsdir}} +cp -prv application doc %{buildroot}/%{basedir} +cp -pv etc/bash_completion.d/icingacli %{buildroot}/%{_sysconfdir}/bash_completion.d/icingacli +cp -prv modules/{monitoring,setup,doc,translation} %{buildroot}/%{basedir}/modules +cp -prv library/Icinga %{buildroot}/%{phpdir} +cp -prv library/vendor/{dompdf,HTMLPurifier*,JShrink,lessphp,Parsedown,Zend} %{buildroot}/%{basedir}/library/vendor +cp -prv public/{css,font,img,js,error_norewrite.html} %{buildroot}/%{basedir}/public +cp -pv packages/files/apache/icingaweb2.conf %{buildroot}/%{wwwconfigdir}/icingaweb2.conf +cp -pv packages/files/bin/icingacli %{buildroot}/%{bindir} +cp -pv packages/files/public/index.php %{buildroot}/%{basedir}/public +cp -prv etc/schema %{buildroot}/%{docsdir} +cp -prv packages/files/config/modules/{setup,translation} %{buildroot}/%{configdir}/modules +%if 0%{?selinux} +cd selinux +for selinuxvariant in %{selinux_variants} +do + install -d %{buildroot}%{_datadir}/selinux/${selinuxvariant} + install -p -m 644 icingaweb2.pp.${selinuxvariant} %{buildroot}%{_datadir}/selinux/${selinuxvariant}/icingaweb2.pp +done +cd - +/usr/sbin/hardlink -cv %{buildroot}%{_datadir}/selinux +%endif + +%pre +getent group icingacmd >/dev/null || groupadd -r icingacmd +%if 0%{?suse_version} && 0%{?suse_version} < 01200 +usermod -A icingacmd,%{icingawebgroup} %{wwwuser} +%else +usermod -a -G icingacmd,%{icingawebgroup} %{wwwuser} +%endif +exit 0 + +%clean +rm -rf %{buildroot} + +%files +%defattr(-,root,root) +%{basedir}/application/controllers +%{basedir}/application/fonts +%{basedir}/application/forms +%{basedir}/application/layouts +%{basedir}/application/views +%{basedir}/application/VERSION +%{basedir}/doc +%{basedir}/modules +%{basedir}/public +%config(noreplace) %{wwwconfigdir}/icingaweb2.conf +%attr(2775,root,%{icingawebgroup}) %dir %{logdir} +%attr(2770,root,%{icingawebgroup}) %config(noreplace) %dir %{configdir}/modules/setup +%attr(0660,root,%{icingawebgroup}) %config(noreplace) %{configdir}/modules/setup/config.ini +%attr(2770,root,%{icingawebgroup}) %config(noreplace) %dir %{configdir}/modules/translation +%attr(0660,root,%{icingawebgroup}) %config(noreplace) %{configdir}/modules/translation/config.ini +%{docsdir} +%docdir %{docsdir} + + +%pre common +getent group %{icingawebgroup} >/dev/null || groupadd -r %{icingawebgroup} +exit 0 + +%files common +%defattr(-,root,root) +%{basedir}/application/locale +%dir %{basedir}/modules +%attr(2770,root,%{icingawebgroup}) %config(noreplace) %dir %{configdir} +%attr(2770,root,%{icingawebgroup}) %config(noreplace) %dir %{configdir}/modules + + +%files -n php-Icinga +%defattr(-,root,root) +%{phpdir}/Icinga + + +%files -n icingacli +%defattr(-,root,root) +%{basedir}/application/clicommands +%{_sysconfdir}/bash_completion.d/icingacli +%attr(0755,root,root) %{bindir}/icingacli + + +%if 0%{?selinux} +%post selinux +for selinuxvariant in %{selinux_variants} +do + %{_sbindir}/semodule -s ${selinuxvariant} -i %{_datadir}/selinux/${selinuxvariant}/icingaweb2.pp &> /dev/null || : +done +%{_sbindir}/restorecon -R %{basedir} &> /dev/null || : +%{_sbindir}/restorecon -R %{configdir} &> /dev/null || : +%{_sbindir}/restorecon -R %{logdir} &> /dev/null || : + +%postun selinux +if [ $1 -eq 0 ] ; then + for selinuxvariant in %{selinux_variants} + do + %{_sbindir}/semodule -s ${selinuxvariant} -r icingaweb2 &> /dev/null || : + done + [ -d %{basedir} ] && %{_sbindir}/restorecon -R %{basedir} &> /dev/null || : + [ -d %{configdir} ] && %{_sbindir}/restorecon -R %{configdir} &> /dev/null || : + [ -d %{logdir} ] && %{_sbindir}/restorecon -R %{logdir} &> /dev/null || : +fi + +%files selinux +%defattr(-,root,root,0755) +%doc selinux/* +%{_datadir}/selinux/*/icingaweb2.pp +%endif + + +%files vendor-dompdf +%defattr(-,root,root) +%{basedir}/library/vendor/dompdf + + +%files vendor-HTMLPurifier +%defattr(-,root,root) +%{basedir}/library/vendor/HTMLPurifier +%{basedir}/library/vendor/HTMLPurifier.autoload.php +%{basedir}/library/vendor/HTMLPurifier.php + + +%files vendor-JShrink +%defattr(-,root,root) +%{basedir}/library/vendor/JShrink + + +%files vendor-lessphp +%defattr(-,root,root) +%{basedir}/library/vendor/lessphp + + +%files vendor-Parsedown +%defattr(-,root,root) +%{basedir}/library/vendor/Parsedown + + +%files vendor-zf1 +%defattr(-,root,root) +%{basedir}/library/vendor/Zend diff --git a/fedora/SPECS/nagios-plugins.spec b/fedora/SPECS/nagios-plugins.spec new file mode 100644 index 0000000..607d6a1 --- /dev/null +++ b/fedora/SPECS/nagios-plugins.spec @@ -0,0 +1,815 @@ +%global _hardened_build 1 + +Name: nagios-plugins +Version: 2.2.1 +Release: 2%{?dist} +Summary: Host/service/network monitoring program plugins for Nagios + +Group: Applications/System +License: GPLv2+ +URL: https://www.nagios-plugins.org/ +Source0: https://www.nagios-plugins.org/download/%{name}-%{version}.tar.gz +Source1: nagios-plugins.README.Fedora +Patch2: nagios-plugins-0002-Remove-assignment-of-not-parsed-to-jitter.patch +# https://bugzilla.redhat.com/512559 +Patch5: nagios-plugins-0005-Prevent-check_swap-from-returning-OK-if-no-swap-acti.patch +Patch7: nagios-plugins-0007-Fix-the-use-lib-statement-and-the-external-ntp-comma.patch +# Patch 8 no longer needed +# Patch 9 no longer needed +# Patch 10 no longer needed +Patch11: nagios-plugins-0011-various_bugzilla_fixes.patch + + +BuildRequires: openldap-devel +BuildRequires: mysql-devel +BuildRequires: net-snmp-devel +BuildRequires: net-snmp-utils +BuildRequires: samba-client +BuildRequires: postgresql-devel +BuildRequires: gettext +BuildRequires: %{_bindir}/ssh +BuildRequires: bind-utils +BuildRequires: ntp +BuildRequires: %{_bindir}/mailq +BuildRequires: fping +BuildRequires: perl-generators +BuildRequires: perl-Net-SNMP +BuildRequires: qstat + +%if 0%{?rhel} +BuildRequires: radiusclient-ng-devel +%else +BuildRequires: freeradius-client-devel +%endif +BuildRequires: qstat +BuildRequires: libdbi-devel +%if 0%{?fedora} >25 +## This is due to the patch to fix openssl +BuildRequires: automake +BuildRequires: autoconf +%endif + +Requires: nagios-common >= 3.3.1-1 +Requires: openssl + +Obsoletes: nagios-plugins-linux_raid < 1.4.16-11 + +# nagios-plugins-1.4.16: the included gnulib files were last updated +# in June/July 2010 +# Bundled gnulib exception (https://fedorahosted.org/fpc/ticket/174) +Provides: bundled(gnulib) + +%global reqfilt sh -c "%{__perl_requires} | sed -e 's!perl(utils)!nagios-plugins-perl!'" +%global __perl_requires %{reqfilt} + + +%description +Nagios is a program that will monitor hosts and services on your +network, and to email or page you when a problem arises or is +resolved. Nagios runs on a Unix server as a background or daemon +process, intermittently running checks on various services that you +specify. The actual service checks are performed by separate "plugin" +programs which return the status of the checks to Nagios. This package +contains those plugins. + +%package all +Summary: Nagios Plugins - All plugins +Group: Applications/System +Requires: nagios-plugins-breeze, nagios-plugins-by_ssh, nagios-plugins-dhcp, nagios-plugins-dig, nagios-plugins-disk, nagios-plugins-disk_smb, nagios-plugins-dns, nagios-plugins-dummy, nagios-plugins-file_age, nagios-plugins-flexlm, nagios-plugins-fping, nagios-plugins-hpjd, nagios-plugins-http, nagios-plugins-icmp, nagios-plugins-ide_smart, nagios-plugins-ircd, nagios-plugins-ldap, nagios-plugins-load, nagios-plugins-log, nagios-plugins-mailq, nagios-plugins-mrtg, nagios-plugins-mrtgtraf, nagios-plugins-mysql, nagios-plugins-nagios, nagios-plugins-nt, nagios-plugins-ntp, nagios-plugins-ntp-perl, nagios-plugins-nwstat, nagios-plugins-oracle, nagios-plugins-overcr, nagios-plugins-pgsql, nagios-plugins-ping, nagios-plugins-procs, nagios-plugins-game, nagios-plugins-real, nagios-plugins-rpc, nagios-plugins-smtp, nagios-plugins-snmp, nagios-plugins-ssh, nagios-plugins-swap, nagios-plugins-tcp, nagios-plugins-time, nagios-plugins-ups, nagios-plugins-users, nagios-plugins-wave, nagios-plugins-cluster +%ifnarch ppc ppc64 ppc64p7 sparc sparc64 +Requires: nagios-plugins-sensors +%endif + +%description all +This package provides all Nagios plugins. + +%package apt +Summary: Nagios Plugin - check_apt +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} + +%description apt +Provides check_apt support for Nagios. + +%package breeze +Summary: Nagios Plugin - check_breeze +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} + +%description breeze +Provides check_breeze support for Nagios. + +%package by_ssh +Summary: Nagios Plugin - check_by_ssh +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} +Requires: %{_bindir}/ssh + +%description by_ssh +Provides check_by_ssh support for Nagios. + +%package cluster +Summary: Nagios Plugin - check_cluster +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} + +%description cluster +Provides check_cluster support for Nagios. + +%package dbi +Summary: Nagios Plugin - check_dbi +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} + +%description dbi +Provides check_dbi support for Nagios. + +%package dhcp +Summary: Nagios Plugin - check_dhcp +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} +Requires: group(nagios) +Requires(pre): group(nagios) + +%description dhcp +Provides check_dhcp support for Nagios. + +%package dig +Summary: Nagios Plugin - check_dig +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} +Requires: %{_bindir}/dig + +%description dig +Provides check_dig support for Nagios. + +%package disk +Summary: Nagios Plugin - check_disk +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} + +%description disk +Provides check_disk support for Nagios. + +%package disk_smb +Summary: Nagios Plugin - check_disk_smb +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} +Requires: %{_bindir}/smbclient + +%description disk_smb +Provides check_disk_smb support for Nagios. + +%package dns +Summary: Nagios Plugin - check_dns +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} +Requires: %{_bindir}/nslookup + +%description dns +Provides check_dns support for Nagios. + +%package dummy +Summary: Nagios Plugin - check_dummy +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} + +%description dummy +Provides check_dummy support for Nagios. +This plugin does not actually check anything, simply provide it with a flag +0-4 and it will return the corresponding status code to Nagios. + +%package file_age +Summary: Nagios Plugin - check_file_age +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} + +%description file_age +Provides check_file_age support for Nagios. + +%package flexlm +Summary: Nagios Plugin - check_flexlm +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} + +%description flexlm +Provides check_flexlm support for Nagios. + +%package fping +Summary: Nagios Plugin - check_fping +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} +Requires: %{_sbindir}/fping +Requires: group(nagios) +Requires(pre): group(nagios) + +%description fping +Provides check_fping support for Nagios. + +%package game +Summary: Nagios Plugin - check_game +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} +Requires: qstat + +%description game +Provides check_game support for Nagios. + +%package hpjd +Summary: Nagios Plugin - check_hpjd +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} + +%description hpjd +Provides check_hpjd support for Nagios. + +%package http +Summary: Nagios Plugin - check_http +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} + +%description http +Provides check_http support for Nagios. + +%package icmp +Summary: Nagios Plugin - check_icmp +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} +Requires: group(nagios) +Requires(pre): group(nagios) + +%description icmp +Provides check_icmp support for Nagios. + +%package ide_smart +Summary: Nagios Plugin - check_ide_smart +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} +Requires: group(nagios) +Requires(pre): group(nagios) + +%description ide_smart +Provides check_ide_smart support for Nagios. + +%package ifoperstatus +Summary: Nagios Plugin - check_ifoperstatus +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} + +%description ifoperstatus +Provides check_ifoperstatus support for Nagios to monitor network interfaces. + +%package ifstatus +Summary: Nagios Plugin - check_ifstatus +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} + +%description ifstatus +Provides check_ifstatus support for Nagios to monitor network interfaces. + +%package ircd +Summary: Nagios Plugin - check_ircd +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} + +%description ircd +Provides check_ircd support for Nagios. + +%package ldap +Summary: Nagios Plugin - check_ldap +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} + +%description ldap +Provides check_ldap support for Nagios. + +%package load +Summary: Nagios Plugin - check_load +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} + +%description load +Provides check_load support for Nagios. + +%package log +Summary: Nagios Plugin - check_log +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} +Requires: /bin/egrep +Requires: /bin/mktemp + +%description log +Provides check_log support for Nagios. + +%package mailq +Summary: Nagios Plugin - check_mailq +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} +Requires: %{_bindir}/mailq + +%description mailq +Provides check_mailq support for Nagios. + +%package mrtg +Summary: Nagios Plugin - check_mrtg +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} + +%description mrtg +Provides check_mrtg support for Nagios. + +%package mrtgtraf +Summary: Nagios Plugin - check_mrtgtraf +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} + +%description mrtgtraf +Provides check_mrtgtraf support for Nagios. + +%package mysql +Summary: Nagios Plugin - check_mysql +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} + +%description mysql +Provides check_mysql and check_mysql_query support for Nagios. + +%package nagios +Summary: Nagios Plugin - check_nagios +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} + +%description nagios +Provides check_nagios support for Nagios. + +%package nt +Summary: Nagios Plugin - check_nt +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} + +%description nt +Provides check_nt support for Nagios. + +%package ntp +Summary: Nagios Plugin - check_ntp +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} + +%description ntp +Provides check_ntp support for Nagios. + +%package ntp-perl +Summary: Nagios Plugin - check_ntp.pl +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} +Requires: %{_sbindir}/ntpdate +Requires: %{_sbindir}/ntpq + +%description ntp-perl +Provides check_ntp.pl support for Nagios. + +%package nwstat +Summary: Nagios Plugin - check_nwstat +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} + +%description nwstat +Provides check_nwstat support for Nagios. + +%package oracle +Summary: Nagios Plugin - check_oracle +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} + +%description oracle +Provides check_oracle support for Nagios. + +%package overcr +Summary: Nagios Plugin - check_overcr +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} + +%description overcr +Provides check_overcr support for Nagios. + +%package perl +Summary: Nagios plugins perl dep. +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} + +%description perl +Perl dep for nagios plugins. This is *NOT* an actual plugin it simply provides +utils.pm + +%package pgsql +Summary: Nagios Plugin - check_pgsql +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} + +%description pgsql +Provides check_pgsql (PostgreSQL) support for Nagios. + +%package ping +Summary: Nagios Plugin - check_ping +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} +Requires: /bin/ping +Requires: /bin/ping6 + +%description ping +Provides check_ping support for Nagios. + +%package procs +Summary: Nagios Plugin - check_procs +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} + +%description procs +Provides check_procs support for Nagios. + +%package radius +Summary: Nagios Plugin - check_radius +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} + +%description radius +Provides check_radius support for Nagios. + +%package real +Summary: Nagios Plugin - check_real +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} + +%description real +Provides check_real (rtsp) support for Nagios. + +%package rpc +Summary: Nagios Plugin - check_rpc +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} +Requires: %{_sbindir}/rpcinfo + +%description rpc +Provides check_rpc support for Nagios. + +%ifnarch ppc ppc64 sparc sparc64 +%package sensors +Summary: Nagios Plugin - check_sensors +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} +Requires: /bin/egrep +Requires: %{_bindir}/sensors + +%description sensors +Provides check_sensors support for Nagios. +%endif + +%package smtp +Summary: Nagios Plugin - check_smtp +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} + +%description smtp +Provides check_smtp support for Nagios. + +%package snmp +Summary: Nagios Plugin - check_snmp +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} +Requires: %{_bindir}/snmpgetnext +Requires: %{_bindir}/snmpget + +%description snmp +Provides check_snmp support for Nagios. + +%package ssh +Summary: Nagios Plugin - check_ssh +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} + +%description ssh +Provides check_ssh support for Nagios. + +%package swap +Summary: Nagios Plugin - check_swap +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} + +%description swap +Provides check_swap support for Nagios. + +%package tcp +Summary: Nagios Plugin - check_tcp +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} +Provides: nagios-plugins-ftp = %{version}-%{release} +Provides: nagios-plugins-imap = %{version}-%{release} +Provides: nagios-plugins-jabber = %{version}-%{release} +Provides: nagios-plugins-nntp = %{version}-%{release} +Provides: nagios-plugins-nntps = %{version}-%{release} +Provides: nagios-plugins-pop = %{version}-%{release} +Provides: nagios-plugins-simap = %{version}-%{release} +Provides: nagios-plugins-spop = %{version}-%{release} +Provides: nagios-plugins-ssmtp = %{version}-%{release} +Provides: nagios-plugins-udp = %{version}-%{release} +Provides: nagios-plugins-udp2 = %{version}-%{release} +Obsoletes: nagios-plugins-udp < 1.4.15-2 + +%description tcp +Provides check_tcp, check_ftp, check_imap, check_jabber, check_nntp, +check_nntps, check_pop, check_simap, check_spop, check_ssmtp, check_udp +and check_clamd support for Nagios. + +%package time +Summary: Nagios Plugin - check_time +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} + +%description time +Provides check_time support for Nagios. + +%package ups +Summary: Nagios Plugin - check_ups +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} + +%description ups +Provides check_ups support for Nagios. + +%package uptime +Summary: Nagios Plugin - check_uptime +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} + +%description uptime +Provides check_uptime support for Nagios. + +%package users +Summary: Nagios Plugin - check_users +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} + +%description users +Provides check_users support for Nagios. + +%package wave +Summary: Nagios Plugin - check_wave +Group: Applications/System +Requires: nagios-plugins = %{version}-%{release} + +%description wave +Provides check_wave support for Nagios. + +%prep +%setup -q + +%patch2 -p1 -b .not_parsed +#%patch5 -p1 -b .fix_missing_swap +%patch7 -p1 -b .ext_ntp_cmds + +#%patch11 -p1 -b .fixes_for_release_201702 + +%build + +%configure \ + --libexecdir=%{_libdir}/nagios/plugins \ + --with-dbi \ + --with-mysql \ + PATH_TO_QSTAT=%{_bindir}/quakestat \ + PATH_TO_FPING=%{_sbindir}/fping \ + PATH_TO_NTPQ=%{_sbindir}/ntpq \ + PATH_TO_NTPDC=%{_sbindir}/ntpdc \ + PATH_TO_NTPDATE=%{_sbindir}/ntpdate \ + PATH_TO_RPCINFO=%{_sbindir}/rpcinfo \ + --with-ps-command="`which ps` -eo 's uid pid ppid vsz rss pcpu etime comm args'" \ + --with-ps-format='%s %d %d %d %d %d %f %s %s %n' \ + --with-ps-cols=10 \ + --enable-extra-opts \ + --with-ps-varlist='procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procetime,procprog,&pos' + +make %{?_smp_mflags} +cd plugins +make check_ide_smart +make check_ldap +make check_radius +make check_pgsql + +cd .. + + +cp %{SOURCE1} ./README.Fedora + +%install +sed -i 's,^MKINSTALLDIRS.*,MKINSTALLDIRS = ../mkinstalldirs,' po/Makefile +make AM_INSTALL_PROGRAM_FLAGS="" DESTDIR=%{buildroot} install +install -m 0755 plugins-root/check_icmp %{buildroot}/%{_libdir}/nagios/plugins +install -m 0755 plugins-root/check_dhcp %{buildroot}/%{_libdir}/nagios/plugins +install -m 0755 plugins/check_ide_smart %{buildroot}/%{_libdir}/nagios/plugins +install -m 0755 plugins/check_ldap %{buildroot}/%{_libdir}/nagios/plugins +install -m 0755 plugins-scripts/check_ntp.pl %{buildroot}/%{_libdir}/nagios/plugins +install -m 0755 plugins/check_radius %{buildroot}/%{_libdir}/nagios/plugins +install -m 0755 plugins/check_pgsql %{buildroot}/%{_libdir}/nagios/plugins + +%ifarch ppc ppc64 ppc64p7 sparc sparc64 +rm -f %{buildroot}/%{_libdir}/nagios/plugins/check_sensors +%endif + +chmod 644 %{buildroot}/%{_libdir}/nagios/plugins/utils.pm + +%find_lang %{name} + +%files -f %{name}.lang +%doc ACKNOWLEDGEMENTS AUTHORS ChangeLog CODING COPYING FAQ LEGAL NEWS README REQUIREMENTS SUPPORT THANKS README.Fedora +%{_libdir}/nagios/plugins/negate +%{_libdir}/nagios/plugins/urlize +%{_libdir}/nagios/plugins/utils.sh + +%files all + +%files apt +%{_libdir}/nagios/plugins/check_apt + +%files breeze +%{_libdir}/nagios/plugins/check_breeze + +%files by_ssh +%{_libdir}/nagios/plugins/check_by_ssh + +%files cluster +%{_libdir}/nagios/plugins/check_cluster + +%files dbi +%{_libdir}/nagios/plugins/check_dbi + +%files dhcp +%defattr(4750,root,nagios,-) +%{_libdir}/nagios/plugins/check_dhcp + +%files dig +%{_libdir}/nagios/plugins/check_dig + +%files disk +%{_libdir}/nagios/plugins/check_disk + +%files disk_smb +%{_libdir}/nagios/plugins/check_disk_smb + +%files dns +%{_libdir}/nagios/plugins/check_dns + +%files dummy +%{_libdir}/nagios/plugins/check_dummy + +%files file_age +%{_libdir}/nagios/plugins/check_file_age + +%files flexlm +%{_libdir}/nagios/plugins/check_flexlm + +%files fping +%defattr(4750,root,nagios,-) +%{_libdir}/nagios/plugins/check_fping + +%files game +%{_libdir}/nagios/plugins/check_game + +%files hpjd +%{_libdir}/nagios/plugins/check_hpjd + +%files http +%{_libdir}/nagios/plugins/check_http + +%files icmp +%defattr(4750,root,nagios,-) +%{_libdir}/nagios/plugins/check_icmp + +%files ifoperstatus +%{_libdir}/nagios/plugins/check_ifoperstatus + +%files ifstatus +%{_libdir}/nagios/plugins/check_ifstatus + +%files ide_smart +%defattr(4750,root,nagios,-) +%{_libdir}/nagios/plugins/check_ide_smart + +%files ircd +%{_libdir}/nagios/plugins/check_ircd + +%files ldap +%{_libdir}/nagios/plugins/check_ldap +%{_libdir}/nagios/plugins/check_ldaps + +%files load +%{_libdir}/nagios/plugins/check_load + +%files log +%{_libdir}/nagios/plugins/check_log + +%files mailq +%{_libdir}/nagios/plugins/check_mailq + +%files mrtg +%{_libdir}/nagios/plugins/check_mrtg + +%files mrtgtraf +%{_libdir}/nagios/plugins/check_mrtgtraf + +%files mysql +%{_libdir}/nagios/plugins/check_mysql +%{_libdir}/nagios/plugins/check_mysql_query + +%files nagios +%{_libdir}/nagios/plugins/check_nagios + +%files nt +%{_libdir}/nagios/plugins/check_nt + +%files ntp +%{_libdir}/nagios/plugins/check_ntp +%{_libdir}/nagios/plugins/check_ntp_peer +%{_libdir}/nagios/plugins/check_ntp_time + +%files ntp-perl +%{_libdir}/nagios/plugins/check_ntp.pl + +%files nwstat +%{_libdir}/nagios/plugins/check_nwstat + +%files oracle +%{_libdir}/nagios/plugins/check_oracle + +%files overcr +%{_libdir}/nagios/plugins/check_overcr + +%files perl +%{_libdir}/nagios/plugins/utils.pm + +%files pgsql +%{_libdir}/nagios/plugins/check_pgsql + +%files ping +%{_libdir}/nagios/plugins/check_ping + +%files procs +%{_libdir}/nagios/plugins/check_procs + +%files radius +%{_libdir}/nagios/plugins/check_radius + +%files real +%{_libdir}/nagios/plugins/check_real + +%files rpc +%{_libdir}/nagios/plugins/check_rpc + +%ifnarch ppc ppc64 ppc64p7 sparc sparc64 +%files sensors +%{_libdir}/nagios/plugins/check_sensors +%endif + +%files smtp +%{_libdir}/nagios/plugins/check_smtp + +%files snmp +%{_libdir}/nagios/plugins/check_snmp + +%files ssh +%{_libdir}/nagios/plugins/check_ssh + +%files swap +%{_libdir}/nagios/plugins/check_swap + +%files tcp +%{_libdir}/nagios/plugins/check_clamd +%{_libdir}/nagios/plugins/check_ftp +%{_libdir}/nagios/plugins/check_imap +%{_libdir}/nagios/plugins/check_jabber +%{_libdir}/nagios/plugins/check_nntp +%{_libdir}/nagios/plugins/check_nntps +%{_libdir}/nagios/plugins/check_pop +%{_libdir}/nagios/plugins/check_simap +%{_libdir}/nagios/plugins/check_spop +%{_libdir}/nagios/plugins/check_ssmtp +%{_libdir}/nagios/plugins/check_tcp +%{_libdir}/nagios/plugins/check_udp + +%files time +%{_libdir}/nagios/plugins/check_time + +%files ups +%{_libdir}/nagios/plugins/check_ups + +%files uptime +%{_libdir}/nagios/plugins/check_uptime + +%files users +%{_libdir}/nagios/plugins/check_users + +%files wave +%{_libdir}/nagios/plugins/check_wave + +%changelog +* Fri Jul 21 2017 Daniel Steiner +- First own build +