Gentoo Archives: gentoo-portage-dev

From: Mike Frysinger <vapier@g.o>
To: gentoo-portage-dev@l.g.o
Subject: Re: [gentoo-portage-dev] [PATCH] ebuild: set up bash compat levels
Date: Fri, 13 Nov 2015 01:51:19
Message-Id: 20151113015117.GK5154@vapier.lan
In Reply to: Re: [gentoo-portage-dev] [PATCH] ebuild: set up bash compat levels by Zac Medico
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

Attachments

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