Gentoo Archives: gentoo-dev

From: Donnie Berkholz <dberkholz@g.o>
To: 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 02:48:44
Message-Id: 20101218024826.GB7756@comet
In Reply to: [gentoo-dev] Summary of suggested new features in EAPI="4" by Arfrever Frehtes Taifersar Arahesis
1 On 02:45 Sat 18 Dec , Arfrever Frehtes Taifersar Arahesis wrote:
2 > Problem #1: USE flags cannot contain "." characters.
3
4 This isn't a problem, it's an arbitrary statement of an antifeature. My
5 understanding of the actual problem here is that you want to have some
6 sort of USE flags for various Python versions with names containing
7 periods, for usability. Perhaps you could expand on exactly what you
8 want to do, so we can work together to figure out whether this is the
9 best route to solve your problem.
10
11 If the problem is handling which Python versions to build modules for,
12 I'm wondering whether enhancing the eselect module to select *multiple*
13 preferred versions might not be a better solution than EAPI changes.
14
15 We've been having the same discussion for Fortran90 modules, and George
16 Shapovalov mentioned that this is how he handled things for Ada (see
17 gnat-related eclass/eselect mod).
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. I'll paste the
25 description from the PMS to make it easier for anyone following along:
26
27 5.2.2 The eapi file
28
29 A profile directory may contain an eapi file. This file, if it exists,
30 must contain a single line with the name of an EAPI. This specifies the
31 EAPI to use when handling the directory in question; a package manager
32 must not attempt to use any profile using a directory which requires an
33 EAPI it does not support. If no eapi file is present, EAPI 0 shall be
34 used. The EAPI is not inherited via the parent file.
35
36 > ================================================================================================
37 >
38 > Problem #3: repoman doesn't allow stable packages to have optional dependencies on unstable
39 > packages (usually until these packages are stabilized).
40
41 This seems useful at first glance, but I'm wondering how big of a
42 problem it really is and whether this solution is a bit overarchitected.
43
44 > Example of the problem:
45 > If "python_abis_2.7", "python_abis_3.1" and "python_abis_3.2" USE
46 > flags are masked using use.mask on given architectures until Python
47 > 2.7, 3.1 and 3.2 are stabilized on these architectures, then majority
48 > of reverse dependencies of Python won't be tested with new versions of
49 > Python.
50
51 Why does that have to be the case? Why not unmask them earlier but only
52 make them available to ~arch ebuilds?
53
54 I don't know of anyone who's actually done this, but setting IUSE based
55 on ACCEPT_KEYWORDS being ~arch should be possible. There may be better
56 or easier solutions.
57
58 > The following solutions have been suggested:
59 >
60 > - Add support for use.unsatisfiable and package.use.unsatisfiable files in profiles in
61 > EAPI="4". These files would cause that repoman would allow optional
62 > dependencies on packages potentially unsatisfiable in some
63 > configurations (e.g. on stable-only systems).
64 > - Create separate profiles for stable and unstable keywords. USE flags
65 > would be masked in stable profiles and unmasked in unstable profiles.
66 >
67 > Council should choose one of these solutions.
68
69 --
70 Thanks,
71 Donnie
72
73 Donnie Berkholz
74 Sr. Developer, Gentoo Linux
75 Blog: http://dberkholz.wordpress.com

Replies

Subject Author
Re: [gentoo-dev] Summary of suggested new features in EAPI="4" Arfrever Frehtes Taifersar Arahesis <Arfrever@g.o>
Re: [gentoo-dev] Summary of suggested new features in EAPI="4" Ciaran McCreesh <ciaran.mccreesh@××××××××××.com>