Bug 226077

Summary: net/py-suds-jurko: Please do not install tests/
Product: Ports & Packages Reporter: Yuri Victorovich <yuri>
Component: Individual Port(s)Assignee: Kubilay Kocak <koobs>
Status: Closed FIXED    
Severity: Affects Some People CC: alexander.nusov, ndowens04, python, swills, w.schwarzenfeld, yuri
Priority: --- Flags: alexander.nusov: maintainer-feedback+
koobs: merge-quarterly+
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
Fixes bug none

Description Yuri Victorovich freebsd_committer 2018-02-21 00:50:36 UTC
For example, it installs /usr/local/lib/python2.7/site-packages/tests/__init__.py that may conflict with other packages.

Version 0.6
Comment 1 Nathan 2018-08-24 04:09:24 UTC
Created attachment 196489 [details]
Fixes bug

net/py-suds-jurko:
* Removed Conflicts
  -- Installation of sitelibs into different dir name
* Added install-lib
  -- Fixes "Removed Conflicts" reason
  -- tests dir won't conflict with other packages
Comment 2 Walter Schwarzenfeld freebsd_triage 2019-08-15 04:49:58 UTC
Maintainer timeout!
Comment 3 Kubilay Kocak freebsd_committer freebsd_triage 2020-01-13 07:00:26 UTC
I have a WIP just finishing QA which addresses this issue and adds and fixes the test suite
Comment 4 commit-hook freebsd_committer 2020-01-13 07:03:06 UTC
A commit references this bug:

Author: koobs
Date: Mon Jan 13 07:02:36 UTC 2020
New revision: 522860
URL: https://svnweb.freebsd.org/changeset/ports/522860

