fix(termux): emit Android-tagged psutil wheels - #67136
Closed
adybag14-cyber wants to merge 2 commits into
Closed
Conversation
adybag14-cyber
force-pushed
the
fix/termux-android-wheel-tags
branch
from
July 18, 2026 21:18
9852f4b to
ca0703f
Compare
9 tasks
adybag14-cyber
marked this pull request as ready for review
July 18, 2026 21:24
Collaborator
5 tasks
Contributor
Author
|
Superseded by #67163, which includes this Android psutil wheel-tag fix plus the complete native-Termux failure chain: supported Python selection, side-by-side Python 3.11 recovery, uv-only venv/install flow, package-scoped Android wheel builds for the other failing sdists, serial Cargo builds, safe index handling, dependency-profile gates, launcher repair, and end-to-end regression tests. Closing this narrower draft so #67163 is the single canonical implementation. |
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.
What does this PR do?
Fixes the advertised native-Termux
python scripts/install_psutil_android.py --uvpath, and the shared update helper that uses the same patched psutil source tree.On Termux/Android with Python 3.11.15 and uv 0.11.29, the current helper successfully patches and compiles psutil 7.2.2, but setuptools emits:
uv correctly rejects that Linux wheel for an Android interpreter. Exporting
_PYTHON_HOST_PLATFORM=android_...arounduv pipis not safe either: it changes the platform uv sees while inspecting Python and fails withUnknown operating system: android_....This patch writes a package-local
[bdist_wheel] plat_nameinto the extracted psutil sdist instead. That scopes the override to the psutil wheel build and leaves uv's interpreter detection untouched.The helper now:
HERMES_ANDROID_API_LEVELbuild-target override;Related Issue
Related to #44390, which documents the standalone psutil helper, and #5984, which is migrating Hermes-owned installs toward uv-native project flows.
This deliberately does not duplicate:
PROJECT_ROOTNameError;Type of Change
Changes Made
hermes_cli/psutil_android.py[bdist_wheel]configuration;tests/hermes_cli/test_psutil_android_wheel_tag.pyANDROID_API_LEVEL=36does not incorrectly raise the wheel target above API 24;setup.cfgcontent is preserved;bdist_wheelbuild and asserts the resulting Android-tagged filename.How to Test
Real-device reproduction environment:
Before this patch:
The manually corrected wheel that uv accepted was:
Focused automated validation performed in an isolated checkout harness:
The pre-existing safe-extraction regression was also exercised beside the new suite in the isolated harness: 12 tests passed total.
Not run in this session: the complete repository suite, ruff, or
scripts/check-windows-footguns.py. The requested Devbox and Windows-host executors were unavailable to this conversation, so this PR is opened as a draft for CI and a final native-Termux rerun.Checklist
Code
fix(scope):,feat(scope):, etc.)pytest tests/ -qand all tests pass — focused regression suite passed; full suite pending CIDocumentation & Housekeeping
cli-config.yaml.exampleupdate — N/A; no config key addedCONTRIBUTING.md/AGENTS.mdupdate — N/A; no workflow architecture changedFor New Skills
N/A.
Screenshots / Logs
The relevant native-Termux build and uv rejection/acceptance logs are summarized in How to Test above.