On Friday, February 21, 2014 17:01:06 Eric Bélanger wrote:
On Fri, Feb 21, 2014 at 6:10 AM, Felix Yan <felixonmars@gmail.com> wrote:
This rule detects python imports from pkg_resources from python*-setupsools in /usr/bin/*. Missing dependency on corresponding setuptools package will render the executables unusable.
Why do we need a special rule for setuptools? It is not different that the hundreds of python packages required to run all the different binaries out there. IMO, this is a case where the packager should consult the upstream documentation.
Sorry, I should explain more on the commit message. I have the following reasons to have this special rule for setuptools added: - Upstreams often recommend to use "pip install xxx" and have setuptools installed at installation time, since setuptools is a hard dependency of pip. But this doesn't give any information about if setuptools is still needed after installation. The rule I added will just check for that. - Adding executables with dependency on setuptools is a default behavior of setuptools [1]. Even upstream themselves may not care about it too much. But it's still something that we have to care when packaging. - setuptools is kind of a basic package, like the existing rule to check for kdelibs. Packagers may not notice the dependency, since he or she may already installed something that depends on setuptools. - We already have 17 bug reports on flyspray about missing dependency on setuptools, out of 24 total for a search of setuptools [2]. And you may notice that hgsvn has appeared twice - that may mean, after a new packager see the information about dependency not needed: setuptools, he removed it. This is where namcap could help. Let me know about what you think :) [1] http://guide.python-distribute.org/creation.html#entry-points [2] https://bugs.archlinux.org/index.php?string=setuptools&project=0&search_name=&type%5B%5D=&sev%5B%5D=&pri%5B%5D=&due%5B%5D=&reported%5B%5D=&cat%5B%5D=&status%5B%5D=&percent%5B%5D=&opened=&dev=&closed=&duedatefrom=&duedateto=&changedfrom=&changedto=&openedfrom=&openedto=&closedfrom=&closedto=&do=index Regards, Felix Yan