diff options
| -rw-r--r-- | meta/classes/packagedata.bbclass | 18 | 
1 files changed, 13 insertions, 5 deletions
| diff --git a/meta/classes/packagedata.bbclass b/meta/classes/packagedata.bbclass index 120cd6445f..d1aedf2289 100644 --- a/meta/classes/packagedata.bbclass +++ b/meta/classes/packagedata.bbclass @@ -1,8 +1,14 @@  python read_subpackage_metadata () {      import oe.packagedata -    pn = d.getVar('PN', True) -    data = oe.packagedata.read_pkgdata(pn, d) +    vars = { +        "PN" : d.getVar('PN', True),  +        "PE" : d.getVar('PE', True),  +        "PV" : d.getVar('PV', True), +        "PR" : d.getVar('PR', True), +    } + +    data = oe.packagedata.read_pkgdata(vars["PN"], d)      for key in data.keys():          d.setVar(key, data[key]) @@ -10,9 +16,11 @@ python read_subpackage_metadata () {      for pkg in d.getVar('PACKAGES', True).split():          sdata = oe.packagedata.read_subpkgdata(pkg, d)          for key in sdata.keys(): -            if key == "PN": -                if sdata[key] != pn: -                    bb.fatal("Recipe %s is trying to create package %s which was already written by recipe %s. This will cause corruption, please resolve this and only provide the package from one recipe or the other or only build one of the recipes." % (pn, pkg, sdata[key])) +            if key in vars: +                if sdata[key] != vars[key]: +                    if key == "PN": +                        bb.fatal("Recipe %s is trying to create package %s which was already written by recipe %s. This will cause corruption, please resolve this and only provide the package from one recipe or the other or only build one of the recipes." % (vars[key], pkg, sdata[key])) +                    bb.fatal("Recipe %s is trying to change %s from '%s' to '%s'. This will cause do_package_write_* failures since the incorrect data will be used and they will be unable to find the right workdir." % (vars["PN"], key, vars[key], sdata[key]))                  continue              d.setVar(key, sdata[key])  } | 
