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