Foster Git Repo Given a Second Chance
Some time last year I accidentally pushed some source tarballs that created huge objects in the git repo for Foster.
Our newest contributor repaired it but we lost revision history in the process. Since we’re still in pre-release and working out design still I’ve gone ahead and approved – we won’t miss those early pushes of just trying things to see if they work for some of the early R&D.
I’ve archived the original with the bloated repo objects in its revision history as those tend to be rather important later sometimes, but, we really don’t need them.
Foster is now Makefile driven and Completely Dockerized
Wrapping up the process in a docker container was pretty important for this project as we needed the build host to be abstracted away from the user’s operating system without requiring much setup from the user.
Using the dev’s host as a build host I don’t think is very safe because of all the things that can go wrong. This was exemplified by a destroyed host after a typo in a log cleanup script last year.
We made it safe by wrapping the examplar build up in a docker container and image build process and orchestrating all of that with a parent makefile.
The usage details are in the Foster readme.
The only prior setup or dependencies Foster has now on the build host is the presence of docker and make on the system. It should compile on Windows, Linux, or Apple operating systems now as a pleasant side effect.
We have a simple roadmap established for Foster
Foster will use the Fedora base docker image as its build host. I’ve got an updated snapshot of Fedora so that folks don’t have to wait on crazy download times. I’ve also implemented source caching for the libraries it builds into the chroot. This will still require users to download it once by design.
Once the first bootable Foster ISO is created we’ll dockerize that image and use it as the base, and then go back and edit Foster to run on itself to remove our dependency on the Fedora base image.