Bo Ørsted Andresen escribió:
On Tuesday 17 July 2007 00:46:08 maxim wexler wrote:
So, emerge portage results in one package being
installed, portage, 61kb.
emerge -u portage lines up 5 or 6 packages plus
portage, 18Mb.
Went ahead and just did the one package, figuring
later I could do an emerge -u for the rest of it.
But this is what happens:
[EMAIL PROTECTED] ~ $ emerge -pv portage
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild R ] sys-apps/portage-2.1.2.9 USE="-build
-doc -epydoc (-selinux)" LINGUAS="-pl" 0 kB
Total: 1 package (1 reinstall), Size of downloads: 0
kB
What I expected.
[EMAIL PROTECTED] ~ $ emerge -puv portage
These are the packages that would be merged, in order:
Calculating dependencies... done!
Total: 0 packages, Size of downloads: 0 kB
So why doesn't it list the upgrade part now?
Because --update stops calculating deps when none of the specified targets
need updating. Only --deep checks the consistency of all dependencies even
when none of the targets need updating. You could argue it's a deficiency in
portage (although well-known)..
It may sound a bit off-topic, but there is (at least) one very good
reason for portage behaving this way, just think of the following scenario:
We have installed an application called APP (yes, very smart name) and
this application depends on a dynamic library called LIB (yet smarter
name). At installation APP was in version 1.0 and LIB in version 2.0.
Now think there's a new version available of LIB, let's say version 2.1,
but the latest version of APP is still 1.0. If portage performed a deep
update by default LIB would be rebuilt, but no APP, what would cause
broken dependencies on APP (remember LIB is a dynamic library). However,
is you don't update LIB unless you update also APP you will prevent this
problem*.
Just my 0.02 ;-)
Abraham
* Needless to say, the problem will still arise if two applications
depend on the same dynamic library, which is a common case, and only one
of them is updated, but still it's an improvement.
--
[EMAIL PROTECTED] mailing list