]> git.ipfire.org Git - thirdparty/mkosi.git/log
thirdparty/mkosi.git
13 months agoUse mkosi dependencies in default image 2839/head
Daan De Meyer [Fri, 5 Jul 2024 18:52:22 +0000 (20:52 +0200)] 
Use mkosi dependencies in default image

Let's reduce duplication by using mkosi dependencies to install
all required dependencies to build the default image. To make this
work we add support for tools trees on jammy/bookworm. We also drop
support for a focal default image as it's too much of a burden to
maintain.

We also remove the EPEL only packages from the CentOS tools tree so
that mkosi dependencies works on a CentOS Stream system without EPEL
enabled.

Finally, curl-minimal is replaced by curl because trying to install
curl-minimal on a system with curl leads to a dnf failure so we opt
for the larger curl in order to make mkosi dependencies useful in
more situations.

13 months agoDon't parse configuration for dependencies verb
Daan De Meyer [Sat, 6 Jul 2024 14:40:22 +0000 (16:40 +0200)] 
Don't parse configuration for dependencies verb

13 months agoopensuse: Modernize and complete repositories
Daan De Meyer [Fri, 5 Jul 2024 11:53:47 +0000 (13:53 +0200)] 
opensuse: Modernize and complete repositories

Let's complete our list of opensuse repositories and modernize the
implementation at the same time.

13 months agoAdd %F to access the default filesystem of a distribution
Daan De Meyer [Fri, 5 Jul 2024 07:19:51 +0000 (09:19 +0200)] 
Add %F to access the default filesystem of a distribution

One annoyance about using mkosi.repart has always been that to keep
using the default filesystem per distribution you have to write a
lot of matches. Now that systemd-repart supports
$SYSTEMD_REPART_OVERRIDE_FSTYPE_ROOT, let's add a specifier to access
the default filesystem so that it can be combined with the environment
variable to get the same result.

13 months agoReplace root=PARTUUID and mount.usr=PARTUUID with the actual partition UUID
Daan De Meyer [Thu, 4 Jul 2024 18:41:09 +0000 (20:41 +0200)] 
Replace root=PARTUUID and mount.usr=PARTUUID with the actual partition UUID

These are not known upfront so let's treat these literals as placeholders
which are to be replaced with the actual partition UUID when we know it.

13 months agoMerge pull request #2834 from DaanDeMeyer/virtconsole
Jörg Behrmann [Thu, 4 Jul 2024 16:24:38 +0000 (18:24 +0200)] 
Merge pull request #2834 from DaanDeMeyer/virtconsole

Use qemu's virtconsole for the serial console

13 months agoUse qemu's virtconsole for the serial console 2834/head
Daan De Meyer [Thu, 4 Jul 2024 15:16:35 +0000 (17:16 +0200)] 
Use qemu's virtconsole for the serial console

edk2 now has a virtio serial driver so let's switch to virtconsole
for the serial console as it's significantly faster compared to the
old ISA serial console.

13 months agoMove systemd-ukify to UEFI only config file
Daan De Meyer [Thu, 4 Jul 2024 15:15:14 +0000 (17:15 +0200)] 
Move systemd-ukify to UEFI only config file

It cannot be installed on powerpc or s390x.

13 months agoDrop default kernel command line
Daan De Meyer [Thu, 4 Jul 2024 14:41:53 +0000 (16:41 +0200)] 
Drop default kernel command line

All the latest releases of distributions now have a systemd stub
that knows how to read extra kernel command line arguments from
SMBIOS (It was backported to CentOS Stream 9), so let's drop the
default kernel command line and rely completely on passing the
console to use via SMBIOS.

This makes sure that users trying to deploy our images on bare metal
have a working console. Users that want to access the system via the
serial console will have to add the required console= argument
themselves.

13 months agoadd Arch Linux ARM repo
Grey Christoforo [Wed, 3 Jul 2024 16:27:10 +0000 (17:27 +0100)] 
add Arch Linux ARM repo

