You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
oath-toolkit/oath-toolkit.spec

245 lines
6.9 KiB

Name: oath-toolkit
Version: 2.4.1
Release: 5%{?dist}
License: GPLv3+
Group: System Environment/Libraries
Summary: One-time password components
BuildRequires: pam-devel, gtk-doc, libtool, libtool-ltdl-devel
%if ! 0%{?rhel:1}
BuildRequires: xmlsec1-devel, xmlsec1-openssl-devel
%endif
Source: http://download.savannah.gnu.org/releases/%{name}/%{name}-%{version}.tar.gz
URL: http://www.nongnu.org/oath-toolkit/
# Escape leading single quotes in man pages which are misinterpreted as macros,
# patch sent upstream, upstream ticket #108312
Patch0: oath-toolkit-2.0.2-man-fix.patch
%description
The OATH Toolkit provide components for building one-time password
authentication systems. It contains shared libraries, command line tools and a
PAM module. Supported technologies include the event-based HOTP algorithm
(RFC4226) and the time-based TOTP algorithm (RFC6238). OATH stands for Open
AuTHentication, which is the organization that specify the algorithms. For
managing secret key files, the Portable Symmetric Key Container (PSKC) format
described in RFC6030 is supported.
%package -n liboath
Summary: Library for OATH handling
Group: Development/Libraries
License: LGPLv2+
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig
# https://fedorahosted.org/fpc/ticket/174
Provides: bundled(gnulib)
%description -n liboath
OATH stands for Open AuTHentication, which is the organization that
specify the algorithms. Supported technologies include the event-based
HOTP algorithm (RFC4226) and the time-based TOTP algorithm (RFC6238).
%package -n liboath-devel
Summary: Development files for liboath
Group: Development/Libraries
License: LGPLv2+
Requires: liboath%{?_isa} = %{version}-%{release}
%description -n liboath-devel
Development files for liboath.
%package -n liboath-doc
Summary: Documentation files for liboath
Group: Development/Libraries
License: LGPLv2+
Requires: liboath = %{version}-%{release}
Requires: gtk-doc
BuildArch: noarch
%description -n liboath-doc
Documentation files for liboath.
%if ! 0%{?rhel:1}
%package -n libpskc
Summary: Library for PSKC handling
Group: Development/Libraries
License: LGPLv2+
Requires: xml-common
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig
# https://fedorahosted.org/fpc/ticket/174
Provides: bundled(gnulib)
%description -n libpskc
Library for managing secret key files, the Portable Symmetric Key
Container (PSKC) format described in RFC6030 is supported.
%package -n libpskc-devel
Summary: Development files for libpskc
Group: Development/Libraries
License: LGPLv2+
Requires: libpskc%{?_isa} = %{version}-%{release}
%description -n libpskc-devel
Development files for libpskc.
%package -n libpskc-doc
Summary: Documentation files for libpskc
Group: Development/Libraries
License: LGPLv2+
Requires: libpskc = %{version}-%{release}
Requires: gtk-doc
BuildArch: noarch
%description -n libpskc-doc
Documentation files for libpskc.
%endif
%package -n oathtool
Summary: A command line tool for generating and validating OTPs
License: GPLv3+
# https://fedorahosted.org/fpc/ticket/174
Provides: bundled(gnulib)
%description -n oathtool
A command line tool for generating and validating OTPs.
%if ! 0%{?rhel:1}
%package -n pskctool
Summary: A command line tool for manipulating PSKC data
# https://fedorahosted.org/fpc/ticket/174
Provides: bundled(gnulib)
Requires: xmlsec1-openssl%{?_isa}
%description -n pskctool
A command line tool for manipulating PSKC data.
%endif
%package -n pam_oath
Summary: A PAM module for pluggable login authentication for OATH
Group: Development/Libraries
Requires: pam
%description -n pam_oath
A PAM module for pluggable login authentication for OATH.
%prep
%setup -q
%patch0 -p1 -b .man-fix
%build
%configure --with-pam-dir=%{_libdir}/security
# Kill rpaths and link with --as-needed
for d in liboath %{!?rhel:libpskc pskctool} oathtool pam_oath
do
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' $d/libtool
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' $d/libtool
sed -i 's| -shared | -Wl,--as-needed\0|g' $d/libtool
done
make %{?_smp_mflags}
%install
make %{?_smp_mflags} DESTDIR=%{buildroot} install
# Remove static objects and libtool files
rm -f %{buildroot}%{_libdir}/*.{a,la}
rm -f %{buildroot}%{_libdir}/security/*.la
# Make /etc/liboath directory
mkdir -p -m 0600 %{buildroot}%{_sysconfdir}/liboath
%post -n liboath -p /sbin/ldconfig
%postun -n liboath -p /sbin/ldconfig
%if ! 0%{?rhel:1}
%post -n libpskc -p /sbin/ldconfig
%postun -n libpskc -p /sbin/ldconfig
%endif
%files -n liboath
%doc liboath/COPYING
%attr(0600, root, root) %dir %{_sysconfdir}/liboath
%{_libdir}/liboath.so.*
%files -n liboath-devel
%{_includedir}/liboath
%{_libdir}/liboath.so
%{_libdir}/pkgconfig/liboath.pc
%files -n liboath-doc
%{_mandir}/man3/oath*
%{_datadir}/gtk-doc/html/liboath/*
%if ! 0%{?rhel:1}
%files -n libpskc
%doc libpskc/README
%{_libdir}/libpskc.so.*
%{_datadir}/xml/pskc
%files -n libpskc-devel
%{_includedir}/pskc
%{_libdir}/libpskc.so
%{_libdir}/pkgconfig/libpskc.pc
%files -n libpskc-doc
%{_mandir}/man3/pskc*
%{_datadir}/gtk-doc/html/libpskc/*
%endif
%files -n oathtool
%doc oathtool/COPYING
%{_bindir}/oathtool
%{_mandir}/man1/oathtool.*
%if ! 0%{?rhel:1}
%files -n pskctool
%{_bindir}/pskctool
%{_mandir}/man1/pskctool.*
%endif
%files -n pam_oath
%doc pam_oath/README pam_oath/COPYING
%{_libdir}/security/pam_oath.so
%changelog
* Tue Aug 5 2014 Jaroslav Škarvada <jskarvad@redhat.com> - 2.4.1-5
- Added support for RHEL (i.e. no PSKC yet on RHEL)
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.4.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Thu Feb 20 2014 Jaroslav Škarvada <jskarvad@redhat.com> - 2.4.1-3
- Added xmlsec1-openssl to requires
Resolves: rhbz#1066477
* Mon Feb 17 2014 Jaroslav Škarvada <jskarvad@redhat.com> - 2.4.1-2
- Added xmlsec1-openssl-devel to buildrequires
* Thu Feb 13 2014 Jaroslav Škarvada <jskarvad@redhat.com> - 2.4.1-1
- New version
Resolves: rhbz#1064764
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.4.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Tue Jul 23 2013 Jaroslav Škarvada <jskarvad@redhat.com> - 2.4.0-1
- New version
Resolves: rhbz#987378
* Wed Jul 10 2013 Jaroslav Škarvada <jskarvad@redhat.com> - 2.2.0-1
- New version
Resolves: rhbz#982986
* Wed Jun 5 2013 Jaroslav Škarvada <jskarvad@redhat.com> - 2.0.2-3
- Fixed requirements according to reviewer comments
- Linked with --as-needed
- Fixed man pages (by man-fix patch)
* Mon Apr 8 2013 Jaroslav Škarvada <jskarvad@redhat.com> - 2.0.2-2
- Added /etc/liboath directory to hold configuration / user lists
* Sun Apr 07 2013 Jaroslav Škarvada <jskarvad@redhat.com> - 2.0.2-1
- Initial version