]> git.pld-linux.org Git - packages/opensc.git/blobdiff - opensc.spec
- browser-plugins framework for signer plugin; rel 2
[packages/opensc.git] / opensc.spec
index a8590f668546c810d57d84e30304a4d15e37eff8..a9cd947d9d5c906a32bad1034fb1a7352d80a610 100644 (file)
@@ -1,29 +1,38 @@
 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.11.0
+Release:       2
+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
-Patch4:                %{name}-cryptoflex.patch
-URL:           http://www.opensc.org/
+Source0:       http://www.opensc-project.org/files/opensc/%{name}-%{version}.tar.gz
+# Source0-md5: be9cced6c703253baf78ccd9970679fa
+Patch0:                %{name}-explorer-debug.patch
+Patch1:                %{name}-libassuan.patch
+URL:           http://www.opensc-project.org/
 BuildRequires: autoconf >= 2.52
 BuildRequires: automake
-BuildRequires: libassuan-devel
+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
+BuildRequires: openssl-devel >= 0.9.7d
 BuildRequires: pcsc-lite-devel
+BuildRequires: pkgconfig >= 1:0.9.0
 BuildRequires: readline-devel
+BuildRequires: rpmbuild(macros) >= 1.236
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
-%define                mozplugindir    /usr/lib/mozilla/plugins
+# datadir is used for config files and (editable) profiles
+%define                _datadir        /etc
+%define                _sysconfdir     /etc/opensc
+%define                _plugindir      %{_libdir}/browser-plugins
+
+# TODO: galeon and skipstone.
+# use macro, otherwise extra LF inserted along with the ifarch
+%define        browsers mozilla, mozilla-firefox, konqueror, opera, seamonkey
 
 %description
 libopensc is a library for accessing SmartCard devices using PC/SC
@@ -48,7 +57,11 @@ IDentity) produkowanych przez Setec.
 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:      libltdl-devel
+Requires:      openct-devel
+Requires:      openssl-devel
+Requires:      pcsc-lite-devel
 
 %description devel
 OpenSC development files.
@@ -60,7 +73,7 @@ Pliki dla programist
 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.
@@ -68,63 +81,60 @@ Static OpenSC libraries.
 %description static -l pl
 Statyczne biblioteki OpenSC.
 
-%package -n pam_opensc
-Summary:       OpenSC module for PAM
-Summary(pl):   Modu³ PAM OpenSC
-License:       GPL
-Group:         Base
-Requires:      %{name} = %{version}
-
-%description -n pam_opensc
-OpenSC module for PAM.
-
-%description -n pam_opensc -l pl
-Modu³ PAM OpenSC.
-
-%package -n mozilla-plugin-opensc
+%package -n browser-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:      %{name} = %{epoch}:%{version}-%{release}
+Requires:      browser-plugins(%{_target_base_arch})
 Requires:      pinentry-gtk
+Provides:      mozilla-plugin-opensc
+Obsoletes:     mozilla-plugin-opensc
+
+%description -n browser-plugin-opensc
+OpenSC Signer browser plugin.
 
-%description -n mozilla-plugin-opensc
-OpenSC Signer plugin for Mozilla.
+Supported browsers: %{browsers}.
 
-%description -n mozilla-plugin-opensc -l pl
-Wtyczka OpenSC Signer dla Mozilli.
+%description -n browser-plugin-opensc -l pl
+Wtyczka OpenSC Signer dla przegl±darek.
+
+Obs³ugiwane przegl±darki: %{browsers}.
 
 %prep
 %setup -q
 %patch0 -p1
 %patch1 -p1
-%patch2 -p1
-%patch3 -p1
-%patch4 -p1
 
 %build
 %{__libtoolize}
-%{__aclocal}
+%{__aclocal} -I aclocal
 %{__autoconf}
+%{__autoheader}
 %{__automake}
 %configure \
        --with-pin-entry=/usr/bin/pinentry-gtk \
-       --with-plugin-dir="%{mozplugindir}"
+       --with-plugin-dir="%{_plugindir}"
 
 %{__make}
 
 %install
 rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT%{_plugindir}
+
+%{__make} install \
+       DESTDIR=$RPM_BUILD_ROOT
 
