forked from rpms/nginx
import nginx-1.20.0-3.module+el8.6.0+12557+01ae0806
This commit is contained in:
parent
d7d349bbe8
commit
fffbc0f505
20
SOURCES/macros.nginxmods.in
Normal file
20
SOURCES/macros.nginxmods.in
Normal file
@ -0,0 +1,20 @@
|
||||
%_nginx_abiversion @@NGINX_ABIVERSION@@
|
||||
%_nginx_srcdir @@NGINX_SRCDIR@@
|
||||
%_nginx_buildsrcdir nginx-src
|
||||
%_nginx_modsrcdir ..
|
||||
%_nginx_modbuilddir ../%{_vpath_builddir}
|
||||
%nginx_moddir @@NGINX_MODDIR@@
|
||||
%nginx_modconfdir @@NGINX_MODCONFDIR@@
|
||||
|
||||
%nginx_modrequires Requires: nginx(abi) = %{_nginx_abiversion}
|
||||
|
||||
%nginx_modconfigure(:-:) \\\
|
||||
%undefine _strict_symbol_defs_build \
|
||||
cp -a "%{_nginx_srcdir}" "%{_nginx_buildsrcdir}" \
|
||||
cd "%{_nginx_buildsrcdir}" \
|
||||
nginx_ldopts="$RPM_LD_FLAGS -Wl,-E" \
|
||||
./configure --with-compat --with-cc-opt="%{optflags} $(pcre-config --cflags)" --with-ld-opt="$nginx_ldopts" \\\
|
||||
--add-dynamic-module=$(realpath %{_nginx_modsrcdir}) --builddir=$(realpath %{_nginx_modbuilddir}) %{**} \
|
||||
cd -
|
||||
|
||||
%nginx_modbuild %{__make} -C "%{_nginx_buildsrcdir}" %{_make_output_sync} %{?_smp_mflags} modules
|
2
SOURCES/nginxmods.attr
Normal file
2
SOURCES/nginxmods.attr
Normal file
@ -0,0 +1,2 @@
|
||||
%__nginxmods_requires %{_rpmconfigdir}/nginxmods.req
|
||||
%__nginxmods_path ^%{_prefix}/lib(64)?/nginx/modules/.*\\.so$
|
6
SOURCES/nginxmods.req
Normal file
6
SOURCES/nginxmods.req
Normal file
@ -0,0 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Generate Requires: nginx(abi) = VERSION
|
||||
echo "nginx(abi) = $(rpm --eval '%{_nginx_abiversion}')"
|
||||
|
||||
exit 0
|
139
SPECS/nginx.spec
139
SPECS/nginx.spec
@ -16,10 +16,21 @@
|
||||
%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.0
|
||||
Release: 2%{?dist}
|
||||
Release: 3%{?dist}
|
||||
|
||||
Summary: A high performance web server and reverse proxy server
|
||||
Group: System Environment/Daemons
|
||||
@ -34,6 +45,9 @@ Source11: nginx.logrotate
|
||||
Source12: nginx.conf
|
||||
Source13: nginx-upgrade
|
||||
Source14: nginx-upgrade.8
|
||||
Source15: macros.nginxmods.in
|
||||
Source16: nginxmods.attr
|
||||
Source17: nginxmods.req
|
||||
Source102: nginx-logo.png
|
||||
Source103: 404.html
|
||||
Source104: 50x.html
|
||||
@ -87,6 +101,8 @@ 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
|
||||
@ -126,7 +142,7 @@ directories.
|
||||
Group: System Environment/Daemons
|
||||
Summary: Nginx HTTP geoip module
|
||||
BuildRequires: GeoIP-devel
|
||||
Requires: nginx
|
||||
Requires: nginx(abi) = %{nginx_abiversion}
|
||||
Requires: GeoIP
|
||||
|
||||
%description mod-http-geoip
|
||||
@ -137,7 +153,7 @@ Requires: GeoIP
|
||||
Group: System Environment/Daemons
|
||||
Summary: Nginx HTTP image filter module
|
||||
BuildRequires: gd-devel
|
||||
Requires: nginx
|
||||
Requires: nginx(abi) = %{nginx_abiversion}
|
||||
Requires: gd
|
||||
|
||||
%description mod-http-image-filter
|
||||
@ -151,7 +167,7 @@ BuildRequires: perl-devel
|
||||
BuildRequires: perl-generators
|
||||
%endif
|
||||
BuildRequires: perl(ExtUtils::Embed)
|
||||
Requires: nginx
|
||||
Requires: nginx(abi) = %{nginx_abiversion}
|
||||
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
|
||||
Requires: perl(constant)
|
||||
|
||||
@ -162,7 +178,7 @@ Requires: perl(constant)
|
||||
Group: System Environment/Daemons
|
||||
Summary: Nginx XSLT module
|
||||
BuildRequires: libxslt-devel
|
||||
Requires: nginx
|
||||
Requires: nginx(abi) = %{nginx_abiversion}
|
||||
|
||||
%description mod-http-xslt-filter
|
||||
%{summary}.
|
||||
@ -170,7 +186,7 @@ Requires: nginx
|
||||
%package mod-mail
|
||||
Group: System Environment/Daemons
|
||||
Summary: Nginx mail modules
|
||||
Requires: nginx
|
||||
Requires: nginx(abi) = %{nginx_abiversion}
|
||||
|
||||
%description mod-mail
|
||||
%{summary}.
|
||||
@ -178,11 +194,33 @@ Requires: nginx
|
||||
%package mod-stream
|
||||
Group: System Environment/Daemons
|
||||
Summary: Nginx stream modules
|
||||
Requires: nginx
|
||||
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
|
||||
Requires: openssl-devel
|
||||
Requires: pcre-devel
|
||||
Requires: perl-devel
|
||||
Requires: perl(ExtUtils::Embed)
|
||||
Requires: zlib-devel
|
||||
|
||||
%description mod-devel
|
||||
%{summary}.
|
||||
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
@ -200,6 +238,10 @@ sed -i -e 's#KillMode=.*#KillMode=process#g' nginx.service
|
||||
sed -i -e 's#PROFILE=SYSTEM#HIGH:!aNULL:!MD5#' nginx.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
|
||||
@ -210,7 +252,7 @@ export DESTDIR=%{buildroot}
|
||||
./configure \
|
||||
--prefix=%{_datadir}/nginx \
|
||||
--sbin-path=%{_sbindir}/nginx \
|
||||
--modules-path=%{_libdir}/nginx/modules \
|
||||
--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 \
|
||||
@ -291,8 +333,8 @@ 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}%{_datadir}/nginx/modules
|
||||
install -p -d -m 0755 %{buildroot}%{_libdir}/nginx/modules
|
||||
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
|
||||
@ -328,19 +370,35 @@ for i in ftdetect indent syntax; do
|
||||
done
|
||||
|
||||
%if %{with geoip}
|
||||
echo 'load_module "%{_libdir}/nginx/modules/ngx_http_geoip_module.so";' \
|
||||
> %{buildroot}%{_datadir}/nginx/modules/mod-http-geoip.conf
|
||||
echo 'load_module "%{nginx_moduledir}/ngx_http_geoip_module.so";' \
|
||||
> %{buildroot}%{nginx_moduleconfdir}/mod-http-geoip.conf
|
||||
%endif
|
||||
echo 'load_module "%{_libdir}/nginx/modules/ngx_http_image_filter_module.so";' \
|
||||
> %{buildroot}%{_datadir}/nginx/modules/mod-http-image-filter.conf
|
||||
echo 'load_module "%{_libdir}/nginx/modules/ngx_http_perl_module.so";' \
|
||||
> %{buildroot}%{_datadir}/nginx/modules/mod-http-perl.conf
|
||||
echo 'load_module "%{_libdir}/nginx/modules/ngx_http_xslt_filter_module.so";' \
|
||||
> %{buildroot}%{_datadir}/nginx/modules/mod-http-xslt-filter.conf
|
||||
echo 'load_module "%{_libdir}/nginx/modules/ngx_mail_module.so";' \
|
||||
> %{buildroot}%{_datadir}/nginx/modules/mod-mail.conf
|
||||
echo 'load_module "%{_libdir}/nginx/modules/ngx_stream_module.so";' \
|
||||
> %{buildroot}%{_datadir}/nginx/modules/mod-stream.conf
|
||||
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}
|
||||
install -Dpm0755 -t %{buildroot}%{_rpmconfigdir} %{SOURCE17}
|
||||
|
||||
|
||||
%pre filesystem
|
||||
getent group %{nginx_user} > /dev/null || groupadd -r %{nginx_user}
|
||||
@ -430,7 +488,8 @@ fi
|
||||
%attr(770,%{nginx_user},root) %dir %{_localstatedir}/lib/nginx
|
||||
%attr(770,%{nginx_user},root) %dir %{_localstatedir}/lib/nginx/tmp
|
||||
%attr(770,%{nginx_user},root) %dir %{_localstatedir}/log/nginx
|
||||
%dir %{_libdir}/nginx/modules
|
||||
%dir %{nginx_moduledir}
|
||||
%dir %{nginx_moduleconfdir}
|
||||
|
||||
%files all-modules
|
||||
|
||||
@ -445,35 +504,45 @@ fi
|
||||
|
||||
%if %{with geoip}
|
||||
%files mod-http-geoip
|
||||
%{_datadir}/nginx/modules/mod-http-geoip.conf
|
||||
%{_libdir}/nginx/modules/ngx_http_geoip_module.so
|
||||
%{nginx_moduleconfdir}/mod-http-geoip.conf
|
||||
%{nginx_moduledir}/ngx_http_geoip_module.so
|
||||
%endif
|
||||
|
||||
%files mod-http-image-filter
|
||||
%{_datadir}/nginx/modules/mod-http-image-filter.conf
|
||||
%{_libdir}/nginx/modules/ngx_http_image_filter_module.so
|
||||
%{nginx_moduleconfdir}/mod-http-image-filter.conf
|
||||
%{nginx_moduledir}/ngx_http_image_filter_module.so
|
||||
|
||||
%files mod-http-perl
|
||||
%{_datadir}/nginx/modules/mod-http-perl.conf
|
||||
%{_libdir}/nginx/modules/ngx_http_perl_module.so
|
||||
%{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
|
||||
%{_datadir}/nginx/modules/mod-http-xslt-filter.conf
|
||||
%{_libdir}/nginx/modules/ngx_http_xslt_filter_module.so
|
||||
%{nginx_moduleconfdir}/mod-http-xslt-filter.conf
|
||||
%{nginx_moduledir}/ngx_http_xslt_filter_module.so
|
||||
|
||||
%files mod-mail
|
||||
%{_datadir}/nginx/modules/mod-mail.conf
|
||||
%{_libdir}/nginx/modules/ngx_mail_module.so
|
||||
%{nginx_moduleconfdir}/mod-mail.conf
|
||||
%{nginx_moduledir}/ngx_mail_module.so
|
||||
|
||||
%files mod-stream
|
||||
%{_datadir}/nginx/modules/mod-stream.conf
|
||||
%{_libdir}/nginx/modules/ngx_stream_module.so
|
||||
%{nginx_moduleconfdir}/mod-stream.conf
|
||||
%{nginx_moduledir}/ngx_stream_module.so
|
||||
|
||||
|
||||
%files mod-devel
|
||||
%{_rpmmacrodir}/macros.nginxmods
|
||||
%{_fileattrsdir}/nginxmods.attr
|
||||
%{_rpmconfigdir}/nginxmods.req
|
||||
%{nginx_srcdir}/
|
||||
|
||||
%changelog
|
||||
* Fri Sep 10 2021 Luboš Uhliarik <luhliari@redhat.com> - 1:1.20.0-3
|
||||
- Add -mod-devel subpackage for building external nginx modules (Neal Gompa)
|
||||
Resolves: #1991787
|
||||
|
||||
* Fri Aug 20 2021 Luboš Uhliarik <luhliari@redhat.com> - 1:1.20.0-2
|
||||
- Resolves: #1991796 - build nginx with --with-compat
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user