On Wed, Nov 16, 2016 at 01:04:11PM -0500, Ian Stakenvicius wrote: > On 16/11/16 12:03 PM, William Hubbs wrote: > > On Wed, Nov 16, 2016 at 10:14:02AM -0500, Ian Stakenvicius wrote: > >> On 16/11/16 10:08 AM, William Hubbs wrote: > >>> opentmpfiles will be updated to install the service scripts which > >>> will be run when OpenRC boots a system. There is nothing for > >>> it to do if systemd is used to boot the system. > >>> > >>> William > >>> > >> > >> But there is something to do if openrc is used to boot the system and > >> systemd is the package providing tmpfiles.d processing via the virtual. > > > > The providers (opentmpfiles and systemd) will not block each other, so > > the only way this will happen is if you have openrc and systemd > > installed then forcefully remove opentmpfiles. I think you would not > > want to do that until you are ready to migrate to booting with systemd. > > > > William > > > > I think I'm having a hard time getting across the issue here...: > > 1 - we will have a virtual/tmpfiles that will bring in EITHER systemd, > or opentmpfiles. > > 2 - openrc will NOT depend on opentmpfiles (nor virtual/tmpfiles) > > 3 - Applications that install stuff into /usr/lib/tmpfiles.d/ will > need to depend on virtual/tmpfiles in order to make sure that the > system has something installed that will process them at boot-time. Yes, this will be handled by an RDEPEND in the eclass.
> GIVEN THIS, if a system has both systemd and openrc installed (that > is, they dual-boot), then virtual/tmpfiles will NOT bring in > opentmpfiles, and so if opentmpfiles is the only package that installs > init scripts then openrc won't trigger any processing of > /usr/lib/tmpfiles.d/* at bootup in this situation. The way this is handled on the systemd side right now is with a PDEPEND on udev-init-scripts, which forces them to be installed even on a pure systemd system. That is a separate issue, which I may open as a bug against systemd, but discussing it goes on a separate thread probably. If we follow that, I would add opentmpfiles to the pdepend. > I think, given the opentmpfiles and the systemd tmpfiles commands and > arguments can differ, it would likely make more sense to have a > virtual service in openrc (that is, keep tmpfiles.dev and > tmpfiles.setup as virtuals) and have opentmpfiles and systemd both > install init scripts for their respective implementation that will > provide each of those in openrc. This is a separate issue. The service scripts will provide virtuals, but openrc itself doesn't reference them. The only service I know about that references them is kmod-static-nodes; it runs before tmpfiles.dev, which is in the sysinit runlevel. tmpfiles.setup is in the boot runlevel so it runs early enough that there haven't been issues. > The alternative would be to make a > tmpfiles-init-scripts package that will contain a single set of > scripts that'll call either the opentmpfiles or the systemd-tmpfiles > implementation at runtime depending on what is available. I can make the service scripts call the systemd-tmpfiles service if it is available or if not call the opentmpfiles implementation. I'm not sure whether it is worth having a separate package for the service scripts in this case. William
signature.asc
Description: Digital signature