BOM
Generated by scripts/gen-format-pages.py from docs/data/format-metadata/, FILE_FORMATS.csv and docs/formats-master.csv. Do not edit by hand: change the source, then run the script.
Apple BOM Preview.
At a glance
| Purpose | An Apple bill of materials (BOMStore): the list of files, sizes and modes an installer package installs. |
| Extensions | .bom |
| Poka parser | poka-bom |
| Viewer | poka-tree-viewer |
| Depth tier | Parser with a shared viewer (see Depth tiers) |
| Breadth tier | B4 Summary (see Breadth tiers) |
How much Poka reads
B4 Summary. The container and metadata are read and summarised (counts, properties, structure), but the main content is not rendered.
Confidence: medium (the reviewer read the code). Basis: Reviewed 2026-10-26: read parsers/poka-bom/src/main.rs (256 lines) and plugin.json. No unit tests or tests/samples.rs; the corpus has osquery_test_bom.bom, read by no test. Covers .bom. The tree checks the BOMStore magic and shows the version, block counts, the number of paths from BomInfo, the block table and variables offsets, and each variable section (Paths, HLIndex, VIndex, Size64 and the like) with its block size. Judgement: B4: the store's structure and file count are shown, but no path is listed.
What Poka does not read
- The Paths B-tree is not decoded, so no installed path, size, mode, owner or checksum is listed
- Section contents other than the file count are not decoded
Libraries
Libraries Poka uses or has assessed for this format, with the status, licence and language the registry records.
- apple-bom (candidate; MIT OR Apache-2.0; Rust; https://docs.rs/apple-bom) — Read-only ParsedBom interface; writing incomplete.
- stuckliste (reference; GPL-3.0; Rust; https://github.com/igankevich/stuckliste) — copyleft; Reads and writes BOM files; fuzz-tested against mkbom/lsbom. Copyleft; language inferred from cargo usage.
Sources
- parsers/poka-bom/src/main.rs
- parsers/poka-bom/plugin.json