1 |
It's not automatically doing magic but using things specified in the |
2 |
profile. In this case look at ${PORTDIR}/profile/base/package.use |
3 |
Setting PYTHON_SINGLE_TARGET (which is expanded to those USEFlags) in your |
4 |
make.conf will shadow those from the profile and spit out an error. |
5 |
|
6 |
2018-07-07 21:45 GMT+03:00 Vadim A. Misbakh-Soloviov <gentoo@×××.name>: |
7 |
|
8 |
> The package you're referring to have only support of python2 interpreters |
9 |
> (python2_7 (CPython) and pypy (not the pypy3)). |
10 |
> |
11 |
> It seems, by default (if neither of PYTHON_SINGLE_TARGET is set), portage |
12 |
> tries to do the "magic" (well, in my opinion, it opposes to the Gentoo |
13 |
> Philosophy, and it should throw the same error even with "defaults") and |
14 |
> automatically chooses the 2_7 single target for it. |
15 |
> |
16 |
> But when you explicitly specify the targets in make.conf, it obeys and |
17 |
> don't |
18 |
> do that magic anymore, so condition of "exactly one of supported |
19 |
> single_targets (pypy, pyhton2.7)" is not meeting anymore". |
20 |
> |
21 |
> That's why you getting the error. |
22 |
> |
23 |
> В письме от суббота, 7 июля 2018 г. 21:31:48 MSK пользователь Andreas Fink |
24 |
> написал: |
25 |
> > Hello, |
26 |
> > I have a question considering PYTHON_SINGLE_TARGET because it seems to |
27 |
> > behave inconsistently on my system and I cannot find any documentation |
28 |
> > about it, that would guide me in the right direction how to fix it. |
29 |
> > Running emerge --info I see the following (I'm on ~amd64): |
30 |
> > ... PYTHON_SINGLE_TARGET="python3_5" PYTHON_TARGETS="python2_7 |
31 |
> python3_5" |
32 |
> > ... |
33 |
> > |
34 |
> > This output is the default for ~amd64, neither PYTHON_SINGLE_TARGET nor |
35 |
> > PYTHON_TARGETS has been set explicitly. |
36 |
> > If I do an emerge -av asciidoc, I see the following output: |
37 |
> > ebuild R ] app-text/asciidoc-8.6.10::gentoo USE="-examples |
38 |
> -graphviz |
39 |
> > -highlight {-test}" PYTHON_SINGLE_TARGET="python2_7 -pypy" |
40 |
> > PYTHON_TARGETS="python2_7 -pypy" |
41 |
> > |
42 |
> > Setting PYTHON_SINGLE_TARGET and PYTHON_TARGETS in /etc/portage/make.conf |
43 |
> > explicitly to: PYTHON_SINGLE_TARGET="python3_5" |
44 |
> > PYTHON_TARGETS="python2_7 python3_5" |
45 |
> > |
46 |
> > Now emerge --info doesn't show any difference. It's still the same |
47 |
> output. |
48 |
> > Doing an emerge -av asciidoc I get now this output: |
49 |
> > !!! The ebuild selected to satisfy "asciidoc" has unmet requirements. |
50 |
> > - app-text/asciidoc-8.6.10::gentoo USE="-examples -graphviz -highlight |
51 |
> > -test" ABI_X86="(64)" PYTHON_SINGLE_TARGET="-pypy -python2_7" |
52 |
> > PYTHON_TARGETS="python2_7 -pypy" |
53 |
> > |
54 |
> > The following REQUIRED_USE flag constraints are unsatisfied: |
55 |
> > exactly-one-of ( python_single_target_pypy |
56 |
> > python_single_target_python2_7 ) |
57 |
> > |
58 |
> > |
59 |
> > This seems for me to be really inconsistent, considering the fact that we |
60 |
> > usually request users to provide an emerge --info, which wouldn't show |
61 |
> any |
62 |
> > difference. |
63 |
> > Why am I able to merge in the first case the package, but in the second |
64 |
> case |
65 |
> > I get an error? I really cannot understand where the |
66 |
> > python_single_target_python2_7 is set in the first case. |
67 |
> > Anyone who has more insight into that case? |
68 |
> > |
69 |
> > Cheers |
70 |
> > Andreas |
71 |
> |
72 |
> |
73 |
> |
74 |
> |
75 |
> |
76 |
> |