]> code.ossystems Code Review - openembedded-core.git/commitdiff
package_rpm.bbclass: respect package overrides for the main package
authorMichael Ho <Michael.Ho@bmw.de>
Mon, 25 May 2020 07:45:49 +0000 (09:45 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 25 May 2020 21:25:27 +0000 (22:25 +0100)
Apply ${PN} to OVERRIDES when determining the base package spec variables.
Without this, there is a mismatch in behaviour where overrides for the base
package have no effect while overrides for subpackages do. The subpackages
should not be affected by this override as they apply their own package
overrides and will by default fetch the base variables and apply them in
the spec file.

This makes the behaviour for package overrides match the implementation
in package_deb.bbclass and package_ipk.bbclass.

Signed-off-by: Michael Ho <Michael.Ho@bmw.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/package_rpm.bbclass

index 9145717f98ad979d93e3bc86507c8e560c9abc80..56c1b6693851dd609ec9b5e703d6f34a03c1e479 100644 (file)
@@ -286,16 +286,18 @@ python write_specfile () {
 
     # Construct the SPEC file...
     srcname    = d.getVar('PN')
-    srcsummary = (d.getVar('SUMMARY') or d.getVar('DESCRIPTION') or ".")
-    srcversion = d.getVar('PKGV').replace('-', '+')
-    srcrelease = d.getVar('PKGR')
-    srcepoch   = (d.getVar('PKGE') or "")
-    srclicense = d.getVar('LICENSE')
-    srcsection = d.getVar('SECTION')
-    srcmaintainer  = d.getVar('MAINTAINER')
-    srchomepage    = d.getVar('HOMEPAGE')
-    srcdescription = d.getVar('DESCRIPTION') or "."
-    srccustomtagschunk = get_package_additional_metadata("rpm", d)
+    localdata = bb.data.createCopy(d)
+    localdata.setVar('OVERRIDES', d.getVar("OVERRIDES", False) + ":" + srcname)
+    srcsummary = (localdata.getVar('SUMMARY') or localdata.getVar('DESCRIPTION') or ".")
+    srcversion = localdata.getVar('PKGV').replace('-', '+')
+    srcrelease = localdata.getVar('PKGR')
+    srcepoch   = (localdata.getVar('PKGE') or "")
+    srclicense = localdata.getVar('LICENSE')
+    srcsection = localdata.getVar('SECTION')
+    srcmaintainer  = localdata.getVar('MAINTAINER')
+    srchomepage    = localdata.getVar('HOMEPAGE')
+    srcdescription = localdata.getVar('DESCRIPTION') or "."
+    srccustomtagschunk = get_package_additional_metadata("rpm", localdata)
 
     srcdepends     = d.getVar('DEPENDS')
     srcrdepends    = []