openct_0.6.20.bb 3.0 KB

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