1 |
On Mon, 1 Oct 2018 13:48:46 -0700 |
2 |
Zac Medico <zmedico@g.o> wrote: |
3 |
|
4 |
> On 10/01/2018 01:04 PM, Sergei Trofimovich wrote: |
5 |
> > On Mon, 1 Oct 2018 08:19:29 -0700 |
6 |
> > Zac Medico <zmedico@g.o> wrote: |
7 |
> > |
8 |
> >> Hi all, |
9 |
> >> |
10 |
> >> The ~arch version of portage hs a new QA check that reports installation |
11 |
> >> of files outside of directories that have been whitelisted [1]. The |
12 |
> >> current whitelist includes: |
13 |
> >> |
14 |
> >> directories common to / and /usr |
15 |
> >> ================================ |
16 |
> >> bin lib lib32 lib64 libx32 sbin |
17 |
> >> |
18 |
> >> top level directories |
19 |
> >> ================================ |
20 |
> >> boot dev etc opt srv usr var |
21 |
> >> |
22 |
> >> /usr level directories |
23 |
> >> ================================ |
24 |
> >> include libexec share src |
25 |
> >> |
26 |
> >> /usr/share/doc level directories |
27 |
> >> ================================ |
28 |
> >> /usr/share/doc/${PF} |
29 |
> > |
30 |
> > As this will break existing ebuilds I'd suggest guarding it against |
31 |
> > next EAPI. Out of top of by head the change will break at least |
32 |
> > crossdev outright. At least for two reasons: |
33 |
> > 1. building a gcc cross-compiler usually refers to $SYSROOT/sys-include. |
34 |
> > 'git grep sys-include' will show a bunch of ebuilds that create that |
35 |
> > symlinks outside the space. |
36 |
> > 2. cross-building target libc is currently done on the host's emerge |
37 |
> > and installs into /usr/$CTARGET/. |
38 |
> > |
39 |
> > I think whitelist would be able to cover these use cases as they are |
40 |
> > a function of ${CTARGET} (or $CATEGORY) value. |
41 |
> |
42 |
> The QA check currently does not die, it only calls eqawarn. So the worst |
43 |
> case is a message like this: |
44 |
> |
45 |
> > QA: other |
46 |
> > The ebuild is installing to one or more unexpected paths: |
47 |
> > |
48 |
> > /usr/share/doc/qt-5.11.1 |
49 |
> > |
50 |
> > Please fix the ebuild to use correct FHS/Gentoo policy paths. |
51 |
> |
52 |
> It will be annoying if this message triggers for every package installed |
53 |
> by crossdev, so we should do something about that. |
54 |
|
55 |
Ah, QA warning is fine. We'll have some time to address it. |
56 |
|
57 |
For crossdev it should be only libc packages that do unusual paths |
58 |
(their initial version is installed into /. We'll fix it like |
59 |
https://bugs.gentoo.org/642604#c6 but it takes time). |
60 |
|
61 |
Normal packages should be installed into $SYSROOT proper. |
62 |
|
63 |
-- |
64 |
|
65 |
Sergei |