File nginx-module-http-auth-digest.spec of Package nginx-module-http-auth-digest

#
# spec file for package nginx-module-http-auth-digest
#
# Copyright (c) 2018 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 http://bugs.opensuse.org/
#


%if 0%{?suse_version} != 1315 || 0%{?is_opensuse}
%bcond_without libatomic
%else
%bcond_with    libatomic
%endif

%if 0%{?suse_version} > 1220
%bcond_without pcre_jit
%else
%bcond_with    pcre_jit
%endif

%define commit cd8641886c873cf543255aeda20d23e4cd603d05
%define shortcommit %(c=%{commit}; echo ${c:0:7})
%define project_name nginx-http-auth-digest
%define nginx_moduledir %{_libdir}/nginx/modules

Name:           nginx-module-http-auth-digest
Version:        0.0.0+git23032018.%{shortcommit}
Release:        0
Summary:        Digest Authentication for Nginx
License:        BSD-2-Clause
Group:          Productivity/Networking/Web/Proxy
Url:            https://github.com/atomx/%{project_name}
Source:         https://github.com/atomx/%{project_name}/archive/%{commit}.tar.gz#/%{project_name}.tar.gz
BuildRequires:  nginx-source
BuildRequires:  pcre-devel
%if %{with libatomic}
BuildRequires:  libatomic-ops-devel
%endif
Requires:       nginx = %(rpm -q nginx-source | rev | cut -d. --complement -f1 | cut -d"-" -f2 | rev)

%description
The ngx_http_auth_digest module supplements Nginx's built-in Basic
Authentication module by providing support for RFC 2617 Digest Authentication
 The module is currently functional but has only been tested and reviewed by
its author. And given that this is security code, one set of eyes is almost
certainly insufficient to guarantee that it's 100% correct. Until a few bug
reports come in and some of the ‘unknown unknowns’ in the code are flushed out,
consider this module an ‘alpha’ and treat it with the appropriate amount of
skepticism.

%prep
mkdir %{project_name}
tar -xzf %{SOURCE0} --strip-components=1 -C %{project_name}
cp -r /usr/src/nginx .

%build
cd nginx
# configure macro cannot be used, because this configure script doesn't
# accept some options provided by the macro (like i.e. --host).
./configure                                    \
  --user=nginx --group=nginx                   \
  --without-select_module                      \
  --without-poll_module                        \
  --without-http_gzip_module                   \
  --with-threads                               \
  --with-file-aio                              \
  --with-ipv6                                  \
  --with-pcre                                  \
  %if %{with pcre_jit}
  --with-pcre-jit                              \
  %endif
  %if %{with libatomic}
  --with-libatomic                             \
  %endif
  --with-compat                                \
  --add-dynamic-module=../%{project_name}      \
%if 0%{?suse_version} > 1220
  --with-cc-opt="%{optflags} -fPIC -D_GNU_SOURCE -std=gnu99 -fstack-protector" \
  --with-ld-opt="-Wl,-z,relro,-z,now -pie"
%else
  --with-cc-opt="%{optflags}"
%endif
make modules

%install
mkdir -p %{buildroot}%{nginx_moduledir}
install -D -m 0644 nginx/objs/ngx_http_auth_digest_module.so %{buildroot}%{nginx_moduledir}

%files
%license %{project_name}/LICENSE
%dir %{_libdir}/nginx
%dir %{nginx_moduledir}
%{nginx_moduledir}/ngx_http_auth_digest_module.so

%changelog
openSUSE Build Service is sponsored by