This adds support for a new type of plugin, which runs commands after the oci image was successfully built.
Plugins can define scopes, which dictate which data they can get, part of which being a scope to get access to the mounted filesystem of the image, allowing the build of disk images or systemd extensions (the two example plugins repart and sysext included in the pr)
To differentiate between the finalize plugins and build plugins, plugins now require to define another function which returns some metadata about the plugin, if this function does not exist in the plugin, it is automatically assumed to be a build plugin, but an appropriate warning is given during build to tell the user that the plugin is outdated. The documentation will have to be changed accordingly.
This adds support for a new type of plugin, which runs commands after the oci image was successfully built. Plugins can define scopes, which dictate which data they can get, part of which being a scope to get access to the mounted filesystem of the image, allowing the build of disk images or systemd extensions (the two example plugins
repart
andsysext
included in the pr) To differentiate between the finalize plugins and build plugins, plugins now require to define another function which returns some metadata about the plugin, if this function does not exist in the plugin, it is automatically assumed to be a build plugin, but an appropriate warning is given during build to tell the user that the plugin is outdated. The documentation will have to be changed accordingly.