Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build toolchain now remplaces '-' characters in a package name with '_' characters in the .tar.gz distribution file #15770

Closed
HubTou opened this issue Apr 14, 2024 · 1 comment
Labels
bug 🐛 not-this-repo For any issues that are not for this repository requires triaging maintainers need to do initial inspection of issue

Comments

@HubTou
Copy link

HubTou commented Apr 14, 2024

Describe the bug
Since April 1st, the build toolchain now remplaces '-' characters in a package name with '_' characters in the .tar.gz distribution file

Expected behavior
Do not change the characters in distribution file names.

To Reproduce
Without making any change in my setup.cfg file apart from the software version, I see:

In https://pypi.org/manage/project/pnu-portstreelint/release/1.3.0/
pnu-portstreelint-1.3.0.tar.gz (25.5 kB)

In https://pypi.org/manage/project/pnu-portstreelint/release/1.4.0/
pnu_portstreelint-1.4.0.tar.gz

My Platform
Software packaged on:

  • FreeBSD 14.0
  • Python 3.9.18
  • build 1.2.1

I see that build was updated 2 weeks ago: https://github.com/pypa/build/releases
Maybe it's the origin in this behaviour change?

Additional context

$ head -2 setup.cfg
[metadata]
name = pnu-portstreelint

$ python -m build
* Creating isolated environment: venv+pip...
* Installing packages in isolated environment:
  - setuptools
* Getting build dependencies for sdist...
running egg_info
creating src/pnu_portstreelint.egg-info
writing src/pnu_portstreelint.egg-info/PKG-INFO
writing dependency_links to src/pnu_portstreelint.egg-info/dependency_links.txt
writing entry points to src/pnu_portstreelint.egg-info/entry_points.txt
writing requirements to src/pnu_portstreelint.egg-info/requires.txt
writing top-level names to src/pnu_portstreelint.egg-info/top_level.txt
writing manifest file 'src/pnu_portstreelint.egg-info/SOURCES.txt'
reading manifest file 'src/pnu_portstreelint.egg-info/SOURCES.txt'
adding license file 'License'
writing manifest file 'src/pnu_portstreelint.egg-info/SOURCES.txt'
* Building sdist...
running sdist
running egg_info
writing src/pnu_portstreelint.egg-info/PKG-INFO
writing dependency_links to src/pnu_portstreelint.egg-info/dependency_links.txt
writing entry points to src/pnu_portstreelint.egg-info/entry_points.txt
writing requirements to src/pnu_portstreelint.egg-info/requires.txt
writing top-level names to src/pnu_portstreelint.egg-info/top_level.txt
reading manifest file 'src/pnu_portstreelint.egg-info/SOURCES.txt'
adding license file 'License'
writing manifest file 'src/pnu_portstreelint.egg-info/SOURCES.txt'
running check
creating pnu_portstreelint-1.4.1
creating pnu_portstreelint-1.4.1/man
creating pnu_portstreelint-1.4.1/src
creating pnu_portstreelint-1.4.1/src/pnu_portstreelint.egg-info
creating pnu_portstreelint-1.4.1/src/portstreelint
copying files to pnu_portstreelint-1.4.1...
copying License -> pnu_portstreelint-1.4.1
copying README.md -> pnu_portstreelint-1.4.1
copying pyproject.toml -> pnu_portstreelint-1.4.1
copying setup.cfg -> pnu_portstreelint-1.4.1
copying man/portstreelint.8.gz -> pnu_portstreelint-1.4.1/man
copying src/pnu_portstreelint.egg-info/PKG-INFO -> pnu_portstreelint-1.4.1/src/pnu_portstreelint.egg-info
copying src/pnu_portstreelint.egg-info/SOURCES.txt -> pnu_portstreelint-1.4.1/src/pnu_portstreelint.egg-info
copying src/pnu_portstreelint.egg-info/dependency_links.txt -> pnu_portstreelint-1.4.1/src/pnu_portstreelint.egg-info
copying src/pnu_portstreelint.egg-info/entry_points.txt -> pnu_portstreelint-1.4.1/src/pnu_portstreelint.egg-info
copying src/pnu_portstreelint.egg-info/requires.txt -> pnu_portstreelint-1.4.1/src/pnu_portstreelint.egg-info
copying src/pnu_portstreelint.egg-info/top_level.txt -> pnu_portstreelint-1.4.1/src/pnu_portstreelint.egg-info
copying src/portstreelint/__init__.py -> pnu_portstreelint-1.4.1/src/portstreelint
copying src/portstreelint/check_categories.py -> pnu_portstreelint-1.4.1/src/portstreelint
copying src/portstreelint/check_comment.py -> pnu_portstreelint-1.4.1/src/portstreelint
copying src/portstreelint/check_description_file.py -> pnu_portstreelint-1.4.1/src/portstreelint
copying src/portstreelint/check_installation_prefix.py -> pnu_portstreelint-1.4.1/src/portstreelint
copying src/portstreelint/check_licenses.py -> pnu_portstreelint-1.4.1/src/portstreelint
copying src/portstreelint/check_maintainer.py -> pnu_portstreelint-1.4.1/src/portstreelint
copying src/portstreelint/check_marks.py -> pnu_portstreelint-1.4.1/src/portstreelint
copying src/portstreelint/check_plist.py -> pnu_portstreelint-1.4.1/src/portstreelint
copying src/portstreelint/check_port_path.py -> pnu_portstreelint-1.4.1/src/portstreelint
copying src/portstreelint/check_unchanging_ports.py -> pnu_portstreelint-1.4.1/src/portstreelint
copying src/portstreelint/check_vulnerabilities.py -> pnu_portstreelint-1.4.1/src/portstreelint
copying src/portstreelint/check_www_site.py -> pnu_portstreelint-1.4.1/src/portstreelint
copying src/portstreelint/library.py -> pnu_portstreelint-1.4.1/src/portstreelint
copying src/portstreelint/load_config.py -> pnu_portstreelint-1.4.1/src/portstreelint
copying src/portstreelint/load_data.py -> pnu_portstreelint-1.4.1/src/portstreelint
copying src/portstreelint/main.py -> pnu_portstreelint-1.4.1/src/portstreelint
copying src/portstreelint/show_categories.py -> pnu_portstreelint-1.4.1/src/portstreelint
copying src/portstreelint/show_maintainers.py -> pnu_portstreelint-1.4.1/src/portstreelint
copying src/portstreelint/show_notifications.py -> pnu_portstreelint-1.4.1/src/portstreelint
copying src/portstreelint/show_summary.py -> pnu_portstreelint-1.4.1/src/portstreelint
copying src/pnu_portstreelint.egg-info/SOURCES.txt -> pnu_portstreelint-1.4.1/src/pnu_portstreelint.egg-info
Writing pnu_portstreelint-1.4.1/setup.cfg
Creating tar archive
removing 'pnu_portstreelint-1.4.1' (and everything under it)
* Building wheel from sdist
* Creating isolated environment: venv+pip...
* Installing packages in isolated environment:
  - setuptools
