[OE-core] RFE: make the init manager an image feature (again)

Otavio Salvador otavio at ossystems.com.br
Sat Feb 16 10:47:51 UTC 2013


On Sat, Feb 16, 2013 at 7:15 AM, Richard Purdie
<richard.purdie at linuxfoundation.org> wrote:
> On Fri, 2013-02-15 at 19:19 +0100, Enrico Scholz wrote:
>> it would be nice when the decision to make the init manager a distribution
>> feature will be reverted to the old oe-meta mechanism.
>>
>> Being a distribution feature means, that packages are created in such a
>> way that it is impossible to split off unwanted and heavy weighted
>> functionality at image creation time.
>>
>> E.g. on most of my systems, I create two kinds of images: a full
>> featured, systemd based one and a very minimal rescue system with
>> busybox and some filesystem utilities.  With recent systemd packaging
>> change, the rescue image size grow up from 5.9 MiB to 27 MiB because
>> systemd dependencies are hardcoded in mandatory packages.
>>
>> Formerly, systemd dependencies could be avoided by adding the -systemd
>> packages to BAD_RECOMMENDATIONS (e.g. due to busybox-syslog ->
>> busybox-syslog-systemd rrecommend).
>>
>> I am aware that initscripts were always part of the main package.  But
>> sysvinit was very lightweighted and the extra space either negligible or
>> easy to recover by removing some files in IMAGE_PREPROCESS_COMMAND.
>>
>> Hence my recommendation: make the init manager an image feature again
>> and create -systemd and -sysv packages with the corresponding scripts.
>> OpenEmbedded is still for embedded devices where size matters.
>>
>> Of course, systemd can be still a distribution feature to enable things
>> like socket activation as part of PACKAGE_CONFIG.  But dependencies on
>> init system packages should be RRECOMMENDS which can be overridden
>> easily at image creation time.
>
> The trouble is that by making it an "image feature", people will expect
> *everything* to work properly and to be able to have fully functional
> sysvinit and systemd variants of images. We already see this
> expectation. Trying to explain to people what the limitations are, what
> is expected to work and what isn't will be difficult. I know you
> understand this but going forward most people will simply not and I
> think it will be a nightmare for usability.

You said you already see it so what is the change? For me less
flexibility is more problem and the result are more ugly hacks. I've
been using the systemd system in meta-oe in product for long time and
it works fine. In same distro I build other product with is sysvinit
based and it also works fine.

Now I have a nightmare in upgrade path, a change in the way my
customer work and as a plus the need to make two different
distributions for same product. No sense to me.

Final result? This product won't go out of danny as I won't be able to
provide an usable upgrade path without forking OE or having an insane
amount of bbappend hacks.

> For that reason I'd rather see this done in a different way, for example
> blacklisting the problematic systemd dependencies at image generation
> time with some kind of stronger BAD_RECOMMENDS code. Yes, this means
> there would be some systemd config files lying around but you'd stop the
> main bulk of it coming in (and as you said, some small config files
> aren't an issue).

Check the amount of changes for do_install_append has sent today. This
was all not need with the code we had and which works fine. This is
just duplicated code all over recipes. Seriously the systemd
integration was done in complete wrong way in my POV. It broght up
problems we have fixed and do major improvements in meta-oe ... at no
profit.

I know it is not the better thing to read but I think it is nice when
we receive feedback as it allows for rethink of our path of work.

Regards,

-- 
Otavio Salvador                             O.S. Systems
E-mail: otavio at ossystems.com.br  http://www.ossystems.com.br
Mobile: +55 53 9981-7854              http://projetos.ossystems.com.br




More information about the Openembedded-core mailing list