Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 595956 - sys-apps/systemd should not block sys-apps/sysvinit
Summary: sys-apps/systemd should not block sys-apps/sysvinit
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo systemd Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-10-02 16:57 UTC by William Hubbs
Modified: 2016-10-02 22:31 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description William Hubbs gentoo-dev 2016-10-02 16:57:59 UTC
I received a bug in OpenRC, #591388, which pointed out that OpenRC had a
dependency on || ( sys-apps/sysvinit sys-process/runit ). The issue with
this is it could leave systems unbootable if runit was emerged and
sysvinit was not in the world file and depclean was run.

I dropped the dependency on runit for 0.22.x, but that now means that
since systemd blocks sysvinit OpenRC cannot co-exist with systemd.

Does systemd have file collisions with sysvinit? If not, it seems that
systemd should not block sysvinit.

Thanks,

William
Comment 1 William Hubbs gentoo-dev 2016-10-02 17:19:48 UTC
I added back the dependency on runit in 0.22.1, but I still think we
need to figure out why systemd blocks sysvinit.
Comment 2 Richard Freeman gentoo-dev 2016-10-02 17:43:50 UTC
(In reply to William Hubbs from comment #0)
> 
> Does systemd have file collisions with sysvinit? If not, it seems that
> systemd should not block sysvinit.
> 

My understanding is that it only blocks on USE=sysv-utils.  When this is set the ebuild installs symlinks for the files: "halt poweroff reboot runlevel shutdown telinit init."  This is for backwards-compatibility with scripts/etc that expect these files to be present for systems that don't have sysvinit installed (and it also allows booting systemd using just "init").  I believe that systemd maintains a mostly-compatible interface with the sysvinit-supplied binaries so they work when systemd is PID 1.

So, I think this is mostly-appropriate.  If we get openrc out of @system we could have it block on this USE flag for systemd, since systemd can run fine either way, but openrc can only run if sysvinit implements these binaries.

The default for systemd is to just run with sysvinit also installed.  Note that it isn't a strict requirement, you can use systemd without USE=sysv-utils and without sysvinit installed, but then any scripts that call shutdown/etc will fail.
Comment 3 Mike Gilbert gentoo-dev 2016-10-02 22:31:23 UTC
As Rich said, systemd only blocks sysvinit when the sysv-utils use flag has been enabled.