stroller at stellar
Jul 17, 2011, 7:40 AM
On 16 July 2011, at 19:37, Alan Mackenzie wrote:
Re: Anyone got any older Portage snapshots kicking around?
[In reply to]
> 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?
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.