diff options
Diffstat (limited to 'meta')
-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 @@ | |||
1 | python read_subpackage_metadata () { | 1 | python read_subpackage_metadata () { |
2 | import oe.packagedata | 2 | import oe.packagedata |
3 | 3 | ||
4 | pn = d.getVar('PN', True) | 4 | vars = { |
5 | data = oe.packagedata.read_pkgdata(pn, d) | 5 | "PN" : d.getVar('PN', True), |
6 | "PE" : d.getVar('PE', True), | ||
7 | "PV" : d.getVar('PV', True), | ||
8 | "PR" : d.getVar('PR', True), | ||
9 | } | ||
10 | |||
11 | data = oe.packagedata.read_pkgdata(vars["PN"], d) | ||
6 | 12 | ||
7 | for key in data.keys(): | 13 | for key in data.keys(): |
8 | d.setVar(key, data[key]) | 14 | d.setVar(key, data[key]) |
@@ -10,9 +16,11 @@ python read_subpackage_metadata () { | |||
10 | for pkg in d.getVar('PACKAGES', True).split(): | 16 | for pkg in d.getVar('PACKAGES', True).split(): |
11 | sdata = oe.packagedata.read_subpkgdata(pkg, d) | 17 | sdata = oe.packagedata.read_subpkgdata(pkg, d) |
12 | for key in sdata.keys(): | 18 | for key in sdata.keys(): |
13 | if key == "PN": | 19 | if key in vars: |
14 | if sdata[key] != pn: | 20 | if sdata[key] != vars[key]: |
15 | 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])) | 21 | if key == "PN": |
22 | 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])) | ||
23 | 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])) | ||
16 | continue | 24 | continue |
17 | d.setVar(key, sdata[key]) | 25 | d.setVar(key, sdata[key]) |
18 | } | 26 | } |