This repository was archived by the owner on Jul 21, 2026. It is now read-only.
file: add the compression-aware identification CLI - #30
Closed
brandonpayton wants to merge 6 commits into
Closed
Conversation
Member
Author
|
Independent devil review found no blockers. The review specifically confirmed:
Residual: the committed Node compression test inherits PATH. Built-in-only proof therefore rests on the recorded Chromium run with guest PATH=/no-such-path plus the underlying libmagic runtime test; the reviewer considered that evidence adequate. |
Install and exercise the upstream libbz2 and liblzma consumer surfaces so dependent Kandelo formulae can link built-in compression support instead of spawning fallback tools.
Build libbz2 and liblzma objects as PIC so Kandelo shared Wasm consumers can link the published archives. Exercise each archive through pkg-config, a real side-module link, dlopen, and dlsym under the Kandelo runtime; retain liblzma's pthread metadata contract explicitly.
Build the full version-matched magic.mgc with a native FILE_COMPILE helper, link the target library to declared compression dependencies, and validate the fixed-record database under Kandelo.
brandonpayton
force-pushed
the
migrate/libmagic-dependency-root
branch
from
July 11, 2026 22:20
6f3c169 to
991712b
Compare
brandonpayton
force-pushed
the
migrate/file-cli
branch
from
July 11, 2026 23:17
587a4dd to
5735ce1
Compare
brandonpayton
force-pushed
the
migrate/libmagic-dependency-root
branch
3 times, most recently
from
July 12, 2026 02:01
991712b to
3784d6b
Compare
Member
Author
|
Replaced by #69 after libmagic merged. GitHub auto-closed this stacked PR when its base branch was deleted, and then marked it non-reopenable once the File head was transplanted onto current main. #69 contains the same File formula body plus the canonical installed-tap loader, directly based on main. |
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.
Purpose
Migrate the registry file package into Homebrew as the command-line consumer of the complete tap libmagic database. The CLI follows Homebrew's standard file-formula name because File is a reserved Ruby class; the tap alias file preserves the expected user-facing package name.
This removes the registry package's 14,000-line magic.lite workaround. Normal file invocations now load the full compiled database from the stable libmagic opt path.
Implementation
Evidence
Dependencies
This PR is intentionally stacked on #29, which is stacked on compression-library PR #25.
Platform gates before bottle publication/merge:
The pthread fork-continuation fix and ABI 18 transition from #867 are merged. Final bottle order is bzip2/xz (#25), libmagic (#29), then this File consumer; the poured chain must pass stock guest Node and Chromium validation.
The branch was transplanted semantic-preservingly onto current libmagic head
991712bat File head5735ce1. The stable patch ID and Formula/Alias/README blobs are byte-identical to the functionally validated head. Post-restack validation throughscripts/dev-shell.shpassed Homebrew Ruby syntax, the current support suite (21 runs/186 assertions),brew style, andgit diff --check.Do not merge until the dependency stack and platform gates are ready. No pre-final bottle is accepted for publication.