On 10/01/2018 01:04 PM, Sergei Trofimovich wrote:
> On Mon, 1 Oct 2018 08:19:29 -0700
> Zac Medico <zmed...@gentoo.org> wrote:
> 
>> Hi all,
>>
>> The ~arch version of portage hs a new QA check that reports installation
>> of files outside of directories that have been whitelisted [1]. The
>> current whitelist includes:
>>
>> directories common to / and /usr
>> ================================
>> bin lib lib32 lib64 libx32 sbin
>>
>> top level directories
>> ================================
>> boot dev etc opt srv usr var
>>
>> /usr level directories
>> ================================
>> include libexec share src
>>
>> /usr/share/doc level directories
>> ================================
>> /usr/share/doc/${PF}
> 
> As this will break existing ebuilds I'd suggest guarding it against
> next EAPI. Out of top of by head the change will break at least
> crossdev outright. At least for two reasons:
> 1. building a gcc cross-compiler usually refers to $SYSROOT/sys-include.
>    'git grep sys-include' will show a bunch of ebuilds that create that
>    symlinks outside the space.
> 2. cross-building target libc is currently done on the host's emerge
>   and installs into /usr/$CTARGET/.
> 
> I think whitelist would be able to cover these use cases as they are
> a function of ${CTARGET} (or $CATEGORY) value.

The QA check currently does not die, it only calls eqawarn. So the worst
case is a message like this:

> QA: other
> The ebuild is installing to one or more unexpected paths:
>
>   /usr/share/doc/qt-5.11.1
>
> Please fix the ebuild to use correct FHS/Gentoo policy paths.

It will be annoying if this message triggers for every package installed
by crossdev, so we should do something about that.
-- 
Thanks,
Zac

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to