1 |
On 12/15/2017 06:09 AM, Robert Sharp wrote: |
2 |
> |
3 |
> MISSING="berkdb gdbm tcpd ptpax session dri urandom" |
4 |
> |
5 |
> Is this a deliberate change or are they actually missing? |
6 |
> |
7 |
|
8 |
These are all intentional, but perhaps with an unintended side effect. |
9 |
The default/linux profile sets, |
10 |
|
11 |
USE="berkdb crypt ipv6 ncurses nls pam readline ssl tcpd zlib" |
12 |
... |
13 |
USE="${USE} cli pcre session" |
14 |
|
15 |
Most of those flags are unnecessary, so the hardened profile disables |
16 |
them (to reduce the surface area for attack): |
17 |
|
18 |
# Default starting set of USE flags for all default/linux profiles. |
19 |
# We unset them so we get a clean use flag profile. |
20 |
USE="${USE} -berkdb -gdbm -tcpd" |
21 |
USE="${USE} -fortran" |
22 |
USE="${USE} -cli -session" |
23 |
USE="${USE} -dri" |
24 |
USE="${USE} -modules" |
25 |
|
26 |
What that's trying to accomplish is to undo the overzealous USE in the |
27 |
default/linux profile, but unfortunately, the "-foo" flags (with the |
28 |
default stacking order in portage) will override the IUSE="+foo" |
29 |
defaults set in the ebuilds themselves. So, for example, dev-lang/php |
30 |
sets IUSE="+cli +session", but they'll be disabled when using the |
31 |
hardened profile. |
32 |
|
33 |
USE=ptpax is something else entirely. By now, everyone should be using |
34 |
the default xattr markings with PAX_MARKINGS=XT in make.conf (the new |
35 |
profile does this for you). USE=ptpax was dropped by default because you |
36 |
shouldn't need it any more. |
37 |
|
38 |
At least for "modules" and "session", we will eventually drop them as |
39 |
defaults so that everything works right again: |
40 |
|
41 |
* https://bugs.gentoo.org/635720 (modules) |
42 |
* https://bugs.gentoo.org/635742 (session) |