Alma 9 packages added and updated

This commit is contained in:
2023-05-19 09:41:21 +02:00
parent eb9304b9c9
commit 3194e5f5f8
10 changed files with 3694 additions and 0 deletions

View File

@@ -0,0 +1,151 @@
Name: GeoIP-GeoLite-data
# The geolite databases were traditionally updated on the first Tuesday of each month,
# hence we use a versioning scheme of YYYY.MM for the Fedora package.
#
# No further releases of IPv4 GeoLite Legacy databases will be made from April 2018.
Version: 2018.06
Release: 8%{?dist}
Summary: Free GeoLite IP geolocation country database
# License specified at http://dev.maxmind.com/geoip/legacy/geolite/#License
License: CC-BY-SA
URL: http://dev.maxmind.com/geoip/legacy/geolite/
Source0: http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
Source1: http://geolite.maxmind.com/download/geoip/database/GeoIPv6.dat.gz
Source2: http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
Source3: http://geolite.maxmind.com/download/geoip/database/GeoLiteCityv6-beta/GeoLiteCityv6.dat.gz
Source4: http://download.maxmind.com/download/geoip/database/asnum/GeoIPASNum.dat.gz
Source5: http://download.maxmind.com/download/geoip/database/asnum/GeoIPASNumv6.dat.gz
BuildArch: noarch
# For compatibility with monolithic GeoIP packages in Fedora 21 and older
# releases, we ensure that all databases are installed together; going
# forward, only the IPv4 country database is installed by default and the user
# can choose whether or not to install the databases from the extra package
%if 0%{?fedora} < 22 && 0%{?rhel} < 8
Requires: GeoIP-GeoLite-data-extra = %{version}-%{release}
%endif
# This data has previously been available in differently-named packages
Obsoletes: GeoIP-data < 1.6.4-10
Provides: GeoIP-data = %{version}
Obsoletes: geoip-geolite < %{version}
Provides: geoip-geolite = %{version}
# The data was unbundled from GeoIP at 1.6.4-3
Conflicts: GeoIP < 1.6.4-3
%description
The GeoLite databases are free IP geolocation databases. This package contains
a database that maps IPv4 addresses to countries.
This product includes GeoLite data created by MaxMind, available from
http://www.maxmind.com/
%package extra
Summary: Free GeoLite IP geolocation databases
License: CC-BY-SA
Requires: %{name} = %{version}-%{release}
%description extra
The GeoLite databases are free IP geolocation databases. This package contains
databases that map IPv6 addresses to countries, plus IPv4 and IPv6 addresses
to cities and autonomous system numbers.
This product includes GeoLite data created by MaxMind, available from
http://www.maxmind.com/
%prep
%setup -q -T -c
install -p -m 644 %{SOURCE0} GeoLiteCountry.dat.gz; gunzip GeoLiteCountry.dat
install -p -m 644 %{SOURCE1} GeoIPv6.dat.gz; gunzip GeoIPv6.dat
install -p -m 644 %{SOURCE2} GeoLiteCity.dat.gz; gunzip GeoLiteCity.dat
install -p -m 644 %{SOURCE3} GeoLiteCityv6.dat.gz; gunzip GeoLiteCityv6.dat
install -p -m 644 %{SOURCE4} GeoLiteASNum.dat.gz; gunzip GeoLiteASNum.dat
install -p -m 644 %{SOURCE5} GeoIPASNumv6.dat.gz; gunzip GeoIPASNumv6.dat
%build
# This section intentionally left empty
%install
mkdir -p %{buildroot}%{_datadir}/GeoIP/
for db in \
GeoLiteCountry.dat \
GeoIPv6.dat \
GeoLiteCity.dat \
GeoLiteCityv6.dat \
GeoLiteASNum.dat \
GeoIPASNumv6.dat
do
install -p -m 644 $db %{buildroot}%{_datadir}/GeoIP/
done
# Add compat symlinks for GeoIPASNum.dat and GeoLiteASNumv6.dat
# ([upstream] database names used in the old geoip-geolite package)
ln -sf GeoLiteASNum.dat %{buildroot}%{_datadir}/GeoIP/GeoIPASNum.dat
ln -sf GeoIPASNumv6.dat %{buildroot}%{_datadir}/GeoIP/GeoLiteASNumv6.dat
# Symlinks for City databases to be where upstream expects them
# (geoiplookup -v ...)
ln -sf GeoLiteCity.dat %{buildroot}%{_datadir}/GeoIP/GeoIPCity.dat
ln -sf GeoLiteCityv6.dat %{buildroot}%{_datadir}/GeoIP/GeoIPCityv6.dat
%preun
# If the package is being uninstalled (rather than upgraded), we remove
# the GeoIP.dat symlink, provided that it points to GeoLiteCountry.dat;
# rpm will then be able to remove the %%{_datadir}/GeoIP directory
if [ $1 = 0 ]; then
if [ -h %{_datadir}/GeoIP/GeoIP.dat ]; then
geoipdat=`readlink %{_datadir}/GeoIP/GeoIP.dat`
if [ "$geoipdat" = "GeoLiteCountry.dat" ]; then
rm -f %{_datadir}/GeoIP/GeoIP.dat
fi
fi
fi
exit 0
%posttrans
# Create the default GeoIP.dat as a symlink to GeoLiteCountry.dat
#
# This has to be done in %%posttrans rather than %%post because an old
# package's GeoIP.dat may still be present during %%post in an upgrade
#
# Don't do this if there is any existing GeoIP.dat, as we don't want to
# override what the user has put there
#
# Also, if there's an existing GeoIP.dat.rpmsave, we're probably doing
# an upgrade from an old version of GeoIP that packaged GeoIP.dat as
# %%config(noreplace), so rename GeoIP.dat.rpmsave back to GeoIP.dat
# instead of creating a new symlink
if [ ! -e %{_datadir}/GeoIP/GeoIP.dat ]; then
if [ -e %{_datadir}/GeoIP/GeoIP.dat.rpmsave ]; then
mv %{_datadir}/GeoIP/GeoIP.dat.rpmsave \
%{_datadir}/GeoIP/GeoIP.dat
else
ln -sf GeoLiteCountry.dat %{_datadir}/GeoIP/GeoIP.dat
fi
fi
exit 0
%files
%dir %{_datadir}/GeoIP/
# The databases are %%verify(not md5 size mtime) so that they can be updated
# via cron scripts and rpm will not moan about the files having changed
%verify(not md5 size mtime) %{_datadir}/GeoIP/GeoLiteCountry.dat
%files extra
# The databases are %%verify(not md5 size mtime) so that they can be updated
# via cron scripts and rpm will not moan about the files having changed
%verify(not md5 size mtime) %{_datadir}/GeoIP/GeoIPv6.dat
%verify(not md5 size mtime) %{_datadir}/GeoIP/GeoLiteCity.dat
%verify(not md5 size mtime) %{_datadir}/GeoIP/GeoLiteCityv6.dat
%verify(not md5 size mtime) %{_datadir}/GeoIP/GeoLiteASNum.dat
%verify(not md5 size mtime) %{_datadir}/GeoIP/GeoIPASNumv6.dat
# The compat symlinks are just regular files as they should never need to be
# changed
%{_datadir}/GeoIP/GeoIPASNum.dat
%{_datadir}/GeoIP/GeoIPCity.dat
%{_datadir}/GeoIP/GeoIPCityv6.dat
%{_datadir}/GeoIP/GeoLiteASNumv6.dat
%changelog
* Sat Jan 21 2023 Daniel Steiner <daniel.steiner@dsteiner.ch>
- First build for Almalinux 9.

