home / kama
Keru's package manager, deliberately small.
窯Kama (窯, "kiln") is Keru's package manager. It's a pure-shell script of roughly 225 lines that builds every package from source by running the commands in a recipe. It holds no opinions — matching the distro that ships it. It reads a make.conf, runs recipe commands, and gets out of the way.
Kama doesn't track installed files in a manifest db. It stages, installs, and moves on.
Dependencies come from the recipe's deps[] array — explicit, not discovered.
The whole manager is a script. Legible end to end; every decision is something you can read.
Builds into a per-package stage dir, then copies into $ROOT — never smears the live tree.
Build-time-only dependencies are fetched, built, installed, and purged after use — they never accumulate.
Targets $ROOT, so it can assemble a full system in a staging root — exactly what the installer needs.
Kama embodies Keru's central bet: package managers became more complex than the packages they manage. A resolver, a database, a binary format, a compiled daemon — none of that is needed to honestly manage a source-built system. What's needed is a script that faithfully runs what a recipe says, so the user can read any decision it makes.
"A package manager doesn't need a resolver to be honest. It needs to be legible — you can read every decision it makes, because every decision is a script or a line in make.conf you can see and change."
Kama lives in its own repo, alongside the recipe repository — two small pieces that Keru's installer drives together.