]>
git.ipfire.org Git - thirdparty/mkosi.git/log
Daan De Meyer [Tue, 22 Oct 2024 17:41:35 +0000 (19:41 +0200)]
mkosi-initrd: Include virtio_blk module
Daan De Meyer [Tue, 22 Oct 2024 17:40:10 +0000 (19:40 +0200)]
Use virtio-blk-pci unless scsi-hd is really needed
https://www.qemu.org/2021/01/19/virtio-blk-scsi-configuration/
mentions that for performance critical use cases, virtio-blk should
be preferred so let's use virtio-blk unless we actually need scsi-hd.
Daan De Meyer [Tue, 22 Oct 2024 17:35:51 +0000 (19:35 +0200)]
Make qemu drives and scratch device NOCOW as well
These will face lots of random writes as well so let's make these
NOCOW as well.
Daan De Meyer [Mon, 21 Oct 2024 18:02:22 +0000 (20:02 +0200)]
Implement default values for the simple config parser
Antonio Alvarez Feijoo [Fri, 18 Oct 2024 09:43:32 +0000 (11:43 +0200)]
opensuse: prevent zypper from pulling busybox in the initrd
zypper's internal logic selects busybox-package variants of packages that are
required via dependency and not explicitly listed to install, which also causes
busybox to be added to the initrd.
Also, remove the shadow package (the equivalent to the shadow-utils package in
Fedora).
Antonio Alvarez Feijoo [Wed, 16 Oct 2024 13:33:05 +0000 (15:33 +0200)]
Fix conf with settings in Content instead of Build
Follow-up for
6912dc0ea0c7e20900a9b5d2c43343c1c782e91c
Antonio Alvarez Feijoo [Wed, 16 Oct 2024 08:28:14 +0000 (10:28 +0200)]
Fix mkosi-initrd conf for CentOS EPEL
Fixes #3127
Antonio Alvarez Feijoo [Mon, 14 Oct 2024 08:08:18 +0000 (10:08 +0200)]
Sync man and help output
Septatrix [Fri, 11 Oct 2024 15:52:00 +0000 (17:52 +0200)]
Fix repart definition for ESP builds
Daan De Meyer [Fri, 11 Oct 2024 14:20:58 +0000 (16:20 +0200)]
Merge pull request #3123 from septatrix/more-fsck-in-initrd
Add erofs and fat utils to initrd
Septatrix [Fri, 11 Oct 2024 11:06:09 +0000 (13:06 +0200)]
Add erofs and fat utils to initrd
These provide the respective fsck progs
Septatrix [Fri, 11 Oct 2024 11:02:41 +0000 (13:02 +0200)]
Add erofs and fat utils to initrd
These provide the respective fsck progs
Paul Wicks [Wed, 9 Oct 2024 23:25:32 +0000 (16:25 -0700)]
Add a new QemuRemovable option to allow attaching the image to qemu as removable
Add noqa for overlength line
Fix failing test
Rewrap QemuRemovable section on the man page to column 109
Septatrix [Thu, 10 Oct 2024 16:09:59 +0000 (18:09 +0200)]
Add erofs and fat utils to initrd
These provide the respective fsck progs
Nils K [Thu, 10 Oct 2024 14:06:48 +0000 (16:06 +0200)]
Clarify explanation of `Verity=` option
This clarifies that the "auto" value for the verity option
only really makes sense for extension images.
Nils K [Thu, 10 Oct 2024 15:19:55 +0000 (17:19 +0200)]
Update description of `ToolsTreeDistribution=`
It was changed to default to the host distro instead of the target distro a while a ago but this was forgotten.
Daan De Meyer [Thu, 10 Oct 2024 14:48:20 +0000 (16:48 +0200)]
Merge pull request #3120 from DaanDeMeyer/fix
Log config file path where available on config file parse errors
Daan De Meyer [Thu, 10 Oct 2024 12:45:28 +0000 (14:45 +0200)]
Fix sections of various settings
Daan De Meyer [Thu, 10 Oct 2024 12:40:57 +0000 (14:40 +0200)]
Log config file path where available on config file parse errors
Daan De Meyer [Thu, 10 Oct 2024 12:12:55 +0000 (14:12 +0200)]
Check if tools tree exists before statting it in cache_manifest()
The tools tree might have been removed because it's cache was out of
date so let's make sure we check it exists in cache_manifest().
Daan De Meyer [Thu, 10 Oct 2024 10:21:16 +0000 (12:21 +0200)]
Copy SYSEXT_LEVEL from os-release to extension-release as well
Fixes #3117
Daan De Meyer [Wed, 9 Oct 2024 18:01:30 +0000 (20:01 +0200)]
Merge pull request #3115 from DaanDeMeyer/stuff
Various fixes for extension images
Daan De Meyer [Wed, 9 Oct 2024 11:46:21 +0000 (13:46 +0200)]
Add Verity= feature
This allows explicitly enabling/disabling use of verity for disk and
extension images as requested in #3113..
Daan De Meyer [Wed, 9 Oct 2024 11:51:51 +0000 (13:51 +0200)]
Run various cleanup operations without the base trees mounted
When running cleanup operations just before we finish the build and
we're building with Overlay=yes, we only want the cleanup to apply
to the overlay, not the base trees, so it makes sense to run the
final cleanup operations and the finalize scripts without the base
trees mounted.
This makes using chroot finalize scripts for overlay images impossible
but this shouldn't be a huge issue.
Package removals and selinux relabelling still run with the base trees
mounted because those operations rely on various files included in the
base trees.
Daan De Meyer [Wed, 9 Oct 2024 11:45:39 +0000 (13:45 +0200)]
docs: Mention Format=none in sysext doc
This allows disabling building of the default image as requested
in #3113.
Jörg Behrmann [Mon, 7 Oct 2024 15:21:32 +0000 (17:21 +0200)]
Merge pull request #3109 from DaanDeMeyer/tests-tools
Make tools tree available in tests
Jörg Behrmann [Mon, 7 Oct 2024 08:48:53 +0000 (10:48 +0200)]
config: Make recursive_paths configurable with globs
Daan De Meyer [Mon, 7 Oct 2024 08:39:38 +0000 (10:39 +0200)]
Make tools tree available in tests
For use with find_binary() to check if binaries exist in the tools
tree.
Daan De Meyer [Mon, 7 Oct 2024 10:38:12 +0000 (12:38 +0200)]
Put .profile section values in quotes if not alphanumeric
This is supposed to be sourcable by shells so make sure we use
quotes in case values with whitespace are used.
Jörg Behrmann [Mon, 7 Oct 2024 08:34:00 +0000 (10:34 +0200)]
Be specific about noqa tags
Daan De Meyer [Sun, 6 Oct 2024 13:30:57 +0000 (15:30 +0200)]
Define our own config for PE addons and UKI profiles
ukify's config parser uses python's configparser module and as such
suffers from all its issues just like we used to in mkosi. Having ukify
parse the config file also means that we have to make sure any paths
configured in the profile are available in the sandbox.
Instead, let's define our own configs for the PE addons and UKI profiles
so we get to take advantage of our own config file parser and have full
knowledge of all the configured settings so we can mount extra stuff into
the sandbox if needed.
It also gets rid of the hack where we parse ukify's config file to figure
out the command line.
Jelle van der Waa [Mon, 7 Oct 2024 10:01:50 +0000 (12:01 +0200)]
docs: fix broken man page link on the website
Daan De Meyer [Mon, 7 Oct 2024 08:39:21 +0000 (10:39 +0200)]
Make find_binary()'s root argument optional
Makes it a little easier to use.
Daan De Meyer [Mon, 7 Oct 2024 08:14:43 +0000 (10:14 +0200)]
Use fmt: skip instead of noqa in two places
Daan De Meyer [Sat, 5 Oct 2024 12:32:28 +0000 (14:32 +0200)]
Remove DownloadUser from provided pacman.conf
Fixes #3048
Daan De Meyer [Mon, 7 Oct 2024 08:01:19 +0000 (10:01 +0200)]
Merge pull request #3103 from DaanDeMeyer/relax
Relax read-only mounts even more
Daan De Meyer [Fri, 4 Oct 2024 18:37:05 +0000 (20:37 +0200)]
tree-wide: Use workdir() everywhere
Let's make sure we mount inputs and outputs to various tools in a
completely separate directory than the base ones that are in the
sandbox.
Daan De Meyer [Fri, 4 Oct 2024 19:50:02 +0000 (21:50 +0200)]
Make sure various directory exist when we shortcut sandbox_cmd()
Daan De Meyer [Fri, 4 Oct 2024 19:49:47 +0000 (21:49 +0200)]
Make sure swtpm is run in a scope, not swtpm_setup
Daan De Meyer [Fri, 4 Oct 2024 14:23:11 +0000 (16:23 +0200)]
Relax read-only mounts even more
Turns out having home directories as a subdirectory of /usr is a thing.
Let's relax the readonly mount requirements even more to make this use
case work as well.
Daan De Meyer [Fri, 4 Oct 2024 19:37:05 +0000 (21:37 +0200)]
Merge pull request #3102 from DaanDeMeyer/pcr
Allow signing expected PCRs independently of using secure boot
Daan De Meyer [Fri, 4 Oct 2024 14:19:29 +0000 (16:19 +0200)]
Allow signing expected PCRs independently of using secure boot
Daan De Meyer [Fri, 4 Oct 2024 17:33:26 +0000 (19:33 +0200)]
Install tpm2.0-tools in opensuse tools tree
Makes sure the tpm2.0 libraries are pulled in which is required for
syztemd-measure.
Daan De Meyer [Fri, 4 Oct 2024 17:15:07 +0000 (19:15 +0200)]
Install python3-cryptography in opensuse tools tree
Required by ukify
Jörg Behrmann [Fri, 4 Oct 2024 13:53:51 +0000 (15:53 +0200)]
Merge pull request #3101 from aafeijoo-suse/use-distro-pretty-name
Print distribution pretty name on installation
Daan De Meyer [Fri, 4 Oct 2024 12:13:41 +0000 (14:13 +0200)]
Rename Profile= match to Profiles=
Matches related to settings are named after their setting so this
should be Profiles= similarly to the Repositories= match. The old
name will still work as well but we use the new one in docs.
Antonio Alvarez Feijoo [Fri, 4 Oct 2024 13:13:25 +0000 (15:13 +0200)]
Use openSUSE everywhere
Antonio Alvarez Feijoo [Fri, 4 Oct 2024 13:02:22 +0000 (15:02 +0200)]
Print distribution pretty name on installation
Daan De Meyer [Fri, 4 Oct 2024 12:04:54 +0000 (14:04 +0200)]
Move various settings to the [Build] section
These all make more sense to have in the [Build] section.
Daan De Meyer [Fri, 4 Oct 2024 11:59:31 +0000 (13:59 +0200)]
Merge pull request #3090 from DaanDeMeyer/profiles
Introduce UnifiedKernelImageProfiles=
Daan De Meyer [Tue, 1 Oct 2024 12:49:37 +0000 (14:49 +0200)]
Introduce UnifiedKernelImageProfiles=
Same concept as PEAddons=, except these are added as additional
profiles to every UKI built by mkosi.
Accompanying systemd PR: https://github.com/systemd/systemd/pull/34608
Daan De Meyer [Tue, 1 Oct 2024 12:46:24 +0000 (14:46 +0200)]
Simplify run_ukify() and related functions a little
Antonio Alvarez Feijoo [Fri, 4 Oct 2024 10:14:40 +0000 (12:14 +0200)]
mkosi-initrd: only set restrictive umask to create output dir if user is root
Antonio Alvarez Feijoo [Thu, 3 Oct 2024 13:31:21 +0000 (15:31 +0200)]
mkosi-initrd: build using a temporary directory
Fixes #3083
Jörg Behrmann [Wed, 2 Oct 2024 19:09:29 +0000 (21:09 +0200)]
Merge pull request #3097 from DaanDeMeyer/profile
Drop %p profile specifier
Daan De Meyer [Wed, 2 Oct 2024 16:48:27 +0000 (18:48 +0200)]
Drop %p profile specifier
Doesn't make sense anymore now that profiles is a list.
Daan De Meyer [Wed, 2 Oct 2024 16:48:12 +0000 (18:48 +0200)]
Profile= => Profiles= in two more places
Daan De Meyer [Wed, 2 Oct 2024 16:42:19 +0000 (18:42 +0200)]
Merge pull request #3091 from DaanDeMeyer/fix
Evaluate tools_tree earlier
Daan De Meyer [Wed, 2 Oct 2024 10:16:23 +0000 (12:16 +0200)]
tests: Drop tools tree related options
Let's not build the tools tree as part of running the tests anymore.
Instead, let's just build it manually up front.
Daan De Meyer [Wed, 2 Oct 2024 11:15:45 +0000 (13:15 +0200)]
Enable repository key fetch for non-default ubuntu tools trees as well
If we're building an rpm based distribution.
Daan De Meyer [Wed, 2 Oct 2024 11:14:28 +0000 (13:14 +0200)]
Allow detect_distribution() to read from root directory
Daan De Meyer [Wed, 2 Oct 2024 10:58:09 +0000 (12:58 +0200)]
tests: Tune Fedora initrd size a little
Makes the test pass on Ubuntu again
Daan De Meyer [Wed, 2 Oct 2024 10:15:02 +0000 (12:15 +0200)]
Rework tools tree cache manifest serialization
Let's encode the full path and not just the name. We'll rework the
tests in the next commit to not nuke the tools tree every time.
Let's also track the timestamp of the root directory of the tools
tree as a heuristic for whether it's been updated or not.
Jörg Behrmann [Wed, 2 Oct 2024 11:07:02 +0000 (13:07 +0200)]
tools: Don't use apt pattern for ubuntu-keyring
Running
mkosi --directory "" -d debian -r bookworm --include mkosi-tools --output mkosi.tools
on current Debian stable on gets an error that the package 'ubuntu-keyring'
doesn't have any installable candidates. Moving the inclusion of the package
out of the purview of apt and back into mkosi's fixes this issue.
Daan De Meyer [Wed, 2 Oct 2024 08:36:28 +0000 (10:36 +0200)]
tests: pass args correctly
Daan De Meyer [Wed, 2 Oct 2024 07:52:26 +0000 (09:52 +0200)]
tests: Fix summary
Daan De Meyer [Wed, 2 Oct 2024 10:26:23 +0000 (12:26 +0200)]
Don't store default kernel command line and credentials in Config
Let's delay calculation of these until the last moment instead of
storing them in the Config object. This makes the summary more succinct
and reduces the amount of work we do to parse the configuration.
dependabot[bot] [Tue, 1 Oct 2024 22:23:37 +0000 (22:23 +0000)]
Bump github/codeql-action from 3.26.6 to 3.26.10
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.6 to 3.26.10.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/
4dd16135b69a43b6c8efb853346f8437d92d3c93 ...
e2b3eafc8d227b0241d48be5f425d47c2d750a13 )
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
dependabot[bot] [Tue, 1 Oct 2024 22:23:28 +0000 (22:23 +0000)]
Bump actions/checkout from 4.1.7 to 4.2.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.7 to 4.2.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/
692973e3d937129bcbf40652eb9f2f61becf3332 ...
d632683dd7b4114ad314bca15554477dd762a938 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Daan De Meyer [Wed, 2 Oct 2024 06:33:01 +0000 (08:33 +0200)]
dnf: Drop yum fallback
Daan De Meyer [Tue, 1 Oct 2024 20:47:22 +0000 (22:47 +0200)]
Don't pass in tools tree to default initrd in run_clean()
There might not be a tools tree, so let's not pass it in otherwise
parse_config() will fail if it doesn't exist.
Daan De Meyer [Tue, 1 Oct 2024 20:33:45 +0000 (22:33 +0200)]
Run diff without sandbox
have_cache() is called in run_clean() now which means we're not
guaranteed to have a tools tree available so let's run diff without
a tools tree.
Daan De Meyer [Tue, 1 Oct 2024 20:31:03 +0000 (22:31 +0200)]
Evaluate tools_tree earlier
We now call have_cache() in run_clean() so let's make sure we
evaluate the tools tree stuff earlier as have_cache() depends on it.
Daan De Meyer [Tue, 1 Oct 2024 07:44:36 +0000 (09:44 +0200)]
Don't remount directory read-only if output directory is located in it
See #3083
Daan De Meyer [Tue, 1 Oct 2024 08:04:16 +0000 (10:04 +0200)]
Merge pull request #3089 from behrmann/docdocargs
Two documentation fixes
Jörg Behrmann [Tue, 1 Oct 2024 08:01:55 +0000 (10:01 +0200)]
docs: Add missing documentation for the completion verb
Jörg Behrmann [Tue, 1 Oct 2024 07:57:43 +0000 (09:57 +0200)]
docs: Document that the documentation verb takes arguments
Jörg Behrmann [Mon, 30 Sep 2024 21:17:15 +0000 (23:17 +0200)]
Fix broken man page links
Fixes: #3086
Daan De Meyer [Mon, 30 Sep 2024 19:33:45 +0000 (21:33 +0200)]
docs: Document how to include initrd in root verity doc
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
Jörg Behrmann [Mon, 30 Sep 2024 13:22:41 +0000 (15:22 +0200)]
docs: Add man page shortcuts
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
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
Jörg Behrmann [Mon, 30 Sep 2024 12:59:19 +0000 (14:59 +0200)]
docs: Make news available to documentation verb
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.
Daan De Meyer [Mon, 30 Sep 2024 12:22:59 +0000 (14:22 +0200)]
Set up rpm before dnf/zypper
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.
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
Jörg Behrmann [Sun, 29 Sep 2024 11:06:14 +0000 (13:06 +0200)]
Make diff debug output in have_cache universal
Michael Ferrari [Sun, 29 Sep 2024 11:12:45 +0000 (13:12 +0200)]
Reorder PeAddons= and fix summary name
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().
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.
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
Michael Ferrari [Sat, 28 Sep 2024 22:35:47 +0000 (00:35 +0200)]
Add support for building PE addons
Michael Ferrari [Sat, 28 Sep 2024 20:12:42 +0000 (22:12 +0200)]
Extract `ukify` call to separate function
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
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.
Jörg Behrmann [Fri, 27 Sep 2024 10:02:04 +0000 (12:02 +0200)]
Update NEWS
Jörg Behrmann [Fri, 27 Sep 2024 09:57:33 +0000 (11:57 +0200)]
doc: Document script directories.
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