Gentoo Archives: gentoo-dev

From: Arfrever Frehtes Taifersar Arahesis <Arfrever@g.o>
To: Gentoo Development <gentoo-dev@l.g.o>
Cc: Gentoo Council <council@g.o>
Subject: Re: [gentoo-dev] Summary of suggested new features in EAPI="4"
Date: Sat, 18 Dec 2010 03:40:40
Message-Id: 201012180441.18796.Arfrever@gentoo.org
In Reply to: Re: [gentoo-dev] Summary of suggested new features in EAPI="4" by Donnie Berkholz
1 2010-12-18 03:48:26 Donnie Berkholz napisaƂ(a):
2 > On 02:45 Sat 18 Dec , Arfrever Frehtes Taifersar Arahesis wrote:
3 > > Problem #1: USE flags cannot contain "." characters.
4 >
5 > This isn't a problem, it's an arbitrary statement of an antifeature. My
6 > understanding of the actual problem here is that you want to have some
7 > sort of USE flags for various Python versions with names containing
8 > periods, for usability. Perhaps you could expand on exactly what you
9 > want to do, so we can work together to figure out whether this is the
10 > best route to solve your problem.
11 >
12 > If the problem is handling which Python versions to build modules for,
13 > I'm wondering whether enhancing the eselect module to select multiple
14 > preferred versions might not be a better solution than EAPI changes.
15
16 USE flags would allow to use USE dependencies to ensure that dependencies of given package
17 have been installed for required Python versions.
18
19 > > ================================================================================================
20 > >
21 > > Problem #2: Files in profiles cannot use features from newer EAPIs.
22 >
23 > Could you explain how the eapi file in profiles does not address this?
24 > The 10.0 profiles are using it already with EAPI=2.
25
26 I would like to use EAPI="4"-specific syntax in a file in base profile (or somewhere else) to
27 affect all profiles. If I have to rely on "eapi" files, then all non-deprecated profiles
28 checked by repoman would have to use EAPI >=4.
29
30 > > ================================================================================================
31 > >
32 > > Problem #3: repoman doesn't allow stable packages to have optional dependencies on unstable
33 > > packages (usually until these packages are stabilized).
34 >
35 > This seems useful at first glance, but I'm wondering how big of a
36 > problem it really is and whether this solution is a bit overarchitected.
37 >
38 > > Example of the problem:
39 > > If "python_abis_2.7", "python_abis_3.1" and "python_abis_3.2" USE
40 > > flags are masked using use.mask on given architectures until Python
41 > > 2.7, 3.1 and 3.2 are stabilized on these architectures, then majority
42 > > of reverse dependencies of Python won't be tested with new versions of
43 > > Python.
44 >
45 > Why does that have to be the case? Why not unmask them earlier but only
46 > make them available to ~arch ebuilds?
47
48 There are already hundreds of stable ebuilds, which support unstable Python 2.7 (without
49 explicit optional dependency on Python 2.7). The solution to problem #3 shouldn't require
50 any changes in ebuilds.
51
52 > I don't know of anyone who's actually done this, but setting IUSE based
53 > on ACCEPT_KEYWORDS being ~arch should be possible.
54
55 It would break invariance of metadata.
56
57 --
58 Arfrever Frehtes Taifersar Arahesis

Attachments

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