Gentoo Archives: gentoo-user

From: Rich Freeman <rich0@g.o>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] "masked by: EAPI 7" trying up update "portage" - how to proceed
Date: Thu, 11 Jun 2020 12:48:05
Message-Id: CAGfcS_mpPkAorM3vUsAxx+J0_HXHns=CV47izfM7v_u1+58Ymw@mail.gmail.com
In Reply to: Re: [gentoo-user] "masked by: EAPI 7" trying up update "portage" - how to proceed by Neil Bothwick
1 On Thu, Jun 11, 2020 at 4:10 AM Neil Bothwick <neil@××××××××××.uk> wrote:
2 >
3 > >
4 > > sudo emerge -vauU portage 2>&1 | tee -a portage.200611
5 > >
6 > > !!! The following update has been skipped due to unsatisfied
7 > > dependencies:
8 > >
9 > > sys-apps/portage:0
10 > >
11 > > selected: (sys-apps/portage-2.3.13-r1:0/0::gentoo, installed)
12 > > skipped: (sys-apps/portage-2.3.99-r2:0/0::gentoo, ebuild scheduled
13 > > for merge) (see unsatisfied dependency below)
14 > >
15 > > !!! All ebuilds that could satisfy
16 > > "dev-lang/python:3.7[bzip2(+),threads(+)]" have been masked.
17 > > !!! One of the following masked packages is required to complete your
18 > > request:
19 > > - dev-lang/python-3.9.0_beta3::gentoo (masked by: EAPI 7)
20 > > - dev-lang/python-3.9.0_beta2::gentoo (masked by: EAPI 7)
21 > > - dev-lang/python-3.9.0_beta1::gentoo (masked by: EAPI 7)
22 > > - dev-lang/python-3.9.0_alpha6::gentoo (masked by: EAPI 7)
23 > > - dev-lang/python-3.8.3::gentoo (masked by: EAPI 7)
24 > > - dev-lang/python-3.8.2-r2::gentoo (masked by: EAPI 7)
25 > > - dev-lang/python-3.8.2-r1::gentoo (masked by: EAPI 7)
26 > > - dev-lang/python-3.7.7-r2::gentoo (masked by: EAPI 7)
27 > > - dev-lang/python-3.7.7-r1::gentoo (masked by: EAPI 7)
28 > > - dev-lang/python-3.6.10-r2::gentoo (masked by: EAPI 7)
29 > > - dev-lang/python-3.6.10-r1::gentoo (masked by: EAPI 7)
30 > > - dev-lang/python-2.7.18::gentoo (masked by: EAPI 7)
31 > > - dev-lang/python-2.7.17-r2::gentoo (masked by: EAPI 7)
32 > >
33 > > The current version of portage supports EAPI '6'. You must upgrade to a
34 > > newer version of portage before EAPI masked packages can be installed.
35 > > (dependency required by
36 > > "sys-apps/portage-2.3.99-r2::gentoo[python_targets_python3_7]" [ebuild])
37 > > For more information, see the MASKED PACKAGES section in the emerge
38 > > man page or refer to the Gentoo Handbook.
39
40 So, I'll first echo Neil's comments regarding non-updated config
41 files, the news items, and the world file. You need to deal with the
42 basics before you start with open heart surgery.
43
44 Here is what is going on at a high level:
45
46 Your current version of portage doesn't support EAPI 7, which was
47 introduced quite a while ago - so long ago that we no longer guarantee
48 a trivial update process, though it probably isn't too hard to work
49 through.
50
51 Portage itself uses EAPI 5 in the current releases, which is mainly
52 because we want to try to make it at least somewhat straightforward to
53 update on older systems. However, the default profiles are all
54 pushing updated versions of python, and python uses EAPI7 across the
55 board. What you need to do is update portage without touching python
56 first, and then worry about python.
57
58 Portage wants to pull in python 3.7 because all packages are being
59 configured by default to support python 3.7. The version of portage
60 you're trying to install supports python 3.6, 3.7, and 3.8. As long
61 as you already have any of those installed you probably should be able
62 to update just portage, which resolves the EAPI issue, and then you
63 can update python or anything else.
64
65 What version(s) of python do you have installed?
66 Ways to obtain this info are:
67 qlist -IRv dev-lang/python
68 equery list python
69 eselect list python
70
71 (The first two are more useful but require non-default packages to be
72 installed, the last is a bit more limited but should work anywhere.)
73
74 Based on that I can probably give you a command line that will just
75 update portage without touching anything else. Then once portage is
76 updated you can proceed. Don't be surprised if it wants to rebuild
77 itself again with the more current settings - that is fine. We're
78 just getting things bootstrapped enough so that you can keep making
79 progress.
80
81 Most likely what you're probably going to end up wanting to try is:
82 USE="python_targets_python3_6 -python_targets_python3_7" emerge -p1v
83 sys-apps/portage
84 (Remove the -p if the output of that looks sane.)
85
86 That will temporarily adjust the python dependency settings for just
87 that one command. You shouldn't use that USE setting any further
88 after that - this is just to get portage updated once to allow python
89 to be updated in the future - you don't want to stick with 3.6 forever
90 and in a little while you won't even have that option.
91
92 --
93 Rich

Replies