13 months agojson: appease type checkers in a less cumbersome way for now
Jörg Behrmann [Wed, 3 Jul 2024 15:15:03 +0000 (17:15 +0200)] 
json: appease type checkers in a less cumbersome way for now

13 months agoMerge pull request #2827 from DaanDeMeyer/rmtree
Luca Boccassi [Wed, 3 Jul 2024 13:46:07 +0000 (15:46 +0200)] 
Merge pull request #2827 from DaanDeMeyer/rmtree

Call rmtree() on context.root after finalize_staging()

13 months agoWork around pyright errors 2827/head
Daan De Meyer [Wed, 3 Jul 2024 10:51:34 +0000 (12:51 +0200)] 
Work around pyright errors

13 months agoCall rmtree() on context.root after finalize_staging()
Daan De Meyer [Wed, 3 Jul 2024 10:17:03 +0000 (12:17 +0200)] 
Call rmtree() on context.root after finalize_staging()

After we've finalized the staging directory, there is no more need
for the root directory in the workspace. It used to get cleaned by
the setup_workspace() context manager but this is rather slow (can
take more than a second). By calling rmtree() explicitly, if we're
on a btrfs filesystem, we'll call btrfs subvolume delete which is
much faster than rm.

13 months agoMake sure rmtree() doesn't fail on paths that don't exist
Daan De Meyer [Wed, 3 Jul 2024 10:16:40 +0000 (12:16 +0200)] 
Make sure rmtree() doesn't fail on paths that don't exist

13 months agoMerge pull request #2826 from DaanDeMeyer/fstab
Luca Boccassi [Wed, 3 Jul 2024 09:09:20 +0000 (11:09 +0200)] 
Merge pull request #2826 from DaanDeMeyer/fstab

Use fstab.extra instead of kernel command line for extra mounts

13 months agoMount all virtiofs mounts in the initrd 2826/head
Daan De Meyer [Tue, 2 Jul 2024 21:45:00 +0000 (23:45 +0200)] 
Mount all virtiofs mounts in the initrd

This allows using these to mount e.g. kernel modules as well
before switch-root. If there is no initramfs, the modules will still
be loaded in the rootfs.

13 months agoUse fstab.extra instead of kernel command line for extra mounts
Daan De Meyer [Tue, 2 Jul 2024 21:43:55 +0000 (23:43 +0200)] 
Use fstab.extra instead of kernel command line for extra mounts

Kernel command line space is very limited, so let's use credentials
where we can instead.

13 months agoAdd rw to extra kernel command line by default
Daan De Meyer [Tue, 2 Jul 2024 21:43:13 +0000 (23:43 +0200)] 
Add rw to extra kernel command line by default

This generally makes more sense as the default for us instead of
ro.

13 months agoAlways rerun build if Format=none and don't remove previous outputs
Daan De Meyer [Tue, 2 Jul 2024 20:56:25 +0000 (22:56 +0200)] 
Always rerun build if Format=none and don't remove previous outputs

Let's always rerun the build if Format=none. Also, since we know
Format=none won't touch any of the outputs we know about, let's keep
the existing outputs intact. This allows using Format=none to rerun
the build script without removing the existing output (e.g. directory
or disk image).

We'll be able to make use of this in mkosi-kernel to rebuild the kernel
modules without removing the disk image produced in a previous step.

We also simplify check_outputs() to only check the main output and not
the auxiliary outputs.

13 months agoFix disk image check
Daan De Meyer [Tue, 2 Jul 2024 19:58:02 +0000 (21:58 +0200)] 
Fix disk image check

13 months agoShow proper error when using disk images as a tree without being root
Daan De Meyer [Tue, 2 Jul 2024 17:27:06 +0000 (19:27 +0200)] 
Show proper error when using disk images as a tree without being root

Fixes #2818

13 months agoAdd mirror to package cache key if one is specified
Daan De Meyer [Tue, 2 Jul 2024 11:36:29 +0000 (13:36 +0200)] 
Add mirror to package cache key if one is specified

