prexport.bbclass 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. PRSERV_DUMPOPT_VERSION = "${PRAUTOINX}"
  2. PRSERV_DUMPOPT_PKGARCH = ""
  3. PRSERV_DUMPOPT_CHECKSUM = ""
  4. PRSERV_DUMPOPT_COL = "0"
  5. PRSERV_DUMPDIR ??= "${LOG_DIR}/db"
  6. PRSERV_DUMPFILE ??= "${PRSERV_DUMPDIR}/prserv.inc"
  7. python prexport_handler () {
  8. import bb.event
  9. if not e.data:
  10. return
  11. if isinstance(e, bb.event.RecipeParsed):
  12. import oe.prservice
  13. #get all PR values for the current PRAUTOINX
  14. ver = e.data.getVar('PRSERV_DUMPOPT_VERSION', True)
  15. ver = ver.replace('%','-')
  16. retval = oe.prservice.prserv_dump_db(e.data)
  17. if not retval:
  18. bb.fatal("prexport_handler: export failed!")
  19. (metainfo, datainfo) = retval
  20. if not datainfo:
  21. bb.warn("prexport_handler: No AUTOPR values found for %s" % ver)
  22. return
  23. oe.prservice.prserv_export_tofile(e.data, None, datainfo, False)
  24. if 'AUTOINC' in ver:
  25. import re
  26. srcpv = bb.fetch2.get_srcrev(e.data)
  27. base_ver = "AUTOINC-%s" % ver[:ver.find(srcpv)]
  28. e.data.setVar('PRSERV_DUMPOPT_VERSION', base_ver)
  29. retval = oe.prservice.prserv_dump_db(e.data)
  30. if not retval:
  31. bb.fatal("prexport_handler: export failed!")
  32. (metainfo, datainfo) = retval
  33. oe.prservice.prserv_export_tofile(e.data, None, datainfo, False)
  34. elif isinstance(e, bb.event.ParseStarted):
  35. import bb.utils
  36. import oe.prservice
  37. oe.prservice.prserv_check_avail(e.data)
  38. #remove dumpfile
  39. bb.utils.remove(e.data.getVar('PRSERV_DUMPFILE', True))
  40. elif isinstance(e, bb.event.ParseCompleted):
  41. import oe.prservice
  42. #dump meta info of tables
  43. d = e.data.createCopy()
  44. d.setVar('PRSERV_DUMPOPT_COL', "1")
  45. retval = oe.prservice.prserv_dump_db(d)
  46. if not retval:
  47. bb.error("prexport_handler: export failed!")
  48. return
  49. (metainfo, datainfo) = retval
  50. oe.prservice.prserv_export_tofile(d, metainfo, None, True)
  51. }
  52. addhandler prexport_handler
  53. prexport_handler bb.event.RecipeParsed bb.event.ParseStarted bb.event.ParseCompleted"