prexport.bbclass 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  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.error("prexport_handler: No AUROPR values found for %s" % ver)
  22. return
  23. oe.prservice.prserv_export_tofile(e.data, None, datainfo, False)
  24. elif isinstance(e, bb.event.ParseStarted):
  25. import bb.utils
  26. #remove dumpfile
  27. bb.utils.remove(e.data.getVar('PRSERV_DUMPFILE', True))
  28. elif isinstance(e, bb.event.ParseCompleted):
  29. import oe.prservice
  30. #dump meta info of tables
  31. d = e.data.createCopy()
  32. d.setVar('PRSERV_DUMPOPT_COL', "1")
  33. retval = oe.prservice.prserv_dump_db(d)
  34. if not retval:
  35. bb.error("prexport_handler: export failed!")
  36. return
  37. (metainfo, datainfo) = retval
  38. oe.prservice.prserv_export_tofile(d, metainfo, None, True)
  39. }
  40. addhandler prexport_handler