Package: beid Version: 3.5.2.dfsg-10 Severity: serious Tags: experimental patch Justification: fails to build from source
beid fails to build from source when built with pcsc-lite >= 1.6.0 Such a version of pcsc-lite is available from exprimental and will be uploaded in unstable once squeeze is out. The build fails because: - SCARD_W_INSERTED_CARD is/was a pcsc-lite specific error code and has been removed in pcsc-lite 1.6.0 - SCARD_READERSTATE should be used instead of SCARD_READERSTATE_A and the later was removed See http://ludovicrousseau.blogspot.com/2010/08/pcsc-lite-16x-breaks-some-programs-at.html for more information. I provide a patch: diff -ru beid-3.5.2.dfsg.before/_src/beid-2.6/src/Belpic PCSC Service/CardChangeMonitor.cpp beid-3.5.2.dfsg/_src/beid-2.6/src/Belpic PCSC Service/CardChangeMonitor.cpp --- beid-3.5.2.dfsg.before/_src/beid-2.6/src/Belpic PCSC Service/CardChangeMonitor.cpp 2009-04-28 10:21:20.000000000 +0200 +++ beid-3.5.2.dfsg/_src/beid-2.6/src/Belpic PCSC Service/CardChangeMonitor.cpp 2010-08-19 21:16:25.000000000 +0200 @@ -62,7 +62,7 @@ if(hContext != 0) { - SCARD_READERSTATE_A rgscState[MAXIMUM_SMARTCARD_READERS] = {0}; + SCARD_READERSTATE rgscState[MAXIMUM_SMARTCARD_READERS] = {0}; long lReturn; int iCount = 0; int i, j; diff -ru beid-3.5.2.dfsg.before/_src/beid-2.6/src/Belpic PCSC Service/PCSCManager.cpp beid-3.5.2.dfsg/_src/beid-2.6/src/Belpic PCSC Service/PCSCManager.cpp --- beid-3.5.2.dfsg.before/_src/beid-2.6/src/Belpic PCSC Service/PCSCManager.cpp 2009-04-28 10:21:20.000000000 +0200 +++ beid-3.5.2.dfsg/_src/beid-2.6/src/Belpic PCSC Service/PCSCManager.cpp 2010-08-19 21:17:01.000000000 +0200 @@ -334,8 +334,8 @@ unsigned long ulReaders = 0; pMessage->Get("Timeout", ulTimeout); pMessage->Get("ReadersLen", (long *)&ulReaders); - SCARD_READERSTATE_A *prgReaderStates = new SCARD_READERSTATE_A[ulReaders]; - memset(prgReaderStates, 0, sizeof(SCARD_READERSTATE_A) * ulReaders); + SCARD_READERSTATE *prgReaderStates = new SCARD_READERSTATE[ulReaders]; + memset(prgReaderStates, 0, sizeof(SCARD_READERSTATE) * ulReaders); char szReaders[MAXIMUM_SMARTCARD_READERS][64] = {0}; for(unsigned int i = 0; i < ulReaders; ++i) { diff -ru beid-3.5.2.dfsg.before/_src/beid-2.6/src/newpkcs11/src/libopensc/reader-pcsc.c beid-3.5.2.dfsg/_src/beid-2.6/src/newpkcs11/src/libopensc/reader-pcsc.c --- beid-3.5.2.dfsg.before/_src/beid-2.6/src/newpkcs11/src/libopensc/reader-pcsc.c 2009-04-28 10:21:26.000000000 +0200 +++ beid-3.5.2.dfsg/_src/beid-2.6/src/newpkcs11/src/libopensc/reader-pcsc.c 2010-08-19 21:15:22.000000000 +0200 @@ -82,7 +82,7 @@ struct pcsc_slot_data { SCARDHANDLE pcsc_card; - SCARD_READERSTATE_A readerState; + SCARD_READERSTATE readerState; }; static int pcsc_detect_card_presence(struct sc_reader *reader, struct sc_slot_info *slot); @@ -300,7 +300,7 @@ struct sc_context *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; int i; @@ -348,7 +348,7 @@ /* 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 -ru beid-3.5.2.dfsg.before/_src/beid-2.6/src/winscarp/winscarp.cpp beid-3.5.2.dfsg/_src/beid-2.6/src/winscarp/winscarp.cpp --- beid-3.5.2.dfsg.before/_src/beid-2.6/src/winscarp/winscarp.cpp 2009-04-28 10:21:30.000000000 +0200 +++ beid-3.5.2.dfsg/_src/beid-2.6/src/winscarp/winscarp.cpp 2010-08-19 21:14:20.000000000 +0200 @@ -72,7 +72,8 @@ typedef GUID *LPGUID; typedef char *LPWSTR; typedef const char *LPCWSTR; - typedef SCARD_READERSTATE_A *LPSCARD_READERSTATE_W; + typedef SCARD_READERSTATE *LPSCARD_READERSTATE_A; + typedef SCARD_READERSTATE *LPSCARD_READERSTATE_W; typedef const char *LPCSTR; #endif //_WIN32 @@ -1591,9 +1592,6 @@ case SCARD_W_REMOVED_CARD: strcpy(strError, "Card was removed."); break; - case SCARD_W_INSERTED_CARD: - strcpy(strError, "Card was inserted."); - break; case SCARD_E_UNSUPPORTED_FEATURE: strcpy(strError, "Feature not supported."); break; -- System Information: Debian Release: squeeze/sid APT prefers testing APT policy: (990, 'testing'), (500, 'unstable') Architecture: amd64 (x86_64) Kernel: Linux 2.6.32-5-amd64 (SMP w/4 CPU cores) Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org