[OE-core] [PATCH v2 3/3] package_rpm.bbclass: add kernel version to its dependencies

Ovidiu-Adrian Vancea ovidiu.vancea at ni.com
Wed Jun 8 16:08:34 UTC 2016


Use the kernel package Version field for its rdepends, rrecommends, and
rsuggests fields’ values. This makes the packages on which the kernel
depends be the same version as the kernel.

The idea is the same as for .deb and .ipk pkgs but the implementation is
slightly different because there are no dictionaries used, instead
package_rmp.bbclass stores rdepends values in strings.

Signed-off-by: Ovidiu-Adrian Vancea <ovidiu.vancea at ni.com>
---
 meta/classes/package_rpm.bbclass | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass
index f9398a9..ee3d54e 100644
--- a/meta/classes/package_rpm.bbclass
+++ b/meta/classes/package_rpm.bbclass
@@ -371,6 +371,27 @@ python write_specfile () {
         splitrconflicts  = strip_multilib_deps(localdata.getVar('RCONFLICTS', True), d)
         splitrobsoletes  = []
 
+        if (pkgname == "kernel") and (localdata.getVar("VERSION_KERNEL_MODULES", False) == "1"):
+            suffix = " (= "+localdata.getVar('PKGV', True)+"-"+localdata.getVar('PKGR', True) + ")"
+
+            versioneddeps = []
+            for pkg_dep in splitrdepends.split(','):
+                pkg_dep += suffix
+                versioneddeps += [pkg_dep]
+            splitrdepends = ",".join(versioneddeps)
+
+            versionedrecommends = []
+            for pkg_dep in splitrrecommends.split(','):
+                pkg_dep += suffix
+                versionedrecommends += [pkg_dep]
+            splitrrecommends = ",".join(versionedrecommends)
+
+            versionedsuggests = []
+            for pkg_dep in splitrsuggests.split(','):
+                pkg_dep += suffix
+                versionedsuggests += [pkg_dep]
+            splitrsuggests = ",".join(versionedsuggests)
+
         splitrpreinst  = localdata.getVar('pkg_preinst', True)
         splitrpostinst = localdata.getVar('pkg_postinst', True)
         splitrprerm    = localdata.getVar('pkg_prerm', True)
-- 
2.7.4




More information about the Openembedded-core mailing list