On line 5 of the ebuild for sys-apps/file-4.23 distutils is inherited. Distutils inherits the python eclass and thus virtual/python is added to DEPEND. Reproducible: Always Steps to Reproduce: 1. install file 2. 3. Actual Results: the package manager will also want to install python, even if it's disabled in use flags. Expected Results: File should get installed without having virtual/python as dependency Possible fix would be to remove 'distutils ' from the inherit line and add a line 'use python && inherit distutils' below.
This is very annoying if you run paludis and don't need python. Especially if you consider that everytime you run python somebody kills a kitten.
This is even more annoying when crosscompiling for an embedded system that really has no use for python. The problem is with the distutils eclass that uncoditionaly adds this dependancy.
I think a better way to add this would be with a var like NO_AUTO_DEP If set, DEPEND is not automatically appended with virtual/python. This would be relevant for subversion.eclass as well (django ebuild tests). In the meantime, people can just do package.provided for virtual/python, or get some other blank package to satisfy the dep.
(In reply to comment #3) > I think a better way to add this would be with a var like NO_AUTO_DEP Seems to me that's a workaround, not a solution. > In the meantime, people can just do package.provided for virtual/python, or get > some other blank package to satisfy the dep. I'd suggest everyone to create their own ebuild, and either removing all the mention of python in it or at least the distutils inherit (I believe "use FLAG" is not supposed to be used in ebuilds anymore).
(In reply to comment #4) > (In reply to comment #3) > > I think a better way to add this would be with a var like NO_AUTO_DEP > Seems to me that's a workaround, not a solution. > Conditional inherits are not allowed, since they would invalidate metadata cache, and multiple inherits are also not allowed. The easiest cache-invariant method I can think of is the NO_AUTO_DEP solution.
*** Bug 284051 has been marked as a duplicate of this bug. ***
Nirbheek's solution is what other packages do too. The alternative is splitting the Python bindings in their own package.
(In reply to comment #1) > Especially if you consider that everytime you run python somebody kills a > kitten. Everytime you run Paludis somebody kills a kitten.
Created attachment 203625 [details, diff] file-5.03.ebuild.patch sys-apps/file maintainers: Please apply this patch.
feel free to commit it
Fixed.
*** Bug 268919 has been marked as a duplicate of this bug. ***
(In reply to comment #8) > (In reply to comment #1) > > Especially if you consider that everytime you run python somebody kills a > > kitten. > > Everytime you run Paludis somebody kills a kitten. > Only in Portage compatibility mode. Thanks for squashing this one guys!