On Fri, Dec 16, 2011 at 4:37 PM, Cristian Rodríguez crrodriguez@opensuse.org wrote:
Hi:
Supporting 2 different init systems comes with a large increase of possible usecases and scenarios that are very difficult to support correctly, specially in the long term.
This RFC proposes steps to permanently phase out sysvinit from future openSUSE releases.
Phase 0
- Fix all *currently* outstanding bugs of systemd if any, note that this
step only deals with problems in systemd itself, not in service files installed by other packages, udev, kernel, networkmanager or whatever other thing.
Determine which services currently lack of native systemd units.
Add an rpmlint error with moderate badness for the start,complaining about
the lack of unit files.
Phase 1:
- Delete sysvinit scripts that deal purely with hardware things,like only
loading kernel modules, making udev to handle them or simple dropping a foobar.conf with the needed modules in /usr/lib/modules-load.d/ whichever is more adequate or doable.
Add missing systemd units for the packages where rpmlint warns.
Add rpmlint with badness complaining about logrotate, or other shell
scripts calling files in /etc/init.d ...
Phase 3:
- Turn rpmlint warnings about the lack of systemd units on packages
including traditional sysvinit scripts a fatal error.
- fix logrotate or shell scripts that are calling sysvint scripts and make
the rpmlint warning a fatal error.
- tell RPM to %exclude files in /etc/init.d from packages, do not forc
packagers to exclude these files themselves.
- make all macros relevant to traditional init scripts a no-op, do not force
packagers to remove those lines or add extra hacks to the already horrendous hackery in spec files.
test, test, test.
remove sysvinit and all the relevant bootloader options and from the
documentation.
-- ?????
-- Profit. :-)
This is just a quick brain dump, I am certainly missing something else.
Have fun.
Cristian.
Christian,
A plan is great IF you have agreed on goals.
Your implied goals are that all services should have FULLY native systemd support and that /etc/init.d should be GONE.
Ignoring timeframe, I'm not aware that either of those are goals. I have seen it posted repeatedly that systemd supports scripts in /etc/init.d, so it is not obvious to me that your assumed goals are in fact opensuse community goals.
Greg