]> git.ipfire.org Git - thirdparty/mkosi.git/log
thirdparty/mkosi.git
10 months agodocs: Add missing documentation for the completion verb 3089/head
Jörg Behrmann [Tue, 1 Oct 2024 08:01:55 +0000 (10:01 +0200)] 
docs: Add missing documentation for the completion verb

10 months agodocs: Document that the documentation verb takes arguments
Jörg Behrmann [Tue, 1 Oct 2024 07:57:43 +0000 (09:57 +0200)] 
docs: Document that the documentation verb takes arguments

10 months agoFix broken man page links
Jörg Behrmann [Mon, 30 Sep 2024 21:17:15 +0000 (23:17 +0200)] 
Fix broken man page links

Fixes: #3086
10 months agodocs: Document how to include initrd in root verity doc
Daan De Meyer [Mon, 30 Sep 2024 19:33:45 +0000 (21:33 +0200)] 
docs: Document how to include initrd in root verity doc

10 months agoMerge pull request #3082 from behrmann/docnews
Daan De Meyer [Mon, 30 Sep 2024 18:11:46 +0000 (20:11 +0200)] 
Merge pull request #3082 from behrmann/docnews

Make news available to the documentation verb

10 months agodocs: Add man page shortcuts 3082/head
Jörg Behrmann [Mon, 30 Sep 2024 13:22:41 +0000 (15:22 +0200)] 
docs: Add man page shortcuts

10 months agodocs: Make man page chapter configurable and encode it in the resource file name
Jörg Behrmann [Mon, 30 Sep 2024 13:18:50 +0000 (15:18 +0200)] 
docs: Make man page chapter configurable and encode it in the resource file name

10 months agoMerge pull request #3081 from DaanDeMeyer/rpm
Jörg Behrmann [Mon, 30 Sep 2024 13:24:30 +0000 (15:24 +0200)] 
Merge pull request #3081 from DaanDeMeyer/rpm

opensuse: Force rpm ndb backend

10 months agodocs: Make news available to documentation verb
Jörg Behrmann [Mon, 30 Sep 2024 12:59:19 +0000 (14:59 +0200)] 
docs: Make news available to documentation verb

10 months agoopensuse: Force rpm ndb backend 3081/head
Daan De Meyer [Mon, 30 Sep 2024 12:23:35 +0000 (14:23 +0200)] 
opensuse: Force rpm ndb backend

OpenSUSE's rpm is not built with the sqlite db backend so let's make
sure the rpm DB can be read inside the image by OpenSUSE's rpm by
forcing the ndb backend to be used.

10 months agoSet up rpm before dnf/zypper
Daan De Meyer [Mon, 30 Sep 2024 12:22:59 +0000 (14:22 +0200)] 
Set up rpm before dnf/zypper

10 months agoDon't create mountpoint in /var in sandbox
Daan De Meyer [Mon, 30 Sep 2024 07:01:37 +0000 (09:01 +0200)] 
Don't create mountpoint in /var in sandbox

/var will always be writable in the sandbox so no need to precreate
the sandbox. This also saves us from using an overlayfs mount from
/var in the sandbox as it will be completely empty now.

10 months agoFix wrongly-quoted string.
Jörg Behrmann [Sun, 29 Sep 2024 12:21:25 +0000 (14:21 +0200)] 
Fix wrongly-quoted string.

Also make the option long-form.

Fixes: 0a1e8f26d16ac64040da7d03ef4711e706775f3a
10 months agoMake diff debug output in have_cache universal
Jörg Behrmann [Sun, 29 Sep 2024 11:06:14 +0000 (13:06 +0200)] 
Make diff debug output in have_cache universal

10 months agoReorder PeAddons= and fix summary name
Michael Ferrari [Sun, 29 Sep 2024 11:12:45 +0000 (13:12 +0200)] 
Reorder PeAddons= and fix summary name

10 months agoClean cache directory in run_clean()
Daan De Meyer [Sat, 28 Sep 2024 15:35:45 +0000 (17:35 +0200)] 
Clean cache directory in run_clean()

Let's make sure we clean up the previous cache in run_clean() instead
of in save_cache().

10 months agoFix addons directory mode
Daan De Meyer [Sun, 29 Sep 2024 09:58:06 +0000 (11:58 +0200)] 
Fix addons directory mode

