Blob Blame History Raw
Name:           pam_wrapper
Version:        1.1.3
Release:        1%{?dist}

Summary:        A tool to test PAM applications and PAM modules
License:        GPLv3+
Url:            http://cwrap.org/

Source0:        https://ftp.samba.org/pub/cwrap/%{name}-%{version}.tar.gz
Source1:        https://ftp.samba.org/pub/cwrap/%{name}-%{version}.tar.gz.asc
Source2:        pam_wrapper.keyring

BuildRequires:  gcc
BuildRequires:  gnupg2
BuildRequires:  cmake3
BuildRequires:  libcmocka-devel
BuildRequires:  python2-devel
BuildRequires:  pam-devel
BuildRequires:  doxygen
BuildRequires:  git

Requires:     cmake3
Requires:     pkgconfig

%description
This component of cwrap allows you to either test your PAM (Linux-PAM
and OpenPAM) application or module.

For testing PAM applications, simple PAM module called pam_matrix is
included. If you plan to test a PAM module you can use the pamtest library,
which simplifies testing of modules. You can combine it with the cmocka
unit testing framework or you can use the provided Python bindings to
write tests for your module in Python.


%package -n libpamtest
Summary:        A tool to test PAM applications and PAM modules
License:        GPLv3+
Requires:       pam_wrapper = %{version}-%{release}

%description -n libpamtest
If you plan to test a PAM module you can use this library, which simplifies
testing of modules.


%package -n libpamtest-devel
Summary:        A tool to test PAM applications and PAM modules
License:        GPLv3+
Requires:       pam_wrapper = %{version}-%{release}
Requires:       libpamtest = %{version}-%{release}

Requires:     cmake3
Requires:     pkgconfig


%description -n libpamtest-devel
If you plan to develop tests for a PAM module you can use this library,
which simplifies testing of modules. This sub package includes the header
files for libpamtest.

%package -n libpamtest-doc
Summary:        The libpamtest API documentation
License:        GPLv3+

%description -n libpamtest-doc
Documentation for libpamtest development.


%package -n python2-libpamtest
Summary:        A python wrapper for libpamtest
License:        GPLv3+
Requires:       pam_wrapper = %{version}-%{release}
Requires:       libpamtest = %{version}-%{release}
Provides:       python-libpamtest = %{version}-%{release}
Obsoletes:      python-libpamtest < %{version}-%{release}

%description -n python2-libpamtest
If you plan to develop python tests for a PAM module you can use this
library, which simplifies testing of modules. This subpackage includes
the header files for libpamtest


%prep
gpgv2 --quiet --keyring %{SOURCE2} %{SOURCE1} %{SOURCE0}
%autosetup -S git


%build
if test ! -e "obj"; then
  mkdir obj
fi
pushd obj
%cmake3 \
  -DCMAKE_BUILD_TYPE=RelWithDebInfo \
  -DUNIT_TESTING=ON \
  %{_builddir}/%{name}-%{version}

make %{?_smp_mflags} VERBOSE=1
make doc VERBOSE=1
popd


%install
pushd obj
make DESTDIR=%{buildroot} install
popd


%post -p /sbin/ldconfig

%postun -p /sbin/ldconfig

%post -n libpamtest -p /sbin/ldconfig

%postun -n libpamtest -p /sbin/ldconfig


%check
pushd obj
ctest3 --output-on-failure
popd

%files
%defattr(-,root,root,-)
%{_libdir}/libpam_wrapper.so*
%{_libdir}/pkgconfig/pam_wrapper.pc
%dir %{_libdir}/cmake/pam_wrapper
%{_libdir}/cmake/pam_wrapper/pam_wrapper-config-version.cmake
%{_libdir}/cmake/pam_wrapper/pam_wrapper-config.cmake
%{_libdir}/pam_wrapper/pam_chatty.so
%{_libdir}/pam_wrapper/pam_matrix.so
%{_libdir}/pam_wrapper/pam_get_items.so
%{_libdir}/pam_wrapper/pam_set_items.so
%{_mandir}/man1/pam_wrapper.1*
%{_mandir}/man8/pam_chatty.8*
%{_mandir}/man8/pam_matrix.8*
%{_mandir}/man8/pam_get_items.8*
%{_mandir}/man8/pam_set_items.8*

%files -n libpamtest
%defattr(-,root,root,-)
%{_libdir}/libpamtest.so.*

%files -n libpamtest-devel
%defattr(-,root,root,-)
%{_libdir}/libpamtest.so
%{_libdir}/pkgconfig/libpamtest.pc
%dir %{_libdir}/cmake/pamtest
%{_libdir}/cmake/pamtest/pamtest-config-relwithdebinfo.cmake
%{_libdir}/cmake/pamtest/pamtest-config-version.cmake
%{_libdir}/cmake/pamtest/pamtest-config.cmake
%{_includedir}/libpamtest.h

%files -n libpamtest-doc
%defattr(-,root,root,-)
%doc obj/doc/html

%files -n python2-libpamtest
%defattr(-,root,root,-)
%{python2_sitearch}/pypamtest.so

%changelog
* Thu Mar 26 2020 Andreas Schneider <asn@redhat.com> - 1.1.3-1
- Update to version 1.1.3
  * https://gitlab.com/cwrap/pam_wrapper/-/blob/master/CHANGELOG
  * resolves: #1816943

* Tue Mar 24 2020 Andreas Schneider <asn@redhat.com> - 1.1.2-1
- Update to version 1.1.2
  * https://gitlab.com/cwrap/pam_wrapper/-/blob/master/CHANGELOG

* Mon Oct 01 2018 Andreas Schneider <asn@redhat.com> - 1.0.7-2
- Fix upgrade path for python-libpamtest

* Wed Sep 26 2018 Andreas Schneider <asn@redhat.com> - 1.0.7-1
- Update to version 1.0.7

* Thu Jun  2 2016 Jakub Hrozek <jakub.hrozek@posteo.se> - 1.0.1-2
- New upstream release 1.0.2

* Fri Apr 22 2016 Jakub Hrozek <jhrozek@redhat.com> - 1.0.1-3
- Use Requires, not Recommends for EPEL

* Tue Jan 19 2016 Jakub Hrozek <jakub.hrozek@posteo.se> - 1.0.1-2
- Fix review comments from rhbz#1299637

* Mon Jan 18 2016 Jakub Hrozek <jakub.hrozek@posteo.se> - 1.0.1-1
- New upstream release

* Wed Dec 16 2015 Jakub Hrozek <jakub.hrozek@posteo.se> - 1.0.0-1
- Initial packaging