mkosi: Introduce build image
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Fri, 12 Jul 2024 13:33:49 +0000 (15:33 +0200)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Tue, 16 Jul 2024 13:13:42 +0000 (15:13 +0200)
commit76e14148f6704a1c2ee99ea335bd2cc81fd2a0d5
tree3cfe29cb6c4f55b5af3af77f7eb8d2817fa02d10
parentabc3a61e594196fc3e8126660b4b61bf7ce2f9b4
mkosi: Introduce build image

We want the exitrd image to be built with the latest systemd as well.
As the exitrd image is built as part of mkosi.images, and all subimages
are built before the main image, this implies the packages must be built
as a subimage in mkosi.images/ as well. So we introduce the build image and
move all logic related to building distribution packages there.

This also has the nice side effect of slimming down the main image as the
build dependencies are not installed into the main image anymore. It also
makes sure the packages are built in a "clean" chroot without any of the
other packages which we install in the main image available.

(cherry picked from commit 7205fc7dc31eb2be3075ee6ba23ebe84324aa5cb)
58 files changed:
mkosi.conf
mkosi.conf.d/10-arch/mkosi.build.chroot [deleted file]
mkosi.conf.d/10-arch/mkosi.conf
mkosi.conf.d/10-arch/mkosi.prepare
mkosi.conf.d/10-centos-fedora/mkosi.build.chroot [deleted file]
mkosi.conf.d/10-centos-fedora/mkosi.conf
mkosi.conf.d/10-centos-fedora/mkosi.prepare
mkosi.conf.d/10-centos/mkosi.conf
mkosi.conf.d/10-debian-ubuntu/mkosi.build.chroot [deleted file]
mkosi.conf.d/10-debian-ubuntu/mkosi.conf
mkosi.conf.d/10-debian-ubuntu/mkosi.postinst [deleted file]
mkosi.conf.d/10-debian-ubuntu/mkosi.prepare
mkosi.conf.d/10-fedora/mkosi.conf
mkosi.conf.d/10-opensuse/mkosi.build.chroot [deleted file]
mkosi.conf.d/10-opensuse/mkosi.conf
mkosi.conf.d/10-opensuse/mkosi.prepare
mkosi.conf.d/20-build.conf [new file with mode: 0644]
mkosi.conf.d/20-none.conf
mkosi.conf.d/20-sanitizers.conf
mkosi.images/build/mkosi.conf [new file with mode: 0644]
mkosi.images/build/mkosi.conf.d/arch/mkosi.build.chroot [new file with mode: 0755]
mkosi.images/build/mkosi.conf.d/arch/mkosi.conf [new file with mode: 0644]
mkosi.images/build/mkosi.conf.d/arch/mkosi.prepare [new file with mode: 0755]
mkosi.images/build/mkosi.conf.d/centos-fedora/mkosi.build.chroot [new file with mode: 0755]
mkosi.images/build/mkosi.conf.d/centos-fedora/mkosi.conf [new file with mode: 0644]
mkosi.images/build/mkosi.conf.d/centos-fedora/mkosi.prepare [new file with mode: 0755]
mkosi.images/build/mkosi.conf.d/centos/mkosi.conf [new file with mode: 0644]
mkosi.images/build/mkosi.conf.d/debian-ubuntu/mkosi.build.chroot [new file with mode: 0755]
mkosi.images/build/mkosi.conf.d/debian-ubuntu/mkosi.conf [new file with mode: 0644]
mkosi.images/build/mkosi.conf.d/debian-ubuntu/mkosi.prepare [new file with mode: 0755]
mkosi.images/build/mkosi.conf.d/fedora/mkosi.conf [new file with mode: 0644]
mkosi.images/build/mkosi.conf.d/opensuse/mkosi.build.chroot [new file with mode: 0755]
mkosi.images/build/mkosi.conf.d/opensuse/mkosi.conf [new file with mode: 0644]
mkosi.images/build/mkosi.conf.d/opensuse/mkosi.prepare [new file with mode: 0755]
mkosi.images/build/mkosi.sync [new file with mode: 0755]
mkosi.images/exitrd/mkosi.conf
mkosi.images/exitrd/mkosi.conf.d/10-arch.conf
mkosi.images/exitrd/mkosi.conf.d/10-centos-fedora.conf
mkosi.images/exitrd/mkosi.conf.d/10-debian.conf
mkosi.images/exitrd/mkosi.conf.d/10-opensuse.conf
mkosi.images/exitrd/mkosi.conf.d/10-ubuntu.conf
mkosi.images/exitrd/mkosi.conf.d/20-build.conf [new file with mode: 0644]
mkosi.images/minimal-base/mkosi.conf
mkosi.images/minimal-base/mkosi.conf.d/10-arch.conf
mkosi.images/minimal-base/mkosi.conf.d/10-centos-fedora.conf
mkosi.images/minimal-base/mkosi.conf.d/10-debian-ubuntu-opensuse.conf [deleted file]
mkosi.images/minimal-base/mkosi.conf.d/10-debian-ubuntu.conf [new file with mode: 0644]
mkosi.images/minimal-base/mkosi.conf.d/10-opensuse.conf
mkosi.images/minimal-base/mkosi.conf.d/20-build.conf [new file with mode: 0644]
mkosi.initrd/mkosi.conf
mkosi.sanitizers.chroot [deleted file]
mkosi.sanitizers/mkosi.conf [new file with mode: 0644]
mkosi.sanitizers/mkosi.conf.d/arch.conf [new file with mode: 0644]
mkosi.sanitizers/mkosi.conf.d/debian-ubuntu.conf [new file with mode: 0644]
mkosi.sanitizers/mkosi.conf.d/opensuse.conf [new file with mode: 0644]
mkosi.sanitizers/mkosi.postinst [new file with mode: 0755]
mkosi.sync [deleted file]
tools/update-distro-hash.py