We use 700 everywhere for /boot, so let's use it for addons as well.

10 months agoMerge pull request #3074 from NekkoDroid/mkosi-uki-addons
Daan De Meyer [Sun, 29 Sep 2024 09:57:34 +0000 (11:57 +0200)] 
Merge pull request #3074 from NekkoDroid/mkosi-uki-addons

Add support for building UKI addons

10 months agoAdd support for building PE addons 3074/head
Michael Ferrari [Sat, 28 Sep 2024 22:35:47 +0000 (00:35 +0200)] 
Add support for building PE addons

10 months agoExtract `ukify` call to separate function
Michael Ferrari [Sat, 28 Sep 2024 20:12:42 +0000 (22:12 +0200)] 
Extract `ukify` call to separate function

10 months agoMerge pull request #3072 from behrmann/buildddocs
Zbigniew Jędrzejewski-Szmek [Sat, 28 Sep 2024 10:37:37 +0000 (12:37 +0200)] 
Merge pull request #3072 from behrmann/buildddocs

Document script directories

10 months agoDon't use overlayfs for /etc and /opt in sandbox
Daan De Meyer [Fri, 27 Sep 2024 10:27:21 +0000 (12:27 +0200)] 
Don't use overlayfs for /etc and /opt in sandbox

Unprivileged overlayfs isn't available everywhere (see #3054). So
let's try to accomodate this a little by not using overlayfs for /etc
and /opt from the sandbox tree and instead mounting them read-only
into the sandbox. If required, scripts can still mount an overlayfs
onto these if needed, we just don't do it by default anymore.

This does mean we need to set up /etc with mountpoints and symlinks
beforehand in install_sandbox_trees(), but this shouldn't be a huge
problem.

10 months agoUpdate NEWS 3072/head
Jörg Behrmann [Fri, 27 Sep 2024 10:02:04 +0000 (12:02 +0200)] 
Update NEWS

10 months agodoc: Document script directories.
Jörg Behrmann [Fri, 27 Sep 2024 09:57:33 +0000 (11:57 +0200)] 
doc: Document script directories.

10 months agoAdd support for mkosi.clean.d and drop mkosi.configure.d
Jörg Behrmann [Fri, 27 Sep 2024 09:52:04 +0000 (11:52 +0200)] 
Add support for mkosi.clean.d and drop mkosi.configure.d

It makes sense to have multiple clean scripts, but with configuration we expect
a single output like with version and rootpw

10 months agoAdd mkosi.*.d for automatic script discovery
Jörg Behrmann [Tue, 17 Sep 2024 16:03:13 +0000 (18:03 +0200)] 
Add mkosi.*.d for automatic script discovery

10 months agoAdd mkosi-vm default config
Daan De Meyer [Thu, 26 Sep 2024 12:42:44 +0000 (14:42 +0200)] 
Add mkosi-vm default config

This replaces the bootable.md doc. Instead, users can just do
Include=mkosi-vm.

10 months agoInclude /opt in sysext images
Stéphane Graber [Thu, 26 Sep 2024 21:45:07 +0000 (17:45 -0400)] 
Include /opt in sysext images

Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
10 months agoDon't explicitly bind mount in keyrings from host into sandbox
Daan De Meyer [Wed, 25 Sep 2024 10:13:47 +0000 (12:13 +0200)] 
Don't explicitly bind mount in keyrings from host into sandbox

These are automatically mounted in as part of the tools tree. This
change means they'll always be picked up from the tools tree and won't
take ToolsTreeCertificates= into account anymore, but then keyrings weren't
exactly certificates in the first place, and can still be picked up from
the host by using SandboxTrees=.

This allows users to provide their own keyrings using sandbox trees. Currently
we just overmount the user provided ones with the ones from the host.

10 months agoAdd missing comma
Daan De Meyer [Wed, 25 Sep 2024 09:21:04 +0000 (11:21 +0200)] 
Add missing comma

10 months agoMerge pull request #3063 from DaanDeMeyer/engine
Daan De Meyer [Mon, 23 Sep 2024 15:32:12 +0000 (17:32 +0200)] 
Merge pull request #3063 from DaanDeMeyer/engine

Fix signing with engine

