forwarded from meego-arch list.
-------- Original Message -------- Subject: [Meego-architecture] Systemd for MeeGo (for 1.3) Date: Wed, 20 Apr 2011 11:48:16 -0700 From: Auke Kok <[email protected]> To: [email protected] <[email protected]> All, I'm happy to announce that work has started to integrate and convert MeeGo from sysvinit to systemd. This has some major implications for anyone working with MeeGo Core/Base, so this is a little heads-up e-mail to warn everyone this is coming. Read the entire thread before replying :). What: Systemd is a sysvinit replacement, with a strong design to replace hardcoded dependencies with automatic (implicit) dependencies: Services can be started 'when needed' by means of socket activation, and systemd startup is generally highly parallellized. See the systemd website for in-detail documentation: http://www.freedesktop.org/wiki/Software/systemd/ Upstreaming: As of 4/19, MeeGo integration is merged in the systemd upstream git repository. We're actively working with the upstream maintainers to both upstream our code, and contribute to systemd where we see fit. Planning: The planning is to merge systemd into MeeGo Trunk once 1.2 branches, which is relatively soon. At merge time, we're aiming for most of the base functionality to work with systemd in place of sysvinit, including making images (mic2), installer support, live image, booting to UX. Most of these things already work at this time. Impact: Almost everything that is related to startup, services will change. Things like image generation and first boot will all need major rewrites and/or fixes. systemd has it's own service file methods, and we implement these natively for all MeeGo services. Packages like chkconfig, xinetd, crond, and most importantly fastinit are obsoleted (although some parts will remain or optionally available). Startup time and shutdown times may be affected, although early numbers suggest startup times remain the same, shutdown times appear to be faster with systemd. SysV compatibility: SystemV compatiblity is a hard issue. Currently I will be disallowing any official MeeGo component from using sysV methods to start/stop services. This requirement is hard: OBS will refuse (once systemd is merged) your package if you use sysv methodology, and we'll drive every bit of sysv code out of meego in a rapid pace. Why? It makes absolutely no sense to merge a system that dynamically solves dependencies if we're not using it - the only solution is to make sure everything is using it from the start. I hope people can see this will work - it's actually relatively easy to convert services too, and we have people to help. For customers building on MeeGo, and users, sysv compatibility will be allowed, and provided through an additional subpackage that implements the compatibility layer. However, this compatibility will not be supported - that will require systemd configuration files. Where: Development is currently staged in home:auke:systemd, but we'll move the code to devel:next once we reach a stable point. Everyone is encouraged to make test images and help out, check out the changes. Everything is publicly visible. Discuss! Your feedback is appreciated! Auke _______________________________________________ MeeGo-architecture mailing list [email protected] http://lists.meego.com/listinfo/meego-architecture _______________________________________________ MeeGo-dev mailing list [email protected] http://lists.meego.com/listinfo/meego-dev http://wiki.meego.com/Mailing_list_guidelines
