From 8a9cc222e23aff0f0d90fac2a4691d8434f9361dee0593af6c06c9b2aefa8e2e Mon Sep 17 00:00:00 2001 From: Lars Vogdt Date: Sun, 8 Nov 2020 17:49:03 +0000 Subject: [PATCH] make nginx package maintenance easier by moving shared code into macros and all the shared buildrequires into requires of the nginx-source package OBS-URL: https://build.opensuse.org/package/show/server:http/nginx-macros?expand=0&rev=1 --- .gitattributes | 23 +++++++++ .gitignore | 1 + nginx-macros.changes | 4 ++ nginx-macros.spec | 45 ++++++++++++++++++ nginx.macros | 110 +++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 183 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 nginx-macros.changes create mode 100644 nginx-macros.spec create mode 100644 nginx.macros diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/nginx-macros.changes b/nginx-macros.changes new file mode 100644 index 0000000..9002966 --- /dev/null +++ b/nginx-macros.changes @@ -0,0 +1,4 @@ +------------------------------------------------------------------- +Fri Oct 2 03:15:57 UTC 2020 - Marcus Rueckert + +- initial package diff --git a/nginx-macros.spec b/nginx-macros.spec new file mode 100644 index 0000000..e856653 --- /dev/null +++ b/nginx-macros.spec @@ -0,0 +1,45 @@ +# +# spec file for package nginx-macros +# +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +Name: nginx-macros +Version: 0.0.1 +Release: 0 +Summary: Just some macros to make packaging nginx and modules easier +License: BSD-2-Clause +Group: Productivity/Networking/Web/Proxy +URL: https://nordisch.org/ +Source0: nginx.macros +BuildArch: noarch + +%description +Just some macros to make packaging nginx and modules easier. + +%prep + +%build + +%install +install -D -m 0644 %{S:0} %{buildroot}%{_rpmmacrodir}/macros.nginx + +%post +%postun + +%files +%{_rpmmacrodir}/macros.nginx + +%changelog diff --git a/nginx.macros b/nginx.macros new file mode 100644 index 0000000..870c9c7 --- /dev/null +++ b/nginx.macros @@ -0,0 +1,110 @@ +%ngx_prefix %{_prefix} +%ngx_sbin_path %{_sbindir}/nginx +%ngx_module_dir %{_libdir}/nginx/modules +%ngx_conf_dir %{_sysconfdir}/nginx +%ngx_conf_path %{ngx_conf_dir}/nginx.conf +%ngx_log_dir %{_localstatedir}/log/nginx +%ngx_error_log %{ngx_log_dir}/error.log +%ngx_access_log %{ngx_log_dir}/access.log +%ngx_home %{_localstatedir}/lib/nginx +%ngx_tmp_http %{ngx_home}/tmp/ +%ngx_tmp_proxy %{ngx_home}/proxy/ +%ngx_tmp_fcgi %{ngx_home}/fastcgi/ +%ngx_tmp_scgi %{ngx_home}/scgi/ +%ngx_tmp_uwsgi %{ngx_home}/uwsgi/ +%ngx_user_group nginx +%ngx_doc_dir %{_docdir}/%{name} + +%ngx_conditionals \ +%if 0%{?suse_version} != 1315 || 0%{?is_opensuse} \ +%bcond_without ngx_libatomic \ +%else \ +%bcond_with ngx_libatomic \ +%endif \ +%if 0%{?suse_version} > 1220 \ +%bcond_without ngx_http2 \ +%bcond_without ngx_pcre_jit \ +%bcond_without systemd \ +%else \ +%bcond_with ngx_http2 \ +%bcond_with ngx_pcre_jit \ +%bcond_with systemd \ +%endif \ +%bcond_with ngx_cpp_test \ +%bcond_with ngx_google_perftools \ +%{nil} + +%ngx_configure \ +./configure \\\ + --prefix=%{ngx_prefix}/ \\\ + --sbin-path=%{ngx_sbin_path} \\\ + --modules-path=%{ngx_module_dir} \\\ + --conf-path=%{ngx_conf_path} \\\ + --error-log-path=%{ngx_error_log} \\\ + --http-log-path=%{ngx_access_log} \\\ + --pid-path=%{ngx_pid_path} \\\ + --lock-path=%{ngx_lock_path} \\\ + --http-client-body-temp-path=%{ngx_tmp_http} \\\ + --http-proxy-temp-path=%{ngx_tmp_proxy} \\\ + --http-fastcgi-temp-path=%{ngx_tmp_fcgi} \\\ + --http-uwsgi-temp-path=%{ngx_tmp_uwsgi} \\\ + --http-scgi-temp-path=%{ngx_tmp_scgi} \\\ + --user=nginx --group=nginx \\\ + --without-select_module \\\ + --without-poll_module \\\ + --with-threads \\\ + --with-file-aio \\\ + --with-ipv6 \\\ + --with-http_ssl_module \\\ + %if %{with ngx_http2} \ + --with-http_v2_module \\\ + %endif \ + --with-http_realip_module \\\ + --with-http_addition_module \\\ + --with-http_xslt_module=dynamic \\\ + --with-http_image_filter_module=dynamic \\\ + --with-http_sub_module \\\ + --with-http_dav_module \\\ + --with-http_flv_module \\\ + --with-http_mp4_module \\\ + --with-http_gunzip_module \\\ + --with-http_gzip_static_module \\\ + --with-http_auth_request_module \\\ + --with-http_random_index_module \\\ + --with-http_secure_link_module \\\ + --with-http_degradation_module \\\ + --with-http_slice_module \\\ + --with-http_stub_status_module \\\ + --with-http_perl_module=dynamic \\\ + --with-perl=%{_bindir}/perl \\\ + --with-mail=dynamic \\\ + --with-mail_ssl_module \\\ + --with-stream=dynamic \\\ + --with-stream_ssl_module \\\ + --with-stream_realip_module \\\ + --with-stream_ssl_preread_module \\\ + --with-pcre \\\ + %if %{with ngx_pcre_jit} \ + --with-pcre-jit \\\ + %endif \ + %if %{with ngx_libatomic} \ + --with-libatomic \\\ + %endif \ + %if %{with ngx_google_perftools} \ + --with-google_perftools_module \\\ + %endif \ + %if %{with ngx_cpp_test} \ + --with-cpp_test_module \\\ + %endif \ + %if 0%{?suse_version} > 1220 \ + --with-cc-opt="%{optflags} -fPIC -D_GNU_SOURCE" \\\ + --with-ld-opt="-Wl,-z,relro,-z,now -pie" \\\ + %else \ + --with-cc-opt="%{optflags}" \\\ + %endif \ + --with-compat + + +%ngx_requires \ +%requires_eq nginx \ +%{nil} \ No newline at end of file