pip 19.0.2 puts wrong filenames in distribution-version.dist-info/RECORD #6266
According to PEP 491, the distribution-1.0.dist-info/RECORD file is supposed to contain the installed paths. However, with pip 19.0.2, when the ChimeraX_Test wheel is installed, it puts in the pathname from the wheel, instead of where it was installed. So ChimeraX_Test-1.0.dist-info/RECORD contains:
ChimeraX_Test-1.0.dist-info/RECORD should contain:
How to Reproduce
Use the wheel for your OS in the attached wheels.zip and the examine the contents of site-packages/ChimeraX_Test-1.0.dist-info/RECORD after installing it.
Try with pip 19.0.1 and 19.0.2.
Examine that Python's site-packages/ChimeraX_Test-1.0.dist-info/RECORD and see the contents of site-packages/chimerax/test/. The locations exist . A separate issue is that uninstalling fails with
Examine that Python's site-packages/ChimeraX_Test-1.0.dist-info/RECORD and see the contents of site-packages/chimerax/test/. The filenames in RECORD are incorrect, but the right files are installed. Uninstalling fails in the same manner.
The text was updated successfully, but these errors were encountered:
Thanks a lot for the report. This was an error I introduced when fixing #6191. :/ It looks like we don't have good test coverage of generated
I added PR #6267 to fix this, with a test of that code path to prevent future regressions. I also made the code more explicit at the point of the bug to make it easier to understand going forward.
### Update [pip](https://pypi.org/project/pip) from **19.0.1** to **19.0.3**. <details> <summary>Changelog</summary> ### 19.0.3 ``` =================== Bug Fixes --------- - Fix an ``IndexError`` crash when a legacy build of a wheel fails. (`6252 <https://github.com/pypa/pip/issues/6252>`_) - Fix a regression introduced in 19.0.2 where the filename in a RECORD file of an installed file would not be updated when installing a wheel. (`6266 <https://github.com/pypa/pip/issues/6266>`_) ``` ### 19.0.2 ``` =================== Bug Fixes --------- - Fix a crash where PEP 517-based builds using ``--no-cache-dir`` would fail in some circumstances with an ``AssertionError`` due to not finalizing a build directory internally. (`6197 <https://github.com/pypa/pip/issues/6197>`_) - Provide a better error message if attempting an editable install of a directory with a ``pyproject.toml`` but no ``setup.py``. (`6170 <https://github.com/pypa/pip/issues/6170>`_) - The implicit default backend used for projects that provide a ``pyproject.toml`` file without explicitly specifying ``build-backend`` now behaves more like direct execution of ``setup.py``, and hence should restore compatibility with projects that were unable to be installed with ``pip`` 19.0. This raised the minimum required version of ``setuptools`` for such builds to 40.8.0. (`6163 <https://github.com/pypa/pip/issues/6163>`_) - Allow ``RECORD`` lines with more than three elements, and display a warning. (`6165 <https://github.com/pypa/pip/issues/6165>`_) - ``AdjacentTempDirectory`` fails on unwritable directory instead of locking up the uninstall command. (`6169 <https://github.com/pypa/pip/issues/6169>`_) - Make failed uninstalls roll back more reliably and better at avoiding naming conflicts. (`6194 <https://github.com/pypa/pip/issues/6194>`_) - Ensure the correct wheel file is copied when building PEP 517 distribution is built. (`6196 <https://github.com/pypa/pip/issues/6196>`_) - The Python 2 end of life warning now only shows on CPython, which is the implementation that has announced end of life plans. (`6207 <https://github.com/pypa/pip/issues/6207>`_) Improved Documentation ---------------------- - Re-write README and documentation index (`5815 <https://github.com/pypa/pip/issues/5815>`_) ``` </details> <details> <summary>Links</summary> - PyPI: https://pypi.org/project/pip - Changelog: https://pyup.io/changelogs/pip/ - Homepage: https://pip.pypa.io/ </details> ### Update [wheel](https://pypi.org/project/wheel) from **0.32.3** to **0.33.1**. <details> <summary>Changelog</summary> ### 0.33.1 ``` - Fixed the ``--build-number`` option for ``wheel pack`` not being applied ``` ### 0.33.0 ``` - Added the ``--build-number`` option to the ``wheel pack`` command - Fixed bad shebangs sneaking into wheels - Fixed documentation issue with ``wheel pack`` erroneously being called ``wheel repack`` - Fixed filenames with "bad" characters (like commas) not being quoted in ``RECORD`` (PR by Paul Moore) - Sort requirements extras to ensure deterministic builds (PR by PoncinMatthieu) ``` </details> <details> <summary>Links</summary> - PyPI: https://pypi.org/project/wheel - Changelog: https://pyup.io/changelogs/wheel/ - Repo: https://github.com/pypa/wheel </details> ### Update [PyYAML](https://pypi.org/project/PyYAML) from **4.2b4** to **5.1b3**. *The bot wasn't able to find a changelog for this release. [Got an idea?](https://github.com/pyupio/changelogs/issues/new)* <details> <summary>Links</summary> - PyPI: https://pypi.org/project/pyyaml - Homepage: http://pyyaml.org/wiki/PyYAML </details>