I suggest that this tool should not emerge broken binaries with the "--oneshot" option by default.What's more revdep-rebuild does not take into account any option to disable this behaviour. I can understand that this behaviour may reduce the chance to get broken thoses binaries again. In fact , using this option "--oneshot" change the world file and some packages are not updated with a "emerge -u world". So my question is : did i misunderstood something important ? or the issue this has been identified but not yet corrected? thanks in adavance for any help /advices Romary Sonrier Reproducible: Always Steps to Reproduce: 1.revdep-rebuild Actual Results: broken packages are emerged with the --oneshot option Expected Results: broken packages should not be emerged with the --oneshot option by default. An option should make possible to activite the --oneshot option.
Revdep-rebuild is used to rebuild currently installed programs when they are missing dependent libaries. --oneshot is used because if it is not used, all the dependencies that were broken get added to /var/lib/portage/world. This is bad, because it causes emerge --depclean to not function properly. All of those dependencies would have to be removed by hand, which defeats the whole point of portage not adding dependencies to the world file. Furthermore, if pkgA is installed ( emerge pkgA ) and then it is installed again with --oneshot ( emerge --oneshot pkgA ) then that package is not removed from / var/lib/portage/world, as illustrated by the attachmenet I will attach in a moment. Feel free to duplicate the behavior and if yours differs, to re-open the bug.
Created attachment 65874 [details] emerge sl, then check world file, then emerge --oneshot sl, then check world file again.
This should be correct behavior.
Your are right, --onshot doesn't change worlde file...