diff options
author | Ross Burton <ross.burton@intel.com> | 2013-04-10 11:21:33 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-04-10 12:56:52 +0100 |
commit | 8cab6d76f856ad3eb140c096c4e6a3e2b5651bfb (patch) | |
tree | 0084d0f00a9f000c3c9f95dc6d225a948df43065 | |
parent | 51cc49dddaf88bdebed83189e3b59c2ff77842b9 (diff) | |
download | poky-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>
-rw-r--r-- | 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 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 |