bootc-base-imagectl: support injecting directories

Right now, the expectation for adding unpackaged content in a custom base image flow is to do it after the main compose. The problem however is that sometimes you want that content to affect the main compose itself, so doing it afterwards is not sufficient.

The primary use case for this is sysusers.d dropins where you need to make sure that sysusers in scriptlets don't pick UIDs/GIDs already reserved on target client systems.

One way to work around this is to synthesize an RPM that ships the dropin, and then ensure that it somehow runs as early as possible in the transaction. This is doable but obviously quite a hack.

Enable this instead by adding a generic --add-dir switch which then just translates to ostree-layers in the override manifest.

The dnf equivalent would be to first install e.g. filesystem and setup, add files to the rootfs, and then install all the other packages.

See also discussions in https://github.com/coreos/rpm-ostree/pull/5354.

Merge request reports

Loading