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 [email protected]

