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: Wed, 30 Aug 2017 17:48:21
Message-Id: eb663f50-6666-4e16-4a8b-6174ab4caaa2@gentoo.org
In Reply to: [gentoo-portage-dev] [PATCH] ebuild.sh: Explicitly ban get_libdir in global scope by "Michał Górny"
1 On 08/30/2017 02:06 AM, Michał Górny wrote:
2 > The value of get_libdir depends on the profile, and so it is not useful
3 > for dependency calculations. Furthermore, it seems that Portage does
4 > not handle defining it in global scope well due to EAPI checking magic.
5 > Ban it completely where it is defined as EAPI function to let developers
6 > catch their mistakes early rather than see them as 'command not found'
7 > errors during dependency calculation / cache updates.
8 >
9 > Bug: https://bugs.gentoo.org/629010
10 > ---
11 > bin/ebuild.sh | 1 +
12 > 1 file changed, 1 insertion(+)
13 >
14 > diff --git a/bin/ebuild.sh b/bin/ebuild.sh
15 > index a400ef72e..f1ac3f278 100755
16 > --- a/bin/ebuild.sh
17 > +++ b/bin/ebuild.sh
18 > @@ -66,6 +66,7 @@ else
19 > use useq usev use_with use_enable"
20 > ___eapi_has_usex && funcs+=" usex"
21 > ___eapi_has_in_iuse && funcs+=" in_iuse"
22 > + ___eapi_has_get_libdir && funcs+=" get_libdir"
23 > # These functions die because calls to them during the "depend" phase
24 > # are considered to be severe QA violations.
25 > funcs+=" best_version has_version portageq"
26 >
27
28 It's possible that there are working ebuilds that call get_libdir in
29 global scope. Have we done an analysis of the ebuilds in the gentoo
30 repository? Obviously, it would be safer to call eqawarn.
31 --
32 Thanks,
33 Zac

Replies