Patchwork [v3,1/2] pcsc-lite: new package

login
register
mail settings
Submitter Waldemar Rymarkiewicz
Date Sept. 21, 2012, 7:32 a.m.
Message ID <1348212739-32093-1-git-send-email-waldemar.rymarkiewicz@tieto.com>
Download mbox | patch
Permalink /patch/185599/
State Superseded
Headers show

Comments

Waldemar Rymarkiewicz - Sept. 21, 2012, 7:32 a.m.
Middleware to access a smart card using SCard API (PC/SC).

http://pcsclite.alioth.debian.org/

Signed-off-by: Waldemar Rymarkiewicz <waldemar.rymarkiewicz@tieto.com>
---
 package/Config.in              |    1 +
 package/pcsc-lite/Config.in    |   29 +++++++++++++++++++++++++++++
 package/pcsc-lite/pcsc-lite.mk |   36 ++++++++++++++++++++++++++++++++++++
 3 files changed, 66 insertions(+)
 create mode 100644 package/pcsc-lite/Config.in
 create mode 100644 package/pcsc-lite/pcsc-lite.mk
Arnout Vandecappelle - Sept. 30, 2012, 2:59 p.m.
On 21/09/12 09:32, Waldemar Rymarkiewicz wrote:
> Middleware to access a smart card using SCard API (PC/SC).
>
> http://pcsclite.alioth.debian.org/
>
> Signed-off-by: Waldemar Rymarkiewicz<waldemar.rymarkiewicz@tieto.com>
[snip]
> +config BR2_PACKAGE_PCSC_LITE_FORCE_LIBUSB
> +	bool "use libusb"
> +	depends on !BR2_PACKAGE_UDEV
> +	select BR2_PACKAGE_LIBUSB

  This one is missing a help text.

[snip]
> +# - libudev and libusb are optional
> +# - libudev and libusb can't be used together
> +# - libudev has a priority over libusb

  Well put!

> +
> +ifeq ($(BR2_PACKAGE_UDEV),y)
> +PCSC_LITE_CONF_OPT += --enable-libudev --disable-libusb
> +PCSC_LITE_DEPENDENCIES += udev
> +else
> +ifeq ($(BR2_PACKAGE_LIBUSB),y)
> +PCSC_LITE_CONF_OPT += --enable-libusb --disable-libudev
> +PCSC_LITE_DEPENDENCIES += libusb
> +else
> +PCSC_LITE_CONF_OPT += --disable-libusb --disable-libudev
> +endif
> +endif
> +
> +ifeq ($(PACKAGE_PCSC_LITE_DEBUGATR),y)
> +PCSC_LITE_CONF_OPT += --enable-debugatr
> +endif
> +
> +ifeq ($(PACKAGE_PCSC_LITE_EMBEDDED),y)
> +PCSC_LITE_CONF_OPT += --enable-embedded
> +endif

  There is also a --enable-usbdropdir which defaults to
/usr/local/lib/pcsc/drivers.  We avoid using /usr/local, so could
you make that point to /usr/lib/pcsc/drivers?  Or is it anyway
not used?


  Regards,
  Arnout

> +
> +$(eval $(call autotools-package))
Waldemar Rymarkiewicz - Oct. 1, 2012, 5:44 a.m.
Hi,

>  There is also a --enable-usbdropdir which defaults to
>/usr/local/lib/pcsc/drivers.  We avoid using /usr/local, so could
>you make that point to /usr/lib/pcsc/drivers?  Or is it anyway
>not used?

Then we have to set --prefix=/usr as  it defaults to /usr/local. If we do so usbdropdir will be correct as well.

