On Thursday 05 July 2007 20:07:58 Arturo 'Buanzo' Busleiman wrote:
> > -u means direct deps will be updated too and that the target (in this
> > case claws-mail) won't be remerged unless there's an upgrade (or
> > downgrade). Without -u it still merges the latest visible version of the
> > target itself..
>
> From man emerge:
>     --update (-u)
>         Updates packages  to the best version available, which may not
>         always be the highest version number due to masking for testing and
>         development. This will also update direct dependencies which may not
>         be what you  want. Package  atoms specified  on the command line are
>         greedy, meaning that unspecific atoms may match multiple installed
>         versions of slotted packages. 
>
> You can use --nodeps, too, so you only update the specific package, with no
> deps.

Why are you posting this? Was I unclear about anything?

If foo has a direct dependency on >=cat/bar-1.5 and you have =cat/bar-1.4 
installed then `emerge foo` will upgrade both foo and bar to latest visible 
versions because that direct dependency on bar is not satisfied. With -u the 
same would happen except foo won't be remerged if there is no upgrade. 
With --nodeps only foo would be upgraded or remerged despite the dependency 
on bar not being satisfied.

If instead you already had =cat/bar-1.5 installed then `emerge foo` would 
upgrade or remerge foo only because the dependency on bar is already 
satisfied. With --update bar would be upgraded if a later version is 
available even though it isn't necessary to satisfy the dependency. 
With --nodeps still only foo gets upgraded or remerged.

In summary --nodeps is potentially *very* dangerous. Don't use it unless you 
know what you are doing. Also don't use --update or --deep if you want to 
minimize the number of upgrades...

-- 
Bo Andresen

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to