diff options
author | Kevin Tian <kevin.tian@intel.com> | 2010-08-14 12:14:23 +0800 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2010-08-17 22:57:33 +0100 |
commit | 54d6d75445cf138ab6c1b36007576620e74ab9f1 (patch) | |
tree | 6b4363a5d576be4d185ac15fcb774e69045816a3 | |
parent | 7025e6496e89e3a5750aae65b73118d2f6673884 (diff) | |
download | poky-54d6d75445cf138ab6c1b36007576620e74ab9f1.tar.gz |
update-rc.d.bbclass: adjust order on tweaking postinst
So far unlike prerm/postrm, update-rc.d has its own postinst method prepended
to pkg_postinst, which may result "System startup links for xxx already exist"
warning in the 1st boot of target image. Some pkg_postinst requires to run on
the target, and thus prepend here makes update-rc.d method executed twice: one
in rootfs creation and the other in the 1st target boot. So adjust the order
to append.
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
-rw-r--r-- | meta/classes/update-rc.d.bbclass | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/meta/classes/update-rc.d.bbclass b/meta/classes/update-rc.d.bbclass index 0c648edb4d..57137c60b4 100644 --- a/meta/classes/update-rc.d.bbclass +++ b/meta/classes/update-rc.d.bbclass | |||
@@ -44,18 +44,23 @@ python populate_packages_prepend () { | |||
44 | bb.data.setVar("OVERRIDES", "%s:%s" % (pkg, overrides), localdata) | 44 | bb.data.setVar("OVERRIDES", "%s:%s" % (pkg, overrides), localdata) |
45 | bb.data.update_data(localdata) | 45 | bb.data.update_data(localdata) |
46 | 46 | ||
47 | postinst = '#!/bin/sh\n' | 47 | """ |
48 | update_rc.d postinst is appended here because pkg_postinst may require to | ||
49 | execute on the target. Not doing so may cause update_rc.d postinst invoked | ||
50 | twice to cause unwanted warnings. | ||
51 | """ | ||
52 | postinst = bb.data.getVar('pkg_postinst', localdata, 1) | ||
53 | if not postinst: | ||
54 | postinst = '#!/bin/sh\n' | ||
48 | postinst += bb.data.getVar('updatercd_postinst', localdata, 1) | 55 | postinst += bb.data.getVar('updatercd_postinst', localdata, 1) |
49 | try: | ||
50 | postinst += bb.data.getVar('pkg_postinst', localdata, 1) | ||
51 | except: | ||
52 | pass | ||
53 | bb.data.setVar('pkg_postinst_%s' % pkg, postinst, d) | 56 | bb.data.setVar('pkg_postinst_%s' % pkg, postinst, d) |
57 | |||
54 | prerm = bb.data.getVar('pkg_prerm', localdata, 1) | 58 | prerm = bb.data.getVar('pkg_prerm', localdata, 1) |
55 | if not prerm: | 59 | if not prerm: |
56 | prerm = '#!/bin/sh\n' | 60 | prerm = '#!/bin/sh\n' |
57 | prerm += bb.data.getVar('updatercd_prerm', localdata, 1) | 61 | prerm += bb.data.getVar('updatercd_prerm', localdata, 1) |
58 | bb.data.setVar('pkg_prerm_%s' % pkg, prerm, d) | 62 | bb.data.setVar('pkg_prerm_%s' % pkg, prerm, d) |
63 | |||
59 | postrm = bb.data.getVar('pkg_postrm', localdata, 1) | 64 | postrm = bb.data.getVar('pkg_postrm', localdata, 1) |
60 | if not postrm: | 65 | if not postrm: |
61 | postrm = '#!/bin/sh\n' | 66 | postrm = '#!/bin/sh\n' |