# Disable pcscd on-demand startup (#653903)
https://bugzilla.redhat.com/show_bug.cgi?id=653903
-diff -up pcsc-lite-1.6.4/src/winscard_clnt.c.noautostart pcsc-lite-1.6.4/src/winscard_clnt.c
---- pcsc-lite-1.6.4/src/winscard_clnt.c.noautostart 2010-12-12 23:46:43.228293593 +0200
-+++ pcsc-lite-1.6.4/src/winscard_clnt.c 2010-12-12 23:52:44.388532774 +0200
-@@ -387,79 +387,15 @@ LONG SCardEstablishContext(DWORD dwScope
+--- pcsc-lite-1.7.0/src/winscard_clnt.c.orig 2011-02-22 23:20:25.000000000 +0100
++++ pcsc-lite-1.7.0/src/winscard_clnt.c 2011-03-18 16:44:57.275416294 +0100
+@@ -444,80 +444,16 @@
LPCVOID pvReserved2, LPSCARDCONTEXT phContext)
{
LONG rv;
- int daemon_launched = FALSE;
- int retries = 0;
+ API_TRACE_IN("%ld, %p, %p", dwScope, pvReserved1, pvReserved2)
PROFILE_START
-again:
-
- if (0 == pid)
- {
-- int ret, i, max;
+- int i, max;
- char *param = getenv("PCSCLITE_PCSCD_ARGS");
-
- /* close all file handles except stdin, stdout and
- (void)close(i);
-
- /* son process */
-- ret = execl(PCSCD_BINARY, "pcscd", "--auto-exit", param,
+- execl(PCSCD_BINARY, "pcscd", "--auto-exit", param,
- (char *)NULL);
- Log2(PCSC_LOG_CRITICAL, "exec " PCSCD_BINARY " failed: %s",
- strerror(errno));
if (rv != SCARD_S_SUCCESS)
goto end;
-@@ -468,15 +404,6 @@ launch:
+@@ -526,15 +462,6 @@
pvReserved2, phContext);
(void)SCardUnlockThread();
-
end:
PROFILE_END(rv)
-
+ API_TRACE_OUT("%ld", *phContext)
# connections reached, etc)
#
# Conditional build:
-%bcond_without hal # use libusb instead of HAL
-
+%bcond_without udev # use libusb instead of libudev
+#
Summary: PCSC Framework for Linux
Summary(pl.UTF-8): Środowisko PCSC dla Linuksa
Name: pcsc-lite
-Version: 1.6.6
+Version: 1.7.0
Release: 1
License: BSD
Group: Daemons
# Source0Download: http://alioth.debian.org/project/showfiles.php?group_id=30105
-Source0: http://alioth.debian.org/download.php/3479/%{name}-%{version}.tar.bz2
-# Source0-md5: f80d3ecd9569b71d557f283f16295c74
+Source0: http://alioth.debian.org/frs/download.php/3527/%{name}-%{version}.tar.bz2
+# Source0-md5: df69029ddbf62b9ae5f9307183d19a4d
Source1: %{name}-pcscd.init
Source2: %{name}-pcscd.sysconfig
Patch0: %{name}-fhs.patch
BuildRequires: automake >= 1:1.8
BuildRequires: flex
%{?with_apidocs:BuildRequires: graphviz}
-%{?with_hal:BuildRequires: hal-devel}
+%{?with_udev:BuildRequires: udev-devel}
BuildRequires: libtool >= 2:2.0
-%{!?with_hal:BuildRequires: libusb-devel >= 1.0}
+%{!?with_udev:BuildRequires: libusb-devel >= 1.0}
BuildRequires: pkgconfig
BuildRequires: rpmbuild(macros) >= 1.268
Requires(post,preun): /sbin/chkconfig
# auto power down unreliable yet
CPPFLAGS="%{rpmcppflags} -DDISABLE_ON_DEMAND_POWER_ON"
%configure \
- %{!?with_hal:--disable-libhal} \
+ %{!?with_udev:--disable-libudev} \
--enable-ipcdir=/var/run/pcscd \
--enable-static \
--enable-usbdropdir=%{usbdropdir}
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT%{usbdropdir} \
$RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig} \
+ $RPM_BUILD_ROOT%{_sysconfdir}/reader.conf.d \
$RPM_BUILD_ROOT/var/run/pcscd \
$RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
cp -a doc/example/*.c $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
-rm -rf $RPM_BUILD_ROOT%{_prefix}/doc
-
%clean
rm -rf $RPM_BUILD_ROOT
%pretrans
# upgrade from pcsc-lite < 1.2.9-0.beta7
-if [ -f /etc/reader.conf -a ! -f /etc/reader.conf.d/reader.conf ]; then
- install -d -m755 /etc/reader.conf.d
- cp -af /etc/reader.conf /etc/reader.conf.d/reader.conf
+if [ -f /etc/reader.conf -a ! -f %{_sysconfdir}/reader.conf.d/reader.conf ]; then
+ install -d -m755 %{_sysconfdir}/reader.conf.d
+ cp -af /etc/reader.conf %{_sysconfdir}/reader.conf.d/reader.conf
fi
%post