Gentoo Archives: gentoo-portage-dev

From: Zac Medico <zmedico@g.o>
To: gentoo-portage-dev@l.g.o
Subject: Re: [gentoo-portage-dev] [PATCH] ebuild: set up bash compat levels
Date: Thu, 12 Nov 2015 06:33:37
Message-Id: 564432B8.6090601@gentoo.org
In Reply to: Re: [gentoo-portage-dev] [PATCH] ebuild: set up bash compat levels by Mike Frysinger
1 On 11/11/2015 01:11 PM, Mike Frysinger wrote:
2 > On 11 Nov 2015 13:04, Zac Medico wrote:
3 >> On 11/11/2015 12:55 PM, Mike Frysinger wrote:
4 >>> On 11 Nov 2015 11:42, Zac Medico wrote:
5 >>>> On 11/10/2015 08:39 PM, Mike Frysinger wrote:
6 >>>>> +# Set up the bash version compatibility level.
7 >>>>> +__check_bash_version() {
8 >>>>
9 >>>> Please unset all new internal function inside bin/save-ebuild-env.sh.
10 >>>> Note that it already uses this line to unset functions beginning with
11 >>>> ___eapi:
12 >>>>
13 >>>> unset -f $(compgen -A function ___eapi_)
14 >>>
15 >>> why don't we create a new namespace for portage funcs ? something like __e* ?
16 >>
17 >> That works for me. According to PMS, we're free to do anything we want
18 >> as long as it begins with at least 2 underscores.
19 >
20 > interesting. why don't we just unmap all things that begin with 2 underscores
21 > then ? or maybe 3 ?
22 > -mike
23 >
24
25 Well, that's sort of a "greedy" approach when you consider that you
26 might wipe out a function defined in an eclass or ebuild. Check this to
27 see what might be filtered:
28
29 bzgrep ^__ /var/db/pkg/*/*/environment.bz2
30
31 A nice compromise is to choose a namespace like __portage or something
32 like that.
33 --
34 Thanks,
35 Zac

Replies