I usually run a bunch of commands for updating but I noticed the following: * 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, it is often 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: * * virtual/awk pulled in by: * app-text/yelp-tools-3.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. Would be possible to add an option (that I could append to my EMERGE_DEFAULT_OPTS) to automatically run that command when this kind of error is triggered? Thanks a lot Reproducible: Always
I'd rather not automate this, since you can just copy and paste the command. If you're looking to automate it yourself, you could just run that command before you call emerge --depclean.
I thought on that but, as the information shown by portage says, it's usually not needed to update bdeps too :/
I got this message too; it appears to reveal a bug in Portage. emerge -DuN world says nothing to merge, but if I explicitly tell it to remerge yelp-tools, it pulls in the awk meta-ebuild. If that's a dependancy, why isn't it part of the world tree? splig ~ # emerge -pv app-text/yelp-tools These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild N ] virtual/awk-0 0 kB [ebuild R ] app-text/yelp-tools-3.4.1 0 kB Total: 2 packages (1 new, 1 reinstall), Size of downloads: 0 kB
(In reply to comment #3) app-text/yelp-tools is probably a build-time only dependency, so it will only be pulled in if you specify --with-bdeps=y. Please refer to the "Why is it that emerge does not update all packages?" part of the FAQ: http://www.gentoo.org/proj/en/portage/doc/faq.xml
Also, not that the emerge --dynamic-deps option is enabled by default, so the virtual/awk dependency was likely add *after* your current version of app-text/yelp-tools was installed.
I see, Portage doesn't pull it in because it isn't rebuilding yelp-tools. I'll just --oneshot it then and everything should be OK. Thanks for the explanation :)