10 months agoFix signing with engine 3063/head
Daan De Meyer [Mon, 23 Sep 2024 14:24:30 +0000 (16:24 +0200)] 
Fix signing with engine

We need to make sure /run/pcscd/pcscd.comm is available to make
signing work so let's mount /run/pcscd into the sandbox every time
we're going to sign something if it exists.

10 months agoAlso look for /usr/lib/systemd/systemd-measure when looking for measure
Daan De Meyer [Mon, 23 Sep 2024 14:25:20 +0000 (16:25 +0200)] 
Also look for /usr/lib/systemd/systemd-measure when looking for measure

10 months agoMerge pull request #3060 from DaanDeMeyer/incremental
Daan De Meyer [Sun, 22 Sep 2024 16:35:44 +0000 (18:35 +0200)] 
Merge pull request #3060 from DaanDeMeyer/incremental

Add Incremental=strict

10 months agoAdd Incremental=strict 3060/head
Daan De Meyer [Sat, 21 Sep 2024 16:07:52 +0000 (18:07 +0200)] 
Add Incremental=strict

This ensures cached images already exist and fails the build if they
don't exist yet.

10 months agoRun build script without stdout to stderr redirection
Daan De Meyer [Sat, 21 Sep 2024 17:30:28 +0000 (19:30 +0200)] 
Run build script without stdout to stderr redirection

To allow running language servers such as clangd in the build script.
See https://github.com/systemd/systemd/pull/34517.

10 months agoShow proper error if parsing history fails
Daan De Meyer [Sat, 21 Sep 2024 22:59:31 +0000 (00:59 +0200)] 
Show proper error if parsing history fails

10 months agoFix invalid format specifiers
Daan De Meyer [Sat, 21 Sep 2024 22:59:17 +0000 (00:59 +0200)] 
Fix invalid format specifiers

10 months agoDon't log if output already exists when using Format=none
Daan De Meyer [Sat, 21 Sep 2024 16:08:21 +0000 (18:08 +0200)] 
Don't log if output already exists when using Format=none

10 months agodocs: Fix partition order for root verity docs
Daan De Meyer [Sat, 21 Sep 2024 20:23:32 +0000 (22:23 +0200)] 
docs: Fix partition order for root verity docs

The generated root partition needs to be resized on first boot for
the A/B update setup so we have to make sure it's the last one and
give it the same size requirements as the B partition in the image
so it's grown to the same size.

Similarly, we make sure to leave sufficient space for verity hash
data updates. Because this is not the last partition, we can't grow
it on first boot so we leave sufficient room inside the image itself
when building it.

While we're at it we also reorder the settings a bit so things are
more consistent.

10 months agoSeparate the PROFILES variables with spaces instead of commas
Jörg Behrmann [Sun, 22 Sep 2024 08:48:40 +0000 (10:48 +0200)] 
Separate the PROFILES variables with spaces instead of commas

Space-separated strings strings are the shell programmers array and therefore
easier to consume. Since profile names are supposed to be space-free, this is a
safe change and for languages with smaller footgun potential it does not make a
difference.

10 months agoMerge pull request #3057 from DaanDeMeyer/profile
Daan De Meyer [Sat, 21 Sep 2024 19:59:41 +0000 (21:59 +0200)] 
Merge pull request #3057 from DaanDeMeyer/profile

Parse profiles after mkosi.conf.d

10 months agoAllow configuring more than one profile 3057/head
Daan De Meyer [Sat, 21 Sep 2024 11:42:08 +0000 (13:42 +0200)] 
Allow configuring more than one profile

For many use cases it's useful to be able to configure more than one
profile, an example is selecting a generic desktop profile and a more
specific kde profile as well.

10 months agoRead config from mkosi.local/ as well if it exists
Daan De Meyer [Sat, 21 Sep 2024 10:13:19 +0000 (12:13 +0200)] 
Read config from mkosi.local/ as well if it exists

10 months agoParse profiles after mkosi.conf.d
Daan De Meyer [Sat, 21 Sep 2024 09:58:22 +0000 (11:58 +0200)] 
Parse profiles after mkosi.conf.d

Currently profiles can't depend on any of the configuration set in
mkosi.conf.d as they are parsed before mkosi.conf.d is parsed. Let's
parse the profile related configuration last instead so it can match
on all the configuration set in mkosi.conf.d.

