foundry
Foundry OS: the operating system built on the Rustbelt kernel
1000 bytes · raw
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | # ports/: third-party C programs
One directory per program ("a port"), the way Alpine's APKBUILDs and the
BSD ports trees do it:
```
ports/<name>/
├── <name>.sha256 the pinned release tarball: "SHA256 file-name"
├── <name>.url where to download it (into the git-ignored cache/)
├── patches/ our changes, applied in order (0001-*.patch, ...)
└── build.sh unpack -> patch -> CC=toolchain/foundry-cc configure -> make -> install into out/staging
```
Every port is built as a **static-PIE** with `toolchain/foundry-cc` (see
docs/porting.md).
No tarball is ever committed; `cache/` is git-ignored and every download is
checked against the SHA256 here.
Status (M1): only the pin for **dash 0.5.12** exists. It becomes
`/bin/sh` for POSIX scripts in M3 (the interactive shell stays `rbsh`).
Later: **sbase** (M4) and **busybox** (M5). Their applets go to
`/usr/lib/busybox`, *off* the default `PATH`, so the Rust tools stay the
default (see docs/plan.md).
|