91
alma/SPECS/GeoIP.spec Normal file
View File

@@ -0,0 +1,91 @@
# Tests require network access so fail in koji; build using --with tests to run them yourself
%bcond_with tests
Name: GeoIP
Version: 1.6.12
Release: 9%{?dist}
Summary: Library for country/city/organization to IP address or hostname mapping
License: LGPLv2+
URL: http://www.maxmind.com/app/c
Source0: https://github.com/maxmind/geoip-api-c/releases/download/v%{version}/GeoIP-%{version}.tar.gz
BuildRequires: coreutils
BuildRequires: gcc
BuildRequires: make
BuildRequires: sed
BuildRequires: zlib-devel
Requires: GeoIP-data
# For compatibility with original release of GeoIP in old distributions
%if 0%{?fedora} < 22 && 0%{?rhel} < 8
Requires: geoipupdate
%endif
# Old name of GeoIP library package
Obsoletes: geoip < %{version}-%{release}
Provides: geoip = %{version}-%{release}
%description
GeoIP is a C library that enables the user to find the country that any IP
address or hostname originates from.
It uses file based databases that can optionally be updated on a weekly basis
by installing the geoipupdate-cron (IPv4) and/or geoipupdate-cron6 (IPv6)
packages.
%package devel
Summary: Development headers and libraries for GeoIP
Requires: %{name} = %{version}-%{release}
Provides: geoip-devel = %{version}-%{release}
Obsoletes: geoip-devel < %{version}-%{release}
%description devel
Development headers and static libraries for building GeoIP-based applications.
%prep
%setup -q
%build
%configure --disable-static --disable-dependency-tracking
# Kill bogus rpaths
sed -i -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' \
-e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
make %{?_smp_mflags}
%install
make DESTDIR=%{buildroot} INSTALL="install -p" install
# nix the stuff we don't need like .la files.
rm -f %{buildroot}%{_libdir}/*.la
%check
# Tests require network access so fail in koji; build using --with tests to run them yourself
%{?with_tests:LD_LIBRARY_PATH=%{buildroot}%{_libdir} make check}
%ldconfig_scriptlets
%files
%if 0%{?_licensedir:1}
%license COPYING
%else
%doc COPYING
%endif
%doc AUTHORS ChangeLog NEWS.md README.md
%{_bindir}/geoiplookup
%{_bindir}/geoiplookup6
%{_libdir}/libGeoIP.so.1
%{_libdir}/libGeoIP.so.1.*
%{_mandir}/man1/geoiplookup.1*
%{_mandir}/man1/geoiplookup6.1*
%files devel
%{_includedir}/GeoIP.h
%{_includedir}/GeoIPCity.h
%{_libdir}/libGeoIP.so
%{_libdir}/pkgconfig/geoip.pc
%changelog
* Sat Jan 21 2023 Daniel Steiner <daniel.steiner@dsteiner.ch>
- First build for Almalinux 9.

117
alma/SPECS/cjose.spec Normal file
View File

@@ -0,0 +1,117 @@
Name: cjose
Version: 0.6.1
Release: 13%{?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
# Patch taken from CentOS Stream:
# https://gitlab.com/redhat/centos-stream/rpms/cjose/-/blob/c9s/0001-Define-OPENSSL_API_COMPAT-to-0x10101000L.patch
Patch2: 0001-Define-OPENSSL_API_COMPAT-to-0x10101000L.patch
BuildRequires: gcc
BuildRequires: doxygen
BuildRequires: openssl-devel
BuildRequires: jansson-devel
BuildRequires: check-devel
BuildRequires: make
%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
* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.1-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Fri Oct 28 2022 Stephen Gallagher <sgallagh@redhat.com> - 0.6.1-12
- Enable build on OpenSSL 3.0
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.1-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.1-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Tue Sep 14 2021 Sahana Prasad <sahana@redhat.com> - 0.6.1-9
- Rebuilt with OpenSSL 3.0.0
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.1-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.1-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.1-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Thu Aug 2 2018 <jdennis@redhat.com> - 0.6.1-2
- fix concatkdf big endian architecture problem.
Upstream issue #77.
* Wed Aug 1 2018 <jdennis@redhat.com> - 0.6.1-1
- upgrade to latest upstream 0.6.1
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Fri Jan 26 2018 Patrick Uiterwijk <patrick@puiterwijk.org> - 0.5.1-1
- Initial packaging

113
alma/SPECS/goaccess.spec Normal file
View File

@@ -0,0 +1,113 @@
Name: goaccess
Version: 1.7.2
Release: 1%{?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
#Patch1: goaccess-commons.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: gcc
BuildRequires: GeoIP-devel
BuildRequires: ncurses-devel
BuildRequires: tokyocabinet-devel
BuildRequires: zlib-devel
BuildRequires: bzip2-devel
BuildRequires: gettext-devel
BuildRequires: libmaxminddb-devel
%if %{with openssl}
BuildRequires: openssl-devel
%endif
%description
GoAccess is a real-time web log analyzer and interactive viewer that runs in a
terminal in *nix systems. It provides fast and valuable HTTP statistics for
system administrators that require a visual server report on the fly.
Features:
GoAccess parses the specified web log file and outputs the data to terminal.
* General statistics, bandwidth, etc.
* Time taken to serve the request (useful to track pages that are slowing down.
your site).
* Metrics for cumulative, average and slowest running requests.
* Top visitors.
* Requested files & static files.
* 404 or Not Found.
* Hosts, Reverse DNS, IP Location.
* Operating Systems.
* Browsers and Spiders.
* Referring Sites & URLs.
* Keyphrases.
* Geo Location - Continent/Country/City.
* Visitors Time Distribution.
* HTTP Status Codes.
* Ability to output JSON and CSV.
* Tailor GoAccess to suit your own color taste/schemes.
* Support for large datasets + data persistence.
* Support for IPv6.
* Output statistics to HTML.
and more...
GoAccess allows any custom log format string. Predefined options include, but
not limited to:
* Amazon CloudFront (Download Distribution).
* AWS Elastic Load Balancing.
* Apache/Nginx Common/Combined + VHosts.
* Google Cloud Storage.
* W3C format (IIS).
%prep
%autosetup -p0
# Prevent flags being overridden again and again.
#sed -i 's|-pthread|$CFLAGS \0|' configure.ac
sed -i '/-pthread/d' configure.ac
%build
autoreconf -fiv
%configure \
--enable-debug \
--enable-geoip=legacy \
--enable-geoip=mmdb \
--enable-utf8 \
--with-getline \
--with-openssl
%make_build
%install
%make_install
%find_lang %{name}
%files -f %{name}.lang
%license COPYING
%config(noreplace) %{_sysconfdir}/%{name}/%{name}.conf
%config(noreplace) %{_sysconfdir}/%{name}/browsers.list
%config(noreplace) %{_sysconfdir}/%{name}/podcast.list
%{_bindir}/%{name}
%{_mandir}/man1/%{name}.1*
%changelog
* Fri May 19 2023 Daniel Steiner <daniel.steiner@threema.ch>
- First build on Alma 9.
- Update to latest version 1.7.2.
* Sat Jan 21 2023 Daniel Steiner <daniel.steiner@threema.ch>
- Update to latest version 1.7.
* Fri Feb 18 2022 Daniel Steiner <daniel.steiner@threema.ch>
- Update to latest version 1.5.5.
* Wed Mar 3 2021 Daniel Steiner <daniel.steiner@threema.ch>
- Update to latest version 1.4.6.
* Tue Jan 26 2021 Daniel Steiner <daniel.steiner@threema.ch>
- Update to latest version > 1.4.4 to enable json output support.
* Thu Aug 27 2020 Daniel Steiner <daniel.steiner@threema.ch>
- mmdb enabled for new GeoLite2 dBs.
* Tue Aug 25 2020 Daniel Steiner <daniel.steiner@threema.ch>
- First, initial version for CentOS 8 (1.4)

View File

@@ -0,0 +1,150 @@
%{!?_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.14
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
BuildRequires: libtool
BuildRequires: compat-openssl11
%{?_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
# switch installation methods, the one we need is commented
sed -i -e '72d;73{s/^.//;s/@/$(DESTDIR)@/}' Makefile.am
%build
./autogen.sh
%configure \
--with-apxs=%{_bindir}/apxs \
--with-jq=%{_libdir} \
%{?_with_hiredis} \
%{?_without_hiredis}
make %{?_smp_mflags}
%check
make test
%install
mkdir -p $RPM_BUILD_ROOT%{_httpd_moddir}
./install-sh .libs/%{name}.so $RPM_BUILD_ROOT%{_httpd_moddir}/%{name}.so
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
* Fri May 19 2023 Daniel Steiner <daniel.steiner@dsteiner.ch>
- Update to 2.4.14.
* Mon Dec 12 2022 Daniel Steiner <daniel.steiner@dsteiner.ch>
- Update to 2.4.12.1.
* Wed Oct 19 2022 Daniel Steiner <daniel.steiner@dsteiner.ch>
- Update to 2.4.12.
* Fri Aug 26 2022 Daniel Steiner <daniel.steiner@dsteiner.ch>
- Update to 2.4.11.3.
* Wed Mar 30 2022 Daniel Steiner <daniel.steiner@dsteiner.ch>
- Update to 2.4.11.1.
* Tue Mar 29 2022 Daniel Steiner <daniel.steiner@dsteiner.ch>
- libjq enabled.
* Fri Feb 18 2022 Daniel Steiner <daniel.steiner@dsteiner.ch>
- Update to 2.4.11
* Mon Dec 6 2021 Daniel Steiner <daniel.steiner@dsteiner.ch>
- Update to 2.4.10
* Tue Aug 31 2021 Daniel Steiner <daniel.steiner@dsteiner.ch>
- Update to 2.4.9.3.
* Thu Jul 29 2021 Daniel Steiner <daniel.steiner@dsteiner.ch>
- Update to 2.4.9.
* Sun May 23 2021 Daniel Steiner <daniel.steiner@dsteiner.ch>
- Update to 2.4.8.2.
* Wed Apr 28 2021 Daniel Steiner <daniel.steiner@dsteiner.ch>
- Update to 2.4.7.
* Wed Mar 3 2021 Daniel Steiner <daniel.steiner@dsteiner.ch>
- Update to 2.4.6.
* Sun Nov 29 2020 Daniel Steiner <daniel.steiner@dsteiner.ch>
- Update to 2.4.5.
* Sat Sep 5 2020 Daniel Steiner <daniel.steiner@dsteiner.ch>
- Update to 2.4.4.1.
* Mon Jul 6 2020 Daniel Steiner <daniel.steiner@threema.ch>
- Update to 2.4.3.
* Thu Feb 13 2020 Daniel Steiner <daniel.steiner@threema.ch>
- Update to 2.4.1.
* Thu Dec 19 2019 Daniel Steiner <daniel.steiner@threema.ch>
- First initial build.

83
alma/SPECS/mydumper.spec Normal file
View File

@@ -0,0 +1,83 @@
# to build agains mariadb libraries, set it to 0
%define _ver 1
%define _extent -%{_ver}
Name: mydumper
Summary: mydumper and myloader MySQL backup tools
Version: 0.14.5
Release: %{_ver}%{?dist}
Group: Applications/Databases
License: GPL
Vendor: Max Bubenick
URL: https://github.com/maxbube/mydumper
Source: mydumper-%{version}%{_extent}.tar.gz
BuildArch: x86_64
AutoReq: no
BuildRequires: percona-server-devel
#BuildRequires: Percona-Server-devel-57
#BuildRequires: mysql-devel
#BuildRequires: mariadb-devel
BuildRequires: pkgconf-pkg-config
BuildRequires: pcre-devel
BuildRequires: glib2-devel
BuildRequires: zlib-devel
BuildRequires: pcre-devel
BuildRequires: openssl-devel
BuildRequires: cmake
BuildRequires: python3-sphinx
BuildRequires: gcc-c++
BuildRequires: git
%description
This package provides mydumper and myloader MySQL backup tools.
mydumper is a tool used for backing up MySQL database servers much
faster than the mysqldump tool distributed with MySQL. It also has the
capability to retrieve the binary logs from the remote server at the same time
as the dump itself. The advantages of mydumper are: parallelism,
easier to manage output, consistency, manageability.
myloader is a tool used for multi-threaded restoration of mydumper backups.
%prep
%setup -q -n %{name}-%{version}%{_extent}
%build
%define debug_package %{nil}
cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix}
make
%install
%__make install DESTDIR=${RPM_BUILD_ROOT}
%clean
rm -rf ${RPM_BUILD_ROOT}
%files
%defattr(-,root,root,-)
%{_bindir}/*
%{_datarootdir}/doc/%{name}/*
%{_mandir}/man1/*
%config(noreplace) %{_sysconfdir}/%{name}.cnf
%changelog
* Fri May 19 2023 Daniel Steiner <daniel.steiner@dsteiner.ch>
- Update to 0.14.5-1.
* Fri Sep 23 2022 Daniel Steiner <daniel.steiner@dsteiner.ch>
- Update to 0.12.7-3.
* Fri Sep 16 2022 Daniel Steiner <daniel.steiner@dsteiner.ch>
- Update to 0.12.7.
* Sat May 14 2022 Daniel Steiner <daniel.steiner@dsteiner.ch>
- Build on Almalinux 8.6.
* Fri May 6 2022 Daniel Steiner <daniel.steiner@dsteiner.ch>
- Update to 0.12.3-1
* Fri Mar 18 2022 Daniel Steiner <daniel.steiner@dsteiner.ch>
- First build on Fedora 35.
* Sun Jul 4 2021 Daniel Steiner <daniel.steiner@dsteiner.ch>
- First build on Fedora 33.

935
alma/SPECS/nginx.spec Normal file
View File

@@ -0,0 +1,935 @@
%global _hardened_build 1
%global nginx_user nginx
# additional module settings:
%global with_ldap_module 1
%global with_echo_module 1
%global with_modsecurity_module 0
%global with_vts_module 1
%global with_header_more_module 1
%global with_set_misc_module 1
%global with_http_upload_module 1
%global with_http_accept_language_module 1
%define accept_langver 1.0.0
%define mod_echo_vers 0.62
%global modsecver 3.0.2
%global vtsversion 0.1.18
%global headervers 0.33
# Disable strict symbol checks in the link editor.
# See: https://src.fedoraproject.org/rpms/redhat-rpm-config/c/078af19
%undefine _strict_symbol_defs_build
%bcond_with geoip
# nginx gperftools support should be dissabled for RHEL >= 8
# see: https://bugzilla.redhat.com/show_bug.cgi?id=1931402
%if 0%{?rhel} >= 8
%global with_gperftools 0
%else
# gperftools exist only on selected arches
# gperftools *detection* is failing on ppc64*, possibly only configure
# bug, but disable anyway.
%ifnarch s390 s390x ppc64 ppc64le
%global with_gperftools 1
%endif
%endif
%global with_aio 1
%if 0%{?fedora} > 22
%global with_mailcap_mimetypes 1
%endif
# Cf. https://www.nginx.com/blog/creating-installable-packages-dynamic-modules/
%global nginx_abiversion %{version}
%global nginx_moduledir %{_libdir}/nginx/modules
%global nginx_moduleconfdir %{_datadir}/nginx/modules
%global nginx_srcdir %{_usrsrc}/%{name}-%{version}-%{release}
# Do not generate provides/requires from nginx sources
%global __provides_exclude_from ^%{nginx_srcdir}/.*$
%global __requires_exclude_from ^%{nginx_srcdir}/.*$
Name: nginx
Epoch: 1
Version: 1.20.1
Release: 14%{?dist}.alma
Summary: A high performance web server and reverse proxy server
# BSD License (two clause)
# http://www.freebsd.org/copyright/freebsd-license.html
License: BSD
URL: https://nginx.org
Source0: https://nginx.org/download/nginx-%{version}.tar.gz
Source1: https://nginx.org/download/nginx-%{version}.tar.gz.asc
# Keys are found here: https://nginx.org/en/pgp_keys.html
Source2: https://nginx.org/keys/maxim.key
Source3: https://nginx.org/keys/mdounin.key
Source4: https://nginx.org/keys/sb.key
Source10: nginx.service
Source11: nginx.logrotate
Source12: nginx.conf
Source13: nginx-upgrade
Source14: nginx-upgrade.8
Source15: macros.nginxmods.in
Source16: nginxmods.attr
Source102: nginx-logo.png
Source103: 404.html
Source104: 50x.html
Source200: README.dynamic
Source210: UPGRADE-NOTES-1.6-to-1.10
# additonal modules:
Source300: ngx_http_auth_ldap_module.tar.gz
Source301: modsecurity-nginx-%{modsecver}.tar.gz
Source302: modsecurity.conf
Source303: nginx-module-vts-%{vtsversion}.tar.gz
Source304: headers-more-nginx-module-%{headervers}.tar.gz
Source305: set-misc-nginx-module.tar.gz
Source306: ngx_devel_kit.tar.gz
Source307: echo-nginx-module-%{mod_echo_vers}.tar.gz
Source308: nginx-upload-module.tar.gz
Source309: main.conf
Source310: rules.conf
Source311: nginx_accept_language_module-1.0.0.tar.gz
# removes -Werror in upstream build scripts. -Werror conflicts with
# -D_FORTIFY_SOURCE=2 causing warnings to turn into errors.
Patch0: 0001-remove-Werror-in-upstream-build-scripts.patch
# downstream patch - fix PIDFile race condition (rhbz#1869026)
# rejected upstream: https://trac.nginx.org/nginx/ticket/1897
Patch1: 0002-fix-PIDFile-handling.patch
# downstream patch for RHEL - https://bugzilla.redhat.com/show_bug.cgi?id=1955564
Patch2: 0003-Support-loading-cert-hardware-token-PKC.patch
# downstream patch for RHEL - https://bugzilla.redhat.com/show_bug.cgi?id=2006822
Patch3: 0004-Set-proper-compiler-optimalization-level-O2-for-perl.patch
# downstream patch for RHEL - https://bugzilla.redhat.com/show_bug.cgi?id=2006420
Patch4: 0005-Init-openssl-engine-properly.patch
# upstream patch - fixing ALPACA(CVE-2021-3618) security issue - https://bugzilla.redhat.com/show_bug.cgi?id=1975623
Patch5: 0006-Fix-ALPACA-security-issue.patch
# downstream patch for RHEL - https://bugzilla.redhat.com/show_bug.cgi?id=2028781
Patch6: 0007-Enable-TLSv1.3-by-default.patch
BuildRequires: make
BuildRequires: gcc
BuildRequires: gnupg2
%if 0%{?with_gperftools}
BuildRequires: gperftools-devel
%endif
%if 0%{?fedora} || 0%{?rhel} >= 8
BuildRequires: openssl-devel
%else
BuildRequires: openssl11-devel
%endif
BuildRequires: pcre-devel
BuildRequires: zlib-devel
Requires: nginx-filesystem = %{epoch}:%{version}-%{release}
%if 0%{?el7}
# centos-logos el7 does not provide 'system-indexhtml'
Requires: system-logos redhat-indexhtml
# need to remove epel7 geoip sub-package, doesn't work anymore
# https://bugzilla.redhat.com/show_bug.cgi?id=1576034
# https://bugzilla.redhat.com/show_bug.cgi?id=1664957
Obsoletes: nginx-mod-http-geoip <= 1:1.16
%else
Requires: system-logos-httpd
%endif
Requires: pcre
Provides: webserver
%if 0%{?fedora} || 0%{?rhel} >= 8
Recommends: logrotate
%endif
Requires: %{name}-core = %{epoch}:%{version}-%{release}
BuildRequires: systemd
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
# For external nginx modules
Provides: nginx(abi) = %{nginx_abiversion}
%description
Nginx is a web server and a reverse proxy server for HTTP, SMTP, POP3 and
IMAP protocols, with a strong focus on high concurrency, performance and low
memory usage.
%package core
Summary: nginx minimal core
%if 0%{?with_mailcap_mimetypes}
Requires: nginx-mimetypes
%endif
Requires: openssl-libs
Requires(pre): nginx-filesystem
Conflicts: nginx < 1:1.20.1-13
%description core
nginx minimal core
%package all-modules
Summary: A meta package that installs all common Nginx modules
BuildArch: noarch
%if %{with geoip}
Requires: nginx-mod-http-geoip = %{epoch}:%{version}-%{release}
%endif
Requires: nginx-mod-http-image-filter = %{epoch}:%{version}-%{release}
Requires: nginx-mod-http-perl = %{epoch}:%{version}-%{release}
Requires: nginx-mod-http-xslt-filter = %{epoch}:%{version}-%{release}
Requires: nginx-mod-mail = %{epoch}:%{version}-%{release}
Requires: nginx-mod-stream = %{epoch}:%{version}-%{release}
%description all-modules
Meta package that installs all available nginx modules.
%package filesystem
Summary: The basic directory layout for the Nginx server
BuildArch: noarch
Requires(pre): shadow-utils
%description filesystem
The nginx-filesystem package contains the basic directory layout
for the Nginx server including the correct permissions for the
directories.
%if %{with geoip}
%package mod-http-geoip
Summary: Nginx HTTP geoip module
BuildRequires: GeoIP-devel
Requires: nginx(abi) = %{nginx_abiversion}
Requires: GeoIP
%description mod-http-geoip
%{summary}.
%endif
%package mod-http-image-filter
Summary: Nginx HTTP image filter module
BuildRequires: gd-devel
Requires: nginx(abi) = %{nginx_abiversion}
Requires: gd
%description mod-http-image-filter
%{summary}.
%package mod-http-perl
Summary: Nginx HTTP perl module
BuildRequires: perl-devel
%if 0%{?fedora} >= 24 || 0%{?rhel} >= 7
BuildRequires: perl-generators
%endif
BuildRequires: perl(ExtUtils::Embed)
Requires: nginx(abi) = %{nginx_abiversion}
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
Requires: perl(constant)
%description mod-http-perl
%{summary}.
%package mod-http-xslt-filter
Summary: Nginx XSLT module
BuildRequires: libxslt-devel
Requires: nginx(abi) = %{nginx_abiversion}
%description mod-http-xslt-filter
%{summary}.
%package mod-mail
Summary: Nginx mail modules
Requires: nginx(abi) = %{nginx_abiversion}
%description mod-mail
%{summary}.
%package mod-stream
Summary: Nginx stream modules
Requires: nginx(abi) = %{nginx_abiversion}
%description mod-stream
%{summary}.
%package mod-devel
Summary: Nginx module development files
Requires: nginx = %{epoch}:%{version}-%{release}
Requires: make
Requires: gcc
Requires: gd-devel
%if 0%{?with_gperftools}
Requires: gperftools-devel
%endif
%if %{with geoip}
Requires: GeoIP-devel
%endif
Requires: libxslt-devel
%if 0%{?fedora} || 0%{?rhel} >= 8
Requires: openssl-devel
%else
Requires: openssl11-devel
%endif
Requires: pcre-devel
Requires: perl-devel
Requires: perl(ExtUtils::Embed)
Requires: zlib-devel
%description mod-devel
%{summary}.
# additonal modueles:
%if 0%{?with_set_misc_module}
%package mod-set-misc
Group: System Environment/Daemons
Summary: Nginx set misc module
Requires: nginx
%description mod-set-misc
Nginx set misc module
%endif
%if 0%{?with_http_upload_module}
%package mod-http-upload
Group: System Environment/Daemons
Summary: Nginx http upload module
Requires: nginx
%description mod-http-upload
Nginx http upload module
%endif
%if 0%{?with_vts_module}
%package mod-vts
Group: System Environment/Daemons
Summary: Nginx VTS module
Requires: nginx
%description mod-vts
Nginx virtual host traffic status module
%endif
%if 0%{?with_ldap_module}
%package mod-auth-ldap
Group: System Environment/Daemons
Summary: Nginx ldap auth module
Requires: nginx
BuildRequires: openldap-devel
%description mod-auth-ldap
LDAP auth module for nginx
%endif
%if 0%{?with_modsecurity_module}
%package mod-security
Group: System Environment/Daemons
Summary: Nginx modsecurity module
Requires: nginx libmodsecurity
BuildRequires: libmodsecurity-devel
%description mod-security
Modsecurity module for nginx
%endif
%if 0%{?with_header_more_module}
%package mod-header-more
Group: System Environment/Daemons
Summary: Nginx header more module
Requires: nginx
%description mod-header-more
Header more module for nginx
%endif
%if 0%{?with_echo_module}
%package mod-echo
Group: System Environment/Daemons
Summary: Nginx echo more module
Requires: nginx
%description mod-echo
Echo module for nginx
%endif
%if 0%{?with_http_accept_language_module}
%package mod-accept-language
Group: System Environment/Daemons
Summary: Nginx echo more module
Requires: nginx
%description mod-accept-language
Accept language module for nginx
%endif
%prep
%if 0%{?with_vts_module}
%setup -q -b 303 -n nginx-module-vts-%{vtsversion}
%endif
%if 0%{?with_ldap_module}
%setup -q -b 300 -n ngx_http_auth_ldap_module
%endif
%if 0%{?with_modsecurity_module}
%setup -q -b 301 -n modsecurity-nginx-%{modsecver}
%endif
%if 0%{?with_header_more_module}
%setup -q -b 304 -n headers-more-nginx-module-%{headervers}
%endif
%if 0%{?with_set_misc_module}
%setup -q -b 305 -n set-misc-nginx-module-master
%setup -q -b 306 -n ngx_devel_kit-master
%endif
%if 0%{?with_http_upload_module}
%setup -q -b 308 -n nginx-upload-module
%endif
%if 0%{?with_echo_module}
%setup -q -b 307 -n echo-nginx-module-%{mod_echo_vers}
%endif
%if 0%{?with_http_accept_language_module}
%setup -q -b 311 -n nginx_accept_language_module-%{accept_langver}
%endif
%setup -q -b 0 -n nginx-%{version}
# Combine all keys from upstream into one file
cat %{S:2} %{S:3} %{S:4} > %{_builddir}/%{name}.gpg
%{gpgverify} --keyring='%{_builddir}/%{name}.gpg' --signature='%{SOURCE1}' --data='%{SOURCE0}'
%autosetup -p1
cp %{SOURCE200} %{SOURCE210} %{SOURCE10} %{SOURCE12} .
%if 0%{?rhel} > 0 && 0%{?rhel} < 8
sed -i -e 's#KillMode=.*#KillMode=process#g' nginx.service
sed -i -e 's#PROFILE=SYSTEM#HIGH:!aNULL:!MD5#' nginx.conf
%endif
%if 0%{?rhel} == 7
sed \
-e 's|\(ngx_feature_path=\)$|\1%{_includedir}/openssl11|' \
-e 's|\(ngx_feature_libs="\)|\1-L%{_libdir}/openssl11 |' \
-i auto/lib/openssl/conf
%endif
# Prepare sources for installation
cp -a ../%{name}-%{version} ../%{name}-%{version}-%{release}-src
mv ../%{name}-%{version}-%{release}-src .
%build
# nginx does not utilize a standard configure script. It has its own
# and the standard configure options cause the nginx configure script
# to error out. This is is also the reason for the DESTDIR environment
# variable.
export DESTDIR=%{buildroot}
# So the perl module finds its symbols:
nginx_ldopts="$RPM_LD_FLAGS -Wl,-E"
if ! ./configure \
--prefix=%{_datadir}/nginx \
--sbin-path=%{_sbindir}/nginx \
--modules-path=%{nginx_moduledir} \
--conf-path=%{_sysconfdir}/nginx/nginx.conf \
--error-log-path=%{_localstatedir}/log/nginx/error.log \
--http-log-path=%{_localstatedir}/log/nginx/access.log \
--http-client-body-temp-path=%{_localstatedir}/lib/nginx/tmp/client_body \
--http-proxy-temp-path=%{_localstatedir}/lib/nginx/tmp/proxy \
--http-fastcgi-temp-path=%{_localstatedir}/lib/nginx/tmp/fastcgi \
--http-uwsgi-temp-path=%{_localstatedir}/lib/nginx/tmp/uwsgi \
--http-scgi-temp-path=%{_localstatedir}/lib/nginx/tmp/scgi \
--pid-path=/run/nginx.pid \
--lock-path=/run/lock/subsys/nginx \
--user=%{nginx_user} \
--group=%{nginx_user} \
--with-compat \
--with-debug \
%if 0%{?with_aio}
--with-file-aio \
%endif
%if 0%{?with_gperftools}
--with-google_perftools_module \
%endif
--with-http_addition_module \
--with-http_auth_request_module \
--with-http_dav_module \
--with-http_degradation_module \
--with-http_flv_module \
%if %{with geoip}
--with-http_geoip_module=dynamic \
%endif
%if 0%{?with_vts_module}
--add-dynamic-module=%{_builddir}/nginx-module-vts-%{vtsversion} \
%endif
%if 0%{?with_ldap_module}
--add-dynamic-module=%{_builddir}/ngx_http_auth_ldap_module \
%endif
%if 0%{?with_header_more_module}
--add-dynamic-module=%{_builddir}/headers-more-nginx-module-%{headervers} \
%endif
%if 0%{?with_set_misc_module}
--add-dynamic-module=%{_builddir}/echo-nginx-module-%{mod_echo_vers} \
%endif
%if 0%{?with_modsecurity_module}
--add-dynamic-module=%{_builddir}/modsecurity-nginx-%{modsecver} \
%endif
%if 0%{?with_set_misc_module}
--add-dynamic-module=%{_builddir}/ngx_devel_kit-master \
--add-dynamic-module=%{_builddir}/set-misc-nginx-module-master \
%if 0%{?with_http_upload_module}
--add-dynamic-module=%{_builddir}/nginx-upload-module \
%endif
%if 0%{?with_http_accept_language_module}
--add-dynamic-module=%{_builddir}/nginx_accept_language_module-%{accept_langver} \
%endif
%endif
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_image_filter_module=dynamic \
--with-http_mp4_module \
--with-http_perl_module=dynamic \
--with-http_random_index_module \
--with-http_realip_module \
--with-http_secure_link_module \
--with-http_slice_module \
--with-http_ssl_module \
--with-http_stub_status_module \
--with-http_sub_module \
--with-http_v2_module \
--with-http_xslt_module=dynamic \
--with-mail=dynamic \
--with-mail_ssl_module \
--with-pcre \
--with-pcre-jit \
--with-stream=dynamic \
--with-stream_ssl_module \
--with-stream_ssl_preread_module \
--with-threads \
--with-cc-opt="%{optflags} $(pcre-config --cflags)" \
--with-ld-opt="$nginx_ldopts"; then
: configure failed
cat objs/autoconf.err
exit 1
fi
%make_build
%install
%make_install INSTALLDIRS=vendor
find %{buildroot} -type f -name .packlist -exec rm -f '{}' \;
find %{buildroot} -type f -name perllocal.pod -exec rm -f '{}' \;
find %{buildroot} -type f -empty -exec rm -f '{}' \;
find %{buildroot} -type f -iname '*.so' -exec chmod 0755 '{}' \;
install -p -D -m 0644 ./nginx.service \
%{buildroot}%{_unitdir}/nginx.service
install -p -D -m 0644 %{SOURCE11} \
%{buildroot}%{_sysconfdir}/logrotate.d/nginx
install -p -d -m 0755 %{buildroot}%{_sysconfdir}/systemd/system/nginx.service.d
install -p -d -m 0755 %{buildroot}%{_unitdir}/nginx.service.d
install -p -d -m 0755 %{buildroot}%{_sysconfdir}/nginx/conf.d
install -p -d -m 0755 %{buildroot}%{_sysconfdir}/nginx/default.d
install -p -d -m 0700 %{buildroot}%{_localstatedir}/lib/nginx
install -p -d -m 0700 %{buildroot}%{_localstatedir}/lib/nginx/tmp
install -p -d -m 0700 %{buildroot}%{_localstatedir}/log/nginx
install -p -d -m 0755 %{buildroot}%{_datadir}/nginx/html
install -p -d -m 0755 %{buildroot}%{nginx_moduleconfdir}
install -p -d -m 0755 %{buildroot}%{nginx_moduledir}
install -p -m 0644 ./nginx.conf \
%{buildroot}%{_sysconfdir}/nginx
rm -f %{buildroot}%{_datadir}/nginx/html/index.html
%if 0%{?el7}
ln -s ../../doc/HTML/index.html \
%{buildroot}%{_datadir}/nginx/html/index.html
ln -s ../../doc/HTML/img \
%{buildroot}%{_datadir}/nginx/html/img
ln -s ../../doc/HTML/en-US \
%{buildroot}%{_datadir}/nginx/html/en-US
%else
ln -s ../../testpage/index.html \
%{buildroot}%{_datadir}/nginx/html/index.html
%endif
install -p -m 0644 %{SOURCE102} \
%{buildroot}%{_datadir}/nginx/html
ln -s nginx-logo.png %{buildroot}%{_datadir}/nginx/html/poweredby.png
mkdir -p %{buildroot}%{_datadir}/nginx/html/icons
# Symlink for the powered-by-$DISTRO image:
ln -s ../../../pixmaps/poweredby.png \
%{buildroot}%{_datadir}/nginx/html/icons/poweredby.png
%if 0%{?rhel} >= 9
ln -s ../../pixmaps/system-noindex-logo.png \
%{buildroot}%{_datadir}/nginx/html/system_noindex_logo.png
%endif
install -p -m 0644 %{SOURCE103} %{SOURCE104} \
%{buildroot}%{_datadir}/nginx/html
%if 0%{?with_mailcap_mimetypes}
rm -f %{buildroot}%{_sysconfdir}/nginx/mime.types
%endif
install -p -D -m 0644 %{_builddir}/nginx-%{version}/objs/nginx.8 \
%{buildroot}%{_mandir}/man8/nginx.8
install -p -D -m 0755 %{SOURCE13} %{buildroot}%{_bindir}/nginx-upgrade
install -p -D -m 0644 %{SOURCE14} %{buildroot}%{_mandir}/man8/nginx-upgrade.8
for i in ftdetect ftplugin indent syntax; do
install -p -D -m644 contrib/vim/${i}/nginx.vim \
%{buildroot}%{_datadir}/vim/vimfiles/${i}/nginx.vim
done
%if %{with geoip}
echo 'load_module "%{nginx_moduledir}/ngx_http_geoip_module.so";' \
> %{buildroot}%{nginx_moduleconfdir}/mod-http-geoip.conf
%endif
echo 'load_module "%{nginx_moduledir}/ngx_http_image_filter_module.so";' \
> %{buildroot}%{nginx_moduleconfdir}/mod-http-image-filter.conf
echo 'load_module "%{nginx_moduledir}/ngx_http_perl_module.so";' \
> %{buildroot}%{nginx_moduleconfdir}/mod-http-perl.conf
echo 'load_module "%{nginx_moduledir}/ngx_http_xslt_filter_module.so";' \
> %{buildroot}%{nginx_moduleconfdir}/mod-http-xslt-filter.conf
echo 'load_module "%{nginx_moduledir}/ngx_mail_module.so";' \
> %{buildroot}%{nginx_moduleconfdir}/mod-mail.conf
echo 'load_module "%{nginx_moduledir}/ngx_stream_module.so";' \
> %{buildroot}%{nginx_moduleconfdir}/mod-stream.conf
# Install files for supporting nginx module builds
## Install source files
mkdir -p %{buildroot}%{_usrsrc}
mv %{name}-%{version}-%{release}-src %{buildroot}%{nginx_srcdir}
## Install rpm macros
mkdir -p %{buildroot}%{_rpmmacrodir}
sed -e "s|@@NGINX_ABIVERSION@@|%{nginx_abiversion}|g" \
-e "s|@@NGINX_MODDIR@@|%{nginx_moduledir}|g" \
-e "s|@@NGINX_MODCONFDIR@@|%{nginx_moduleconfdir}|g" \
-e "s|@@NGINX_SRCDIR@@|%{nginx_srcdir}|g" \
%{SOURCE15} > %{buildroot}%{_rpmmacrodir}/macros.nginxmods
## Install dependency generator
install -Dpm0644 -t %{buildroot}%{_fileattrsdir} %{SOURCE16}
# additional modules:
%if 0%{?with_ldap_module}
install -m 0755 ./objs/ngx_http_auth_ldap_module.so %{buildroot}%{_libdir}/nginx/modules/ngx_http_auth_ldap_module.so
install -p -D -m 0644 %{_builddir}/ngx_http_auth_ldap_module/example.conf %{buildroot}%{_defaultdocdir}/%{name}/auth_ldap_example.conf
%endif
%if 0%{?with_modsecurity_module}
install -m 0755 ./objs/ngx_http_modsecurity_module.so %{buildroot}%{_libdir}/nginx/modules/ngx_http_modsecurity_module.so
install -p -D -m 0644 %{S:302} %{buildroot}%{_sysconfdir}/nginx/modsec/modsecurity.conf
install -p -D -m 0644 %{S:309} %{buildroot}%{_sysconfdir}/nginx/modsec/main.conf
install -p -D -m 0644 %{S:310} %{buildroot}%{_sysconfdir}/nginx/modsec/rules.conf
for f in CHANGES AUTHORS README.md LICENSE; do
install -p -D -m 0644 %{_builddir}/modsecurity-nginx-%{modsecver}/$f %{buildroot}%{_defaultdocdir}/%{name}-mod-security/$f
done
%endif
%if 0%{?with_vts_module}
echo 'load_module "%{_libdir}/nginx/modules/ngx_http_vhost_traffic_status_module.so";' \
> %{buildroot}%{_datadir}/nginx/modules/mod-vts.conf
%endif
%if 0%{?with_ldap_module}
echo 'load_module "%{_libdir}/nginx/modules/ngx_http_auth_ldap_module.so";' \
> %{buildroot}%{_datadir}/nginx/modules/mod-http_auth-ldap.conf
%endif
%if 0%{?with_modsecurity_module}
echo 'load_module "%{_libdir}/nginx/modules/ngx_http_modsecurity_module.so";' \
> %{buildroot}%{_datadir}/nginx/modules/mod-http_modsecurity.conf
%endif
%if 0%{?with_header_more_module}
echo 'load_module "%{_libdir}/nginx/modules/ngx_http_headers_more_filter_module.so";' \
> %{buildroot}%{_datadir}/nginx/modules/mod-header-more.conf
%endif
%if 0%{?with_echo_module}
echo 'load_module "%{_libdir}/nginx/modules/ngx_http_echo_module.so";' \
> %{buildroot}%{_datadir}/nginx/modules/mod-echo.conf
%endif
%if 0%{?with_http_accept_language_module}
echo 'load_module "%{_libdir}/nginx/modules/ngx_http_accept_language_module.so";' \
> %{buildroot}%{_datadir}/nginx/modules/ngx_http_accept_language_module.conf
%endif
%if 0%{?with_set_misc_module}
echo 'load_module "%{_libdir}/nginx/modules/ndk_http_module.so";' \
> %{buildroot}%{_datadir}/nginx/modules/mod-set-misc.conf
echo 'load_module "%{_libdir}/nginx/modules/ngx_http_set_misc_module.so";' \
>> %{buildroot}%{_datadir}/nginx/modules/mod-set-misc.conf
%endif
%if 0%{?with_http_upload_module}
echo 'load_module "%{_libdir}/nginx/modules/ngx_http_upload_module.so";' \
> %{buildroot}%{_datadir}/nginx/modules/mod-http-upload.conf
%endif
%pre filesystem
getent group %{nginx_user} > /dev/null || groupadd -r %{nginx_user}
getent passwd %{nginx_user} > /dev/null || \
useradd -r -d %{_localstatedir}/lib/nginx -g %{nginx_user} \
-s /sbin/nologin -c "Nginx web server" %{nginx_user}
exit 0
%post
%systemd_post nginx.service
%if %{with geoip}
%post mod-http-geoip
if [ $1 -eq 1 ]; then
/usr/bin/systemctl reload nginx.service >/dev/null 2>&1 || :
fi
%endif
%post mod-http-image-filter
if [ $1 -eq 1 ]; then
/usr/bin/systemctl reload nginx.service >/dev/null 2>&1 || :
fi
%post mod-http-perl
if [ $1 -eq 1 ]; then
/usr/bin/systemctl reload nginx.service >/dev/null 2>&1 || :
fi
%post mod-http-xslt-filter
if [ $1 -eq 1 ]; then
/usr/bin/systemctl reload nginx.service >/dev/null 2>&1 || :
fi
%post mod-mail
if [ $1 -eq 1 ]; then
/usr/bin/systemctl reload nginx.service >/dev/null 2>&1 || :
fi
%post mod-stream
if [ $1 -eq 1 ]; then
/usr/bin/systemctl reload nginx.service >/dev/null 2>&1 || :
fi
# additional modules:
%if 0%{?with_vts_module}
%post mod-vts
if [ $1 -eq 1 ]; then
/usr/bin/systemctl reload nginx.service >/dev/null 2>&1 || :
fi
%endif
%if 0%{?with_ldap_module}
%post mod-auth-ldap
if [ $1 -eq 1 ]; then
/usr/bin/systemctl reload nginx.service >/dev/null 2>&1 || :
fi
%endif
%if 0%{?with_modsecurity_module}
%post mod-security
if [ $1 -eq 1 ]; then
/usr/bin/systemctl reload nginx.service >/dev/null 2>&1 || :
fi
%endif
%if 0%{?with_header_more_module}
%post mod-header-more
if [ $1 -eq 1 ]; then
/usr/bin/systemctl reload nginx.service >/dev/null 2>&1 || :
fi
%endif
%if 0%{?with_echo_module}
%post mod-echo
if [ $1 -eq 1 ]; then
/usr/bin/systemctl reload nginx.service >/dev/null 2>&1 || :
fi
%endif
%if 0%{?with_set_misc_module}
%post mod-set-misc
if [ $1 -eq 1 ]; then
/usr/bin/systemctl reload nginx.service >/dev/null 2>&1 || :
fi
%endif
%if 0%{?with_http_upload_module}
%post mod-http-upload
if [ $1 -eq 1 ]; then
/usr/bin/systemctl reload nginx.service >/dev/null 2>&1 || :
fi
%endif
%if 0%{?with_http_accept_language_module}
%post mod-accept-language
if [ $1 -eq 1 ]; then
/usr/bin/systemctl reload nginx.service >/dev/null 2>&1 || :
fi
%endif
%preun
%systemd_preun nginx.service
%postun
%systemd_postun nginx.service
if [ $1 -ge 1 ]; then
/usr/bin/nginx-upgrade >/dev/null 2>&1 || :
fi
%files
%if 0%{?rhel} == 7
%doc UPGRADE-NOTES-1.6-to-1.10
%endif
%{_datadir}/nginx/html/*
%{_bindir}/nginx-upgrade
%{_datadir}/vim/vimfiles/ftdetect/nginx.vim
%{_datadir}/vim/vimfiles/ftplugin/nginx.vim
%{_datadir}/vim/vimfiles/syntax/nginx.vim
%{_datadir}/vim/vimfiles/indent/nginx.vim
%{_mandir}/man3/nginx.3pm*
%{_mandir}/man8/nginx.8*
%{_mandir}/man8/nginx-upgrade.8*
%{_unitdir}/nginx.service
%files core
%license LICENSE
%doc CHANGES README README.dynamic
%{_sbindir}/nginx
%config(noreplace) %{_sysconfdir}/nginx/fastcgi.conf
%config(noreplace) %{_sysconfdir}/nginx/fastcgi.conf.default
%config(noreplace) %{_sysconfdir}/nginx/fastcgi_params
%config(noreplace) %{_sysconfdir}/nginx/fastcgi_params.default
%config(noreplace) %{_sysconfdir}/nginx/koi-utf
%config(noreplace) %{_sysconfdir}/nginx/koi-win
%if ! 0%{?with_mailcap_mimetypes}
%config(noreplace) %{_sysconfdir}/nginx/mime.types
%endif
%config(noreplace) %{_sysconfdir}/nginx/mime.types.default
%config(noreplace) %{_sysconfdir}/nginx/nginx.conf
%config(noreplace) %{_sysconfdir}/nginx/nginx.conf.default
%config(noreplace) %{_sysconfdir}/nginx/scgi_params
%config(noreplace) %{_sysconfdir}/nginx/scgi_params.default
%config(noreplace) %{_sysconfdir}/nginx/uwsgi_params
%config(noreplace) %{_sysconfdir}/nginx/uwsgi_params.default
%config(noreplace) %{_sysconfdir}/nginx/win-utf
%config(noreplace) %{_sysconfdir}/logrotate.d/nginx
%attr(770,%{nginx_user},root) %dir %{_localstatedir}/lib/nginx
%attr(770,%{nginx_user},root) %dir %{_localstatedir}/lib/nginx/tmp
%dir %{_localstatedir}/log/nginx
%dir %{nginx_moduledir}
%dir %{nginx_moduleconfdir}
%files all-modules
%files filesystem
%dir %{_datadir}/nginx
%dir %{_datadir}/nginx/html
%dir %{_sysconfdir}/nginx
%dir %{_sysconfdir}/nginx/conf.d
%dir %{_sysconfdir}/nginx/default.d
%dir %{_sysconfdir}/systemd/system/nginx.service.d
%dir %{_unitdir}/nginx.service.d
%if %{with geoip}
%files mod-http-geoip
%{nginx_moduleconfdir}/mod-http-geoip.conf
%{nginx_moduledir}/ngx_http_geoip_module.so
%endif
%files mod-http-image-filter
%{nginx_moduleconfdir}/mod-http-image-filter.conf
%{nginx_moduledir}/ngx_http_image_filter_module.so
%files mod-http-perl
%{nginx_moduleconfdir}/mod-http-perl.conf
%{nginx_moduledir}/ngx_http_perl_module.so
%dir %{perl_vendorarch}/auto/nginx
%{perl_vendorarch}/nginx.pm
%{perl_vendorarch}/auto/nginx/nginx.so
%files mod-http-xslt-filter
%{nginx_moduleconfdir}/mod-http-xslt-filter.conf
%{nginx_moduledir}/ngx_http_xslt_filter_module.so
%files mod-mail
%{nginx_moduleconfdir}/mod-mail.conf
%{nginx_moduledir}/ngx_mail_module.so
%files mod-stream
%{nginx_moduleconfdir}/mod-stream.conf
%{nginx_moduledir}/ngx_stream_module.so
%files mod-devel
%{_rpmmacrodir}/macros.nginxmods
%{_fileattrsdir}/nginxmods.attr
%{nginx_srcdir}/
# additional modules:
%if 0%{?with_vts_module}
%files mod-vts
%{_datadir}/nginx/modules/mod-vts.conf
%{_libdir}/nginx/modules/ngx_http_vhost_traffic_status_module.so
%endif
%if 0%{?with_ldap_module}
%files mod-auth-ldap
%{_datadir}/nginx/modules/mod-http_auth-ldap.conf
%{_libdir}/nginx/modules/ngx_http_auth_ldap_module.so
%{_defaultdocdir}/%{name}/auth_ldap_example.conf
%endif
%if 0%{?with_header_more_module}
%files mod-header-more
%{_datadir}/nginx/modules/mod-header-more.conf
%{_libdir}/nginx/modules/ngx_http_headers_more_filter_module.so
%endif
%if 0%{?with_echo_module}
%files mod-echo
%{_datadir}/nginx/modules/mod-echo.conf
%{_libdir}/nginx/modules/ngx_http_echo_module.so
%endif
%if 0%{?with_set_misc_module}
%files mod-set-misc
%{_datadir}/nginx/modules/mod-set-misc.conf
%{_libdir}/nginx/modules/ngx_http_set_misc_module.so
%{_libdir}/nginx/modules/ndk_http_module.so
%endif
%if 0%{?with_http_upload_module}
%files mod-http-upload
%{_datadir}/nginx/modules/mod-http-upload.conf
%{_libdir}/nginx/modules/ngx_http_upload_module.so
%endif
%if 0%{?with_http_accept_language_module}
%files mod-accept-language
%{_datadir}/nginx/modules/ngx_http_accept_language_module.conf
%{_libdir}/nginx/modules/ngx_http_accept_language_module.so
%endif
%if 0%{?with_modsecurity_module}
%files mod-security
%{_defaultdocdir}/%{name}-mod-security/*
%config(noreplace) %{_sysconfdir}/nginx/modsec/modsecurity.conf
%config(noreplace) %{_sysconfdir}/nginx/modsec/main.conf
%config(noreplace) %{_sysconfdir}/nginx/modsec/rules.conf
%{_datadir}/nginx/modules/mod-http_modsecurity.conf
%{_libdir}/nginx/modules/ngx_http_modsecurity_module.so
%endif
%clean
[ "%{buildroot}" != "/" ] && [ -d "%{buildroot}" ] && rm -rf %{buildroot}/*
[ "%{_builddir}" != "/" ] && [ -d "%{_builddir}" ] && rm -rf %{_builddir}/*
%changelog
* Wed Nov 23 2022 Daniel Steiner <daniel.steiner@threema.ch>
- New module (http_accept_language_module) added, required for www.threema.ch.
* Wed Nov 23 2022 Daniel Steiner <daniel.steiner@threema.ch>
- Build for Almalinux 9 with addtional required modules.
- If the nginx ABI version changes, this package must be rebuilt

View File

@@ -0,0 +1,60 @@
Name: powerline-go
Version: 1.23
Release: 1%{?dist}
Summary: A Powerline style prompt for your shell
%define debug_package %{nil}
License: MIT
URL: https://github.com/justjanne/powerline-go
Source0: %{name}-%{version}.tar.gz
Source1: %{name}.conf
BuildRequires: golang >= 1.8
%if 0%{?rhel} >= 8
%else
BuildRequires: go-bindata
%endif
Requires: git
# Temporary solution while waiting for golang and go-bindata to be built in cbs.centos.org
ExclusiveArch: i686 x86_64
%description
A Powerline style prompt for your shell
%prep
%setup -q -n %name-%version
%build
go build
%install
mkdir -p $RPM_BUILD_ROOT/%{_bindir}
mkdir -p $RPM_BUILD_ROOT/%{_datarootdir}/doc/%{name}
install %{name} $RPM_BUILD_ROOT/%{_bindir}/%{name}
install %{S:1} $RPM_BUILD_ROOT/%{_datarootdir}/doc/%{name}/%{name}.conf
%files
%doc LICENSE.md README.md
%doc %{_datarootdir}/doc/%{name}/%{name}.conf
%{_bindir}/%{name}
%clean
rm -rf $RPM_BUILD_ROOT
%changelog
* Fri May 19 2023 Daniel Steiner <daniel.steiner@daniel-steiner.org>
- Update to 1.23 version.
* Fri Apr 22 2022 Daniel Steiner <daniel.steiner@daniel-steiner.org>
- Update to 1.22.1 version.
* Fri May 21 2021 Daniel Steiner <daniel.steiner@daniel-steiner.org>
- First build on Fedora 34.
* Sun Mar 7 2021 Daniel Steiner <daniel.steiner@daniel-steiner.org>
- Initial version.

42
alma/SPECS/sockstat.spec Normal file
View File

@@ -0,0 +1,42 @@
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
* Sat Dec 3 2022 Daniel Steiner <daniel.steiner@dsteiner.org>
- Initial version for Almalinux 9 (0.4.1).
* Thu Apr 9 2020 Daniel Steiner <daniel.steiner@dsteiner.org>
- Initial version for CentOS 8 (0.4.1).

1952
alma/SPECS/zabbix.spec Normal file

File diff suppressed because it is too large Load Diff