On Mon, Oct 31, 2016 at 12:00:58PM -0200, Athos Ribeiro wrote:
tl;dr: different packages own /usr/lib/pythonX/site-packages/tests
and
different files with the same name inside that directory.
Hi all,
I was going through a package review and realized the package under
review owns
/usr/lib/pythonX/site-packages/tests
and some files inside the directory.
since there were no subdirectories and there were no namespaces for the
file names inside the directory, I went further and realized that the
following packages are doing the same:
python3-custodia-0:0.1.0-3.fc24.noarch
python3-django-federated-login-0:1.0.0-9.fc24.noarch
python3-journal-brief-0:1.1.3-3.fc24.noarch
python3-oauth2-0:1.9.0-2.post1.fc24.noarch
python3-repoze-who-plugins-sa-0:1.0.1-10.20160106gite1a36c5.fc24.noarch
python-custodia-0:0.1.0-3.fc24.noarch
python-django-federated-login-0:1.0.0-9.fc24.noarch
python-libturpial-0:1.7.0-4.fc24.noarch
python-repoze-who-plugins-sa-0:1.0.1-10.20160106gite1a36c5.fc24.noarch
what's the problem with that? Well what if we would have a package named
python-tests? shouldn't it own that directory?
No, it's a bug in each and every one of those packages. Usually this
is an upstream issue, and the fix is to make tests/ a submodule of the
main module.
For example of doing this properly, let's take numpy: it has numpy and
numpy.testing. After installation, you can test your *installed* numpy
by running numpy.testing.test(). Countless other packages get this
right too. Squatting on a common name like "test", "tests",
"testing"
in the global namespace should be caught in review.
Zbyszek