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: [gentoo-dev] Extending EAPI="4"
Date: Mon, 25 Oct 2010 13:26:35
Message-Id: 201010251524.24984.Arfrever@gentoo.org
1 I would like to request that 2 additional features are added to EAPI="4".
2 These features will be needed for further development of python.eclass.
3
4 1. Support for "." characters in names of USE flags
5 2. Support for use.unsatisfiable and package.use.unsatisfiable files in profiles
6 These files would have the same syntax as use.mask and package.use.mask, respectively.
7 These files would indicate that it's allowed for dependencies conditional on USE flags specified
8 in these files to be unsatisfiable. It would allow for stable packages to have optional
9 dependencies on packages, which cannot be stabilized yet. This feature would be a better
10 replacement for possibility of masking of USE flags only on stable systems, which was considered
11 in the past.
12
13 Example dependencies:
14 DEPEND="python_abis_2.4? ( dev-lang/python:2.4 )
15 python_abis_2.5? ( dev-lang/python:2.5 )
16 python_abis_2.6? ( dev-lang/python:2.6 )
17 python_abis_2.7? ( dev-lang/python:2.7 )
18 python_abis_3.1? ( dev-lang/python:3.1 )
19 python_abis_3.2? ( dev-lang/python:3.2 )"
20 RDEPEND="${DEPEND}"
21
22 python_abis_2.7, python_abis_3.1 and python_abis_3.2 USE flags would be specified in use.unsatisfiable
23 file until relevant versions of Python are stabilized on all architectures. Without this feature,
24 some USE flags would have to be masked, so unstable users couldn't easily test many packages with
25 new versions of Python.
26
27 Another example: dev-vcs/subversion[kde] depends on >=kde-base/kdelibs-4. dev-vcs/subversion is
28 stable on arm and ppc64, but kde-base/kdelibs is unstable on these architectures, which causes
29 that currently "kde" USE flag of dev-vcs/subversion is masked in arm and ppc64 profiles, which
30 causes that users of ~arm or ~ppc64 would have to manually unmask this USE flag in
31 /etc/portage/profile/package.use.mask to be able to install dev-vcs/subversion with "kde" USE flag
32 enabled. With this feature, users wouldn't need to edit /etc/portage/profile/package.use.mask.
33
34 use.unsatisfiable and package.use.unsatisfiable files would cause that `repoman` would treat
35 given USE flags in the same way as masked USE flags. These files wouldn't affect behavior of
36 `emerge`:
37 - If user has enabled given USE flag specified in use.unsatisfiable or package.use.unsatisfiable
38 and if optional dependencies controlled by this USE flag are already installed or satisfiable,
39 then `emerge` will allow to install given package.
40 - If user has enabled given USE flag specified in use.unsatisfiable or package.use.unsatisfiable
41 and if optional dependencies controlled by this USE flag cannot be satisfied (with current
42 settings of ACCEPT_KEYWORDS, /etc/portage/package.keywords etc.), then `emerge` will print
43 informative error message telling e.g. about a dependency masked by ~${ARCH} keyword.
44
45
46 I have a patch, which adds support for these features in Portage, so inclusion of these features
47 in EAPI="4" wouldn't delay EAPI="4".
48
49 --
50 Arfrever Frehtes Taifersar Arahesis

Attachments

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

Replies

Subject Author
Re: [gentoo-dev] Extending EAPI="4" Ciaran McCreesh <ciaran.mccreesh@××××××××××.com>
Re: [gentoo-dev] Extending EAPI="4" Ulrich Mueller <ulm@g.o>
Re: [gentoo-dev] Extending EAPI="4" Fabio Erculiani <lxnay@g.o>
Re: [gentoo-dev] Extending EAPI="4" "Petteri Räty" <betelgeuse@g.o>
Re: [gentoo-dev] Extending EAPI="4" Zac Medico <zmedico@g.o>