This repository was archived by the owner on Jul 21, 2026. It is now read-only.
locale: provide complete POSIX locale inspection - #122
Open
brandonpayton wants to merge 1 commit into
Open
Conversation
Build the musl locale utility as an ABI-checked Kandelo executable with complete POSIX LC_TIME, LC_NUMERIC, and LC_MONETARY keyword reporting. Mirror musl loader admissibility when enumerating MUSL_LOCPATH, including locale-name and path-buffer limits, nonempty regular catalogs, valid symlinks, sorting, and deduplication. Emit shell-reenterable locale assignments without losing metacharacters, quotes, backslashes, or newlines. Exercise real catalog selection, invalid names and path sizes, symlinks, exact C and C.UTF-8 output, mixed category state, hostile-byte shell round trips, unknown names, Wasm guards, and Node/Chromium parity in the formula test. Publication gate: build only after Automattic/kandelo#907 establishes ABI 39 and Automattic/kandelo#916 provides the required locale-libc surface.
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Why
Make POSIX locale inspection a first-class Kandelo Homebrew package backed by the real musl locale state. This replaces incomplete enumeration/output behavior with a source-built utility that reports what Kandelo libc can actually load.
Locale tools tell programs and users which language and formatting data the C library can actually load. Incomplete or synthetic enumeration makes software choose locales that are unavailable at runtime, so this Formula must report musl’s real locale state and preserve values safely for shell reuse.
What changed
MUSL_LOCPATHcomponent deterministicallyLGPL-3.0-only, matching the compiled sourcesPlatform And Publication Gates
Do not merge or publish this Formula yet.
No bottle metadata is included.
Exact Provenance
522a66ac8074c775400e710666b3b041564d67865842fd525a7facbfc315028855ec20bde5d6dc610a4579d23877c247f0d2765379efd71174a10cef787597ab5d8e4e7fe939ccb65c0abe9aa5ae034fb3b69f4eda4d6c264a0bc943edffd82c1e99b4cb820dfe5c8a169be89Validation
brew testpassed in Node and Chromium on both author runs and on independent reviewbrew audit --strict,brew style, Ruby syntax,wasm-validate, andgit diff --checkpassedResidual Boundaries
The utility duplicates musl-private name/path constants and must track future musl changes. Enumeration uses
statrather than loader-identicalopen/fstat/mmap, so unreadable or concurrently replaced regular files can be transiently listed. Browser symlink-specific coverage remains indirect because immutable browser guest-file staging cannot represent symlink identity.