# Icingaweb2 | GPLv2+ %define revision 1 Name: icingaweb2 Version: 2.12.2 Release: %{revision}%{?dist} Summary: Icinga Web Group: Applications/System License: GPLv2+ URL: https://github.com/Icinga/icingaweb2 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release} Source0: https://github.com/Icinga/icingaweb2/archive/v%{version}.tar.gz BuildArch: noarch Requires: httpd Requires: php(httpd) Requires: icingaweb2-common = %{version}-%{release} Requires: php-icinga = %{version}-%{release} Requires: icingacli = %{version}-%{release} Requires: icinga-l10n >= 1.1.0 %description Lightweight and extensible web interface to tackle your monitoring challenge. %prep %setup -q install -d sources # Create icingaweb2.conf cat > sources/icingaweb2.conf << 'EOF' Alias /icingaweb2 "/usr/share/icingaweb2/public" Options SymLinksIfOwnerMatch AllowOverride None Require all granted SetEnv ICINGAWEB_CONFIGDIR "/etc/icingaweb2" RewriteEngine on RewriteBase /icingaweb2/ RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [NC,L] RewriteRule ^.*$ index.php [NC,L] DirectoryIndex error_norewrite.html ErrorDocument 404 /icingaweb2/error_norewrite.html DirectoryIndex index.php EOF # Create icingacli cat > sources/icingacli << 'EOF' #!/bin/sh /usr/bin/env php -d date.timezone=UTC /usr/share/icingaweb2/bin/icingacli "$@" EOF %build %install rm -rf %{buildroot} install -d %{buildroot}/usr/share/icingaweb2 cp -pr application doc library modules public schema %{buildroot}/usr/share/icingaweb2 install -dm 2770 %{buildroot}/etc/icingaweb2 %{buildroot}/etc/icingaweb2/{enabledModules,modules} install -Dpm 0644 etc/bash_completion.d/icingacli %{buildroot}/usr/share/bash-completion/completions/icingacli install -d %{buildroot}/usr/share/php mv %{buildroot}/usr/share/icingaweb2/library/Icinga %{buildroot}/usr/share/php install -dm 2770 %{buildroot}/var/cache/icingaweb2 %{buildroot}/var/lib/icingaweb2 install -dm 2775 %{buildroot}/var/log/icingaweb2 install -Dpm 0644 sources/icingaweb2.conf %{buildroot}/etc/httpd/conf.d/icingaweb2.conf install -Dpm 0755 sources/icingacli %{buildroot}/usr/bin/icingacli %pre getent group icingacmd >/dev/null || groupadd -r icingacmd usermod -a -G icingacmd,icingaweb2 apache %clean rm -rf %{buildroot} %files %defattr(-,root,root,-) %doc CHANGELOG.md %doc README.md %docdir /usr/share/icingaweb2/doc %license LICENSE /usr/share/icingaweb2/application/controllers /usr/share/icingaweb2/application/fonts /usr/share/icingaweb2/application/forms /usr/share/icingaweb2/application/layouts /usr/share/icingaweb2/application/views /usr/share/icingaweb2/application/VERSION /usr/share/icingaweb2/doc /usr/share/icingaweb2/modules /usr/share/icingaweb2/public /usr/share/icingaweb2/schema %config(noreplace) /etc/httpd/conf.d/icingaweb2.conf %package common Summary: Common files for Icinga Web and the Icinga CLI Requires(pre): shadow-utils %description common Manages common files for Icinga Web and the Icinga CLI. %files common %defattr(-,root,root,-) %attr(-, -, icingaweb2) %dir /var/cache/icingaweb2 %attr(-, -, icingaweb2) %dir /var/log/icingaweb2 %attr(-, -, icingaweb2) %dir /var/lib/icingaweb2 %attr(-, -, icingaweb2) %config(noreplace) %dir /etc/icingaweb2 %attr(-, -, icingaweb2) %config(noreplace) %dir /etc/icingaweb2/modules %attr(-, -, icingaweb2) %dir /etc/icingaweb2/enabledModules %pre common getent group icingaweb2 >/dev/null || groupadd -r icingaweb2 %package -n icingacli Summary: Icinga CLI Requires: php-cli Requires: bash-completion Requires: icingaweb2-common = %{version}-%{release} Requires: php-icinga = %{version}-%{release} Requires: icinga-l10n >= 1.1.0 %description -n icingacli Icinga command line interface. %files -n icingacli %defattr(-,root,root,-) %license LICENSE /usr/share/icingaweb2/application/clicommands /usr/share/bash-completion/completions/icingacli /usr/bin/icingacli %package -n php-icinga Summary: Icinga Web PHP library Group: Development/Libraries Obsoletes: php-Icinga <= %{version} Obsoletes: icingaweb2-vendor-dompdf <= 2.12.0 Obsoletes: icingaweb2-vendor-HTMLPurifier <= 2.12.0 Obsoletes: icingaweb2-vendor-JShrink <= 2.12.0 Obsoletes: icingaweb2-vendor-lessphp <= 2.12.0 Obsoletes: icingaweb2-vendor-Parsedown <= 2.12.0 Obsoletes: icingaweb2-vendor-zf1 <= 2.12.0 Requires: php-curl Requires: php-dom Requires: php-fileinfo Requires: php-gd Requires: php-gettext Requires: php-intl Requires: php-json Requires: php-ldap Requires: php-mbstring Requires: php-openssl Requires: php-pdo Requires: php-pdo_mysql Requires: php-pdo_pgsql Requires: php-process Requires: php-xml Requires: icinga-php-library >= 0.14.2 Requires: icinga-php-thirdparty >= 0.12.0 %description -n php-icinga Icinga Web PHP and vendor libraries. %files -n php-icinga %defattr(-,root,root,-) %license LICENSE /usr/share/php/Icinga %changelog * Thu May 08 2025 Giannoulis Michail - 2.12.2 - Version 2.12.2