diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c717e85 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/pcsc-lite-1.8.8.tar.bz2 diff --git a/.pcsc-lite.metadata b/.pcsc-lite.metadata new file mode 100644 index 0000000..acbfdee --- /dev/null +++ b/.pcsc-lite.metadata @@ -0,0 +1 @@ +714efaaaf5333e4a04309efd3a6dbc8e7edc61ce SOURCES/pcsc-lite-1.8.8.tar.bz2 diff --git a/README.md b/README.md deleted file mode 100644 index 0e7897f..0000000 --- a/README.md +++ /dev/null @@ -1,5 +0,0 @@ -The master branch has no content - -Look at the c7 branch if you are working with CentOS-7, or the c4/c5/c6 branch for CentOS-4, 5 or 6 - -If you find this file in a distro specific branch, it means that no content has been checked in yet diff --git a/SOURCES/pcsc-lite-1.8.8-man-update.patch b/SOURCES/pcsc-lite-1.8.8-man-update.patch new file mode 100644 index 0000000..bef17dd --- /dev/null +++ b/SOURCES/pcsc-lite-1.8.8-man-update.patch @@ -0,0 +1,46 @@ +diff -up ./doc/pcscd.8.in.man_update ./doc/pcscd.8.in +--- ./doc/pcscd.8.in.man_update 2014-09-24 14:37:55.975511547 -0700 ++++ ./doc/pcscd.8.in 2014-09-24 14:47:13.080855265 -0700 +@@ -20,6 +20,9 @@ Specifies the file \fIfile\fP as an alte + Runs pcscd in the foreground and sends log messages to stderr instead of + syslog(3). + .TP ++.BR \-T ", " \-\-color ++use colored logs. ++.TP + .BR \-d ", " \-\-debug + use the lowest log level. Any log message of this level or above will be + sent to stderr or syslog(3) depending on the use of +@@ -28,15 +31,30 @@ sent to stderr or syslog(3) depending on + .B \-\-info + use info log level. This is the default log level. + .TP +-.B \-\-error ++.BR \-e ", " \-\-error + use error log level. + .TP +-.B \-\-critical ++.BR \-C ", " \-\-critical + use critical log level. + .PP + The log levels are ordered as: debug < info < error < critical. Use a + log level l will log this level and all the levels above it. + .TP ++.B \-\-force-reader-polling ++Ignore the IFD_GENERATE_HOTPLUG reader capability ++.TP ++.BR \-t ", " \-\-max-thread ++Set the maximum number of threads (default 200) ++.TP ++.BR \-s ", " \-\-max-card-handle-per-thread ++Set the maximum number of card handle per thread (default: 200) ++.TP ++.BR \-r ", " \-\-max-card-handle-per-reader ++Set the maximum number of card handle per reader (default: 200) ++.TP ++.BR \-x ", " \-\-auto-exit ++Cause pcscd to quit after 60 seconds of inactivity ++.TP + .BR \-h ", " \-\-help + Displays information about the pcscd command line + .TP diff --git a/SOURCES/pcsc-lite-1.8.8-maxreaders.patch b/SOURCES/pcsc-lite-1.8.8-maxreaders.patch new file mode 100644 index 0000000..1560549 --- /dev/null +++ b/SOURCES/pcsc-lite-1.8.8-maxreaders.patch @@ -0,0 +1,12 @@ +diff -up ./src/PCSC/pcsclite.h.maxreaders ./src/PCSC/pcsclite.h +--- ./src/PCSC/pcsclite.h.maxreaders 2015-07-06 15:35:41.649580066 -0700 ++++ ./src/PCSC/pcsclite.h 2015-07-06 15:35:51.167402468 -0700 +@@ -192,7 +192,7 @@ extern const SCARD_IO_REQUEST g_rgSCardT + + #define PCSCLITE_VERSION_NUMBER "1.8.8" /**< Current version */ + /** Maximum readers context (a slot is count as a reader) */ +-#define PCSCLITE_MAX_READERS_CONTEXTS 16 ++#define PCSCLITE_MAX_READERS_CONTEXTS 32 + + #define MAX_READERNAME 128 + diff --git a/SOURCES/pcsc-lite-1.8.8-no-hang-systemd.patch b/SOURCES/pcsc-lite-1.8.8-no-hang-systemd.patch new file mode 100644 index 0000000..2cc7be4 --- /dev/null +++ b/SOURCES/pcsc-lite-1.8.8-no-hang-systemd.patch @@ -0,0 +1,22 @@ +diff -up ./src/winscard_clnt.c.no-hang ./src/winscard_clnt.c +--- ./src/winscard_clnt.c.no-hang 2012-08-25 07:29:44.000000000 -0700 ++++ ./src/winscard_clnt.c 2017-10-30 17:54:07.275158662 -0700 +@@ -124,6 +124,8 @@ static char sharing_shall_block = TRUE; + #define COLOR_MAGENTA "\33[35m" + #define COLOR_NORMAL "\33[0m" + ++#define TIMEOUT_TIME 3 /* time to wait for an answer to the server on first connection (in seconds) */ ++ + #ifdef DO_TRACE + + #include +@@ -558,7 +560,8 @@ static LONG SCardEstablishContextTH(DWOR + return rv; + + /* Read a message from the server */ +- rv = MessageReceive(&veStr, sizeof(veStr), dwClientID); ++ rv = MessageReceiveTimeout(CMD_VERSION, &veStr, sizeof(veStr), ++ dwClientID, TIMEOUT_TIME*1000L); + if (rv != SCARD_S_SUCCESS) + { + Log1(PCSC_LOG_CRITICAL, diff --git a/SPECS/pcsc-lite.spec b/SPECS/pcsc-lite.spec new file mode 100644 index 0000000..709a885 --- /dev/null +++ b/SPECS/pcsc-lite.spec @@ -0,0 +1,455 @@ +%global upstream_build 3862 + +Name: pcsc-lite +Version: 1.8.8 +Release: 7%{?dist} +Summary: PC/SC Lite smart card framework and applications + +Group: System Environment/Daemons +License: BSD +URL: http://pcsclite.alioth.debian.org/ +Source0: http://alioth.debian.org/download.php/%{upstream_build}/%{name}-%{version}.tar.bz2 +Patch1: pcsc-lite-1.8.8-man-update.patch +Patch2: pcsc-lite-1.8.8-maxreaders.patch +Patch3: pcsc-lite-1.8.8-no-hang-systemd.patch + +BuildRequires: doxygen +BuildRequires: graphviz +BuildRequires: systemd-devel >= 187 +BuildRequires: /usr/bin/pod2man + +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd +Requires: pcsc-ifd-handler +Requires: %{name}-libs = %{version}-%{release} + +%description +The purpose of PC/SC Lite is to provide a Windows(R) SCard interface +in a very small form factor for communicating to smartcards and +readers. PC/SC Lite uses the same winscard API as used under +Windows(R). This package includes the PC/SC Lite daemon, a resource +manager that coordinates communications with smart card readers and +smart cards that are connected to the system, as well as other command +line tools. + +%package libs +Summary: PC/SC Lite libraries +Group: System Environment/Libraries + +%description libs +PC/SC Lite libraries. + +%package devel +Summary: PC/SC Lite development files +Group: Development/Libraries +Requires: %{name}-libs = %{version}-%{release} + +%description devel +PC/SC Lite development files. + +%package doc +Summary: PC/SC Lite developer documentation +Group: Documentation +BuildArch: noarch +Requires: %{name}-libs = %{version}-%{release} + +%description doc +%{summary}. + + +%prep +%setup -q +%patch1 -p 0 -b .man-update +%patch2 -p 0 -b .maxreaders +%patch3 -p 1 -b .no-hand-systemd + +# Convert to utf-8 +for file in ChangeLog; do + iconv -f ISO-8859-1 -t UTF-8 -o $file.new $file && \ + touch -r $file $file.new && \ + mv $file.new $file +done + + +%build +export LDFLAGS="-Wl,-z,now -Wl,-z,relro -pie" +export CFLAGS="%optflags -fPIE -DPIE" +%configure \ + --disable-static \ + --enable-usbdropdir=%{_libdir}/pcsc/drivers +make %{?_smp_mflags} +doxygen doc/doxygen.conf ; rm -f doc/api/*.{map,md5} + + +%install +make install DESTDIR=$RPM_BUILD_ROOT + +# Create empty directories +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/reader.conf.d +mkdir -p $RPM_BUILD_ROOT%{_libdir}/pcsc/drivers +mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/pcscd + +rm $RPM_BUILD_ROOT%{_libdir}/*.la + +# Remove documentation installed in a wrong directory +rm $RPM_BUILD_ROOT%{_docdir}/pcsc-lite/README.DAEMON + + +%post +%systemd_post pcscd.socket pcscd.service + +%preun +%systemd_preun pcscd.socket pcscd.service + +%postun +%systemd_postun_with_restart pcscd.socket pcscd.service + +%post libs -p /sbin/ldconfig + +%postun libs -p /sbin/ldconfig + + +%files +%doc AUTHORS ChangeLog* DRIVERS HELP README SECURITY TODO +%dir %{_sysconfdir}/reader.conf.d/ +%{_unitdir}/pcscd.service +%{_unitdir}/pcscd.socket +%{_sbindir}/pcscd +%dir %{_libdir}/pcsc/ +%dir %{_libdir}/pcsc/drivers/ +%{_mandir}/man5/reader.conf.5* +%{_mandir}/man8/pcscd.8* +%ghost %dir %{_localstatedir}/run/pcscd/ + +%files libs +%doc COPYING +%{_libdir}/libpcsclite.so.* + +%files devel +%{_bindir}/pcsc-spy +%{_includedir}/PCSC/ +%{_libdir}/libpcsclite.so +%{_libdir}/libpcscspy.so* +%{_libdir}/pkgconfig/libpcsclite.pc +%{_mandir}/man1/pcsc-spy.1* + +%files doc +%doc doc/api/ doc/example/pcsc_demo.c + + +%changelog +* Mon Oct 30 2017 Robert Relyea - 1.8.8-7 +- Don't hang if the daemon is blocked by systemd +- Make sure we have a new enough systemd-devel to have the udev headers + +* Mon Jul 6 2015 Robert Relyea - 1.8.8-6 +- Increase the number of supported readers + +* Wed Sep 24 2014 Robert Relyea - 1.8.8-5 +- Update Man page + +* Fri Jan 24 2014 Daniel Mach - 1.8.8-4 +- Mass rebuild 2014-01-24 + +* Fri Dec 27 2013 Daniel Mach - 1.8.8-3 +- Mass rebuild 2013-12-27 + +* Wed Nov 6 2013 Robert Relyea - 1.8.8-2 +- move to PIE/full relro linkage. +- fix inconsistent changelog dates. + +* Thu Feb 28 2013 Kalev Lember - 1.8.8-1 +- Update to 1.8.8 +- Use new systemd macros (#850264) + +* Thu Feb 14 2013 Fedora Release Engineering - 1.8.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Fri Nov 30 2012 Kalev Lember - 1.8.7-1 +- Update to 1.8.7 + +* Tue Sep 18 2012 Kalev Lember - 1.8.6-1 +- Update to 1.8.6 + +* Mon Aug 06 2012 Kalev Lember - 1.8.5-1 +- Update to 1.8.5 + +* Fri Jul 20 2012 Fedora Release Engineering - 1.8.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Tue Jun 26 2012 Kalev Lember - 1.8.4-1 +- Update to 1.8.4 + +* Thu Jun 14 2012 Kalev Lember - 1.8.3-2 +- Rebuild for new libudev (#831987) + +* Fri Mar 30 2012 Kalev Lember - 1.8.3-1 +- Update to 1.8.3 + +* Mon Feb 06 2012 Kalev Lember - 1.8.2-1 +- Update to 1.8.2 +- Drop the systemd support patches which are now upstreamed +- Package the new pcsc-spay tool in -devel subpackage + +* Fri Jan 13 2012 Fedora Release Engineering - 1.7.4-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Mon Oct 10 2011 Kalev Lember - 1.7.4-6 +- Remove the automatic card power down disabling patch again; + no longer needed with latest libusb1 1.0.9 rc1 (#737988) + +* Fri Sep 16 2011 Kalev Lember - 1.7.4-5 +- Reapply the patch to disable automatic card power down (#737988) + +* Sun Sep 04 2011 Kalev Lember - 1.7.4-4 +- Ignore errors from 'systemctl enable' (#734852) + +* Sat Aug 20 2011 Kalev Lember - 1.7.4-3 +- Use /var/run/pcscd for ipc directory (#722449) + +* Fri Jul 15 2011 Kalev Lember - 1.7.4-2 +- Converted initscript to systemd service file (#617330) + +* Fri Jun 24 2011 Kalev Lember - 1.7.4-1 +- Update to 1.7.4 + +* Wed Jun 22 2011 Kalev Lember - 1.7.3-1 +- Update to 1.7.3 +- Dropped upstreamed patches +- Dropped the lib64 rpath patch; pcsc-lite now uses system libtool +- Cleaned up the spec file for modern rpmbuild + +* Wed May 25 2011 Kalev Lember - 1.7.2-2 +- Don't fill log files with repeating messages (#657658, #707412) + +* Thu Mar 31 2011 Kalev Lember - 1.7.2-1 +- Update to 1.7.2 + +* Wed Mar 30 2011 Kalev Lember - 1.7.1-1 +- Update to 1.7.1 + +* Thu Mar 17 2011 Kalev Lember - 1.7.0-2 +- Explicitly create and own drivers directory + +* Wed Mar 09 2011 Kalev Lember - 1.7.0-1 +- Update to 1.7.0 +- Use libudev for hotplugging instead of hal + +* Fri Feb 25 2011 Kalev Lember - 1.6.7-1 +- Update to 1.6.7 +- Rebased noautostart patch + +* Tue Feb 08 2011 Fedora Release Engineering - 1.6.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Mon Dec 13 2010 Kalev Lember - 1.6.6-2 +- Disabled automatic card power down which seems to be unreliable at this point + +* Mon Dec 13 2010 Kalev Lember - 1.6.6-1 +- Update to 1.6.6 + +* Mon Dec 13 2010 Kalev Lember - 1.6.4-2 +- Disabled pcscd on-demand startup (#653903) + +* Sun Aug 15 2010 Kalev Lember - 1.6.4-1 +- Update to 1.6.4 +- Buildrequire graphviz for apidoc generation + +* Wed Aug 04 2010 Kalev Lember - 1.6.2-1 +- Update to 1.6.2 +- Dropped upstreamed patches +- Removed configure --disable-dependency-tracking option which is the + default with configure macro. + +* Thu Jul 08 2010 Kalev Lember - 1.6.1-5 +- Include COPYING in libs subpackage as per new licensing guidelines + +* Mon Jul 05 2010 Kalev Lember - 1.6.1-4 +- Patch to fix crash with empty config directory + +* Sun Jul 04 2010 Kalev Lember - 1.6.1-3 +- Patch to fix config dir handling + +* Sun Jul 04 2010 Kalev Lember - 1.6.1-2 +- Removed call to non-existent update-reader.conf in init script + +* Fri Jun 18 2010 Kalev Lember - 1.6.1-1 +- Update to 1.6.1 + +* Tue Apr 13 2010 Kalev Lember - 1.5.5-4 +- Fix init script start / stop priorities (#580322) +- Don't require pkgconfig as the dep is now automatically generated by rpm + +* Wed Mar 03 2010 Kalev Lember - 1.5.5-3 +- Added patch to fix init script LSB header (#565241) +- Dropped BR: libusb-devel as configure script really picks up libhal instead +- Use %%global instead of %%define + +* Mon Dec 21 2009 Kalev Lember - 1.5.5-2 +- Require -libs subpackage from main pcsc-lite package +- Build -doc subpackage as noarch +- Dropped --enable-runpid configure option which was removed in 1.4.99 +- Dropped obsolete provides +- Spec file cleanup + +* Wed Nov 18 2009 Kalev Lember - 1.5.5-1 +- Updated to pcsc-lite 1.5.5 +- Rebased rpath64 patch +- Dropped upstreamed pcsc-lite-1.5-permissions.patch + +* Sat Jul 25 2009 Fedora Release Engineering - 1.5.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Wed Jun 17 2009 Bob Relyea - 1.5.2-2 +- Pick up security fixes from upstream + +* Fri Feb 27 2009 Bob Relyea - 1.5.2-1 +- Pick up 1.5.2 +- Add FD_CLOEXEC flag +- make reader.conf a noreplace config file + +* Thu Feb 26 2009 Fedora Release Engineering - 1.4.102-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Wed Feb 11 2009 Karsten Hopp 1.4.102-4 +- remove excludearch s390, s390x (#467788) + even though s390 does not have libusb or smartCards, the libusb + packages are required to build other packages. + +* Thu Aug 28 2008 Bob Relyea - 1.4.102-3 +- bump tag becaue the build system can't deal with mistakes. + +* Thu Aug 28 2008 Bob Relyea - 1.4.102-2 +- mock build changes + +* Wed Aug 27 2008 Bob Relyea - 1.4.102-1 +- Pick up 1.4.102 + +* Wed May 7 2008 Bob Relyea - 1.4.101-1 +- Pick up 1.4.101 + +* Tue Feb 19 2008 Fedora Release Engineering - 1.4.4-3 +- Autorebuild for GCC 4.3 + +* Wed Jan 16 2008 Bob Relyea - 1.4.4-2 +- Silence libpcsc-lite even when the daemon isn't running. +- fix typo in init file which prevents the config file from being read. + +* Thu Nov 22 2007 Bob Relyea - 1.4.4-1 +- Pick up 1.4.4 + +* Tue Feb 06 2007 Bob Relyea - 1.3.3-1 +- Pick up 1.3.3 + +* Thu Nov 02 2006 Bob Relyea - 1.3.2-1 +- Pick up 1.3.2 + +* Thu Sep 14 2006 Bob Relyea - 1.3.1-7 +- Incorporate patch from Ludovic to stop the pcsc daemon from + unnecessarily waking up. + +* Mon Jul 31 2006 Ray Strode - 1.3.1-6 +- follow packaging guidelines for setting up init service + (bug 200778) + +* Mon Jul 24 2006 Bob Relyea - 1.3.1-5 +- start pcscd when pcsc-lite is installed + +* Sun Jul 16 2006 Florian La Roche - 1.3.1-4 +- fix excludearch line + +* Wed Jul 12 2006 Jesse Keating - 1.3.1-3.1 +- rebuild + +* Mon Jul 10 2006 Bob Relyea - 1.3.1-3 +- remove s390 from the build + +* Mon Jun 5 2006 Bob Relyea - 1.3.1-2 +- Move to Fedora Core. +- Remove dependency on graphviz. +- Removed %%{_dist} + +* Sat Apr 22 2006 Ville Skyttä - 1.3.1-1 +- 1.3.1. + +* Sun Mar 5 2006 Ville Skyttä - 1.3.0-1 +- 1.3.0, init script and reader.conf updater included upstream. +- Split developer docs into a -doc subpackage, include API docs. +- libmusclecard no longer included, split into separate package upstream. + +* Mon Feb 13 2006 Ville Skyttä - 1.2.0-14 +- Avoid standard rpaths on multilib archs. +- Fine tune dependencies. + +* Fri Nov 11 2005 Ville Skyttä - 1.2.0-13 +- Don't ship static libraries. +- Don't mark the init script as a config file. +- Use rm instead of %%exclude. +- Specfile cleanups. + +* Thu May 19 2005 Ville Skyttä - 1.2.0-12 +- Rebuild. + +* Fri Apr 8 2005 Michael Schwendt - 1.2.0-11 +- rebuilt + +* Tue Aug 17 2004 Ville Skyttä - 0:1.2.0-10 +- Disable dependency tracking to speed up the build. +- Drop reader.conf patch, it's not needed any more. +- Rename update-reader-conf to update-reader.conf for consistency with Debian, + and improve it a bit. + +* Sat Jul 31 2004 Ville Skyttä - 0:1.2.0-0.fdr.9 +- Add update-reader-conf, thanks to Fritz Elfert. + +* Thu Jul 1 2004 Ville Skyttä - 0:1.2.0-0.fdr.8 +- Own the %%{_libdir}/pcsc hierarchy. + +* Thu May 13 2004 Ville Skyttä - 0:1.2.0-0.fdr.7 +- Make main package require pcsc-ifd-handler (idea from Debian). + +* Wed May 12 2004 Ville Skyttä - 0:1.2.0-0.fdr.6 +- Improve package summary. +- Improvements based on suggestions from Ludovic Rousseau: + - Don't install pcsc_demo but do include its source in -devel. + - Sync reader.conf with current upstream CVS HEAD (better docs, less + intrusive in USB-only setups where it's not needed). + +* Fri Apr 16 2004 Ville Skyttä - 0:1.2.0-0.fdr.5 +- Move PDF API docs to -devel. +- Improve main package and init script descriptions. + +* Thu Jan 29 2004 Ville Skyttä - 0:1.2.0-0.fdr.4 +- Init script fine tuning. + +* Fri Jan 9 2004 Ville Skyttä - 0:1.2.0-0.fdr.3 +- BuildRequires libusb-devel 0.1.6 or newer. + +* Thu Oct 30 2003 Ville Skyttä - 0:1.2.0-0.fdr.2 +- s/pkgconfi/pkgconfig/ in -devel requirements. + +* Tue Oct 28 2003 Ville Skyttä - 0:1.2.0-0.fdr.1 +- Update to 1.2.0. +- Add libpcsc-lite and libmusclecard provides to -libs and -devel. + +* Thu Oct 16 2003 Ville Skyttä - 0:1.2.0-0.fdr.0.2.rc3 +- Update to 1.2.0-rc3. +- Trivial init script improvements. +- Enable %%{_smp_mflags}. +- Don't bother trying to enable SCF. + +* Sun Sep 14 2003 Ville Skyttä - 0:1.2.0-0.fdr.0.2.rc2 +- Specfile cleanups. + +* Fri Sep 5 2003 Ville Skyttä - 0:1.2.0-0.fdr.0.1.rc2 +- Update to 1.2.0-rc2. + +* Wed Aug 27 2003 Ville Skyttä - 0:1.2.0-0.fdr.0.1.rc1 +- Update to 1.2.0-rc1. + +* Sun Jun 1 2003 Ville Skyttä - 0:1.1.2-0.fdr.0.1.beta5 +- Update to 1.1.2beta5. + +* Sat May 24 2003 Ville Skyttä - 0:1.1.2-0.fdr.0.1.beta4 +- First build, based on PLD's 1.1.1-2.