[oe-commits] Ross Burton : update-rc.d: correctly look up the initscript params with overrides

git at git.openembedded.org git at git.openembedded.org
Wed Apr 10 11:57:06 UTC 2013


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

Author: Ross Burton <ross.burton at intel.com>
Date:   Wed Apr 10 11:21:33 2013 +0100

update-rc.d: correctly look up the initscript params with overrides

The creation of a clone of d with extra OVERRIDES was removed in
72c1fd72d3b479c728e249eaa763116d352e945b but some of the lookups are essential
so that variables such as ${INITSCRIPT_PARAMS} get overriden and resolved
correctly on a per-package basis.

[ YOCTO #3960 ]

Signed-off-by: Ross Burton <ross.burton at intel.com>
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

---

 meta/classes/update-rc.d.bbclass |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/meta/classes/update-rc.d.bbclass b/meta/classes/update-rc.d.bbclass
index 0c2b94a..d8cc342 100644
--- a/meta/classes/update-rc.d.bbclass
+++ b/meta/classes/update-rc.d.bbclass
@@ -62,22 +62,28 @@ python populate_packages_updatercd () {
         execute on the target. Not doing so may cause update_rc.d postinst invoked
         twice to cause unwanted warnings.
         """ 
+
+        localdata = bb.data.createCopy(d)
+        overrides = localdata.getVar("OVERRIDES", True)
+        localdata.setVar("OVERRIDES", "%s:%s" % (pkg, overrides))
+        bb.data.update_data(localdata)
+
         postinst = d.getVar('pkg_postinst_%s' % pkg, True)
         if not postinst:
             postinst = '#!/bin/sh\n'
-        postinst += d.getVar('updatercd_postinst', True)
+        postinst += localdata.getVar('updatercd_postinst', True)
         d.setVar('pkg_postinst_%s' % pkg, postinst)
 
         prerm = d.getVar('pkg_prerm_%s' % pkg, True)
         if not prerm:
             prerm = '#!/bin/sh\n'
-        prerm += d.getVar('updatercd_prerm', True)
+        prerm += localdata.getVar('updatercd_prerm', True)
         d.setVar('pkg_prerm_%s' % pkg, prerm)
 
         postrm = d.getVar('pkg_postrm_%s' % pkg, True)
         if not postrm:
                 postrm = '#!/bin/sh\n'
-        postrm += d.getVar('updatercd_postrm', True)
+        postrm += localdata.getVar('updatercd_postrm', True)
         d.setVar('pkg_postrm_%s' % pkg, postrm)
 
     # Check that this class isn't being inhibited (generally, by





More information about the Openembedded-commits mailing list