Gentoo Archives: gentoo-portage-dev

From: Zac Medico <zmedico@g.o>
To: gentoo-portage-dev@l.g.o, "Michał Górny" <mgorny@g.o>
Subject: Re: [gentoo-portage-dev] [PATCH] ebuild.sh: Explicitly ban get_libdir in global scope
Date: Thu, 31 Aug 2017 06:36:41
Message-Id: 4385a314-a4e9-28a7-9d60-6ac62c9d8fb8@gentoo.org
In Reply to: Re: [gentoo-portage-dev] [PATCH] ebuild.sh: Explicitly ban get_libdir in global scope by "Michał Górny"
1 On 08/30/2017 01:45 PM, Michał Górny wrote:
2 > W dniu śro, 30.08.2017 o godzinie 13∶35 -0700, użytkownik Zac Medico
3 > napisał:
4 >> On 08/30/2017 01:31 PM, Michał Górny wrote:
5 >>> W dniu śro, 30.08.2017 o godzinie 10∶48 -0700, użytkownik Zac Medico
6 >>> napisał:
7 >>>> On 08/30/2017 02:06 AM, Michał Górny wrote:
8 >>>>> The value of get_libdir depends on the profile, and so it is not useful
9 >>>>> for dependency calculations. Furthermore, it seems that Portage does
10 >>>>> not handle defining it in global scope well due to EAPI checking magic.
11 >>>>> Ban it completely where it is defined as EAPI function to let developers
12 >>>>> catch their mistakes early rather than see them as 'command not found'
13 >>>>> errors during dependency calculation / cache updates.
14 >>>>>
15 >>>>> Bug: https://bugs.gentoo.org/629010
16 >>>>> ---
17 >>>>> bin/ebuild.sh | 1 +
18 >>>>> 1 file changed, 1 insertion(+)
19 >>>>>
20 >>>>> diff --git a/bin/ebuild.sh b/bin/ebuild.sh
21 >>>>> index a400ef72e..f1ac3f278 100755
22 >>>>> --- a/bin/ebuild.sh
23 >>>>> +++ b/bin/ebuild.sh
24 >>>>> @@ -66,6 +66,7 @@ else
25 >>>>> use useq usev use_with use_enable"
26 >>>>> ___eapi_has_usex && funcs+=" usex"
27 >>>>> ___eapi_has_in_iuse && funcs+=" in_iuse"
28 >>>>> + ___eapi_has_get_libdir && funcs+=" get_libdir"
29 >>>>> # These functions die because calls to them during the "depend" phase
30 >>>>> # are considered to be severe QA violations.
31 >>>>> funcs+=" best_version has_version portageq"
32 >>>>>
33 >>>>
34 >>>> It's possible that there are working ebuilds that call get_libdir in
35 >>>> global scope. Have we done an analysis of the ebuilds in the gentoo
36 >>>> repository? Obviously, it would be safer to call eqawarn.
37 >>>
38 >>> If there were any (more), we'd have caught them during cache regen,
39 >>> wouldn't we? When I accidentally left it when bumping to EAPI 6, I've
40 >>> got a bug report almost immediately.
41 >>
42 >> We'll only catch it during cache regen if we delete all of the previous
43 >> cache, forcing all of the ebuilds to be sourced again. If all ebuilds in
44 >> the gentoo tree are compliant, the I think that's good enough for us to
45 >> die here.
46 >
47 > I'm pretty sure all of them are. However, if someone has resources to
48 > spare, I'd appreciate running a full regen with the patch to confirm.
49
50 Confirmed. Please merge the patch.
51 --
52 Thanks,
53 Zac

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies