# %define dist %(sh /usr/lib/rpm/redhat/dist.sh) %define nginx_user nginx %define nginx_group nginx %if (0%{?rhel} || 0%{?amzn} || 0%{?fedora} >= 18) %define _group System Environment/Daemons %if 0%{?fedora} >= 26 BuildRequires: compat-openssl10-devel %else BuildRequires: openssl-devel %endif %endif %if 0%{?suse_version} == 1315 %define _group Productivity/Networking/Web/Servers BuildRequires: libopenssl-devel %endif %if (0%{?rhel} == 7 || 0%{?fedora} >= 18) %define epoch 1 Epoch: %{epoch} %endif %define main_version 1.15.7 %define main_release 1%{dist}.ngx %define lua_version 0.10.14rc3 %define module_lua_version %{main_version}.%{lua_version} %define module_lua_release 1%{?dist} %define ndk_version 0.3.1rc1 %define module_ndk_version %{main_version}.%{ndk_version} %define module_ndk_release 1%{?dist} %define bdir %{_builddir}/%{name}-%{main_version} Summary: nginx dynamic modules Name: nginx Version: %{main_version} Release: 1%{?dist}.ngx URL: http://nginx.org/ Group: %{_group} Source0: http://nginx.org/download/nginx-%{main_version}.tar.gz Source100: lua-nginx-module-%{lua_version}.tar.gz Source101: ngx_devel_kit-%{ndk_version}.tar.gz License: 2-clause BSD-like license BuildRoot: %{_tmppath}/%{name}-%{main_version}-%{main_release}-root BuildRequires: zlib-devel BuildRequires: pcre-devel Requires: nginx == %{?epoch:%{epoch}:}%{main_version} %description nginx dynamic modules. %package module-lua Summary: nginx lua dynamic modules Version: %{main_version}.%{lua_version} Release: %{module_lua_release} URL: https://github.com/openresty/lua-nginx-module Group: %{_group} License: BSD license BuildRequires: luajit-devel Requires: luajit Requires: nginx-module-ndk Requires: nginx == %{?epoch:%{epoch}:}%{main_version} %description module-lua nginx lua dynamic modules. %package module-ndk Summary: nginx ndk dynamic modules Version: %{main_version}.%{ndk_version} Release: %{module_ndk_release} URL: https://github.com/simpl/ngx_devel_kit Group: %{_group} License: The BSD 3-Clause License Requires: nginx == %{?epoch:%{epoch}:}%{main_version} %description module-ndk nginx ndk dynamic modules. %if 0%{?suse_version} || 0%{?amzn} %debug_package %endif %define WITH_CC_OPT $(echo %{optflags} $(pcre-config --cflags)) %define WITH_LD_OPT -Wl,-z,relro -Wl,-z,now %define BASE_CONFIGURE_ARGS $(echo "--prefix=%{_sysconfdir}/nginx --sbin-path=%{_sbindir}/nginx --modules-path=%{_libdir}/nginx/modules --conf-path=%{_sysconfdir}/nginx/nginx.conf --error-log-path=%{_localstatedir}/log/nginx/error.log --http-log-path=%{_localstatedir}/log/nginx/access.log --pid-path=%{_localstatedir}/run/nginx.pid --lock-path=%{_localstatedir}/run/nginx.lock --http-client-body-temp-path=%{_localstatedir}/cache/nginx/client_temp --http-proxy-temp-path=%{_localstatedir}/cache/nginx/proxy_temp --http-fastcgi-temp-path=%{_localstatedir}/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=%{_localstatedir}/cache/nginx/uwsgi_temp --http-scgi-temp-path=%{_localstatedir}/cache/nginx/scgi_temp --user=%{nginx_user} --group=%{nginx_group} --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --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-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module") %define MODULE_CONFIGURE_ARGS $(echo "--add-dynamic-module=lua-nginx-module-%{lua_version} --add-dynamic-module=ngx_devel_kit-%{ndk_version}") %prep %setup -qcTn %{name}-%{main_version} tar --strip-components=1 -zxf %{SOURCE0} tar zxf %{SOURCE100} tar zxf %{SOURCE101} %build cd %{bdir} %if 0%{?fedora} >= 26 export LUAJIT_LIB="/usr/lib64" export LUAJIT_INC="/usr/include/luajit-2.1" export CFLAGS="-Wno-error" %endif ./configure %{BASE_CONFIGURE_ARGS} %{MODULE_CONFIGURE_ARGS} \ --with-cc-opt="%{WITH_CC_OPT}" \ --with-ld-opt="%{WITH_LD_OPT}" \ --with-debug make %{?_smp_mflags} modules for so in `find %{bdir}/objs/ -type f -name "*.so"`; do debugso=`echo $so | sed -e "s|.so|-debug.so|"` mv $so $debugso done ./configure %{BASE_CONFIGURE_ARGS} %{MODULE_CONFIGURE_ARGS} \ --with-cc-opt="%{WITH_CC_OPT}" \ --with-ld-opt="%{WITH_LD_OPT}" make %{?_smp_mflags} modules %install cd %{bdir} %{__rm} -rf $RPM_BUILD_ROOT %{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/doc/nginx-module-lua %{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/doc/nginx-module-ndk %{__install} -m644 %{bdir}/lua-nginx-module-%{lua_version}/README.markdown $RPM_BUILD_ROOT%{_datadir}/doc/nginx-module-lua/ %{__install} -m644 %{bdir}/ngx_devel_kit-%{ndk_version}/README.md $RPM_BUILD_ROOT%{_datadir}/doc/nginx-module-ndk/ %{__install} -m644 %{bdir}/ngx_devel_kit-%{ndk_version}/README_AUTO_LIB $RPM_BUILD_ROOT%{_datadir}/doc/nginx-module-ndk/ %{__install} -m644 %{bdir}/ngx_devel_kit-%{ndk_version}/LICENSE $RPM_BUILD_ROOT%{_datadir}/doc/nginx-module-ndk/ %{__mkdir} -p $RPM_BUILD_ROOT%{_libdir}/nginx/modules for so in `find %{bdir}/objs/ -maxdepth 1 -type f -name "*.so"`; do %{__install} -m755 $so \ $RPM_BUILD_ROOT%{_libdir}/nginx/modules/ done %clean %{__rm} -rf $RPM_BUILD_ROOT %files module-lua %defattr(-,root,root) %{_libdir}/nginx/modules/*lua* %dir %{_datadir}/doc/nginx-module-lua %{_datadir}/doc/nginx-module-lua/* %files module-ndk %defattr(-,root,root) %{_libdir}/nginx/modules/ndk* %dir %{_datadir}/doc/nginx-module-ndk %{_datadir}/doc/nginx-module-ndk/* %post module-lua if [ $1 -eq 1 ]; then cat < - nginx: 1.15.7 - lua : 0.10.14rc3 - ndk : 0.3.1rc1