* Getting build dependencies for wheel...
running egg_info
writing src/pnu_portstreelint.egg-info/PKG-INFO
writing dependency_links to src/pnu_portstreelint.egg-info/dependency_links.txt
writing entry points to src/pnu_portstreelint.egg-info/entry_points.txt
writing requirements to src/pnu_portstreelint.egg-info/requires.txt
writing top-level names to src/pnu_portstreelint.egg-info/top_level.txt
reading manifest file 'src/pnu_portstreelint.egg-info/SOURCES.txt'
adding license file 'License'
writing manifest file 'src/pnu_portstreelint.egg-info/SOURCES.txt'
* Installing packages in isolated environment:
  - wheel
* Building wheel...
running bdist_wheel
running build
running build_py
creating build
creating build/lib
creating build/lib/portstreelint
copying src/portstreelint/__init__.py -> build/lib/portstreelint
copying src/portstreelint/check_categories.py -> build/lib/portstreelint
copying src/portstreelint/check_comment.py -> build/lib/portstreelint
copying src/portstreelint/check_description_file.py -> build/lib/portstreelint
copying src/portstreelint/check_installation_prefix.py -> build/lib/portstreelint
copying src/portstreelint/check_licenses.py -> build/lib/portstreelint
copying src/portstreelint/check_maintainer.py -> build/lib/portstreelint
copying src/portstreelint/check_marks.py -> build/lib/portstreelint
copying src/portstreelint/check_plist.py -> build/lib/portstreelint
copying src/portstreelint/check_port_path.py -> build/lib/portstreelint
copying src/portstreelint/check_unchanging_ports.py -> build/lib/portstreelint
copying src/portstreelint/check_vulnerabilities.py -> build/lib/portstreelint
copying src/portstreelint/check_www_site.py -> build/lib/portstreelint
copying src/portstreelint/library.py -> build/lib/portstreelint
copying src/portstreelint/load_config.py -> build/lib/portstreelint
copying src/portstreelint/load_data.py -> build/lib/portstreelint
copying src/portstreelint/main.py -> build/lib/portstreelint
copying src/portstreelint/show_categories.py -> build/lib/portstreelint
copying src/portstreelint/show_maintainers.py -> build/lib/portstreelint
copying src/portstreelint/show_notifications.py -> build/lib/portstreelint
copying src/portstreelint/show_summary.py -> build/lib/portstreelint
installing to build/bdist.freebsd-14.0-RELEASE-amd64/wheel
running install
running install_lib
creating build/bdist.freebsd-14.0-RELEASE-amd64
creating build/bdist.freebsd-14.0-RELEASE-amd64/wheel
creating build/bdist.freebsd-14.0-RELEASE-amd64/wheel/portstreelint
copying build/lib/portstreelint/__init__.py -> build/bdist.freebsd-14.0-RELEASE-amd64/wheel/portstreelint
copying build/lib/portstreelint/check_categories.py -> build/bdist.freebsd-14.0-RELEASE-amd64/wheel/portstreelint
copying build/lib/portstreelint/check_comment.py -> build/bdist.freebsd-14.0-RELEASE-amd64/wheel/portstreelint
copying build/lib/portstreelint/check_description_file.py -> build/bdist.freebsd-14.0-RELEASE-amd64/wheel/portstreelint
copying build/lib/portstreelint/check_installation_prefix.py -> build/bdist.freebsd-14.0-RELEASE-amd64/wheel/portstreelint
copying build/lib/portstreelint/check_licenses.py -> build/bdist.freebsd-14.0-RELEASE-amd64/wheel/portstreelint
copying build/lib/portstreelint/check_maintainer.py -> build/bdist.freebsd-14.0-RELEASE-amd64/wheel/portstreelint
copying build/lib/portstreelint/check_marks.py -> build/bdist.freebsd-14.0-RELEASE-amd64/wheel/portstreelint
copying build/lib/portstreelint/check_plist.py -> build/bdist.freebsd-14.0-RELEASE-amd64/wheel/portstreelint
copying build/lib/portstreelint/check_port_path.py -> build/bdist.freebsd-14.0-RELEASE-amd64/wheel/portstreelint
copying build/lib/portstreelint/check_unchanging_ports.py -> build/bdist.freebsd-14.0-RELEASE-amd64/wheel/portstreelint
copying build/lib/portstreelint/check_vulnerabilities.py -> build/bdist.freebsd-14.0-RELEASE-amd64/wheel/portstreelint
copying build/lib/portstreelint/check_www_site.py -> build/bdist.freebsd-14.0-RELEASE-amd64/wheel/portstreelint
copying build/lib/portstreelint/library.py -> build/bdist.freebsd-14.0-RELEASE-amd64/wheel/portstreelint
copying build/lib/portstreelint/load_config.py -> build/bdist.freebsd-14.0-RELEASE-amd64/wheel/portstreelint
copying build/lib/portstreelint/load_data.py -> build/bdist.freebsd-14.0-RELEASE-amd64/wheel/portstreelint
copying build/lib/portstreelint/main.py -> build/bdist.freebsd-14.0-RELEASE-amd64/wheel/portstreelint
copying build/lib/portstreelint/show_categories.py -> build/bdist.freebsd-14.0-RELEASE-amd64/wheel/portstreelint
copying build/lib/portstreelint/show_maintainers.py -> build/bdist.freebsd-14.0-RELEASE-amd64/wheel/portstreelint
copying build/lib/portstreelint/show_notifications.py -> build/bdist.freebsd-14.0-RELEASE-amd64/wheel/portstreelint
copying build/lib/portstreelint/show_summary.py -> build/bdist.freebsd-14.0-RELEASE-amd64/wheel/portstreelint
running install_data
creating build/bdist.freebsd-14.0-RELEASE-amd64/wheel/pnu_portstreelint-1.4.1.data
creating build/bdist.freebsd-14.0-RELEASE-amd64/wheel/pnu_portstreelint-1.4.1.data/data
creating build/bdist.freebsd-14.0-RELEASE-amd64/wheel/pnu_portstreelint-1.4.1.data/data/share
creating build/bdist.freebsd-14.0-RELEASE-amd64/wheel/pnu_portstreelint-1.4.1.data/data/share/man
creating build/bdist.freebsd-14.0-RELEASE-amd64/wheel/pnu_portstreelint-1.4.1.data/data/share/man/man8
copying man/portstreelint.8.gz -> build/bdist.freebsd-14.0-RELEASE-amd64/wheel/pnu_portstreelint-1.4.1.data/data/share/man/man8
running install_egg_info
running egg_info
writing src/pnu_portstreelint.egg-info/PKG-INFO
writing dependency_links to src/pnu_portstreelint.egg-info/dependency_links.txt
writing entry points to src/pnu_portstreelint.egg-info/entry_points.txt
writing requirements to src/pnu_portstreelint.egg-info/requires.txt
writing top-level names to src/pnu_portstreelint.egg-info/top_level.txt
reading manifest file 'src/pnu_portstreelint.egg-info/SOURCES.txt'
adding license file 'License'
writing manifest file 'src/pnu_portstreelint.egg-info/SOURCES.txt'
Copying src/pnu_portstreelint.egg-info to build/bdist.freebsd-14.0-RELEASE-amd64/wheel/pnu_portstreelint-1.4.1-py3.9.egg-info
running install_scripts
creating build/bdist.freebsd-14.0-RELEASE-amd64/wheel/pnu_portstreelint-1.4.1.dist-info/WHEEL
creating '/home/hubert/dev/pnu-project/pnu-portstreelint/dist/.tmp-qh5hrrt5/pnu_portstreelint-1.4.1-py3-none-any.whl' and adding 'build/bdist.freebsd-14.0-RELEASE-amd64/wheel' to it
adding 'pnu_portstreelint-1.4.1.data/data/share/man/man8/portstreelint.8.gz'
adding 'portstreelint/__init__.py'
adding 'portstreelint/check_categories.py'
adding 'portstreelint/check_comment.py'
adding 'portstreelint/check_description_file.py'
adding 'portstreelint/check_installation_prefix.py'
adding 'portstreelint/check_licenses.py'
adding 'portstreelint/check_maintainer.py'
adding 'portstreelint/check_marks.py'
adding 'portstreelint/check_plist.py'
adding 'portstreelint/check_port_path.py'
adding 'portstreelint/check_unchanging_ports.py'
adding 'portstreelint/check_vulnerabilities.py'
adding 'portstreelint/check_www_site.py'
adding 'portstreelint/library.py'
adding 'portstreelint/load_config.py'
adding 'portstreelint/load_data.py'
adding 'portstreelint/main.py'
adding 'portstreelint/show_categories.py'
adding 'portstreelint/show_maintainers.py'
adding 'portstreelint/show_notifications.py'
adding 'portstreelint/show_summary.py'
adding 'pnu_portstreelint-1.4.1.dist-info/License'
adding 'pnu_portstreelint-1.4.1.dist-info/METADATA'
adding 'pnu_portstreelint-1.4.1.dist-info/WHEEL'
adding 'pnu_portstreelint-1.4.1.dist-info/entry_points.txt'
adding 'pnu_portstreelint-1.4.1.dist-info/top_level.txt'
adding 'pnu_portstreelint-1.4.1.dist-info/RECORD'
removing build/bdist.freebsd-14.0-RELEASE-amd64/wheel
Successfully built pnu_portstreelint-1.4.1.tar.gz and pnu_portstreelint-1.4.1-py3-none-any.whl

The distribution file is now generated with an underscore instead of a hyphen character.

@HubTou HubTou added bug 🐛 requires triaging maintainers need to do initial inspection of issue labels Apr 14, 2024
@miketheman miketheman added the not-this-repo For any issues that are not for this repository label Apr 14, 2024
Copy link
Contributor

Hi, this issue tracker is for issues with the codebase behind pypi.org itself, not the projects hosted on PyPI.
You should report this issue to the tracker for the project in question instead.

@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Apr 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug 🐛 not-this-repo For any issues that are not for this repository requires triaging maintainers need to do initial inspection of issue
Projects
None yet
Development

No branches or pull requests

2 participants