https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=270358
Charlie Li <vish...@freebsd.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|python@FreeBSD.org |vish...@freebsd.org --- Comment #99 from Charlie Li <vish...@freebsd.org> --- (In reply to Enji Cooper from comment #89) How many times do I need to explain that there is no such thing as perfection here. Unfortunately, there is no such thing as "good enough" in this case either, since one change that fixes half the consumers also break the other half, and both halves contain major dependencies for other software. It's just a no-win situation. *sigh* since $LIFE has gotten in the way of being able to properly keep track of which ports need name normalisation fixes, anyone interested (along with myself with some spare machine capacity) in helping move this along can start doing this: test build every setuptools consumer that also specify USE_PYTHON=pep517, with particular attention to those failing at stage, especially errors looking like: ===> Staging for py311-Mako-1.3.5 ===> Generating temporary packing list 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/local/lib/python3.11/site-packages/installer/__main__.py", line 98, in <module> _main(sys.argv[1:], "python -m installer") File "/usr/local/lib/python3.11/site-packages/installer/__main__.py", line 86, in _main with WheelFile.open(args.wheel) as source: File "/usr/local/lib/python3.11/contextlib.py", line 137, in __enter__ return next(self.gen) ^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/installer/sources.py", line 162, in open with zipfile.ZipFile(path) as f: ^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/zipfile.py", line 1295, in __init__ self.fp = io.open(file, filemode) ^^^^^^^^^^^^^^^^^^^^^^^ FileNotFoundError: [Errno 2] No such file or directory: '/wrkdirs/overlays/overlay/textproc/py-mako/work-py311/Mako-1.3.5/dist/Mako-1.3.5*-*.whl' *** Error code 1 Stop. make: stopped making "stage" in /overlays/overlay/textproc/py-mako There will be many such cases, between mixed cases needing to go all lowercase and [-_.] normalised to underscore. Reference: https://packaging.python.org/en/latest/specifications/binary-distribution-format/#escaping-and-unicode Note that PORTNAME of each package should continue to match what upstream call themselves, so no premature underscoring. Override DISTNAME if necessary instead. This part is primarily on the part of each individual port maintainer. Any proposed fix in Mk/Uses/python.mk must then be tested again on non-setuptools USE_PYTHON=pep517 consumers, since it is not known if other build backends completely implement the binary wheel name normalisation that setuptools eventually did. Hope this helps further explain how fragile this situation is. Not something for "a day or two", even on powerful hardware, because this includes resource-intensive ports like LLVM and Rust: Queued: 3469 Inspected: 0 Ignored: 0 Built: 0 Failed: 0 Skipped: 0 Fetched: 0 Remaining: 3469 -- You are receiving this mail because: You are the assignee for the bug.