On Arch Linux, pacman seems to only check if the sync db on the
mirror is newer than the one available locally, which breaks when
using e.g. the archive where the sync db is older by definition.

Let's add any specified mirror to the default package cache dir key
to make sure that a different cache is used for explicitly specified
mirrors.

13 months agoResolve source symlink in install_tree()
Daan De Meyer [Tue, 2 Jul 2024 09:26:38 +0000 (11:26 +0200)] 
Resolve source symlink in install_tree()

We do a bunch of checks on file extension and such, and those
should be done on the resolved filename and not on a symlink.

13 months agoMake sure policy-rc.d parent directory exists
Daan De Meyer [Tue, 2 Jul 2024 09:09:29 +0000 (11:09 +0200)] 
Make sure policy-rc.d parent directory exists

If BaseTrees= is used /usr/sbin might not exist so let's make sure
it does to avoid failing with an incomprehensible exception.

13 months agoPick up GNUPGHOME from user's environment
Daan De Meyer [Tue, 2 Jul 2024 09:19:17 +0000 (11:19 +0200)] 
Pick up GNUPGHOME from user's environment

If not set in Environment=, we default to the user's home directory.
Let's instead use GNUPGHOME from the user's environment if it is set
before falling back to the user's home directory.

Fixes #2815.

13 months agobuild(deps): bump github/codeql-action from 3.25.3 to 3.25.11
dependabot[bot] [Mon, 1 Jul 2024 22:22:44 +0000 (22:22 +0000)] 
build(deps): bump github/codeql-action from 3.25.3 to 3.25.11

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.3 to 3.25.11.
- [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/d39d31e687223d841ef683f52467bd88e9b21c14...b611370bb5703a7efb587f9d136a52ea24c5c38c)

---
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>
13 months agobuild(deps): bump actions/checkout from 4.1.6 to 4.1.7
dependabot[bot] [Mon, 1 Jul 2024 22:22:47 +0000 (22:22 +0000)] 
build(deps): bump actions/checkout from 4.1.6 to 4.1.7

Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.6 to 4.1.7.
- [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/a5ac7e51b41094c92402da3b24376905380afc29...692973e3d937129bcbf40652eb9f2f61becf3332)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
13 months agoMerge pull request #2814 from NekkoDroid/tar-decompression
Daan De Meyer [Mon, 1 Jul 2024 10:56:06 +0000 (12:56 +0200)] 
Merge pull request #2814 from NekkoDroid/tar-decompression

Support decompressing tar archives (+ use systemd-dissect long option)

13 months agoUse long options for `systemd-dissect` 2814/head
Michael Ferrari [Mon, 1 Jul 2024 09:14:42 +0000 (11:14 +0200)] 
Use long options for `systemd-dissect`

13 months agoSupport decompressing tar archives
Michael Ferrari [Mon, 1 Jul 2024 09:10:36 +0000 (11:10 +0200)] 
Support decompressing tar archives

This switches `extract_tar` to read the file itself instead of from
stdin to be able to auto-detect the compression method used.

BSD tar can auto-detect and decompress from stdin, but GNU tar only
auto-detects the compression method and notifies the user, but refuses
to run when not explicitly specifying the format on the command line.

13 months agodoc: distribution-gpg-keys is available in Arch Linux
Jelle van der Waa [Sun, 30 Jun 2024 10:33:53 +0000 (12:33 +0200)] 
doc: distribution-gpg-keys is available in Arch Linux

This package is available in the Arch Linux repositories since
2024-06-19.

13 months agodoc: mention default QEMU exit keybinding
Jelle van der Waa [Sun, 30 Jun 2024 09:41:06 +0000 (11:41 +0200)] 
doc: mention default QEMU exit keybinding

Quitting directly is easier then first switching to the qemu console and
then entering `quit`.

https://www.qemu.org/docs/master/system/mux-chardev.html

