[oe] guidelines for upstart in oe?
Steffen Sledz
sledz at dresearch-fe.de
Sat Sep 17 06:24:25 UTC 2011
Am 16.09.2011 17:32, schrieb Phil Blundell:
> On Fri, 2011-09-16 at 17:29 +0200, Steffen Sledz wrote:
>> On 14.09.2011 17:31, Steffen Sledz wrote:
>>> If i remember right there are some first experiments with using upstart as an sysvinit replacement in some oe based distros.
>>>
>>> Do some guidelines or suggestions exist to make an application recipes upstart ready?
>>>
>>> Nowadays a recipe for a common service contains INITSCRIPT_NAME & Co and installs an init script for sysvinit.
>>>
>>> How should such a recipe be modified to be able to install the application in a native upstart image (without sysvinit compatible runlevels)?
>>
>> Let me put it in concrete terms.
>>
>> Is it possible to write a bb recipe in a way like this?
>>
>> ---------------------->snip<-------------------------
>> ...
>> IF IMAGE USES UPSTART AS INIT THEN
>>
>
> Fundamentally no, since there is no way to know at the time the recipe
> is evaluated what images it will go into.
>
> It would be possible to ship both sets of scripts and then have a
> postprocessing step to remove the ones that you don't need. Or you
> could make upstart vs sysvinit be a DISTRO_FEATURE. Or, in at least
> some cases, we could probably stop shipping the scripts as discrete
> files altogether and replace them with some symbolic representation from
> which the necessary scripts could be constructed dynamically at install
> time.
Would it be an accepted solution to have two different packages in two recipes with common parts in an include like this?
foo_x.y.bb:
------------------>snip<-------------------
require foo-x.y.inc
RCONFLICTS = "foo-upstart"
inherit update-rc.d
do_install_append() {
install -d ${D}${sysconfdir}/init.d
install -m 0755 ${WORKDIR}/initscript ${D}${sysconfdir}/init.d/foo
}
INITSCRIPT_NAME = "foo"
...
------------------>snip<-------------------
foo-upstart_x.y.bb:
------------------>snip<-------------------
require foo-x.y.inc
RCONFLICTS = "foo"
do_install_append() {
install -d ${D}${sysconfdir}/init
install -m 0644 ${S}/upstartscript ${D}${sysconfdir}/init/foo.conf
}
...
------------------>snip<-------------------
foo-x.y.inc:
------------------>snip<-------------------
inherit autotools
...
------------------>snip<-------------------
Steffen
--
DResearch Fahrzeugelektronik GmbH
Otto-Schmirgal-Str. 3, 10319 Berlin, Germany
Tel: +49 30 515932-237 mailto:sledz at DResearch.de
Fax: +49 30 515932-299
Geschäftsführer: Dr. Michael Weber, Werner Mögle;
Amtsgericht Berlin Charlottenburg; HRB 130120 B;
Ust.-IDNr. DE273952058
More information about the Openembedded-devel
mailing list