Add release binaries that bundle deps
In order to aid https://github.com/bootcrew/ we should generate binaries that include bundled dependencies:
- bootupd
- ostree
- skopeo
Implementation wise...what may be best here is actually that we have e.g. /usr/lib/bootc/bundled/bin/skopeo or so and we ensure that /usr/lib/bootc/bundled/bin/ is prepended to our $PATH instead of trying to literally link in the binaries. For ostree we'll also want to inject an rpath into our executable for /usr/lib/bootc/lib.
(Of course this job should run on every push to main too, not just release jobs, but what most will care about is the release jobs)
Just a curiosity question can you run bootc with none of podman/docker today? Since skopeo is the core transport binary
If you were a device that just pulled updates...
Skopeo is definitely necessary, but podman or docker are not required at runtime by bootc.
On older distributions like Debian Stable, ostree is a particularly big pain point since it requires downstreams to compile it and do some major funkiness to get it working with system-wide ostree, see:
- https://github.com/frostyard/debian-bootc-core/blob/11f15a98b27949f512767aba08d2621e47d05962/build_files/install-bootc#L32-L41
- https://github.com/frostyard/debian-bootc-core/blob/11f15a98b27949f512767aba08d2621e47d05962/build_files/install-bootc#L51-L69
- https://github.com/Lumaeris/lmde-bootc/blob/e7b54749c4595d0283c453cf69168666139d330d/Containerfile#L59-L63