]> code.ossystems Code Review - openembedded-core.git/commitdiff
package_rpm.bbclass: Fix empty package handling, handle package dependency renaming...
authorRichard Purdie <richard@openedhand.com>
Mon, 25 Aug 2008 20:50:46 +0000 (20:50 +0000)
committerRichard Purdie <richard@openedhand.com>
Mon, 25 Aug 2008 20:50:46 +0000 (20:50 +0000)
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@5100 311d38ba-8fff-0310-9ca6-ca027cbcb966

meta/classes/package_rpm.bbclass

index ac6ac2ca5472fa8eb3c77a35441fe6578cd35fbc..db379b4c9688dd73981dd1faa39c1c59657a7050 100644 (file)
@@ -46,7 +46,8 @@ python write_specfile() {
                        del files[files.index(r)]
                except ValueError:
                        pass
-       if not files:
+
+       if not files and bb.data.getVar('ALLOW_EMPTY', d) != "1":
                from bb import note
                note("Not creating empty archive for %s-%s-%s" % (bb.data.getVar('PKG',d, 1), bb.data.getVar('PV', d, 1), bb.data.getVar('PR', d, 1)))
                return
@@ -65,10 +66,10 @@ python write_specfile() {
                if out_vartranslate[var][0] == "%":
                        continue
                val = bb.data.getVar(var, d, 1)
-               if var == "RDEPENDS":
-                       val = val.split()[0]
                fd.write("%s\t: %s\n" % (out_vartranslate[var], val))
-       rdepends = " ".join(bb.utils.explode_deps(bb.data.getVar('RDEPENDS', d, True)))
+
+       bb.build.exec_func("mapping_rename_hook", d)
+       rdepends = " ".join(bb.utils.explode_deps(bb.data.getVar('RDEPENDS', d, True) or ""))
        if rdepends:
                fd.write("Requires: %s\n" % rdepends)
        fd.write("Summary\t: .\n")
@@ -160,6 +161,9 @@ python do_package_rpm () {
                pkgoutdir = outdir
                bb.mkdirhier(pkgoutdir)
                bb.data.setVar('OUTSPECFILE', os.path.join(workdir, "%s.spec" % pkg), localdata)
+               # Save the value of RPMBUILD expanded into the new dictonary so any 
+               # changes in the compoents that make up workdir don't break packaging
+               bb.data.setVar('RPMBUILD', bb.data.getVar("RPMBUILD", d, True), localdata)
                bb.build.exec_func('write_specfile', localdata)
                bb.utils.unlockfile(lf)
 }