Gentoo Archives: gentoo-amd64

From: Duncan <1i5t5.duncan@×××.net>
To: gentoo-amd64@l.g.o
Subject: [gentoo-amd64] Re: updating world [solved]Hi
Date: Sun, 15 Jan 2006 15:44:37
In Reply to: Re: [gentoo-amd64] updating world [solved]Hi by Gavin Seddon
Gavin Seddon posted <1137324262.8981.5.camel@linuxstation>, excerpted
below,  on Sun, 15 Jan 2006 11:24:22 +0000:

> I ran 'emerge -euDv portage > ' and it fixed the problem. Thanks > D = downgrade, (Best version seems lower)
Glad you got the problem fixed, but that downgrade thing is a misunderstanding. In actuality, -D = --deep. When you normally run -u/--update, portage will update the packages you merged directly, but not any dependencies such as libraries that were merged not because you asked to emerge them but because the packages you ASKED to merge required them. I see you use evolution as your mail client, so I'll use it for an example. If you have the spell USE flag set, evolution will require gnome-spell, so portage will automatically merge gnome-spell first, before merging evolution. emerge -u evolution or emerge -u world will check for updates for evolution, but won't check for updates for gnome-spell, unless a new version of evolution requires the update, or the old gnome-spell currently merged is removed for some reason. When the current gnome-spell version already merged doesn't meet the requirements any more, either because evolution changed and required a different version, or because the old version was masked/removed (say a security issue caused its masking and removal), portage will of course /then/ look again to find the best version it can to merge to meet the new requirements. --deep causes portage to check all the dependencies as WELL, not just the stuff you emerged by name. Thus, even when your current version of gnome-spell continues to satisfy evolution's dependencies, the --deep (or -D) will force portage to check for new versions of gnome-spell as well, and upgrade if one is found. Of course, if you use -e/--emptytree, you shouldn't need -D/--deep anyway, because if portage thinks the tree is empty -- that you don't have anything merged yet -- it will naturally merge the latest version it can, because you are telling it not to count the currently merged stuff. As for downgrading, that's the -u/--update vs. -U/--upgradeonly thing. Portage will by default downgrade you if it thinks you need to downgrade -- basically, if your current package is masked, because they found something badly wrong with it. -U causes portage to ONLY upgrade. It won't downgrade packages with -U, even if there's a security issue or something that caused the devs to mask the version you are currently using. That's why the -U option is **NOT** recommended. Still, it's there, just in case you WANT it to keep "broken" packages, for some reason. -- Duncan - List replies preferred. No HTML msgs. "Every nonfree program has a lord, a master -- and if you use the program, he is your master." Richard Stallman in -- gentoo-amd64@g.o mailing list