On 12/07/17 15:36, William L. Thomson Jr. wrote: > On Wed, 12 Jul 2017 15:19:32 +1000 > "Sam Jorna (wraeth)" wrote: > >> On 12/07/17 15:14, William L. Thomson Jr. wrote: >>> Is it in system? >>> Is it in a set? >>> Is it in world? >>> If no to all, its a dep, warn! >> >> All this says is whether the package was explicitly installed and >> recorded in world, or is a member of @system. The target package may >> or may not be a dependency, may or may not have been --oneshot'd. > > Then when the user sees the warning they can discard knowing they > merged the package with --oneshot. I have trouble remembering what I ate for dinner last night, let alone what I may or may not have merged a week, month or year ago, or what options I used when merging it. > What harm does a warning do? Depends on the user, which can't really be avoided, but means that warnings should be clear and meaningful, otherwise they become background noise. >> It may have been installed as a dependency but the requiring package >> was removed, > > Then the person failed to run --depclean and maintain their system. > Either way, did the person install the package directly? > > If the package was not installed by the user. Should they not be warned > about removing something they did not install? Such as: emerge --unmerge dev-python/keyring * This action can remove important packages! In order to be safer, use * `emerge -pv --depclean ` to check for reverse dependencies before * removing packages. >> or may have been installed as an orphan but is now a >> dependency. > > Now being a dependency the warning would be valid. "Sometimes being accurate" is not the most noble of goals. >> Assuming that if it's not in a set it must be a dependency is >> incorrect and misleading. > > Again there are various ways. There cannot be that much overhead to > check if a single package depends on one being removed. If you cannot > use simpler methods as mentioned. > > Clearly people have objections to warnings about packages users did not > install themselves.... > So the idea is to duplicate the functionality of '--depclean ' without actually checking to see if the package is a dependency, only whether it is listed in a set; or to check if it's a dependency of /something/ and, if so, redirect the user to the command they should be using anyway? -- Sam Jorna (wraeth) GnuPG ID: D6180C26