47 lines
1.6 KiB
Markdown
47 lines
1.6 KiB
Markdown
# MOUSE ports
|
|
|
|
This repository is the independently versioned source-port collection for
|
|
MOUSE. Each port is a BSD make project, while shared phase and quality-control
|
|
machinery lives under `ports/Mk`.
|
|
|
|
Each port lives below `ports/category/name` and contains a `Makefile`,
|
|
`distinfo`, and `pkg-plist`, plus optional patches and service definitions
|
|
under `files`. Build-only and runtime dependencies remain distinct, so tools
|
|
such as GNU make do not become installed dependencies of the software they
|
|
compile. A MOUSE release pins one tested commit from this repository, while
|
|
installed systems may move to later compatible ports revisions without
|
|
replacing the base system.
|
|
|
|
The collection is driven by BSD make (`bmake`) at every framework and recursive
|
|
dependency boundary. A recipe invokes GNU make only when its upstream build
|
|
requires it. Rust recipes use checksum-locked crate archives and an offline
|
|
Cargo source replacement, so Cargo never becomes an undeclared fetcher during
|
|
the build.
|
|
|
|
Packing lists name individual payload files. A list may use `@tree path` for a
|
|
large data-only directory; the framework verifies that tree in staging and
|
|
expands it into concrete file ownership records in the resulting package.
|
|
|
|
The shared framework uses the base system's ChimeraUtils `fetch` and `sha256`
|
|
commands. TLS trust comes from MOUSE's pinned CA bundle; the ports tree does
|
|
not carry private download or cryptographic implementations.
|
|
|
|
Run the collection checks with:
|
|
|
|
```sh
|
|
bmake check
|
|
```
|
|
|
|
On MOUSE, a port's public interface is:
|
|
|
|
```sh
|
|
bmake fetch
|
|
bmake checksum
|
|
bmake build
|
|
bmake stage
|
|
bmake package
|
|
bmake install
|
|
bmake deinstall
|
|
bmake clean
|
|
```
|