1 |
On 12 Nov 2015 16:58, Zac Medico wrote: |
2 |
> On 11/12/2015 04:06 PM, Mike Frysinger wrote: |
3 |
> > from ebuilds/eclasses that have already stopped using __: |
4 |
> > __do_sed_fix () |
5 |
> > ___ECLASS_RECUR_MULTILIB=yes |
6 |
> > ___ECLASS_RECUR_TOOLCHAIN_FUNCS=yes |
7 |
> > __versionator_shopt_toggle () |
8 |
> > __versionator__test_version_compare () |
9 |
> > __versionator__test_version_is_at_least () |
10 |
> > |
11 |
> > grepping the tree, i see like two packages and one eclass still using __. |
12 |
> > both of which are trivial to convert. |
13 |
> |
14 |
> Sure, but do we really want to confuse people who might be ignorant of |
15 |
> this rule? Having functions disappear from the environment without |
16 |
> warning is very likely to cause confusion... |
17 |
|
18 |
that already happens to a degree if you happen to use a name that portage |
19 |
uses itself. we can add a repoman check, and if we think it comes up enough, |
20 |
have portage itself warn when it blows away things it didn't register. |
21 |
|
22 |
> Also, there's the |
23 |
> element of backward-compatibility for any __* functions in |
24 |
> /var/db/pkg/*/*/environment.bz2 of users' installed systems that might |
25 |
> be needed during pkg_prerm and pkg_postrm. |
26 |
|
27 |
the ones i highlighted are not needed for those purposes. you're right it |
28 |
could be a problem, i think the likelihood is low considering how infrequently |
29 |
these two are used, and how much we push people to use other phases instead. |
30 |
|
31 |
> >> Also note that some internals have been intentionally preserved in |
32 |
> >> environment.bz2. For example, __eapi6_src_install exposes the default |
33 |
> >> src_install implementation, which someone might examine for debugging |
34 |
> >> purposes. |
35 |
> > |
36 |
> > is that actually useful ? i can't see how it would be. |
37 |
> |
38 |
> Shrug, probably not (unless there's a bug in a particular |
39 |
> implementation, and someone wants to go back and check which |
40 |
> implementation was used for a particular installed package). |
41 |
|
42 |
if we want to tag that kind of metadata in a build, we should just explicitly |
43 |
include something like PORTAGE_VERSION. |
44 |
-mike |