Install SOW
Download a prebuilt binary or build from source, then verify the install.
SOW is one static binary that builds APT and YUM repositories. You do not install a
server, you do not install createrepo_c or reprepro, and you do not configure a
daemon. You drop the binary on a machine, point it at some packages, and copy the
result to any static web server.
There are two ways to use it, and they never touch each other. sow create takes a
plain directory of .rpm and .deb files and writes repository indexes next to them —
that is all it does, and it is the fastest way to get something servable. The managed
workspace is the other path: a package pool, named distributions, per-architecture
views, membership policy, GPG signing, and an audit trail for every change. Start with
the first, move to the second when you need to curate what goes in.
Read these four pages in order and you will have both paths working, with a clear idea of which one your situation calls for.
dnf or apt.A Linux or macOS machine on amd64 or arm64, and enough free space for the packages
you plan to publish. Nothing else — SOW parses RPM headers and Debian control files
itself and writes the indexes in-process.
Two operations do shell out to the environment: signing RPM package payloads, and
signing repository metadata with a key held by gpg-agent. Both are optional and both
are covered in Installation.
| If you want to… | Read |
|---|---|
| Publish a directory of packages right now | Quick Start |
| Curate a long-lived repository | First Workspace |
| Understand pools, views, and generations | Core Concepts |
| Build a production YUM or APT repository | Tutorials |
| Look up a flag, field, or exit code | Reference |
Download a prebuilt binary or build from source, then verify the install.
Turn a directory of packages into a servable repository, then install from it with dnf or apt.
Create a managed workspace with RPM and DEB distributions, add packages, and inspect the result.
The model behind SOW: two modes, four layers, and the split between what you asked for and what is published.