aboutsummaryrefslogtreecommitdiffstats
path: root/meta/classes/prserv.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:33:24 +0000
commit9979107d8eaf503efd921564385859b1e83dbb3c (patch)
treea79dd735499d19f0b5ebefc96ccb79c001d50d6b /meta/classes/prserv.bbclass
parent0df0399677a6677fc810e32e9275ee9e79021e9a (diff)
downloadopenembedded-core-contrib-9979107d8eaf503efd921564385859b1e83dbb3c.tar.gz
openembedded-core-contrib-9979107d8eaf503efd921564385859b1e83dbb3c.tar.bz2
openembedded-core-contrib-9979107d8eaf503efd921564385859b1e83dbb3c.zip
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. Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Diffstat (limited to 'meta/classes/prserv.bbclass')
-rw-r--r--meta/classes/prserv.bbclass36
1 files changed, 14 insertions, 22 deletions
diff --git a/meta/classes/prserv.bbclass b/meta/classes/prserv.bbclass
index 18b8589a7b..0825306f91 100644
--- a/meta/classes/prserv.bbclass
+++ b/meta/classes/prserv.bbclass
@@ -1,29 +1,21 @@
-def prserv_make_conn(d):
- import prserv.serv
- host=d.getVar("PRSERV_HOST",True)
- port=d.getVar("PRSERV_PORT",True)
- try:
- conn=None
- conn=prserv.serv.PRServerConnection(host,int(port))
- d.setVar("__PRSERV_CONN",conn)
- except Exception, exc:
- bb.fatal("Connecting to PR service %s:%s failed: %s" % (host, port, str(exc)))
-
- return conn
-
def prserv_get_pr_auto(d):
- if d.getVar('USE_PR_SERV', True) != "0":
+ import oe.prservice
+ if d.getVar('USE_PR_SERV', True) != "1":
bb.warn("Not using network based PR service")
return None
- conn=d.getVar("__PRSERV_CONN", True)
- if conn is None:
- conn=prserv_make_conn(d)
+ version = d.getVar("PRAUTOINX", True)
+ pkgarch = d.getVar("PACKAGE_ARCH", True)
+ checksum = d.getVar("BB_TASKHASH", True)
+
+ if d.getVar('PRSERV_LOCKDOWN', True):
+ auto_rev = d.getVar('PRAUTO_' + version + '_' + pkgarch, True) or d.getVar('PRAUTO_' + version, True) or None
+ else:
+ conn = d.getVar("__PRSERV_CONN", True)
if conn is None:
- return None
+ conn = oe.prservice.prserv_make_conn(d)
+ if conn is None:
+ return None
+ auto_rev = conn.getPR(version, pkgarch, checksum)
- version=d.getVar("PF", True)
- checksum=d.getVar("BB_TASKHASH", True)
- auto_rev=conn.getPR(version,checksum)
- bb.debug(1,"prserv_get_pr_auto: version: %s checksum: %s result %d" % (version, checksum, auto_rev))
return auto_rev