On 16 July 2011, at 19:37, Alan Mackenzie wrote:
> ...
> I have a /usr/portage from 2009-12-20 on my "rescue" system.  I don't
> think I've synched it after that (but I'm too lazy to look up the `find'
> info page to check properly).
> 
> Is that any good?

Yeah, that would be fantastic, thanks, Alan.

Could you possibly tar it up and stick it somewhere for me to download?

> As a matter of interest, how, exactly, are you going to use the old
> portage?  Is it a matter of updating in two moderate chunks rather than
> everything at once?

Yes, basically.

If I were to `emerge --sync` today and try to `emerge -u world` I would get 
loads of blockers where the current version of package X depends on package Y 
version > 2.15. But only version 1.1 of package Y is installed, and the latest 
version depends on some much newer version of package Z. And the latest version 
of package Z depends upon something elseā€¦ 

That's the easy part. What tends to happen as you dig through these is that 
you'll get a bunch of compile time errors because of package version 
incompatibilities, ones that are undocumented or not listed as version 
dependencies because no-one ever tried the latest version of package X with a 3 
year old version of library Y before.

And I think you also tend to get "middle ground" problems where one package 
needs a version of another that is higher than 1.1 but lower than 2.5 and 
neither version are in the tree any more.

I've only done this a couple of times, and never with such a large "leap" as 
would be required for this system. But each time I really had to play it by 
ear, got really ugly compile-time package failures and had to sort them out by 
digging around in the Portage CVS attic. It's not really difficult (for an 
experienced Gentoo admin) it's just a royal pain, and pretty frustrating (as 
you solve one problem, only to run into another). And it seemed like trying to 
be too aggressive in the resolution of the problems made them worse.

So, yes, what I would ideally like to do is update this "6 months at a time". I 
can find a Portage tree that is 6 months newer than the currently installed 
system, then all the packages in the new tree will probably have been tested 
(documented deps &c, clean upgrade path) with the older ones on the system - 
the versions would have been tested by the Gentoo devs contemporaneously when 
they were originally in the Portage tree together. When the system is working 
with the 6 months newer packages, `emerge -e world` (to get *everything* up to 
date with that time snapshot) and then do the same for a tree another 6 months 
newer.

This all sounds very time consuming. But updating a typical Gentoo system that 
is 6 months old doesn't usually present too many problems - the time consuming 
part is the compilation, which can be left running overnight.

Stroller.


Reply via email to