1 |
On Wed, Jul 10, 2019 at 11:02 PM William Hubbs <williamh@g.o> wrote: |
2 |
> > Systemd already has IUSE=+sysv-utils which has a similar function: |
3 |
> > [- ] sysv-utils |
4 |
> > sys-apps/systemd: Install sysvinit compatibility symlinks and |
5 |
> > manpages for init, telinit, halt, poweroff, reboot, runlevel, and |
6 |
> > shutdown |
7 |
> |
8 |
> Actually, I like the name sysv-utils for this use flag; that seems to |
9 |
> describe better what it does. |
10 |
> |
11 |
> > RDEPEND="sysv-utils? ( !sys-apps/sysvinit ) |
12 |
> > !sysv-utils? ( sys-apps/sysvinit )" |
13 |
> |
14 |
> I like this, but the second branch (!sysv-utils) is not really needed, |
15 |
> because if we put sysvinit as the first RDEPEND of virtual/init, we |
16 |
> don't need to worry about installing it through rdepend in openrc. |
17 |
|
18 |
To clarify why this strange looking dependency is there in |
19 |
sys-apps/systemd: I felt it was fairly important to always have init, |
20 |
shutdown, etc. available to avoid breaking other tools and to prevent |
21 |
confusion. systemd is technically usable without them, but you would |
22 |
need to explicitly set up your bootloader to add |
23 |
init=/lib/systemd/systemd to the kernel command line, and you would |
24 |
need to call systemctl directly instead of using the symlinks to shut |
25 |
the system down. |
26 |
|
27 |
Relying on any-of dependency ordering in a virtual package to |
28 |
accomplish this is a bit optimistic. That can go wrong easily if the |
29 |
user installs multiple providers. |
30 |
|
31 |
> We can also add sys-apps/openrc as an rdepend of sys-apps/sysvinit possibly. |
32 |
|
33 |
Please do not do this without consulting me first. This could |
34 |
introduce a dependency conflict in sys-apps/systemd. |