summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/mkosi.yml6
-rw-r--r--.gitignore3
-rw-r--r--docs/HACKING.md2
-rw-r--r--docs/TESTING_WITH_SANITIZERS.md2
-rw-r--r--mkosi.conf.d/10-systemd.conf2
-rw-r--r--mkosi.conf.d/arch/10-arch.conf5
-rw-r--r--mkosi.conf.d/centos/10-centos.conf17
-rw-r--r--mkosi.conf.d/debian/10-debian.conf5
-rw-r--r--mkosi.conf.d/fedora/10-fedora.conf7
-rw-r--r--mkosi.conf.d/opensuse/10-opensuse.conf5
-rw-r--r--mkosi.conf.d/ubuntu/10-ubuntu.conf5
-rw-r--r--mkosi.extra/root/.gdbinit1
-rwxr-xr-xtest/mkosi.build.networkd-test25
-rw-r--r--test/mkosi.default.networkd-test82
-rw-r--r--test/mkosi.nspawn.networkd-test4
15 files changed, 33 insertions, 138 deletions
diff --git a/.github/workflows/mkosi.yml b/.github/workflows/mkosi.yml
index 90c3d07828..cec8a432d2 100644
--- a/.github/workflows/mkosi.yml
+++ b/.github/workflows/mkosi.yml
@@ -1,7 +1,7 @@
---
# vi: ts=2 sw=2 et:
# SPDX-License-Identifier: LGPL-2.1-or-later
-# Simple boot tests that build and boot the mkosi images generated by the mkosi config files in mkosi.default.d/.
+# Simple boot tests that build and boot the mkosi images generated by the mkosi config files in mkosi.conf.d/.
name: mkosi
on:
@@ -73,11 +73,11 @@ jobs:
steps:
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c
- - uses: systemd/mkosi@36638fb37e0ccbb97bbaa573d158dcea3a5f9bde
+ - uses: systemd/mkosi@af1fe54805c84bb09e80bb585399121946fec701
- name: Configure
run: |
- tee mkosi.default <<- EOF
+ tee mkosi.conf <<- EOF
[Distribution]
Distribution=${{ matrix.distro }}
Release=${{ matrix.release }}
diff --git a/.gitignore b/.gitignore
index 844d67f0a1..1ad0675c4e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -31,11 +31,10 @@ __pycache__/
/.mkosi-*
/mkosi.builddir/
/mkosi.output/
-/mkosi.default
/mkosi.installdir/
/mkosi.secure-boot.*
# Ignore any mkosi config files with "local" in the name
-/mkosi.default.d/**/*local*.conf
+/mkosi.conf.d/**/*local*.conf
/tags
.dir-locals-2.el
.vscode/
diff --git a/docs/HACKING.md b/docs/HACKING.md
index 265f17e0d5..d5c5373430 100644
--- a/docs/HACKING.md
+++ b/docs/HACKING.md
@@ -340,7 +340,7 @@ To debug systemd-boot in an IDE such as VSCode we can use a launch configuration
If you're hacking on the kernel in tandem with systemd, you can clone a kernel repository in mkosi.kernel/ in
the systemd repository, and mkosi will automatically build that kernel and install it into the final image.
To prevent the distribution's kernel from being installed (which isn't necessary since we're building our
-own kernel), you can add the following snippets to mkosi.default.d/20-local.conf:
+own kernel), you can add the following snippets to mkosi.conf.d/20-local.conf:
(This snippet is for Fedora, the list of packages will need to be changed for other distributions)
diff --git a/docs/TESTING_WITH_SANITIZERS.md b/docs/TESTING_WITH_SANITIZERS.md
index ef98cf0121..67b6be46c2 100644
--- a/docs/TESTING_WITH_SANITIZERS.md
+++ b/docs/TESTING_WITH_SANITIZERS.md
@@ -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 20-local.conf in mkosi.default.d/ and add the following
+To build with sanitizers in mkosi, create a file 20-local.conf in mkosi.conf.d/ and add the following
contents:
```
diff --git a/mkosi.conf.d/10-systemd.conf b/mkosi.conf.d/10-systemd.conf
index 0b364f49f2..bbb3544f1f 100644
--- a/mkosi.conf.d/10-systemd.conf
+++ b/mkosi.conf.d/10-systemd.conf
@@ -13,6 +13,7 @@ OutputDirectory=mkosi.output
[Content]
BuildDirectory=mkosi.builddir
Cache=mkosi.cache
+ExtraTrees=src:/root/src
Packages=
acl
bash-completion
@@ -66,7 +67,6 @@ BuildPackages=
[Host]
Acl=yes
-Netdev=yes
QemuMem=2G
ExtraSearchPaths=build/
KernelCommandLineExtra=systemd.crash_shell
diff --git a/mkosi.conf.d/arch/10-arch.conf b/mkosi.conf.d/arch/10-arch.conf
index e1c75b3996..30333cff3a 100644
--- a/mkosi.conf.d/arch/10-arch.conf
+++ b/mkosi.conf.d/arch/10-arch.conf
@@ -3,7 +3,7 @@
# Copyright © 2016 Zeal Jagannatha
# This is a settings file for OS image generation using mkosi (https://github.com/systemd/mkosi).
-# Symlink this file to mkosi.default in the project root directory and invoke "mkosi" to build an OS image.
+# Symlink this file to mkosi.conf in the project root directory and invoke "mkosi" to build an OS image.
[Distribution]
Distribution=arch
@@ -31,6 +31,8 @@ Packages=
polkit
popt
python-pefile
+ python-psutil
+ python-pytest
quota-tools
shadow
tpm2-tss
@@ -47,4 +49,3 @@ BuildPackages=
python-jinja
python-lxml
python-pyelftools
- python-pytest
diff --git a/mkosi.conf.d/centos/10-centos.conf b/mkosi.conf.d/centos/10-centos.conf
index 2532b35f51..ff26e3611f 100644
--- a/mkosi.conf.d/centos/10-centos.conf
+++ b/mkosi.conf.d/centos/10-centos.conf
@@ -1,11 +1,11 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
# This is a settings file for OS image generation using mkosi (https://github.com/systemd/mkosi).
-# Symlink this file to mkosi.default in the project root directory and invoke "mkosi" to build an OS image.
+# Symlink this file to mkosi.conf in the project root directory and invoke "mkosi" to build an OS image.
-# We use python3*dist() throughout this file because we need to make sure the python3.9dis() packages are
-# installed on CentOS Stream 8. mkosi doesn't support release specific configuration yet so we use the globs
-# to get the necessary packages on both CentOS Stream 8 and CentOS Stream 9.
+# We use python3[.][9]dist() throughout this file because we need to make sure the python3.9dis() packages
+# are installed on CentOS Stream 8. mkosi doesn't support release specific configuration yet so we use the
+# globs to get the necessary packages on both CentOS Stream 8 and CentOS Stream 9.
[Distribution]
Distribution=centos
@@ -47,6 +47,7 @@ Packages=
procps-ng
python3[.][9]dist(pefile)
python3[.][9]dist(pluggy) # python39-pluggy is a pytest dependency that's not installed for some reason.
+ python3[.][9]dist(psutil)
python3[.][9]dist(pytest)
python39
quota
@@ -101,7 +102,7 @@ BuildPackages=
pkgconfig(tss2-rc)
pkgconfig(valgrind)
pkgconfig(xkbcommon)
- python3*dist(docutils)
- python3*dist(jinja2)
- python3*dist(lxml)
- python3*dist(pyelftools)
+ python3-docutils
+ python3[.][9]dist(jinja2)
+ python3[.][9]dist(lxml)
+ python3[.][9]dist(pyelftools)
diff --git a/mkosi.conf.d/debian/10-debian.conf b/mkosi.conf.d/debian/10-debian.conf
index e9b5775a37..c3e582b8ec 100644
--- a/mkosi.conf.d/debian/10-debian.conf
+++ b/mkosi.conf.d/debian/10-debian.conf
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
# This is a settings file for OS image generation using mkosi (https://github.com/systemd/mkosi).
-# Symlink this file to mkosi.default in the project root directory and invoke "mkosi" to build an OS image.
+# Symlink this file to mkosi.conf in the project root directory and invoke "mkosi" to build an OS image.
[Distribution]
Distribution=debian
@@ -40,6 +40,8 @@ Packages=
policykit-1
procps
python3-pefile
+ python3-psutil
+ python3-pytest
quota
xxd
@@ -92,5 +94,4 @@ BuildPackages=
python3-jinja2
python3-lxml
python3-pyelftools
- python3-pytest
xsltproc
diff --git a/mkosi.conf.d/fedora/10-fedora.conf b/mkosi.conf.d/fedora/10-fedora.conf
index b4c641cd67..b263cce673 100644
--- a/mkosi.conf.d/fedora/10-fedora.conf
+++ b/mkosi.conf.d/fedora/10-fedora.conf
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
# This is a settings file for OS image generation using mkosi (https://github.com/systemd/mkosi).
-# Symlink this file to mkosi.default in the project root directory and invoke "mkosi" to build an OS image.
+# Symlink this file to mkosi.conf in the project root directory and invoke "mkosi" to build an OS image.
[Distribution]
Distribution=fedora
@@ -41,6 +41,8 @@ Packages=
popt
procps-ng
python3dist(pefile)
+ python3dist(psutil)
+ python3dist(pytest)
quota
tpm2-tss
vim-common
@@ -90,8 +92,7 @@ BuildPackages=
pkgconfig(valgrind)
pkgconfig(xencontrol)
pkgconfig(xkbcommon)
- python3dist(docutils)
+ python3-docutils
python3dist(jinja2)
python3dist(lxml)
python3dist(pyelftools)
- python3dist(pytest)
diff --git a/mkosi.conf.d/opensuse/10-opensuse.conf b/mkosi.conf.d/opensuse/10-opensuse.conf
index ae0486850c..1e03c79cff 100644
--- a/mkosi.conf.d/opensuse/10-opensuse.conf
+++ b/mkosi.conf.d/opensuse/10-opensuse.conf
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
# This is a settings file for OS image generation using mkosi (https://github.com/systemd/mkosi).
-# Symlink this file to mkosi.default in the project root directory and invoke "mkosi" to build an OS image.
+# Symlink this file to mkosi.conf in the project root directory and invoke "mkosi" to build an OS image.
[Distribution]
Distribution=opensuse
@@ -39,6 +39,8 @@ Packages=
libxkbcommon0
pam
python3-pefile
+ python3-psutil
+ python3-pytest
shadow
tpm2-0-tss
vim
@@ -95,7 +97,6 @@ BuildPackages=
python3-Jinja2
python3-lxml
python3-pyelftools
- python3-pytest
qrencode-devel
shadow
system-group-obsolete
diff --git a/mkosi.conf.d/ubuntu/10-ubuntu.conf b/mkosi.conf.d/ubuntu/10-ubuntu.conf
index ffc1d54456..51898475b0 100644
--- a/mkosi.conf.d/ubuntu/10-ubuntu.conf
+++ b/mkosi.conf.d/ubuntu/10-ubuntu.conf
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
# This is a settings file for OS image generation using mkosi (https://github.com/systemd/mkosi).
-# Symlink this file to mkosi.default in the project root directory and invoke "mkosi" to build an OS image.
+# Symlink this file to mkosi.conf in the project root directory and invoke "mkosi" to build an OS image.
[Distribution]
Distribution=ubuntu
@@ -42,6 +42,8 @@ Packages=
policykit-1
procps
python3-pefile
+ python3-psutil
+ python3-pytest
quota
xxd
@@ -93,5 +95,4 @@ BuildPackages=
python3-jinja2
python3-lxml
python3-pyelftools
- python3-pytest
xsltproc
diff --git a/mkosi.extra/root/.gdbinit b/mkosi.extra/root/.gdbinit
index 522e1fecb6..1a2163e3a5 100644
--- a/mkosi.extra/root/.gdbinit
+++ b/mkosi.extra/root/.gdbinit
@@ -1,2 +1,3 @@
set debuginfod enabled off
set build-id-verbose 0
+set substitute-path ../src /root/src
diff --git a/test/mkosi.build.networkd-test b/test/mkosi.build.networkd-test
deleted file mode 100755
index 25c935ed61..0000000000
--- a/test/mkosi.build.networkd-test
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/sh
-# SPDX-License-Identifier: LGPL-2.1-or-later
-set -ex
-
-# First, source in the main build script
-. "$SRCDIR"/mkosi.build
-
-mkdir -p "$DESTDIR"/usr/local/bin
-cp "$SRCDIR"/test/networkd-test.py "$DESTDIR"/usr/local/bin/networkd-test.py
-
-mkdir -p "$DESTDIR"/etc/systemd/system
-cat >"$DESTDIR"/etc/systemd/system/networkd-test.service <<EOF
-[Unit]
-Description=networkd test service
-SuccessAction=exit
-FailureAction=exit
-
-[Service]
-ExecStart=/usr/local/bin/networkd-test.py
-EOF
-
-mkdir -p "$DESTDIR"/etc/systemd/system/multi-user.target.wants/
-ln -s ../networkd-test.service "$DESTDIR"/etc/systemd/system/multi-user.target.wants/
-
-systemctl --root="$DESTDIR" disable systemd-networkd.service
diff --git a/test/mkosi.default.networkd-test b/test/mkosi.default.networkd-test
deleted file mode 100644
index fe15f394be..0000000000
--- a/test/mkosi.default.networkd-test
+++ /dev/null
@@ -1,82 +0,0 @@
-# SPDX-License-Identifier: LGPL-2.1-or-later
-#
-# Puts together an nspawn container and runs networkd-test.py in it, inside a
-# network namespace and everything. Run this with
-#
-# mkosi -C test --default=mkosi.default.networkd-test boot
-#
-# This will start the test and eventually exit with success in case the test
-# succeeded.
-
-[Distribution]
-Distribution=fedora
-Release=33
-
-[Output]
-Format=raw_btrfs
-Bootable=yes
-OutputDirectory=../mkosi.output
-Output=networkd-test.raw
-
-[Partitions]
-RootSize=3G
-
-[Content]
-BuildPackages=
- audit-libs-devel
- bzip2-devel
- cryptsetup-devel
- dbus-devel
- diffutils
- docbook-style-xsl
- elfutils-devel
- gcc
- gettext
- git
- gnutls-devel
- gperf
- hostname
- iptables-devel
- kmod-devel
- libacl-devel
- libblkid-devel
- libcap-devel
- libcurl-devel
- libgcrypt-devel
- libidn2-devel
- libmicrohttpd-devel
- libmount-devel
- libseccomp-devel
- libselinux-devel
- libxkbcommon-devel
- libxslt
- lz4
- lz4-devel
- meson
- ninja-build
- pam-devel
- pcre2-devel
- perl(IPC::SysV)
- perl(Time::HiRes)
- pkgconfig
- python3-devel
- python3-lxml
- qrencode-devel
- tree
-
-Packages=
- dnsmasq
- iproute
- libidn2
- polkit
- python3
-
-# Share caches with the top-level mkosi
-BuildDirectory=../mkosi/mkosi.builddir
-Cache=../mkosi/mkosi.cache
-
-# Run our own script
-BuildScript=mkosi.build.networkd-test
-
-BuildSources=..
-NSpawnSettings=mkosi.nspawn.networkd-test
diff --git a/test/mkosi.nspawn.networkd-test b/test/mkosi.nspawn.networkd-test
deleted file mode 100644
index f624f241f3..0000000000
--- a/test/mkosi.nspawn.networkd-test
+++ /dev/null
@@ -1,4 +0,0 @@
-# SPDX-License-Identifier: LGPL-2.1-or-later
-
-[Network]
-Private=yes