summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--meta/classes/package_rpm.bbclass12
1 files changed, 8 insertions, 4 deletions
diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass
index ac6ac2ca5..db379b4c9 100644
--- a/meta/classes/package_rpm.bbclass
+++ b/meta/classes/package_rpm.bbclass
@@ -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)
}