To set the distribution and release and such based on the profile,
a dropin in mkosi.conf.d can match on the configured profile instead.

10 months agoUse run0 instead of refusing to run commands that need root unprivileged
Daan De Meyer [Fri, 20 Sep 2024 18:02:05 +0000 (20:02 +0200)] 
Use run0 instead of refusing to run commands that need root unprivileged

10 months agoMerge pull request #3059 from behrmann/moreformat
Daan De Meyer [Sat, 21 Sep 2024 11:09:59 +0000 (13:09 +0200)] 
Merge pull request #3059 from behrmann/moreformat

Formatting followups

10 months agodir-locals: set python-indent-def-block-scale to 1 3059/head
Jörg Behrmann [Sat, 21 Sep 2024 10:58:41 +0000 (12:58 +0200)] 
dir-locals: set python-indent-def-block-scale to 1

This makes the default Emacs indentation compatible with the ruff style so that
no extra indentation is added for function arguments.

10 months agoReduce indentation in finalize_qemu_firmware
Jörg Behrmann [Sat, 21 Sep 2024 10:57:38 +0000 (12:57 +0200)] 
Reduce indentation in finalize_qemu_firmware

10 months agoMerge pull request #3052 from behrmann/ruffformat
Daan De Meyer [Sat, 21 Sep 2024 09:36:54 +0000 (11:36 +0200)] 
Merge pull request #3052 from behrmann/ruffformat

Format with ruff

10 months agoAdd comments demarking config sections 3052/head
Jörg Behrmann [Sat, 21 Sep 2024 05:08:35 +0000 (07:08 +0200)] 
Add comments demarking config sections

10 months agoForce multiline formatting in more places
Jörg Behrmann [Sat, 21 Sep 2024 05:08:22 +0000 (07:08 +0200)] 
Force multiline formatting in more places

10 months agoeditorconfig: configure line length more widely
Jörg Behrmann [Fri, 20 Sep 2024 09:15:17 +0000 (11:15 +0200)] 
editorconfig: configure line length more widely

10 months agoci: add ruff format check
Jörg Behrmann [Thu, 19 Sep 2024 21:24:09 +0000 (23:24 +0200)] 
ci: add ruff format check

10 months agoReformat to 109 columns
Jörg Behrmann [Fri, 20 Sep 2024 08:27:38 +0000 (10:27 +0200)] 
Reformat to 109 columns

10 months agoFormat with ruff
Jörg Behrmann [Wed, 18 Sep 2024 13:31:43 +0000 (15:31 +0200)] 
Format with ruff

This change reformats mkosi using the ruff formatter with the default settings,
except for a line width of 119 columns.

Deviating from the default ruff formatting "fmt: skip" comments were added for
were it semantically makes sense, mainly:
- lists representing cmdlines, where options and their arguments should not be
  split
- when alignment improves readability (by easing comparisons with lines above
  and below)

Deviations from the above two guidelines are
- alignment was discarded for semantically empty statements (enum.auto())
- when all positional arguments where on the same line and options where on
  different lines, the positional arguments where put on separate lines as
  well, to minimize difference from vanilla ruff.

In collections that fit on a single line, trailing commas were removed, since
they force ruff to use multi-line formatting.

10 months agoMerge pull request #3053 from aafeijoo-suse/output-permissions-feat
Daan De Meyer [Fri, 20 Sep 2024 17:27:28 +0000 (19:27 +0200)] 
Merge pull request #3053 from aafeijoo-suse/output-permissions-feat

Add `OutputMode=` option

10 months agomkosi-initrd: set output mode 600 by default 3053/head
Antonio Alvarez Feijoo [Fri, 20 Sep 2024 14:12:24 +0000 (16:12 +0200)] 
mkosi-initrd: set output mode 600 by default

Traditionally, initrds stored in /boot must have their access mode set to 600.
Nowadays, this is useless for initrds stored on the vfat-formatted ESP, but it
doesn't hurt to support the old use case.

10 months agoAdd OutputMode= option
Antonio Alvarez Feijoo [Fri, 20 Sep 2024 14:12:06 +0000 (16:12 +0200)] 
Add OutputMode= option

