diff options
author | Chen Qi <Qi.Chen@windriver.com> | 2021-08-19 23:59:31 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-08-22 22:21:46 +0100 |
commit | 0d8f2ed39efc018b231bd1bd340b285bad2348b0 (patch) | |
tree | ec7da607e3fd048acc314f23cd80e538ee931675 | |
parent | ce15691ee91ba3e7deeed2a21df4e0db2bbf0b53 (diff) | |
download | poky-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.bbclass | 8 | ||||
-rw-r--r-- | meta/classes/update-alternatives.bbclass | 6 |
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 | ||