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.7.0
+Version: 0.11.13
Release: 1
-License: LGPL
+Epoch: 0
+License: LGPL v2.1+
Group: Applications
-Source0: http://www.opensc.org/files/%{name}-%{version}.tar.gz
-Patch0: %{name}-nolibs.patch
-URL: http://www.opensc.org/
-BuildRequires: autoconf >= 2.52
-BuildRequires: automake
+Source0: http://www.opensc-project.org/files/opensc/%{name}-%{version}.tar.gz
+# Source0-md5: 98fa151e947941f9c3f27420fdf47c11
+Source1: %{name}-initramfs-hook
+Source2: %{name}-initramfs-local-bottom
+Source3: %{name}-initramfs-local-top
+Source4: %{name}-initramfs-README
+URL: http://www.opensc-project.org/
+BuildRequires: autoconf >= 2.60
+BuildRequires: automake >= 1:1.10
+BuildRequires: libassuan-devel >= 1:0.6.0
+BuildRequires: libltdl-devel
BuildRequires: libtool >= 1:1.4.2-9
-BUildRequires: openldap-devel
-BuildRequires: openssl-devel
-BuildRequires: pam-devel
+BuildRequires: openct-devel
+BuildRequires: openldap-devel >= 2.4.6
+BuildRequires: openssl-devel >= 0.9.7d
BuildRequires: pcsc-lite-devel
+BuildRequires: pkgconfig >= 1:0.9.0
BuildRequires: readline-devel
+BuildRequires: rpmbuild(macros) >= 1.364
+BuildRequires: xorg-lib-libXt-devel
+BuildRequires: zlib-devel
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+# datadir is used for config files and (editable) profiles
+%define _datadir /etc
+%define _sysconfdir /etc/opensc
+
%description
libopensc is a library for accessing SmartCard devices using PC/SC
Lite middleware package. It is also the core library of the OpenSC
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}-libs = %{version}
+Requires: %{name} = %{epoch}:%{version}-%{release}
+Requires: libltdl-devel
+Requires: openct-devel
+Requires: openssl-devel
+Requires: pcsc-lite-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(pl.UTF-8): Bibloteki statyczne OpenSC
Group: Development/Tools
-Requires: %{name}-devel = %{version}
+Requires: %{name}-devel = %{epoch}:%{version}-%{release}
%description static
Static OpenSC libraries.
-%description static -l pl
+%description static -l pl.UTF-8
Statyczne biblioteki OpenSC.
-%package -n pam_opensc
-Summary: OpenSC module for PAM
-Summary(pl): Modu³ PAM OpenSC
-License: GPL
+%package -n browser-plugin-opensc
+Summary: OpenSC Signer plugin for Mozilla
+Summary(pl.UTF-8): Wtyczka OpenSC Signer dla Mozilli
+Group: X11/Applications
+Requires: %{name} = %{epoch}:%{version}-%{release}
+Requires: browser-plugins >= 2.0
+Requires: browser-plugins(%{_target_base_arch})
+Requires: pinentry >= 0.7.5-2
+Provides: mozilla-plugin-opensc
+Obsoletes: mozilla-plugin-opensc
+
+%description -n browser-plugin-opensc
+OpenSC Signer browser plugin.
+
+Supported browsers: %{browsers}.
+
+%description -n browser-plugin-opensc -l pl.UTF-8
+Wtyczka OpenSC Signer dla przeglądarek.
+
+Obsługiwane przeglądarki: %{browsers}.
+
+%package initramfs
+Summary: OpenSC support scripts for initramfs-tools
+Summary(pl.UTF-8): Skrypty dla initramfs-tools ze wsparciem dla OpenSC
Group: Base
-Requires: %{name} = %{version}
+Requires: %{name} = %{version}-%{release}
+Requires: initramfs-tools
-%description -n pam_opensc
-OpenSC module for PAM.
+%description initramfs
+OpenSC support scripts for initramfs-tools.
-%description -n pam_opensc -l pl
-Modu³ PAM OpenSC.
+%description initramfs -l pl.UTF-8
+Skrypty dla initramfs-tools ze wsparciem dla OpenSC.
%prep
%setup -q
-%patch -p1
+
+install %{SOURCE4} README.initramfs
%build
%{__libtoolize}
-%{__aclocal}
+%{__aclocal} -I m4
%{__autoconf}
+%{__autoheader}
%{__automake}
-%configure
+%configure \
+ --enable-openct \
+ --enable-nsplugin \
+ --enable-pcsc \
+ --with-pcsc-provider=%{_libdir}/libpcsclite.so.1 \
+ --with-pinentry=/usr/bin/pinentry \
+ --with-plugindir=%{_browserpluginsdir}
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT%{_browserpluginsdir} \
+ $RPM_BUILD_ROOT%{_datadir}/initramfs-tools/{hooks,scripts/local-{bottom,top}}
-%{__make} install DESTDIR=$RPM_BUILD_ROOT
+%{__make} install \
+ DESTDIR=$RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT/lib
-mv -f $RPM_BUILD_ROOT%{_libdir}/security $RPM_BUILD_ROOT/lib
+# just install instead of symlinking
+%{__rm} $RPM_BUILD_ROOT%{_browserpluginsdir}/opensc-signer.so
+mv -f $RPM_BUILD_ROOT%{_libdir}/opensc-signer.so $RPM_BUILD_ROOT%{_browserpluginsdir}
+
+# default config
+install etc/opensc.conf $RPM_BUILD_ROOT%{_sysconfdir}
+
+install %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/initramfs-tools/hooks/opensc
+install %{SOURCE2} $RPM_BUILD_ROOT%{_datadir}/initramfs-tools/scripts/local-bottom/opensc
+install %{SOURCE3} $RPM_BUILD_ROOT%{_datadir}/initramfs-tools/scripts/local-top/opensc
+
+# useless (dlopened by *.so)
+rm -f $RPM_BUILD_ROOT%{_libdir}/{onepin-opensc,opensc,pkcs11}-*.{a,la} \
+ $RPM_BUILD_ROOT%{_libdir}/opensc/*.{a,la}
%clean
rm -rf $RPM_BUILD_ROOT
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
+%post -n browser-plugin-opensc
+%update_browser_plugins
+
+%postun -n browser-plugin-opensc
+if [ "$1" = "0" ]; then
+ %update_browser_plugins
+fi
+
%files
%defattr(644,root,root,755)
-%doc AUTHORS ChangeLog NEWS README README.signer THANKS TODO docs/pkcs-15v1_1.asn
+%doc NEWS README doc/nonpersistent/{ChangeLog,wiki.out} doc/html.out/tools.html
+%attr(755,root,root) %{_bindir}/cardos-info
+%attr(755,root,root) %{_bindir}/cardos-tool
%attr(755,root,root) %{_bindir}/cryptoflex-tool
+%attr(755,root,root) %{_bindir}/eidenv
+%attr(755,root,root) %{_bindir}/netkey-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
+%attr(755,root,root) %{_bindir}/rutoken-tool
+%attr(755,root,root) %{_libdir}/libopensc.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libopensc.so.2
+%attr(755,root,root) %{_libdir}/libpkcs15init.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libpkcs15init.so.2
+%attr(755,root,root) %{_libdir}/libscconf.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libscconf.so.2
+# 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
%dir %{_libdir}/pkcs11
+%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
-%{_datadir}/opensc/*.profile
-%{_mandir}/man[157]/pkcs15*
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.conf
+%config(noreplace) %verify(not md5 mtime size) %{_datadir}/opensc/*.profile
+%{_mandir}/man1/cardos-tool.1*
+%{_mandir}/man1/cryptoflex-tool.1*
+%{_mandir}/man1/netkey-tool.1*
+%{_mandir}/man1/opensc-explorer.1*
+%{_mandir}/man1/opensc-tool.1*
+%{_mandir}/man1/pkcs11-tool.1*
+%{_mandir}/man1/pkcs15-*.1*
+%{_mandir}/man5/pkcs15-profile.5*
%files devel
%defattr(644,root,root,755)
+%doc doc/html.out/api.html
%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}/libopensc.la
%{_libdir}/libpkcs15init.la
%{_libdir}/libscconf.la
-%{_libdir}/libscldap.la
-%{_libdir}/libscrandom.a
%{_includedir}/opensc
+%{_pkgconfigdir}/libopensc.pc
+%{_pkgconfigdir}/libpkcs15init.pc
+%{_pkgconfigdir}/libscconf.pc
+%{_mandir}/man1/opensc-config.1*
+%{_mandir}/man3/sc_*.3*
%files static
%defattr(644,root,root,755)
%{_libdir}/libopensc.a
%{_libdir}/libpkcs15init.a
%{_libdir}/libscconf.a
-%{_libdir}/libscldap.a
-%files -n pam_opensc
+%files -n browser-plugin-opensc
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_browserpluginsdir}/opensc-signer.so
+
+%files initramfs
%defattr(644,root,root,755)
-%attr(755,root,root) /lib/security/pam_opensc.so
+%doc README.initramfs
+%attr(755,root,root) %{_datadir}/initramfs-tools/hooks/opensc
+%attr(755,root,root) %{_datadir}/initramfs-tools/scripts/local-top/opensc
+%attr(755,root,root) %{_datadir}/initramfs-tools/scripts/local-bottom/opensc