diff --git a/opensc-0.11.13-build-readerstate.patch b/opensc-0.11.13-build-readerstate.patch new file mode 100644 index 0000000..f5f3ca7 --- /dev/null +++ b/opensc-0.11.13-build-readerstate.patch @@ -0,0 +1,51 @@ +diff -up opensc-0.11.13/src/libopensc/internal-winscard.h.build opensc-0.11.13/src/libopensc/internal-winscard.h +--- opensc-0.11.13/src/libopensc/internal-winscard.h.build 2010-02-16 10:03:28.000000000 +0100 ++++ opensc-0.11.13/src/libopensc/internal-winscard.h 2010-09-07 10:34:20.000000000 +0200 +@@ -88,7 +88,7 @@ SCARD_IO_REQUEST, *PSCARD_IO_REQUEST, *L + + typedef const SCARD_IO_REQUEST *LPCSCARD_IO_REQUEST; + typedef SCARD_READERSTATE_A SCARD_READERSTATE, *PSCARD_READERSTATE_A, +- *LPSCARD_READERSTATE_A; ++ *LPSCARD_READERSTATE_A, *LPSCARD_READERSTATE; + + #endif /* HAVE_SCARD_H */ + +@@ -113,7 +113,7 @@ typedef LONG (PCSC_API *SCardEndTransact + typedef LONG (PCSC_API *SCardStatus_t)(SCARDHANDLE hCard, LPSTR mszReaderNames, LPDWORD pcchReaderLen, + LPDWORD pdwState, LPDWORD pdwProtocol, LPBYTE pbAtr, LPDWORD pcbAtrLen); + typedef LONG (PCSC_API *SCardGetStatusChange_t)(SCARDCONTEXT hContext, DWORD dwTimeout, +- LPSCARD_READERSTATE_A rgReaderStates, DWORD cReaders); ++ LPSCARD_READERSTATE rgReaderStates, DWORD cReaders); + typedef LONG (PCSC_API *SCardControlOLD_t)(SCARDHANDLE hCard, LPCVOID pbSendBuffer, DWORD cbSendLength, + LPVOID pbRecvBuffer, LPDWORD lpBytesReturned); + typedef LONG (PCSC_API *SCardControl_t)(SCARDHANDLE hCard, DWORD dwControlCode, LPCVOID pbSendBuffer, +diff -up opensc-0.11.13/src/libopensc/reader-pcsc.c.build opensc-0.11.13/src/libopensc/reader-pcsc.c +--- opensc-0.11.13/src/libopensc/reader-pcsc.c.build 2010-02-16 10:03:28.000000000 +0100 ++++ opensc-0.11.13/src/libopensc/reader-pcsc.c 2010-09-07 10:34:51.000000000 +0200 +@@ -80,7 +80,7 @@ struct pcsc_private_data { + + struct pcsc_slot_data { + SCARDHANDLE pcsc_card; +- SCARD_READERSTATE_A reader_state; ++ SCARD_READERSTATE reader_state; + DWORD verify_ioctl; + DWORD verify_ioctl_start; + DWORD verify_ioctl_finish; +@@ -353,7 +353,7 @@ static int pcsc_wait_for_event(sc_reader + sc_context_t *ctx; + SCARDCONTEXT pcsc_ctx; + LONG ret; +- SCARD_READERSTATE_A rgReaderStates[SC_MAX_READERS]; ++ SCARD_READERSTATE rgReaderStates[SC_MAX_READERS]; + unsigned long on_bits, off_bits; + time_t end_time, now, delta; + size_t i; +@@ -401,7 +401,7 @@ static int pcsc_wait_for_event(sc_reader + /* Wait for a status change and return if it's a card insert/removal + */ + for( ; ; ) { +- SCARD_READERSTATE_A *rsp; ++ SCARD_READERSTATE *rsp; + + /* Scan the current state of all readers to see if they + * match any of the events we're polling for */ diff --git a/opensc.spec b/opensc.spec index 5dce165..e2f58cd 100644 --- a/opensc.spec +++ b/opensc.spec @@ -2,7 +2,7 @@ Name: opensc Version: 0.11.13 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Smart card library and applications Group: System Environment/Libraries @@ -12,6 +12,7 @@ Source0: http://www.opensc-project.org/files/opensc/%{name}-%{version}.ta Patch1: %{name}-0.11.7-develconfig.patch Patch2: %{name}-0.11.12-no-add-needed.patch Patch3: opensc-0.11.13-libassuan1.patch +Patch4: opensc-0.11.13-build-readerstate.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: pcsc-lite-devel @@ -71,6 +72,7 @@ sed -i -e 's|/usr/local/towitoko/lib/|/usr/lib/ctapi/|' etc/opensc.conf.in %if 0%{?fedora} > 13 rm -f m4/libassuan.m4 %patch3 -p1 -b .libassuan1 +%patch4 -p1 -b .build ./bootstrap %endif @@ -168,6 +170,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Tue Sep 7 2010 Tomas Mraz - 0.11.13-4 +- fix build with new pcsc-lite + * Wed Aug 11 2010 Rex Dieter - 0.11.13-3 - build against libassuan1 (f14+)