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 | ||
