On Jan 8, 2008 2:14 PM, Linus Walleij <triad@xxxxxxxxx> wrote: > On Tue, 8 Jan 2008, Les Mikesell wrote: > > > People running fedora will expect to use sysV style init configuration to > > control it. > > Now, I think Lennart is right in pushing the concept behind Upstart and > the new InitKit, both of which break the init config paradigm and its > runlevels. > > The reason was actually outlined in Miguel de Icaza's "Let's Make Unix Not > Suck" a few years back. It outlined some weaknesses of the Unix pipe and > filter and signalling system: pipes are unidirectional, data is not typed, > signals are crude in essence. Component-based thinking through CORBA led > to the invention of Bonobo, then the condensed DCOP and eventually D-Bus > which actually does the tricks most sought after: bidirectional messages > between processes, typed messages, a strict namespace, broadcast messages. > > The SysVInit system currently suffers from not being able to use such a > mechanism. > > Upstart solved it, basically, but has some design flaws and is used in > init-compatibility mode in Ubuntu. So now InitKit is coming along. > > It's worth sacrificing runlevels to reach the next step of unsucky Unix. > > POSIX does not mandate init and its runlevels, nor does the Single Unix > spec. I think there is a good reason for: it was awkward, so it wasn't > standardized. If everyone though it was a good idea they would have > standardized it back when POSIX was written. (I wasn't a member of the > committes tho, so who knows.) > I think it is important to look what interfaces the init system provides and which ones should be preserved. The current init has three, /etc/inittab to determine what is done for runlevels, the /etc/rc.d/rc symlinks to determine what services are run by /etc/rc.d/rc, and the /etc/init.d scripts that are executed. I think it is important that we preserve the ability to use sysv-style init scripts. They are part of LSB. It would be lots of work to convert everything to any new way. They are installed by third-party packages. It might be possible to change the functions to work better with a new system (for example by not forking when running new programs). I think it would be acceptable if the new features required a new file format as long as the old one is supported. The /sbin/service program should work with both. It would be nice if there was a program that could use the LSB metadata to configure dependencies and other startup. The /etc/inittab config file is specific to SysV init. Other systems don't even have the concept of runlevels. It would be nice to preserve the /etc/rc.d symlinks for determining which service to start, but the standard interface is the chkconfig program. Other Linux distributions with SysV init have the symlinks in different places. It would be nice if there was a program that could produce the new configuration from the old and even synchronize them after changes to the old. - Ian -- fedora-devel-list mailing list fedora-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-devel-list