`swift` is specified both as script and entry point, resulting in broken wheels with pep517 installer

Bug #1975361 reported by Michał Górny
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
python-swiftclient
New
Undecided
Unassigned

Bug Description

The `swift` executable is specified both as a regular script and an entry point, i.e.:

  [files]
  scripts =
      bin/swift

  [entry_points]
  console_scripts =
      swift = swiftclient.shell:main

As a result, the resulting wheel tries to install the same script twice and this causes installer to fail:

$ python -m installer --destdir /tmp/z dist/python_swiftclient-4.0.0-py3-none-any.whl
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/usr/lib/python3.11/site-packages/installer/__main__.py", line 85, in <module>
    _main(sys.argv[1:], "python -m installer")
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/installer/__main__.py", line 81, in _main
    installer.install(source, destination, {})
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/installer/_core.py", line 109, in install
    record = destination.write_file(
             ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/installer/destinations.py", line 203, in write_file
    return self.write_to_fs(
           ^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/installer/destinations.py", line 167, in write_to_fs
    raise FileExistsError(message)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileExistsError: File already exists: /tmp/z/usr/bin/swift

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.