+#
+# Conditional build:
+%bcond_with openct # use OpenCT instead of PC/SC for reader access
+#
Summary: OpenSC library - for accessing SmartCard devices using PC/SC Lite
-Summary(pl): Biblioteka OpenSC - do korzystania z kart procesorowych przy u¿yciu PC/SC Lite
+Summary(pl.UTF-8): Biblioteka OpenSC - do korzystania z kart procesorowych przy użyciu PC/SC Lite
Name: opensc
-Version: 0.8.0
-Release: 1
-License: LGPL
+Version: 0.16.0
+Release: 2
+Epoch: 0
+License: LGPL v2.1+
Group: Applications
-Source0: http://www.opensc.org/files/%{name}-%{version}.tar.gz
-# Source0-md5: 46bb22935040816a0d741b5f76ed4b81
-Patch0: %{name}-nolibs.patch
-Patch1: %{name}-libdir.patch
-Patch2: %{name}-assuan.patch
-URL: http://www.opensc.org/
-BuildRequires: autoconf >= 2.52
-BuildRequires: automake
-BuildRequires: libassuan-devel >= 1:0.6.0
+Source0: http://downloads.sourceforge.net/opensc/%{name}-%{version}.tar.gz
+# Source0-md5: 724d128f23cd7a74b28d04300ce7bcbd
+Patch0: %{name}-pc.patch
+URL: https://github.com/OpenSC/OpenSC/wiki
+BuildRequires: autoconf >= 2.60
+BuildRequires: automake >= 1:1.10
+BuildRequires: docbook-style-xsl
+BuildRequires: libltdl-devel
BuildRequires: libtool >= 1:1.4.2-9
-BuildRequires: openldap-devel
-BuildRequires: openssl-devel
-BuildRequires: pam-devel
-BuildRequires: pcsc-lite-devel
+BuildRequires: libxslt-progs
+%{?with_openct:BuildRequires: openct-devel}
+BuildRequires: openssl-devel >= 0.9.7d
+%{!?with_openct:BuildRequires: pcsc-lite-devel >= 1.6.0}
+BuildRequires: pkgconfig >= 1:0.9.0
BuildRequires: readline-devel
+BuildRequires: rpmbuild(macros) >= 1.364
+BuildRequires: zlib-devel
+Requires: filesystem >= 4.0-28
+%{!?with_openct:Requires: pcsc-lite-libs >= 1.6.0}
+Obsoletes: browser-plugin-opensc
+Obsoletes: mozilla-plugin-opensc
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
# datadir is used for config files and (editable) profiles
-%define _datadir %{_sysconfdir}
-%define mozplugindir /usr/lib/mozilla/plugins
+%define _datadir /etc
+%define _sysconfdir /etc/opensc
%description
libopensc is a library for accessing SmartCard devices using PC/SC
with PKCS#15 compatible cards, such as the FINEID (Finnish Electronic
IDentity) card manufactured by Setec.
-%description -l pl
+%description -l pl.UTF-8
libopensc to biblioteka do korzystania z kart procesorowych przy
-u¿yciu pakietu warstwy po¶redniej PC/SC Lite. Jest to tak¿e podstawowa
-biblioteka projektu OpenSC. Podstawowa funkcjonalno¶æ (np. SELECT
-FILE, READ BINARY) powinna dzia³aæ tak¿e z dowoln± kart± procesorow±
-zgodn± z ISO-7816-4. Szyfrowanie i odszyfrowywanie przy u¿yciu
-prywatnych kluczy na karcie na razie jest mo¿liwe tylko przy u¿yciu
+użyciu pakietu warstwy pośredniej PC/SC Lite. Jest to także podstawowa
+biblioteka projektu OpenSC. Podstawowa funkcjonalność (np. SELECT
+FILE, READ BINARY) powinna działać także z dowolną kartą procesorową
+zgodną z ISO-7816-4. Szyfrowanie i odszyfrowywanie przy użyciu
+prywatnych kluczy na karcie na razie jest możliwe tylko przy użyciu
kart kompatybilnych z PKCS#16, takich jak FINEID (Finnish Electronic
IDentity) produkowanych przez Setec.
%package devel
Summary: OpenSC development files
-Summary(pl): Pliki dla programistów u¿ywaj±cych OpenSC
+Summary(pl.UTF-8): Pliki dla programistów używających OpenSC
Group: Development/Tools
-Requires: %{name} = %{version}
+Requires: %{name} = %{epoch}:%{version}-%{release}
+Requires: libltdl-devel
+%{?with_openct:Requires: openct-devel}
+Requires: openssl-devel >= 0.9.7d
+%{!?with_openct:Requires: pcsc-lite-devel >= 1.6.0}
+Requires: zlib-devel
%description devel
OpenSC development files.
-%description devel -l pl
-Pliki dla programistów u¿ywaj±cych OpenSC.
+%description devel -l pl.UTF-8
+Pliki dla programistów używających OpenSC.
%package static
-Summary: Static OpenSC libraries
-Summary(pl): Bibloteki statyczne OpenSC
+Summary: Static OpenSC library
+Summary(pl.UTF-8): Bibloteka statyczna OpenSC
Group: Development/Tools
-Requires: %{name}-devel = %{version}
+Requires: %{name}-devel = %{epoch}:%{version}-%{release}
%description static
-Static OpenSC libraries.
+Static OpenSC library.
-%description static -l pl
-Statyczne biblioteki OpenSC.
+%description static -l pl.UTF-8
+Biblioteka statyczna OpenSC.
-%package -n pam_opensc
-Summary: OpenSC module for PAM
-Summary(pl): Modu³ PAM OpenSC
-License: GPL
-Group: Base
-Requires: %{name} = %{version}
+%package -n bash-completion-opensc
+Summary: Bash completion for OpenSC commands
+Summary(pl.UTF-8): Bashowe uzupełnianie parametrów poleceń OpenSC
+Group: Applications/Shells
+Requires: %{name} = %{version}-%{release}
-%description -n pam_opensc
-OpenSC module for PAM.
+%description -n bash-completion-opensc
+Bash completion for OpenSC commands.
-%description -n pam_opensc -l pl
-Modu³ PAM OpenSC.
-
-%package -n mozilla-plugin-opensc
-Summary: OpenSC Signer plugin for Mozilla
-Summary(pl): Wtyczka OpenSC Signer dla Mozilli
-# libassuan is GPL
-License: GPL
-Group: X11/Applications
-Requires: %{name} = %{version}
-Requires: pinentry-gtk
-
-%description -n mozilla-plugin-opensc
-OpenSC Signer plugin for Mozilla.
-
-%description -n mozilla-plugin-opensc -l pl
-Wtyczka OpenSC Signer dla Mozilli.
+%description -n bash-completion-opensc -l pl.UTF-8
+Bashowe uzupełnianie parametrów poleceń OpenSC.
%prep
%setup -q
%patch0 -p1
-%patch1 -p1
-%patch2 -p1
%build
%{__libtoolize}
-%{__aclocal}
+%{__aclocal} -I m4
%{__autoconf}
+%{__autoheader}
%{__automake}
%configure \
- --with-pin-entry=/usr/bin/pinentry-gtk \
- --with-plugin-dir="%{mozplugindir}"
+ %{?with_openct:--enable-openct --disable-pcsc} \
+ %{!?with_openct:--enable-pcsc --disable-openct} \
+ --disable-silent-rules \
+ --enable-doc \
+ --with-pcsc-provider=%{_libdir}/libpcsclite.so.1
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT%{mozplugindir}
+install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_libdir}/pkcs11}
%{__make} install \
- DESTDIR=$RPM_BUILD_ROOT
-
-install -d $RPM_BUILD_ROOT/lib
-mv -f $RPM_BUILD_ROOT%{_libdir}/security $RPM_BUILD_ROOT/lib
+ DESTDIR=$RPM_BUILD_ROOT \
+ completiondir=/etc/bash_completion.d
-# just install instead of symlinking
-rm -f $RPM_BUILD_ROOT%{mozplugindir}/opensc-signer.so
-mv -f $RPM_BUILD_ROOT%{_libdir}/opensc/opensc-signer.so $RPM_BUILD_ROOT%{mozplugindir}
+# not needed (dlopened by soname)
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/{onepin-opensc-pkcs11,opensc-pkcs11,pkcs11-spy}.la
+# obsoleted by pkg-config
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/lib{opensc,smm-local}.la
-# default config
-mv -f $RPM_BUILD_ROOT%{_datadir}/opensc/opensc.conf{.example,}
-mv -f $RPM_BUILD_ROOT%{_datadir}/opensc/scldap.conf{.example,}
-
-# useless (dlopened by *.so)
-rm -f $RPM_BUILD_ROOT%{_libdir}/libscam.{a,la} \
- $RPM_BUILD_ROOT%{_libdir}/opensc/opensc-signer.{a,la} \
- $RPM_BUILD_ROOT%{_libdir}/pkcs11/opensc-pkcs11.{a,la} \
- $RPM_BUILD_ROOT/lib/security/pam_opensc.{a,la}
+%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
-%doc ANNOUNCE ChangeLog NEWS docs/{pkcs-15v1_1.asn,opensc.{html,css}}
-%attr(755,root,root) %{_bindir}/cardos-info
+%doc NEWS README doc/tools/tools.html
+%attr(755,root,root) %{_bindir}/cardos-tool
%attr(755,root,root) %{_bindir}/cryptoflex-tool
+%attr(755,root,root) %{_bindir}/dnie-tool
+%attr(755,root,root) %{_bindir}/eidenv
+%attr(755,root,root) %{_bindir}/gids-tool
+%attr(755,root,root) %{_bindir}/iasecc-tool
+%attr(755,root,root) %{_bindir}/netkey-tool
+%attr(755,root,root) %{_bindir}/openpgp-tool
%attr(755,root,root) %{_bindir}/opensc-explorer
%attr(755,root,root) %{_bindir}/opensc-tool
+%attr(755,root,root) %{_bindir}/piv-tool
%attr(755,root,root) %{_bindir}/pkcs11-tool
-%attr(755,root,root) %{_bindir}/pkcs15-*
-%attr(755,root,root) %{_libdir}/lib*.so.*.*
-%attr(755,root,root) %{_libdir}/libscam.so
-%dir %{_libdir}/pkcs11
+%attr(755,root,root) %{_bindir}/pkcs15-crypt
+%attr(755,root,root) %{_bindir}/pkcs15-init
+%attr(755,root,root) %{_bindir}/pkcs15-tool
+%attr(755,root,root) %{_bindir}/sc-hsm-tool
+%attr(755,root,root) %{_bindir}/westcos-tool
+%attr(755,root,root) %{_libdir}/libopensc.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopensc.so.4
+%attr(755,root,root) %{_libdir}/libsmm-local.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libsmm-local.so.4
+# PKCS11 modules
+%attr(755,root,root) %{_libdir}/onepin-opensc-pkcs11.so
+%attr(755,root,root) %{_libdir}/opensc-pkcs11.so
+%attr(755,root,root) %{_libdir}/pkcs11-spy.so
+%attr(755,root,root) %{_libdir}/pkcs11/onepin-opensc-pkcs11.so
%attr(755,root,root) %{_libdir}/pkcs11/opensc-pkcs11.so
+%attr(755,root,root) %{_libdir}/pkcs11/pkcs11-spy.so
%dir %{_datadir}/opensc
-%config(noreplace) %verify(not size mtime md5) %{_datadir}/opensc/*.conf
-%config(noreplace) %verify(not size mtime md5) %{_datadir}/opensc/*.profile
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/opensc.conf
+%config(noreplace) %verify(not md5 mtime size) %{_datadir}/opensc/*.profile
+%{_mandir}/man1/cardos-tool.1*
%{_mandir}/man1/cryptoflex-tool.1*
+%{_mandir}/man1/dnie-tool.1*
+%{_mandir}/man1/eidenv.1*
+%{_mandir}/man1/gids-tool.1*
+%{_mandir}/man1/iasecc-tool.1*
+%{_mandir}/man1/netkey-tool.1*
+%{_mandir}/man1/openpgp-tool.1*
%{_mandir}/man1/opensc-explorer.1*
%{_mandir}/man1/opensc-tool.1*
-%{_mandir}/man1/pkcs15*
-%{_mandir}/man[57]/*
+%{_mandir}/man1/piv-tool.1*
+%{_mandir}/man1/pkcs11-tool.1*
+%{_mandir}/man1/pkcs15-crypt.1*
+%{_mandir}/man1/pkcs15-init.1*
+%{_mandir}/man1/pkcs15-tool.1*
+%{_mandir}/man1/sc-hsm-tool.1*
+%{_mandir}/man1/westcos-tool.1*
+%{_mandir}/man5/pkcs15-profile.5*
%files devel
%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/opensc-config
%attr(755,root,root) %{_libdir}/libopensc.so
-%attr(755,root,root) %{_libdir}/libpkcs15init.so
-%attr(755,root,root) %{_libdir}/libscconf.so
-%attr(755,root,root) %{_libdir}/libscldap.so
-%{_libdir}/lib*.la
-%{_includedir}/opensc
-%{_pkgconfigdir}/*.pc
-%{_mandir}/man1/opensc-config.1*
-%{_mandir}/man3/*
+%attr(755,root,root) %{_libdir}/libsmm-local.so
+%{_pkgconfigdir}/libopensc.pc
%files static
%defattr(644,root,root,755)
-%{_libdir}/lib*.a
-
-%files -n pam_opensc
-%defattr(644,root,root,755)
-%attr(755,root,root) /lib/security/pam_opensc.so
+%{_libdir}/libopensc.a
+%{_libdir}/libsmm-local.a
-%files -n mozilla-plugin-opensc
+%files -n bash-completion-opensc
%defattr(644,root,root,755)
-%attr(755,root,root) %{mozplugindir}/opensc-signer.so
+/etc/bash_completion.d/cardos-tool
+/etc/bash_completion.d/cryptoflex-tool
+/etc/bash_completion.d/dnie-tool
+/etc/bash_completion.d/eidenv
+/etc/bash_completion.d/gids-tool
+/etc/bash_completion.d/iasecc-tool
+/etc/bash_completion.d/netkey-tool
+/etc/bash_completion.d/openpgp-tool
+/etc/bash_completion.d/opensc-explorer
+/etc/bash_completion.d/opensc-tool
+/etc/bash_completion.d/piv-tool
+/etc/bash_completion.d/pkcs11-tool
+/etc/bash_completion.d/pkcs15-crypt
+/etc/bash_completion.d/pkcs15-init
+/etc/bash_completion.d/pkcs15-tool
+/etc/bash_completion.d/sc-hsm-tool
+/etc/bash_completion.d/westcos-tool