mirror of
https://git.yoctoproject.org/poky
synced 2026-01-29 21:08:42 +01:00
[YOCTO #1556] - Modified meta/class/package.bbclass and prserv.bbclass according to the change in PR service by adding PACKAGE_ARCH into the query tuple. - Added prexport.bbclass, primport.bbclass to export/import AUTOPR values from/to PRService. - Move PR service related common code to lib/oe/prservice.py. - Supported reading the AUTOPR values from the exported .inc file instead of reading it from remote PR service. - Created a new script bitbake-prserv-tool to export/import the AUTOPR values from/to the PR service. Typical usage scenario of the export/import is: 1. bitbake-prserv-tool export <file> to export the AUTOPR values from the current PR service into an exported .inc file. 2. Others may use that exported .inc file(to be included in the local.conf) to lockdown and reproduce the same AUTOPR when generating package feeds. 3. Others may "bitbake-prserv-tool import <file>" to import the AUTOPR values into their own PR service and the AUTOPR values will be incremented from there. (From OE-Core rev: 9979107d8eaf503efd921564385859b1e83dbb3c) Signed-off-by: Lianhao Lu <lianhao.lu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
46 lines
1.5 KiB
Plaintext
46 lines
1.5 KiB
Plaintext
PRSERV_DUMPOPT_VERSION = "${PRAUTOINX}"
|
|
PRSERV_DUMPOPT_PKGARCH = ""
|
|
PRSERV_DUMPOPT_CHECKSUM = ""
|
|
PRSERV_DUMPOPT_COL = "0"
|
|
|
|
PRSERV_DUMPDIR ??= "${LOG_DIR}/db"
|
|
PRSERV_DUMPFILE ??= "${PRSERV_DUMPDIR}/prserv.inc"
|
|
|
|
python prexport_handler () {
|
|
import bb.event
|
|
if not e.data:
|
|
return
|
|
|
|
if isinstance(e, bb.event.RecipeParsed):
|
|
import oe.prservice
|
|
#get all PR values for the current PRAUTOINX
|
|
ver = e.data.getVar('PRSERV_DUMPOPT_VERSION', True)
|
|
ver = ver.replace('%','-')
|
|
retval = oe.prservice.prserv_dump_db(e.data)
|
|
if not retval:
|
|
bb.fatal("prexport_handler: export failed!")
|
|
(metainfo, datainfo) = retval
|
|
if not datainfo:
|
|
bb.error("prexport_handler: No AUROPR values found for %s" % ver)
|
|
return
|
|
oe.prservice.prserv_export_tofile(e.data, None, datainfo, False)
|
|
elif isinstance(e, bb.event.ParseStarted):
|
|
import bb.utils
|
|
#remove dumpfile
|
|
bb.utils.remove(e.data.getVar('PRSERV_DUMPFILE', True))
|
|
elif isinstance(e, bb.event.ParseCompleted):
|
|
import oe.prservice
|
|
#dump meta info of tables
|
|
d = e.data.createCopy()
|
|
d.setVar('PRSERV_DUMPOPT_COL', "1")
|
|
retval = oe.prservice.prserv_dump_db(d)
|
|
if not retval:
|
|
bb.error("prexport_handler: export failed!")
|
|
return
|
|
(metainfo, datainfo) = retval
|
|
oe.prservice.prserv_export_tofile(d, metainfo, None, True)
|
|
|
|
}
|
|
|
|
addhandler prexport_handler
|