openct_0.6.20.bb 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. Summanry = "Middleware framework for smart card terminals"
  2. HOMEPAGE = "https://github.com/OpenSC/openct/wiki"
  3. DESCRIPTION = " \
  4. OpenCT implements drivers for several smart card readers. \
  5. It comes as driver in ifdhandler format for PC/SC-Lite, \
  6. as CT-API driver, or as a small and lean middleware, \
  7. so applications can use it with minimal overhead. \
  8. OpenCT also has a primitive mechanism to export smart card \
  9. readers to remote machines via TCP/IP."
  10. DEPENDS += "libtool pcsc-lite libusb-compat"
  11. SRC_URI = " \
  12. ${DEBIAN_MIRROR}/main/o/${BPN}/${BPN}_${PV}.orig.tar.gz \
  13. file://etc-openct.udev.in-disablePROGRAM.patch \
  14. file://etc-openct_usb.in-modify-UDEVINFO.patch \
  15. file://openct.init \
  16. file://openct.sysconfig \
  17. file://openct.service \
  18. "
  19. SRC_URI[md5sum] = "a1da3358ab798f1cb9232f1dbababc21"
  20. SRC_URI[sha256sum] = "6cd3e2933d29eb1f875c838ee58b8071fd61f0ec8ed5922a86c01c805d181a68"
  21. LICENSE = "LGPLv2+"
  22. LIC_FILES_CHKSUM = "file://LGPL-2.1;md5=2d5025d4aa3495befef8f17206a5b0a1"
  23. inherit systemd
  24. SYSTEMD_SERVICE_${PN} += "openct.service "
  25. SYSTEMD_AUTO_ENABLE = "enable"
  26. EXTRA_OECONF=" \
  27. --disable-static \
  28. --enable-usb \
  29. --enable-pcsc \
  30. --enable-doc \
  31. --enable-api-doc \
  32. --with-udev=${nonarch_base_libdir}/udev \
  33. --with-bundle=${libdir}/pcsc/drivers \
  34. "
  35. inherit autotools pkgconfig
  36. FILES_${PN} += " \
  37. ${libdir}/ctapi \
  38. ${nonarch_base_libdir}/udev \
  39. ${libdir}/openct-ifd.so \
  40. ${libdir}/pcsc \
  41. /run/openct/status \
  42. "
  43. FILES_${PN}-dbg += " \
  44. ${libdir}/ctapi/.debug \
  45. ${libdir}/pcsc/drivers/openct-ifd.bundle/Contents/Linux/.debug \
  46. "
  47. INSANE_SKIP_${PN} += "dev-deps"
  48. do_install_append() {
  49. rm -r ${D}/${localstatedir}/run
  50. }
  51. do_install () {
  52. rm -rf ${D}
  53. install -d ${D}/etc
  54. install -dm 755 ${D}${nonarch_base_libdir}/udev
  55. # fix up hardcoded paths
  56. sed -i -e 's,/etc/,${sysconfdir}/,' -e 's,/usr/sbin/,${sbindir}/,' \
  57. ${WORKDIR}/openct.service ${WORKDIR}/openct.init
  58. oe_runmake install DESTDIR=${D}
  59. install -dm 755 ${D}${libdir}/ctapi/
  60. mv ${D}${libdir}/libopenctapi.so ${D}${libdir}/ctapi/
  61. install -Dpm 644 etc/openct.udev ${D}/etc/udev/rules.d/60-openct.rules
  62. install -pm 644 etc/openct.conf ${D}/etc/openct.conf
  63. install -Dpm 755 ${WORKDIR}/openct.init ${D}/etc/init.d/openct
  64. install -Dpm 644 ${WORKDIR}/openct.sysconfig ${D}/etc/sysconfig/openct
  65. install -d ${D}/${systemd_unitdir}/system
  66. install -m 644 ${WORKDIR}/openct.service ${D}/${systemd_unitdir}/system
  67. so=$(find ${D} -name \*.so | sed "s|^${D}||")
  68. sed -i -e 's|\\(LIBPATH\\s*\\).*|\\1$so|' etc/reader.conf
  69. install -Dpm 644 etc/reader.conf ${D}/etc/reader.conf.d/openct.conf
  70. install -dm 755 ${D}${localstatedir}/run/openct
  71. touch ${D}${localstatedir}/run/openct/status
  72. chmod 644 ${D}${localstatedir}/run/openct/status
  73. }
  74. pkg_postinst_${PN} () {
  75. ln -sf ctapi/libopenctapi.so ${libdir}/libopenctapi.so
  76. }