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 2645e6df5d2..00000000000 --- 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 b6715b5c507..00000000000 --- 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 8e0e3c0d785..255358967c8 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 e0e96b2c184..5463bd794a2 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 adbbf98ebff..a83e07a13e6 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 4de8b2bd588..2ccbf7c192e 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 00000000000..b360b1d55b9 --- /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 00000000000..2b962da2ea7 --- /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 66592b86ad4..e32cf27e986 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 b7af1419645..9e016bcfb27 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 3078782ae30..b9fd7bcf342 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 ac5676a9099..255358967c8 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 ef4c494561b..5463bd794a2 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 3f477dcba6d..1314bf01310 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. -- 2.47.3