[oe] postinst problem: module vs. update-rc.d

Phil Blundell philb at gnu.org
Fri Oct 14 14:04:49 UTC 2011


On Fri, 2011-10-14 at 16:00 +0200, Steffen Sledz wrote:
> The 'exit 1' leads to an error if $D contains a nonzero length string (what is the case in the OE image creation step at the build host) and suppresses the execution of the second (update-rc.d) part.
> 
> Because of this error the postinst is run a second time when the target device boots the first time ("opkg-cl configure" from /etc/rcS.d/S40configure).
> 
> The problem is that the update-rc.d execution (and therefor the creation of the new symlink into rcS.d) is done from within rcS itself. So the rcS.d/S90somescript will *not* be executed at this boot. :(
> 
> We see two possible solutions.
> 
> A) Don't use "inherit module update-rc.d" but write the pkg_postint ourselfs.
> 
> B) Create two packages (one for the module, one for the initscript) with a runtime dependency.
> 
> I don't like both of them. Any other ideas? Is it possible to force the order of postinst fragments (update-rc.d code before module code)?

I think either update-rc.d or update-rc.d.bbclass should probably invoke
the script as "start" when it installs it for the first time.

p.






More information about the Openembedded-devel mailing list