1 |
On 11 Nov 2015 22:40, Zac Medico wrote: |
2 |
> On 11/11/2015 10:33 PM, Zac Medico wrote: |
3 |
> > On 11/11/2015 01:11 PM, Mike Frysinger wrote: |
4 |
> >> On 11 Nov 2015 13:04, Zac Medico wrote: |
5 |
> >>> On 11/11/2015 12:55 PM, Mike Frysinger wrote: |
6 |
> >>>> On 11 Nov 2015 11:42, Zac Medico wrote: |
7 |
> >>>>> On 11/10/2015 08:39 PM, Mike Frysinger wrote: |
8 |
> >>>>>> +# Set up the bash version compatibility level. |
9 |
> >>>>>> +__check_bash_version() { |
10 |
> >>>>> |
11 |
> >>>>> Please unset all new internal function inside bin/save-ebuild-env.sh. |
12 |
> >>>>> Note that it already uses this line to unset functions beginning with |
13 |
> >>>>> ___eapi: |
14 |
> >>>>> |
15 |
> >>>>> unset -f $(compgen -A function ___eapi_) |
16 |
> >>>> |
17 |
> >>>> why don't we create a new namespace for portage funcs ? something like __e* ? |
18 |
> >>> |
19 |
> >>> That works for me. According to PMS, we're free to do anything we want |
20 |
> >>> as long as it begins with at least 2 underscores. |
21 |
> >> |
22 |
> >> interesting. why don't we just unmap all things that begin with 2 underscores |
23 |
> >> then ? or maybe 3 ? |
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. |
27 |
|
28 |
i'm fully aware we might clobber eclasses/ebuilds, but as you said, PMS already |
29 |
says ebuilds shouldn't be using that space. |
30 |
|
31 |
> > Check this to |
32 |
> > see what might be filtered: |
33 |
> > |
34 |
> > bzgrep ^__ /var/db/pkg/*/*/environment.bz2 |
35 |
|
36 |
i find nothing of value in there. |
37 |
|
38 |
from portage: |
39 |
__bashpid () |
40 |
__eapi6_src_install () |
41 |
__eapi6_src_prepare () |
42 |
__start_distcc () |
43 |
|
44 |
from ebuilds/eclasses that have already stopped using __: |
45 |
__do_sed_fix () |
46 |
___ECLASS_RECUR_MULTILIB=yes |
47 |
___ECLASS_RECUR_TOOLCHAIN_FUNCS=yes |
48 |
__versionator_shopt_toggle () |
49 |
__versionator__test_version_compare () |
50 |
__versionator__test_version_is_at_least () |
51 |
|
52 |
grepping the tree, i see like two packages and one eclass still using __. |
53 |
both of which are trivial to convert. |
54 |
|
55 |
> > A nice compromise is to choose a namespace like __portage or something |
56 |
> > like that. |
57 |
|
58 |
we should nuke ___* at least. i don't see any installed package using that. |
59 |
|
60 |
> Also note that some internals have been intentionally preserved in |
61 |
> environment.bz2. For example, __eapi6_src_install exposes the default |
62 |
> src_install implementation, which someone might examine for debugging |
63 |
> purposes. |
64 |
|
65 |
is that actually useful ? i can't see how it would be. |
66 |
-mike |