Over the last few months, I have been working on porting the github.com/containers
tool stack to FreeBSD, using the FreeBSD jail subsystem for isolation. This builds on Samuel Karp's earlier work on runj, which is a jail-based OCI runtime.
Since buildah v1.27.0 contains working FreeBSD support for building container images and it looks like this will be vendored into podman quite soon, I would like to get the much larger set of changes for podman on FreeBSD into review somehow.
The complete set of FreeBSD changes is much too large for a single PR, so I'm going to try to take this one file at a time. My plan is approximately:
- Add enough stubs to libpod to make it compile on FreeBSD (without working at all)
- Pick a file from libpod/*_freebsd.go, ideally with the smallest set of cross dependencies and make a PR which adds the freebsd file and in a small stack of commits, factors out as much as possible of the shared code between linux and freebsd.
- Work through review as normal until the PR can be merged.
- Go to step 2 unless I'm done.
Does this seem reasonable? It's going to take a while - my working branch has 21 freebsd files with varying degrees of complexity.