Gentoo Archives: gentoo-user

From: hw <hw@×××××.de>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] EAPI packages
Date: Tue, 16 Aug 2016 14:58:31
Message-Id: 57B32A0C.4080606@gc-24.de
In Reply to: Re: [gentoo-user] EAPI packages by David Haller
1 David Haller schrieb:
2 > Hello,
3 >
4 > On Sat, 13 Aug 2016, Andreas K. Hüttel wrote:
5 >> Am Mittwoch, 10. August 2016, 12:54:37 schrieb hw:
6 >>> I?m trying to upgrade portage because I?m getting a message that it
7 >>> needs to be able to work with EAPI 6 packages and can only do EAPI 5.
8 > [..]
9 >> If you see this now, your production server hasn't been updated for a long
10 >> time...
11 >>
12 >> As a last resort, you should be able to run a "non-installed" portage version
13 >> to update your system once. Manually download and unpack a recent portage
14 >> tarball somewhere temporary and then run as root something like
15 >>
16 >> porto tmp # ./portage-2.3.0/bin/emerge -uDNav world
17 >>
18 >> This can update your system to the newest state, including updating the
19 >> installed portage. Afterwards you won't need the temporarily unpacked portage
20 >> anymore.
21 >
22 > Yep. BTDT. I had a then 4-4.5 year old gentoo quite broken by being
23 > partly updated until portage/emerge broke and much else didn't work
24 > anymore (gcc/make/python/emerge). So, I booted something else, mounted
25 > gentoo somewhere (say /mnt), unpacked a fresh stage3 _into_ that
26 > mountpoint into /stage3 (i.e. "/mnt/stage3"), chrooted there (with the
27 > usual /sys, /proc, /dev bind-mounts) and then ran stuff from the
28 > /stage3/ tree[1] until the basic stuff (mainly above mentioned 4) was
29 > fixed.
30
31 How would it fix the system you chrooted from? Doesn´t it remain limited
32 to the chrooted environment?
33
34 > From then on it mostly went "smooth", by the "textbook",
35 > considering. Yeah, lots of conflicts and whatnot because of moves,
36 > renames and new deps etc.pp. It was a bit tedious, but not difficult.
37 >
38 > And this general tip came out of it: unmerging stuff helps to break
39 > tangles. Like slashing the Gordian Knot ;)
40
41 When I unmerge stuff, that stuff doesn´t work anymore, so I´d have to
42 do that at night.
43
44 And now I cannot emerge gentoolkit after unmerging it, which isn´t useful
45 at all.
46
47 > Before you yourself get stuck in the same tangles that emerge did,
48 > be bold, take note and switch to a "unmerge + reemerge" strategy!
49 > I.e. take one offender, note it down (textfile and/or paper), unmerge
50 > it, try a re-emerge of that offender or a @world without it. Keep
51 > adding to the "offenders" list until emerge comes up "clean". Then try
52 > re-emerging the offenders one by one.
53 >
54 > It's one of the first things I do when weird stuff/conflicts crop up.
55 > Before I mess with useflags and masks and whatnot, I unmerge both
56 > tangled packages (and keep track of anything I unmerge in a textfile
57 > or so!) and then try to merge only those (with '--pretend --tree' at
58 > first). Emerge IMO handles the "install" case much better and the
59 > conflicts are often much clearer, "obsolete" deps can be ignored
60 > and/or handled later by "emerge @preserved-rebuild".
61 >
62 > And once I've figured out what's going on, it often is just one
63 > useflag, or one (un)mask or something else in /etc/portage/package* to
64 > clear it all up.
65 >
66 > And finding that is much easier doing it one-by-one.
67
68 Still it is extremely tedious.
69
70 > Of course, you can't unmerge stuff like gcc/make/python/portage just
71 > like that, that's when an unpacked /stage3 comes into play. But you
72 > should not need that until your system is _way_ outdated (as was
73 > mine).
74
75 IMO, it´s a silly bug that portage cannot be updated because it cannot
76 deal with packages it needs to deal with in order to update it. Someone
77 created this problem, and they should have thought about what they were
78 doing and have created a way for the package management to handle this
79 problem.
80
81 > Anyway: so, yes, you can use a unpacked up-to-date /stage3 for
82 > bootstrapping an update once your system is so (ridiculously) outdated
83 > that a normal update breaks, and not only for installing a new system
84 > :)
85
86 Three months is not "ridiculously outdated", yet the update doesn´t work.
87 1.5 years isn´t "ridiculously outdated", either --- maybe a bit old, but
88 what´s the problem?
89
90 > Of course, you'll have to deal with new/renamed/moved/gone packages
91 > and such stuff, but that's to be expected[3].
92
93 Perhaps you can do that when you´re an expert user of the packagage
94 management and have lots of time on your hands. I just need to update.
95
96 > And IIRC that strategy
97 > had me upgrading quite smoothly to the new perl-5.24 (from 5.20 or
98 > .22?) just recently. At times, emerge _does_ get somewhat stuck. And
99 > it's output gets confusing to match.
100
101 There was a version in between, and the update failed. The output of
102 emerge is very confusing and doesn´t tell me much, if anything, and
103 I haven´t had the time to finish the update yet. That´s going on
104 for a month or two now, and it´s still not updated.
105
106 > But! Usually, when your system is not too much out of date, emerge
107 > does a _very_ good job, it's output is a bit hard to read though,
108 > something IIRC the devs are the first to admit, but as Neil and others
109 > prove here often (I'll try to get more into helping too), you can get
110 > used to it and pinpoint the actual reason for emerge barfing tons of
111 > text on you.
112
113 It would already be much easier if emerge wouldn´t print darkblue on black,
114 which makes it even harder to read the output ... The messages are cryptic,
115 and you have to guess what they are trying to tell you.

Replies

Subject Author
Re: [gentoo-user] EAPI packages Peter Humphrey <peter@××××××××××××.uk>
Re: [gentoo-user] EAPI packages Neil Bothwick <neil@××××××××××.uk>
Re: [gentoo-user] EAPI packages Michael Orlitzky <mjo@g.o>
Re: [gentoo-user] EAPI packages David Haller <gentoo@×××××××.de>