From 0d8a1af253d61e4175954bab374279cf506f8205 Mon Sep 17 00:00:00 2001 From: Tim Hardeck Date: Thu, 15 Feb 2018 15:03:20 +0100 Subject: [PATCH 1/6] Align icinga2.spec file consistently --- icinga2.spec | 183 ++++++++++++++++++++++++++------------------------- 1 file changed, 92 insertions(+), 91 deletions(-) diff --git a/icinga2.spec b/icinga2.spec index c0601a8..a5d337c 100644 --- a/icinga2.spec +++ b/icinga2.spec @@ -77,95 +77,95 @@ %define logmsg logger -t %{name}/rpm -Summary: Network monitoring application -Name: icinga2 -Version: 2.8.1 -Release: %{revision}%{?dist} -License: GPLv2+ -URL: https://www.icinga.com/ -Group: System/Monitoring -Source: https://github.com/Icinga/%{name}/archive/v%{version}.tar.gz +Summary: Network monitoring application +Name: icinga2 +Version: 2.8.1 +Release: %{revision}%{?dist} +License: GPLv2+ +Url: https://www.icinga.com/ +Group: System/Monitoring +Source: https://github.com/Icinga/%{name}/archive/v%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-build -Requires: %{name}-bin = %{version}-%{release} +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: System/Monitoring +Summary: Icinga 2 binaries and libraries +Group: System/Monitoring %if "%{_vendor}" == "suse" -PreReq: permissions -Provides: monitoring_daemon -Recommends: monitoring-plugins +PreReq: permissions +Provides: monitoring_daemon +Recommends: monitoring-plugins %if 0%{?suse_version} >= 1310 -BuildRequires: libyajl-devel +BuildRequires: libyajl-devel %endif %endif -BuildRequires: libedit-devel -BuildRequires: ncurses-devel +BuildRequires: libedit-devel +BuildRequires: ncurses-devel %if "%{_vendor}" == "suse" && 0%{?suse_version} < 1210 -BuildRequires: gcc48-c++ -BuildRequires: libstdc++48-devel -BuildRequires: libopenssl1-devel +BuildRequires: gcc48-c++ +BuildRequires: libopenssl1-devel +BuildRequires: libstdc++48-devel %else %if "%{_vendor}" == "redhat" && (0%{?el5} || 0%{?rhel} == 5 || "%{?dist}" == ".el5" || 0%{?el6} || 0%{?rhel} == 6 || "%{?dist}" == ".el6") # Requires devtoolset-2 scl -BuildRequires: devtoolset-2-gcc-c++ -BuildRequires: devtoolset-2-libstdc++-devel -BuildRequires: devtoolset-2-binutils +BuildRequires: devtoolset-2-binutils +BuildRequires: devtoolset-2-gcc-c++ +BuildRequires: devtoolset-2-libstdc++-devel %define scl_enable scl enable devtoolset-2 -- %else -BuildRequires: gcc-c++ -BuildRequires: libstdc++-devel +BuildRequires: gcc-c++ +BuildRequires: libstdc++-devel %endif -BuildRequires: openssl-devel +BuildRequires: openssl-devel %endif -BuildRequires: cmake -BuildRequires: flex >= 2.5.35 -BuildRequires: bison -BuildRequires: make +BuildRequires: bison +BuildRequires: cmake +BuildRequires: flex >= 2.5.35 +BuildRequires: make %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 +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 +BuildRequires: boost153-devel %else %if "%{_vendor}" == "suse" && 0%{?suse_version} > 1320 -BuildRequires: libboost_thread-devel >= 1.48 -BuildRequires: libboost_program_options-devel >= 1.48 -BuildRequires: libboost_regex-devel >= 1.48 -BuildRequires: libboost_system-devel >= 1.48 +BuildRequires: libboost_program_options-devel >= 1.48 +BuildRequires: libboost_regex-devel >= 1.48 +BuildRequires: libboost_system-devel >= 1.48 +BuildRequires: libboost_thread-devel >= 1.48 %else %if (0%{?el5} || 0%{?rhel} == 5 || "%{?dist}" == ".el5" || 0%{?el6} || 0%{?rhel} == 6 || "%{?dist}" == ".el6") # Requires EPEL repository -BuildRequires: boost148-devel >= 1.48 +BuildRequires: boost148-devel >= 1.48 %else -BuildRequires: boost-devel >= 1.48 +BuildRequires: boost-devel >= 1.48 %endif %endif %endif %endif %if 0%{?use_systemd} -BuildRequires: systemd-devel -Requires: systemd +BuildRequires: systemd-devel +Requires: systemd %endif -Requires: %{name}-libs = %{version}-%{release} +Requires: %{name}-libs = %{version}-%{release} %description bin Icinga 2 is a general-purpose network monitoring application. This subpackage provides the binaries for Icinga 2 Core. %package common -Summary: Common Icinga 2 configuration -Group: System/Monitoring +Summary: Common Icinga 2 configuration +Group: System/Monitoring %if (0%{?amzn} || 0%{?fedora} || 0%{?rhel}) Requires(pre): shadow-utils Requires(post): shadow-utils @@ -195,36 +195,36 @@ among Icinga 2 related packages. %package doc -Summary: Documentation for Icinga 2 -Group: Documentation/Other +Summary: Documentation for Icinga 2 +Group: Documentation/Other %description doc This subpackage provides documentation for Icinga 2. %package libs -Summary: Libraries for Icinga 2 -Group: System/Libraries -Requires: %{name}-common = %{version}-%{release} +Summary: Libraries for Icinga 2 +Group: System/Libraries +Requires: %{name}-common = %{version}-%{release} %description libs This subpackage provides the internal libraries for the daemon. %package ido-mysql -Summary: IDO MySQL database backend for Icinga 2 -Group: System/Monitoring +Summary: IDO MySQL database backend for Icinga 2 +Group: System/Monitoring %if "%{_vendor}" == "suse" -BuildRequires: libmysqlclient-devel +BuildRequires: libmysqlclient-devel %if 0%{?suse_version} >= 1310 -BuildRequires: mysql-devel +BuildRequires: mysql-devel %endif %else -BuildRequires: mysql-devel +BuildRequires: mysql-devel %endif #suse -Requires: %{name} = %{version}-%{release} +Requires: %{name} = %{version}-%{release} %description ido-mysql Icinga 2 IDO mysql database backend. Compatible with Icinga 1.x @@ -232,14 +232,14 @@ IDOUtils schema >= 1.12 %package ido-pgsql -Summary: IDO PostgreSQL database backend for Icinga 2 -Group: System/Monitoring +Summary: IDO PostgreSQL database backend for Icinga 2 +Group: System/Monitoring %if "%{_vendor}" == "suse" && 0%{?suse_version} < 1210 -BuildRequires: postgresql-devel >= 8.4 +BuildRequires: postgresql-devel >= 8.4 %else -BuildRequires: postgresql-devel +BuildRequires: postgresql-devel %endif -Requires: %{name} = %{version}-%{release} +Requires: %{name} = %{version}-%{release} %description ido-pgsql Icinga 2 IDO PostgreSQL database backend. Compatible with Icinga 1.x @@ -252,7 +252,9 @@ IDOUtils schema >= 1.12 %package selinux Summary: SELinux policy module supporting icinga2 Group: System/Base -BuildRequires: checkpolicy, selinux-policy-devel, hardlink +BuildRequires: checkpolicy +BuildRequires: hardlink +BuildRequires: selinux-policy-devel Requires: %{name} = %{version}-%{release} Requires(post): policycoreutils-python Requires(postun): policycoreutils-python @@ -261,15 +263,14 @@ Requires(postun): policycoreutils-python SELinux policy module supporting icinga2 %endif - %package -n vim-icinga2 -Summary: Vim syntax highlighting for icinga2 -Group: Productivity/Text/Editors +Summary: Vim syntax highlighting for icinga2 +Group: Productivity/Text/Editors %if "%{_vendor}" == "suse" -BuildRequires: vim -Requires: vim +BuildRequires: vim +Requires: vim %else -Requires: vim-filesystem +Requires: vim-filesystem %endif %description -n vim-icinga2 @@ -277,9 +278,9 @@ Vim syntax highlighting for icinga2 %package -n nano-icinga2 -Summary: Nano syntax highlighting for icinga2 -Group: Productivity/Text/Editors -Requires: nano +Summary: Nano syntax highlighting for icinga2 +Group: Productivity/Text/Editors +Requires: nano %description -n nano-icinga2 Nano syntax highlighting for icinga2 @@ -359,7 +360,7 @@ cd - %install make install \ - DESTDIR="%{buildroot}" + DESTDIR="%{buildroot}" # install custom limits.conf for systemd %if 0%{?configure_systemd_limits} @@ -444,10 +445,10 @@ getent passwd %{icinga_user} >/dev/null || %{_sbindir}/useradd -c "icinga" -s /s 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 + # 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 @@ -463,10 +464,10 @@ exit 0 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 + # 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 @@ -491,7 +492,7 @@ exit 0 %systemd_postun_with_restart %{name}.service %else if [ "$1" -ge "1" ]; then - /sbin/service %{name} condrestart >/dev/null 2>&1 || : + /sbin/service %{name} condrestart >/dev/null 2>&1 || : fi %endif @@ -499,8 +500,8 @@ fi # suse / rhel if [ "$1" = "0" ]; then - # deinstallation of the package - remove enabled features - rm -rf %{_sysconfdir}/%{name}/features-enabled + # deinstallation of the package - remove enabled features + rm -rf %{_sysconfdir}/%{name}/features-enabled fi exit 0 @@ -524,8 +525,8 @@ exit 0 %systemd_preun %{name}.service %else if [ "$1" = "0" ]; then - /sbin/service %{name} stop > /dev/null 2>&1 || : - /sbin/chkconfig --del %{name} || : + /sbin/service %{name} stop > /dev/null 2>&1 || : + /sbin/chkconfig --del %{name} || : fi %endif @@ -537,16 +538,16 @@ exit 0 %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 + # 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 + # deinstallation of the package - remove feature + rm -f %{_sysconfdir}/%{name}/features-enabled/ido-mysql.conf fi exit 0 @@ -554,16 +555,16 @@ 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 + # 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 + # deinstallation of the package - remove feature + rm -f %{_sysconfdir}/%{name}/features-enabled/ido-pgsql.conf fi exit 0 From 6f9f78244a4329199d860ec7d6517ce5cc7f5095 Mon Sep 17 00:00:00 2001 From: Tim Hardeck Date: Thu, 15 Feb 2018 15:06:20 +0100 Subject: [PATCH 2/6] Change naming style of license according to SPDX https://spdx.org/licenses/ --- icinga2.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/icinga2.spec b/icinga2.spec index a5d337c..7e3a71f 100644 --- a/icinga2.spec +++ b/icinga2.spec @@ -81,7 +81,7 @@ Summary: Network monitoring application Name: icinga2 Version: 2.8.1 Release: %{revision}%{?dist} -License: GPLv2+ +License: GPL-2.0+ Url: https://www.icinga.com/ Group: System/Monitoring Source: https://github.com/Icinga/%{name}/archive/v%{version}.tar.gz From c64e13a8f4d8da4ffeee8cd33e29a19fc29a22f3 Mon Sep 17 00:00:00 2001 From: Tim Hardeck Date: Thu, 15 Feb 2018 15:08:08 +0100 Subject: [PATCH 3/6] Improve package descriptions --- icinga2.spec | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/icinga2.spec b/icinga2.spec index 7e3a71f..69ed43c 100644 --- a/icinga2.spec +++ b/icinga2.spec @@ -260,7 +260,7 @@ Requires(post): policycoreutils-python Requires(postun): policycoreutils-python %description selinux -SELinux policy module supporting icinga2 +SELinux policy module supporting icinga2. %endif %package -n vim-icinga2 @@ -274,7 +274,7 @@ Requires: vim-filesystem %endif %description -n vim-icinga2 -Vim syntax highlighting for icinga2 +Provides Vim syntax highlighting for icinga2. %package -n nano-icinga2 @@ -283,7 +283,7 @@ Group: Productivity/Text/Editors Requires: nano %description -n nano-icinga2 -Nano syntax highlighting for icinga2 +Provides Nano syntax highlighting for icinga2. %prep %setup -q -n %{name}-%{version} From ac6f710f2e848af05cd71fc9a2686d8b3a408bf6 Mon Sep 17 00:00:00 2001 From: Tim Hardeck Date: Tue, 6 Feb 2018 13:55:50 +0100 Subject: [PATCH 4/6] Use correct fillupdir on SUSE --- icinga2.spec | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/icinga2.spec b/icinga2.spec index 69ed43c..02c49d5 100644 --- a/icinga2.spec +++ b/icinga2.spec @@ -378,9 +378,14 @@ rm -f %{buildroot}/%{_sysconfdir}/%{name}/features-enabled/*.conf %else ln -sf ../../%{_initrddir}/%{name} "%{buildroot}%{_sbindir}/rc%{name}" %endif +%if ( 0%{?sle_version} >= 150000 && 0%{?is_opensuse} ) || 0%{?suse_version} > 1500 +mkdir -p "%{buildroot}%{_fillupdir}/" +mv "%{buildroot}%{_sysconfdir}/sysconfig/%{name}" "%{buildroot}%{_fillupdir}/sysconfig.%{name}" +%else mkdir -p "%{buildroot}%{_localstatedir}/adm/fillup-templates/" mv "%{buildroot}%{_sysconfdir}/sysconfig/%{name}" "%{buildroot}%{_localstatedir}/adm/fillup-templates/sysconfig.%{name}" %endif +%endif %if 0%{?use_selinux} cd tools/selinux @@ -632,7 +637,11 @@ fi %endif %if "%{_vendor}" == "suse" %{_sbindir}/rc%{name} +%if ( 0%{?sle_version} >= 150000 && 0%{?is_opensuse} ) || 0%{?suse_version} > 1500 +%{_fillupdir}/sysconfig.%{name} +%else %{_localstatedir}/adm/fillup-templates/sysconfig.%{name} +%endif %else %config(noreplace) %{_sysconfdir}/sysconfig/%{name} %endif From b14b4b2958957991990b8af6fb6b31f430467a41 Mon Sep 17 00:00:00 2001 From: Tim Hardeck Date: Tue, 6 Feb 2018 13:56:38 +0100 Subject: [PATCH 5/6] Use /bin/bash instead of env --- icinga2.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/icinga2.spec b/icinga2.spec index 02c49d5..e3ebaeb 100644 --- a/icinga2.spec +++ b/icinga2.spec @@ -287,6 +287,10 @@ Provides Nano syntax highlighting for icinga2. %prep %setup -q -n %{name}-%{version} +# use absolute shebang instead of env on SUSE distributions +%if "%{_vendor}" == "suse" +find . -type f -name '*.sh' -exec sed -i -e 's|\/usr\/bin\/env bash|\/bin\/bash|g' {} \; +%endif %build CMAKE_OPTS="-DCMAKE_INSTALL_PREFIX=/usr \ From 900b7cf3d9bba8e8c0d3fb38405a14ffe392a919 Mon Sep 17 00:00:00 2001 From: Tim Hardeck Date: Thu, 15 Feb 2018 15:43:25 +0100 Subject: [PATCH 6/6] Fix duplication in file lists --- icinga2.spec | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/icinga2.spec b/icinga2.spec index e3ebaeb..4db4826 100644 --- a/icinga2.spec +++ b/icinga2.spec @@ -673,13 +673,12 @@ fi %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(0750,%{icinga_user},%{icingacmd_group}) %ghost %dir %{_rundir}/%{name} %attr(2750,%{icinga_user},%{icingacmd_group}) %ghost %{_rundir}/%{name}/cmd %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 +%attr(0750,%{icinga_user},%{icinga_group}) %{_datadir}/%{name}/include %files doc %defattr(-,root,root,-)