Gentoo Archives: gentoo-dev

From: Sergei Trofimovich <slyfox@g.o>
To: Zac Medico <zmedico@g.o>
Cc: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] RFC: Portage QA check for FHS/Gentoo policy paths, for top-level dirs and /usr/share/doc
Date: Mon, 01 Oct 2018 21:46:02
Message-Id: 20181001224551.43599858@sf
In Reply to: Re: [gentoo-dev] RFC: Portage QA check for FHS/Gentoo policy paths, for top-level dirs and /usr/share/doc by Zac Medico
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