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. |