On Wed, Jun 19, 2024 at 9:19 PM Dirk Müller <dmueller@suse.com> wrote:
Hi Thorsten,
Am Di., 18. Juni 2024 um 09:55 Uhr schrieb Thorsten Kukuk via openSUSE Factory <factory@lists.opensuse.org>:
/sbin/service is a complicated shell script, which tries to find out if a systemd service should be managed or a SysV init script. But we don't have SysV init scripts anymore and the remaining support will be removed upstream short or midterm. So most of the complex code can be safely removed.
The main remaining purpose of that is to forward the call to systemctl.
That's what I wrote and why the SysV Init code can be removed?
Remains the rc* symlinks. For what are they good? The only benefit is, that a user does not need to bother if this is a SysV init service or a systemd service. We don't have SysV init scripts anymore. So in the end it's always calling systemctl. Many systemd services don't have a rc* symlink, so people have to learn to use systemctl anyways. No other Linux distribution seems to have rc* symlinks, so they are not needed for compatibility.
I'm outing myself as an oldschool person here. I love the rcXXX links, and this might be useful for SLE15/Leap 15 users to transition to SLES16/Leap16?
We said the same already from SLE12 to SLE15, and if we don't do it now, we will say the same from SLE16 to SLE17. As I wrote: most services have no rc* symlink, so you have to learn the use of systemctl anyways. So why think about every time again, if you can use a rc* symlink or if you need to use systemctl, why not using systemctl always?
We still have a lot of documentation out there that references it. being compatible with a non-SUSE is one thing, breaking compatibility with our own distribution documentation should be done with caution imho.
As written: most service files have no rc* symlink, so we cannot speak about a distribution specific standard here. And the documentation needs to be reworked anyways.
what do you like more, a "command not found" or a "hey, going forward please call systemctl foo instead"?
That's what I suggested to do?
* remove SysV init support from /sbin/service and add a deprecated notice * remove rc* symlinks
after sles16 branching, please.
There are several SLES16 feature requests to do it before SLES16, either requesting it direct or implicit. No, they are not from me. And if we don't do it now, we will not do it for SLES17 for the same reasons, too. Thorsten
Greetings, Dirk
-- Thorsten Kukuk, Distinguished Engineer, Senior Architect, Future Technologies SUSE Software Solutions Germany GmbH, Frankenstraße 146, 90461 Nuernberg, Germany Managing Director: Ivo Totev, Andrew McDonald, Werner Knoblich (HRB 36809, AG Nürnberg)