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

Reply via email to