Gentoo Archives: gentoo-dev

From: William Hubbs <williamh@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] tmpfiles virtual
Date: Wed, 16 Nov 2016 20:22:12
Message-Id: 20161116202141.GA24625@whubbs1.gaikai.biz
In Reply to: Re: [gentoo-dev] tmpfiles virtual by Ian Stakenvicius
1 On Wed, Nov 16, 2016 at 01:04:11PM -0500, Ian Stakenvicius wrote:
2 > On 16/11/16 12:03 PM, William Hubbs wrote:
3 > > On Wed, Nov 16, 2016 at 10:14:02AM -0500, Ian Stakenvicius wrote:
4 > >> On 16/11/16 10:08 AM, William Hubbs wrote:
5 > >>> opentmpfiles will be updated to install the service scripts which
6 > >>> will be run when OpenRC boots a system. There is nothing for
7 > >>> it to do if systemd is used to boot the system.
8 > >>>
9 > >>> William
10 > >>>
11 > >>
12 > >> But there is something to do if openrc is used to boot the system and
13 > >> systemd is the package providing tmpfiles.d processing via the virtual.
14 > >
15 > > The providers (opentmpfiles and systemd) will not block each other, so
16 > > the only way this will happen is if you have openrc and systemd
17 > > installed then forcefully remove opentmpfiles. I think you would not
18 > > want to do that until you are ready to migrate to booting with systemd.
19 > >
20 > > William
21 > >
22 >
23 > I think I'm having a hard time getting across the issue here...:
24 >
25 > 1 - we will have a virtual/tmpfiles that will bring in EITHER systemd,
26 > or opentmpfiles.
27 >
28 > 2 - openrc will NOT depend on opentmpfiles (nor virtual/tmpfiles)
29 >
30 > 3 - Applications that install stuff into /usr/lib/tmpfiles.d/ will
31 > need to depend on virtual/tmpfiles in order to make sure that the
32 > system has something installed that will process them at boot-time.
33
34 Yes, this will be handled by an RDEPEND in the eclass.
35
36 > GIVEN THIS, if a system has both systemd and openrc installed (that
37 > is, they dual-boot), then virtual/tmpfiles will NOT bring in
38 > opentmpfiles, and so if opentmpfiles is the only package that installs
39 > init scripts then openrc won't trigger any processing of
40 > /usr/lib/tmpfiles.d/* at bootup in this situation.
41
42 The way this is handled on the systemd side right now is with a PDEPEND
43 on udev-init-scripts, which forces them to be installed even on a pure
44 systemd system. That is a separate issue, which I may open as a bug
45 against systemd, but discussing it goes on a separate thread probably.
46
47 If we follow that, I would add opentmpfiles to the pdepend.
48
49 > I think, given the opentmpfiles and the systemd tmpfiles commands and
50 > arguments can differ, it would likely make more sense to have a
51 > virtual service in openrc (that is, keep tmpfiles.dev and
52 > tmpfiles.setup as virtuals) and have opentmpfiles and systemd both
53 > install init scripts for their respective implementation that will
54 > provide each of those in openrc.
55
56 This is a separate issue. The service scripts will provide virtuals, but
57 openrc itself doesn't reference them. The only service I know about that
58 references them is kmod-static-nodes; it runs before tmpfiles.dev, which
59 is in the sysinit runlevel. tmpfiles.setup is in the boot runlevel so it
60 runs early enough that there haven't been issues.
61
62 > The alternative would be to make a
63 > tmpfiles-init-scripts package that will contain a single set of
64 > scripts that'll call either the opentmpfiles or the systemd-tmpfiles
65 > implementation at runtime depending on what is available.
66
67 I can make the service scripts call the systemd-tmpfiles service if it
68 is available or if not call the opentmpfiles implementation.
69
70 I'm not sure whether it is worth having a separate package for the
71 service scripts in this case.
72
73 William

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies

Subject Author
Re: [gentoo-dev] tmpfiles virtual Ian Stakenvicius <axs@g.o>
Re: [gentoo-dev] tmpfiles virtual "Michał Górny" <mgorny@g.o>