1 |
On 17/11/16 01:49 PM, Michał Górny wrote: |
2 |
> On Thu, 17 Nov 2016 19:46:41 +0100 |
3 |
> Michał Górny <mgorny@g.o> wrote: |
4 |
> |
5 |
>> On Thu, 17 Nov 2016 10:02:25 -0500 |
6 |
>> Ian Stakenvicius <axs@g.o> wrote: |
7 |
>> |
8 |
>>> On 17/11/16 01:03 AM, Michał Górny wrote: |
9 |
>>>> On Wed, 16 Nov 2016 14:21:41 -0600 |
10 |
>>>> William Hubbs <williamh@g.o> wrote: |
11 |
>>>> |
12 |
>>>>> On Wed, Nov 16, 2016 at 01:04:11PM -0500, Ian Stakenvicius wrote: |
13 |
>>>>>> On 16/11/16 12:03 PM, William Hubbs wrote: |
14 |
>>>>>>> On Wed, Nov 16, 2016 at 10:14:02AM -0500, Ian Stakenvicius wrote: |
15 |
>>>>>>>> On 16/11/16 10:08 AM, William Hubbs wrote: |
16 |
>>>>>>>>> opentmpfiles will be updated to install the service scripts which |
17 |
>>>>>>>>> will be run when OpenRC boots a system. There is nothing for |
18 |
>>>>>>>>> it to do if systemd is used to boot the system. |
19 |
>>>>>>>>> |
20 |
>>>>>>>>> William |
21 |
>>>>>>>>> |
22 |
>>>>>>>> |
23 |
>>>>>>>> But there is something to do if openrc is used to boot the system and |
24 |
>>>>>>>> systemd is the package providing tmpfiles.d processing via the virtual. |
25 |
>>>>>>> |
26 |
>>>>>>> The providers (opentmpfiles and systemd) will not block each other, so |
27 |
>>>>>>> the only way this will happen is if you have openrc and systemd |
28 |
>>>>>>> installed then forcefully remove opentmpfiles. I think you would not |
29 |
>>>>>>> want to do that until you are ready to migrate to booting with systemd. |
30 |
>>>>>>> |
31 |
>>>>>>> William |
32 |
>>>>>>> |
33 |
>>>>>> |
34 |
>>>>>> I think I'm having a hard time getting across the issue here...: |
35 |
>>>>>> |
36 |
>>>>>> 1 - we will have a virtual/tmpfiles that will bring in EITHER systemd, |
37 |
>>>>>> or opentmpfiles. |
38 |
>>>>>> |
39 |
>>>>>> 2 - openrc will NOT depend on opentmpfiles (nor virtual/tmpfiles) |
40 |
>>>>>> |
41 |
>>>>>> 3 - Applications that install stuff into /usr/lib/tmpfiles.d/ will |
42 |
>>>>>> need to depend on virtual/tmpfiles in order to make sure that the |
43 |
>>>>>> system has something installed that will process them at boot-time. |
44 |
>>>>> |
45 |
>>>>> Yes, this will be handled by an RDEPEND in the eclass. |
46 |
>>>> |
47 |
>>>> This is a wrong presumption. The eclass needs the virtual only for |
48 |
>>>> pkg_postinst(). While RDEPEND is how we solve this now, it will no |
49 |
>>>> longer be necessary in a future EAPI. |
50 |
>>>> |
51 |
>>> |
52 |
>>> This makes sense to me as well -- which means every package that |
53 |
>>> installs tmpfiles.d/ files should properly RDEPEND on the virtual on |
54 |
>>> its own when the functionality arisen from those tmpfiles.d files is |
55 |
>>> non-optional. |
56 |
>> |
57 |
>> No, that's now what I meant. |
58 |
>> |
59 |
>> The eclass needs the virtual to create temporary directories once, |
60 |
>> in pkg_postinst(). Period. That's how far it is concerned. |
61 |
>> |
62 |
>> If user wants to use a volatile filesystem or any other more complete |
63 |
>> tmpfiles.d processing, he needs to use a init that supports that. Which |
64 |
>> means either OpenRC with tmpfiles or systemd. Ebuild has nothing to do |
65 |
>> with this. |
66 |
> |
67 |
> One more thing. I still believe openrc should RDEP on tmpfiles by |
68 |
> default since openrc is mounting a few standard locations |
69 |
> (like /var/run) as tmpfs by default. |
70 |
> |
71 |
|
72 |
OpenRC isn't using tmpfiles.d *.conf files to do that (although it |
73 |
could). I didn't realize tmpfiles.d processing had any direct |
74 |
relationship or association with tmpfs mounts though (other than it |
75 |
helps solve the issue of files and dirs disappearing after reboots, of |
76 |
course). |
77 |
|
78 |
Part of the point of the virtual (and the reason for the init script |
79 |
arguments in this thread) is that it makes this functionality not tied |
80 |
to an init/rc system anymore -- that is: |
81 |
|
82 |
- systemd will just do it, if its used as init |
83 |
- systemd if installed can be used to do it from openrc/other-init |
84 |
- opentmpfiles can be used to do it from openrc/other-init |
85 |
|
86 |
The part where I see the ebuild coming into play here is for all of |
87 |
the packages that currently install .conf files into |
88 |
/usr/lib/tmpfiles.d/ (like apache, libvirt, etc. etc). If those |
89 |
packages are doing so explicitly because they non-optionally expect |
90 |
systemd-tmpfilesd or opentmpfiles to do what's been specified (and |
91 |
will fail otherwise), then this is an actual RDEPEND for those |
92 |
packages whether they use the eclass or not. |
93 |
|
94 |
You are right, though -- we avoid a whole bunch of this if openrc just |
95 |
RDEPENDs on the virtual and all other packages just assume there is |
96 |
support for tmpfiles.d processing in whatever init/rc system is used. |
97 |
However that seems to not be where things are going (at least from |
98 |
WilliamH's perspective) |