On Friday 25 April 2008, Mark Knecht wrote:
> Hi,
>    OK, so this machine I Was speaking of earlier seems ot have a
> number of issues created by a profile update. I'm attempting to move
> from 2005.0 to 2007.0. I'm using these documents as reference:

Ooooh, this is gonna be fun!

> http://www.gentoo.org/doc/en/gentoo-upgrading.xml#doc_chap3
> http://www.gentoo.org/proj/en/portage/doc/manually-fixing-portage.xml
>
> The second document is referenced because no version of portage in
> the library matches up with the version of python on this system.
> I've followed the instructions and now portage seems to work except I
> see this message which looks more like a warning than anything. Can I
> safely ignore it?
>
> myth11 ~ # emerge -pv system >>EmergeSystem.txt
> !!! Problem with sandbox binary. Disabling...
>
> !!! Problem with sandbox binary. Disabling...

Yeah, I think you can disable it for long enough so that you can remerge 
sandbox. Or just take it out of FEATURES till the upgrade is complete


> myth11 ~ #
>
>
> More important are some blocking issues. From the text file I saved
> in the step above I have these blocks:
>
>
> These are the packages that would be merged, in order:
>
> Calculating system dependencies  .^H^H... done!
> [blocks B     ] <dev-lang/python-2.3.6-r2 (is blocking
> app-admin/python-updater-0.2)
> [blocks B     ] <sys-apps/util-linux-2.13 (is blocking
> sys-apps/coreutils-6.10-r2)
> [blocks B     ] sys-apps/pam-login (is blocking
> sys-apps/shadow-4.0.18.2)
>
>
> Are these blocks safe to remove? I assume they are system stuff and
> hence the system might break.

Here's a mail I sent to my colleagues about the python blocks. I'm sure 
there's any easier way, I just didn't find it at the time:

=====================
Upgrading python on stable x86 boxes is a pain in the you know what. 
This time it is worse than usual. Just like the usual bootstrap problem 
of "you need a compiled compiler to compile a compiler so how do you 
compile a compiler?" on Gentoo portage is written in python so if you 
unmerge python to resolve a blocker, how do you then update python?

Most of our boxes will have python in SLOTS 2.2 and 2.3 and 2.4
This is a waste, you only need one. Hence the existence of 
python-updater. It works like revdep-rebuild, and finds stuff using 
python then rebuilds then to link to the most recent version. Latest 
python DEPENDS on python-updater.

However, python-updater blocks <=python-2.3.something, so portage is 
going to bitch about those SLOTS. I can think of 2 procedures to 
resolve this, only one is tested (credit to Stef for this)

run 'emerge --nodeps python-updater'
run 'python-updater'
This will take a while usually.
Use eix to find all merged versions of python. Unmerge all SLOTS <2.4.
DO NOT UNMERGE PYTHON-2.4!!!!
Now run any portage tool. It will fail with "/usr/bin/python - no such 
file". Mwahahaha.
Relax, python is not borked. The last unmerge will have deleted a 
symlink. Put it back:

ln -s /usr/bin/python2.4 /usr/bin/python

Portage will now work again.
=================


util-linux needs to be removed to build coreutils as there is duplicate 
functionality.

DO NOT UNMERGE COREUTILS!!!!!!!! Just don't even try....

emerge -C util-linux ; emerge coreutils ; emerge util-linux

I prefer to get these done and out of the way asap, rather than 
unmerging a blocker and hoping emerge world will fix stuff as it runs 
it's course. What is it doesn't and the box is left inconsistent?

pam-login no longer exists and it's functionality is replaced by shadow:

emerge -C pam-login ; emerge shadow

While doing this, keep a second root shell open. After the merge, 
confirm you can log out of the original shell and correctly log back 
in. If the shadow merged went wrong somehow, or your pam is funny, you 
still have a working shell running to fix it. Otherwise, time to fetch 
the trusty LiveCD

> thanks in advance,
> Mark



-- 
Alan McKinnon
alan dot mckinnon at gmail dot com

-- 
gentoo-user@lists.gentoo.org mailing list

Reply via email to