Log:
  net/py-suds-jurko: Fix tests installed into shared location [1]

  This package installs its 'tests' module into a non-package-specific
  location in the root site-packages directory. Python packages should/usually
  address this by excluding tests from installation using
  setup.py: find_packages(exclude[ "<package-glob>" ]).

  Unfortunately the above 'simple' change cannot be used because it doesn't
  allow the package to be tested on Python 3.x, as the tests package is not
  processed by 2to3, and the tests need to be run on the processed (by 2to3)
  sources. This may be the original reason upstream didn't remove them from
  the build, not grokking the ramifications.

  Accordingly, this change moves the tests into the main package namespace
  and runs the tests on the processed sources in the resulting build/*
  directory. Remove CONFLICTS_INSTALL (to py-suds) accordingly.

  While I'm here:

  Patch the tests to support pytest > 4 and hack around the
  inability to reference parametrized tests (test[foo]) in pytests -k
  expressions. [1][2]

  Level up ports compliance: LICENSE_FILE, USE{S} ordering, match COMMENT
  to setup.py:description, match pkg-descr WWW URL to setup.py:homepage

  QA: All tests pass on Python 2.7-3.8

  [1] https://github.com/pytest-dev/pytest/issues/5881
  [2] https://github.com/pytest-dev/pytest/issues/6177

  PR:		226077
  Reported by:	yuri [1]
  Approved by:	portmgr (blanket: ports compliance)
  MFH:		2020Q1 (blanket: ports compliance, port bugfixes)

Changes:
  head/net/py-suds-jurko/Makefile
  head/net/py-suds-jurko/files/
  head/net/py-suds-jurko/files/patch-setup.cfg
  head/net/py-suds-jurko/files/patch-tests_indirect__parametrize.py
  head/net/py-suds-jurko/pkg-descr
Comment 5 commit-hook freebsd_committer 2020-01-13 07:04:08 UTC
A commit references this bug:

Author: koobs
Date: Mon Jan 13 07:03:57 UTC 2020
New revision: 522861
URL: https://svnweb.freebsd.org/changeset/ports/522861

Log:
  net/py-suds-jurko: Bump PORTREVISION missed in ports r522860

  PR:	226077
  MFH:	2020Q1 (MFH with ports r522860)

Changes:
  head/net/py-suds-jurko/Makefile
Comment 6 commit-hook freebsd_committer 2020-01-13 07:08:09 UTC
A commit references this bug:

Author: koobs
Date: Mon Jan 13 07:07:36 UTC 2020
New revision: 522862
URL: https://svnweb.freebsd.org/changeset/ports/522862

Log:
  MFH: r522860 r522861

  net/py-suds-jurko: Fix tests installed into shared location [1]

  This package installs its 'tests' module into a non-package-specific
  location in the root site-packages directory. Python packages should/usually
  address this by excluding tests from installation using
  setup.py: find_packages(exclude[ "<package-glob>" ]).

  Unfortunately the above 'simple' change cannot be used because it doesn't
  allow the package to be tested on Python 3.x, as the tests package is not
  processed by 2to3, and the tests need to be run on the processed (by 2to3)
  sources. This may be the original reason upstream didn't remove them from
  the build, not grokking the ramifications.

  Accordingly, this change moves the tests into the main package namespace
  and runs the tests on the processed sources in the resulting build/*
  directory. Remove CONFLICTS_INSTALL (to py-suds) accordingly.

  While I'm here:

  Patch the tests to support pytest > 4 and hack around the
  inability to reference parametrized tests (test[foo]) in pytests -k
  expressions. [1][2]

  Level up ports compliance: LICENSE_FILE, USE{S} ordering, match COMMENT
  to setup.py:description, match pkg-descr WWW URL to setup.py:homepage

  QA: All tests pass on Python 2.7-3.8

  [1] https://github.com/pytest-dev/pytest/issues/5881
  [2] https://github.com/pytest-dev/pytest/issues/6177

  PR:		226077
  Reported by:	yuri [1]
  Approved by:	portmgr (blanket: ports compliance)

  net/py-suds-jurko: Bump PORTREVISION missed in ports r522860

  PR:	226077

  Approved by:	ports-secteam (blanket(s): ports compliance, port bugfixes)

Changes:
_U  branches/2020Q1/
  branches/2020Q1/net/py-suds-jurko/Makefile
  branches/2020Q1/net/py-suds-jurko/files/
  branches/2020Q1/net/py-suds-jurko/pkg-descr
Comment 7 commit-hook freebsd_committer 2020-01-13 07:08:11 UTC
A commit references this bug:

Author: koobs
Date: Mon Jan 13 07:07:37 UTC 2020
New revision: 522862
URL: https://svnweb.freebsd.org/changeset/ports/522862

Log:
  MFH: r522860 r522861

  net/py-suds-jurko: Fix tests installed into shared location [1]

  This package installs its 'tests' module into a non-package-specific
  location in the root site-packages directory. Python packages should/usually
  address this by excluding tests from installation using
  setup.py: find_packages(exclude[ "<package-glob>" ]).

  Unfortunately the above 'simple' change cannot be used because it doesn't
  allow the package to be tested on Python 3.x, as the tests package is not
  processed by 2to3, and the tests need to be run on the processed (by 2to3)
  sources. This may be the original reason upstream didn't remove them from
  the build, not grokking the ramifications.

  Accordingly, this change moves the tests into the main package namespace
  and runs the tests on the processed sources in the resulting build/*
  directory. Remove CONFLICTS_INSTALL (to py-suds) accordingly.

  While I'm here:

  Patch the tests to support pytest > 4 and hack around the
  inability to reference parametrized tests (test[foo]) in pytests -k
  expressions. [1][2]

  Level up ports compliance: LICENSE_FILE, USE{S} ordering, match COMMENT
  to setup.py:description, match pkg-descr WWW URL to setup.py:homepage

  QA: All tests pass on Python 2.7-3.8

  [1] https://github.com/pytest-dev/pytest/issues/5881
  [2] https://github.com/pytest-dev/pytest/issues/6177

  PR:		226077
  Reported by:	yuri [1]
  Approved by:	portmgr (blanket: ports compliance)

  net/py-suds-jurko: Bump PORTREVISION missed in ports r522860

  PR:	226077

  Approved by:	ports-secteam (blanket(s): ports compliance, port bugfixes)

Changes:
_U  branches/2020Q1/
  branches/2020Q1/net/py-suds-jurko/Makefile
  branches/2020Q1/net/py-suds-jurko/files/
  branches/2020Q1/net/py-suds-jurko/pkg-descr
Comment 8 Kubilay Kocak freebsd_committer freebsd_triage 2020-01-13 07:09:46 UTC
Committed and merged with several required changes/additions.
Comment 9 Kubilay Kocak freebsd_committer freebsd_triage 2020-01-13 07:11:18 UTC
Note: tests remain installed, just not in the shared / system-wide site-packages directory. This is required until an alternative can be found to exclude them from installation (and the build/ dir), but also keeping the ability to test the package under Python 3.x, which needs 2to3 processing, which doesn't happen if the module isn't included.