On Thu, Jul 11, 2019 at 12:46:02PM -0400, Rich Freeman wrote:
> On Thu, Jul 11, 2019 at 11:56 AM William Hubbs <willi...@gentoo.org> wrote:
> >
> > On Thu, Jul 11, 2019 at 09:42:02AM -0400, Rich Freeman wrote:
> > > On Wed, Jul 10, 2019 at 11:02 PM William Hubbs <willi...@gentoo.org> 
> > > wrote:
> > > >
> > > > > RDEPEND="sysv-utils? ( !sys-apps/sysvinit )
> > > > >          !sysv-utils? ( sys-apps/sysvinit )"
> > > >
> > > >  I like this, but the second branch (!sysv-utils) is not really needed,
> > > >  because if we put sysvinit as the first RDEPEND of virtual/init, we
> > > >  don't need to worry about installing it through rdepend in openrc.
> > >
> > > Does openrc actually work with all the stuff you have in your proposed
> > > virtual/init?
> >
> >  Remember that OpenRC wasn't originally an init process at all. it was
> >  designed to work with any init process you want it to work with. That
> >  hasn't changed, I've just added an init to it which you can use if you
> >  want.
> >
> > > For example, you have systemd in there.  I'm pretty sure you can't use
> > > systemd as PID1 and then use openrc as your service manager.  I mean,
> > > you probably could come up with some way to do that, but certainly
> > > openrc doesn't work that way today, or systemd for that matter.
> >
> > There is nothing stopping you from that on the openrc side. It would
> > take a lot of custom systemd units to make it work, but that is an
> > exercise for the reader.
> >
> > > You have runit in there as well.  Can you use runit as PID1 and openrc
> > > as your service manager?
> >
> >  Sure. There's no reason you can't.
> 
> I'm not talking about hypotheticals.  Sure, somebody could completely
> dispose of the default set of systemd units and whatever runit uses as
> its equivalents, and create new ones that invoke openrc and have it
> take over, maybe, but none of this stuff actually exists right now.
> And I'm not sure how easy it would be to even get this working since
> systemd will still be trying to manage cgroups and whatever else that
> openrc will presumably also be trying to do.
> 
> If somebody just installs openrc their expectation is going to be that
> they get sysvinit or your substitute that actually works with openrc
> out of the box.  They're not going to want to have neither installed
> simply because they have runit or systemd already installed.  If
> somebody is migrating from systemd to openrc that is exactly the
> situation they would be in.

And this would be handled by virtual/init and virtual/service-manager.
The default virtual/init would be sysvinit, and the default service
manager would be openrc since they are first in their virtuals. If you
install other providers, you have to make sure the ones you want to keep
around are in your world file, but this is not unique to this virtual.

If you are migrating, you would definitely want to be careful with
--depclean until you knew exactly what you wanted to remove or make sure
everything is in your world file that you don't want removed.

William

Attachment: signature.asc
Description: Digital signature

Reply via email to