# # spec file for package pcsc-lite (Version 1.4.100) # # Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild Name: pcsc-lite # FIXME: Maybe we should use /usr/lib/pcsc/drivers as others do: %define ifddir %{_libdir}/readers BuildRequires: hal-devel pkg-config readline-devel # For directory ownership: BuildRequires: udev Version: 1.4.100 Release: 49 PreReq: %{insserv_prereq} %{fillup_prereq} # For upgrade from <= SLES9: PreReq: coreutils Group: Productivity/Security License: BSD 3-Clause Url: http://pcsclite.alioth.debian.org/ Summary: PCS Smart Cards Library Source: %{name}-%{version}.tar.bz2 Source1: pcscd.init Source2: README.SUSE Source3: pre_checkin.sh Patch: pcsc-lite-musclecard.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %description The purpose of PCSC Lite is to provide a Windows(R) SCard interface in a very small form factor for communication with smart cards and readers. PCSC Lite can be compiled directly for a desired reader driver or can be used to dynamically allocate/deallocate reader drivers at runtime (the default behavior). PCSC Lite uses the same winscard API as used in Windows(R). Security aware people should read the SECURITY file for possible vulnerabilities of pcsclite and how to fix them. For information on how to install drivers please read the DRIVERS file. Memory cards will be supported through the MCT specification, which is an APDU like manner sent normally through the SCardTransmit() function. This functionality is exercised in the driver. Authors: -------- David Corcoran Ludovic Rousseau Damien Sauveron Carlos Prados Antti Tapaninen %package devel License: BSD 3-Clause Group: Development/Libraries/C and C++ Summary: Development package for the MUSCLE project SmartCards library Requires: %{name} = %{version} pcsc-lite glibc-devel %description devel This package contains the development files for pcsc-lite. It allows to compile plugins for the pcsc-lite package. Authors: -------- David Corcoran %prep %setup -q cp -a %{S:2} . %patch %build ACLOCAL="aclocal -I m4" autoreconf -f -i %configure\ --docdir=%{_docdir}/%{name}\ --enable-usbdropdir=%{ifddir} make %{?jobs:-j%jobs} %install %makeinstall touch $RPM_BUILD_ROOT%{_sysconfdir}/reader.conf mkdir $RPM_BUILD_ROOT%{ifddir} # this program is noinst in the package install src/.libs/testpcsc $RPM_BUILD_ROOT%{_sbindir}/ mkdir $RPM_BUILD_ROOT/etc/init.d install -m 755 %{S:1} $RPM_BUILD_ROOT/etc/init.d/pcscd ln -sf ../../etc/init.d/pcscd $RPM_BUILD_ROOT%{_sbindir}/rcpcscd #rm -r $RPM_BUILD_ROOT/usr/doc # formaticc is no more provided #rm $RPM_BUILD_ROOT%{_mandir}/man1/formaticc.1* # For upgrade from <= SLES9: touch $RPM_BUILD_ROOT%{_sysconfdir}/reader.conf.d/old-reader.conf mkdir -p $RPM_BUILD_ROOT/etc/udev/rules.d sed -n '/udev rules for pcscd and CCID readers/,/^\\end{verbatim}/{/{verbatim}/d;p;}' $RPM_BUILD_ROOT/etc/udev/rules.d/99-pcsc_lite.rules mkdir -p $RPM_BUILD_ROOT%{_docdir}/%{name} cp -a AUTHORS ChangeLog ChangeLog.svn COPYING DRIVERS HELP NEWS README README.SUSE SECURITY TODO $RPM_BUILD_ROOT%{_docdir}/%{name} %clean rm -rf $RPM_BUILD_ROOT %pre # save old reader.conf in case of upgrade from <= SLES9 if [ "$1" = "2" ]; then if [ ! -d etc/reader.conf.d ]; then # update from old version mkdir -p etc/reader.conf.d cp etc/reader.conf etc/reader.conf.d/old-reader.conf fi fi %preun %{stop_on_removal pcscd} %post /sbin/ldconfig %{fillup_and_insserv pcscd} %postun /sbin/ldconfig %{restart_on_update pcscd} %{insserv_cleanup} %files %defattr(-,root,root) %doc %{_docdir}/%{name} %{_libdir}/*.so.* # .so must be in the main package (#235773): %{_libdir}/*.so %doc %{_mandir}/man?/*.* %{_sbindir}/* %ghost %{_sysconfdir}/reader.conf %dir %{_sysconfdir}/reader.conf.d %config %{_sysconfdir}/reader.conf.d/reader.conf %ghost %config %{_sysconfdir}/reader.conf.d/old-reader.conf %{ifddir} /etc/init.d/pcscd /etc/udev/rules.d/99-pcsc_lite.rules %files devel %defattr(-,root,root) %{_includedir}/* %{_libdir}/*.*a %{_libdir}/pkgconfig/*.pc %changelog * Fri Aug 22 2008 lnussel@suse.de - remove resmgr from BuildRequires * Thu Apr 10 2008 ro@suse.de - added baselibs.conf file to build xxbit packages for multilib support * Thu Apr 03 2008 sbrabec@suse.cz - Updated to version 1.4.100: * add libhal support to avoid polling the USB bus. * improve performances. * SCardListReaders(): returns SCARD_E_NO_READERS_AVAILABLE when no reader are available. * add support of TAG_IFD_POLLING_THREAD to use an asynchronous card movements detection instead of an active polling. * CardCheckDaemonAvailability(): lower the priority of the log message in case of "PCSC Not Running" or "PCSC restarted" so that nothing is logged by default. * default log level is PCSC_LOG_CRITICAL+1 so that NO log is sent to stderr by default. * Document more details about deviceName argument of IFDHCreateChannelByName() * add support of mix 32/64 bits platforms. * increase MAX_READERNAME from 52 to 100 * default ipcdir is /var/run/pcscd instead of /var/run so the directory can be shared locally between 32/64 bits systems on chroots * display time delta between two lines of logs when printed to stderr * return EXIT_SUCCESS (instead of EXIT_SUCCESS) if parsing /etc/reader.conf fails. * performance improvement when powering a card after insertion * some other minor improvements and bug corrections * do not call a Log function in a signal handler and do hotplug synchronously. * some other minor improvements and bug corrections * Tue Nov 06 2007 sbrabec@suse.cz - Added necessary udev rule (#337666). * Wed Aug 01 2007 sbrabec@suse.cz - Applied Jacob Berkman's patch for 32-64-bit interoperability. * Thu Jul 26 2007 sbrabec@suse.cz - Updated to version 1.4.3: * see ChangeLog for complete list of changes * Wed May 16 2007 olh@suse.de - Buildrequires libusb -> libusb-devel * Mon Mar 05 2007 pgajdos@suse.cz - fixed 'warning: array subscript is above array bounds' (#239174) * Tue Feb 13 2007 sbrabec@suse.cz - Updated to version 1.3.3: * Added -H --hotplug argument. * Added support for IFD_GENERATE_HOTPLUG bit in driver Info.plist ifdCapabilities. * SCardConnect() & SCardDisconnect(): Wait until any transaction finishes before going on. * Removed tools installifd and formaticc. * SCardControl(): do not limit cbSendLength to MAX_BUFFER_SIZE. * implement SCardIsValidContext() PC/SC call. * Other API changes and improvements. - Spec file cleanup. - Moved testpcsc to /usr/sbin. * Wed Jan 17 2007 sbrabec@suse.cz - pcsclite.so moved to the main package (#235773). * Tue Sep 19 2006 anosek@suse.cz - update to version 1.3.2 * add support of extended APDU in the standard configuration and in a backward compatible way: pcscd 1.3.2 can be used with libpcsclite <= 1.3.2 * define MAX_BUFFER_SIZE_EXTENDED as the maximal size allowed for a extended APDU (64KB) * LPCTSTR and LPTSTR types are deprecated. Use LPCSTR and LPSTR instead * Dual licence src/error.c so it can be used bu OpenSC. It is now BSD-like, see the COPYING file and GNU Lesser General Licence 2.1 or (at your option) any later version * document that the 4 bytes field value in PCSC_TLV_STRUCTURE is always in big endian as documented in PCSC v2 part 10 ch 2.2 page 2. You can use ntohl() to convert the value. * some other minor improvements and bug corrections - fixed compiler warning: subscript out of range [#204770] (overflow.patch) * Sat Aug 12 2006 stark@suse.de - update to version 1.3.1 * use fprintf(stderr,) instead of syslog(3) to log messages from libpcsclite * use PCSCLITE_DEBUG to activate the debug messages in libpcsclite * add the reader serial number in the reader name only if ADD_SERIAL_NUMBER is defined * Thu Apr 06 2006 mjancar@suse.cz - remove powermgt_macosx.c from the package (#161324) * Mon Mar 13 2006 mjancar@suse.cz - mount /proc/bus/usb in initscript anyway (#146979) * Tue Feb 07 2006 mjancar@suse.cz - start after kbd instead of mounting usbfs ourselfs (#146979) * Mon Feb 06 2006 mjancar@suse.cz - mount /proc/bus/usb in initscript (#146979) * Wed Jan 25 2006 mls@suse.de - converted neededforbuild to BuildRequires * Tue Jan 03 2006 mjancar@suse.cz - move drivers to separate source packages - branch devel subpackage * Mon Jan 02 2006 stark@suse.de - removed obsolete hotplug stuff for cyberjack - Updated pcsc-lite to version 1.2.9-beta9 - Updated CCID driver to 0.9.4 - Updated GemPC driver to 1.0.0 - package pkgconfig files to be able to build drivers outside the package * Tue Dec 20 2005 ro@suse.de - removed unpackaged man-page symlinks * Tue Nov 29 2005 ro@suse.de - remove keeper from nfb (unused) * Mon Oct 10 2005 stark@suse.de - Updated towitoko driver to 2.0.7 and install USB bundle * Thu Sep 22 2005 stark@suse.de - Repackaged CCID as bundle for USB usage (#116497) * Tue Sep 20 2005 stark@suse.de - handle old reader.conf in upgrade case - compile with -fno-strict-aliasing - fixed missing return in ctapi-cyberjack * Sat Sep 17 2005 stark@suse.de - Updated pcsc-lite to version 1.2.9beta8 (#116497) * use /etc/reader.conf.d/ * adapted init script to create /etc/reader.conf - Updated cyberjack driver to version 2.0.9 * use rpath for cyberjack tools - Updated ccid driver to version 0.9.3 (#116497) - Use RPM_OPT_FLAGS everywhere - Fixed serious compiler warnings * Mon Sep 05 2005 skh@suse.de - fix off-by-one error in hotplug_libusb.c [#112964] * Mon Aug 29 2005 skh@suse.de - Remove unnecessary files from pcsc-acr38 again [#112927] * Mon Aug 29 2005 skh@suse.de - package ACR38 driver in correct bundle format [#112927] - remove orphaned /var/run/pcscd.pub when necessary [#112928] - update ACR38u driver to version 100705 to fix crash when reader is plugged in [#112964] * Tue Aug 16 2005 skh@suse.de - Updated ACR38u driver to version 100703 * Tue Jul 26 2005 okir@suse.de - Added ACR38u driver * Tue Jul 26 2005 okir@suse.de - Updated description in init script (#79287) * Thu Jun 16 2005 meissner@suse.de - use RPM_OPT_FLAGS in 1 more driver - added includes to avoid implict declaration of memcpy and similar. * Mon Apr 18 2005 ro@suse.de - make it build with gcc-4 * Thu Mar 17 2005 okir@suse.de - Disable support for extended-apdus, it eats 32MB of memory (#73629) * Thu Mar 10 2005 okir@suse.de - Fix default search location for USB bundles * Fri Jan 21 2005 okir@suse.de - Updated to latest upstream version - Updated several drivers - Added CCID driver - Provide a more informative readers.conf file (#42620) * Thu Jan 20 2005 ro@suse.de - drop subpackage gpr400 * Wed Apr 28 2004 ro@suse.de - compile formaticc with no-strict-aliasing - fix unused return type in musclecard.c * Wed Mar 31 2004 okir@suse.de - Properly install testpcsc, formaticc (#37625) - Build towitoko driver with --enable-win32-com * Thu Mar 18 2004 okir@suse.de - cyberjack apps installed in /bin should be executable (#36409) * Sat Jan 10 2004 adrian@suse.de - add %%run_ldconfig * Tue Aug 05 2003 mge@suse.de - merge ctapi-cyberjack into pcsc-lite: two additional packages are created: ctapi-cyberjack and pcsc-cyberjack * Thu Jun 26 2003 ro@suse.de - remove unpackaged files from buildroot - added directories to filelist * Fri Nov 29 2002 okir@suse.de - added -fPIC when building eToken driver * Fri Nov 29 2002 okir@suse.de - Updated to latest upstream version - Included driver for Aladdin eToken PRO - More GNU auto#*@! headaches - Various minor fixes * Wed Aug 28 2002 okir@suse.de - Moved shared objects to /usr/lib64 on ppc64/s390x (#18421) * Mon Aug 05 2002 olh@suse.de - fix initscript, Should-start: setserial hotplug * Fri Aug 02 2002 okir@suse.de - added PreReq for insserv_and_fillup * Wed Jul 31 2002 okir@suse.de - fixed build problem on s390x (force aclocal.m4 regen) * Wed Jun 26 2002 ro@suse.de - use -fPIC when building a shared lib * Wed Jun 12 2002 okir@suse.de - fix for bug #15051 (hey, it's a palindrome bug:): missing %%doc DRIVERS file; misc silly binaries moved out of /usr/bin * Tue Apr 30 2002 okir@suse.de - Fixed build problem introduced by previous patch * Tue Apr 30 2002 okir@suse.de - updated to latest upstream version - added drivers for these readers: Towitoko, Schlumberger Reflex 6x, Gemplus GPR 400, GemPlus GemPC 410/430 * Tue Apr 09 2002 ro@suse.de - fixed for latest automake/autoconf * Wed Feb 13 2002 stark@suse.de - spec-file cleanup - LSB compliant init-script * Mon Jan 14 2002 ro@suse.de - removed START_PCSCD * Wed Nov 14 2001 ro@suse.de - call aclocal * Sun Aug 26 2001 mge@suse.de - updated to 1.0.0Beta - fixed /etc/init.d/pcscd status-handling (bug #9069) * Thu Jun 07 2001 ro@suse.de - fix broken Makefile.am * Mon Apr 23 2001 mge@suse.de - update to 0.9.1 * Thu Apr 19 2001 mge@suse.de - created package