Patchwork [bitbake-devel,1/3] prserv: use only PRSERV_HOST

login
register
mail settings
Submitter Constantin Musca
Date Jan. 23, 2013, 2:54 p.m.
Message ID <1358952843-14300-1-git-send-email-constantinx.musca@intel.com>
Download mbox | patch
Permalink /patch/43231/
State New
Headers show

Comments

Constantin Musca - Jan. 23, 2013, 2:54 p.m.
- remove PRSERV_PORT variable
- use 'hostname:port' as PRSERV_HOST format
- use 'localhost:0' for enabling the local PRServer

[YOCTO #3744]

Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
---
 bitbake/lib/prserv/serv.py | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)
Martin Jansa - Jan. 25, 2013, 1:47 p.m.
On Wed, Jan 23, 2013 at 04:54:03PM +0200, Constantin Musca wrote:
> - remove PRSERV_PORT variable
> - use 'hostname:port' as PRSERV_HOST format
> - use 'localhost:0' for enabling the local PRServer

Please update 
https://wiki.yoctoproject.org/wiki/index.php?title=PR_Service

This seems to break 'bitbake-prserv-tool migrate_localcount'

ERROR: Execution of event handler 'primport_handler' failed################################################################################## | ETA:  00:00:00
Traceback (most recent call last):
  File "primport_handler(e)", line 9, in primport_handler(e=<bb.event.ParseCompleted object at 0xce963d0>)
  File "/OE/shr-core/openembedded-core/meta/lib/oe/prservice.py", line 43, in prserv_import_db(d=<bb.data_smart.DataSmart object at 0x1aff710>, filter_version=None, filter_pkgarch=None, filter_checksum=None):
         if conn is None:
    >        conn = prserv_make_conn(d)
             if conn is None:
  File "/OE/shr-core/openembedded-core/meta/lib/oe/prservice.py", line 13, in prserv_make_conn(d=<bb.data_smart.DataSmart object at 0x1aff710>, check=False):
         except Exception, exc:
    >        bb.fatal("Connecting to PR service %s:%s failed: %s" % (host, port, str(exc)))

NameError: global name 'host' is not defined

Cheers,

> 
> [YOCTO #3744]
> 
> Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
> ---
>  bitbake/lib/prserv/serv.py | 15 +++++++++++----
>  1 file changed, 11 insertions(+), 4 deletions(-)
> 
> diff --git a/bitbake/lib/prserv/serv.py b/bitbake/lib/prserv/serv.py
> index 5567c6f..d8bdf31 100644
> --- a/bitbake/lib/prserv/serv.py
> +++ b/bitbake/lib/prserv/serv.py
> @@ -268,10 +268,17 @@ def is_local_special(host, port):
>  
>  def auto_start(d):
>      global singleton
> -    if (not d.getVar('PRSERV_HOST', True)) or (not d.getVar('PRSERV_PORT', True)):
> +
> +    host_params = filter(None, (d.getVar('PRSERV_HOST', True) or '').split(':'))
> +    if not host_params:
> +        return True
> +
> +    if len(host_params) != 2:
> +        logger.critical('\n'.join(['PRSERV_HOST: incorrect format',
> +                'Usage: PRSERV_HOST = "<hostname>:<port>"']))
>          return True
>  
> -    if is_local_special(d.getVar('PRSERV_HOST', True), int(d.getVar('PRSERV_PORT', True))) and not singleton:
> +    if is_local_special(host_params[0], int(host_params[1])) and not singleton:
>          import bb.utils
>          cachedir = (d.getVar("PERSISTENT_DIR", True) or d.getVar("CACHE", True))
>          if not cachedir:
> @@ -285,8 +292,8 @@ def auto_start(d):
>      if singleton:
>          host, port = singleton.getinfo()
>      else:
> -        host = d.getVar('PRSERV_HOST', True)
> -        port = int(d.getVar('PRSERV_PORT', True))
> +        host = host_params[0]
> +        port = int(host_params[1])
>  
>      try:
>          return PRServerConnection(host,port).ping()
> -- 
> 1.7.11.7
> 
> 
> _______________________________________________
> bitbake-devel mailing list
> bitbake-devel@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/bitbake-devel

Patch

diff --git a/bitbake/lib/prserv/serv.py b/bitbake/lib/prserv/serv.py
index 5567c6f..d8bdf31 100644
--- a/bitbake/lib/prserv/serv.py
+++ b/bitbake/lib/prserv/serv.py
@@ -268,10 +268,17 @@  def is_local_special(host, port):
 
 def auto_start(d):
     global singleton
-    if (not d.getVar('PRSERV_HOST', True)) or (not d.getVar('PRSERV_PORT', True)):
+
+    host_params = filter(None, (d.getVar('PRSERV_HOST', True) or '').split(':'))
+    if not host_params:
+        return True
+
+    if len(host_params) != 2:
+        logger.critical('\n'.join(['PRSERV_HOST: incorrect format',
+                'Usage: PRSERV_HOST = "<hostname>:<port>"']))
         return True
 
-    if is_local_special(d.getVar('PRSERV_HOST', True), int(d.getVar('PRSERV_PORT', True))) and not singleton:
+    if is_local_special(host_params[0], int(host_params[1])) and not singleton:
         import bb.utils
         cachedir = (d.getVar("PERSISTENT_DIR", True) or d.getVar("CACHE", True))
         if not cachedir:
@@ -285,8 +292,8 @@  def auto_start(d):
     if singleton:
         host, port = singleton.getinfo()
     else:
-        host = d.getVar('PRSERV_HOST', True)
-        port = int(d.getVar('PRSERV_PORT', True))
+        host = host_params[0]
+        port = int(host_params[1])
 
     try:
         return PRServerConnection(host,port).ping()