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

Attachment: signature.asc
Description: Digital signature

Reply via email to