]> code.ossystems Code Review - openembedded-core.git/commitdiff
package_rpm: Temporary workaround for perfile dependencies
authorMark Hatle <mhatle@windriver.com>
Mon, 23 Aug 2010 15:12:43 +0000 (08:12 -0700)
committerRichard Purdie <rpurdie@linux.intel.com>
Mon, 23 Aug 2010 20:04:20 +0000 (21:04 +0100)
Until the pseudo code is fully integrated, we need to roll up the
per file dependencies into package dependencies for rpm.

Signed-off-by: Mark Hatle <mhatle@windriver.com>
meta/classes/package_rpm.bbclass

index f89fd9472855283f8192712670da7c786f787b46..311c0a88833b3c568c5e8ddd2f2a66dd3c5764b6 100644 (file)
@@ -187,6 +187,24 @@ python write_specfile () {
                splitsection = (bb.data.getVar('SECTION', localdata, True) or "")
                splitdescription = (bb.data.getVar('DESCRIPTION', localdata, True) or "")
 
+               # Roll up the per file dependencies into package level dependencies
+               def roll_filerdeps(varname, d):
+                       depends = bb.utils.explode_dep_versions(bb.data.getVar(varname, d, True) or "")
+                       dependsflist_key = 'FILE' + varname + 'FLIST'
+                       dependsflist = (bb.data.getVar(dependsflist_key, d, True) or "")
+                       for dfile in dependsflist.split():
+                               key = "FILE" + varname + "_" + dfile
+                               filedepends = bb.utils.explode_dep_versions(bb.data.getVar(key, d, True) or "")
+                               bb.utils.extend_deps(depends, filedepends)
+                       bb.data.setVar(varname, bb.utils.join_deps(depends), d)
+
+               roll_filerdeps('RDEPENDS', localdata)
+               roll_filerdeps('RRECOMMENDS', localdata)
+               roll_filerdeps('RSUGGESTS', localdata)
+               roll_filerdeps('RPROVIDES', localdata)
+               roll_filerdeps('RREPLACES', localdata)
+               roll_filerdeps('RCONFLICTS', localdata)
+
                translate_vers('RDEPENDS', localdata)
                translate_vers('RRECOMMENDS', localdata)
                translate_vers('RSUGGESTS', localdata)