Hello,
I’ve wanted to be able to compare what the differences are between different channels, such as (for example) how is “bluefin-dx:stable” different from “bluefin-dx:latest”. I came up with a command that uses skopeo and jq to extract the list of packages:
❯ skopeo inspect docker://ghcr.io/ublue-os/bluefin-dx:stable | jq -r '.Labels."dev.hhd.rechunk.info" | fromjson.packages' | sort > dx
❯ skopeo inspect docker://ghcr.io/ublue-os/bluefin-dx-nvidia:stable | jq -r '.Labels."dev.hhd.rechunk.info" | fromjson.packages' | sort > dxnv
These commands extract the RPM packages (with version) in the image, and allow you to diff them and see what version kernel each one has, what packages are extra/missing etc.
However, when I tried to compare the nvidia (proprietary) vs nvidia-open (oss), it seems to me they are the same…
❯ skopeo inspect docker://ghcr.io/ublue-os/bluefin-dx-nvidia:stable | jq -r '.Labels."dev.hhd.rechunk.info" | fromjson.packages' | sort > nvprop
❯ skopeo inspect docker://ghcr.io/ublue-os/bluefin-dx-nvidia-open:stable | jq -r '.Labels."dev.hhd.rechunk.info" | fromjson.packages' | sort > nvopen
❯ diff nvprop nvopen
I’m pretty sure the command works, so what’s going on here? Are the RPMs really identical? What are the differences then for the “open” channel vs proprietary?