Op 6 mei 2011, om 16:51 heeft Koen Kooi het volgende geschreven:

> 
> Op 6 mei 2011, om 16:20 heeft Richard Purdie het volgende geschreven:
> 
>> On Fri, 2011-05-06 at 15:39 +0200, Koen Kooi wrote:
>>> Now onto my issues:
>>> 
>>> packaging:
>>>     In OE .dev I added FILES_${PN} += "${base_libdir}/systemd" to udev,
>>> dbus, rsyslog and avahi. This means we end up with both sysV script
>>> and systemd units. What I would like to have is ${PN}-sysvinit and
>>> ${PN}-systemd and the image recipe can choose which init systems gets
>>> used. Is something like that possible?
>> 
>> I'm not sure that it is to be honest. We simply don't have the
>> capability in the package managers to be able to say "if systemd is
>> installed, install *-systemd where * is any currently installed
>> package". Its the same problem we have with locales.
>> 
>> Now if we had that functionality, great, but we simply don't :(.
>> 
>>> Are there better ways? Note that systemd support sysV initscripts as
>>> well, but it needs some care with naming. As I understand it, if a
>>> unit is found with the same name as a sysV script, only the unit will
>>> get used.
>>> A rootfs postprocess command that deletes /etc/init.d won't work,
>>> since it will come back when upgrading the packages.
>>> 
>>> building:
>>>     At the moment systemd enabled software installs the units regardless
>>> or config options. What should be do with software that has an option
>>> for that? And what if we need to patch the units files in? The
>>> initsystem is a choice at the image level, so artificially limiting it
>>> to a distro choice is not a good idea.
>> 
>> Its an artificial limit but our tools don't give us any other option,
>> for now I think this has to be a distro config choice.
> 
> Not quite, if we name the units correctly (or just alias them inside) the 
> sysv scripts will get skipped. So if having both systemd and sysv files 
> installed isn't a dealbreaker them we can make it an image choice. On debian 
> and gentoo it's parallel installable with sysvinit, making it a matter of 
> doing either init=/sbin/init  or init=/bin/systemd in your bootloader.

>From #systemd:

15:08 < koen> how can I have systemd skip sysv scripts with a slightly 
different name?
15:08 < koen> e.g. udevd vs udev
15:09 < sztanpet> symlink udevd.service to dev null, that should mask it
15:10 < sztanpet> automatically i dont know
15:10 < Mithrandir> add Names=udevd to udev.service?
15:10 < Mithrandir> Names=udevd.service, even
15:10 < Mithrandir> or symlink the .service file to the alias name



_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Reply via email to