1 |
On 11/12/2017 10:21 AM, Ulrich Mueller wrote: |
2 |
> |
3 |
>> * Change the PMS to remove "undefined behavior" and replace it with |
4 |
>> "empty directories must be tracked, and may only be removed once no |
5 |
>> installed package is using them," or something along those lines. |
6 |
>> That leaves the implementation up to the PM. |
7 |
> |
8 |
> How? Look up VDB entries of all installed packages? Note that this |
9 |
> would have to be done for every dir that becomes empty, not just the |
10 |
> ones currently containing a .keep_* file. |
11 |
|
12 |
Not necessarily. I chose the "empty directories must be tracked" wording |
13 |
to avoid that. If the PM were about to remove a directory that wasn't in |
14 |
the database of empty directories, then it could proceed normally. |
15 |
|
16 |
|
17 |
> What problem are you trying to solve? I see typically around 100 |
18 |
> .keep_* files on my systems. These are empty files, so they don't use |
19 |
> any blocks. And 100 inodes system wide looks like negligible usage |
20 |
> of resources to me. |
21 |
|
22 |
If you're asking what problem I was trying to solve by leaving the |
23 |
implementation up to the PM, then I was only trying not to be pushy. If |
24 |
the "automatic keepdir" idea... |
25 |
|
26 |
> * Have portage call its keepdir code on any empty directories in $D |
27 |
> between src_install and pkg_preinst. |
28 |
|
29 |
is workable and if the PM authors are fine with it, then we could spec that. |