pam_wrapper/pam_wrapper.spec
2022-05-30 02:41:04 +00:00

154 lines
3.9 KiB
RPMSpec

Name: pam_wrapper
Version: 1.1.4
Release: 1
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: cmake
BuildRequires: libcmocka-devel
BuildRequires: python3-devel
BuildRequires: pam-devel
BuildRequires: doxygen
BuildRequires: git
Recommends: cmake
Recommends: 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}
Recommends: cmake
Recommends: 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 python3-libpamtest
Summary: A python wrapper for libpamtest
License: GPLv3+
Requires: pam_wrapper = %{version}-%{release}
Requires: libpamtest = %{version}-%{release}
%description -n python3-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
%cmake \
-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
%ldconfig_scriptlets
%ldconfig_scriptlets -n libpamtest
%check
pushd obj
ctest -V
popd
%files
%{_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
%{_libdir}/libpamtest.so.*
%files -n libpamtest-devel
%{_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
%doc obj/doc/html
%files -n python3-libpamtest
%{python3_sitearch}/pypamtest.so
%changelog
* Mon May 30 2022 chenchen <chen_aka_jan@163.com> - 1.1.4-1
- Package init