All of lore.kernel.org
 help / color / mirror / Atom feed
* [OE-core][PATCH] package_rpm/update-alternatives: fix package's provides
@ 2021-08-20  6:59 Chen Qi
  0 siblings, 0 replies; only message in thread
From: Chen Qi @ 2021-08-20  6:59 UTC (permalink / raw)
  To: openembedded-core

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 <Qi.Chen@windriver.com>
---
 meta/classes/package_rpm.bbclass         | 8 ++++----
 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):
         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)
 
-- 
2.30.2


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2021-08-20  6:59 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-20  6:59 [OE-core][PATCH] package_rpm/update-alternatives: fix package's provides Chen Qi

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.