[OE-core] [PATCH] packageinfo.bbclass: Fix crash in hob

Jason Wessel jason.wessel at windriver.com
Thu Sep 6 18:53:54 UTC 2012


The hob internally fails after executing a build and invoking
the hob a second time when it tries to use the values found in
BUILDDIR/tmp/pkgdata/*/runtime/*

The internal failure of the hob will manifest itself as
stating "Populated recipes 99%" forever after selecting
a machine just after starting the hob interface.

The internal trace looks like:

Traceback (most recent call last):
  File "packageinfo_handler(e)", line 24, in packageinfo_handler
KeyError: 'PKGV'

It is a result of using an override for a package version for
pieces of the toolchain, in the bb file e.g.
    PKGV_gdb-dbg = "1234.5678"

The work around for now is to populate the sdata PKGV value
and to assign the pkgv variable with the correct value
from the values found in the pkgdata store.

Signed-off-by: Jason Wessel <jason.wessel at windriver.com>
---
 meta/classes/packageinfo.bbclass |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/meta/classes/packageinfo.bbclass b/meta/classes/packageinfo.bbclass
index 26cce60..53965e4 100644
--- a/meta/classes/packageinfo.bbclass
+++ b/meta/classes/packageinfo.bbclass
@@ -18,7 +18,12 @@ python packageinfo_handler () {
                         sdata = oe.packagedata.read_pkgdatafile(root + pkgname)
                         sdata['PKG'] = pkgname
                         pkgrename = sdata['PKG_%s' % pkgname]
-                        pkgv = sdata['PKGV'].replace('-', '+')
+                        try:
+                            pkgv = sdata['PKGV']
+                        except:
+			    sdata['PKGV'] = sdata['PKGV_%s' % pkgname]
+                        pkgv = sdata['PKGV']
+                        pkgv = pkgv.replace('-', '+')
                         pkgr = sdata['PKGR']
                         # We found there are some renaming issue with certain architecture.
                         # For example, armv7a-vfp-neon, it will use armv7a in the rpm file. This is the workaround for it.
-- 
1.7.1





More information about the Openembedded-core mailing list