From: Chen Qi Date: Fri, 20 Aug 2021 06:59:31 +0000 (-0700) Subject: package_rpm/update-alternatives: fix package's provides X-Git-Tag: uninative-3.4~130 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=f186d32ff8bf176ad0bd8d49e47cdb017c701a46;p=openembedded-core.git 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 Signed-off-by: Chen Qi Signed-off-by: Richard Purdie --- 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): outfile.write("# Dependency table\n") outfile.write('deps = {\n') for pkg in packages.split(): - dependsflist_key = 'FILE' + varname + 'FLIST' + "_" + pkg + dependsflist_key = 'FILE' + varname + 'FLIST' + ":" + pkg dependsflist = (d.getVar(dependsflist_key) or "") for dfile in dependsflist.split(): - key = "FILE" + varname + "_" + dfile + "_" + pkg + key = "FILE" + varname + ":" + dfile + ":" + pkg deps = filter_nativesdk_deps(srcname, d.getVar(key) or "") depends_dict = bb.utils.explode_dep_versions(deps) file = dfile.replace("@underscore@", "_") @@ -249,10 +249,10 @@ python write_specfile () { def get_perfile(varname, pkg, d): deps = [] - dependsflist_key = 'FILE' + varname + 'FLIST' + "_" + pkg + dependsflist_key = 'FILE' + varname + 'FLIST' + ":" + pkg dependsflist = (d.getVar(dependsflist_key) or "") for dfile in dependsflist.split(): - key = "FILE" + varname + "_" + dfile + "_" + pkg + key = "FILE" + varname + ":" + dfile + ":" + pkg depends = d.getVar(key) if depends: 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): # Add file provide trans_target = oe.package.file_translate(alt_target) - d.appendVar('FILERPROVIDES_%s_%s' % (trans_target, pkg), " " + alt_link) - if not trans_target in (d.getVar('FILERPROVIDESFLIST_%s' % pkg) or ""): - d.appendVar('FILERPROVIDESFLIST_%s' % pkg, " " + trans_target) + d.appendVar('FILERPROVIDES:%s:%s' % (trans_target, pkg), " " + alt_link) + if not trans_target in (d.getVar('FILERPROVIDESFLIST:%s' % pkg) or ""): + d.appendVar('FILERPROVIDESFLIST:%s' % pkg, " " + trans_target)