bootc icon indicating copy to clipboard operation
bootc copied to clipboard

Add release binaries that bundle deps

Open cgwalters opened this issue 2 months ago • 3 comments

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)

cgwalters avatar Nov 14 '25 20:11 cgwalters

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...

ericcurtin avatar Nov 18 '25 01:11 ericcurtin

Skopeo is definitely necessary, but podman or docker are not required at runtime by bootc.

tulilirockz avatar Nov 23 '25 02:11 tulilirockz

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

tulilirockz avatar Nov 23 '25 02:11 tulilirockz