That’s right, this command can be very aggressive. In certain situations it can snowball into a huge package list that includes a lot of important packages. It shouldn’t be run without inspecting the targeted packages very closely. You can easily break your system with this command.
Okay I think I see the confusion here. You keep saying “orphans” but now I am understanding that it is not the term you mean to say, or it does not mean what you think it means. I was responding to this sentence:
An orphan is a package which is installed as a dependency, but is no longer required by any package. That is different from the original issue, where a dependency no longer exists as an available package at all.
Orphans do not exist in the package repositories. That type of dependency relationship is not established until the packages are actually installed.
I think what you are suggesting is there should be automation for a package to detect when one of its dependencies no longer exists. To be honest I really don’t know how practical or useful that would be, but two considerations come to mind off the top of my head:
- It is not something that happens very often.
- When a package has a dependency that no longer exists, probably the package maintainer will need to take a look at the package anyway and decide if additional intervention is needed.
I believe the team is discussing it to see if a change should be made to adopt a more conservative approach to removing orphans.