13 months agoFix mirror paths for centos/fedora family of distributions.
Daan De Meyer [Sat, 29 Jun 2024 09:16:47 +0000 (11:16 +0200)] 
Fix mirror paths for centos/fedora family of distributions.

We assumed that fedora would always be in the fedora subdirectory
of the mirror and that centos would always be in the centos-stream
subdirectory of the mirror but this is not guaranteed to be true
(see https://pagure.io/centos-infra/issue/1430).

Let's fix this by not always appending centos-stream/ or fedora/ to
the given mirror so the user can determine whether to include this
or not.

This is a breaking change but making sure all mirrors can be used
regardless of layout seems more important in this case.

For EPEL we do make a bigger assumption on the mirror layout since
we're forced to as we don't have a mechanism to specify more than one
mirror. We also allow users to override the epel mirror via an
environment variable.

13 months agoaarch64 fixes for default image packages
Daan De Meyer [Sat, 29 Jun 2024 08:31:45 +0000 (10:31 +0200)] 
aarch64 fixes for default image packages

13 months agoDefault to no secure boot for non-x86 architectures
Daan De Meyer [Fri, 28 Jun 2024 13:16:37 +0000 (15:16 +0200)] 
Default to no secure boot for non-x86 architectures

13 months agomkosi-initrd: provide a separate mkosi-initrd script
Antonio Alvarez Feijoo [Thu, 27 Jun 2024 14:37:00 +0000 (16:37 +0200)] 
mkosi-initrd: provide a separate mkosi-initrd script

Extract the basic functionality implemented on the kernel-install plugin into a
separate script. This allows to simplify the initrd/UKI build auto-filling
arguments of the `mkosi` call, and also auto-include user/distro configuration
from `/{etc,usr/lib}/mkosi-initrd`.

13 months agoMerge pull request #2789 from keszybz/eradicate-named-tuples
Daan De Meyer [Thu, 27 Jun 2024 13:36:50 +0000 (15:36 +0200)] 
Merge pull request #2789 from keszybz/eradicate-named-tuples

Use dataclasses instead of NamedTuples, unnest code

13 months agoTwo small cleanups suggests by pylint 2789/head
Zbigniew Jędrzejewski-Szmek [Sun, 16 Jun 2024 12:08:13 +0000 (14:08 +0200)] 
Two small cleanups suggests by pylint

13 months agokernel-install: drop final NamedTuple use
Zbigniew Jędrzejewski-Szmek [Sat, 15 Jun 2024 20:17:14 +0000 (22:17 +0200)] 
kernel-install: drop final NamedTuple use

13 months agotests: make Config a normal dataclass
Zbigniew Jędrzejewski-Szmek [Sat, 15 Jun 2024 20:15:15 +0000 (22:15 +0200)] 
tests: make Config a normal dataclass

13 months agoqemu: drop another NamedTuple use
Zbigniew Jędrzejewski-Szmek [Sat, 15 Jun 2024 20:08:50 +0000 (22:08 +0200)] 
qemu: drop another NamedTuple use

13 months agoinstaller/arch: make Repository a normal dataclass
Zbigniew Jędrzejewski-Szmek [Sat, 15 Jun 2024 20:05:55 +0000 (22:05 +0200)] 
installer/arch: make Repository a normal dataclass

13 months agosandbox: drop another NamedTuple use
Zbigniew Jędrzejewski-Szmek [Sat, 15 Jun 2024 20:02:47 +0000 (22:02 +0200)] 
sandbox: drop another NamedTuple use

13 months agoinstaller/apt: make Repository a normal dataclass
Zbigniew Jędrzejewski-Szmek [Sat, 15 Jun 2024 19:56:15 +0000 (21:56 +0200)] 
installer/apt: make Repository a normal dataclass

NamedTuple is an outdated solution… Make a normal dataclass to
match other places. Dataclasses also have nicer string representation.

Also let's not make the class nested. This doesn't matter terribly here,
but it makes the code unusual. Rename the type to "AptRepository"
to match RpmRepository.

13 months agoinstaller/rpm: make RpmRepository a dataclass
Zbigniew Jędrzejewski-Szmek [Sat, 15 Jun 2024 19:57:49 +0000 (21:57 +0200)] 
installer/rpm: make RpmRepository a dataclass

Dataclasses are the more modern approach, with better string representation and
less hacks. A NamedTuple is also a tuple, which is rather surprising when we
don't use that.

13 months agoUpdate mkosi apt sources location in kernel-install plugin
Daan De Meyer [Wed, 26 Jun 2024 10:30:58 +0000 (12:30 +0200)] 
Update mkosi apt sources location in kernel-install plugin

This was changed in cffddd87776178f19d9a7a633aa597cc9e49722f so let's
accomodate for that in the kernel-install plugin.

13 months agoMerge pull request #2806 from DaanDeMeyer/debian
Daan De Meyer [Wed, 26 Jun 2024 11:35:13 +0000 (13:35 +0200)] 
Merge pull request #2806 from DaanDeMeyer/debian

Deal with systemd split packages added in Debian testing

13 months agomkosi-tools: Sort package list 2806/head
Daan De Meyer [Wed, 26 Jun 2024 10:45:58 +0000 (12:45 +0200)] 
mkosi-tools: Sort package list

13 months agoDeal with systemd split packages added in Debian testing
Daan De Meyer [Wed, 26 Jun 2024 10:04:19 +0000 (12:04 +0200)] 
Deal with systemd split packages added in Debian testing

systemd-repart and systemd-cryptsetup were moved to subpackages in
Debian testing. Let's make sure we account for that in mkosi-tools
and mkosi-initrd.

13 months agoOnly use fw_cfg if credential name is not too long
Daan De Meyer [Tue, 25 Jun 2024 08:41:44 +0000 (10:41 +0200)] 
Only use fw_cfg if credential name is not too long

13 months agoMerge pull request #2802 from DaanDeMeyer/sdmagic
Jörg Behrmann [Mon, 24 Jun 2024 21:19:03 +0000 (23:19 +0200)] 
Merge pull request #2802 from DaanDeMeyer/sdmagic

Fix sdmagic check on CentOS

13 months agoBump 256~devel version requirements to 256 2802/head
Daan De Meyer [Mon, 24 Jun 2024 11:39:37 +0000 (13:39 +0200)] 
Bump 256~devel version requirements to 256

Now that 256 is released, let's bump our 256~devel version requirements
to 256.

13 months agoFix sdmagic check on CentOS
Daan De Meyer [Mon, 24 Jun 2024 11:37:29 +0000 (13:37 +0200)] 
Fix sdmagic check on CentOS

systemd-stub on CentOS has misaligned PE sections causing us to read
a bunch of null bytes from the sdmagic section. Let's treat this case
as not finding a stub version to fix the CI builds.

13 months agoSkip directories when generating checksums
Michael Ferrari [Sat, 22 Jun 2024 09:38:23 +0000 (11:38 +0200)] 
Skip directories when generating checksums

It is possible that some directory is created by the user in
`mkosi.postoutput`, so just make sure to skip those as they can't be
hashed.

Also remove the check for directory output type as auxiliary files may
be created that should be hashed.

13 months agoDon't rename vmlinux to vmlinuz when copying from /boot to /usr
Daan De Meyer [Mon, 24 Jun 2024 08:30:42 +0000 (10:30 +0200)] 
Don't rename vmlinux to vmlinuz when copying from /boot to /usr

We only want to rename vmlinux to vmlinuz when copying to the output
directory. In the image itself we can keep using the same name.

Follow up for 6972f9efba5c8472d990be3783b7e7dbf76e109e

13 months agomkosi-tools: Install distribution-gpg-keys in Arch Linux default tools tree
Daan De Meyer [Mon, 24 Jun 2024 08:59:07 +0000 (10:59 +0200)] 
mkosi-tools: Install distribution-gpg-keys in Arch Linux default tools tree

It was recently packaged in the extra repository.

13 months agoMerge pull request #2799 from DaanDeMeyer/tmp
Daan De Meyer [Mon, 24 Jun 2024 08:16:27 +0000 (10:16 +0200)] 
Merge pull request #2799 from DaanDeMeyer/tmp

Various sandbox fixes

13 months agoMake /var/tmp optional for sandbox 2799/head
Daan De Meyer [Sun, 23 Jun 2024 12:28:41 +0000 (14:28 +0200)] 
Make /var/tmp optional for sandbox

Let's only create a custom /var/tmp directory for some commands instead
of all of them.

We only create a custom /var/tmp for systemd-repart and scripts as other
commands shouldn't have need for a separate /var/tmp that's stored on disk.

Fixes #2792

13 months agoFix sandbox in run_postoutput_scripts()
Daan De Meyer [Sun, 23 Jun 2024 12:18:21 +0000 (14:18 +0200)] 
Fix sandbox in run_postoutput_scripts()

13 months agoRename vartmp to vartmpdir
Daan De Meyer [Sun, 23 Jun 2024 12:10:11 +0000 (14:10 +0200)] 
Rename vartmp to vartmpdir

13 months agoMake sure /tmp, /var/tmp and /dev/shm permissions are correct in sandbox
Daan De Meyer [Sun, 23 Jun 2024 12:07:56 +0000 (14:07 +0200)] 
Make sure /tmp, /var/tmp and /dev/shm permissions are correct in sandbox

13 months agoStop mounting tmpfs to /tmp in sandbox
Daan De Meyer [Sun, 23 Jun 2024 12:07:01 +0000 (14:07 +0200)] 
Stop mounting tmpfs to /tmp in sandbox

/ is already a tmpfs in the sandbox, so there's no real point in
mounting a tmpfs to /tmp.

13 months agoMerge pull request #2798 from DaanDeMeyer/fix
Daan De Meyer [Mon, 24 Jun 2024 08:14:18 +0000 (10:14 +0200)] 
Merge pull request #2798 from DaanDeMeyer/fix

Skip vmlinuz in /boot without matching dir in /usr/lib/modules

13 months agoSimplify logic 2798/head
Daan De Meyer [Sun, 23 Jun 2024 15:21:28 +0000 (17:21 +0200)] 
Simplify logic

13 months agoSkip vmlinuz in /boot without matching dir in /usr/lib/modules
Daan De Meyer [Sun, 23 Jun 2024 11:41:25 +0000 (13:41 +0200)] 
Skip vmlinuz in /boot without matching dir in /usr/lib/modules

Fixes #2796

13 months agomkosi-initrd: replace long-time deprecated $tempnode with $devnode
Antonio Alvarez Feijoo [Thu, 20 Jun 2024 12:22:40 +0000 (14:22 +0200)] 
mkosi-initrd: replace long-time deprecated $tempnode with $devnode

14 months agoqemu/vmspawn: check for an uncompressed kernel too
Luca Boccassi [Sun, 16 Jun 2024 22:34:02 +0000 (23:34 +0100)] 
qemu/vmspawn: check for an uncompressed kernel too

On some architecture/distributions (eg: ppc64el and riscv64 on Debian/Ubuntu)
the kernel is shipped uncompressed, as vmlinux. If vmlinuz cannot be found,
try looking for vmlinux.

14 months agoMerge pull request #2787 from DaanDeMeyer/fix
Daan De Meyer [Sun, 16 Jun 2024 08:24:20 +0000 (10:24 +0200)] 
Merge pull request #2787 from DaanDeMeyer/fix

chdir into /proc for determining default Config

14 months agochdir into /proc for determining default Config 2787/head
Daan De Meyer [Sat, 15 Jun 2024 19:40:06 +0000 (21:40 +0200)] 
chdir into /proc for determining default Config

There are users that run mkosi from / so let's use /proc instead.

Fixes #2786

14 months agoExtend hint for workspace directory and build sources
Daan De Meyer [Sat, 15 Jun 2024 19:39:44 +0000 (21:39 +0200)] 
Extend hint for workspace directory and build sources

14 months agocentos: Support building centos stream 10 default images
Daan De Meyer [Thu, 13 Jun 2024 21:44:28 +0000 (23:44 +0200)] 
centos: Support building centos stream 10 default images

Stream 10 does not have EPEL yet so we make those few packages Fedora
only for now.

14 months agocentos: Fix GPG key search logic
Daan De Meyer [Thu, 13 Jun 2024 20:46:42 +0000 (22:46 +0200)] 
centos: Fix GPG key search logic

Let's only look for the release key of the release we're building for
and add support for searching for the SHA256 key which is used by centos
stream 10.

We can't use the symlinked names because those don't exist on centos.org/keys.

14 months agocentos: Change local rpm GPG key location
Daan De Meyer [Thu, 13 Jun 2024 19:38:39 +0000 (21:38 +0200)] 
centos: Change local rpm GPG key location

Let's look for the one suffixed with the release number. This doesn't
change behavior for c9s as this is a symlink to the file we looked for
previously but will fix our behavior for c10s which uses a different key.

14 months agodocs: update Output= info
Cornelius Hoffmann [Thu, 13 Jun 2024 19:47:13 +0000 (21:47 +0200)] 
docs: update Output= info
From the release notes of v23:

> Image names from mkosi.images/ are now preferred over the specified
> image ID when determining the output filename to use for an image.

14 months agoAdd nosuid,noexec and nodev where appropriate when remounting
Daan De Meyer [Thu, 13 Jun 2024 18:30:31 +0000 (20:30 +0200)] 
Add nosuid,noexec and nodev where appropriate when remounting

If not we get permission errors if the host mount uses nosuid,noexec
or nodev.

Fixes #2776

14 months agoBump version to 24~devel
Daan De Meyer [Thu, 13 Jun 2024 18:12:52 +0000 (20:12 +0200)] 
Bump version to 24~devel

14 months agomkosi.md: fix typo
Luca Boccassi [Wed, 12 Jun 2024 10:54:27 +0000 (11:54 +0100)] 
mkosi.md: fix typo

14 months agoRelease 23.1 v23.1
Luca Boccassi [Wed, 12 Jun 2024 10:01:47 +0000 (11:01 +0100)] 
Release 23.1

14 months agoBump version to 24~devel
Daan De Meyer [Wed, 12 Jun 2024 08:53:19 +0000 (10:53 +0200)] 
Bump version to 24~devel

14 months agoRelease 23
Daan De Meyer [Wed, 12 Jun 2024 08:53:18 +0000 (10:53 +0200)] 
Release 23

14 months agoAdd dpkg and dpkg-query scripts
Daan De Meyer [Mon, 10 Jun 2024 12:37:12 +0000 (14:37 +0200)] 
Add dpkg and dpkg-query scripts

14 months agoAdd `mkosi.postoutput` scripts
Michael Ferrari [Sun, 9 Jun 2024 08:23:11 +0000 (10:23 +0200)] 
Add `mkosi.postoutput` scripts

14 months agoSet default output name for `mkosi-tools`
Michael Ferrari [Sun, 9 Jun 2024 10:34:38 +0000 (12:34 +0200)] 
Set default output name for `mkosi-tools`

This should allow one to invoke `mkosi --directory "" --include mkosi-tools`
in the project root to create a tools tree that is automatically
detected and used in subsequent invocations.

14 months agoSet stdout/stderr of not found process to empty string instead of None
Daan De Meyer [Sun, 9 Jun 2024 15:54:23 +0000 (17:54 +0200)] 
Set stdout/stderr of not found process to empty string instead of None

14 months agoRemove some dead code
Daan De Meyer [Sat, 8 Jun 2024 20:19:12 +0000 (22:19 +0200)] 
Remove some dead code

14 months agoaction: Use aa-teardown to disable apparmor
Daan De Meyer [Sat, 8 Jun 2024 10:16:31 +0000 (12:16 +0200)] 
action: Use aa-teardown to disable apparmor

systemctl stop apparmor doesn't seem to be sufficient, aa-teardown
on the other hand seems to do the trick.

14 months agoFix missing mount in `mkosi.clean`
Michael Ferrari [Fri, 7 Jun 2024 21:24:45 +0000 (23:24 +0200)] 
Fix missing mount in `mkosi.clean`

14 months agoaction: Also uninstall apparmor
Daan De Meyer [Fri, 7 Jun 2024 19:26:50 +0000 (21:26 +0200)] 
action: Also uninstall apparmor

14 months agoaction: Disable apparmor completely
Daan De Meyer [Fri, 7 Jun 2024 18:01:59 +0000 (20:01 +0200)] 
action: Disable apparmor completely

These are ephemeral CI machines with full root access without password,
there's really no point in running apparmor in the first place so instead
of trying to work around broken apparmor policies, just disable apparmor
completely.

14 months agoMerge pull request #2765 from DaanDeMeyer/rawhide
Daan De Meyer [Fri, 7 Jun 2024 16:49:19 +0000 (18:49 +0200)] 
Merge pull request #2765 from DaanDeMeyer/rawhide

Build a Fedora rawhide image by default

14 months agoBuild a Fedora rawhide image by default 2765/head
Daan De Meyer [Fri, 7 Jun 2024 13:33:19 +0000 (15:33 +0200)] 
Build a Fedora rawhide image by default

Helps with catching issues more than Fedora 40 does.

14 months agotests: Make sure we set systemd.firstboot=no
Daan De Meyer [Fri, 7 Jun 2024 15:09:51 +0000 (17:09 +0200)] 
tests: Make sure we set systemd.firstboot=no

Otherwise the boot might get stuck on a prompt from systemd-firstboot.service
or systemd-homed-firstboot.service.

14 months agoaction: Disable and remove unix-chkpwd apparmor policy
Daan De Meyer [Fri, 7 Jun 2024 14:39:54 +0000 (16:39 +0200)] 
action: Disable and remove unix-chkpwd apparmor policy

The apparmor policy prevents Fedora Rawhide containers from booting
in systemd-nspawn. See https://gitlab.com/apparmor/apparmor/-/issues/402.

14 months agoInstall virtiofsd in debian/ubuntu tools trees
Daan De Meyer [Fri, 7 Jun 2024 12:42:55 +0000 (14:42 +0200)] 
Install virtiofsd in debian/ubuntu tools trees

14 months agoAdd dependencies verb
Daan De Meyer [Fri, 7 Jun 2024 12:00:13 +0000 (14:00 +0200)] 
Add dependencies verb

Fixes #2529

14 months agoMake --tools-tree the same as --tools-tree=default
Daan De Meyer [Thu, 6 Jun 2024 19:52:19 +0000 (21:52 +0200)] 
Make --tools-tree the same as --tools-tree=default

Saves on typing and makes it easier to use overall.

14 months agomkosi-initrd: Always add binfmt_misc, autofs and efivarfs modules
Daan De Meyer [Thu, 6 Jun 2024 14:42:43 +0000 (16:42 +0200)] 
mkosi-initrd: Always add binfmt_misc, autofs and efivarfs modules

14 months agomkosi-initrd: Always add virtio_pci
Daan De Meyer [Thu, 6 Jun 2024 13:48:29 +0000 (15:48 +0200)] 
mkosi-initrd: Always add virtio_pci

14 months agomkosi-initrd: Include more modules
Daan De Meyer [Thu, 6 Jun 2024 13:35:07 +0000 (15:35 +0200)] 
mkosi-initrd: Include more modules

- systemd logs an error if x_tables.ko is missing so let's include it.
- For cryptsetup, let's make sure we include all crypto modules so it
always has everything it needs