Patchwork [PRService/meta,V2,2/3] package.bbclass: per recipe PRSERV_HOST support

login
register
mail settings
Submitter Lianhao Lu
Date Dec. 31, 2011, 3:31 a.m.
Message ID <93c736cc566ed205d532bea9390d64bec86f8dae.1325302234.git.lianhao.lu@intel.com>
Download mbox | patch
Permalink /patch/17905/
State New
Headers show

Comments

Lianhao Lu - Dec. 31, 2011, 3:31 a.m.
[YOCTO #1126]
Added per recipe PRSERV_HOST PRSERV_PORT support.

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
---
 meta/classes/package.bbclass |    8 ++++++++
 meta/conf/bitbake.conf       |    2 +-
 2 files changed, 9 insertions(+), 1 deletions(-)
Richard Purdie - Jan. 6, 2012, 1:07 p.m.
On Sat, 2011-12-31 at 11:31 +0800, Lianhao Lu wrote:
> [YOCTO #1126]
> Added per recipe PRSERV_HOST PRSERV_PORT support.
> 
> Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
> ---
>  meta/classes/package.bbclass |    8 ++++++++
>  meta/conf/bitbake.conf       |    2 +-
>  2 files changed, 9 insertions(+), 1 deletions(-)
> 
> diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
> index 65e6571..f8f0a12 100644
> --- a/meta/classes/package.bbclass
> +++ b/meta/classes/package.bbclass
> @@ -350,6 +350,14 @@ def runtime_mapping_rename (varname, d):
>  #
>  
>  python package_get_auto_pr() {
> +	# per recipe PRSERV_HOST PRSERV_PORT
> +	pn = d.getVar('PN', True)
> +	host = d.getVar("PRSERV_HOST_" + pn, True)
> +	port = d.getVar("PRSERV_PORT_" + pn, True)
> +	if not (host is None):
> +		d.setVar("PRSERV_HOST", host)
> +	if not (port is None):
> +		d.setVar("PRSERV_PORT", port)
>  	if d.getVar('USE_PR_SERV', True) != "0":
>  		try:
>  			auto_pr=prserv_get_pr_auto(d)
> diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
> index 31a722e..6b1744f 100644
> --- a/meta/conf/bitbake.conf
> +++ b/meta/conf/bitbake.conf
> @@ -190,7 +190,7 @@ BP = "${BPN}-${PV}"
>  #
>  # network based PR service
>  #
> -USE_PR_SERV = "${@[1,0][((d.getVar('PRSERV_HOST',1) is None) or (d.getVar('PRSERV_PORT',1) is None)) and (d.getVar('PRSERV_LOCKDOWN',1) is None)]}"
> +USE_PR_SERV = "${@[1,0][((d.getVar('PRSERV_HOST',1) is None) or (d.getVar('PRSERV_HOST',1) == "") or (d.getVar('PRSERV_PORT',1) is None) or (d.getVar('PRSERV_PORT',1) == "")) and (d.getVar('PRSERV_LOCKDOWN',1) is None)]}"

Instead of:

(d.getVar('PRSERV_HOST',1) is None) or (d.getVar('PRSERV_HOST',1) == "")

you should just be able to say

(not d.getVar('PRSERV_HOST', True))

since both None and "" evaluate to False.

Please also use True instead of 1 and False instead of 0. I appreciate
there are bad examples around but we're trying to clean them up.

Cheers,

Richard

Patch

diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index 65e6571..f8f0a12 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -350,6 +350,14 @@  def runtime_mapping_rename (varname, d):
 #
 
 python package_get_auto_pr() {
+	# per recipe PRSERV_HOST PRSERV_PORT
+	pn = d.getVar('PN', True)
+	host = d.getVar("PRSERV_HOST_" + pn, True)
+	port = d.getVar("PRSERV_PORT_" + pn, True)
+	if not (host is None):
+		d.setVar("PRSERV_HOST", host)
+	if not (port is None):
+		d.setVar("PRSERV_PORT", port)
 	if d.getVar('USE_PR_SERV', True) != "0":
 		try:
 			auto_pr=prserv_get_pr_auto(d)
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 31a722e..6b1744f 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -190,7 +190,7 @@  BP = "${BPN}-${PV}"
 #
 # network based PR service
 #
-USE_PR_SERV = "${@[1,0][((d.getVar('PRSERV_HOST',1) is None) or (d.getVar('PRSERV_PORT',1) is None)) and (d.getVar('PRSERV_LOCKDOWN',1) is None)]}"
+USE_PR_SERV = "${@[1,0][((d.getVar('PRSERV_HOST',1) is None) or (d.getVar('PRSERV_HOST',1) == "") or (d.getVar('PRSERV_PORT',1) is None) or (d.getVar('PRSERV_PORT',1) == "")) and (d.getVar('PRSERV_LOCKDOWN',1) is None)]}"
 
 # Package info.