summaryrefslogtreecommitdiff
path: root/meta
diff options
context:
space:
mode:
Diffstat (limited to 'meta')
-rw-r--r--meta/classes/update-rc.d.bbclass15
1 files changed, 10 insertions, 5 deletions
diff --git a/meta/classes/update-rc.d.bbclass b/meta/classes/update-rc.d.bbclass
index 0c648edb4..57137c60b 100644
--- a/meta/classes/update-rc.d.bbclass
+++ b/meta/classes/update-rc.d.bbclass
@@ -44,18 +44,23 @@ python populate_packages_prepend () {
bb.data.setVar("OVERRIDES", "%s:%s" % (pkg, overrides), localdata)
bb.data.update_data(localdata)
- postinst = '#!/bin/sh\n'
+ """
+ update_rc.d postinst is appended here because pkg_postinst may require to
+ execute on the target. Not doing so may cause update_rc.d postinst invoked
+ twice to cause unwanted warnings.
+ """
+ postinst = bb.data.getVar('pkg_postinst', localdata, 1)
+ if not postinst:
+ postinst = '#!/bin/sh\n'
postinst += bb.data.getVar('updatercd_postinst', localdata, 1)
- try:
- postinst += bb.data.getVar('pkg_postinst', localdata, 1)
- except:
- pass
bb.data.setVar('pkg_postinst_%s' % pkg, postinst, d)
+
prerm = bb.data.getVar('pkg_prerm', localdata, 1)
if not prerm:
prerm = '#!/bin/sh\n'
prerm += bb.data.getVar('updatercd_prerm', localdata, 1)
bb.data.setVar('pkg_prerm_%s' % pkg, prerm, d)
+
postrm = bb.data.getVar('pkg_postrm', localdata, 1)
if not postrm:
postrm = '#!/bin/sh\n'