Thanks,
/Waldek
Arnout Vandecappelle - Oct. 2, 2012, 4:08 p.m.
On 01/10/12 07:44, Waldemar.Rymarkiewicz@tieto.com wrote:
> Hi,
>
>>   There is also a --enable-usbdropdir which defaults to
>> /usr/local/lib/pcsc/drivers.  We avoid using /usr/local, so could
>> you make that point to /usr/lib/pcsc/drivers?  Or is it anyway
>> not used?
>
> Then we have to set --prefix=/usr as  it defaults to /usr/local. If we do so usbdropdir will be correct as well.

  My bad, --prefix=/usr is already passed to configure.  It's just the help text
that was confusing me.

  Regards,
  Arnout

Patch

diff --git a/package/Config.in b/package/Config.in
index a4e0b2c..dcc84b6 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -395,6 +395,7 @@  source "package/libusb/Config.in"
 source "package/libusb-compat/Config.in"
 source "package/libv4l/Config.in"
 source "package/mtdev/Config.in"
+source "package/pcsc-lite/Config.in"
 endmenu
 
 menu "Javascript"
diff --git a/package/pcsc-lite/Config.in b/package/pcsc-lite/Config.in
new file mode 100644
index 0000000..cfbcb69
--- /dev/null
+++ b/package/pcsc-lite/Config.in
@@ -0,0 +1,29 @@ 
+config BR2_PACKAGE_PCSC_LITE
+	bool "pcsc-lite"
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+	help
+	  Middleware to access smart card using SCard API (PC/SC).
+
+	  http://pcsclite.alioth.debian.org/
+
+if BR2_PACKAGE_PCSC_LITE
+
+config BR2_PACKAGE_PCSC_LITE_FORCE_LIBUSB
+	bool "use libusb"
+	depends on !BR2_PACKAGE_UDEV
+	select BR2_PACKAGE_LIBUSB
+
+config BR2_PACKAGE_PCSC_LITE_DEBUGATR
+	bool "enable ATR debug messages"
+	help
+	  enable ATR debug messages from pcscd
+
+config BR2_PACKAGE_PCSC_LITE_EMBEDDED
+	bool "enable embedded mode"
+	help
+	  limit RAM and CPU resources by disabling features (log)
+
+endif
+
+comment "pcsc-lite needs a toolchain with thread support"
+	depends on !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/pcsc-lite/pcsc-lite.mk b/package/pcsc-lite/pcsc-lite.mk
new file mode 100644
index 0000000..35d0cf3
--- /dev/null
+++ b/package/pcsc-lite/pcsc-lite.mk
@@ -0,0 +1,36 @@ 
+##########################################################
+#
+# PCSC-Lite
+#
+# ########################################################
+PCSC_LITE_VERSION = 1.8.6
+PCSC_LITE_SOURCE = pcsc-lite-$(PCSC_LITE_VERSION).tar.bz2
+PCSC_LITE_SITE = https://alioth.debian.org/frs/download.php/3757
+PCSC_LITE_INSTALL_STAGING = YES
+PCSC_LITE_DEPENDENCIES = host-pkg-config
+
+# - libudev and libusb are optional
+# - libudev and libusb can't be used together
+# - libudev has a priority over libusb
+
+ifeq ($(BR2_PACKAGE_UDEV),y)
+PCSC_LITE_CONF_OPT += --enable-libudev --disable-libusb
+PCSC_LITE_DEPENDENCIES += udev
+else
+ifeq ($(BR2_PACKAGE_LIBUSB),y)
+PCSC_LITE_CONF_OPT += --enable-libusb --disable-libudev
+PCSC_LITE_DEPENDENCIES += libusb
+else
+PCSC_LITE_CONF_OPT += --disable-libusb --disable-libudev
+endif
+endif
+
+ifeq ($(PACKAGE_PCSC_LITE_DEBUGATR),y)
+PCSC_LITE_CONF_OPT += --enable-debugatr
+endif
+
+ifeq ($(PACKAGE_PCSC_LITE_EMBEDDED),y)
+PCSC_LITE_CONF_OPT += --enable-embedded
+endif
+
+$(eval $(call autotools-package))