summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChen Qi <Qi.Chen@windriver.com>2021-08-19 23:59:31 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-08-22 22:21:46 +0100
commit0d8f2ed39efc018b231bd1bd340b285bad2348b0 (patch)
treeec7da607e3fd048acc314f23cd80e538ee931675
parentce15691ee91ba3e7deeed2a21df4e0db2bbf0b53 (diff)
downloadpoky-0d8f2ed39efc018b231bd1bd340b285bad2348b0.tar.gz
package_rpm/update-alternatives: fix package's provides
Currently we have: $ rpm -qp --provides tmp/deploy/rpm/core2_64/bash-5.1.8-r0.core2_64.rpm bash = 5.1.8-r0 This is incorrect as bash provides /bin/bash and /bin/sh. This is caused by incomplete conversion of new override syntax, which breaks the per-file parsing of package_rpm. With this patch, we have: $ rpm -qp --provides tmp/deploy/rpm/core2_64/bash-5.1.8-r0.core2_64.rpm /bin/bash /bin/sh bash = 5.1.8-r0 (From OE-Core rev: f186d32ff8bf176ad0bd8d49e47cdb017c701a46) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/package_rpm.bbclass8
-rw-r--r--meta/classes/update-alternatives.bbclass6
2 files changed, 7 insertions, 7 deletions
diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass
index aebeaf6932..88d861c0e7 100644
--- a/meta/classes/package_rpm.bbclass
+++ b/meta/classes/package_rpm.bbclass
@@ -40,10 +40,10 @@ def write_rpm_perfiledata(srcname, d):
40 outfile.write("# Dependency table\n") 40 outfile.write("# Dependency table\n")
41 outfile.write('deps = {\n') 41 outfile.write('deps = {\n')
42 for pkg in packages.split(): 42 for pkg in packages.split():
43 dependsflist_key = 'FILE' + varname + 'FLIST' + "_" + pkg 43 dependsflist_key = 'FILE' + varname + 'FLIST' + ":" + pkg
44 dependsflist = (d.getVar(dependsflist_key) or "") 44 dependsflist = (d.getVar(dependsflist_key) or "")
45 for dfile in dependsflist.split(): 45 for dfile in dependsflist.split():
46 key = "FILE" + varname + "_" + dfile + "_" + pkg 46 key = "FILE" + varname + ":" + dfile + ":" + pkg
47 deps = filter_nativesdk_deps(srcname, d.getVar(key) or "") 47 deps = filter_nativesdk_deps(srcname, d.getVar(key) or "")
48 depends_dict = bb.utils.explode_dep_versions(deps) 48 depends_dict = bb.utils.explode_dep_versions(deps)
49 file = dfile.replace("@underscore@", "_") 49 file = dfile.replace("@underscore@", "_")
@@ -249,10 +249,10 @@ python write_specfile () {
249 249
250 def get_perfile(varname, pkg, d): 250 def get_perfile(varname, pkg, d):
251 deps = [] 251 deps = []
252 dependsflist_key = 'FILE' + varname + 'FLIST' + "_" + pkg 252 dependsflist_key = 'FILE' + varname + 'FLIST' + ":" + pkg
253 dependsflist = (d.getVar(dependsflist_key) or "") 253 dependsflist = (d.getVar(dependsflist_key) or "")
254 for dfile in dependsflist.split(): 254 for dfile in dependsflist.split():
255 key = "FILE" + varname + "_" + dfile + "_" + pkg 255 key = "FILE" + varname + ":" + dfile + ":" + pkg
256 depends = d.getVar(key) 256 depends = d.getVar(key)
257 if depends: 257 if depends:
258 deps.append(depends) 258 deps.append(depends)
diff --git a/meta/classes/update-alternatives.bbclass b/meta/classes/update-alternatives.bbclass
index 81ca05de0e..fc1ffd828c 100644
--- a/meta/classes/update-alternatives.bbclass
+++ b/meta/classes/update-alternatives.bbclass
@@ -321,7 +321,7 @@ def apply_update_alternative_provides(d):
321 321
322 # Add file provide 322 # Add file provide
323 trans_target = oe.package.file_translate(alt_target) 323 trans_target = oe.package.file_translate(alt_target)
324 d.appendVar('FILERPROVIDES_%s_%s' % (trans_target, pkg), " " + alt_link) 324 d.appendVar('FILERPROVIDES:%s:%s' % (trans_target, pkg), " " + alt_link)
325 if not trans_target in (d.getVar('FILERPROVIDESFLIST_%s' % pkg) or ""): 325 if not trans_target in (d.getVar('FILERPROVIDESFLIST:%s' % pkg) or ""):
326 d.appendVar('FILERPROVIDESFLIST_%s' % pkg, " " + trans_target) 326 d.appendVar('FILERPROVIDESFLIST:%s' % pkg, " " + trans_target)
327 327