1
0
mirror of https://github.com/systemd/systemd.git synced 2024-10-27 10:25:37 +03:00
Commit Graph

40 Commits

Author SHA1 Message Date
Luca Boccassi
022684221e mkosi: libbpf0 -> libbpf1 2022-10-24 20:40:07 +02:00
Daan De Meyer
0aa1d40649 mkosi: Switch to Fedora 37
Official release date is close so let's switch mkosi CI to it already.
2022-10-17 16:02:16 +02:00
Daan De Meyer
beead603c5
Merge pull request #24629 from DaanDeMeyer/mkosi-kernel
mkosi: Optionally build a kernel image from mkosi.kernel/
2022-10-11 14:37:19 +02:00
Daan De Meyer
d12e9bdc76 mkosi: Optionally build a kernel image from mkosi.kernel/
If mkosi.kernel/ exists, the mkosi script will try to build a kernel
image from it. We use the architecture defconfig as a base and add
our own extra configuration on top.

We also add some extra tooling to the build image required to build
the kernel and include some documentation in HACKING.md on how to
use this new feature.

To avoid the kernel sources from being copied into the build or
final image (which we don't want because it takes a while), we put
the mkosi.kernel/ directory in .gitignore and use
"SourceFileTransfer=mount" so that the sources are still accessible
in the build image.
2022-09-29 20:15:57 +02:00
Daan De Meyer
3e139a8e64 mkosi: Use SourceFileTransfer=mount
Our source and build directories are nicely separated, so we should
have no issues with using SourceFileTransfer=mount, since the build
won't create any files owned by root in the source directory.
2022-09-29 18:53:15 +02:00
Daan De Meyer
d555da0001 mkosi: Drop kernel-modules-extra from Fedora config
It pulls in the kernel, even if we don't want the kernel to be
installed.
2022-09-29 18:52:22 +02:00
Yu Watanabe
8aeccfdedf mkosi: install fdisk for test-loop-block 2022-09-28 03:06:27 +09:00
Daan De Meyer
06d6ea1b16 mkosi: Set ExtraSearchPaths=build/ by default
When hacking on systemd, let's have mkosi prefer executables from
the build directory over the system ones.
2022-09-20 21:59:00 +02:00
Luca Boccassi
a26e6bf8bf mkosi: add back packages removed from OpenSUSE build
Some packages were removed from the OpenSUSE build, which broke the
unit tests. Add them back.

Fixes: 37d35150cb ("mkosi: Ensure we build all features/components in mkosi")
2022-08-26 00:12:55 +01:00
Daan De Meyer
37d35150cb mkosi: Ensure we build all features/components in mkosi
Explicitly enable all features/components in the mkosi build to
ensure they all get built and we get an error if they can't be built.

We also rework the packages sections of all mkosi configs to reduce
duplication and cover all the dependencies necessary to build/use all
systemd features.

Note that for the final image, since systemd is installed by default
in base images, we rely on that to install the base library dependencies
and we only list extra optional dependencies and tools that aren't already
installed by default into the base image.

We also drop the centos stream 8 mkosi build as dependencies on that
distro are too out-of-date to be able to build all systemd features.
Since centos stream 9 has been out for a while, let's focus on that
and leave it to downstream to keep systemd building on centos stream 8.

Finally, there's a few additions to the mkosi scripts to make sure
services don't start by default on boot.
2022-08-23 15:19:26 +02:00
Luca Boccassi
76d79e7e35
Merge pull request #24264 from DaanDeMeyer/mkosi-dirs
mkosi settings tweaks
2022-08-10 20:52:46 +01:00
Daan De Meyer
d808662ec0 mkosi: Don't use InstallDirectory by default
While this provides some marginal speedup, the disadvantage is
that files are never removed when doing cached builds, which can
sometimes lead to hard to debug issues. So let's not do this by
default.
2022-08-09 20:31:29 +02:00
Daan De Meyer
670dfcb6ec mkosi: Use mkosi.output/ as output directory by default
Better than creating a mess of output files in the root directory.
2022-08-09 20:30:45 +02:00
Richard Phibel
b6d1e2b441
mkosi: Add package libfdisk to Ubuntu dependencies (#24211)
* mkosi: Add package libfdisk to Ubuntu dependencies

The libfdisk package is needed by systemd-repart.
2022-08-05 18:40:17 +01:00
Daan De Meyer
7ca9563ca1 mkosi: Remove usage of deprecated option names/sections 2022-07-18 16:54:58 +02:00
Daan De Meyer
69d638e67e mkosi: Changes to allow booting with sanitizers in mkosi
- Extra memory because ASAN needs it
- The environment variables to make the sanitizers more useful
- LD_PRELOAD because the ASAN DSO needs to be the first in the list
- The sanitizer library packages
- Disable syscall filters because they interfere with ASAN
- Disable systemd-hwdb-update because it's super slow when systemd-hwdb
  is built with sanitizers
- Take the value for meson's b_sanitize option from the SANITIZERS
  environment variable
2022-07-18 16:54:56 +02:00
Daan De Meyer
111ff5d511 mkosi: Update Ubuntu config to 22.04 2022-07-18 10:20:48 +02:00
Daan De Meyer
a6e6b6954c mkosi: Install xxd in images
Came in handy while working on
https://github.com/systemd/systemd/pull/24024 so let's install it
in the image by default.
2022-07-18 10:20:43 +02:00
Yu Watanabe
ab21290049 mkosi: drop libiptc from build for Fedora
It is mostly deprecated on Fedora.
2022-05-13 04:21:27 +09:00
Yu Watanabe
2481f0369c mkosi: test-acl-util requires getfacl 2022-05-13 03:09:42 +09:00
Zbigniew Jędrzejewski-Szmek
7353de27b7 man,mkosi: fedora 36 has been released 2022-05-13 02:34:07 +09:00
Luca Boccassi
37b7eef35d mkosi: add shadow package to SUSE Tumbleweed
[1958/1958] Generating export-dbus-interfaces with a custom command
/root/mkosi.build: line 70: groupadd: command not found
2022-05-09 14:58:06 +01:00
Daan De Meyer
24a0df5c3c mkosi: Add centos_epel config
Now that mkosi has centos-stream 9 support, let's add a config in
the repo so that the mkosi CI tests that configuration as well.

Centos doesn't support btrfs so we use xfs instead. For some reason,
building --hostonly-initrd centos images breaks the qemu boot so I
disabled that option for centos.

We update the mkosi commit hash to 0dd39c20a4
which adds the PowerTools repo to CentOS Stream 8 which is required
to make all the necessary packages required to build systemd on
CentOS Stream 8 available.
2022-02-25 16:17:29 +00:00
Daan De Meyer
f370708084 mkosi: Add more packages required to run systemd-networkd-tests.py
Let's also add the required packages to run systemd-networkd-tests.py
for Ubuntu and Debian. The Fedora and Arch lists are also updated to
include python which is also required to run the tests.
2022-02-17 18:17:36 +00:00
Daan De Meyer
0f1853e230 mkosi: Support running systemd-networkd-tests.py in QEMU
This commit adds the necessary packages for Fedora and Arch.
2022-02-15 22:11:39 +00:00
Evgeny Vereshchagin
b0f1f76ca1 ci: switch from unstable to testing on mkosi 2022-01-18 10:27:28 +00:00
Frantisek Sumsal
24acd4064e ci: check for failed services after boot
This should, hopefully, catch issues like systemd/systemd#21671
automagically.
2021-12-10 10:25:43 +01:00
Daan De Meyer
808b23ecf6 mkosi: Build Fedora 35 images 2021-12-09 15:05:01 +01:00
Daan De Meyer
bea29a4296 mkosi: Add compsize to list of installed packages on Fedora
compsize is useful to check the compression ratio of journal files
on filesystems that support compression such as BTRFS.
2021-12-06 22:17:40 +01:00
Daan De Meyer
e5f14b1eb8 mkosi: Add e2fsprogs to installed packages for Fedora
lsattr is useful to check chattr flags on files.
2021-12-06 22:17:40 +01:00
Daan De Meyer
7454acd73f mkosi: Add netcat to fedora image
This helps with testing socket units.
2021-10-30 22:13:46 +01:00
Daan De Meyer
6b64d74091 mkosi: Install less in the mkosi Fedora image
We're actually falling back to `more` in the mkosi image which doesn't
behave quite the same as less which is somewhat annoying. Let's make
sure `less` is installed so systemd can use it as the pager.
2021-10-30 11:53:49 +01:00
Daan De Meyer
1427e56dfd mkosi: Add number prefixes to per-distro files for easier overriding
This allows developers to add override files to override per-distro settings.
2021-10-14 14:06:53 +02:00
Iago López Galeiras
af11239196 mkosi: add libbpf dependency
For distros that ship libbpf >=0.2.0.
2021-10-06 10:52:14 +02:00
Lennart Poettering
c7e445abd5 Revert "mkosi: turn off qemu headless mode"
This reverts commit a02c1239cc.

(Sorry, I pushed this directly to 'main' by accident)
2021-09-24 14:20:40 +02:00
Lennart Poettering
a02c1239cc mkosi: turn off qemu headless mode
We ship the mkosi files to make sure we can test our own code. A good
chunk of our code (and the main reason to use qemu rather than nspawn)
is the EFI code, i.e. in sd-boot and the EFI stub. Hence it's bad idea
to use qemu headless mode, since that means we bypass all that.

Let's hence toggle the defaults here, but keep the line in place, to
make it easy to switch back if someone wants the speed, rather than the
testing.
2021-09-23 17:07:13 +02:00
Yu Watanabe
05403363ca tree-wide: fix typo 2021-09-05 09:09:13 +02:00
Zbigniew Jędrzejewski-Szmek
d55ad7fe96 mkosi: move distro files to mkosi.default.d/
With this change, "mkosi build" will automatically build systemd for the
current distro without any further configuration. If people want to do a
cross-distro build by default, they can still create mkosi.default, but I
assume that this is relatively rare.

If people have symlinked mkosi.default to one of the files in .mkosi/, they'll
need to adjust the symlink.

(Building without configuration would always fail, since systemd has many many
required dependencies. I think it's nicer to do the most commonly expected
thing by default, i.e. rebuild for the current distro.)

Mkosi is nowadays packaged for most distros, so recommend installing of distro
packages as the primary installation mechanism.
2021-09-03 13:18:38 +02:00
Daan De Meyer
79a998fa21 mkosi: Enable InstallDirectory and SourceFileTransferFinal options
- InstallDirectory caches the install part of the build process
which speeds up incremental builds a little and allows inspecting
the installed components in mkosi.installdir.
- SourceFileTransferFinal copies the source files to the final
image which makes the gdb experience in qemu/systemd-nspawn a bit
nicer as it can now find the source files and show the source code
in the gdb cli itself.
2021-01-06 23:28:34 +00:00
Daan De Meyer
6242cda99d Move shared mkosi settings to a single file in mkosi.default.d/ 2021-01-06 12:10:58 +00:00