Gentoo Archives: gentoo-python

From: "Michał Górny" <mgorny@g.o>
To: Ian Stakenvicius <axs@g.o>
Cc: gentoo-python@l.g.o
Subject: Re: [gentoo-python] Reducing exceptionality cases for PYTHON_SINGLE_TARGET
Date: Wed, 29 Oct 2014 18:31:52
Message-Id: 20141029193130.487771d6@pomiot.lan
In Reply to: [gentoo-python] Reducing exceptionality cases for PYTHON_SINGLE_TARGET by Ian Stakenvicius
1 Dnia 2014-10-29, o godz. 14:17:29
2 Ian Stakenvicius <axs@g.o> napisał(a):
3
4 > > PYTHON_TARGETS="python2_7 python3_3 python3_4" \
5 > > PYTHON_SINGLE_TARGET="python3_3" \ emerge -av sys-devel/distcc
6 > >
7 > > These are the packages that would be merged, in order:
8 > >
9 > > Calculating dependencies |
10 > >
11 > > !!! Problem resolving dependencies for sys-devel/distcc ... done!
12 > >
13 > > !!! The ebuild selected to satisfy "distcc" has unmet
14 > > requirements. - sys-devel/distcc-3.1-r9::gentoo USE="gtk -avahi
15 > > -hardened -ipv6 -selinux -xinetd" ABI_X86="64"
16 > > PYTHON_SINGLE_TARGET="-python2_7" PYTHON_TARGETS="python2_7"
17 > >
18 > > The following REQUIRED_USE flag constraints are unsatisfied:
19 > > python_single_target_python2_7
20 > >
21 > > The above constraints are a subset of the following complete
22 > > expression: python_single_target_python2_7? (
23 > > python_targets_python2_7 ) exactly-one-of (
24 > > python_single_target_python2_7 )
25 >
26 >
27 > There are two ways to deal with this in-ebuild -- the first would be
28 > to adjust the ebuilds to python-r1 but not multibuild them, which
29 > means that the ebuilds are python-single but not actually implemented
30 > in a python-single way.
31
32 This is an easy way to get package broken once someone adds python3
33 support.
34
35 > The other is to adjust python-single-r1 so
36 > that if there is only one possible implementation (ie, PYTHON_COMPAT
37 > just has one entry, or only one such entry is in _PYTHON_ALL_IMPLS)
38 > then the PYTHON_SINGLE_TARGET setting is ignored.
39 >
40 > The main issue that this may cause is that the python_single_target_*
41 > use dependencies are no longer fully deterministic at all times, and
42 > are rather now determined based on the supported python implementation
43 > list in _python_impl_supported() from python-utils-r1 -- ie, when that
44 > list changes, some packages may suddenly require PYTHON_SINGLE_TARGET
45 > be set while others just-as-suddenly won't need it. This may mean
46 > some extra rebuilds for users on "emerge -N", especially as the flags
47 > are dropped.
48
49 This is ugly.
50
51 I was rather thinking of making all eclasses put +impl in IUSE when
52 only one implementation is supported.
53
54 --
55 Best regards,
56 Michał Górny

Attachments

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

Replies