1 |
On Wed, Dec 18, 2019 at 11:03 AM Grant Edwards |
2 |
<grant.b.edwards@×××××.com> wrote: |
3 |
> |
4 |
> On 2019-12-18, <nunojsilva@×××××××.pt> (Nuno Silva) <nunojsilva@×××××××.pt> wrote: |
5 |
> |
6 |
> > The EAPI problem is in a package that is pulled as a dependency of |
7 |
> > portage. |
8 |
> > |
9 |
> > Unless there's a simple hack to solve this, you will need to use older |
10 |
> > ebuilds or split the update in several steps, using older versions of |
11 |
> > the portage tree. The following notes show a way of achieving this: |
12 |
> > |
13 |
> > https://wiki.gentoo.org/wiki/User:NeddySeagoon/HOWTO_Update_Old_Gentoo |
14 |
> |
15 |
> In my experience of situations like this, it's often a lot less work |
16 |
> to just backup /etc and user home directories and re-install from |
17 |
> scratch. |
18 |
> |
19 |
|
20 |
That wiki article seems a bit dated, though it has the right general |
21 |
concept. IMO it is way simpler than that. You could of course do a |
22 |
reinstall and move your /etc and /home - that will certainly be the |
23 |
cleanest approach. You'll probably clear out a lot of orphans or |
24 |
things that are config-protected that have moved that way (well, less |
25 |
so if you keep /etc whole). |
26 |
|
27 |
I think some of this hinges on just HOW old that system is. What was |
28 |
the date that it was last updated on? |
29 |
|
30 |
Assuming it isn't older than 2015 I think the simplest safe approach |
31 |
is to switch to a git repo, and then update it by date. |
32 |
|
33 |
You can use https://anongit.gentoo.org/git/repo/sync/gentoo.git as it |
34 |
has the metadata cache included, but that didn't really start until |
35 |
Aug 2018. Commits before that date won't include metadata, though you |
36 |
can build that yourself. It also uses CI checks so in theory every |
37 |
merge commit is clean and consistent. |
38 |
|
39 |
You can do date-based checkouts. I'd try jumping one year at a time |
40 |
updating @system or at least portage+toolchain. If one of those |
41 |
updates fails you can do a shorter update interval. |
42 |
|
43 |
You probably don't need to update @world until you get up to the |
44 |
current date. As long as @system is updated it should be able to |
45 |
bootstrap everything else. |
46 |
|
47 |
You can't just jump to the current portage as the current portage |
48 |
ebuild is going to use an EAPI that isn't supported by the version of |
49 |
portage you already have. Portage is usually updated in EAPI |
50 |
conservatively to minimize this issue, but if you want to jump |
51 |
multiple years at a time it won't work. Jumping 6-12mo at a time will |
52 |
minimize this issue. |
53 |
|
54 |
-- |
55 |
Rich |