10 months agoMerge pull request #3055 from DaanDeMeyer/fix
Daan De Meyer [Fri, 20 Sep 2024 14:00:14 +0000 (16:00 +0200)] 
Merge pull request #3055 from DaanDeMeyer/fix

Various sandbox fixes

10 months agoReplace --tmpfs with --dir for tmpfs directories 3055/head
Daan De Meyer [Fri, 20 Sep 2024 11:56:09 +0000 (13:56 +0200)] 
Replace --tmpfs with --dir for tmpfs directories

The root is already a tmpfs so no need to put separate tmpfs directories
on top of individual directories.

10 months agoMerge pull request #3049 from DaanDeMeyer/burn
Daan De Meyer [Fri, 20 Sep 2024 11:34:06 +0000 (13:34 +0200)] 
Merge pull request #3049 from DaanDeMeyer/burn

Don't pick up definitions from the host when running burn

10 months agoMove /etc/static symlink handling to finalize_crypto_mounts()
Daan De Meyer [Fri, 20 Sep 2024 11:23:46 +0000 (13:23 +0200)] 
Move /etc/static symlink handling to finalize_crypto_mounts()

10 months agoAdd back /etc/mtab symlink
Daan De Meyer [Fri, 20 Sep 2024 11:16:37 +0000 (13:16 +0200)] 
Add back /etc/mtab symlink

This got dropped somewhere in all the refactoring so let's add it
back.

10 months agodocs: Add doc on disk images with verity protected root partition
Daan De Meyer [Thu, 19 Sep 2024 13:39:07 +0000 (15:39 +0200)] 
docs: Add doc on disk images with verity protected root partition

10 months agoDon't pick up definitions from the host when running burn 3049/head
Daan De Meyer [Thu, 19 Sep 2024 17:47:58 +0000 (19:47 +0200)] 
Don't pick up definitions from the host when running burn

10 months agoSet repart definitions directory to / if we want to ignore system definitions
Daan De Meyer [Thu, 19 Sep 2024 18:16:20 +0000 (20:16 +0200)] 
Set repart definitions directory to / if we want to ignore system definitions

Setting to empty string resets the argument list and as such doesn't
work.

10 months agocli: add back mkosi-initrd and mkosi-tools to mkosi.resources
Antonio Alvarez Feijoo [Thu, 19 Sep 2024 14:59:24 +0000 (16:59 +0200)] 
cli: add back mkosi-initrd and mkosi-tools to mkosi.resources

Otherwise these resources are not packaged and cannot be included.

E.g., `mkosi-initrd` fails because it adds `--include=mkosi-initrd`:

```
$ mkosi-initrd
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/mkosi/run.py", line 64, in uncaught_exception_handler
    yield
  File "/usr/lib64/python3.11/contextlib.py", line 81, in inner
    return func(*args, **kwds)
           ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/mkosi/__main__.py", line 30, in main
    args, images = parse_config(sys.argv[1:], resources=resources)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/mkosi/config.py", line 3907, in parse_config
    context.parse_new_includes()
  File "/usr/lib/python3.11/site-packages/mkosi/config.py", line 3575, in parse_new_includes
    st = path.stat()
         ^^^^^^^^^^^
  File "/usr/lib64/python3.11/pathlib.py", line 1013, in stat
    return os.stat(self, follow_symlinks=follow_symlinks)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/tmpyqqy4ttp/resources/mkosi-initrd'
```

Fixes 9f48afa4a76b6002edc90ac976a2d1e8fd01f793

10 months agoMerge pull request #3044 from dvzrv/feat/reuse
Daan De Meyer [Wed, 18 Sep 2024 12:25:28 +0000 (14:25 +0200)] 
Merge pull request #3044 from dvzrv/feat/reuse

Add reuse integration to validate the license information of all files

10 months agoRun reuse in CI to detect license issues right away 3044/head
David Runge [Wed, 18 Sep 2024 12:17:29 +0000 (14:17 +0200)] 
Run reuse in CI to detect license issues right away

Signed-off-by: David Runge <dave@sleepmap.de>
10 months agoAdd reuse integration for ensuring license compliance
David Runge [Wed, 18 Sep 2024 12:14:16 +0000 (14:14 +0200)] 
Add reuse integration for ensuring license compliance

