On Wed, May 01, 2013 at 12:04:00PM +0200, Fabio Erculiani wrote: > PLEASE DO NOT START A FLAME WAR AND READ ON FIRST. > THIS IS NOT A POST AGAINST OPENRC. > > With the release of Sabayon 13.04 [1] and thanks to the efforts I put > into the systemd-love overlay [2], systemd has become much more > accessible and easy to migrate to/from openrc. Both are able to > happily coexist and logind/consolekit detection is now done at > runtime.
That's great: well done :-) Can I just check: what about people not using consolekit nor logind? > It is sad to say that the "territoriality" in base-system (and > toolchain) is not allowing any kind of progress [3] [4]. This is > nothing new, by the way. I don't think you help yourself by making that kind of remark: when I read those bugs I see some valid concerns being raised, which you just ignore. For instance, wrt "nonsensical blockers" I too would like to know some examples, as was queried in comment 27 [3]. In fact it was the first thing that came to mind when reading your post, as I thought where possible things were just installed for systemd (such as unit files) even when the user is not using it. > There are several components that need patching in order to work as > expected with systemd: > - polkit needs a patch that enables runtime detection of logind/consolekit > - pambase needs to drop USE=systemd and always enable the optional > module pam_systemd.so Again, what about people not using consolekit, nor logind, with no intention of ever installing systemd? I've got nothing against this so long as it is guaranteed not to break my pam setup. As-is I feel *very* wary of a change that unconditionally requires a 'pam_systemd.so'. Please note I am not hostile to your aims: I am merely seeking reassurance. > - genkernel needs to migrate to *udev (or as I did, provide a --udev > genkernel option), mdev is unable to properly activate LVM volumes and > LVM is actually working by miracle with openrc. Why is that such a "miracle"? openrc has worked with lvm since the beginning afair, and is both clean, portable C, and modular. > Alternatively, we should migrate to dracut. > - networkmanager need not to install/remove files depending on > USE=systemd but rather detect systemd at runtime, which is a 3 lines > script. Sounds reasonable; since I don't use it, that can't affect me in any case. > - openrc-settingsd needs to support eselect-settingsd, which makes > possible to switch the settingsd implementation at runtime, between > openrc and systemd. This also removes the silly conflict between > openrc-settingsd and systemd friends. > - genkernel should at least support plymouth (work in progress my side) > - other ~490 systemd units are missing at this time and writing them > could also be a great GSoC project (don't look at me, I'm busy > enough). > > All this would come with no cost for the current openrc state > (actually, my initramfs speed improvements patches in genkernel.git > also benefit openrc). > If Gentoo is about choice, we should give our users the right to > choose between the init system they like the most. I must be missing something as I thought they already had that choice. >From reading the bug, the only pro of your approach is that the user does not have to edit the kernel command-line to try out a new init. Initially, you tried to sell this as "lowering the bar" which is actually a con afaic: if someone is trying to run Gentoo and is incapable of dealing with the kernel command-line, it's likely they won't be able to install it; they certainly won't be able to maintain it, ime. Later, we get the "some EFI bootloaders don't allow it." Could you elaborate on how a system we install grub to, won't allow us to change anything? I am not doubting you: I just think we need more explanation of the exact context where we can install Gentoo, but not a bootloader. > It looks like there is some consensus on the effort of making systemd > more accessible, Sure there is: there's also consensus that this approach is wrong for Gentoo. And I have to concur, without further reasoning from you. Switching init isn't done that often, and when it is a Gentoo user is expected to deal with configuration. In this case, it's a doddle to set the command-line to init=/sbin/fubar to try it, and then when it's running the user can change the symlink, or just revert as they choose. If they can't handle the above, they shouldn't be on Gentoo imo. And sabayon already sets up systemd, so I don't see the use-case frankly. Apart from making Gentoo base-system more suitable for direct usage in Sabayon, which is not our problem. What are the effects for other downstreams? Funtoo for instance, has been swimming against the upstream udev/systemd mania, from glancing at their site recently. Have you consulted with other downstreams about their needs and got buy-in from them too? That would strengthen your case, tho imo it's weak irrespective of what systemd-preferring downstreams want: after all, they're distros, not Gentoo users, and are supposed to be expert at setting things up. So I just don't see which Gentoo users this is helping. Making it even more trivial to change init than it already is, is actually a bad thing in my eyes. It gives the impression that it can be undertaken lightly which is simply bad practice. > while there are problems with submitting bugs about > new systemd units of the sort that maintainers just_dont_answer(tm). > In this case, I am just giving 3 weeks grace period for maintainers to > answer and then I usually go ahead adding units (I'm in systemd@ after > all). AFAIK it's been policy for a while that systemd unit files should be installed by default, for all the reasons you've given. I can't see a maintainer being bothered by the systemd herd adding them when they have no interest: after all users can already set an INSTALL_MASK, and it makes binpkgs more useful. > The only remaining problem is about eselect-sysvinit, for this reason, > I am probably going to create a new separate pkg called > _sysvinit-next_, that contains all the fun stuff many developers were > not allowed to commit (besides my needs, there is also the need of > splitting sysvinit due to the issues reported in [4]). I am sure that > a masked alternative sysvinit ebuild won't hurt anybody and will make > Gentoo a bit more fun to use. > > The final outcome will hopefully be: > - easier to migrate from/to systemd, at runtime, with NO recompilation > at all (just enable USE=systemd and switch the device manager from > *udev to systemd -- unless somebody wants to drop the udev part from > systemd, if at all possible) How is adding USE=systemd to a system with it switched off (ie: enabling it), *not* going to lead to recompilation? > - we give the users the right to choose without driving them nuts with > weird emerge-fu. What weird "emerge-fu"? You haven't outlined any at all. Unless you mean changing a USE flag and the standard emerge process, which isn't what anyone here would think of as "emerge-fu": just normal usage. Also, if you can't handle emerge, you really should be on another distro. > - we make possible to support new init systems in future, and even > specific init wrappers (bootchart anyone?) Which is possible already, so this is null. > - we prepare the path towards a painless migration from consolekit > (deprecated for long time now) to logind (we probably need to fork it > off the systemd pkg -- upstream projects are _dropping_ consolekit > support right now!) Some people don't use either. For good reason, but let's not get into a flamewar: let's leave it as that "choice" thing you mentioned before. I take it those users will not see any breakage beyond missing "features"? > - we put back some fun into Gentoo Eh, I've been having much more fun since I got rid of semantic-craptop, switched to mutt[A], and turned off all nubkit-related flags. My KDE came back to me, and runs smooth just like 3.5 used to :) Then I replaced my /bin/sh with /bin/bb which sped up bootup by an order of perceived magnitude, and also sped up the _rest_ of my system. Of course, the latter is only possible because Unix is designed on a modular basis, and we can still swap components in and out on Linux (for now.) > If you want to see a working implementation of my systemd-love > efforts, just go download [1] and see things working yourself. > > [1] http://www.sabayon.org/release/press-release-sabayon-1304 > [2] https://github.com/Sabayon/systemd-love > [3] For instance: https://bugs.gentoo.org/show_bug.cgi?id=465236 > [4] "useless crap": https://bugs.gentoo.org/show_bug.cgi?id=399615 Again, I don't think you help your case with this remark. I expected the "useless crap" to be a reference to lennart-ware. In fact, he was pointing out that he told you all 8 months ago to raise it upstream: several commands had already been migrated in upstream git according to another comment. So the "useless crap" was in fact what he'd usually call whining ime, about the lack of a "magic fix." Please note: I fully support your effort to make it easy to switch back and forth (I actually believe many people who try out openrc will stay with it.) I just don't think that adding a fragile eselect module (along with "this needs investigation" as things come up) is the way to do it. Nor does it solve any real problem in the Gentoo context. Nor should someone change init on a whim, without being ready to handle configuration. In fact, dumbing down Gentoo is dangerous imo. It makes it far more likely that user will mess up something else more significant, likely leading to data loss. Gentoo, like Unix, doesn't stop you from doing stupid things, as that would stop you doing clever things. If you're not ready for that (which the install process beats into you) then you're better off not using it, afaic. That last is actually the reason I haven't put our installer out to users on the forum: I don't think it's a good idea to have an automated install unless you've done at least 2 manual ones. And that would go out the window with an easy installer. Perhaps that's why you feel Sabayon users need the Gentoo bar lowered. To my mind the answer to that is to educate them some more, and make it clear that Gentoo is not Sabayon for that very reason. It's not meant to hold your hand: it's far more likely to slap you on the wrist. Or indeed shoot your foot off if, and only if, you tell it to. Regards, steveL. [A] "kmail to mutt with maildir and procmail" http://forums.gentoo.org/viewtopic-t-945868.html -- #friendly-coders -- We're friendly, but we're not /that/ friendly ;-)