axodotdev / axodotdev/cargo-dist
dist-manifest 1.0
- Dominant language
- Rust
- Stars
- 2.1k
- Forks
- 149
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 32
Description
The cargo-dist [dist-manifest.json format](https://opensource.axo.dev/cargo-dist/book/reference/schema.html) is an amalgam of bolted on concepts and features and needs a major cleanup.
## per-machine info
dist-manifest is lacking a proper notion of "per-machine" output info, where things like linkage (what packages you dynamically linked, sdk/libc versions), toolchain-info (compiler version, os version), and unpredictable values (debuginfo, hashes) can be transferred. This info could be consumed by installers (checksums, sysdeps), checkers (complain about dynamic openssl), and receipts (SBOMs, attestation, reproducibility).
Linkage has a partial implementation but it's more "over there" and doesn't really scale.
The totally-global "system_info" subsection is a useless farce because of this.
## remove changelogs
changelogs, like READMEs are a classic example of "arbitrary user input that can get infinitely long and cause serious issues to a metadata system". it should ideally not be contained in the dist-manifest. This raises some questions about where if anywhere oranda should get "clean" changelogs from, but at worst we can just teach it how to "strip" the autogen tables in a github release.
Contributor guide
Research direction
Start with the linked dist-manifest.json format schema and review the existing linkage and global system_info concepts. Map how per-machine linkage, toolchain, and unpredictable values would be represented and consumed by installers, checkers, and receipts. The work is done when the manifest design is cleaned up and changelogs are removed or reliably stripped from release metadata, including the open question around oranda.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- release
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100