summaryrefslogtreecommitdiffstats
path: root/meta/classes/prexport.bbclass
diff options
context:
space:
mode:
authorLianhao Lu <lianhao.lu@intel.com>2011-12-22 15:29:11 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-01-11 10:37:43 +0000
commita05e3a57c6f567578faeb31fae89b20e22850af4 (patch)
tree0fb66b3c74a9c011190179f0004024be5927570c /meta/classes/prexport.bbclass
parent6bde156c5ce58c8e55cd6f5fd5f87982a919ba34 (diff)
downloadpoky-a05e3a57c6f567578faeb31fae89b20e22850af4.tar.gz
meta/PRService: Added export/import fuctions.
[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>
Diffstat (limited to 'meta/classes/prexport.bbclass')
-rw-r--r--meta/classes/prexport.bbclass45
1 files changed, 45 insertions, 0 deletions
diff --git a/meta/classes/prexport.bbclass b/meta/classes/prexport.bbclass
new file mode 100644
index 0000000000..5b5b707a88
--- /dev/null
+++ b/meta/classes/prexport.bbclass
@@ -0,0 +1,45 @@
1PRSERV_DUMPOPT_VERSION = "${PRAUTOINX}"
2PRSERV_DUMPOPT_PKGARCH = ""
3PRSERV_DUMPOPT_CHECKSUM = ""
4PRSERV_DUMPOPT_COL = "0"
5
6PRSERV_DUMPDIR ??= "${LOG_DIR}/db"
7PRSERV_DUMPFILE ??= "${PRSERV_DUMPDIR}/prserv.inc"
8
9python prexport_handler () {
10 import bb.event
11 if not e.data:
12 return
13
14 if isinstance(e, bb.event.RecipeParsed):
15 import oe.prservice
16 #get all PR values for the current PRAUTOINX
17 ver = e.data.getVar('PRSERV_DUMPOPT_VERSION', True)
18 ver = ver.replace('%','-')
19 retval = oe.prservice.prserv_dump_db(e.data)
20 if not retval:
21 bb.fatal("prexport_handler: export failed!")
22 (metainfo, datainfo) = retval
23 if not datainfo:
24 bb.error("prexport_handler: No AUROPR values found for %s" % ver)
25 return
26 oe.prservice.prserv_export_tofile(e.data, None, datainfo, False)
27 elif isinstance(e, bb.event.ParseStarted):
28 import bb.utils
29 #remove dumpfile
30 bb.utils.remove(e.data.getVar('PRSERV_DUMPFILE', True))
31 elif isinstance(e, bb.event.ParseCompleted):
32 import oe.prservice
33 #dump meta info of tables
34 d = e.data.createCopy()
35 d.setVar('PRSERV_DUMPOPT_COL', "1")
36 retval = oe.prservice.prserv_dump_db(d)
37 if not retval:
38 bb.error("prexport_handler: export failed!")
39 return
40 (metainfo, datainfo) = retval
41 oe.prservice.prserv_export_tofile(d, metainfo, None, True)
42
43}
44
45addhandler prexport_handler