SOW v0.2.0
SOW 0.2.0 is a self-contained RPM and DEB repository manager from Pigsty. Release artifacts target Linux and macOS as single Go executables.
Two operating modes
Plain mode indexes RPM and DEB files already present at one directory’s top level:
It writes repodata/, Packages, and Packages.gz in place. Plain mode has no
Workspace, state database, generations, or DEB Release signing.
Managed mode owns package membership and lifecycle:
Each accepted package body is stored once beneath pool/. RPM and APT client views live
beneath dists/ and are materialized as immutable Generations.
Lifecycle controls
Managed repositories include:
- strict
sow/v3configuration and explicit membership policy; - RPM metadata, APT metadata, and optional RPM package signing;
- cheap
statusplus nine-layercheckfor publication gating; - recoverable filesystem and R2 publication attempts;
- explicit retained Generations and reachability-based local GC;
- standalone
rpm-leafexport for consumers that reject parent-relative rpm-md paths.
The canonical Managed tree must be delivered as a complete repository. Use sow publish
for configured targets or stage a whole-root copy offline before an atomic switch. Do not
update a live repository file by file.
Compatibility evidence
The active test suite proves clean-room current-CLI builds for both formats, a Plain APT consumer on Ubuntu 22.04, RPM detached-signature behavior in AlmaLinux 8/9/10 probes, and an isolated S3-compatible provider fixture. Those probes do not by themselves establish a complete current Managed DNF/APT or R2 CLI acceptance gate.
See Compatibility for the exact claim boundary and Quick Start for a fresh installation path.