Description
This is related to #171 but this issue impacts all wheels with a build tag and data files.
For example, using the following command to create a wheel for a package named foo
with version 0.4.2:
python setup.py bdist_wheel --build-number 1337
will create a wheel named foo-0.4.2-1337-py3-none-any.whl
. The build_tag
in:
installer/src/installer/utils.py
Lines 66 to 68 in 444e529
will be 1337
.
Data files in the wheel will have paths such as foo-0.4.2-1337.data/some_folder/some_file.txt
. Due to the implementation of data_dir
:
installer/src/installer/sources.py
Lines 49 to 52 in 444e529
we'll thus have the following variable values here:
installer/src/installer/_core.py
Line 43 in 444e529
assert data_dir == "foo-0.4.2.data"
assert path == "foo-0.4.2-1337.data/some_folder/some_file.txt"
assert posixpath.commonprefix([data_dir, path]) == "foo-0.4.2"
assert posixpath.commonprefix([data_dir, path]) != data_dir
# -> the scheme is incorrectly determined as root_scheme.
Can the implementation of data_dir
be changed to take into account the wheel's build tag?
Environment:
- Python 3.9.17
- setuptools 67.7.2
- installer 0.7.0