On 04/01/2017 18:06, Corbin Bird wrote:
> 
> On 01/03/2017 02:42 PM, Daniel Frey wrote:
>> So, for the first time I've seen the following message after an `emerge
>> -uDN world`:
>>
>>
>> # emerge -cp
>>
>>  * Always study the list of packages to be cleaned for any obvious
>>  * mistakes. Packages that are part of the world set will always
>>  * be kept.  They can be manually added to this set with
>>  * `emerge --noreplace <atom>`.  Packages that are listed in
>>  * package.provided (see portage(5)) will be removed by
>>  * depclean, even if they are part of the world set.
>>  *
>>  * As a safety measure, depclean will not remove any packages
>>  * unless *all* required dependencies have been resolved.  As a
>>  * consequence of this, it often becomes necessary to run
>>  * `emerge --update --newuse --deep @world` prior to depclean.
>>
>> Calculating dependencies... done!
>>  * Dependencies could not be completely resolved due to
>>  * the following required packages not being installed:
>>  *
>>  *   ~dev-qt/qtdeclarative-5.6.1 pulled in by:
>>  *     dev-qt/linguist-tools-5.6.1
>>  *
>>  *   ~dev-qt/qtxml-5.6.1 pulled in by:
>>  *     dev-qt/linguist-tools-5.6.1
>>  *
>>  *   ~dev-qt/qtcore-5.6.1 pulled in by:
>>  *     dev-qt/linguist-tools-5.6.1
>>  *
>>  * Have you forgotten to do a complete update prior to depclean? The
>>  * most comprehensive command for this purpose is as follows:
>>  *
>>  *   emerge --update --newuse --deep --with-bdeps=y @world
>>  *
>>  * Note that the --with-bdeps=y option is not required in many
>>  * situations. Refer to the emerge manual page (run `man emerge`)
>>  * for more information about --with-bdeps.
>>  *
>>  * Also, note that it may be necessary to manually uninstall
>>  * packages that no longer exist in the portage tree, since it may
>>  * not be possible to satisfy their dependencies.
>>
>> What I don't understand is why these packages were not installed in the
>> first place. Should this be reported as a bug? I've ran an update with
>> --with-bdeps as suggested and it's telling me 20 packages are missing
>> from my system! (And is currently installing them.)
>>
>> What I don't understand is I've been updating and depcleaning for more
>> than a decade and haven't seen that message before. Am I just lucky?
>>
>> Dan
>>
> 
> One switch makes all the difference : --deep
> 
> I have not been getting that error message.
> What I have been using  : emerge --update --tree --newuse --deep
> --with-bdeps=y @world
> 
> Using the --deep switch can / does pull in a lot of seemingly extra
> packages.

--deep is practically *required* to do a full proper update.

Say A is in world, and A depends on B which depends on C.
C is updated in the tree, and usually you will want C updated.

However, update world will NOT update C.
Why? Because "world" is not a synonym for "everything",
"world" is something quite literal - the exact contents of
/var/lib/portage/world (and /var/lib/portage/world_sets if present)

"update world" updates that list only. Adding --deep follows the
dependencies of the list, basically meaning

"update --deep world" IS a synonym for "everything"


-- 
Alan McKinnon
alan.mckin...@gmail.com


Reply via email to