View previous topic :: View next topic |
Author |
Message |
Carnildo Guru
Joined: 17 Jun 2004 Posts: 594
|
Posted: Fri Jul 17, 2009 5:25 am Post subject: [Solved] Upgrading a 2005.1 system? |
|
|
I'm trying to install Gentoo on an NSLU2 (an embedded ARM system). I've tried following the handbook, but after chrooting, I get error messages that lead me to believe the stage3 is incompatible with the NSLU2. There are specific instructions for the NSLU2, but they mention that a 2005.1 stage3 is the newest available (and as far as I can tell, this is the case). The stage3 works, but leaves me with a version of portage that is incompatible with modern portage trees. To upgrade, it looks like I need one of the following:
1) A way to upgrade Portage without using Portage.
2) A Portage snapshot, probably from early 2007, that will let me bootstrap to a modern version.
3) A stage3 that works with the NSLU2.
Last edited by Carnildo on Sun Jul 19, 2009 1:10 am; edited 1 time in total |
|
Back to top |
|
|
cwr Veteran
Joined: 17 Dec 2005 Posts: 1969
|
Posted: Fri Jul 17, 2009 10:37 am Post subject: |
|
|
Yes, I remember there was a major incompatibility in the portage database sometime
in 2007; I got round it with a complete re-install. The only thing I can think of is to
re-install a current portage (the program) by hand, and then use a current portage
snapshot to rebuild the rest of the system.
Furthermore, it may well be that a current version of portage needs a relatively
current Python. I think you'll have to try it and see.
Will |
|
Back to top |
|
|
John R. Graham Administrator
Joined: 08 Mar 2005 Posts: 10589 Location: Somewhere over Atlanta, Georgia
|
Posted: Fri Jul 17, 2009 11:20 am Post subject: Re: Upgrading a 2005.1 system? |
|
|
Carnildo wrote: | 1) A way to upgrade Portage without using Portage. | See Manually fixing broken portage installations. It contains all the guidance you need to install a modern Portage over that ancient one.
- John _________________ I can confirm that I have received between 0 and 499 National Security Letters. |
|
Back to top |
|
|
dol-sen Retired Dev
Joined: 30 Jun 2002 Posts: 2805 Location: Richmond, BC, Canada
|
Posted: Fri Jul 17, 2009 1:35 pm Post subject: |
|
|
You may want to do a new stage1 install instead as there have been gcc glibc, portage upgrades that will probably make it difficult to upgrage from the old versions.
While it is not the main supported install method it is the method to install on an arch that does not have a stage3. There are still stage1 directions still available to get you to a stage3. Then continue with the stage3 instructions. _________________ Brian
Porthole, the Portage GUI frontend irc@freenode: #gentoo-guis, #porthole, Blog
layman, gentoolkit, CoreBuilder, esearch... |
|
Back to top |
|
|
Carnildo Guru
Joined: 17 Jun 2004 Posts: 594
|
Posted: Fri Jul 17, 2009 9:17 pm Post subject: |
|
|
john_r_graham wrote: | Carnildo wrote: | 1) A way to upgrade Portage without using Portage. | See Manually fixing broken portage installations. It contains all the guidance you need to install a modern Portage over that ancient one. |
Doesn't work: upgrading to Portage 2.1.1 produces the following:
Code: | Traceback (most recent call last):
File "/usr/bin/emerge", line 4049, in ?
emerge_main()
File "/usr/bin/emerge", line 3768, in emerge_main
settings, trees, mtimedb = load_emerge_config()
File "/usr/bin/emerge", line 3679, in load_emerge_config
trees = portage.create_trees(trees=trees, **kwargs)
File "/usr/lib/portage/pym/portage.py", line 6771, in create_trees
config_incrementals=portage_const.INCREMENTALS)
File "/usr/lib/portage/pym/portage.py", line 921, in __init__
addProfile(os.path.realpath(self.profile_path))
File "/usr/lib/portage/pym/portage.py", line 915, in addProfile
addProfile(parentPath)
File "/usr/lib/portage/pym/portage.py", line 915, in addProfile
addProfile(parentPath)
File "/usr/lib/portage/pym/portage.py", line 908, in addProfile
raise portage_exception.ParseError(
NameError: global name 'parents_file' is not defined |
dol-sen wrote: | You may want to do a new stage1 install instead as there have been gcc glibc, portage upgrades that will probably make it difficult to upgrage from the old versions.
While it is not the main supported install method it is the method to install on an arch that does not have a stage3. There are still stage1 directions still available to get you to a stage3. Then continue with the stage3 instructions. |
Where are these instructions? |
|
Back to top |
|
|
Carnildo Guru
Joined: 17 Jun 2004 Posts: 594
|
Posted: Sat Jul 18, 2009 2:11 am Post subject: |
|
|
Carnildo wrote: | john_r_graham wrote: | Carnildo wrote: | 1) A way to upgrade Portage without using Portage. | See Manually fixing broken portage installations. It contains all the guidance you need to install a modern Portage over that ancient one. |
Doesn't work: upgrading to Portage 2.1.1 produces the following:
Code: | Traceback (most recent call last):
File "/usr/bin/emerge", line 4049, in ?
emerge_main()
File "/usr/bin/emerge", line 3768, in emerge_main
settings, trees, mtimedb = load_emerge_config()
File "/usr/bin/emerge", line 3679, in load_emerge_config
trees = portage.create_trees(trees=trees, **kwargs)
File "/usr/lib/portage/pym/portage.py", line 6771, in create_trees
config_incrementals=portage_const.INCREMENTALS)
File "/usr/lib/portage/pym/portage.py", line 921, in __init__
addProfile(os.path.realpath(self.profile_path))
File "/usr/lib/portage/pym/portage.py", line 915, in addProfile
addProfile(parentPath)
File "/usr/lib/portage/pym/portage.py", line 915, in addProfile
addProfile(parentPath)
File "/usr/lib/portage/pym/portage.py", line 908, in addProfile
raise portage_exception.ParseError(
NameError: global name 'parents_file' is not defined |
|
On further checking, 2.1.1 isn't new enough, and everything newer requires Python 2.4 or newer (I've got 2.3). |
|
Back to top |
|
|
Loxley n00b
Joined: 19 Jul 2006 Posts: 12
|
|
Back to top |
|
|
Carnildo Guru
Joined: 17 Jun 2004 Posts: 594
|
Posted: Sat Jul 18, 2009 4:40 am Post subject: |
|
|
The Python on that site doesn't work: trying to run it directly produces the message "bash: /usr/bin/python2.5: No such file or directory"
I think I've found a solution:
1) Manually install Python 2.5 from source (./configure --prefix=/usr; make; make install)
2) Install Portage 2.1.6 following the directions at http://www.gentoo.org/proj/en/portage/doc/manually-fixing-portage.xml
3) With the working copy of Portage that gives you, re-emerge Portage and Python so that Portage knows what's installed. There's a mess of blockers that need to be sorted out, but that's pretty straightforward.
Edit: Step 3 is a bit more complicated than expected:
1) Add python-2.5.4 to /etc/portage/profile/package.provided -- it's installed, Portage just doesn't know it.
2) emerge --pretend --verbose portage
3) Emerge everything on that list except bash, coreutils and portage. It'll prompt you to run etc-update, but don't: it won't work yet.
4) emerge --ask --verbose --oneshot --nodeps bash -- The nodeps option is needed to bypass the bash/portage blocker: Portage thinks portage-2.0.51.22-r2 is installed when 2.1.6 is.
5) etc-update -- it now works.
6) emerge --ask --verbose --oneshot --nodeps portage -- this updates you to portage-2.1.6.13, and informs Portage of what version you really have installed.
7) emerge --fetchonly e2fsprogs e2fsprogs-libs
8) emerge --ask --unmerge com_err ss e2fsprogs
9) emerge --ask --verbose --oneshot e2fsprogs -- this resolves the e2fsprogs blocker
Either:
10a) emerge --ask --verbose --oneshot =uclibc-0.9.28.3-r3 and apply the patch at https://bugs.gentoo.org/249582 to util-linux, or
10b) emerge --ask --verbose --oneshot >=uclibc-0.9.30
11) emerge --ask --verbose --oneshot util-linux -- this resolves the util-linux/coreutils blocker.
12) emerge --ask --verbose --oneshot --nodeps debianutils: both debianutils-2.14.1-r1 and coreutils-7.1 provide /bin/mktemp, but the ebuilds don't have a block here.
13) emerge --ask --verbose --oneshot coreutils -- the remaining dependancy of portage. If you're getting segfaults here, re-emerge lzma-utils.
14) Remove python from package.provided
15) emerge --ask --verbose --oneshot python -- This does a proper update of Python and uninstalls python-2.3.5
16) python-updater
17) emerge --ask --verbose --oneshot findutils -- Portage requires >=findutils-4.2.12, but doesn't have a dependancy on it. |
|
Back to top |
|
|
dol-sen Retired Dev
Joined: 30 Jun 2002 Posts: 2805 Location: Richmond, BC, Canada
|
Posted: Sun Jul 19, 2009 2:15 pm Post subject: |
|
|
It is too late now, but the instructions for a stage 1 are now in the FAQ.
Although, I suspect that it would not have worked quite as easily since your stage3 had the older portage, etc.. _________________ Brian
Porthole, the Portage GUI frontend irc@freenode: #gentoo-guis, #porthole, Blog
layman, gentoolkit, CoreBuilder, esearch... |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|