diff --git a/centos/SPECS/cjose.spec b/centos/SPECS/cjose.spec new file mode 100644 index 0000000..c7f55eb --- /dev/null +++ b/centos/SPECS/cjose.spec @@ -0,0 +1,67 @@ +Name: cjose +Version: 0.6.1 +Release: 3%{?dist} +Summary: C library implementing the Javascript Object Signing and Encryption (JOSE) + +License: MIT +URL: https://github.com/cisco/cjose +Source0: https://github.com/cisco/%{name}/archive/%{version}/%{name}-%{version}.tar.gz + +Patch1: concatkdf.patch + +BuildRequires: gcc +BuildRequires: doxygen +BuildRequires: openssl-devel +BuildRequires: jansson-devel +BuildRequires: check-devel + +%description +Implementation of JOSE for C/C++ + + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. + + +%prep +%autosetup -n %{name}-%{version} -p1 + +%build +%configure +%make_build + + +%install +%make_install +find %{buildroot} -name '*.a' -exec rm -f {} ';' +find %{buildroot} -name '*.la' -exec rm -f {} ';' + + +%ldconfig_scriptlets + + +%check +make check || (cat test/test-suite.log; exit 1) + +%files +%license LICENSE +%doc CHANGELOG.md README.md +%doc /usr/share/doc/cjose +%{_libdir}/*.so.* + + +%files devel +%{_includedir}/* +%{_libdir}/*.so +%{_libdir}/pkgconfig/cjose.pc + + +%changelog +* Sat Sep 5 2020 Daniel Steiner +- First initial build. + diff --git a/centos/SPECS/fdupes.spec b/centos/SPECS/fdupes.spec index ac2d62a..660cb4e 100644 --- a/centos/SPECS/fdupes.spec +++ b/centos/SPECS/fdupes.spec @@ -82,6 +82,6 @@ EOF %changelog -* Sun Sep 29 2019 Daniel Steiner +* Sun Sep 29 2019 Daniel Steiner - First build for CentOS 8. diff --git a/centos/SPECS/gitea.spec b/centos/SPECS/gitea.spec index d1544f6..68b7d3f 100644 --- a/centos/SPECS/gitea.spec +++ b/centos/SPECS/gitea.spec @@ -82,46 +82,46 @@ getent passwd gitea > /dev/null || \ %changelog -* Fri Dec 6 2019 Daniel Steiner +* Fri Dec 6 2019 Daniel Steiner - Update to version 1.10.1. -* Fri Nov 22 2019 Daniel Steiner +* Fri Nov 22 2019 Daniel Steiner - Update to version 1.10.0. -* Fri Oct 18 2019 Daniel Steiner +* Fri Oct 18 2019 Daniel Steiner - Update to version 1.9.4. -* Sat Sep 21 2019 Daniel Steiner +* Sat Sep 21 2019 Daniel Steiner - Update to version 1.9.3. -* Fri Aug 16 2019 Daniel Steiner +* Fri Aug 16 2019 Daniel Steiner - Update to version 1.9.1. -* Fri Aug 2 2019 Daniel Steiner +* Fri Aug 2 2019 Daniel Steiner - Update to version 1.9.0. -* Mon Jun 3 2019 Daniel Steiner +* Mon Jun 3 2019 Daniel Steiner - Update to version 1.8.2. -* Sat May 11 2019 Daniel Steiner +* Sat May 11 2019 Daniel Steiner - Update to version 1.8.1. -* Sun Apr 28 2019 Daniel Steiner +* Sun Apr 28 2019 Daniel Steiner - Update to version 1.8.0. -* Sun Apr 7 2019 Daniel Steiner +* Sun Apr 7 2019 Daniel Steiner - Update to version 1.7.5. -* Fri Mar 15 2019 Daniel Steiner +* Fri Mar 15 2019 Daniel Steiner - Update to version 1.7.4. -* Wed Feb 27 2019 Daniel Steiner +* Wed Feb 27 2019 Daniel Steiner - Update to version 1.7.3. -* Sat Feb 16 2019 Daniel Steiner +* Sat Feb 16 2019 Daniel Steiner - Update to version 1.7.2. -* Wed Jan 30 2019 Daniel Steiner +* Wed Jan 30 2019 Daniel Steiner - Update to version 1.7.0. * Fri Jan 18 2019 Daniel Steiner diff --git a/centos/SPECS/mod_auth_openidc.spec b/centos/SPECS/mod_auth_openidc.spec new file mode 100644 index 0000000..41fb257 --- /dev/null +++ b/centos/SPECS/mod_auth_openidc.spec @@ -0,0 +1,111 @@ +%{!?_httpd_mmn: %{expand: %%global _httpd_mmn %%(cat %{_includedir}/httpd/.mmn || echo 0-0)}} +%{!?_httpd_moddir: %{expand: %%global _httpd_moddir %%{_libdir}/httpd/modules}} +%{!?_httpd_confdir: %{expand: %%global _httpd_confdir %{_sysconfdir}/httpd/conf.d}} + +# Optionally build with hiredis if --with hiredis is passed +%{!?_with_hiredis: %{!?_without_hiredis: %global _without_hiredis --without-hiredis}} +# It is an error if both or neither required options exist. +%{?_with_hiredis: %{?_without_hiredis: %{error: both _with_hiredis and _without_hiredis}}} +%{!?_with_hiredis: %{!?_without_hiredis: %{error: neither _with_hiredis nor _without_hiredis}}} + +# /etc/httpd/conf.d with httpd < 2.4 and defined as /etc/httpd/conf.modules.d with httpd >= 2.4 +%{!?_httpd_modconfdir: %{expand: %%global _httpd_modconfdir %%{_sysconfdir}/httpd/conf.d}} + +%global httpd_pkg_cache_dir /var/cache/httpd/mod_auth_openidc + +Name: mod_auth_openidc +Version: 2.4.5 +Release: 1%{?dist} +Summary: OpenID Connect auth module for Apache HTTP Server + +License: ASL 2.0 +URL: https://github.com/zmartzone/mod_auth_openidc +Source0: https://github.com/zmartzone/mod_auth_openidc/releases/download/v%{version}/mod_auth_openidc-%{version}.tar.gz + +BuildRequires: gcc +BuildRequires: httpd-devel +BuildRequires: openssl-devel +BuildRequires: curl-devel +BuildRequires: jansson-devel +BuildRequires: pcre-devel +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: cjose-devel +#BuildRequires: jq-devel +BuildRequires: jq +%{?_with_hiredis:BuildRequires: hiredis-devel} +Requires: httpd-mmn = %{_httpd_mmn} + +%description +This module enables an Apache 2.x web server to operate as +an OpenID Connect Relying Party and/or OAuth 2.0 Resource Server. + +%prep +%setup -q + +%build +# workaround rpm-buildroot-usage +export MODULES_DIR=%{_httpd_moddir} +export APXS2_OPTS='-S LIBEXECDIR=${MODULES_DIR}' +autoreconf +%configure \ + --with-jq=/usr/lib64/ \ + %{?_with_hiredis} \ + %{?_without_hiredis} + +make %{?_smp_mflags} + +%check +export MODULES_DIR=%{_httpd_moddir} +export APXS2_OPTS='-S LIBEXECDIR=${MODULES_DIR}' +make test + +%install +mkdir -p $RPM_BUILD_ROOT%{_httpd_moddir} +make install MODULES_DIR=$RPM_BUILD_ROOT%{_httpd_moddir} + +install -m 755 -d $RPM_BUILD_ROOT%{_httpd_modconfdir} +echo 'LoadModule auth_openidc_module modules/mod_auth_openidc.so' > \ + $RPM_BUILD_ROOT%{_httpd_modconfdir}/10-auth_openidc.conf + +install -m 755 -d $RPM_BUILD_ROOT%{_httpd_confdir} +install -m 644 auth_openidc.conf $RPM_BUILD_ROOT%{_httpd_confdir} +# Adjust httpd cache location in install config file +sed -i 's!/var/cache/apache2/!/var/cache/httpd/!' $RPM_BUILD_ROOT%{_httpd_confdir}/auth_openidc.conf +install -m 700 -d $RPM_BUILD_ROOT%{httpd_pkg_cache_dir} +install -m 700 -d $RPM_BUILD_ROOT%{httpd_pkg_cache_dir}/metadata +install -m 700 -d $RPM_BUILD_ROOT%{httpd_pkg_cache_dir}/cache + + +%files +%if 0%{?rhel} && 0%{?rhel} < 7 +%doc LICENSE.txt +%else +%license LICENSE.txt +%endif +%doc ChangeLog +%doc AUTHORS +%doc README.md +%{_httpd_moddir}/mod_auth_openidc.so +%config(noreplace) %{_httpd_modconfdir}/10-auth_openidc.conf +%config(noreplace) %{_httpd_confdir}/auth_openidc.conf +%dir %attr(0700, apache, apache) %{httpd_pkg_cache_dir} +%dir %attr(0700, apache, apache) %{httpd_pkg_cache_dir}/metadata +%dir %attr(0700, apache, apache) %{httpd_pkg_cache_dir}/cache + +%changelog +* Sun Nov 29 2020 Daniel Steiner +- Update to 2.4.5. + +* Sat Sep 5 2020 Daniel Steiner +- Update to 2.4.4.1. + +* Mon Jul 6 2020 Daniel Steiner +- Update to 2.4.3. + +* Thu Feb 13 2020 Daniel Steiner +- Update to 2.4.1. + +* Thu Dec 19 2019 Daniel Steiner +- First initial build. + diff --git a/centos/SPECS/mod_tile.spec b/centos/SPECS/mod_tile.spec new file mode 100644 index 0000000..3184e06 --- /dev/null +++ b/centos/SPECS/mod_tile.spec @@ -0,0 +1,74 @@ +Name: mod_tile +Version: 0.5 +Release: 2%{?dist} +Summary: A program to efficiently render and serve map tiles for www.openstreetmap.org map using Apache and Mapnik. + +License: GPLv2 +URL: https://github.com/openstreetmap/mod_tile +Source0: %{name}-%{version}.tgz +Source1: 10-tile.conf + +BuildRequires: httpd-devel, apr +BuildRequires: mapnik-devel + +%description +The rendering is implemented in a multithreaded process +called renderd which opens either a unix or tcp socket +and listens for requests to render tiles. It uses Mapnik +to render tiles using the rendering rules defined in +the configuration file /etc/renderd.conf. Its configuration +also allows to specify the number of rendering +threads. + +The render daemon implements a queuing mechanism with multiple +priority levels to provide an as up-to-date viewing experience +given the available rendering resources. The highest priority +is for on the fly rendering of tiles not yet in the tile cache, +two priority levels for re-rendering out of date tiles on the fly +and two background batch rendering queues. The on the fly rendering +queues are limited to a short 32 metatile size to minimize latency. +The size of the main background queue is determined +at compile time, see: render_config.h + +%prep +%setup -q -n %{name}-%{version} + +%build +%configure \ + --with-apxs \ + --with-libmapnik +%{__make} + +%install +%{__make} install DESTDIR=%{buildroot} +%{__make} install-%{name} DESTDIR=%{buildroot} +%{__install} -D %{S:1} %{buildroot}%{_sysconfdir}/httpd/conf.modules.d/10-tile.conf + +%post +if [ $1 -eq 1 ]; then + /usr/bin/systemctl reload httpd.service >/dev/null 2>&1 || : +fi + +%postun +if [ $1 -eq 1 ]; then + /usr/bin/systemctl reload httpd.service >/dev/null 2>&1 || : +fi + +%clean +[ "%{buildroot}" != "/" ] && [ -d "%{buildroot}" ] && rm -rf %{buildroot} +[ "%{_builddir}" != "/" ] && [ -d "%{_builddir}" ] && rm -rf %{_builddir}/* + +%files +%doc COPYING mod_tile.conf +%config(noreplace) %{_sysconfdir}/renderd.conf +%config %{_sysconfdir}/httpd/conf.modules.d/10-tile.conf +%{_bindir}/render* +%{_libdir}/httpd/modules/%{name}.so +%{_libdir}/libiniparser* +%{_mandir}/man1/* +%{_mandir}/man8/* + +%changelog +* Sat Jul 11 2020 Daniel Steiner +- First build on CentOS 8. + diff --git a/centos/SPECS/powerline_shell.spec b/centos/SPECS/powerline_shell.spec index 453499c..3e91066 100644 --- a/centos/SPECS/powerline_shell.spec +++ b/centos/SPECS/powerline_shell.spec @@ -4,7 +4,7 @@ Release: 3%{?dist} Summary: A beautiful and useful prompt generator for Bash, ZSH, Fish, and tcsh License: MIT -URL: https://dev.daniel-steiner.org/dani/powerline-shell-enhanced#segment-configuration +URL: https://dev.dsteiner.ch/dani/powerline-shell-enhanced#segment-configuration Source0: powerline_shell.tar.gz %define debug_package %{nil} @@ -72,12 +72,12 @@ popd %changelog -* Sun Feb 3 2019 Daniel Steiner +* Sun Feb 3 2019 Daniel Steiner - Dependency added for python-setuptools rpm. -* Sun Feb 3 2019 Daniel Steiner +* Sun Feb 3 2019 Daniel Steiner - Dependency added for pythonX-argparse rpm. -* Sat Feb 2 2019 Daniel Steiner +* Sat Feb 2 2019 Daniel Steiner - First build. diff --git a/centos/SPECS/python2-argparse.spec b/centos/SPECS/python2-argparse.spec index 001c682..8dd5503 100644 --- a/centos/SPECS/python2-argparse.spec +++ b/centos/SPECS/python2-argparse.spec @@ -54,6 +54,6 @@ PYTHONPATH=../ %{__python} test_%{oname}.py %{python_sitelib}/* %changelog -* Sun Feb 3 2019 Daniel Steiner +* Sun Feb 3 2019 Daniel Steiner - First build, it's required by powerline_shell package. diff --git a/centos/SPECS/python3-argparse.spec b/centos/SPECS/python3-argparse.spec index 1272fab..bd34c48 100644 --- a/centos/SPECS/python3-argparse.spec +++ b/centos/SPECS/python3-argparse.spec @@ -55,6 +55,6 @@ rm -rf %{buildroot}%{python3_sitelib}/__pycache__ %{python3_sitelib}/* %changelog -* Sun Feb 3 2019 Daniel Steiner +* Sun Feb 3 2019 Daniel Steiner - First build, it's required by powerline_shell package. diff --git a/centos/SPECS/sockstat.spec b/centos/SPECS/sockstat.spec new file mode 100644 index 0000000..03bcd45 --- /dev/null +++ b/centos/SPECS/sockstat.spec @@ -0,0 +1,39 @@ +Name: sockstat +Version: 0.4.1 +Release: 1%{?dist} +Summary: View detailed information about open connections + +License: BSD-3 +URL: https://github.com/alteholz/sockstat/ +Source0: %{name}-%{version}.tar.gz + +# disable debug: +%global debug_package %{nil} + + +%description +View detailed information about open connections + + +%prep +%setup -q + + +%build +make %{?_smp_mflags} + + +%install +%{__install} -D %{name} %{buildroot}%{_bindir}/%{name} +%{__install} -D %{name}.1 %{buildroot}%{_mandir}/man1/%{name}.1 + +%files +%doc LICENSE +%{_bindir}/%{name} +%{_mandir}/man1/%{name}.1.gz + + +%changelog +* Thu Apr 9 2020 Daniel Steiner +- Initial version for CentOS 8 (0.4.1). + diff --git a/centos/SPECS/tmux.spec b/centos/SPECS/tmux.spec index 25950b8..6ebf4b7 100644 --- a/centos/SPECS/tmux.spec +++ b/centos/SPECS/tmux.spec @@ -69,9 +69,9 @@ fi %config(noreplace) %{_sysconfdir}/tmux.conf %changelog -* Sun Sep 29 2019 Daniel Steiner +* Sun Sep 29 2019 Daniel Steiner - Default tmux config added. -* Fri Aug 16 2019 Daniel Steiner +* Fri Aug 16 2019 Daniel Steiner - Initial to version 3.0 for CentOS. diff --git a/fedora/SPECS/archive/libmodsecurity.spec b/fedora/SPECS/archive/libmodsecurity.spec index 363e2ec..3ea2458 100644 --- a/fedora/SPECS/archive/libmodsecurity.spec +++ b/fedora/SPECS/archive/libmodsecurity.spec @@ -114,9 +114,9 @@ make install DESTDIR=%{buildroot} [ "%{_builddir}" != "/" ] && [ -d "%{_builddir}" ] && rm -rf %{_builddir}/* %changelog -* Thu Mar 7 2019 Daniel Steiner +* Thu Mar 7 2019 Daniel Steiner - lmdb disabled -* Tue Jan 22 2019 Daniel Steiner +* Tue Jan 22 2019 Daniel Steiner - New 3.x build for Fedora 29. diff --git a/fedora/SPECS/archive/modsecurity_apache.spec b/fedora/SPECS/archive/modsecurity_apache.spec index 4e9a433..fc62cac 100644 --- a/fedora/SPECS/archive/modsecurity_apache.spec +++ b/fedora/SPECS/archive/modsecurity_apache.spec @@ -114,6 +114,6 @@ rm -rf %{buildroot} %endif %changelog -* Thu Jan 22 2019 Daniel Steiner +* Thu Jan 22 2019 Daniel Steiner - New 3.x build for Fedora 29. diff --git a/fedora/SPECS/archive/virt-backup.spec b/fedora/SPECS/archive/virt-backup.spec index 9146705..3f82d14 100644 --- a/fedora/SPECS/archive/virt-backup.spec +++ b/fedora/SPECS/archive/virt-backup.spec @@ -63,6 +63,6 @@ sed -i -e "s|/sbin/lvcreate|/usr/sbin/lvcreate|g" \ %dir %attr(0770, qemu, qemu) %{_localstatedir}/lib/libvirt/backup %changelog -* Sun Apr 14 2019 Daniel Steiner +* Sun Apr 14 2019 Daniel Steiner - Initial build. diff --git a/fedora/SPECS/cjose.spec b/fedora/SPECS/cjose.spec new file mode 100644 index 0000000..c7f55eb --- /dev/null +++ b/fedora/SPECS/cjose.spec @@ -0,0 +1,67 @@ +Name: cjose +Version: 0.6.1 +Release: 3%{?dist} +Summary: C library implementing the Javascript Object Signing and Encryption (JOSE) + +License: MIT +URL: https://github.com/cisco/cjose +Source0: https://github.com/cisco/%{name}/archive/%{version}/%{name}-%{version}.tar.gz + +Patch1: concatkdf.patch + +BuildRequires: gcc +BuildRequires: doxygen +BuildRequires: openssl-devel +BuildRequires: jansson-devel +BuildRequires: check-devel + +%description +Implementation of JOSE for C/C++ + + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. + + +%prep +%autosetup -n %{name}-%{version} -p1 + +%build +%configure +%make_build + + +%install +%make_install +find %{buildroot} -name '*.a' -exec rm -f {} ';' +find %{buildroot} -name '*.la' -exec rm -f {} ';' + + +%ldconfig_scriptlets + + +%check +make check || (cat test/test-suite.log; exit 1) + +%files +%license LICENSE +%doc CHANGELOG.md README.md +%doc /usr/share/doc/cjose +%{_libdir}/*.so.* + + +%files devel +%{_includedir}/* +%{_libdir}/*.so +%{_libdir}/pkgconfig/cjose.pc + + +%changelog +* Sat Sep 5 2020 Daniel Steiner +- First initial build. + diff --git a/fedora/SPECS/danweb2-selinux.spec b/fedora/SPECS/danweb2-selinux.spec new file mode 100644 index 0000000..501b2cb --- /dev/null +++ b/fedora/SPECS/danweb2-selinux.spec @@ -0,0 +1,78 @@ +%define myname danweb2 +%global selinuxtype targeted +%global moduletype services +%global modulenames %{myname} + +# Relabel files +%global relabel_files() \ # ADD files in *.fc file + + +# Version of distribution SELinux policy package +# rpm -q selinux-policy +%global selinux_policyver 3.14.0 + +# Package information +Name: %{myname}-selinux +Version: 1.0 +Release: 1%{?dist} +License: GPLv2 +Group: System Environment/Base +Summary: SELinux Policies for %{myname} +BuildArch: noarch +URL: https://www.dsteiner.ch +Requires(post): selinux-policy-base >= %{selinux_policyver}, +Requires(post): selinux-policy-targeted >= %{selinux_policyver} +Requires(post): policycoreutils +Requires(post): policycoreutils-python-utils +Requires(post): libselinux-utils +BuildRequires: selinux-policy selinux-policy-devel + +Source: selinux-%{myname}.tar + +%description +SELinux policy modules for use on %{myname} + +%prep +%setup -q -n selinux + +%build +# link Makefile to source dir: +ln -s /usr/share/selinux/devel/Makefile +make + +%install + +# Install SELinux interfaces +export INTERFACES="$(ls *.if)" +install -d %{buildroot}%{_datadir}/selinux/devel/include/%{moduletype} +install -p -m 644 $INTERFACES \ + %{buildroot}%{_datadir}/selinux/devel/include/%{moduletype} + +# Install policy modules +export MODULES="$(ls *.pp)" +install -d %{buildroot}%{_datadir}/selinux/packages +install -m 0644 $MODULES \ + %{buildroot}%{_datadir}/selinux/packages + +%post +# +# Install all modules in a single transaction +# +export MODULES="$(ls %{_datadir}/selinux/packages/*.pp)" +%selinux_modules_install -s %{selinuxtype} $MODULES + +%postun +export MODULES="$(rpm -ql %{name} | grep '.pp$')" +if [ $1 -eq 0 ]; then + %selinux_modules_uninstall -s %{selinuxtype} $MODULES +fi + +%files +%defattr(-,root,root,0755) +%attr(0644,root,root) %{_datadir}/selinux/packages/*.pp +%attr(0644,root,root) %{_datadir}/selinux/devel/include/%{moduletype}/*.if + +%changelog +* Sat Sep 12 2020 +- Additional selinux modules for danweb2 server + diff --git a/fedora/SPECS/echoip.spec b/fedora/SPECS/echoip.spec index f7a224a..681e48d 100644 --- a/fedora/SPECS/echoip.spec +++ b/fedora/SPECS/echoip.spec @@ -4,7 +4,7 @@ %define gitv 58fd8a6 %define webd %{_var}/www %define gopath $(pwd)/go -%define domain echoip.daniel-steiner.org +%define domain echoip.dsteiner.ch %define protocol https %define port 443 @@ -30,7 +30,7 @@ Requires: geoipupdate-cron Requires: GeoIP %description -A simple service for looking up your IP address. This is the code that powers https://echoip.daniel-steiner.org. +A simple service for looking up your IP address. This is the code that powers https://echoip.dsteiner.ch. %prep %setup -q -n %{name}-%{version}.%{gitv} diff --git a/fedora/SPECS/ffmpeg-nvidia.spec b/fedora/SPECS/ffmpeg-nvidia.spec new file mode 100644 index 0000000..a2c3082 --- /dev/null +++ b/fedora/SPECS/ffmpeg-nvidia.spec @@ -0,0 +1,231 @@ +Summary: Digital VCR and streaming server +Name: ffmpeg-nvidia +Version: 4.2.2 +Release: 3%{?dist} +License: GPLv2+ +URL: http://ffmpeg.org/ +Source0: http://ffmpeg.org/releases/ffmpeg-%{version}.tar.xz + +%define ffname ffmpeg +%define debug_package %{nil} +%define _with_libnpp 1 + + +%if 0%{?_with_libnpp} +BuildRequires: cuda +BuildRequires: cuda-devel +%endif + + +BuildRequires: fdk-aac-devel +BuildRequires: gsm-devel +BuildRequires: jack-audio-connection-kit-devel +BuildRequires: libaom-devel +BuildRequires: libdav1d-devel +BuildRequires: librsvg2-devel +BuildRequires: libtheora-devel +BuildRequires: libv4l-devel +BuildRequires: libvmaf-devel +BuildRequires: libvpx-devel +BuildRequires: ocl-icd-devel +BuildRequires: openal-soft-devel +BuildRequires: opencl-headers +BuildRequires: opencore-amr-devel +BuildRequires: opus-devel +BuildRequires: soxr-devel +BuildRequires: speex-devel +BuildRequires: vo-amrwbenc-devel +BuildRequires: zimg-devel +BuildRequires: zvbi-devel +BuildRequires: intel-mediasdk-devel +BuildRequires: alsa-lib-devel +BuildRequires: bzip2-devel +BuildRequires: fontconfig-devel +BuildRequires: freetype-devel +BuildRequires: fribidi-devel +BuildRequires: gnutls-devel +BuildRequires: gsm-devel +BuildRequires: lame-devel +BuildRequires: libavc1394-devel +BuildRequires: libdc1394-devel +BuildRequires: libiec61883-devel +BuildRequires: libdrm-devel +BuildRequires: libgcrypt-devel +BuildRequires: libGL-devel +BuildRequires: libmodplug-devel +BuildRequires: librsvg2-devel +BuildRequires: libssh-devel +BuildRequires: libtheora-devel +BuildRequires: libv4l-devel +BuildRequires: libvdpau-devel +BuildRequires: libvorbis-devel +BuildRequires: nasm +BuildRequires: libxcb-devel +BuildRequires: opencl-headers ocl-icd-devel +BuildRequires: openjpeg2-devel +BuildRequires: perl(Pod::Man) +BuildRequires: soxr-devel +BuildRequires: speex-devel +BuildRequires: texinfo +BuildRequires: zimg-devel >= 2.7.0 +BuildRequires: zlib-devel + +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Provides: %{ffname} + +%description +%{ffname} is a complete and free Internet live audio and video +broadcasting solution for Linux/Unix. It also includes a digital +VCR. It can encode in real time in many formats including MPEG1 audio +and video, MPEG4, h263, ac3, asf, avi, real, mjpeg, and flash. + +%package libs +Summary: Libraries for %{name} +Provides: %{ffname}-libs +Provides: %{ffname}-libs(%{arch}) = %{version}-%{release}%{?dist} + +%description libs +%{ffname} is a complete and free Internet live audio and video +broadcasting solution for Linux/Unix. It also includes a digital +VCR. It can encode in real time in many formats including MPEG1 audio +and video, MPEG4, h263, ac3, asf, avi, real, mjpeg, and flash. +This package contains the libraries for %{name} + +%package -n libavdevice +Summary: Special devices muxing/demuxing library +Requires: %{name}-libs%{_isa} = %{version}-%{release} + +%description -n libavdevice%{?flavor} +Libavdevice is a complementary library to libavf "libavformat". It provides +various "special" platform-specific muxers and demuxers, e.g. for grabbing +devices, audio capture and playback etc. + +%package devel +Summary: Development package for %{name} +Requires: %{name}-libs%{_isa} = %{version}-%{release} +Requires: libavdevice%{?flavor}%{_isa} = %{version}-%{release} +Requires: pkgconfig +Provides: %{ffname}-devel + +%description devel +%{ffname} is a complete and free Internet live audio and video +broadcasting solution for Linux/Unix. It also includes a digital +VCR. It can encode in real time in many formats including MPEG1 audio +and video, MPEG4, h263, ac3, asf, avi, real, mjpeg, and flash. +This package contains development files for %{ffname} + + + +%prep +%setup -q -n %{ffname}-%{version} + +%build +# Don't use the %%configure macro as this is not an autotool script +./configure \ + --prefix=%{_prefix} \ + --bindir=%{_bindir} \ + --datadir=%{_datadir}/%{ffname} \ + --docdir=%{_docdir}/%{ffname} \ + --incdir=%{_includedir}/%{ffname} \ + --libdir=%{_libdir} \ + --mandir=%{_mandir} \ + --arch=x86_64 \ + --enable-cuda \ + --enable-cuda-sdk \ + --enable-cuvid \ + --enable-nvenc \ + --enable-libx264 \ + --enable-libx265 \ + --enable-nonfree \ + --enable-gpl \ + --enable-libfdk_aac \ + --extra-cflags=-I/usr/local/cuda-%{cudav}/include \ + --extra-ldflags=-L/usr/local/cuda-%{cudav}/lib64 \ + --disable-manpages \ + --enable-libbluray \ + --enable-libdrm \ + --enable-libmp3lame \ + --enable-openal \ + --enable-opencl \ + --enable-opengl \ + --enable-libopenjpeg \ + --enable-libopus \ + --enable-libpulse \ + --enable-librsvg \ + --enable-libsoxr \ + --enable-libspeex \ + --enable-libssh \ + --enable-libtheora \ + --enable-libvorbis \ + --enable-libv4l2 \ + --enable-libvmaf \ + --enable-libvpx \ + --enable-libzimg \ + --enable-libzvbi \ + --enable-shared \ + --enable-postproc \ + --enable-libvo-amrwbenc \ + --enable-bzlib \ + --disable-crystalhd \ + --enable-fontconfig \ + --enable-gcrypt \ + --enable-gnutls \ + --enable-ladspa \ + --enable-libaom \ + --enable-libdav1d \ + --enable-libass \ + --enable-libfdk-aac \ + --enable-libjack \ + --enable-libfreetype \ + --enable-libfribidi \ + --enable-libgsm \ + %if 0%{?_with_libnpp} + --enable-libnpp \ + %endif + --enable-version3 + + +# interesting: +# https://patchwork.ffmpeg.org/project/ffmpeg/patch/0jvAo3VLhFQ4_4u5oIjRgKWsvUsMNzbFI7uRxyeg3q5DRtwQTeyeAKjnI6vW56j-ckb7etJOBCdiWpXRwMivvzlb9rvRTrZ9UY4ORW1vWww=@protonmail.com/#16559 + +%install +make install DESTDIR=%{?buildroot} +rm -f %{ffname}-%{version}/debugsourcefiles.list +rm -rf %{buildroot}/.build-id + +%clean +[ "%{buildroot}" != "/" ] && [ -d "%{buildroot}" ] && rm -rf %{buildroot} +[ "%{_builddir}" != "/" ] && [ -d "%{_builddir}" ] && rm -rf %{_builddir}/* + +%files +%{_bindir}/%{ffname} +%{_bindir}/ffplay +%{_bindir}/ffprobe +%{_datadir}/%{ffname} + +%files libs +%doc CREDITS README.md +%license COPYING.* +%{_libdir}/lib*.so.* +%exclude %{_libdir}/libavdevice.so.* + +%files -n libavdevice +%{_libdir}/libavdevice.so.* + +%files devel +%doc MAINTAINERS doc/APIchanges doc/*.txt +%doc %{_docdir}/%{ffname}/*.html +%{_includedir}/%{ffname} +%{_libdir}/pkgconfig/lib*.pc +%{_libdir}/lib*.so +%{_libdir}/lib*.a + + +%changelog +* Mon Mar 9 2020 Daniel Steiner +- More modules added. + +* Sun Mar 8 2020 Daniel Steiner +- Initial build. +- Build with Nvidia Cuda support. + diff --git a/fedora/SPECS/gdal3.spec b/fedora/SPECS/gdal3.spec new file mode 100644 index 0000000..cd2d1de --- /dev/null +++ b/fedora/SPECS/gdal3.spec @@ -0,0 +1,216 @@ +%define bashcompletiondir %{_sysconfdir}/bash_completion.d +%define realname gdal +%define sysprefix /usr +# Prefix is /usr/local! +%define _prefix /usr/local +%define _includedir %{_prefix}/include +%define _datadir %{_prefix}/share +%define _bindir %{_prefix}/bin +%define _libdir %{_prefix}/lib +%define _mandir %{_prefix}/man + +Name: gdal3 +Version: 3.0.2 +Release: 2%{?dist} +#define debug_package #{nil} +License: MIT +Group: Applications/System +Summary: GIS file format library +URL: http://www.gdal.org +Source0: %realname-%{version}.tar.gz + + +BuildRequires: freexl-devel +BuildRequires: bash-completion +BuildRequires: libzstd-devel +BuildRequires: libjpeg-devel +BuildRequires: libpng-devel +BuildRequires: libtiff-devel +BuildRequires: pcre-devel +BuildRequires: perl-devel +BuildRequires: perl-generators +BuildRequires: openjpeg2-devel +BuildRequires: openjpeg-devel +BuildRequires: perl(ExtUtils::MakeMaker) +BuildRequires: %{sysprefix}/bin/pkg-config +BuildRequires: libpq-devel +BuildRequires: proj6-devel >= 6.0.2 +%if %{with python2} +BuildRequires: python2-devel +BuildRequires: python2-numpy +%endif +%if %{with python3} +BuildRequires: python3-devel +BuildRequires: python3-numpy +%endif +BuildRequires: sqlite-devel +BuildRequires: swig +BuildRequires: /usr/bin/pathfix.py + +%global DONT_REMOVE_RPATH 1 +# don't check for rpath: +%global __arch_install_post /usr/lib/rpm/check-buildroot + +%description +Geospatial Data Abstraction Library (GDAL/OGR) is a cross platform +C++ translator library for raster and vector geospatial data formats. +As a library, it presents a single abstract data model to the calling +application for all supported formats. It also comes with a variety of +useful commandline utilities for data translation and processing. + +It provides the primary data access engine for many applications. +GDAL/OGR is the most widely used geospatial data access library. + + +%package devel +Summary: Development files for the GDAL file format library + +Requires: %{name}-libs = %{version}-%{release} + +%description devel +This package contains development files for GDAL. + + +%package libs +Summary: GDAL file format library + +%description libs +This package contains the GDAL file format library. + + +%package python-tools +Summary: GDAL python files + +%description python-tools +This package contains the GDAL python files + + +%prep +%setup -q -n %{realname}-%{version} + +%if 0%{?fedora} > 31 +pathfix.py -pni "%{__python3} %{py3_shbang_opts}" \ +%else +pathfix.py -pni "%{__python2} %{py2_shbang_opts}" \ +%endif + swig/python/scripts/epsg_tr.py \ + swig/python/scripts/gdal2tiles.py \ + swig/python/scripts/gdalchksum.py \ + swig/python/scripts/gdalident.py \ + swig/python/scripts/gdal_pansharpen.py \ + swig/python/scripts/gdal_sieve.py \ + swig/python/scripts/rgb2pct.py \ + swig/python/scripts/esri2wkt.py \ + swig/python/scripts/gdal2xyz.py \ + swig/python/scripts/gdalcompare.py \ + swig/python/scripts/gdalimport.py \ + swig/python/scripts/gdal_polygonize.py \ + swig/python/scripts/mkgraticule.py \ + swig/python/scripts/gcps2vec.py \ + swig/python/scripts/gdal_auth.py \ + swig/python/scripts/gdal_edit.py \ + swig/python/scripts/gdal_merge.py \ + swig/python/scripts/gdal_proximity.py \ + swig/python/scripts/ogrmerge.py \ + swig/python/scripts/gcps2wld.py \ + swig/python/scripts/gdal_calc.py \ + swig/python/scripts/gdal_fillnodata.py \ + swig/python/scripts/gdalmove.py \ + swig/python/scripts/gdal_retile.py \ + swig/python/scripts/pct2rgb.py + +%build +./configure --with-python +#./configure \ + #--datadir=%{_datadir}/%{realname} \ + #--includedir=%{_includedir}/%{realname} \ + #--prefix=%{_prefix} \ + #--libdir=%{_libdir} \ + #--sysconfdir=%{_sysconfdir} \ + #--localstatedir=%{_var} \ + #--with-curl \ + #--with-freexl \ + #--with-geos \ + #--with-png=%{sysprefix} \ + #--with-gif \ + #--with-gta \ + #--with-jpeg \ + #--without-jpeg12 \ + #--with-liblzma \ + #--with-libtiff=%{sysprefix} \ + #--with-libz \ + #--without-mdb \ + #--without-msg \ + #--with-proj=%{_prefix} \ + #--with-python \ + #--with-threads \ + #--enable-shared + +make + +%install +export DONT_REMOVE_RPATH=1 +make install DESTDIR=%{buildroot} +# move bashcompletion file to proper directory: +mv %{buildroot}%{_prefix}/etc %{buildroot}/ + +%clean +[ "%{buildroot}" != "/" ] && [ -d "%{buildroot}" ] && rm -rf %{buildroot} +[ "%{_builddir}" != "/" ] && [ -d "%{_builddir}" ] && rm -rf %{_builddir}/* + +%files +%defattr(-,root,root,-) +%doc MIGRATION_GUIDE.TXT PROVENANCE.TXT +%config %{bashcompletiondir}/* +%{_bindir}/gdallocationinfo +%{_bindir}/gdal_contour +%{_bindir}/gdal_rasterize +%{_bindir}/gdal_translate +%{_bindir}/gdaladdo +%{_bindir}/gdalinfo +%{_bindir}/gdaldem +%{_bindir}/gdalbuildvrt +%{_bindir}/gdaltindex +%{_bindir}/gdalwarp +%{_bindir}/gdal_grid +%{_bindir}/gdalenhance +%{_bindir}/gdalmanage +%{_bindir}/gdalserver +%{_bindir}/gdalsrsinfo +%{_bindir}/gdaltransform +%{_bindir}/nearblack +%{_bindir}/ogr* +%{_bindir}/testepsg +%{_bindir}/gnmanalyse +%{_bindir}/gnmmanage + +%files libs +%doc LICENSE.TXT NEWS PROVENANCE.TXT COMMITTERS +%{_libdir}/libgdal.so.26 +%{_libdir}/libgdal.so.26.* +%{_datadir}/%{realname}/* +#TODO: Possibly remove files like .dxf, .dgn, ... +%dir %{_libdir}/%{realname}plugins + +%files devel +%{_bindir}/%{realname}-config +%{_includedir}/*.h +%{_libdir}/*.a +%{_libdir}/*.la +%{_libdir}/*.so +%{_libdir}/pkgconfig/%{realname}.pc + +%files python-tools +%{_bindir}/*.py +%{_libdir}64/python*/site-packages/* + +%changelog +* Sat Jan 11 2020 Daniel Steiner +- Python scripts added + +* Wed Jan 8 2020 Daniel Steiner +- Library path fixed. + +* Mon Jan 6 2020 Daniel Steiner +- Initial build + diff --git a/fedora/SPECS/gitea.spec b/fedora/SPECS/gitea.spec index 2526ee6..4e0429e 100644 --- a/fedora/SPECS/gitea.spec +++ b/fedora/SPECS/gitea.spec @@ -1,5 +1,5 @@ Name: gitea -Version: 1.10.0 +Version: 1.12.6 Release: 1%{?dist} Summary: Gitea is a painless self-hosted Git service. %define MyVersion %version @@ -7,7 +7,6 @@ Summary: Gitea is a painless self-hosted Git service. License: MIT URL: https://gitea.io -#Source0: https://github.com/go-gitea/gitea/archive/%{version}.tar.gz Source0: %name-%MyVersion.tar.gz Source1: gitea.service @@ -17,6 +16,7 @@ BuildRequires: golang >= 1.8 BuildRequires: go-bindata %endif BuildRequires: make +BuildRequires: npm Requires: git @@ -43,12 +43,12 @@ done %endif %build -cd ../ -mkdir src/code.gitea.io -p -cp -av %name-%{MyVersion} src/code.gitea.io/gitea -export GOPATH=$(pwd) -cd src/code.gitea.io/gitea/ -TAGS="bindata sqlite" make generate build +#cd ../ +#mkdir src/code.gitea.io -p +#cp -av %name-%{MyVersion} src/code.gitea.io/gitea +#export GOPATH=$(pwd) +#cd src/code.gitea.io/gitea/ +TAGS="bindata" make build %install rm -rf $RPM_BUILD_ROOT @@ -56,7 +56,7 @@ mkdir -p $RPM_BUILD_ROOT/%{_sharedstatedir}/gitea mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/gitea mkdir -p $RPM_BUILD_ROOT/%{_unitdir} install custom/conf/app.ini.sample $RPM_BUILD_ROOT/%{_sysconfdir}/gitea/gitea.ini -install -m 755 ../src/code.gitea.io/gitea/gitea $RPM_BUILD_ROOT/%{_sharedstatedir}/gitea/gitea +install -m 755 gitea $RPM_BUILD_ROOT/%{_sharedstatedir}/gitea/gitea install -m 644 %{SOURCE1} $RPM_BUILD_ROOT/%{_unitdir}/gitea.service %files @@ -82,57 +82,28 @@ getent passwd gitea > /dev/null || \ %changelog -* Fri Nov 22 2019 Daniel Steiner -- Update to version 1.10.0. +* Sun Nov 29 2020 Daniel Steiner +- Update to version 1.12.6. -* Fri Oct 18 2019 Daniel Steiner -- Update to version 1.9.4. +* Sat Oct 31 2020 Daniel Steiner +- First build for Fedora 33. -* Sat Sep 21 2019 Daniel Steiner -- Update to version 1.9.3. +* Thu Oct 22 2020 Daniel Steiner +- Update to version 1.12.5. -* Fri Aug 16 2019 Daniel Steiner -- Update to version 1.9.1. +* Sat Sep 19 2020 Daniel Steiner +- Update to version 1.12.4. -* Fri Aug 2 2019 Daniel Steiner -- Update to version 1.9.0. +* Fri Aug 14 2020 Daniel Steiner +- Update to version 1.12.3. -* Mon Jun 3 2019 Daniel Steiner -- Update to version 1.8.2. +* Fri Jul 17 2020 Daniel Steiner +- Update to version 1.12.2. -* Sat May 11 2019 Daniel Steiner -- Update to version 1.8.1. +* Fri Jul 3 2020 Daniel Steiner +- Update to version 1.12.1. -* Sun Apr 28 2019 Daniel Steiner -- Update to version 1.8.0. - -* Sun Apr 7 2019 Daniel Steiner -- Update to version 1.7.5. - -* Fri Mar 15 2019 Daniel Steiner -- Update to version 1.7.4. - -* Wed Feb 27 2019 Daniel Steiner -- Update to version 1.7.3. - -* Sat Feb 16 2019 Daniel Steiner -- Update to version 1.7.2. - -* Wed Jan 30 2019 Daniel Steiner -- Update to version 1.7.0. - -* Fri Jan 18 2019 Daniel Steiner -- Update to version 1.6.4. - -* Mon Dec 10 2018 Daniel Steiner -- Update to version 1.6.1. - -* Mon Dec 3 2018 Daniel Steiner -- Update to version 1.6.0. - -* Tue Nov 13 2018 Daniel Steiner -- Update to RC1. - -* Sun Oct 28 2018 Daniel Steiner -- initial setup for CentOS 7. +* Sun Jun 14 2020 Daniel Steiner +- Update to version 1.11.6. +- Fix for frontend JS location. diff --git a/fedora/SPECS/goaccess.spec b/fedora/SPECS/goaccess.spec index 0559388..130cf2f 100644 --- a/fedora/SPECS/goaccess.spec +++ b/fedora/SPECS/goaccess.spec @@ -1,14 +1,10 @@ Name: goaccess -Version: 1.2 -Release: 3%{?dist} +Version: 1.4.1 +Release: 2%{?dist} Summary: Real-time web log analyzer and interactive viewer License: GPLv2+ URL: https://goaccess.io/ Source0: http://tar.goaccess.io/%{name}-%{version}.tar.gz -Source1: %{name}.service -Source2: %{name}-get-logs.pl -Source3: %{name}-sysconfig -Source4: %{name}-systemd.conf BuildRequires: autoconf BuildRequires: automake BuildRequires: gcc @@ -17,11 +13,10 @@ BuildRequires: ncurses-devel BuildRequires: tokyocabinet-devel BuildRequires: zlib-devel BuildRequires: bzip2-devel - -%if 0%{?using_systemd} -Requires(post): systemd-units -Requires(preun): systemd-units -Requires(postun): systemd-units +BuildRequires: gettext-devel +BuildRequires: libmaxminddb-devel +%if %{with openssl} +BuildRequires: openssl-devel %endif %description @@ -72,59 +67,28 @@ sed -i '/-pthread/d' configure.ac %build autoreconf -fiv %configure \ - --enable-debug \ - --enable-geoip=legacy \ - --enable-utf8 \ - --enable-tcb=btree \ - --with-getline \ - --with-openssl=%{_prefix} \ - --enable-bzip \ - --enable-zlib - + --enable-debug \ + --enable-geoip=legacy \ + --enable-geoip=mmdb \ + --enable-utf8 \ + --with-getline \ + --with-openssl %make_build %install %make_install -# install additional systemd service -install -D %{S:2} %{buildroot}%{_libexecdir}/%{name}-get-logs.pl -install -D %{S:1} %{buildroot}%{_unitdir}/%{name}.service -install -D %{S:3} %{buildroot}%{_sysconfdir}/sysconfig/%{name} -install -D %{S:4} %{buildroot}%{_sysconfdir}/%{name}-systemd.conf -install -d %{buildroot}%{_var}/www/html/%{name} +%find_lang %{name} -%post -%if 0%{?using_systemd} -%if 0%{?systemd_macro_scriptlet} -%systemd_post %{name}.service -%endif -%endif - -%postun -%if 0%{?using_systemd} -%if 0%{?systemd_macro_scriptlet} -%systemd_preun %{name}.service -%endif -%endif - -%files +%files -f %{name}.lang %license COPYING -%config(noreplace) %{_sysconfdir}/%{name}.conf +%config(noreplace) %{_sysconfdir}/%{name}/%{name}.conf +%config(noreplace) %{_sysconfdir}/%{name}/browsers.list +%config(noreplace) %{_sysconfdir}/%{name}/podcast.list %{_bindir}/%{name} %{_mandir}/man1/%{name}.1* -%{_pkgdocdir} -%{_unitdir}/%{name}.service -%dir %{_var}/www/html/%{name} -%attr(755,-,-) %{_libexecdir}/%{name}-get-logs.pl -%config() %{_sysconfdir}/sysconfig/%{name} -%config(noreplace) %{_sysconfdir}/%{name}-systemd.conf %changelog -* Sun Jul 16 2017 Daniel Steiner - 1.2-3 -- Live status enable with systemd - -* Sun Jul 16 2017 Daniel Steiner - 1.2-2 -- Legacy GeoIP enabled. - -* Sun Jul 16 2017 Daniel Steiner - 1.2-1 -- Initial release for Fedora 25. +* Fri Aug 28 2020 Daniel Steiner +- mmdb enabled for new GeoLite2 dBs. +- First, initial version for Fedora 32 (1.4.1) diff --git a/fedora/SPECS/icinga2.spec b/fedora/SPECS/icinga2.spec new file mode 100644 index 0000000..f0a34a3 --- /dev/null +++ b/fedora/SPECS/icinga2.spec @@ -0,0 +1,918 @@ +# Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ + +%define revision 1 + +# make sure that _rundir is working on older systems +%if ! %{defined _rundir} +%define _rundir %{_localstatedir}/run +%endif +%if ! %{defined _fillupdir} + %define _fillupdir %{_localstatedir}/adm/fillup-templates +%endif + +%define _libexecdir %{_prefix}/lib/ +%define plugindir %{_libdir}/nagios/plugins + +%if "%{_vendor}" == "redhat" +%define apachename httpd +%define apacheconfdir %{_sysconfdir}/httpd/conf.d +%define apacheuser apache +%define apachegroup apache + +%if 0%{?el6}%{?amzn} +%define use_systemd 0 +%define use_selinux 0 +%if %(uname -m) != "x86_64" +%define march_flag -march=i686 +%endif +%else +# fedora and el>=7 +%define use_systemd 1 +%define use_selinux 1 +%if 0%{?fedora} >= 24 +# for installing limits.conf on systemd >= 228 +%define configure_systemd_limits 1 +%else +%define configure_systemd_limits 0 +%endif +%endif +%endif + +%if "%{_vendor}" == "suse" +%define plugindir %{_libexecdir}/nagios/plugins +%define apachename apache2 +%define apacheconfdir %{_sysconfdir}/apache2/conf.d +%define apacheuser wwwrun +%define apachegroup www +%if 0%{?suse_version} >= 1310 +%define use_systemd 1 +%if 0%{?sle_version} >= 120200 || 0%{?suse_version} > 1320 +# for installing limits.conf on systemd >= 228 +%define configure_systemd_limits 1 +%else +%define configure_systemd_limits 0 +%endif +%else +%define use_systemd 0 +%endif +%endif + +%define icinga_user icinga +%define icinga_group icinga +%define icingacmd_group icingacmd + +# enable unity builds by default for all architectures except arm32 +%ifarch %{arm} +%bcond_with unity_build +%else +%bcond_without unity_build +%endif + +# Disable lto_build for older SUSE versions +# see https://github.com/Icinga/icinga2/issues/7149 +%if "%{_vendor}" == "suse" && 0%{?suse_version} <= 1315 +%bcond_with lto_build +%else # suse_version 1315 +%bcond_without lto_build +%endif # suse_version 1315 + +%bcond_with systemd_and_init +%bcond_without compat +%bcond_without livestatus +%bcond_without notification +%bcond_without perfdata +%bcond_without tests +%bcond_without mysql +%bcond_without pgsql + +%define logmsg logger -t %{name}/rpm + +%define boost_min_version 1.66 + +Summary: Network monitoring application +%if "%{_vendor}" == "suse" +License: GPL-2.0-or-later +%else +License: GPLv2+ +%endif # suse +Group: System/Monitoring +Name: icinga2 +Version: 2.12.1 +Release: %{revision}%{?dist} +Url: https://www.icinga.com/ +Source: https://github.com/Icinga/%{name}/archive/v%{version}%{?src_version_suffix}.tar.gz + +BuildRoot: %{_tmppath}/%{name}-%{version}-build +Requires: %{name}-bin = %{version}-%{release} +Requires: %{name}-common = %{version}-%{release} + +Conflicts: %{name}-common < %{version}-%{release} + +%description +Meta package for Icinga 2 Core, DB IDO and Web. + +%package bin +Summary: Icinga 2 binaries and libraries +Group: System/Monitoring + +Requires: %{name}-bin = %{version}-%{release} + +%if "%{_vendor}" == "suse" +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: libopenssl1-devel +BuildRequires: libstdc++48-devel +%else +%if "%{_vendor}" == "redhat" && (0%{?el6} || 0%{?rhel} == 6 || "%{?dist}" == ".el6") +# Requires devtoolset-7 scl +%define scl_name devtoolset-7 +%define scl_enable scl enable %{scl_name} -- +BuildRequires: %{scl_name}-binutils +BuildRequires: %{scl_name}-gcc-c++ +BuildRequires: %{scl_name}-libstdc++-devel +%else +BuildRequires: gcc-c++ +BuildRequires: libstdc++-devel +%endif +BuildRequires: openssl-devel +%endif +BuildRequires: bison +BuildRequires: cmake +BuildRequires: flex >= 2.5.35 +BuildRequires: make + +%if "%{_vendor}" == "suse" + %if 0%{?suse_version} >= 1315 + # SLES 12 and OpenSUSE 42 or later + %define boost_devel_pkg %nil + %if 0%{?suse_version} < 1320 + # before SLES 15 and OpenSUSE 15 + # Provided by packages.icinga.com + %define boost_library icinga-boost + %define boost_version 1.69 + %define boost_rpath %{_libdir}/%{boost_library} + # Note: the -impl suffix comes from current packages on OBS + %define boost_devel_suffix -impl + %endif # suse_version < 1320 +BuildRequires: libboost_context-devel%{?boost_devel_suffix} >= %{boost_min_version} +BuildRequires: libboost_coroutine-devel%{?boost_devel_suffix} >= %{boost_min_version} +BuildRequires: libboost_filesystem-devel%{?boost_devel_suffix} >= %{boost_min_version} +BuildRequires: libboost_program_options-devel%{?boost_devel_suffix} >= %{boost_min_version} +BuildRequires: libboost_regex-devel%{?boost_devel_suffix} >= %{boost_min_version} +BuildRequires: libboost_system-devel%{?boost_devel_suffix} >= %{boost_min_version} +BuildRequires: libboost_thread-devel%{?boost_devel_suffix} >= %{boost_min_version} +BuildRequires: libboost_test-devel%{?boost_devel_suffix} >= %{boost_min_version} + %else # suse_version >= 1315 + # old boost devel name + %define boost_devel_pkg boost-devel + %endif # suse_version >= 1315 +%else # vendor == suse - assuming redhat or compatible + # default boost devel package + %define boost_devel_pkg boost-devel + + %if (0%{?el6} || 0%{?rhel} == 6) + # Provided by packages.icinga.com + %define boost_library icinga-boost169 + %define boost_version 1.69 + %define boost_devel_pkg icinga-boost169-devel + %define boost_rpath %{_libdir}/%{boost_library} + %endif # el6 + %if (0%{?el7} || 0%{?rhel} == 7) + # Provided by EPEL + %define boost_library boost169 + %define boost_version 1.69 + %define boost_devel_pkg boost169-devel + %endif # el7 +%endif # vendor == suse + +%if "%{?boost_devel_pkg}" != "" +BuildRequires: %{boost_devel_pkg} >= %{boost_min_version} +%endif # boost_devel_pkg + +%if 0%{?use_systemd} +BuildRequires: systemd-devel +Requires: systemd +%endif + +Obsoletes: %{name}-libs <= 2.10.0 +Conflicts: %{name}-libs <= 2.10.0 + +%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 +%if (0%{?amzn} || 0%{?fedora} || 0%{?rhel}) +Requires(pre): shadow-utils +Requires(post): shadow-utils +%endif +BuildRequires: logrotate +%if "%{_vendor}" == "suse" +PreReq: permissions +Provides: group(%{icinga_group}) +Provides: group(%{icingacmd_group}) +Provides: user(%{icinga_user}) +Requires(pre): shadow +Requires(post): shadow +# Coreutils is added because of autoyast problems reported +Requires(pre): coreutils +Requires(post): coreutils +%if 0%{?suse_version} >= 1200 +BuildRequires: monitoring-plugins-common +Requires: monitoring-plugins-common +%else +Recommends: monitoring-plugins-common +%endif +Recommends: logrotate +%endif + +%description common +This subpackage provides common directories, and the UID and GUID definitions +among Icinga 2 related packages. + + +%package doc +Summary: Documentation for Icinga 2 +Group: Documentation/Other + +%description doc +This subpackage provides documentation for Icinga 2. + + +%if %{with mysql} +%package ido-mysql +Summary: IDO MySQL database backend for Icinga 2 +Group: System/Monitoring +%if "%{_vendor}" == "suse" +BuildRequires: libmysqlclient-devel +%if 0%{?suse_version} >= 1310 +BuildRequires: mysql-devel +%endif + +%else +BuildRequires: mysql-devel +%endif #suse + +Requires: %{name}-bin = %{version}-%{release} + +%description ido-mysql +Icinga 2 IDO mysql database backend. Compatible with Icinga 1.x +IDOUtils schema >= 1.12 +%endif + + +%if %{with pgsql} +%package ido-pgsql +Summary: IDO PostgreSQL database backend for Icinga 2 +Group: System/Monitoring +%if "%{_vendor}" == "suse" && 0%{?suse_version} < 1210 +BuildRequires: postgresql-devel >= 8.4 +%else +BuildRequires: postgresql-devel +%endif +Requires: %{name}-bin = %{version}-%{release} + +%description ido-pgsql +Icinga 2 IDO PostgreSQL database backend. Compatible with Icinga 1.x +IDOUtils schema >= 1.12 +%endif + +%if 0%{?use_selinux} +%global selinux_variants mls targeted +%global selinux_modulename %{name} + +%package selinux +Summary: SELinux policy module supporting icinga2 +Group: System/Base +BuildRequires: checkpolicy +BuildRequires: hardlink +BuildRequires: selinux-policy-devel +Requires: %{name}-bin = %{version}-%{release} +%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 +Requires(post): policycoreutils-python-utils +Requires(postun): policycoreutils-python-utils +%else +Requires(post): policycoreutils-python +Requires(postun): policycoreutils-python +%endif + + +%description selinux +SELinux policy module supporting icinga2. +%endif + +%package -n vim-icinga2 +Summary: Vim syntax highlighting for icinga2 +Group: Productivity/Text/Editors +%if "%{_vendor}" == "suse" +BuildRequires: vim +Requires: vim +%else +Requires: vim-filesystem +%endif + +%description -n vim-icinga2 +Provides Vim syntax highlighting for icinga2. + + +%package -n nano-icinga2 +Summary: Nano syntax highlighting for icinga2 +Group: Productivity/Text/Editors +Requires: nano + +%description -n nano-icinga2 +Provides Nano syntax highlighting for icinga2. + +%prep +%setup -q -n %{name}-%{version}%{?src_version_suffix} +# 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 + +# quick & dirty hack for SLES11 & Kernel < 2.9 w/o SO_REUSEPORT +%if "%{_vendor}" == "suse" && 0%{?suse_version} < 1210 +find . -type f -name tcpsocket.cpp -exec sed -i -e 's|.*SO_REUSEPORT.*||g' {} \; +%endif + +%build +# set basedir to allow cache to hit between different builds +# this will make all paths below BUILD/icinga2-x.x.x relative for cache +export CCACHE_BASEDIR="${CCACHE_BASEDIR:-$(pwd)}" + +CMAKE_OPTS="-DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_SYSCONFDIR=/etc \ + -DCMAKE_INSTALL_LOCALSTATEDIR=/var \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DCMAKE_VERBOSE_MAKEFILE=ON \ + -DBoost_NO_BOOST_CMAKE=ON \ + -DICINGA2_PLUGINDIR=%{plugindir} \ + -DICINGA2_RUNDIR=%{_rundir} \ + -DICINGA2_SYSCONFIGFILE=/etc/sysconfig/icinga2 \ + -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 %{with unity_build} +CMAKE_OPTS="$CMAKE_OPTS -DICINGA2_UNITY_BUILD=ON" +%else +CMAKE_OPTS="$CMAKE_OPTS -DICINGA2_UNITY_BUILD=OFF" +%endif +%if %{with lto_build} +CMAKE_OPTS="$CMAKE_OPTS -DICINGA2_LTO_BUILD=ON" +%else +CMAKE_OPTS="$CMAKE_OPTS -DICINGA2_LTO_BUILD=OFF" +%endif +%if %{with systemd_and_init} +CMAKE_OPTS="$CMAKE_OPTS -DINSTALL_SYSTEMD_SERVICE_AND_INITSCRIPT=ON" +%else +CMAKE_OPTS="$CMAKE_OPTS -DINSTALL_SYSTEMD_SERVICE_AND_INITSCRIPT=OFF" +%endif +%if %{with compat} +CMAKE_OPTS="$CMAKE_OPTS -DICINGA2_WITH_COMPAT=ON" +%else +CMAKE_OPTS="$CMAKE_OPTS -DICINGA2_WITH_COMPAT=OFF" +%endif +%if %{with livestatus} +CMAKE_OPTS="$CMAKE_OPTS -DICINGA2_WITH_LIVESTATUS=ON" +%else +CMAKE_OPTS="$CMAKE_OPTS -DICINGA2_WITH_LIVESTATUS=OFF" +%endif +%if %{with notification} +CMAKE_OPTS="$CMAKE_OPTS -DICINGA2_WITH_NOTIFICATION=ON" +%else +CMAKE_OPTS="$CMAKE_OPTS -DICINGA2_WITH_NOTIFICATION=OFF" +%endif +%if %{with perfdata} +CMAKE_OPTS="$CMAKE_OPTS -DICINGA2_WITH_PERFDATA=ON" +%else +CMAKE_OPTS="$CMAKE_OPTS -DICINGA2_WITH_PERFDATA=OFF" +%endif +%if %{with tests} +CMAKE_OPTS="$CMAKE_OPTS -DICINGA2_WITH_TESTS=ON" +%else +CMAKE_OPTS="$CMAKE_OPTS -DICINGA2_WITH_TESTS=OFF" +%endif +%if %{with mysql} +CMAKE_OPTS="$CMAKE_OPTS -DICINGA2_WITH_MYSQL=ON" +%else +CMAKE_OPTS="$CMAKE_OPTS -DICINGA2_WITH_MYSQL=OFF" +%endif +%if %{with pgsql} +CMAKE_OPTS="$CMAKE_OPTS -DICINGA2_WITH_PGSQL=ON" +%else +CMAKE_OPTS="$CMAKE_OPTS -DICINGA2_WITH_PGSQL=OFF" +%endif + +%if (0%{?el6} || 0%{?rhel} == 6) +# Explicitly link against rt, because ld doesn't detect it automatically +CMAKE_OPTS="$CMAKE_OPTS -DCMAKE_EXE_LINKER_FLAGS=-lrt" +%endif # el6 + +%if "%{?boost_rpath}" != "" +CMAKE_OPTS="$CMAKE_OPTS -DCMAKE_INSTALL_RPATH=%{boost_rpath}" +%endif # boost_rpath + +%if "%{?boost_library}" != "" +# Boost_NO_BOOST_CMAKE=ON - disable search for cmake +# Boost_NO_SYSTEM_PATHS=ON - only search in specified locations +CMAKE_OPTS="$CMAKE_OPTS + -DBoost_NO_BOOST_CMAKE=TRUE \ + -DBoost_NO_SYSTEM_PATHS=TRUE \ + -DBOOST_LIBRARYDIR=%{_libdir}/%{boost_library} \ + -DBOOST_INCLUDEDIR=/usr/include/%{boost_library} \ + -DBoost_ADDITIONAL_VERSIONS='%{boost_version};%{boost_version}.0'" +%endif # boost_library + +%if 0%{?use_systemd} +CMAKE_OPTS="$CMAKE_OPTS -DUSE_SYSTEMD=ON" +%endif + +%if "%{_vendor}" == "suse" && 0%{?suse_version} < 1210 +# from package gcc48-c++ +export CC=gcc-4.8 +export CXX=g++-4.8 +%endif + +%if "%{?_buildhost}" != "" +CMAKE_OPTS="$CMAKE_OPTS -DICINGA2_BUILD_HOST_NAME:STRING=%_buildhost" +%endif + +%{?scl_enable} cmake $CMAKE_OPTS -DCMAKE_C_FLAGS:STRING="%{optflags} %{?march_flag}" -DCMAKE_CXX_FLAGS:STRING="%{optflags} %{?march_flag}" . + +%{?scl_enable} make %{?_smp_mflags} + +%if 0%{?use_selinux} +cd tools/selinux +for selinuxvariant in %{selinux_variants} +do + make NAME=${selinuxvariant} -f /usr/share/selinux/devel/Makefile + mv %{selinux_modulename}.pp %{selinux_modulename}.pp.${selinuxvariant} + make NAME=${selinuxvariant} -f /usr/share/selinux/devel/Makefile clean +done +cd - +%endif + +%install +%{?scl_enable} make install \ + DESTDIR="%{buildroot}" + +# install custom limits.conf for systemd +%if 0%{?configure_systemd_limits} +# for > 2.8 or > 2.7.2 +install -D -m 0644 etc/initsystem/icinga2.service.limits.conf %{buildroot}/etc/systemd/system/%{name}.service.d/limits.conf +%endif + +# 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}%{_fillupdir}/" +mv "%{buildroot}%{_sysconfdir}/sysconfig/%{name}" "%{buildroot}%{_fillupdir}/sysconfig.%{name}" +%endif + +%if 0%{?use_selinux} +cd tools/selinux +for selinuxvariant in %{selinux_variants} +do + install -d %{buildroot}%{_datadir}/selinux/${selinuxvariant} + install -p -m 644 %{selinux_modulename}.pp.${selinuxvariant} \ + %{buildroot}%{_datadir}/selinux/${selinuxvariant}/%{selinux_modulename}.pp +done +cd - + +# TODO: Fix build problems on Icinga, see https://github.com/Icinga/puppet-icinga_build/issues/11 +#/usr/sbin/hardlink -cv %%{buildroot}%%{_datadir}/selinux +%endif + +%if "%{_vendor}" == "suse" +install -D -m 0644 tools/syntax/vim/syntax/%{name}.vim %{buildroot}%{_datadir}/vim/site/syntax/%{name}.vim +install -D -m 0644 tools/syntax/vim/ftdetect/%{name}.vim %{buildroot}%{_datadir}/vim/site/ftdetect/%{name}.vim +%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 + +%check +export CTEST_OUTPUT_ON_FAILURE=1 +make test + +%pre +%if "%{_vendor}" == "suse" +%if 0%{?use_systemd} + %service_add_pre %{name}.service +%endif + +%verifyscript +%verify_permissions -e %{_rundir}/%{name}/cmd +%endif + +%post +# suse +%if "%{_vendor}" == "suse" +%if 0%{?suse_version} >= 1310 +%set_permissions %{_rundir}/%{name}/cmd +%endif + +%if 0%{?use_systemd} +%fillup_only %{name} +%service_add_post %{name}.service +%else +%fillup_and_insserv %{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 + +%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 + +%preun +# 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 + +%postun +# suse +%if "%{_vendor}" == "suse" +%if 0%{?use_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 + +%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" +%verifyscript common +%verify_permissions -e %{_rundir}/%{name}/cmd +%endif + +%post common +%if "%{_vendor}" == "suse" +%if 0%{?suse_version} >= 1310 +%set_permissions %{_rundir}/%{name}/cmd +%endif +%endif + +%post ido-mysql +if [ ${1:-0} -eq 1 ] && [ -e %{_sysconfdir}/%{name}/features-enabled/ido-mysql.conf ] +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 ] && [ -e %{_sysconfdir}/%{name}/features-enabled/ido-pgsql.conf ] +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 + +%if 0%{?use_selinux} +%post selinux +for selinuxvariant in %{selinux_variants} +do + /usr/sbin/semodule -s ${selinuxvariant} -i \ + %{_datadir}/selinux/${selinuxvariant}/%{selinux_modulename}.pp &> /dev/null || : +done +/sbin/fixfiles -R icinga2 restore &> /dev/null || : +/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 %{selinux_modulename} &> /dev/null || : + done + /sbin/fixfiles -R icinga2 restore &> /dev/null || : + /sbin/fixfiles -R icinga2-bin restore &> /dev/null || : + /sbin/fixfiles -R icinga2-common restore &> /dev/null || : +fi +%endif + + +%files +%defattr(-,root,root,-) +%doc COPYING + +%config(noreplace) %{_sysconfdir}/logrotate.d/%{name} + +%if 0%{?use_systemd} +%attr(644,root,root) %{_unitdir}/%{name}.service +%if 0%{?configure_systemd_limits} +%dir /etc/systemd/system/%{name}.service.d +%attr(644,root,root) %config(noreplace) /etc/systemd/system/%{name}.service.d/limits.conf +%endif +%else +%attr(755,root,root) %config(noreplace) %{_sysconfdir}/init.d/%{name} +%endif +%if "%{_vendor}" == "suse" +%{_sbindir}/rc%{name} +%{_fillupdir}/sysconfig.%{name} +%else +%config(noreplace) %{_sysconfdir}/sysconfig/%{name} +%endif + +%{_sbindir}/%{name} + +%dir %{_libexecdir}/%{name} +%{_libexecdir}/%{name}/prepare-dirs +%{_libexecdir}/%{name}/safe-reload + +%attr(0750,%{icinga_user},%{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}/scripts +%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,%{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}/zones.d/* +%config(noreplace) %{_sysconfdir}/%{name}/scripts/* + +%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 %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 + +%files bin +%defattr(-,root,root,-) +%doc COPYING README.md NEWS AUTHORS CHANGELOG.md +%dir %{_libdir}/%{name} +%dir %{_libdir}/%{name}/sbin +%{_libdir}/%{name}/sbin/%{name} +%{plugindir}/check_nscp_api +%{_datadir}/%{name} +%exclude %{_datadir}/%{name}/include +%{_mandir}/man8/%{name}.8.gz + +%files common +%defattr(-,root,root,-) +%doc COPYING README.md NEWS AUTHORS CHANGELOG.md tools/syntax +%{_sysconfdir}/bash_completion.d/%{name} +%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} + +%if %{with mysql} +%files ido-mysql +%defattr(-,root,root,-) +%doc COPYING README.md NEWS AUTHORS CHANGELOG.md +%config(noreplace) %attr(0640,%{icinga_user},%{icinga_group}) %{_sysconfdir}/%{name}/features-available/ido-mysql.conf +%{_libdir}/%{name}/libmysql_shim* +%{_datadir}/icinga2-ido-mysql +%endif + +%if %{with pgsql} +%files ido-pgsql +%defattr(-,root,root,-) +%doc COPYING README.md NEWS AUTHORS CHANGELOG.md +%config(noreplace) %attr(0640,%{icinga_user},%{icinga_group}) %{_sysconfdir}/%{name}/features-available/ido-pgsql.conf +%{_libdir}/%{name}/libpgsql_shim* +%{_datadir}/icinga2-ido-pgsql +%endif + +%if 0%{?use_selinux} +%files selinux +%defattr(-,root,root,0755) +%doc tools/selinux/* +%{_datadir}/selinux/*/%{selinux_modulename}.pp +%endif + +%files -n vim-icinga2 +%defattr(-,root,root,-) +%if "%{_vendor}" == "suse" +%{_datadir}/vim/site/syntax/%{name}.vim +%{_datadir}/vim/site/ftdetect/%{name}.vim +%else +%{_datadir}/vim/vimfiles/syntax/%{name}.vim +%{_datadir}/vim/vimfiles/ftdetect/%{name}.vim +%endif + +%files -n nano-icinga2 +%defattr(-,root,root,-) +%if "%{_vendor}" == "suse" +%dir %{_datadir}/nano +%endif +%{_datadir}/nano/%{name}.nanorc + +%changelog +* Tue Oct 13 2020 Alexander A. Klimov 2.12.1-1 +- Update to 2.12.1 + +* Wed Aug 05 2020 Henrik Triem 2.12.0-1 +- Update to 2.12.0 + +* Fri Mar 13 2020 Noah Hilverling 2.12.0-0.rc1.1 +- Update to 2.12.0-rc1 + +* Thu Oct 24 2019 Michael Friedrich 2.11.2-1 +- Update to 2.11.2 + +* Thu Oct 17 2019 Michael Friedrich 2.11.1-1 +- Update to 2.11.1 + +* Thu Sep 19 2019 Michael Friedrich 2.11.0-1 +- Update to 2.11.0 + +* Thu Jul 25 2019 Markus Frosch 2.11.0-0.rc1.1 +- Prepare pre-release 2.11.0-rc1 + +* Tue Mar 19 2019 Michael Friedrich 2.10.4-1 +- Update to 2.10.4 + +* Tue Feb 26 2019 Michael Friedrich 2.10.3-2 +- Apply quickfix for SLES11 + +* Tue Feb 26 2019 Michael Friedrich 2.10.3-1 +- Update to 2.10.3 + +* Wed Nov 14 2018 Michael Friedrich 2.10.2-1 +- Update to 2.10.2 + +* Thu Oct 18 2018 Michael Friedrich 2.10.1-1 +- Update to 2.10.1 + +* Thu Oct 11 2018 Michael Friedrich 2.10.0-1 +- Update to 2.10.0 + +* Wed Sep 26 2018 Michael Friedrich 2.9.2-1 +- Update to 2.9.2 + +* Wed Jul 25 2018 Markus Frosch 2.10.0-0 +- Remove obsoleted icinga2-libs package + +* Tue Jul 24 2018 Michael Friedrich 2.9.1-1 +- Update to 2.9.1 + +* Tue Jul 17 2018 Michael Friedrich 2.9.0-1 +- Update to 2.9.0 + +* Wed Apr 25 2018 Jean Flach 2.8.4-1 +- Update to 2.8.4 + +* Tue Apr 24 2018 Jean Flach 2.8.3-1 +- Update to 2.8.3 + +* Thu Mar 22 2018 Jean Flach 2.8.2-1 +- Update to 2.8.2 + +* Wed Jan 17 2018 Gunnar Beutner 2.8.1-1 +- Update to 2.8.1 + +* Fri Nov 24 2017 Markus Frosch 2.8.0-2 +- [SLES] Add systemd limits file +- Add config(noreplace) for the systemd limits file + (no need to release every OS immediately) +- Update SELinux handling to be compatible to Fedora 27 + (only affecting f27 builds) + +* Thu Nov 16 2017 Jean Flach 2.8.0-1 +- Update to 2.8.0 + +* Thu Nov 09 2017 Gunnar Beutner 2.7.2-1 +- Update to 2.7.2 + +* Mon Oct 02 2017 Markus Frosch 2.7.1-2 +- Fixing systemd limit issues on openSUSE > 42.1 + +* Thu Sep 21 2017 Michael Friedrich 2.7.1-1 +- Update to 2.7.1 + +* Tue Jun 20 2017 Markus Frosch 2.7.0-1 +- Update to 2.7.0 diff --git a/fedora/SPECS/icingaweb2.spec b/fedora/SPECS/icingaweb2.spec new file mode 100644 index 0000000..35e7fb7 --- /dev/null +++ b/fedora/SPECS/icingaweb2.spec @@ -0,0 +1,481 @@ +# Icinga Web 2 | (c) 2013-2017 Icinga Development Team | GPLv2+ + +%define revision 1 + +Name: icingaweb2 +Version: 2.8.2 +Release: %{revision}%{?dist} +Summary: Icinga Web 2 +Group: Applications/System +License: GPLv2+ and MIT and BSD +URL: https://icinga.com +Source0: icingaweb2-2.8.2.orig.tar.gz +BuildArch: noarch +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release} +Packager: Icinga Team + +%if 0%{?fedora} || 0%{?rhel} || 0%{?amzn} +%if 0%{?rhel} == 7 +%define php_scl rh-php73 +%endif +%if 0%{?rhel} == 6 +%define php_scl rh-php70 +%endif + +%if 0%{?el5}%{?el6}%{?amzn} +%define use_selinux 0 +%else +%define use_selinux 1 +%endif + +%if 0%{?php_scl:1} +%define php_scl_prefix %{php_scl}- +%define php_runtime %{php_scl_prefix}php-fpm +%define php_bin /opt/rh/%{php_scl}/root/usr/bin/php +%define php_fpm 1 +%else +%define php_runtime %{php} +%endif + +%define php %{?php_scl_prefix}php +%define php_cli %{php}-cli +%define php_common %{php}-common +%define wwwconfigdir %{_sysconfdir}/httpd/conf.d +%define wwwuser apache + +# extra requirements on RHEL +Requires: %{php}-mysqlnd +Requires: %{php}-pgsql +Requires: %{php}-ldap +%endif + +# minimum required PHP version +%define php_version 5.6.0 + +%if 0%{?suse_version} +%define wwwconfigdir %{_sysconfdir}/apache2/conf.d +%define wwwuser wwwrun +%define php php +%define php_runtime mod_php_any +%define php_common %{php} +%define php_cli %{php} +# conflict with older PHP on SLES and openSUSE +Conflicts: php < %{php_version} +Conflicts: php5 < %{php_version} +Conflicts: php53 +%endif + +%{?amzn:Requires(pre): shadow-utils} +%{?fedora:Requires(pre): shadow-utils} +%{?rhel:Requires(pre): shadow-utils} +%{?suse_version:Requires(pre): pwdutils} + +Requires: %{php_runtime} >= %{php_version} +Requires: %{php_common} >= %{php_version} +%if 0%{?suse_version} +Requires: apache2 +%endif + +Requires: icinga-l10n +Requires: icingacli = %{version}-%{release} +Requires: %{name}-common = %{version}-%{release} +Requires: php-Icinga = %{version}-%{release} +Requires: %{name}-vendor-dompdf = %{version}-%{release} +Requires: %{name}-vendor-HTMLPurifier = 1:%{version}-%{release} +Requires: %{name}-vendor-JShrink = %{version}-%{release} +Requires: %{name}-vendor-lessphp = %{version}-%{release} +Requires: %{name}-vendor-Parsedown = %{version}-%{release} + +%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} +%if 0%{?suse_version} > 1320 +Requires(pre): system-user-wwwrun +%endif + +%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_common} >= %{php_version} +Requires: %{php}-gd %{php}-intl %{php}-mbstring +%{?rhel:Requires: %{php}-pdo %{php}-xml} +%if 0%{?rhel} >= 8 || 0%{?fedora} >= 30 +Requires: %{php}-json +%endif rhel >= 8 || fedora >= 30 +Requires: %{name}-vendor-zf1 = %{version}-%{release} +%{?amzn:Requires: %{php}-pecl-imagick} +%{?fedora: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: icinga-l10n +Requires: %{name}-common = %{version}-%{release} +Requires: php-Icinga = %{version}-%{release} +Requires: bash-completion +Requires: %{php_cli} >= %{php_version} +%if 0%{?suse_version} +# conflict with older PHP on SLES and openSUSE +Conflicts: php < %{php_version} +Conflicts: php5 < %{php_version} +Conflicts: php53 +%endif + + +%description -n icingacli +Icinga CLI + + +%if 0%{?use_selinux} +%define selinux_variants mls targeted + +%package selinux +Summary: SELinux policy for Icinga Web 2 +BuildRequires: checkpolicy, selinux-policy-devel, hardlink +Requires: %{name} = %{version}-%{release} +Requires(post): policycoreutils +Requires(postun): policycoreutils + +%description selinux +SELinux policy for Icinga Web 2 +%endif + + +%package vendor-dompdf +Summary: Icinga Web 2 vendor library dompdf +Group: Development/Libraries +License: LGPLv2.1 +Requires: %{php_common} >= %{php_version} +Requires: %{name}-common = %{version}-%{release} + +%description vendor-dompdf +Icinga Web 2 vendor library dompdf + + +%package vendor-HTMLPurifier +Epoch: 1 +Summary: Icinga Web 2 vendor library HTMLPurifier +Group: Development/Libraries +License: LGPLv2.1 +Requires: %{php_common} >= %{php_version} +Requires: %{name}-common = %{version}-%{release} + +%description vendor-HTMLPurifier +Icinga Web 2 vendor library HTMLPurifier + + +%package vendor-JShrink +Summary: Icinga Web 2 vendor library JShrink +Group: Development/Libraries +License: BSD +Requires: %{php_common} >= %{php_version} +Requires: %{name}-common = %{version}-%{release} + +%description vendor-JShrink +Icinga Web 2 vendor library JShrink + + +%package vendor-lessphp +Summary: Icinga Web 2 vendor library lessphp +Group: Development/Libraries +License: MIT +Requires: %{php_common} >= %{php_version} +Requires: %{name}-common = %{version}-%{release} + +%description vendor-lessphp +Icinga Web 2 vendor library lessphp + + +%package vendor-Parsedown +Summary: Icinga Web 2 vendor library Parsedown +Group: Development/Libraries +License: MIT +Requires: %{php_common} >= %{php_version} +Requires: %{name}-common = %{version}-%{release} + +%description vendor-Parsedown +Icinga Web 2 vendor library Parsedown + + +%package vendor-zf1 +Summary: Icinga Web 2's fork of Zend Framework 1 +Group: Development/Libraries +License: BSD +Requires: %{php_common} >= %{php_version} +Obsoletes: %{name}-vendor-Zend < 1.12.20 +Requires: %{name}-common = %{version}-%{release} + +%description vendor-zf1 +Icinga Web 2's fork of Zend Framework 1 + + +%prep +%setup -q +%if 0%{?use_selinux} +mkdir selinux +cp -p packages/selinux/icingaweb2.{fc,if,te} selinux +%endif + +%build +%if 0%{?use_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,error_unavailable.html} %{buildroot}/%{basedir}/public +%if 0%{?php_fpm:1} +cp -pv packages/files/apache/icingaweb2.fpm.conf %{buildroot}/%{wwwconfigdir}/icingaweb2.conf +%else +cp -pv packages/files/apache/icingaweb2.conf %{buildroot}/%{wwwconfigdir}/icingaweb2.conf +%endif +cp -pv packages/files/bin/icingacli %{buildroot}/%{bindir} +%if 0%{?php_bin:1} +sed -i '1 s~#!.*~#!%{php_bin}~' %{buildroot}/%{bindir}/icingacli +%endif +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%{?use_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 - +# TODO: Fix build problems on Icinga, see https://github.com/Icinga/puppet-icinga_build/issues/11 +#/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 +%if 0%{?suse_version} +# for lint on OBS +%dir %{dirname:%{wwwconfigdir}} +%dir %{wwwconfigdir} +%endif +%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) +%dir %{basedir} +%dir %{basedir}/application +%dir %{basedir}/library +%dir %{basedir}/library/vendor +%dir %{basedir}/modules +%{basedir}/application/locale +%attr(2770,root,%{icingawebgroup}) %config(noreplace) %dir %{configdir} +%attr(2770,root,%{icingawebgroup}) %config(noreplace) %dir %{configdir}/modules + + +%files -n php-Icinga +%defattr(-,root,root) +%if 0%{?suse_version} +# for lint on OBS +%dir %{phpdir} +%endif +%{phpdir}/Icinga + + +%files -n icingacli +%defattr(-,root,root) +%{basedir}/application/clicommands +%{_sysconfdir}/bash_completion.d/icingacli +%attr(0755,root,root) %{bindir}/icingacli + + +%if 0%{?use_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 + +%changelog +* Tue Aug 18 2020 Johannes Meyer 2.8.2-1 +- Update to 2.8.2 + +* Mon Jun 29 2020 Johannes Meyer 2.8.1-1 +- Update to 2.8.1 + +* Mon Jun 8 2020 Johannes Meyer 2.8.0-1 +- Update to 2.8.0 +- Add new requirement for package icinga-l10n +- [EPEL 7] We now require PHP 7.3 instead of PHP 7.1 +- Please check uprading docs at /usr/share/icingaweb2/doc/80-Upgrading.md + +* Fri Oct 18 2019 Johannes Meyer 2.7.3-1 +- Update to 2.7.3 + +* Wed Oct 16 2019 Johannes Meyer 2.7.2-1 +- Update to 2.7.2 + +* Wed Aug 14 2019 Johannes Meyer 2.7.1-1 +- Update to 2.7.1 + +* Tue Jul 30 2019 Johannes Meyer 2.7.0-1 +- Update to 2.7.0 + +* Wed Apr 24 2019 Johannes Meyer 2.6.3-1 +- Update to 2.6.3 + +* Wed Nov 21 2018 Eric Lippmann 2.6.2-1 +- Update to 2.6.2 + +* Thu Aug 02 2018 Eric Lippmann 2.6.1-1 +- Update to 2.6.1 + +* Thu Jul 19 2018 Blerim Sheqa 2.6.0-1 +- Update to 2.6.0 + +* Fri Apr 27 2018 Eric Lippmann 2.5.3-1 +- Update to 2.5.3 + +* Thu Apr 26 2018 Eric Lippmann 2.5.2-1 +- Update to 2.5.2 + +* Mon Jan 22 2018 Markus Frosch 2.5.1-1 +- Update to 2.5.1 +- Remove FPM patches + +* Wed Nov 29 2017 Eric Lippmann 2.5.0-2 +- FPM: Add patch to support both Apache >= 2.4 and Apache < 2.4 + +* Tue Nov 28 2017 Eric Lippmann 2.5.0-1 +- Install error_unavailable.html +- Add patch to fix Apache FPM config + +* Mon Nov 27 2017 Markus Frosch 2.5.0-1 +- Update to 2.5.0 +- All packages now require PHP >= 5.6 +- [EPEL 6 + 7] We now require PHP 7 from SCL packages, php-fpm as runtime engine +- [SUSE / openSUSE] Requirements will force the installation of php7 +- Please check upgrading docs at /usr/share/icingaweb2/doc/80-Upgrading.md + +* Thu Sep 28 2017 Markus Frosch 2.4.2-1 +- Update to 2.4.2 diff --git a/fedora/SPECS/kodi.spec b/fedora/SPECS/kodi.spec index 5cc7f6f..6ddc5ca 100644 --- a/fedora/SPECS/kodi.spec +++ b/fedora/SPECS/kodi.spec @@ -1,8 +1,8 @@ %global PRERELEASE r %global myRELEASE 1 +%global DIRVERSION %{version} #global GITCOMMIT Gotham_r2-ge988513 # use the line below for pre-releases -%global DIRVERSION %{version} %global _hardened_build 1 # We support hte following options: @@ -16,7 +16,11 @@ %if 0%{?fedora} # (libbluray in EPEL 6 is too old.) %global _with_libbluray 1 +%if 0%{?fedora} < 31 %global _with_cwiid 1 +%else +%global _with_cwiid 0 +%endif %global _with_libssh 1 %global _with_libcec 1 %global _with_external_ffmpeg 1 @@ -29,8 +33,8 @@ %endif Name: kodi -Version: 18.5 -Release: 99.%{myRELEASE}.%{PRERELEASE}%{?dist} +Version: 18.8 +Release: 100.%{myRELEASE}.%{PRERELEASE}%{?dist} Summary: Media center License: GPLv2+ and GPLv3+ and LGPLv2+ and BSD and MIT @@ -76,6 +80,12 @@ Patch3: kodi-18-annobin-workaround.patch Patch4: kodi-18-python3-0001.patch Patch5: kodi-18-python3-0002.patch +# Fix missing include (gcc requirement) +Patch6: kodi-18-assert.patch + +# Workaround for brp-mangle-shebangs behavior (RHBZ#1787088) +Patch7: kodi-18-brp-mangle-shebangs.patch + %ifarch x86_64 i686 %global _with_crystalhd 1 %endif @@ -83,8 +93,6 @@ Patch5: kodi-18-python3-0002.patch # Upstream does not support ppc64 ExcludeArch: %{power64} -BuildRequires: SDL2-devel -BuildRequires: SDL_image-devel BuildRequires: a52dec-devel BuildRequires: afpfs-ng-devel BuildRequires: alsa-lib-devel @@ -155,6 +163,7 @@ BuildRequires: libcrystalhd-devel %endif BuildRequires: libcurl-devel BuildRequires: libdca-devel +BuildRequires: libdrm-devel BuildRequires: libidn2-devel BuildRequires: libinput-devel %if 0%{?el6} @@ -365,6 +374,9 @@ This package contains the Kodi binary for X11 servers. %patch5 -p1 -b.python3-0002 %endif +%patch6 -p1 -b.assert +%patch7 -p1 -b.brp-mangle-shebangs + # Fix up Python shebangs %if 0%{?fedora} > 31 pathfix.py -pni "%{__python3} %{py3_shbang_opts}" \ @@ -401,6 +413,7 @@ do -DFFMPEG_URL=%{SOURCE5} \ %endif -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DENABLE_DEBUGFISSION=OFF \ -GNinja \ -DENABLE_EVENTCLIENTS=ON \ -DENABLE_INTERNAL_CROSSGUID=OFF \ @@ -437,9 +450,6 @@ done # remove the doc files from unversioned /usr/share/doc/xbmc, they should be in versioned docdir rm -r $RPM_BUILD_ROOT/%{_datadir}/doc/ -#rm -f ${RPM_BUILD_ROOT}%{_libdir}/debug/usr/bin/*.debug -#/usr/lib/debug/usr/bin/kodi-wiiremote-18.4-99.1.r.fc31.x86_64.debug - desktop-file-install \ --dir=${RPM_BUILD_ROOT}%{_datadir}/applications \ $RPM_BUILD_ROOT%{_datadir}/applications/kodi.desktop @@ -455,6 +465,8 @@ ln -s %{python3_sitearch}/PIL $RPM_BUILD_ROOT%{_libdir}/kodi/addons/script.modul %else ln -s %{python2_sitearch}/PIL $RPM_BUILD_ROOT%{_libdir}/kodi/addons/script.module.pil/lib/PIL %endif +#install -d $RPM_BUILD_ROOT%{_libdir}/xbmc/addons/script.module.pysqlite/lib +#ln -s %{python2_sitearch}/pysqlite2 $RPM_BUILD_ROOT%{_libdir}/xbmc/addons/script.module.pysqlite/lib/pysqlite2 # Use external font files instead of bundled ones ln -sf %{_fontbasedir}/dejavu/DejaVuSans-Bold.ttf ${RPM_BUILD_ROOT}%{_datadir}/kodi/addons/skin.estouchy/fonts/ @@ -468,6 +480,8 @@ mv docs/manpages ${RPM_BUILD_ROOT}%{_mandir}/man1/ rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/kodi-wiiremote.1 %endif +# remove not needed dvdnav output: +rm -rf ${RPM_BUILD_ROOT}/root %post firewalld %firewalld_reload @@ -544,6 +558,21 @@ rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/kodi-wiiremote.1 %changelog +* Sun Aug 2 2020 Daniel Steiner +- Update to 18.8 + +* Wed May 20 2020 Daniel Steiner +- Update to 18.7 + +* Sat Apr 11 2020 Daniel Steiner +- Nvidia dependencies removed. + +* Sun Mar 8 2020 Daniel Steiner +- Nvidia depend build with ffmpeg-nvidia library. + +* Fri Mar 6 2020 Daniel Steiner +- Update to 18.6 + * Sat Nov 16 2019 Daniel Steiner - Update to 18.5 diff --git a/fedora/SPECS/l10n.spec b/fedora/SPECS/l10n.spec new file mode 100644 index 0000000..09f5c56 --- /dev/null +++ b/fedora/SPECS/l10n.spec @@ -0,0 +1,114 @@ +# Icinga L10n | (c) 2020 Icinga GmbH + +%define revision 1 +%define basedir %{_datadir}/icinga-L10n + +%if 0%{?el5}%{?el6}%{?amzn}%{?suse_version} +%define use_selinux 0 +%else +%define use_selinux 1 +%define selinux_variants mls targeted +%endif + + +Name: icinga-l10n +Version: 1.0.0 +Release: %{revision}%{?dist} +Summary: Icinga L10n +License: GPLv2+ +URL: https://icinga.com +Source0: https://github.com/Icinga/L10n/archive/v%{version}.tar.gz +Source1: selinux.tgz +BuildArch: noarch +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release} +Packager: Icinga GmbH + + +%prep +%setup -q -n L10n-1.0.0 +tar xzf %{S:1} + +%build +%if 0%{?use_selinux} +cd selinux +for selinuxvariant in %{selinux_variants} +do + make NAME=${selinuxvariant} -f /usr/share/selinux/devel/Makefile + mv icinga-l10n.pp icinga-l10n.pp.${selinuxvariant} + make NAME=${selinuxvariant} -f /usr/share/selinux/devel/Makefile clean +done +cd - +%endif + +%install +mkdir -p %{buildroot}/%{basedir} +cp *.md %{buildroot}/%{basedir} +cp COPYING %{buildroot}/%{basedir} +cp -prv locale %{buildroot}/%{basedir} +find %{buildroot}/%{basedir}/locale -name *.po -delete +%if 0%{?use_selinux} +cd selinux +for selinuxvariant in %{selinux_variants} +do + install -d %{buildroot}%{_datadir}/selinux/${selinuxvariant} + install -p -m 644 icinga-l10n.pp.${selinuxvariant} %{buildroot}%{_datadir}/selinux/${selinuxvariant}/icinga-l10n.pp +done +cd - +%endif + +%clean +rm -rf %{buildroot} + + +# Main package +%description +L10n (short for Localization) provides all translations available for Icinga. + +%files +%defattr(-,root,root) +%{basedir} +%doc README.md +%doc CONTRIBUTING.md + + +# Selinux package +%if 0%{?use_selinux} + +%package selinux +Summary: SELinux policy for Icinga L10n +BuildRequires: checkpolicy, selinux-policy-devel +Requires: %{name} = %{version}-%{release} +Requires(post): policycoreutils +Requires(postun): policycoreutils + +%description selinux +SELinux policy for Icinga L10n + +%post selinux +for selinuxvariant in %{selinux_variants} +do + %{_sbindir}/semodule -s ${selinuxvariant} -i %{_datadir}/selinux/${selinuxvariant}/icinga-l10n.pp &> /dev/null || : +done +%{_sbindir}/restorecon -R %{basedir} &> /dev/null || : + +%postun selinux +if [ $1 -eq 0 ] ; then + for selinuxvariant in %{selinux_variants} + do + %{_sbindir}/semodule -s ${selinuxvariant} -r icinga-l10n &> /dev/null || : + done + [ -d %{basedir} ] && %{_sbindir}/restorecon -R %{basedir} &> /dev/null || : +fi + +%files selinux +%defattr(-,root,root,0755) +%doc selinux/* +%{_datadir}/selinux/*/icinga-l10n.pp + +%endif + + +%changelog +* Mon Jun 8 2020 Johannes Meyer 1.0.0-1 +- Initial release + diff --git a/fedora/SPECS/makemkv.spec b/fedora/SPECS/makemkv.spec index 0c2319b..3b334d5 100644 --- a/fedora/SPECS/makemkv.spec +++ b/fedora/SPECS/makemkv.spec @@ -6,7 +6,7 @@ # wget http://www.makemkv.com/download/makemkv-oss-$v.tar.gz -O makemkv-oss-$v.tar.gz Name: makemkv -Version: 1.14.5 +Version: 1.15.0 Release: 0%{?dist} BuildRoot: %{_tmppath}/%{name}-%{version}-build Summary: One click DVD and Blu-ray converter @@ -86,13 +86,19 @@ popd %{_datarootdir}/MakeMKV/* %changelog -* Sat Sep 14 2019 Daniel Steiner +* Fri Mar 6 2020 Daniel Steiner +- Update to 1.15.0. + +* Mon Dec 30 2019 Daniel Steiner +- Update to 1.14.7. + +* Sat Sep 14 2019 Daniel Steiner - Update to 1.14.5. -* Sat Jul 27 2019 Daniel Steiner +* Sat Jul 27 2019 Daniel Steiner - Update to 1.14.4. -* Thu Apr 4 2019 Daniel Steiner +* Thu Apr 4 2019 Daniel Steiner - Update to 1.14.3. * Fri Nov 16 2018 Daniel Steiner diff --git a/fedora/SPECS/mod_auth_openidc.spec b/fedora/SPECS/mod_auth_openidc.spec new file mode 100644 index 0000000..4f3ca88 --- /dev/null +++ b/fedora/SPECS/mod_auth_openidc.spec @@ -0,0 +1,114 @@ +%{!?_httpd_mmn: %{expand: %%global _httpd_mmn %%(cat %{_includedir}/httpd/.mmn || echo 0-0)}} +%{!?_httpd_moddir: %{expand: %%global _httpd_moddir %%{_libdir}/httpd/modules}} +%{!?_httpd_confdir: %{expand: %%global _httpd_confdir %{_sysconfdir}/httpd/conf.d}} + +# Optionally build with hiredis if --with hiredis is passed +%{!?_with_hiredis: %{!?_without_hiredis: %global _without_hiredis --without-hiredis}} +# It is an error if both or neither required options exist. +%{?_with_hiredis: %{?_without_hiredis: %{error: both _with_hiredis and _without_hiredis}}} +%{!?_with_hiredis: %{!?_without_hiredis: %{error: neither _with_hiredis nor _without_hiredis}}} + +# /etc/httpd/conf.d with httpd < 2.4 and defined as /etc/httpd/conf.modules.d with httpd >= 2.4 +%{!?_httpd_modconfdir: %{expand: %%global _httpd_modconfdir %%{_sysconfdir}/httpd/conf.d}} + +%global httpd_pkg_cache_dir /var/cache/httpd/mod_auth_openidc + +Name: mod_auth_openidc +Version: 2.4.5 +Release: 1%{?dist} +Summary: OpenID Connect auth module for Apache HTTP Server + +License: ASL 2.0 +URL: https://github.com/zmartzone/mod_auth_openidc +Source0: https://github.com/zmartzone/mod_auth_openidc/releases/download/v%{version}/mod_auth_openidc-%{version}.tar.gz + +BuildRequires: gcc +BuildRequires: httpd-devel +BuildRequires: openssl-devel +BuildRequires: curl-devel +BuildRequires: jansson-devel +BuildRequires: pcre-devel +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: cjose-devel +#BuildRequires: jq-devel +BuildRequires: jq +%{?_with_hiredis:BuildRequires: hiredis-devel} +Requires: httpd-mmn = %{_httpd_mmn} + +%description +This module enables an Apache 2.x web server to operate as +an OpenID Connect Relying Party and/or OAuth 2.0 Resource Server. + +%prep +%setup -q + +%build +# workaround rpm-buildroot-usage +export MODULES_DIR=%{_httpd_moddir} +export APXS2_OPTS='-S LIBEXECDIR=${MODULES_DIR}' +autoreconf +%configure \ + --with-jq=/usr/lib64/ \ + %{?_with_hiredis} \ + %{?_without_hiredis} + +make %{?_smp_mflags} + +%check +export MODULES_DIR=%{_httpd_moddir} +export APXS2_OPTS='-S LIBEXECDIR=${MODULES_DIR}' +make test + +%install +mkdir -p $RPM_BUILD_ROOT%{_httpd_moddir} +make install MODULES_DIR=$RPM_BUILD_ROOT%{_httpd_moddir} + +install -m 755 -d $RPM_BUILD_ROOT%{_httpd_modconfdir} +echo 'LoadModule auth_openidc_module modules/mod_auth_openidc.so' > \ + $RPM_BUILD_ROOT%{_httpd_modconfdir}/10-auth_openidc.conf + +install -m 755 -d $RPM_BUILD_ROOT%{_httpd_confdir} +install -m 644 auth_openidc.conf $RPM_BUILD_ROOT%{_httpd_confdir} +# Adjust httpd cache location in install config file +sed -i 's!/var/cache/apache2/!/var/cache/httpd/!' $RPM_BUILD_ROOT%{_httpd_confdir}/auth_openidc.conf +install -m 700 -d $RPM_BUILD_ROOT%{httpd_pkg_cache_dir} +install -m 700 -d $RPM_BUILD_ROOT%{httpd_pkg_cache_dir}/metadata +install -m 700 -d $RPM_BUILD_ROOT%{httpd_pkg_cache_dir}/cache + + +%files +%if 0%{?rhel} && 0%{?rhel} < 7 +%doc LICENSE.txt +%else +%license LICENSE.txt +%endif +%doc ChangeLog +%doc AUTHORS +%doc README.md +%{_httpd_moddir}/mod_auth_openidc.so +%config(noreplace) %{_httpd_modconfdir}/10-auth_openidc.conf +%config(noreplace) %{_httpd_confdir}/auth_openidc.conf +%dir %attr(0700, apache, apache) %{httpd_pkg_cache_dir} +%dir %attr(0700, apache, apache) %{httpd_pkg_cache_dir}/metadata +%dir %attr(0700, apache, apache) %{httpd_pkg_cache_dir}/cache + +%changelog +* Sun Nov 29 2020 Daniel Steiner +- Update to 2.4.5. + +* Sat Oct 31 2020 Daniel Steiner +- First build on Fedora 33. + +* Sat Sep 5 2020 Daniel Steiner +- Update to 2.4.4.1. + +* Mon Jul 6 2020 Daniel Steiner +- Update to 2.4.3. + +* Thu Feb 13 2020 Daniel Steiner +- Update to 2.4.1. + +* Thu Dec 19 2019 Daniel Steiner +- First initial build. + diff --git a/fedora/SPECS/mod_tile.spec b/fedora/SPECS/mod_tile.spec index 88c0c5e..bc01e79 100644 --- a/fedora/SPECS/mod_tile.spec +++ b/fedora/SPECS/mod_tile.spec @@ -1,12 +1,13 @@ Name: mod_tile Version: 0.5 -Release: 2%{?dist} +Release: 3%{?dist} Summary: A program to efficiently render and serve map tiles for www.openstreetmap.org map using Apache and Mapnik. License: GPLv2 URL: https://github.com/openstreetmap/mod_tile Source0: %{name}-%{version}.tgz Source1: 10-tile.conf +Patch0: mod_tile-move-variables-to-prevent-duplicates.patch BuildRequires: httpd-devel, apr BuildRequires: mapnik-devel @@ -32,6 +33,7 @@ at compile time, see: render_config.h %prep %setup -q -n %{name}-%{version} +%patch0 -p1 -b duplicated-variables %build %configure \ @@ -69,9 +71,12 @@ fi %{_mandir}/man8/* %changelog -* Sat Nov 9 2019 Daniel Steiner +* Fri Jul 23 2020 Daniel Steiner +- Patch for duplicated variables definition added, this compiles now on Fedora 32 and gcc 10. + +* Sat Nov 9 2019 Daniel Steiner - Fix for modules config path. -* Fri Nov 8 2019 Daniel Steiner +* Fri Nov 8 2019 Daniel Steiner - First build on Fedora 31 httpd-2.4.41. diff --git a/fedora/SPECS/nagios-plugins-own.spec b/fedora/SPECS/nagios-plugins-own.spec index 9c1a150..74bb26d 100644 --- a/fedora/SPECS/nagios-plugins-own.spec +++ b/fedora/SPECS/nagios-plugins-own.spec @@ -11,7 +11,7 @@ Release: %{svnrel}%{?dist} Summary: Nagios/Icinga own plugins License: GPL -URL: http://www.daniel-steiner.org/ +URL: http://www.dsteiner.ch/ # cd ~/svn; svn co --username sda https://intranet.trivadis.com/svn/TrivadisIT/Scripting/trunk/nagios/ # cd ~/svn; svn up # tar --exclude=templates --exclude=.svn -czf ../rpmbuild/SOURCES/nagios-952.tgz nagios diff --git a/fedora/SPECS/nginx.spec b/fedora/SPECS/nginx.spec index 586550a..5959c0a 100644 --- a/fedora/SPECS/nginx.spec +++ b/fedora/SPECS/nginx.spec @@ -19,7 +19,7 @@ Name: nginx Epoch: 1 -Version: 1.17.6 +Version: 1.19.5 Release: 1%{?dist} Summary: A high performance web server and reverse proxy server @@ -150,7 +150,7 @@ BuildRequires: perl-devel %if 0%{?fedora} >= 24 BuildRequires: perl-generators %endif -BuildRequires: perl(ExtUtils::Embed) +BuildRequires: perl-ExtUtils-Embed Requires: nginx Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) @@ -569,6 +569,27 @@ fi [ "%{_builddir}" != "/" ] && [ -d "%{_builddir}" ] && rm -rf %{_builddir}/* %changelog +* Sun Nov 29 2020 Daniel Steiner +- Updated to mainline version 1.19.5. + +* Sat Oct 31 2020 Daniel Steiner +- Updated to mainline version 1.19.4, first build for Fedora 33. + +* Fri Sep 4 2020 Daniel Steiner +- Updated to mainline version 1.19.2. + +* Fri Jul 17 2020 Daniel Steiner +- Updated to mainline version 1.19.1. + +* Sat May 2 2020 Daniel Steiner +- Updated to mainline version 1.18.0. + +* Fri Mar 27 2020 Daniel Steiner +- Updated to mainline version 1.17.9. + +* Sat Feb 22 2020 Daniel Steiner +- Updated to mainline version 1.17.8. + * Thu Nov 21 2019 Daniel Steiner 1.17.6-1 - Updated to mainline version 1.17.6. diff --git a/fedora/SPECS/ngxtop.spec b/fedora/SPECS/ngxtop.spec index 831e671..082dbc6 100644 --- a/fedora/SPECS/ngxtop.spec +++ b/fedora/SPECS/ngxtop.spec @@ -44,6 +44,6 @@ specify your log and format, even parse remote Apache common access log with eas %python3_sitelib/%{name}*.egg-info %changelog -* Sat Jan 26 2019 Daniel Steiner +* Sat Jan 26 2019 Daniel Steiner - First release for Fedora 29 diff --git a/fedora/SPECS/phyghtmap.spec b/fedora/SPECS/phyghtmap.spec new file mode 100644 index 0000000..8633a91 --- /dev/null +++ b/fedora/SPECS/phyghtmap.spec @@ -0,0 +1,44 @@ +Name: phyghtmap +Version: 2.21 +Release: 1%{?dist} +Summary: Generate OSM contour lines from NASA SRTM data +License: GPLv2+ +URL: http://katze.tfiu.de/projects/phyghtmap/ +Source0: http://katze.tfiu.de/projects/%{name}/%{name}_%{version}.orig.tar.gz +BuildArch: noarch + +BuildRequires: python3-devel +BuildRequires: python3-setuptools + +Requires: python3-numpy +Requires: python3-beautifulsoup4 +Requires: python3-matplotlib + +%description +%{name} is a little program which lets you easily generate OSM contour +lines from NASA SRTM data. + +%prep +%setup -q -n %{name}-%{version} + + +%build +%py3_build + + +%install +%py3_install +install -Dpm 644 docs/%{name}.1 %{buildroot}%{_mandir}/man1/%{name}.1 + + +%files +%doc README LICENSE_GPL-2 COPYRIGHT Changelog +%{_bindir}/%{name} +%{_mandir}/man1/%{name}.1* +%{python3_sitelib}/%{name}/ +%{python3_sitelib}/%{name}-%{version}-py*.egg-info/ + +%changelog +* Sat Jan 11 2020 Daniel Steiner +- Initial build + diff --git a/fedora/SPECS/pnp4nagios.spec b/fedora/SPECS/pnp4nagios.spec index f87b00a..30338c3 100644 --- a/fedora/SPECS/pnp4nagios.spec +++ b/fedora/SPECS/pnp4nagios.spec @@ -1,7 +1,7 @@ %define gitversion git.ff7cd69 Name: pnp4nagios Version: 0.6.27 -Release: 1.%{gitversion}%{?dist} +Release: 2.%{gitversion}%{?dist} Summary: Nagios performance data analysis tool Group: Applications/System @@ -14,6 +14,7 @@ Source3: pnp4nagios-README.fedora Patch1: pnp4nagios-httpd24.patch Patch2: pnp4nagios-pnp-helper.patch Patch3: pnp4nagios-fpdi.patch +Patch4: pnp4nagios_kohana_magic_quotes.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) # this package requires icinga2 instead of nagios! @@ -43,6 +44,7 @@ and stores them automatically into RRD-databases. #%patch1 -p1 #%patch2 -p0 #%patch3 -p0 +%patch4 -p0 autoreconf cp -p %{SOURCE3} README.fedora @@ -157,6 +159,9 @@ fi %{_datadir}/nagios/html/%{name} %changelog +* Fri Aug 7 2018 Daniel Steiner - 0.6.27-2-gitff7cd69 +- Patch for Kohana magic_quotes problem. + * Thu Dec 20 2018 Daniel Steiner - 0.6.27-1-gitff7cd69 - Upgrade to git master version ff7cd69. diff --git a/fedora/SPECS/polemarch.spec b/fedora/SPECS/polemarch.spec index c7fdd86..bb91da1 100644 --- a/fedora/SPECS/polemarch.spec +++ b/fedora/SPECS/polemarch.spec @@ -10,12 +10,13 @@ %global __arch_install_post /usr/lib/rpm/check-buildroot # Macros +%define pyversion 3.9 %define name polemarch %define shortname polemarch %define namebase polemarch %define user polemarch %define datad poledata -%define version 1.5.1 +%define version 1.8.1 %define release 1 %define __prelink_undo_cmd %{nil} %define _binaries_in_noarch_packages_terminate_build 0 @@ -34,6 +35,8 @@ Source0: %name-%version.tar.gz Source1: %name-settings Source2: %name-redis-patch.sh Source3: %name-mysql-patch.sh +# compiled binary tree: +Source10: %name-bin-%{version}.tgz Patch0: %name-python3.patch Patch1: %name-venvctrl.patch @@ -41,6 +44,10 @@ Patch1: %name-venvctrl.patch # Build fails, if these two packages are installed! BuildRequires: python3, openssl-devel, libyaml-devel, python3-mysql BuildRequires: python3-sphinxcontrib-blockdiag, python3-virtualenv, openldap-devel +BuildRequires: python3-amqp, python3-vine, python3-billiard, python3-celery, python3-kombu +BuildRequires: python3-redis, python3-Cython, python3-django-timezone-field, python3-markdown2 +BuildRequires: python3-netaddr, python3-ldap, python3-smmap +BuildRequires: nodejs-has-yarn, yarnpkg, nodejs >= 10.0 Requires: python3, openssl-devel, libxcrypt-compat Requires: python3-virtualenv, python3-mysql, python3-PyMySQL Requires: git @@ -48,6 +55,10 @@ Requires: libyaml-devel Requires: krb5-devel, krb5-libs, openldap-devel Requires: mailcap Requires: python3-redis >= 3.2.0, python3-django-redis >= 4.0.0, redis >= 5.0.0 +Requires: python3-gitdb, python3-GitPython +Requires: python3-amqp, python3-vine, python3-billiard, python3-celery, python3-kombu +Requires: python3-redis, python3-Cython, python3-django-timezone-field, python3-markdown2 +Requires: python3-netaddr, python3-ldap, python3-smmap %description Polemarch is service for orchestration infrastructure by ansible. @@ -56,10 +67,19 @@ Simply WEB gui for orchestration infrastructure by ansible playbooks. %prep %setup -q -n %name-%version #patch0 -b python3-patch +%patch1 -b venvctrl-patch %install -make BUILD_DIR=%{buildroot} -install %{S:1} %{buildroot}%{_sysconfdir}/%{namebase}/settings.ini +#/usr/bin/make BUILD_DIR=%{buildroot} +# Install binary package (compiling does not work here! You need to compile it first!) +# cd BUILD/polemarch-1.7.3 +# /usr/bin/patch --no-backup-if-mismatch -p0 -b --suffix ~/rpmbuild/SOURCES/venvctrl-patch --fuzz=0 +# /usr/bin/make BUILD_DIR=/root/rpmbuild/BUILDROOT/polemarch +# cd /root/rpmbuild/BUILDROOT/polemarch +# tar czf ~/rpmbuild/SOURCES/polemarch-bin-1.7.3.tgz . +# don't forget to replace version and release number! +tar xzf %{S:10} -C %{buildroot} +/usr/bin/install %{S:1} %{buildroot}%{_sysconfdir}/%{namebase}/settings.ini # fix for python3 redis access: bash %{S:2} # fix or workaround for mysqlclient version check: @@ -69,10 +89,17 @@ mv %{buildroot}/var/run %{buildroot}/ # create additional directories: install -d %{buildroot}/%{_var}/log/%{name} install -d %{buildroot}/opt/%{datad} -ln -s %{python3_sitearch}/MySQLdb %{buildroot}/opt/polemarch/lib/python3.7/site-packages/MySQLdb -ln -s %{python3_sitelib}/pymysql %{buildroot}/opt/polemarch/lib/python3.7/site-packages/pymysql +ln -s %{python3_sitearch}/MySQLdb %{buildroot}/opt/polemarch/lib/python%{pyversion}/site-packages/MySQLdb +ln -s %{python3_sitelib}/pymysql %{buildroot}/opt/polemarch/lib/python%{pyversion}/site-packages/pymysql +# remove compiled git python package, which are not working on Fedora 32 and pyton3.8 +rm -rf %{buildroot}/opt/polemarch/lib/python%{pyversion}/site-packages/git +ln -s %{python3_sitelib}/git %{buildroot}/opt/polemarch/lib/python%{pyversion}/site-packages/git +rm -rf %{buildroot}/opt/polemarch/lib/python%{pyversion}/site-packages/gitdb +ln -s %{python3_sitelib}/gitdb %{buildroot}/opt/polemarch/lib/python%{pyversion}/site-packages/gitdb # remove buildroot path in opt/polemarch/bin/activate.xsh: sed -i -e 's|/root/rpmbuild/BUILDROOT/polemarch.*x86_64||' %{buildroot}/opt/polemarch/bin/activate.xsh +# remove .gitignore file: +rm -f %{buildroot}/opt/polemarch/.gitignore %pre getent group %{user} >/dev/null || \ @@ -98,9 +125,9 @@ sudo -u %{user} /opt/%{name}/bin/%{shortname}ctl migrate %dir %attr(-,%{user},%{user}) /opt/%{datad} %dir %attr(-,%{user},%{user}) %{_var}/log/%{namebase} %attr(-,%{user},%{user}) /opt/%{namebase}/bin/* -%attr(-,%{user},%{user}) /opt/%{namebase}/include/* %attr(-,%{user},%{user}) /opt/%{namebase}/lib/* /opt/%{namebase}/lib64 +/opt/%{namebase}/*.cfg %dir %{_sysconfdir}/%{namebase} %{_rundir}/%{namebase} %{_var}/lock/%{namebase} @@ -114,6 +141,30 @@ sudo -u %{user} /opt/%{name}/bin/%{shortname}ctl migrate [ "%{_builddir}" != "/" ] && [ -d "%{_builddir}" ] && rm -rf %{_builddir}/* %changelog +* Sat Oct 31 2020 Daniel Steiner +- Update to 1.8.1 version, first build on Fedora 33 and python 3.9. + +* Fri Aug 14 2020 Daniel Steiner +- Update to 1.8.0 version. + +* Mon May 18 2020 Daniel Steiner +- Build dependencies added (nodejs and yarn). + +* Fri May 15 2020 Daniel Steiner +- Update to 1.7.6 version. + +* Sun May 3 2020 Daniel Steiner +- Fixes for Fedora 32 installation. Git and gitdb packages are now symlinked. + +* Fri Jan 17 2020 Daniel Steiner +- Update to 1.6.2 version. + +* Mon Dec 30 2019 Daniel Steiner +- Update to 1.6.1 version. + +* Sun Dec 15 2019 Daniel Steiner +- Update to 1.6.0 version. + * Fri Dec 6 2019 Daniel Steiner - Update to 1.5.1 version. diff --git a/fedora/SPECS/powerline_shell.spec b/fedora/SPECS/powerline_shell.spec index 73aa0a7..a437e87 100644 --- a/fedora/SPECS/powerline_shell.spec +++ b/fedora/SPECS/powerline_shell.spec @@ -4,7 +4,7 @@ Release: 3%{?dist} Summary: A beautiful and useful prompt generator for Bash, ZSH, Fish, and tcsh License: MIT -URL: https://dev.daniel-steiner.org/dani/powerline-shell-enhanced#segment-configuration +URL: https://dev.dsteiner.ch/dani/powerline-shell-enhanced#segment-configuration Source0: powerline_shell.tar.gz %define debug_package %{nil} @@ -57,12 +57,12 @@ The generated prompts are designed to resemble powerline, but otherwise this pro %changelog -* Sun Feb 3 2019 Daniel Steiner +* Sun Feb 3 2019 Daniel Steiner - Dependency added for pythonX-setuptools rpm. -* Sun Feb 3 2019 Daniel Steiner +* Sun Feb 3 2019 Daniel Steiner - Dependency added for pythonX-argparse rpm. -* Sat Feb 2 2019 Daniel Steiner +* Sat Feb 2 2019 Daniel Steiner - First build. diff --git a/fedora/SPECS/proj6.spec b/fedora/SPECS/proj6.spec new file mode 100644 index 0000000..4a3b0af --- /dev/null +++ b/fedora/SPECS/proj6.spec @@ -0,0 +1,130 @@ +%global proj_version 6.3.0 +%global datumgrid_version 1.8 +%define realname proj +# Prefix is /usr/local! +%define _prefix /usr/local +%define _includedir %{_prefix}/include +%define _datadir %{_prefix}/share +%define _bindir %{_prefix}/bin +%define _libdir %{_prefix}/lib64 +%define _mandir %{_datadir}/man + +Name: proj6 +Version: %{proj_version} +Release: 1%{?dist} +Summary: Cartographic projection software (PROJ.4) + +License: MIT +URL: https://proj4.org +Source0: https://download.osgeo.org/%{realname}/%{realname}-%{version}.tar.gz + +BuildRequires: libtool gcc-c++ + +%description +Proj and invproj perform respective forward and inverse transformation of +cartographic data to or from cartesian data with a wide range of selectable +projection functions. + + +%package devel +Summary: Development files for PROJ.4 +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +This package contains libproj and the appropriate header files and man pages. + + +%package static +Summary: Development files for PROJ.4 +Requires: %{name}-devel%{?_isa} = %{version}-%{release} + +%description static +This package contains libproj static library. + + +%prep +%setup -q -n %{realname}-%{version} + +%build +# rebuild due to patch +autoreconf -i +./configure \ + --prefix=%{_prefix} \ + --libdir=%{_libdir} \ + --includedir=%{_includedir} \ + --datarootdir=%{_datadir} + +sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool +sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool +%make_build + + +%install +make install DESTDIR=%{buildroot} +chmod -x %{buildroot}%{_libdir}/libproj.la + +# Install cmake config manually because we use autotools for building +mkdir -p %{buildroot}%{_datadir}/cmake/Modules/ + +cat << EOF > %{buildroot}%{_datadir}/cmake/Modules/FindPROJ4.cmake +set(PROJ4_FOUND 1) +set(PROJ4_INCLUDE_DIRS %{_includedir}) +set(PROJ4_LIBRARIES proj) +if(\${LIB_SUFFIX} MATCHES 64) +set(PROJ4_LIBRARY_DIRS %{_libdir}) +else() +set(PROJ4_LIBRARY_DIRS %{_prefix}/lib) +endif() +set(PROJ4_BINARY_DIRS %{_bindir}) +set(PROJ4_VERSION %{proj_version}) +message(STATUS "Found PROJ4: version \${PROJ4_VERSION}") +EOF + + +%check +LD_LIBRARY_PATH=%{buildroot}%{_libdir} \ + make PROJ_LIB=%{buildroot}%{_datadir}/%{realname} check || ( cat src/test-suite.log; exit 1 ) + + +%files +%doc NEWS AUTHORS COPYING README ChangeLog +%{_bindir}/* +%{_mandir}/man1/*.1* +%{_libdir}/libproj.so.15* +%dir %{_datadir}/%{realname} +%{_datadir}/%{realname}/CH +%{_datadir}/%{realname}/GL27 +%{_datadir}/%{realname}/ITRF2000 +%{_datadir}/%{realname}/ITRF2008 +%{_datadir}/%{realname}/ITRF2014 +%{_datadir}/%{realname}/nad.lst +%{_datadir}/%{realname}/nad27 +%{_datadir}/%{realname}/nad83 +%{_datadir}/%{realname}/null +%{_datadir}/%{realname}/other.extra +%{_datadir}/%{realname}/world +%{_datadir}/%{realname}/projjson.schema.json +%{_datadir}/%{realname}/%{realname}.db + +%files devel +%{_mandir}/man3/*.3* +%{_includedir}/*.h +%{_includedir}/%{realname}/*.hpp +%{_libdir}/libproj.so +%{_libdir}/pkgconfig/%{realname}.pc +%{_datadir}/cmake/Modules/FindPROJ4.cmake +%exclude %{_libdir}/libproj.a +%exclude %{_libdir}/libproj.la + +%files static +%{_libdir}/libproj.a +%{_libdir}/libproj.la + + +%changelog +* Sat Jan 11 2020 Daniel Steiner +- New name proj6 and relocation to /usr/local. + +* Mon Jan 6 2020 Daniel Steiner +- Initial build + diff --git a/fedora/SPECS/python-PyMySQL.spec b/fedora/SPECS/python-PyMySQL.spec index 4f97d45..7b0ae76 100644 --- a/fedora/SPECS/python-PyMySQL.spec +++ b/fedora/SPECS/python-PyMySQL.spec @@ -91,6 +91,6 @@ rm -rf tests %{python3_sitelib}/pymysql/ %changelog -* Sun Apr 28 2019 Daniel Steiner +* Sun Apr 28 2019 Daniel Steiner - Initial relase for fedora 29 (0.9.3). diff --git a/fedora/SPECS/python-mysql.spec b/fedora/SPECS/python-mysql.spec index d90fc02..dc15a1f 100644 --- a/fedora/SPECS/python-mysql.spec +++ b/fedora/SPECS/python-mysql.spec @@ -171,6 +171,6 @@ CFLAGS="$RPM_OPT_FLAGS" %{__python3}-debug setup.py build %endif # with debug %changelog -* Sun Apr 28 2019 Daniel Steiner +* Sun Apr 28 2019 Daniel Steiner - Initial relase for fedora 29 (1.4.2). diff --git a/fedora/SPECS/python-redis.spec b/fedora/SPECS/python-redis.spec index 74bbadc..ab7e9ac 100644 --- a/fedora/SPECS/python-redis.spec +++ b/fedora/SPECS/python-redis.spec @@ -97,6 +97,6 @@ kill %1 %endif %changelog -* Sun May 12 2019 Javier Peña +* Sun May 12 2019 Javier Peña - First build. diff --git a/fedora/SPECS/python2-argparse.spec b/fedora/SPECS/python2-argparse.spec index c5b26f4..cc0198a 100644 --- a/fedora/SPECS/python2-argparse.spec +++ b/fedora/SPECS/python2-argparse.spec @@ -54,6 +54,6 @@ PYTHONPATH=../ %{__python} test_%{oname}.py %{python2_sitelib}/* %changelog -* Sun Feb 3 2019 Daniel Steiner +* Sun Feb 3 2019 Daniel Steiner - First build, it's required by powerline_shell package. diff --git a/fedora/SPECS/python3-argparse.spec b/fedora/SPECS/python3-argparse.spec index 1272fab..f3ff487 100644 --- a/fedora/SPECS/python3-argparse.spec +++ b/fedora/SPECS/python3-argparse.spec @@ -55,6 +55,9 @@ rm -rf %{buildroot}%{python3_sitelib}/__pycache__ %{python3_sitelib}/* %changelog -* Sun Feb 3 2019 Daniel Steiner +* Sat May 2 2020 Daniel Steiner +- First build on Fedora 32. + +* Sun Feb 3 2019 Daniel Steiner - First build, it's required by powerline_shell package. diff --git a/fedora/SPECS/sockstat.spec b/fedora/SPECS/sockstat.spec new file mode 100644 index 0000000..6c44549 --- /dev/null +++ b/fedora/SPECS/sockstat.spec @@ -0,0 +1,40 @@ +Name: sockstat +Version: 0.4.1 +Release: 1%{?dist} +Summary: View detailed information about open connections + +License: BSD-3 +URL: https://github.com/alteholz/sockstat/ +Source0: %{name}-%{version}.tar.gz + +# disable debug: +%global debug_package %{nil} + + +%description +View detailed information about open connections + + +%prep +%setup -q + + +%build +make %{?_smp_mflags} + + +%install +%{__install} -D %{name} %{buildroot}%{_bindir}/%{name} +%{__install} -D %{name}.1 %{buildroot}%{_mandir}/man1/%{name}.1 + +%files +%doc LICENSE +%{_bindir}/%{name} +%{_mandir}/man1/%{name}.1.gz + + + +%changelog +* Thu Apr 9 2020 Daniel Steiner +- Initial version for CentOS 8 (0.4.1). + diff --git a/fedora/SPECS/tilesweep.spec b/fedora/SPECS/tilesweep.spec new file mode 100644 index 0000000..5fabb5b --- /dev/null +++ b/fedora/SPECS/tilesweep.spec @@ -0,0 +1,108 @@ +# +# spec file for package tilesweep +# + +%define geouser geo + +Name: tilesweep +Summary: An OpenStreetMap tile server +Url: https://github.com/seemk/TileSweep +Version: 0.1.0 +Release: 1%{?dist} +License: BSD +Group: System Environment/Daemons +Source0: %{name}.tgz +Source1: %{name}-conf.ini +Source2: %{name}-tmpfiles.conf +Source3: %{name}-systemd.service +BuildRoot: %{_tmppath}/%{name}-%{version}-build + +BuildRequires: mapnik-devel >= 3.0.12 + +%description +An OpenStreetMap tile server. + +Features: + +- Prerendering based on polygon and zoom levels selection. +- Offline tile cache (tiles can be prerendered and served without Mapnik) +- Efficient disk usage + + +%prep +%setup -qn %{name} + +%build +pushd %{name} +mkdir build +cd build +cmake .. +make +popd + +%install +pushd %{name}/build/bundle +install -d %{buildroot}/opt/%{name} +install -d %{buildroot}/opt/%{name}/ui +install -d %{buildroot}%{_sysconfdir}/systemd +install -d %{buildroot}%{_sysconfdir}/tmpfiles.d +install %{name} %{buildroot}/opt/%{name}/%{name} +install ui/app.js %{buildroot}/opt/%{name}/ui/app.js +install ui/app.css %{buildroot}/opt/%{name}/ui/app.css +install ui/index.html %{buildroot}/opt/%{name}/ui/index.html +install %{S:1} %{buildroot}/opt/%{name}/conf.ini +install %{S:2} %{buildroot}%{_sysconfdir}/tmpfiles.d/%{name} +install %{S:3} %{buildroot}%{_sysconfdir}/systemd/%{name}.service +popd + +%clean +[ "%{buildroot}" != "/" ] && [ -d "%{buildroot}" ] && rm -rf %{buildroot} +[ "%{_builddir}" != "/" ] && [ -d "%{_builddir}" ] && rm -rf %{_builddir}/* + +%pre +getent group %{geouser} > /dev/null || groupadd -r %{geouser} +getent passwd %{geouser} > /dev/null || \ + useradd -m -g %{geouser} -s /bin/bash \ + -c "Geo Mapnik user" %{geouser} + +%post +%if 0%{?using_systemd} +%if 0%{?systemd_macro_scriptlet} +if [ $1 -eq 1 ]; then +%systemd_post %{name}.service +fi +%firewalld_reload +%endif +%endif + +%preun +%if 0%{?using_systemd} +if [ $1 -eq 0 ]; then +systectl stop %{name}.service +fi +%endif + +%postun +%if 0%{?using_systemd} +%if 0%{?systemd_macro_scriptlet} +if [ $1 -eq 1 ]; then +%systemd_postun_with_restart %{name}.service +%firewalld_reload +fi +%endif +%endif + +%files +%defattr(-,root,root,-) +%doc COPYING README.md +/opt/%{name}/%{name} +%dir /opt/%{name}/ui +/opt/%{name}/ui/* +%dir %{_rundir}/%{name} +%config(noreplace) /opt/%{name}/conf.ini +%config %{_sysconfdir}/tmpfiles.d/%{name} + +%changelog +* Thu May 21 2020 Daniel Steiner +- Initial setup. +