Bug 260288 - textproc/py-chardet - Cannot be concurrently installed for multiple versions of python
Summary: textproc/py-chardet - Cannot be concurrently installed for multiple versions ...
Status: Closed Not A Bug
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-python (Nobody)
URL:
Keywords: needs-qa
Depends on:
Blocks:
 
Reported: 2021-12-09 06:24 UTC by parv
Modified: 2021-12-15 21:18 UTC (History)
2 users (show)

See Also:
bugzilla: maintainer-feedback? (python)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description parv 2021-12-09 06:24:57 UTC
I am moving to Python 3.10; set "DEFAULT_VERSIONS+= python=3.10" in "/etc/make.conf".

Build of www/py-requests for python 3.10 stopped because textproc/py-chardet could not be concurrently installed for bot python 3.8 & 3.10 ...

Link: @bin/chardetect --> bin/chardetect-3.10
====> Compressing man pages (compress-man)
===>  Installing for py310-chardet-4.0.0,1
===>  Checking if py310-chardet is already installed
===>   Registering installation for py310-chardet-4.0.0,1 as automatic
Installing py310-chardet-4.0.0,1...
pkg-static: py310-chardet-4.0.0,1 conflicts with py38-chardet-4.0.0,1 (installs files into the same place).  Problematic file: /usr/local/bin/chardetect
*** Error code 1


... I would have expected to install textproc/py-chardet port or package for all the supported versions of python interpreter installed.
Comment 1 Kubilay Kocak freebsd_committer freebsd_triage 2021-12-09 22:07:32 UTC
This port uses USE_PYTHON=concurrent, which all else being equal, should python-version suffix all files in LOCALBASE/bin.

You may be seeing conflicts given you are switching between default Python versions. Specifically as an example, if a user has:

DEFAULT_VERSIONS=python=3.8

1) And installs py-chardet, a 'default link' for LOCALBASE/bin/chardetect will be installed pointing to LOCALBASE/bin/chardetect-3.8

User then switches to DEFAULT_VERSIONS=python=3.10 (without deinstalling py38-chardet)...

2) And installs py-chardet again , a 'default link' for LOCALBASE/bin/chardetect install is attempted, pointing to LOCALBASE/bin/chardetect-3.10, which conflicts with the installed 'default link' from (1)
Comment 2 parv 2021-12-15 21:17:57 UTC
Ok, makes sense.