RustForge

foundry

Foundry OS: the operating system built on the Rustbelt kernel

foundry / ports / README.md
884 bytes · raw
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 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 -> configure -> make -> install into out/staging
```

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).