1 |
On 05/20/2016 10:01 AM, Michał Górny wrote: |
2 |
> |
3 |
> Please review the specification provided. The basic goal is to provide |
4 |
> an ability to use INSTALL_MASK alike USE flags -- with path groups that |
5 |
> are well-defined and described in the repository. |
6 |
> |
7 |
> [1]:https://wiki.gentoo.org/wiki/User:MGorny/GLEP:INSTALL_MASK |
8 |
> |
9 |
|
10 |
I like the idea. INSTALL_MASK is currently pretty flaky, and that's what |
11 |
we tell people to use to block e.g. systemd units. Here's what I gather: |
12 |
|
13 |
1. The INSTALL_MASK-like feature should support fnmatch() wildcards. |
14 |
|
15 |
2. Binary packages are not be affected (there's another feature for |
16 |
that) |
17 |
|
18 |
3. We can define groups of paths to make certain things (bash |
19 |
completions, locales, etc.) easy to mask. |
20 |
|
21 |
All of those are good, but are the details of what actually goes in |
22 |
INSTALL_MASK left up to the implementation? How would I mask all bash |
23 |
completions (the bash-completion group) using INSTALL_MASK? |
24 |
|
25 |
Can you make the spec say that we should be able to mask files whose |
26 |
names contain spaces? Or is that implicit in the fnmatch() clause? |
27 |
|
28 |
For the portage implementation, it may be time to ditch the variable and |
29 |
move to something like /etc/portage/install.mask: |
30 |
|
31 |
$ cat /etc/portage/install.mask |
32 |
[bash-completion] |
33 |
/etc/logrotate.d |
34 |
read me.txt |
35 |
|
36 |
With one pattern per line, the spaces thing is easy to deal with. But |
37 |
this makes me wonder, how is portage supposed to know I want to block |
38 |
the bash-completion group and not all files named "[bash-completion]"? |