[oe-commits] Richard Purdie : package_rpm: Add custom extension support for spec generation.

git at git.openembedded.org git at git.openembedded.org
Wed Sep 3 10:09:29 UTC 2014


Module: openembedded-core.git
Branch: master
Commit: 03ac91815013c0e85c4694b3ab849257e658aeba
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=03ac91815013c0e85c4694b3ab849257e658aeba

Author: Richard Purdie <richard.purdie at linuxfoundation.org>
Date:   Mon Sep  1 17:32:26 2014 +0100

package_rpm: Add custom extension support for spec generation.

Add hooks to allow customisation of the rpm spec files. Since python functions
aren't visible in the data store, one variable is used to trigger the call to
a separately named function. A dummy function is not provided since this then
triggers various class ordering complexities which are best avoided.

Ultimately this will be replaced by a refactor of the code to generate the
spec file using a python class.

This allows the tizen layer to add hooks for the security manifests for
example.

Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

---

 meta/classes/package_rpm.bbclass | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass
index 0a32b3e..1ea7549 100644
--- a/meta/classes/package_rpm.bbclass
+++ b/meta/classes/package_rpm.bbclass
@@ -293,6 +293,7 @@ python write_specfile () {
     spec_files_bottom = []
 
     perfiledeps = (d.getVar("MERGEPERFILEDEPS", True) or "0") == "0"
+    extra_pkgdata = (d.getVar("RPM_EXTRA_PKGDATA", True) or "0") == "1"
 
     for pkg in packages.split():
         localdata = bb.data.createCopy(d)
@@ -373,6 +374,8 @@ python write_specfile () {
             else:
                 bb.note("Creating RPM package for %s" % splitname)
                 spec_files_top.append('%files')
+                if extra_pkgdata:
+                    package_rpm_extra_pkgdata(splitname, spec_files_top, localdata)
                 spec_files_top.append('%defattr(-,-,-,-)')
                 if file_list:
                     bb.note("Creating RPM package for %s" % splitname)
@@ -479,6 +482,8 @@ python write_specfile () {
             bb.note("Not creating empty RPM package for %s" % splitname)
         else:
             spec_files_bottom.append('%%files -n %s' % splitname)
+            if extra_pkgdata:
+                package_rpm_extra_pkgdata(splitname, spec_files_bottom, localdata)
             spec_files_bottom.append('%defattr(-,-,-,-)')
             if file_list:
                 bb.note("Creating RPM package for %s" % splitname)



More information about the Openembedded-commits mailing list