lang/python311: fix build failure on DragonFly#1560
Merged
Conversation
> Generated by the DragonFly agentic build-fix loop and verified in a clean dev-env. Reviewed and accepted by operator `operator` before submission. ## Problem The build failed on `@2026Q2` — classified `plist-error`, confidence `high`. Python’s build system generates the `_sysconfigdata` module with the host platform string (`dragonfly6_` on DragonFly 6.x), but the port’s `pkg-plist` hardcodes the prefix `freebsd`. The `PLIST_SUB` expansion therefore expects files named `_sysconfigdata__freebsd%%OSMAJOR%%_*.pyc` while the installed files are `_sysconfigdata__dragonfly%%OSMAJOR%%_*.py*`. Packaging fails because the listed files do not exist. **Evidence:** - `pkg-static: Unable to access file /construction/lang/python311/stage/usr/local/lib/python3.11/__pycache__/_sysconfigdata__freebsd99_.cpython-311.opt-1.pyc:No such file or directory` (and the same for opt-2 and non-opt variants) – the expected `freebsd*` names are missing. - Build log shows the module is generated with the `dragonfly6_` suffix: `copying build/lib.dragonfly-6.5-x86_64-3.11/_sysconfigdata__dragonfly6_.py -> /construction/lang/python311/stage/usr/local/lib/python3.11/lib-dynload` and corresponding `.pyc` files are installed under `dragonfly6` names, not `freebsd*`. - `pkg-plist` contains entries like: `%%PYTHON_LIBDIR%%/__pycache__/_sysconfigdata_%%ABI%%_freebsd%%OSMAJOR%%_%%PYTHON_TAG%%.opt-1.pyc` where `freebsd%%OSMAJOR%%` is expanded with the DragonFly OS major version, but the actual file uses `dragonfly%%OSMAJOR%%`. ## Fix Automated fix for the build failure in `lang/python311`. ## What changed 1 file changed, +12/-11 - `ports/lang/python311/overlay.dops` ## Verification Built successfully in a DragonFly dev-env (dsynth) for target `@2026Q2`. Verified 2026-06-12T22:17:55.673496+00:00. ## Provenance - Operator: operator - Agent: model=deepseek/deepseek-v4-pro attempts=1 tokens=1347397 Signed-off-by: Fred [bot] <github@dragonflybsd.org>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The build failed on
@2026Q2— classifiedplist-error, confidencehigh.Python’s build system generates the
_sysconfigdatamodule with the host platform string (dragonfly6_on DragonFly 6.x), but the port’spkg-plisthardcodes the prefixfreebsd. ThePLIST_SUBexpansion therefore expects files named_sysconfigdata__freebsd%%OSMAJOR%%_*.pycwhile the installed files are_sysconfigdata__dragonfly%%OSMAJOR%%_*.py*. Packaging fails because the listed files do not exist.Evidence:
pkg-static: Unable to access file /construction/lang/python311/stage/usr/local/lib/python3.11/__pycache__/_sysconfigdata__freebsd99_.cpython-311.opt-1.pyc:No such file or directory(and the same for opt-2 and non-opt variants) – the expectedfreebsd*names are missing.dragonfly6_suffix:copying build/lib.dragonfly-6.5-x86_64-3.11/_sysconfigdata__dragonfly6_.py -> /construction/lang/python311/stage/usr/local/lib/python3.11/lib-dynloadand corresponding
.pycfiles are installed underdragonfly6names, notfreebsd*.pkg-plistcontains entries like:%%PYTHON_LIBDIR%%/__pycache__/_sysconfigdata_%%ABI%%_freebsd%%OSMAJOR%%_%%PYTHON_TAG%%.opt-1.pycwhere
freebsd%%OSMAJOR%%is expanded with the DragonFly OS major version, but the actual file usesdragonfly%%OSMAJOR%%.Fix
Automated fix for the build failure in
lang/python311.What changed
1 file changed, +12/-11
ports/lang/python311/overlay.dopsVerification
Built successfully in a DragonFly dev-env (dsynth) for target
@2026Q2.Verified 2026-06-12T22:17:55.673496+00:00.
Provenance