Rename use of legacy LGPL-2.1+ SPDX-License-Identifier to the more
widely used LGPL-2.1-or-later.

Add missing licenses and move existing ones to their respective correct
locations in the LICENSES directory.

Add REUSE.toml describing the licensing of all files.

Signed-off-by: David Runge <dave@sleepmap.de>
10 months agoMerge pull request #3043 from dvzrv/feat/codespell
Daan De Meyer [Wed, 18 Sep 2024 11:39:42 +0000 (13:39 +0200)] 
Merge pull request #3043 from dvzrv/feat/codespell

Add codespell to detect spelling mistakes as early as possible

10 months agoRun codespell in CI to detect spelling issues 3043/head
David Runge [Wed, 18 Sep 2024 11:33:04 +0000 (13:33 +0200)] 
Run codespell in CI to detect spelling issues

Signed-off-by: David Runge <dave@sleepmap.de>
10 months agoFix typos identified by codespell
David Runge [Wed, 18 Sep 2024 11:30:34 +0000 (13:30 +0200)] 
Fix typos identified by codespell

Signed-off-by: David Runge <dave@sleepmap.de>
10 months agoAdd codespell configuration
David Runge [Wed, 18 Sep 2024 11:31:27 +0000 (13:31 +0200)] 
Add codespell configuration

Ignore .git directory and documentation stylesheet file.

Signed-off-by: David Runge <dave@sleepmap.de>
10 months agoMerge pull request #3041 from DaanDeMeyer/fix
Daan De Meyer [Wed, 18 Sep 2024 08:49:55 +0000 (10:49 +0200)] 
Merge pull request #3041 from DaanDeMeyer/fix

Two fixes

10 months agoMerge pull request #3040 from DaanDeMeyer/gpg-devices
Daan De Meyer [Wed, 18 Sep 2024 08:49:30 +0000 (10:49 +0200)] 
Merge pull request #3040 from DaanDeMeyer/gpg-devices

Fixups for gpg

10 months agoSet pinentry mode to loopback for gpg 3040/head
Daan De Meyer [Wed, 18 Sep 2024 08:20:36 +0000 (10:20 +0200)] 
Set pinentry mode to loopback for gpg

Otherwise signing with nitro key does not work.

10 months agoHandle top level symlinks in relaxed sandbox 3041/head
Daan De Meyer [Tue, 17 Sep 2024 19:29:39 +0000 (21:29 +0200)] 
Handle top level symlinks in relaxed sandbox

10 months agoMake entire /run available to gpg command
Daan De Meyer [Tue, 17 Sep 2024 18:54:37 +0000 (20:54 +0200)] 
Make entire /run available to gpg command

gpg connects to various sockets in /run so let's make the entirety
of /run available to it.

10 months agoUse workdir() for calculate_signature()
Daan De Meyer [Tue, 17 Sep 2024 15:30:39 +0000 (17:30 +0200)] 
Use workdir() for calculate_signature()

10 months agoPass filename to oserror() in a few more cases
Daan De Meyer [Tue, 17 Sep 2024 15:03:04 +0000 (17:03 +0200)] 
Pass filename to oserror() in a few more cases

10 months agoFix typo
Daan De Meyer [Tue, 17 Sep 2024 14:32:57 +0000 (16:32 +0200)] 
Fix typo

10 months agoRemove incorrect use of workdir()
Daan De Meyer [Tue, 17 Sep 2024 18:46:55 +0000 (20:46 +0200)] 
Remove incorrect use of workdir()

10 months agoDrop support for ; comments
Daan De Meyer [Tue, 17 Sep 2024 18:45:25 +0000 (20:45 +0200)] 
Drop support for ; comments

Can be part of a pkcs11 URI so let's drop support for ';' for comments.
I've never seen anyone use this so it shouldn't be a problem to drop
this.

10 months agoFix more typos.
Jörg Behrmann [Tue, 17 Sep 2024 14:15:01 +0000 (16:15 +0200)] 
Fix more typos.

10 months agoFix typo
Daan De Meyer [Tue, 17 Sep 2024 14:10:55 +0000 (16:10 +0200)] 
Fix typo

10 months agoMake sure we only use workdir() for keys if they're a path on disk
Daan De Meyer [Tue, 17 Sep 2024 07:47:04 +0000 (09:47 +0200)] 
Make sure we only use workdir() for keys if they're a path on disk

