1 |
On Friday 25 April 2008, Mark Knecht wrote: |
2 |
> Hi, |
3 |
> OK, so this machine I Was speaking of earlier seems ot have a |
4 |
> number of issues created by a profile update. I'm attempting to move |
5 |
> from 2005.0 to 2007.0. I'm using these documents as reference: |
6 |
|
7 |
Ooooh, this is gonna be fun! |
8 |
|
9 |
> http://www.gentoo.org/doc/en/gentoo-upgrading.xml#doc_chap3 |
10 |
> http://www.gentoo.org/proj/en/portage/doc/manually-fixing-portage.xml |
11 |
> |
12 |
> The second document is referenced because no version of portage in |
13 |
> the library matches up with the version of python on this system. |
14 |
> I've followed the instructions and now portage seems to work except I |
15 |
> see this message which looks more like a warning than anything. Can I |
16 |
> safely ignore it? |
17 |
> |
18 |
> myth11 ~ # emerge -pv system >>EmergeSystem.txt |
19 |
> !!! Problem with sandbox binary. Disabling... |
20 |
> |
21 |
> !!! Problem with sandbox binary. Disabling... |
22 |
|
23 |
Yeah, I think you can disable it for long enough so that you can remerge |
24 |
sandbox. Or just take it out of FEATURES till the upgrade is complete |
25 |
|
26 |
|
27 |
> myth11 ~ # |
28 |
> |
29 |
> |
30 |
> More important are some blocking issues. From the text file I saved |
31 |
> in the step above I have these blocks: |
32 |
> |
33 |
> |
34 |
> These are the packages that would be merged, in order: |
35 |
> |
36 |
> Calculating system dependencies .^H^H... done! |
37 |
> [blocks B ] <dev-lang/python-2.3.6-r2 (is blocking |
38 |
> app-admin/python-updater-0.2) |
39 |
> [blocks B ] <sys-apps/util-linux-2.13 (is blocking |
40 |
> sys-apps/coreutils-6.10-r2) |
41 |
> [blocks B ] sys-apps/pam-login (is blocking |
42 |
> sys-apps/shadow-4.0.18.2) |
43 |
> |
44 |
> |
45 |
> Are these blocks safe to remove? I assume they are system stuff and |
46 |
> hence the system might break. |
47 |
|
48 |
Here's a mail I sent to my colleagues about the python blocks. I'm sure |
49 |
there's any easier way, I just didn't find it at the time: |
50 |
|
51 |
===================== |
52 |
Upgrading python on stable x86 boxes is a pain in the you know what. |
53 |
This time it is worse than usual. Just like the usual bootstrap problem |
54 |
of "you need a compiled compiler to compile a compiler so how do you |
55 |
compile a compiler?" on Gentoo portage is written in python so if you |
56 |
unmerge python to resolve a blocker, how do you then update python? |
57 |
|
58 |
Most of our boxes will have python in SLOTS 2.2 and 2.3 and 2.4 |
59 |
This is a waste, you only need one. Hence the existence of |
60 |
python-updater. It works like revdep-rebuild, and finds stuff using |
61 |
python then rebuilds then to link to the most recent version. Latest |
62 |
python DEPENDS on python-updater. |
63 |
|
64 |
However, python-updater blocks <=python-2.3.something, so portage is |
65 |
going to bitch about those SLOTS. I can think of 2 procedures to |
66 |
resolve this, only one is tested (credit to Stef for this) |
67 |
|
68 |
run 'emerge --nodeps python-updater' |
69 |
run 'python-updater' |
70 |
This will take a while usually. |
71 |
Use eix to find all merged versions of python. Unmerge all SLOTS <2.4. |
72 |
DO NOT UNMERGE PYTHON-2.4!!!! |
73 |
Now run any portage tool. It will fail with "/usr/bin/python - no such |
74 |
file". Mwahahaha. |
75 |
Relax, python is not borked. The last unmerge will have deleted a |
76 |
symlink. Put it back: |
77 |
|
78 |
ln -s /usr/bin/python2.4 /usr/bin/python |
79 |
|
80 |
Portage will now work again. |
81 |
================= |
82 |
|
83 |
|
84 |
util-linux needs to be removed to build coreutils as there is duplicate |
85 |
functionality. |
86 |
|
87 |
DO NOT UNMERGE COREUTILS!!!!!!!! Just don't even try.... |
88 |
|
89 |
emerge -C util-linux ; emerge coreutils ; emerge util-linux |
90 |
|
91 |
I prefer to get these done and out of the way asap, rather than |
92 |
unmerging a blocker and hoping emerge world will fix stuff as it runs |
93 |
it's course. What is it doesn't and the box is left inconsistent? |
94 |
|
95 |
pam-login no longer exists and it's functionality is replaced by shadow: |
96 |
|
97 |
emerge -C pam-login ; emerge shadow |
98 |
|
99 |
While doing this, keep a second root shell open. After the merge, |
100 |
confirm you can log out of the original shell and correctly log back |
101 |
in. If the shadow merged went wrong somehow, or your pam is funny, you |
102 |
still have a working shell running to fix it. Otherwise, time to fetch |
103 |
the trusty LiveCD |
104 |
|
105 |
> thanks in advance, |
106 |
> Mark |
107 |
|
108 |
|
109 |
|
110 |
-- |
111 |
Alan McKinnon |
112 |
alan dot mckinnon at gmail dot com |
113 |
|
114 |
-- |
115 |
gentoo-user@l.g.o mailing list |