mkosi: Move all mkosi configuration into mkosi/ subdirectory

Now that mkosi can automatically pick up its main configuration from
a mkosi/ subdirectory if it exists and there is no configuration in the
top level directory, let's make use of it  to reduce the amount of clutter
in the top level directory of the repository.

This will also make it easier to install the mkosi configuration files as
part of the testing packages later on.
This commit is contained in:
Daan De Meyer
2025-04-02 14:27:45 +02:00
parent 478fadde77
commit 342d21ef19
145 changed files with 48 additions and 50 deletions

View File

@@ -53,7 +53,7 @@ jobs:
# XXX: drop after the HyperV bug that breaks secure boot KVM guests is solved
sed -i "s/'firmware'\s*:\s*'auto'/'firmware' : 'uefi'/g" test/*/meson.build
tee mkosi.local.conf <<EOF
tee mkosi/mkosi.local.conf <<EOF
[Distribution]
Distribution=arch

View File

@@ -146,7 +146,7 @@ jobs:
- name: Configure
run: |
tee mkosi.local.conf <<EOF
tee mkosi/mkosi.local.conf <<EOF
[Distribution]
Distribution=${{ matrix.distro }}
Release=${{ matrix.release }}

6
.gitignore vendored
View File

@@ -24,15 +24,11 @@ __pycache__/
/ID
/build*
/install-tree
/mkosi.builddir/
/mkosi.output/
/mkosi.installdir/
/mkosi.key
/mkosi.crt
/mkosi.tools/
/mkosi.tools.manifest
/.mkosi-private/
mkosi.local.conf
/mkosi/mkosi.local.conf
/tags
.dir-locals-2.el
.vscode/

View File

@@ -19,7 +19,7 @@ actions:
post-upstream-clone:
# Use the Fedora Rawhide specfile
- git clone https://src.fedoraproject.org/rpms/systemd .packit_rpm
- bash -c 'git -C .packit_rpm checkout "$(grep GIT_COMMIT= mkosi.conf.d/centos-fedora/mkosi.conf.d/pkgenv.conf | cut -d= -f2)"'
- bash -c 'git -C .packit_rpm checkout "$(grep GIT_COMMIT= mkosi/mkosi.conf.d/centos-fedora/mkosi.conf.d/pkgenv.conf | cut -d= -f2)"'
- bash -c 'echo "%bcond upstream 1" > .packit_rpm/systemd.spec.new'
- bash -c 'echo "%define meson_extra_configure_options --werror" >> .packit_rpm/systemd.spec.new'
- bash -c 'cat .packit_rpm/systemd.spec >> .packit_rpm/systemd.spec.new'

View File

@@ -86,7 +86,7 @@ not required to write basic patches.
By default, `mkosi` will first build a tools tree and use it build the image and
provide the environment for `mkosi sandbox`. To disable the tools tree and use
binaries from your host instead, write the following to `mkosi.local.conf`:
binaries from your host instead, write the following to `mkosi/mkosi.local.conf`:
```conf
[Build]
@@ -317,6 +317,6 @@ VScode, you'd have to add the following to the VSCode workspace settings of the
```json
{
"clangd.path": "<path-to-systemd-repository>/mkosi.clangd",
"clangd.path": "<path-to-systemd-repository>/mkosi/mkosi.clangd",
}
```

View File

@@ -15,7 +15,7 @@ compiler you want to use and which part of the test suite you want to run.
## mkosi
To build with sanitizers in mkosi, create a file `mkosi.local.conf` and add the following contents:
To build with sanitizers in mkosi, create a file `mkosi/mkosi.local.conf` and add the following contents:
```
[Content]

View File

@@ -22,4 +22,3 @@ exec "${SPAWN[@]}" mkosi \
$(pwd)=/work/src,\
$BUILDDIR/$BUILDSUBDIR=/work/build"\
"$@"

View File

@@ -26,23 +26,27 @@ PassEnvironment=
[Output]
RepartDirectories=mkosi.repart
OutputDirectory=build/mkosi.output
OutputDirectory=../build/mkosi.output
[Build]
History=yes
ToolsTree=default
BuildDirectory=build/mkosi.builddir
CacheDirectory=build/mkosi.cache
BuildDirectory=../build/mkosi.builddir
CacheDirectory=../build/mkosi.cache
Incremental=yes
WithTests=no
[Validation]
SignExpectedPcr=yes
SignExpectedPcrKey=../mkosi.key
SignExpectedPcrCertificate=../mkosi.crt
VerityKey=../mkosi.key
VerityCertificate=../mkosi.crt
[Content]
ExtraTrees=
mkosi.extra.common
mkosi.crt:/usr/lib/verity.d/mkosi.crt # sysext verification key
../mkosi.crt:/usr/lib/verity.d/mkosi.crt # sysext verification key
%O/minimal-0.root-%a.raw:/usr/share/minimal_0.raw
%O/minimal-0.root-%a-verity.raw:/usr/share/minimal_0.verity
%O/minimal-0.root-%a-verity-sig.raw:/usr/share/minimal_0.verity.sig
@@ -148,5 +152,5 @@ VSock=yes
KVM=yes
[Include]
Include=%D/mkosi.sanitizers
%D/mkosi.coverage
Include=%D/mkosi/mkosi.sanitizers
%D/mkosi/mkosi.coverage

View File

@@ -7,4 +7,4 @@ Architecture=!x86
Release=noble
[Build]
SandboxTrees=%D/mkosi.conf.d/ubuntu/noble-backports-ports.sources:/etc/apt/sources.list.d/noble-backports-ports.sources
SandboxTrees=%D/mkosi/mkosi.conf.d/ubuntu/noble-backports-ports.sources:/etc/apt/sources.list.d/noble-backports-ports.sources

View File

@@ -7,4 +7,4 @@ Architecture=|x86
Release=noble
[Build]
SandboxTrees=%D/mkosi.conf.d/ubuntu/noble-backports.sources:/etc/apt/sources.list.d/noble-backports.sources
SandboxTrees=%D/mkosi/mkosi.conf.d/ubuntu/noble-backports.sources:/etc/apt/sources.list.d/noble-backports.sources

View File

@@ -1,3 +1,2 @@
\S (built from systemd tree)
Kernel \r on an \m (\l)

View File

@@ -4,7 +4,7 @@
Distribution=arch
[Include]
Include=%D/mkosi.conf.d/arch/mkosi.conf.d/pkgenv.conf
Include=%D/mkosi/mkosi.conf.d/arch/mkosi.conf.d/pkgenv.conf
[Content]
Packages=

View File

@@ -2,7 +2,7 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
set -e
. mkosi.functions
. mkosi/mkosi.functions
if [[ "$1" == "clangd" ]]; then
exit 0

View File

@@ -5,7 +5,7 @@ Distribution=|centos
Distribution=|fedora
[Include]
Include=%D/mkosi.conf.d/centos-fedora/mkosi.conf.d/pkgenv.conf
Include=%D/mkosi/mkosi.conf.d/centos-fedora/mkosi.conf.d/pkgenv.conf
[Content]
Packages=

View File

@@ -5,7 +5,7 @@ Distribution=|debian
Distribution=|ubuntu
[Include]
Include=%D/mkosi.conf.d/debian-ubuntu/mkosi.conf.d/pkgenv.conf
Include=%D/mkosi/mkosi.conf.d/debian-ubuntu/mkosi.conf.d/pkgenv.conf
[Content]
Packages=

View File

@@ -2,7 +2,7 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
set -e
. mkosi.functions
. mkosi/mkosi.functions
if [[ "$1" == "clangd" ]]; then
exit 0

View File

@@ -4,7 +4,7 @@
Distribution=opensuse
[Include]
Include=%D/mkosi.conf.d/opensuse/mkosi.conf.d/pkgenv.conf
Include=%D/mkosi/mkosi.conf.d/opensuse/mkosi.conf.d/pkgenv.conf
[Content]
Packages=

View File

@@ -14,4 +14,4 @@ Packages=
bash
[Include]
Include=%D/mkosi.sanitizers
Include=%D/mkosi/mkosi.sanitizers

View File

@@ -3,11 +3,11 @@
[Include]
Include=
mkosi-initrd
%D/mkosi.sanitizers
%D/mkosi.coverage
%D/mkosi/mkosi.sanitizers
%D/mkosi/mkosi.coverage
[Content]
ExtraTrees=%D/mkosi.extra.common
ExtraTrees=%D/mkosi/mkosi.extra.common
Packages=
findutils

Some files were not shown because too many files have changed in this diff Show More