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
Name: opensc
-Version: 0.7.0
-Release: 1
+Version: 0.8.1
+Release: 3
+Epoch: 0
License: LGPL
Group: Applications
Source0: http://www.opensc.org/files/%{name}-%{version}.tar.gz
-Patch0: %{name}-nolibs.patch
-Patch1: %{name}-segv.patch
-Patch2: %{name}-lt.patch
-Patch3: %{name}-ssl0.9.7.patch
+# Source0-md5: 2b64a8e629bd28a00e707e35fd3eb9c7
+Patch0: %{name}-libdir.patch
+Patch1: %{name}-shared-ssl.patch
URL: http://www.opensc.org/
BuildRequires: autoconf >= 2.52
BuildRequires: automake
+BuildRequires: libassuan-devel >= 1:0.6.0
BuildRequires: libtool >= 1:1.4.2-9
-BUildRequires: openldap-devel
-BuildRequires: openssl-devel
+BuildRequires: openldap-devel
+BuildRequires: openssl-devel >= 0.9.7c
+BuildRequires: openct-devel
BuildRequires: pam-devel
BuildRequires: pcsc-lite-devel
BuildRequires: readline-devel
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
+
%description
libopensc is a library for accessing SmartCard devices using PC/SC
Lite middleware package. It is also the core library of the OpenSC
Summary: OpenSC development files
Summary(pl): Pliki dla programistów u¿ywaj±cych OpenSC
Group: Development/Tools
-Requires: %{name}-libs = %{version}
+Requires: %{name} = %{epoch}:%{version}-%{release}
+Requires: openct-devel
+Requires: openssl-devel
+Requires: pcsc-lite-devel
%description devel
OpenSC development files.
Summary: Static OpenSC libraries
Summary(pl): 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
Statyczne biblioteki OpenSC.
-%package -n pam_opensc
+%package -n pam-pam_opensc
Summary: OpenSC module for PAM
Summary(pl): Modu³ PAM OpenSC
License: GPL
Group: Base
-Requires: %{name} = %{version}
+Requires: %{name} = %{epoch}:%{version}-%{release}
+Obsoletes: pam_opensc
-%description -n pam_opensc
+%description -n pam-pam_opensc
OpenSC module for PAM.
-%description -n pam_opensc -l pl
+%description -n pam-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} = %{epoch}:%{version}-%{release}
+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.
+
%prep
%setup -q
%patch0 -p1
%patch1 -p1
-%patch2 -p1
-%patch3 -p1
%build
%{__libtoolize}
%{__aclocal}
%{__autoconf}
%{__automake}
-%configure
+%configure \
+ --with-pin-entry=/usr/bin/pinentry-gtk \
+ --with-plugin-dir="%{mozplugindir}"
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT%{mozplugindir}
-%{__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
-# libscam.a is broken (contains libscrandom.a) and not needed (static module)
-rm -f $RPM_BUILD_ROOT%{_libdir}/libscam.{a,la}
+# 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}
+
+# 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/*.{a,la} \
+ $RPM_BUILD_ROOT%{_libdir}/pkcs11/*.{a,la} \
+ $RPM_BUILD_ROOT/lib/security/pam_opensc.{a,la}
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
-%doc AUTHORS ChangeLog NEWS README README.signer THANKS TODO docs/pkcs-15v1_1.asn
+%doc ANNOUNCE ChangeLog NEWS docs/{pkcs-15v1_1.asn,opensc.{html,css}}
+%attr(755,root,root) %{_bindir}/cardos-info
%attr(755,root,root) %{_bindir}/cryptoflex-tool
%attr(755,root,root) %{_bindir}/opensc-explorer
%attr(755,root,root) %{_bindir}/opensc-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) %{_libdir}/pkcs11/opensc-pkcs11.so
+%attr(755,root,root) %{_libdir}/pkcs11/pkcs11-spy.so
+%dir %{_libdir}/opensc
+%attr(755,root,root) %{_libdir}/opensc/engine_opensc.so
+%attr(755,root,root) %{_libdir}/opensc/engine_pkcs11.so
%dir %{_datadir}/opensc
-%{_datadir}/opensc/*.profile
-%{_mandir}/man[157]/pkcs15*
+%config(noreplace) %verify(not size mtime md5) %{_datadir}/opensc/*.conf
+%config(noreplace) %verify(not size mtime md5) %{_datadir}/opensc/*.profile
+%{_mandir}/man1/cryptoflex-tool.1*
+%{_mandir}/man1/opensc-explorer.1*
+%{_mandir}/man1/opensc-tool.1*
+%{_mandir}/man1/pkcs15*
+%{_mandir}/man[57]/*
%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}/libpkcs11.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
+%{_libdir}/lib*.la
%{_includedir}/opensc
+%{_pkgconfigdir}/*.pc
+%{_mandir}/man1/opensc-config.1*
+%{_mandir}/man3/*
%files static
%defattr(644,root,root,755)
-%{_libdir}/libopensc.a
-%{_libdir}/libpkcs15init.a
-%{_libdir}/libscconf.a
-%{_libdir}/libscldap.a
+%{_libdir}/lib*.a
-%files -n pam_opensc
+%files -n pam-pam_opensc
%defattr(644,root,root,755)
%attr(755,root,root) /lib/security/pam_opensc.so
+
+%files -n mozilla-plugin-opensc
+%defattr(644,root,root,755)
+%attr(755,root,root) %{mozplugindir}/opensc-signer.so