Fixes #3033

10 months agoMake relaxed sandbox even more relaxed
Daan De Meyer [Tue, 17 Sep 2024 11:50:27 +0000 (13:50 +0200)] 
Make relaxed sandbox even more relaxed

Let's move to a denylist instead of an allowlist so that we also
cover all kinds of non-standard locations which might be referenced
when running qemu, nspawn, ....

10 months agoMention roothash= and usrhash= in the kernel command line doc
Daan De Meyer [Tue, 17 Sep 2024 13:04:52 +0000 (15:04 +0200)] 
Mention roothash= and usrhash= in the kernel command line doc

10 months agoLog error when qemu itself fails
Daan De Meyer [Tue, 17 Sep 2024 10:33:04 +0000 (12:33 +0200)] 
Log error when qemu itself fails

Let's log about errors from qemu itself, since those are generally
unexpected and with qemu we have a way to figure out whether the error
came from qemu itself or from within the virtual machine since the errors
from within the virtual machine are communicated via vsock.

10 months agoMerge pull request #3032 from DaanDeMeyer/uuid
Daan De Meyer [Tue, 17 Sep 2024 07:34:46 +0000 (09:34 +0200)] 
Merge pull request #3032 from DaanDeMeyer/uuid

Add back MachineId= setting

11 months agoAdd back MachineId= setting 3032/head
Daan De Meyer [Mon, 16 Sep 2024 16:56:01 +0000 (18:56 +0200)] 
Add back MachineId= setting

To build an image with a dm-verity protected root partition that has
a persistent machine ID, the machine ID has to be embedded in the image,
so let's add back the MachineId= setting to support this use case.

11 months agoVarious improvements for Seed=
Daan De Meyer [Mon, 16 Sep 2024 16:54:19 +0000 (18:54 +0200)] 
Various improvements for Seed=

Let's read the UUID from mkosi.seed if it's available. Also various
other small improvements.

11 months agoFix relative path calculation in filter_kernel_modules()
Daan De Meyer [Sat, 14 Sep 2024 14:48:34 +0000 (16:48 +0200)] 
Fix relative path calculation in filter_kernel_modules()

I'm not sure what possessed me when I last touched this, but to get
the path relative to the kernel/ directory we have to strip of the
first 5 parts, not just 1.

11 months agoMerge pull request #3031 from DaanDeMeyer/metadata
Daan De Meyer [Mon, 16 Sep 2024 10:25:15 +0000 (12:25 +0200)] 
Merge pull request #3031 from DaanDeMeyer/metadata

Cache repository metadata snapshot again

11 months agoUse workdir() in make_image() 3031/head
Daan De Meyer [Sun, 15 Sep 2024 20:28:55 +0000 (22:28 +0200)] 
Use workdir() in make_image()

11 months agoMake sure /var/tmp is not an overlayfs unless required
Daan De Meyer [Sun, 15 Sep 2024 20:27:03 +0000 (22:27 +0200)] 
Make sure /var/tmp is not an overlayfs unless required

If we put an overlayfs on /var because the user provided files in
/var via their sandbox tree, make sure /var/tmp is not an overlayfs
unless really required so tools like systemd-repart can make full
use of the underlying filesystem features which are disabled if
/var/tmp is on an overlayfs.

11 months agoMove /var/log creation from sandbox tree to sandbox_cmd()
Daan De Meyer [Sun, 15 Sep 2024 20:25:35 +0000 (22:25 +0200)] 
Move /var/log creation from sandbox tree to sandbox_cmd()

We now always put an overlayfs on top of the sandbox tree so writes
done from within the sandbox aren't persisted, so there's no point
anymore in creating /var/log in the sandbox tree anymore. Instead,
make sure it exists within sandbox_cmd() so we can still access logs
when using --debug-shell.

11 months agoDrop dbus-broker and dbus-broker-units from Arch tools tree
Daan De Meyer [Sun, 15 Sep 2024 17:39:15 +0000 (19:39 +0200)] 
Drop dbus-broker and dbus-broker-units from Arch tools tree

Taking mkosi dependencies into account, forcefully installing dbus-broker
on user systems seems like a bad idea so let's revert this change.