googleapis/oauth2client

Conflicts in site-packages/tests

aginiewicz opened this issue · 2 comments

Hello,

I'm maintainer of python{,2}-oauth2client on ArchLinux. Someone reported conflict between oauth2client and two other packages. The conflicts happens due to reuse of "site-packages/tests" directory. The other two packages are python-fs and afl-utils. See ArchLinux bug report: https://bugs.archlinux.org/task/52194

I believe, that oauth2client should either not install this tests directory as part of install script or use less generic name. From package maintainer point of view, we have three options:

  1. remove "site-packages/tests" after installation (I'm not fan of modifying upstream sources)
  2. label the packages as conflicting so no one will be able to install them at the same time (seems not good, as tests are only conflict here!)
  3. could be creation of meta-package with shared content (but the files differ in content, so it's not an option).

As a temporary workaround I can only apply solution "1" as maintainer of afl-utils did, but I think this should be resolved upstream.

Cheers,
Andrzej.

I was able to reproduce this when using the same setup.py install arguments you are using in your package's build script (notably --root). This does not happen when --root is passed without --skip-build which is what your build script does, or when setup.py is invoked with the install argument alone.

What you describe seems to be a problem encountered by other Arch Python lib packagers, maybe they can shed some light on how they solved this issue.

We just need to update two things:

  1. Include tests in manifest.in
  2. Add exclude=('tests',) to find_packages() in setup.py.

If either of you wanna send a PR I'll be happy to review it, but I don't have time to make this (albeit trivial) change this week.