-%{__make} install DESTDIR=$RPM_BUILD_ROOT
+# just install instead of symlinking
+rm -f $RPM_BUILD_ROOT%{_plugindir}/opensc-signer.so
+mv -f $RPM_BUILD_ROOT%{_libdir}/opensc-signer.so $RPM_BUILD_ROOT%{_plugindir}
 
-install -d $RPM_BUILD_ROOT/lib
-mv -f $RPM_BUILD_ROOT%{_libdir}/security $RPM_BUILD_ROOT/lib
+# default config
+install etc/opensc.conf $RPM_BUILD_ROOT%{_sysconfdir}
 
-# libscam.a is broken (contains libscrandom.a) and not needed (static module)
-rm -f $RPM_BUILD_ROOT%{_libdir}/libscam.{a,la}
+# useless (dlopened by *.so)
+rm -f $RPM_BUILD_ROOT%{_libdir}/{opensc,pkcs11}-*.{a,la} \
+       $RPM_BUILD_ROOT%{_libdir}/opensc/*.{a,la}
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -132,46 +142,89 @@ rm -rf $RPM_BUILD_ROOT
 %post  -p /sbin/ldconfig
 %postun        -p /sbin/ldconfig
 
+%triggerin -n browser-plugin-opensc -- mozilla-firefox
+%nsplugin_install -d %{_libdir}/mozilla-firefox/plugins opensc-signer.so
+
+%triggerun -n browser-plugin-opensc -- mozilla-firefox
+%nsplugin_uninstall -d %{_libdir}/mozilla-firefox/plugins opensc-signer.so
+
+%triggerin -n browser-plugin-opensc -- mozilla
+%nsplugin_install -d %{_libdir}/mozilla/plugins opensc-signer.so
+
+%triggerun -n browser-plugin-opensc -- mozilla
+%nsplugin_uninstall -d %{_libdir}/mozilla/plugins opensc-signer.so
+
+%triggerin -n browser-plugin-opensc -- opera
+%nsplugin_install -d %{_libdir}/opera/plugins opensc-signer.so
+
+%triggerun -n browser-plugin-opensc -- opera
+%nsplugin_uninstall -d %{_libdir}/opera/plugins opensc-signer.so
+
+%triggerin -n browser-plugin-opensc -- konqueror
+%nsplugin_install -d %{_libdir}/kde3/plugins/konqueror opensc-signer.so
+
+%triggerun -n browser-plugin-opensc -- konqueror
+%nsplugin_uninstall -d %{_libdir}/kde3/plugins/konqueror opensc-signer.so
+
+%triggerin -n browser-plugin-opensc -- seamonkey
+%nsplugin_install -d %{_libdir}/seamonkey/plugins opensc-signer.so
+
+%triggerun -n browser-plugin-opensc -- seamonkey
+%nsplugin_uninstall -d %{_libdir}/seamonkey/plugins opensc-signer.so
+
+# as rpm removes the old obsoleted package files after the triggers
+# are ran, add another trigger to make the links there.
+%triggerpostun -n browser-plugin-opensc -- mozilla-plugin-opensc
+%nsplugin_install -f -d %{_libdir}/mozilla/plugins opensc-signer.so
+
 %files
 %defattr(644,root,root,755)
-%doc AUTHORS ChangeLog NEWS README README.signer THANKS TODO docs/pkcs-15v1_1.asn
+%doc NEWS README doc/ChangeLog doc/{*.{html,css},html/tools.html}
+%attr(755,root,root) %{_bindir}/cardos-info
 %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
-%dir %{_libdir}/pkcs11
-%attr(755,root,root) %{_libdir}/pkcs11/opensc-pkcs11.so
+%attr(755,root,root) %{_libdir}/opensc-pkcs11.so
+%attr(755,root,root) %{_libdir}/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-info.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}/man[57]/*
 
 %files devel
 %defattr(644,root,root,755)
+%doc doc/html/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}/*.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
-
-%files -n pam_opensc
-%defattr(644,root,root,755)
-%attr(755,root,root) /lib/security/pam_opensc.so
 
-%files -n mozilla-plugin-opensc
+%files -n browser-plugin-opensc
 %defattr(644,root,root,755)
-%attr(755,root,root) %{mozplugindir}/opensc-signer.so
+%attr(755,root,root) %{_plugindir}/opensc-signer.so
This page took 0.045059 seconds and 4 git commands to generate.