Gentoo Archives: gentoo-dev

From: Ian Stakenvicius <axs@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] tmpfiles virtual
Date: Thu, 17 Nov 2016 19:01:00
Message-Id: db857506-d45f-2fec-51dd-2cc524bed469@gentoo.org
In Reply to: Re: [gentoo-dev] tmpfiles virtual by William Hubbs
1 On 17/11/16 12:22 PM, William Hubbs wrote:
2 > On Thu, Nov 17, 2016 at 10:02:25AM -0500, Ian Stakenvicius wrote:
3 >> On 17/11/16 01:03 AM, Michał Górny wrote:
4 >>> On Wed, 16 Nov 2016 14:21:41 -0600
5 >>> William Hubbs <williamh@g.o> wrote:
6 >>>
7 >>>> On Wed, Nov 16, 2016 at 01:04:11PM -0500, Ian Stakenvicius wrote:
8 >>>>> On 16/11/16 12:03 PM, William Hubbs wrote:
9 >>>>>> On Wed, Nov 16, 2016 at 10:14:02AM -0500, Ian Stakenvicius wrote:
10 >>>>>>> On 16/11/16 10:08 AM, William Hubbs wrote:
11 >>>>>>>> opentmpfiles will be updated to install the service scripts which
12 >>>>>>>> will be run when OpenRC boots a system. There is nothing for
13 >>>>>>>> it to do if systemd is used to boot the system.
14 >>>>>>>>
15 >>>>>>>> William
16 >>>>>>>>
17 >>>>>>>
18 >>>>>>> But there is something to do if openrc is used to boot the system and
19 >>>>>>> systemd is the package providing tmpfiles.d processing via the virtual.
20 >>>>>>
21 >>>>>> The providers (opentmpfiles and systemd) will not block each other, so
22 >>>>>> the only way this will happen is if you have openrc and systemd
23 >>>>>> installed then forcefully remove opentmpfiles. I think you would not
24 >>>>>> want to do that until you are ready to migrate to booting with systemd.
25 >>>>>>
26 >>>>>> William
27 >>>>>>
28 >>>>>
29 >>>>> I think I'm having a hard time getting across the issue here...:
30 >>>>>
31 >>>>> 1 - we will have a virtual/tmpfiles that will bring in EITHER systemd,
32 >>>>> or opentmpfiles.
33 >>>>>
34 >>>>> 2 - openrc will NOT depend on opentmpfiles (nor virtual/tmpfiles)
35 >>>>>
36 >>>>> 3 - Applications that install stuff into /usr/lib/tmpfiles.d/ will
37 >>>>> need to depend on virtual/tmpfiles in order to make sure that the
38 >>>>> system has something installed that will process them at boot-time.
39 >>>>
40 >>>> Yes, this will be handled by an RDEPEND in the eclass.
41 >>>
42 >>> This is a wrong presumption. The eclass needs the virtual only for
43 >>> pkg_postinst(). While RDEPEND is how we solve this now, it will no
44 >>> longer be necessary in a future EAPI.
45 >>>
46 >>
47 >> This makes sense to me as well -- which means every package that
48 >> installs tmpfiles.d/ files should properly RDEPEND on the virtual on
49 >> its own when the functionality arisen from those tmpfiles.d files is
50 >> non-optional.
51 >
52 > Doesn't that bring into question the need of RDEPEND in the
53 > eclass itself since it doesn't have a pkg_postinst function? I could
54 > remove the rdepend from the eclass and add the following to the
55 > documentation of the tmpfiles_process function:
56 >
57 > # Warning: Be sure that you rdepend on virtual/tmpfiles if you use this
58 > # function in your ebuild.
59 >
60 > William
61 >
62
63 No I don't think so. The eclass uses these tmpfiles.d-processing
64 commands in order to do its work, so therefore it needs to make sure
65 the tools are there. As mgorny said earlier this RIGHT NOW means
66 putting it in RDEPEND, but in a Future-EAPI it won't be RDEPEND but
67 instead some other *DEPEND.
68
69 Likewise, I don't think it's pertinent to inherit the eclass in order
70 to ensure system runtime support of tmpfiles.d processing -- there's
71 nothing to say that the eclass won't disappear in a year or two after
72 all (because, say, the tmpfiles.d daemon starts using inotify and
73 instantly processes any newly installed files, hypothetically)

Attachments

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