From 9ead378ba079d237f33ae25231e5fc92bce2b660 Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Tue, 1 Apr 2025 13:25:47 +0200 Subject: [PATCH] mkosi: Use mkosi.tools.conf for tools tree configuration This allows us to use the regular settings instead of having to bother with ToolsTreeXXX variants. It'll also allow us to share configuration between the regular images and the tools tree image, which we'll make use of in the next commit. --- mkosi.conf.d/tools/mkosi.conf.d/centos-fedora.conf | 11 ----------- mkosi.conf.d/tools/mkosi.conf.d/debian-ubuntu.conf | 13 ------------- mkosi.conf.d/ubuntu/mkosi.conf.d/non-x86.conf | 2 +- mkosi.conf.d/ubuntu/mkosi.conf.d/x86.conf | 2 +- {mkosi.conf.d/tools => mkosi.tools.conf}/mkosi.conf | 6 +++--- .../mkosi.conf.d/arch.conf | 8 ++++---- mkosi.tools.conf/mkosi.conf.d/centos-fedora.conf | 11 +++++++++++ mkosi.tools.conf/mkosi.conf.d/debian-ubuntu.conf | 13 +++++++++++++ .../mkosi.conf.d/fedora.conf | 6 +++--- .../mkosi.conf.d/opensuse.conf | 8 ++++---- .../mkosi.conf.d/ubuntu/mkosi.conf | 2 +- .../mkosi.conf.d/ubuntu/mkosi.conf.d/non-x86.conf | 4 ++-- .../mkosi.conf.d/ubuntu/mkosi.conf.d/x86.conf | 4 ++-- test/integration-tests/README.md | 6 +++--- 14 files changed, 48 insertions(+), 48 deletions(-) delete mode 100644 mkosi.conf.d/tools/mkosi.conf.d/centos-fedora.conf delete mode 100644 mkosi.conf.d/tools/mkosi.conf.d/debian-ubuntu.conf rename {mkosi.conf.d/tools => mkosi.tools.conf}/mkosi.conf (70%) rename {mkosi.conf.d/tools => mkosi.tools.conf}/mkosi.conf.d/arch.conf (53%) create mode 100644 mkosi.tools.conf/mkosi.conf.d/centos-fedora.conf create mode 100644 mkosi.tools.conf/mkosi.conf.d/debian-ubuntu.conf rename {mkosi.conf.d/tools => mkosi.tools.conf}/mkosi.conf.d/fedora.conf (66%) rename {mkosi.conf.d/tools => mkosi.tools.conf}/mkosi.conf.d/opensuse.conf (51%) rename {mkosi.conf.d/tools => mkosi.tools.conf}/mkosi.conf.d/ubuntu/mkosi.conf (65%) rename {mkosi.conf.d/tools => mkosi.tools.conf}/mkosi.conf.d/ubuntu/mkosi.conf.d/non-x86.conf (51%) rename {mkosi.conf.d/tools => mkosi.tools.conf}/mkosi.conf.d/ubuntu/mkosi.conf.d/x86.conf (53%) diff --git a/mkosi.conf.d/tools/mkosi.conf.d/centos-fedora.conf b/mkosi.conf.d/tools/mkosi.conf.d/centos-fedora.conf deleted file mode 100644 index 2645e6df5d..0000000000 --- a/mkosi.conf.d/tools/mkosi.conf.d/centos-fedora.conf +++ /dev/null @@ -1,11 +0,0 @@ -# SPDX-License-Identifier: LGPL-2.1-or-later - -[Match] -ToolsTreeDistribution=|fedora -ToolsTreeDistribution=|centos - -[Build] -ToolsTreePrepareScripts=%D/mkosi.images/build/mkosi.conf.d/centos-fedora/mkosi.prepare -ToolsTreePackages= - python3-mypy - rpm-build diff --git a/mkosi.conf.d/tools/mkosi.conf.d/debian-ubuntu.conf b/mkosi.conf.d/tools/mkosi.conf.d/debian-ubuntu.conf deleted file mode 100644 index b6715b5c50..0000000000 --- a/mkosi.conf.d/tools/mkosi.conf.d/debian-ubuntu.conf +++ /dev/null @@ -1,13 +0,0 @@ -# SPDX-License-Identifier: LGPL-2.1-or-later - -[Match] -ToolsTreeDistribution=|debian -ToolsTreeDistribution=|ubuntu - -[Build] -ToolsTreePrepareScripts=%D/mkosi.images/build/mkosi.conf.d/debian-ubuntu/mkosi.prepare -ToolsTreePackages= - gh - lcov - mypy - shellcheck diff --git a/mkosi.conf.d/ubuntu/mkosi.conf.d/non-x86.conf b/mkosi.conf.d/ubuntu/mkosi.conf.d/non-x86.conf index 8e0e3c0d78..255358967c 100644 --- a/mkosi.conf.d/ubuntu/mkosi.conf.d/non-x86.conf +++ b/mkosi.conf.d/ubuntu/mkosi.conf.d/non-x86.conf @@ -7,4 +7,4 @@ Architecture=!x86 Release=noble [Build] -SandboxTrees=noble-backports-ports.sources:/etc/apt/sources.list.d/noble-backports-ports.sources +SandboxTrees=%D/mkosi.conf.d/ubuntu/noble-backports-ports.sources:/etc/apt/sources.list.d/noble-backports-ports.sources diff --git a/mkosi.conf.d/ubuntu/mkosi.conf.d/x86.conf b/mkosi.conf.d/ubuntu/mkosi.conf.d/x86.conf index e0e96b2c18..5463bd794a 100644 --- a/mkosi.conf.d/ubuntu/mkosi.conf.d/x86.conf +++ b/mkosi.conf.d/ubuntu/mkosi.conf.d/x86.conf @@ -7,4 +7,4 @@ Architecture=|x86 Release=noble [Build] -SandboxTrees=noble-backports.sources:/etc/apt/sources.list.d/noble-backports.sources +SandboxTrees=%D/mkosi.conf.d/ubuntu/noble-backports.sources:/etc/apt/sources.list.d/noble-backports.sources diff --git a/mkosi.conf.d/tools/mkosi.conf b/mkosi.tools.conf/mkosi.conf similarity index 70% rename from mkosi.conf.d/tools/mkosi.conf rename to mkosi.tools.conf/mkosi.conf index adbbf98ebf..a83e07a13e 100644 --- a/mkosi.conf.d/tools/mkosi.conf +++ b/mkosi.tools.conf/mkosi.conf @@ -1,8 +1,8 @@ # SPDX-License-Identifier: LGPL-2.1-or-later -[Build] -ToolsTreeSyncScripts=%D/mkosi.sync -ToolsTreePackages= +[Content] +SyncScripts=%D/mkosi.sync +Packages= gdb llvm meson # Also needed in the NO_BUILD case so we list it explicitly. diff --git a/mkosi.conf.d/tools/mkosi.conf.d/arch.conf b/mkosi.tools.conf/mkosi.conf.d/arch.conf similarity index 53% rename from mkosi.conf.d/tools/mkosi.conf.d/arch.conf rename to mkosi.tools.conf/mkosi.conf.d/arch.conf index 4de8b2bd58..2ccbf7c192 100644 --- a/mkosi.conf.d/tools/mkosi.conf.d/arch.conf +++ b/mkosi.tools.conf/mkosi.conf.d/arch.conf @@ -1,11 +1,11 @@ # SPDX-License-Identifier: LGPL-2.1-or-later [Match] -ToolsTreeDistribution=arch +Distribution=arch -[Build] -ToolsTreePrepareScripts=%D/mkosi.images/build/mkosi.conf.d/arch/mkosi.prepare -ToolsTreePackages= +[Content] +PrepareScripts=%D/mkosi.images/build/mkosi.conf.d/arch/mkosi.prepare +Packages= base-devel github-cli lcov diff --git a/mkosi.tools.conf/mkosi.conf.d/centos-fedora.conf b/mkosi.tools.conf/mkosi.conf.d/centos-fedora.conf new file mode 100644 index 0000000000..b360b1d55b --- /dev/null +++ b/mkosi.tools.conf/mkosi.conf.d/centos-fedora.conf @@ -0,0 +1,11 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +[Match] +Distribution=|fedora +Distribution=|centos + +[Content] +PrepareScripts=%D/mkosi.images/build/mkosi.conf.d/centos-fedora/mkosi.prepare +Packages= + python3-mypy + rpm-build diff --git a/mkosi.tools.conf/mkosi.conf.d/debian-ubuntu.conf b/mkosi.tools.conf/mkosi.conf.d/debian-ubuntu.conf new file mode 100644 index 0000000000..2b962da2ea --- /dev/null +++ b/mkosi.tools.conf/mkosi.conf.d/debian-ubuntu.conf @@ -0,0 +1,13 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +[Match] +Distribution=|debian +Distribution=|ubuntu + +[Content] +PrepareScripts=%D/mkosi.images/build/mkosi.conf.d/debian-ubuntu/mkosi.prepare +Packages= + gh + lcov + mypy + shellcheck diff --git a/mkosi.conf.d/tools/mkosi.conf.d/fedora.conf b/mkosi.tools.conf/mkosi.conf.d/fedora.conf similarity index 66% rename from mkosi.conf.d/tools/mkosi.conf.d/fedora.conf rename to mkosi.tools.conf/mkosi.conf.d/fedora.conf index 66592b86ad..e32cf27e98 100644 --- a/mkosi.conf.d/tools/mkosi.conf.d/fedora.conf +++ b/mkosi.tools.conf/mkosi.conf.d/fedora.conf @@ -1,10 +1,10 @@ # SPDX-License-Identifier: LGPL-2.1-or-later [Match] -ToolsTreeDistribution=fedora +Distribution=fedora -[Build] -ToolsTreePackages= +[Content] +Packages= lcov gh ruff diff --git a/mkosi.conf.d/tools/mkosi.conf.d/opensuse.conf b/mkosi.tools.conf/mkosi.conf.d/opensuse.conf similarity index 51% rename from mkosi.conf.d/tools/mkosi.conf.d/opensuse.conf rename to mkosi.tools.conf/mkosi.conf.d/opensuse.conf index b7af141964..9e016bcfb2 100644 --- a/mkosi.conf.d/tools/mkosi.conf.d/opensuse.conf +++ b/mkosi.tools.conf/mkosi.conf.d/opensuse.conf @@ -1,11 +1,11 @@ # SPDX-License-Identifier: LGPL-2.1-or-later [Match] -ToolsTreeDistribution=opensuse +Distribution=opensuse -[Build] -ToolsTreePrepareScripts=%D/mkosi.images/build/mkosi.conf.d/opensuse/mkosi.prepare -ToolsTreePackages= +[Content] +PrepareScripts=%D/mkosi.images/build/mkosi.conf.d/opensuse/mkosi.prepare +Packages= gh lcov mypy diff --git a/mkosi.conf.d/tools/mkosi.conf.d/ubuntu/mkosi.conf b/mkosi.tools.conf/mkosi.conf.d/ubuntu/mkosi.conf similarity index 65% rename from mkosi.conf.d/tools/mkosi.conf.d/ubuntu/mkosi.conf rename to mkosi.tools.conf/mkosi.conf.d/ubuntu/mkosi.conf index 3078782ae3..b9fd7bcf34 100644 --- a/mkosi.conf.d/tools/mkosi.conf.d/ubuntu/mkosi.conf +++ b/mkosi.tools.conf/mkosi.conf.d/ubuntu/mkosi.conf @@ -1,4 +1,4 @@ # SPDX-License-Identifier: LGPL-2.1-or-later [Match] -ToolsTreeDistribution=ubuntu +Distribution=ubuntu diff --git a/mkosi.conf.d/tools/mkosi.conf.d/ubuntu/mkosi.conf.d/non-x86.conf b/mkosi.tools.conf/mkosi.conf.d/ubuntu/mkosi.conf.d/non-x86.conf similarity index 51% rename from mkosi.conf.d/tools/mkosi.conf.d/ubuntu/mkosi.conf.d/non-x86.conf rename to mkosi.tools.conf/mkosi.conf.d/ubuntu/mkosi.conf.d/non-x86.conf index ac5676a909..255358967c 100644 --- a/mkosi.conf.d/tools/mkosi.conf.d/ubuntu/mkosi.conf.d/non-x86.conf +++ b/mkosi.tools.conf/mkosi.conf.d/ubuntu/mkosi.conf.d/non-x86.conf @@ -4,7 +4,7 @@ [Match] Architecture=!x86-64 Architecture=!x86 -ToolsTreeRelease=noble +Release=noble [Build] -ToolsTreeSandboxTrees=%D/mkosi.conf.d/ubuntu/noble-backports-ports.sources:/etc/apt/sources.list.d/noble-backports-ports.sources +SandboxTrees=%D/mkosi.conf.d/ubuntu/noble-backports-ports.sources:/etc/apt/sources.list.d/noble-backports-ports.sources diff --git a/mkosi.conf.d/tools/mkosi.conf.d/ubuntu/mkosi.conf.d/x86.conf b/mkosi.tools.conf/mkosi.conf.d/ubuntu/mkosi.conf.d/x86.conf similarity index 53% rename from mkosi.conf.d/tools/mkosi.conf.d/ubuntu/mkosi.conf.d/x86.conf rename to mkosi.tools.conf/mkosi.conf.d/ubuntu/mkosi.conf.d/x86.conf index ef4c494561..5463bd794a 100644 --- a/mkosi.conf.d/tools/mkosi.conf.d/ubuntu/mkosi.conf.d/x86.conf +++ b/mkosi.tools.conf/mkosi.conf.d/ubuntu/mkosi.conf.d/x86.conf @@ -4,7 +4,7 @@ [Match] Architecture=|x86-64 Architecture=|x86 -ToolsTreeRelease=noble +Release=noble [Build] -ToolsTreeSandboxTrees=%D/mkosi.conf.d/ubuntu/noble-backports.sources:/etc/apt/sources.list.d/noble-backports.sources +SandboxTrees=%D/mkosi.conf.d/ubuntu/noble-backports.sources:/etc/apt/sources.list.d/noble-backports.sources diff --git a/test/integration-tests/README.md b/test/integration-tests/README.md index 3f477dcba6..1314bf0131 100644 --- a/test/integration-tests/README.md +++ b/test/integration-tests/README.md @@ -169,9 +169,9 @@ ToolsTree= On the other hand, if the rpms are available but not installed on the host system, you'll want to make sure they're installed into the mkosi tools tree so -that they're used to build the image by using either -`ToolsTreePackageDirectories=` or `ToolsTreeSandboxTrees=` similarly to -`PackageDirectories=` or `SandboxTrees=` mentioned above. +that they're used to build the image by again using either +`PackageDirectories=` or `SandboxTrees=`, but this time in +`mkosi.tools.conf/mkosi.local.conf` instead of `mkosi.local.conf`. Finally, we'll make use of the standalone mode of running the integration tests to avoid having to install any build dependencies.