diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..04fc030 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +nginx-1.24.0.tar.gz +nginx-module-lua-0.10.24.tar.gz diff --git a/.nginx-module-lua.metadata b/.nginx-module-lua.metadata new file mode 100644 index 0000000..0f134a7 --- /dev/null +++ b/.nginx-module-lua.metadata @@ -0,0 +1,2 @@ +1114e37de5664a8109c99cfb2faa1f42ff8ac63c932bcf3780d645e5ed32c0b2ac446f80305b4465994c8f9430604968e176ae464fd80f632d1cb2c8f6007ff3 SOURCES/nginx-1.24.0.tar.gz +37656cb8921c76053486d796372df64bc0137cccdba93b2c7a2149e19e2c9d9a31b5851e870282ac85a8d5d646deb323c0e86d85df1ffb198166fc7d7a44d646 SOURCES/nginx-module-lua-0.10.24.tar.gz diff --git a/SPECS/nginx-module-lua.spec b/SPECS/nginx-module-lua.spec new file mode 100644 index 0000000..40a6d4d --- /dev/null +++ b/SPECS/nginx-module-lua.spec @@ -0,0 +1,177 @@ +# +%define nginx_user nginx +%define nginx_group nginx + +%define __arch_install_post /usr/lib/rpm/check-rpaths /usr/lib/rpm/check-buildroot + +%if 0%{?rhel} || 0%{?amzn} || 0%{?fedora} +%define _group System Environment/Daemons +%if 0%{?amzn} == 2 +BuildRequires: openssl11-devel +%else +BuildRequires: openssl-devel +%endif +%endif + +%if 0%{?suse_version} >= 1315 +%define _group Productivity/Networking/Web/Servers +BuildRequires: libopenssl-devel +%define _debugsource_template %{nil} +%endif + +%if (0%{?rhel} == 7) && (0%{?amzn} == 0) +%define epoch 2 +Epoch: %{epoch} +%define dist .el7 +%endif + +%if (0%{?rhel} == 7) && (0%{?amzn} == 2) +%define epoch 2 +Epoch: %{epoch} +%endif + +%if 0%{?rhel} == 8 +%define epoch 2 +Epoch: %{epoch} +%define _debugsource_template %{nil} +%endif + +%if 0%{?rhel} == 9 +%define epoch 2 +Epoch: %{epoch} +%define _debugsource_template %{nil} +%endif + +%if 0%{?fedora} +%define _debugsource_template %{nil} +%global _hardened_build 1 +%endif + +%define base_version 1.24.0 +%define base_release 1%{?dist}.ngx +%define module_version 0.10.24 +%define module_release 1%{?dist}.ngx +%define module_ndk_version 0.3.2 +%define module_ndk_release 1%{?dist}.ngx + +%define bdir %{_builddir}/%{name}-%{base_version} + +Summary: nginx lua dynamic module +Name: nginx-module-lua +Version: %{base_version}.%{module_version} +Release: %{module_release} + +URL: https://nginx.org/ +Group: %{_group} + +Source0: https://nginx.org/download/nginx-%{base_version}.tar.gz +Source100: %{name}-%{module_version}.tar.gz + +#BuildRequires: + +License: 2-clause BSD-like license + +BuildRoot: %{_tmppath}/%{name}-%{base_version}-%{base_release}-root +BuildRequires: zlib-devel +BuildRequires: pcre2-devel +BuildRequires: luajit-devel +Requires: nginx-r%{base_version} +Requires: nginx-module-ndk = %{?epoch:%{epoch}:}%{base_version}.%{module_ndk_version}-%{module_ndk_release} + +Provides: %{name}-r%{base_version}.%{module_version} + +%description +nginx lua dynamic module. + +%if 0%{?suse_version} +%debug_package +%endif + +%define WITH_CC_OPT $(echo %{optflags} $(pcre2-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=%{name}-%{module_version}") + +%prep +%setup -qcTn %{name}-%{base_version} +tar --strip-components=1 -zxf %{SOURCE0} +tar xvzf %SOURCE100 + + +%build +export LUAJIT_LIB=/usr/lib64 +export LUAJIT_INC=/usr/include/luajit-2.1 + +cd %{bdir} + +%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 + +./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%{_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 + +%check +%{__rm} -rf $RPM_BUILD_ROOT/usr/src +cd %{bdir} +grep -v 'usr/src' debugfiles.list > debugfiles.list.new && mv debugfiles.list.new debugfiles.list +cat /dev/null > debugsources.list +%if 0%{?suse_version} >= 1500 +cat /dev/null > debugsourcefiles.list +%endif + +%clean +%{__rm} -rf $RPM_BUILD_ROOT + +%files +%defattr(-,root,root) +%{_libdir}/nginx/modules/* + +%post +if [ $1 -eq 1 ]; then +cat < - 1.24.0-1%{?dist}.ngx +- base version updated to 1.24.0-1