summaryrefslogtreecommitdiffstats
path: root/meta/classes/update-rc.d.bbclass
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2013-04-10 11:21:33 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-04-10 12:56:52 +0100
commit8cab6d76f856ad3eb140c096c4e6a3e2b5651bfb (patch)
tree0084d0f00a9f000c3c9f95dc6d225a948df43065 /meta/classes/update-rc.d.bbclass
parent51cc49dddaf88bdebed83189e3b59c2ff77842b9 (diff)
downloadpoky-8cab6d76f856ad3eb140c096c4e6a3e2b5651bfb.tar.gz
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 ] (From OE-Core rev: b016bc9aaabc90fe4dc98af8c5e73dfcb4526ef4) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/update-rc.d.bbclass')
-rw-r--r--meta/classes/update-rc.d.bbclass12
1 files changed, 9 insertions, 3 deletions
diff --git a/meta/classes/update-rc.d.bbclass b/meta/classes/update-rc.d.bbclass
index 0c2b94a25b..d8cc34234e 100644
--- a/meta/classes/update-rc.d.bbclass
+++ b/meta/classes/update-rc.d.bbclass
@@ -62,22 +62,28 @@ python populate_packages_updatercd () {
62 execute on the target. Not doing so may cause update_rc.d postinst invoked 62 execute on the target. Not doing so may cause update_rc.d postinst invoked
63 twice to cause unwanted warnings. 63 twice to cause unwanted warnings.
64 """ 64 """
65
66 localdata = bb.data.createCopy(d)
67 overrides = localdata.getVar("OVERRIDES", True)
68 localdata.setVar("OVERRIDES", "%s:%s" % (pkg, overrides))
69 bb.data.update_data(localdata)
70
65 postinst = d.getVar('pkg_postinst_%s' % pkg, True) 71 postinst = d.getVar('pkg_postinst_%s' % pkg, True)
66 if not postinst: 72 if not postinst:
67 postinst = '#!/bin/sh\n' 73 postinst = '#!/bin/sh\n'
68 postinst += d.getVar('updatercd_postinst', True) 74 postinst += localdata.getVar('updatercd_postinst', True)
69 d.setVar('pkg_postinst_%s' % pkg, postinst) 75 d.setVar('pkg_postinst_%s' % pkg, postinst)
70 76
71 prerm = d.getVar('pkg_prerm_%s' % pkg, True) 77 prerm = d.getVar('pkg_prerm_%s' % pkg, True)
72 if not prerm: 78 if not prerm:
73 prerm = '#!/bin/sh\n' 79 prerm = '#!/bin/sh\n'
74 prerm += d.getVar('updatercd_prerm', True) 80 prerm += localdata.getVar('updatercd_prerm', True)
75 d.setVar('pkg_prerm_%s' % pkg, prerm) 81 d.setVar('pkg_prerm_%s' % pkg, prerm)
76 82
77 postrm = d.getVar('pkg_postrm_%s' % pkg, True) 83 postrm = d.getVar('pkg_postrm_%s' % pkg, True)
78 if not postrm: 84 if not postrm:
79 postrm = '#!/bin/sh\n' 85 postrm = '#!/bin/sh\n'
80 postrm += d.getVar('updatercd_postrm', True) 86 postrm += localdata.getVar('updatercd_postrm', True)
81 d.setVar('pkg_postrm_%s' % pkg, postrm) 87 d.setVar('pkg_postrm_%s' % pkg, postrm)
82 88
83 # Check that this class isn't being inhibited (generally, by 89 # Check that this class isn't being inhibited (generally, by