Gentoo Archives: gentoo-user

From: Thomas Schweikle <tschweikle@×××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Re: trying to upgrade some old, never upgraded image for an embedded system …
Date: Fri, 20 Dec 2019 00:14:23
Message-Id: CA+rGx5cZ-aJ+fSP=tFRMdpHqqXzVccHGw14_Wef=JN9JYJkkBA@mail.gmail.com
In Reply to: Re: [gentoo-user] Re: trying to upgrade some old, never upgraded image for an embedded system … by Rich Freeman
1 I've created a bug report out of this. Stage3-files shall be upgraded at
2 least every time an EAPI-Bump would have had been done. EAPI versions of
3 stage3-files and therefore portage-tools shall match what files within the
4 portage-tree give.
5 If the is not the case, it will be nearly impossible to set up an
6 upgradeable system.
7
8 On Wed, Dec 18, 2019 at 7:15 PM Rich Freeman <rich0@g.o> wrote:
9
10 > On Wed, Dec 18, 2019 at 11:03 AM Grant Edwards
11 > <grant.b.edwards@×××××.com> wrote:
12 > >
13 > > On 2019-12-18, <nunojsilva@×××××××.pt> (Nuno Silva) <
14 > nunojsilva@×××××××.pt> wrote:
15 > >
16 > > > The EAPI problem is in a package that is pulled as a dependency of
17 > > > portage.
18 > > >
19 > > > Unless there's a simple hack to solve this, you will need to use older
20 > > > ebuilds or split the update in several steps, using older versions of
21 > > > the portage tree. The following notes show a way of achieving this:
22 > > >
23 > > > https://wiki.gentoo.org/wiki/User:NeddySeagoon/HOWTO_Update_Old_Gentoo
24 > >
25 > > In my experience of situations like this, it's often a lot less work
26 > > to just backup /etc and user home directories and re-install from
27 > > scratch.
28 > >
29 >
30 > That wiki article seems a bit dated, though it has the right general
31 > concept. IMO it is way simpler than that. You could of course do a
32 > reinstall and move your /etc and /home - that will certainly be the
33 > cleanest approach. You'll probably clear out a lot of orphans or
34 > things that are config-protected that have moved that way (well, less
35 > so if you keep /etc whole).
36 >
37 > I think some of this hinges on just HOW old that system is. What was
38 > the date that it was last updated on?
39 >
40 > Assuming it isn't older than 2015 I think the simplest safe approach
41 > is to switch to a git repo, and then update it by date.
42 >
43 > You can use https://anongit.gentoo.org/git/repo/sync/gentoo.git as it
44 > has the metadata cache included, but that didn't really start until
45 > Aug 2018. Commits before that date won't include metadata, though you
46 > can build that yourself. It also uses CI checks so in theory every
47 > merge commit is clean and consistent.
48 >
49 > You can do date-based checkouts. I'd try jumping one year at a time
50 > updating @system or at least portage+toolchain. If one of those
51 > updates fails you can do a shorter update interval.
52 >
53 > You probably don't need to update @world until you get up to the
54 > current date. As long as @system is updated it should be able to
55 > bootstrap everything else.
56 >
57 > You can't just jump to the current portage as the current portage
58 > ebuild is going to use an EAPI that isn't supported by the version of
59 > portage you already have. Portage is usually updated in EAPI
60 > conservatively to minimize this issue, but if you want to jump
61 > multiple years at a time it won't work. Jumping 6-12mo at a time will
62 > minimize this issue.
63 >
64 > --
65 > Rich
66 >
67 >
68
69 --
70 Thomas