mirror of
https://git.yoctoproject.org/poky
synced 2026-09-14 21:49:33 +02:00
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>
This commit is contained in:
@@ -40,10 +40,10 @@ def write_rpm_perfiledata(srcname, d):
|
|||||||
outfile.write("# Dependency table\n")
|
outfile.write("# Dependency table\n")
|
||||||
outfile.write('deps = {\n')
|
outfile.write('deps = {\n')
|
||||||
for pkg in packages.split():
|
for pkg in packages.split():
|
||||||
dependsflist_key = 'FILE' + varname + 'FLIST' + "_" + pkg
|
dependsflist_key = 'FILE' + varname + 'FLIST' + ":" + pkg
|
||||||
dependsflist = (d.getVar(dependsflist_key) or "")
|
dependsflist = (d.getVar(dependsflist_key) or "")
|
||||||
for dfile in dependsflist.split():
|
for dfile in dependsflist.split():
|
||||||
key = "FILE" + varname + "_" + dfile + "_" + pkg
|
key = "FILE" + varname + ":" + dfile + ":" + pkg
|
||||||
deps = filter_nativesdk_deps(srcname, d.getVar(key) or "")
|
deps = filter_nativesdk_deps(srcname, d.getVar(key) or "")
|
||||||
depends_dict = bb.utils.explode_dep_versions(deps)
|
depends_dict = bb.utils.explode_dep_versions(deps)
|
||||||
file = dfile.replace("@underscore@", "_")
|
file = dfile.replace("@underscore@", "_")
|
||||||
@@ -249,10 +249,10 @@ python write_specfile () {
|
|||||||
|
|
||||||
def get_perfile(varname, pkg, d):
|
def get_perfile(varname, pkg, d):
|
||||||
deps = []
|
deps = []
|
||||||
dependsflist_key = 'FILE' + varname + 'FLIST' + "_" + pkg
|
dependsflist_key = 'FILE' + varname + 'FLIST' + ":" + pkg
|
||||||
dependsflist = (d.getVar(dependsflist_key) or "")
|
dependsflist = (d.getVar(dependsflist_key) or "")
|
||||||
for dfile in dependsflist.split():
|
for dfile in dependsflist.split():
|
||||||
key = "FILE" + varname + "_" + dfile + "_" + pkg
|
key = "FILE" + varname + ":" + dfile + ":" + pkg
|
||||||
depends = d.getVar(key)
|
depends = d.getVar(key)
|
||||||
if depends:
|
if depends:
|
||||||
deps.append(depends)
|
deps.append(depends)
|
||||||
|
|||||||
@@ -321,7 +321,7 @@ def apply_update_alternative_provides(d):
|
|||||||
|
|
||||||
# Add file provide
|
# Add file provide
|
||||||
trans_target = oe.package.file_translate(alt_target)
|
trans_target = oe.package.file_translate(alt_target)
|
||||||
d.appendVar('FILERPROVIDES_%s_%s' % (trans_target, pkg), " " + alt_link)
|
d.appendVar('FILERPROVIDES:%s:%s' % (trans_target, pkg), " " + alt_link)
|
||||||
if not trans_target in (d.getVar('FILERPROVIDESFLIST_%s' % pkg) or ""):
|
if not trans_target in (d.getVar('FILERPROVIDESFLIST:%s' % pkg) or ""):
|
||||||
d.appendVar('FILERPROVIDESFLIST_%s' % pkg, " " + trans_target)
|
d.appendVar('FILERPROVIDESFLIST:%s' % pkg, " " + trans_target)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user