]>
git.ipfire.org Git - thirdparty/mkosi.git/log
Daan De Meyer [Tue, 30 Jan 2024 20:41:54 +0000 (21:41 +0100)]
Debug log in flock()
Daan De Meyer [Tue, 30 Jan 2024 20:18:46 +0000 (21:18 +0100)]
Write early apt config instead of /etc in package manager tree
This saves us from having to mount it separately as it will be mounted
as part of mounting the package manager tree.
Daan De Meyer [Tue, 30 Jan 2024 18:53:45 +0000 (19:53 +0100)]
Remove command argument from invoke_apt()
This is always "apt-get" so let's remove the argument.
Also rename "command" and "verb" arguments for other other invoke()
functions to "operation" to be consistent in our naming.
Daan De Meyer [Tue, 30 Jan 2024 18:06:28 +0000 (19:06 +0100)]
Simplify arch repositories() function a bit
Daan De Meyer [Tue, 30 Jan 2024 16:01:29 +0000 (17:01 +0100)]
Add newline between zypper repo definitions
Daan De Meyer [Tue, 30 Jan 2024 15:58:01 +0000 (16:58 +0100)]
Ensure opensuse repo id is unique
The repo ID is used as a cache key so let's make sure it is unique
based on the used url, similar to how dnf does it.
Daan De Meyer [Tue, 30 Jan 2024 15:35:43 +0000 (16:35 +0100)]
Stop using file provides in mkosi-initrd
These require extra metadata to be downloaded by dnf so let's instead
refer to the packages by name.
Daan De Meyer [Tue, 30 Jan 2024 14:37:39 +0000 (15:37 +0100)]
Make options= argument for invoke_zypper() keyword-only
Daan De Meyer [Tue, 30 Jan 2024 14:34:33 +0000 (15:34 +0100)]
Disable filelists on Fedora
This was accidentally removed in a previous commit.
Daan De Meyer [Tue, 30 Jan 2024 14:03:00 +0000 (15:03 +0100)]
Simplify clean_package_manager_metadata()
Daan De Meyer [Tue, 30 Jan 2024 13:49:14 +0000 (14:49 +0100)]
Use find_rpm_gpgkey() for OpenSUSE Tumbleweed rpm keys
There's no direct url to configure for these so we modify
find_rpm_gpgkey() so that we don't pass in a url anymore.
Daan De Meyer [Tue, 30 Jan 2024 13:43:12 +0000 (14:43 +0100)]
Introduce INVOKING_USER.mkdir()
This function creates a directory as the appropriate user depending
on where the directory is being created.
Daan De Meyer [Tue, 30 Jan 2024 13:41:47 +0000 (14:41 +0100)]
Remove outdated comment
We don't mount tools anymore at the start of the build. Mounting
them is done as part of setting the sandbox.
Daan De Meyer [Tue, 30 Jan 2024 13:40:28 +0000 (14:40 +0100)]
Install local packages later
Let's set these up after we've configured the package manager so
that any necessary directories exist.
Daan De Meyer [Wed, 31 Jan 2024 10:17:32 +0000 (11:17 +0100)]
Check if we can write to the cache directory before using it as the workspace
Daan De Meyer [Tue, 30 Jan 2024 13:38:32 +0000 (14:38 +0100)]
Simplify cache directory calculation
Daan De Meyer [Tue, 30 Jan 2024 13:27:35 +0000 (14:27 +0100)]
Move Context creation out of build_image()
This allows us to reduce the indentation level of build_image().
Daan De Meyer [Tue, 30 Jan 2024 13:24:55 +0000 (14:24 +0100)]
Add missing log message about local repository
Daan De Meyer [Tue, 30 Jan 2024 13:24:17 +0000 (14:24 +0100)]
Introduce have_cache()
Let's split of the logic to check whether we have a cached image
from reuse_cache().
Daan De Meyer [Tue, 30 Jan 2024 13:23:25 +0000 (14:23 +0100)]
Add missing license header
Daan De Meyer [Tue, 30 Jan 2024 13:22:32 +0000 (14:22 +0100)]
Clean package manager metadata on initrd-style output formats
Let's keep the size of these manageable by always removing package
manager metadata.
Daan De Meyer [Tue, 30 Jan 2024 13:19:24 +0000 (14:19 +0100)]
Debugging improvements
Make sure /var/log from the sandbox is persisted so we can access logs
more easily. Also enable dnf debug logging if ARG_DEBUG is set.
Daan De Meyer [Sat, 27 Jan 2024 15:54:44 +0000 (16:54 +0100)]
Revert "Use shared package cache directory by default"
At least pacman isn't ready just yet for cache sharing, so let's
temporarily revert this commit. We'll reintroduce it in a later
PR.
This reverts commit
98a29486b68b0aee05eefb49e129433634d4446b .
Jörg Behrmann [Sat, 27 Jan 2024 15:41:24 +0000 (16:41 +0100)]
Merge pull request #2333 from DaanDeMeyer/fix
Introduce want_local_repo()
Daan De Meyer [Fri, 26 Jan 2024 22:05:06 +0000 (23:05 +0100)]
Use shared package cache directory by default
Instead of having a separate package cache for each mkosi project,
let's default to having a shared package cache directory that can
also be configured separately from the incremental cache directory.
Daan De Meyer [Fri, 26 Jan 2024 22:01:36 +0000 (23:01 +0100)]
Add back missing call to createrepo()
Daan De Meyer [Fri, 26 Jan 2024 21:50:11 +0000 (22:50 +0100)]
Drop Gentoo support
Gentoo has completely stopped working and nobody has stepped up to
maintain it. It also keeps hindering refactoring so let's remove the
gentoo support so the upcoming work is easier.
Daan De Meyer [Fri, 26 Jan 2024 20:30:50 +0000 (21:30 +0100)]
Move user related stuff to user.py
Daan De Meyer [Fri, 26 Jan 2024 16:24:16 +0000 (17:24 +0100)]
Rework find_grub_binary()
Instead of replacing grub with grub2, let's simply pass the binary
name without grub into the function.
Daan De Meyer [Fri, 26 Jan 2024 16:21:11 +0000 (17:21 +0100)]
Introduce want_local_repo()
Daan De Meyer [Fri, 26 Jan 2024 16:18:56 +0000 (17:18 +0100)]
Merge pull request #2331 from DaanDeMeyer/upgrade
Run distribution upgrade automatically in some scenarios
Daan De Meyer [Fri, 26 Jan 2024 14:41:39 +0000 (15:41 +0100)]
Have mageia and openmandriva inherit from Fedora
These are similar enough to Fedora so let's have them inherit from
Fedora.
Daan De Meyer [Fri, 26 Jan 2024 12:21:23 +0000 (13:21 +0100)]
Rework local repository
Let's have each createrepo function return the repository to use to
access the local packages and let's call this function from the setup()
functions of each distribution.
Daan De Meyer [Fri, 26 Jan 2024 14:18:45 +0000 (15:18 +0100)]
Use generators for all repository methods
Let's use generators and a repositories() method everywhere to make
things consistent.
Daan De Meyer [Fri, 26 Jan 2024 12:09:07 +0000 (13:09 +0100)]
apt: Switch to deb822 format
Daan De Meyer [Fri, 26 Jan 2024 10:50:37 +0000 (11:50 +0100)]
pacman: Make sure we pass packages to repo-add in right order
According to https://wiki.archlinux.org/title/pacman/Tips_and_tricks,
the newest version has to be added last, so let's make sure we sort
the paths we pass to repo-add.
Daan De Meyer [Fri, 26 Jan 2024 10:50:02 +0000 (11:50 +0100)]
Make sure we remove cached default initrd entries if needed
Daan De Meyer [Fri, 26 Jan 2024 08:42:53 +0000 (09:42 +0100)]
Create CNAME
Daan De Meyer [Fri, 26 Jan 2024 08:41:39 +0000 (09:41 +0100)]
Delete CNAME
Daan De Meyer [Fri, 26 Jan 2024 07:56:04 +0000 (08:56 +0100)]
Create CNAME
Daan De Meyer [Fri, 26 Jan 2024 07:52:53 +0000 (08:52 +0100)]
Merge pull request #2324 from neighbourhoodie/github-page-website
Add GitHub Page website from docs
Daan De Meyer [Thu, 25 Jan 2024 09:35:09 +0000 (10:35 +0100)]
Add CompressLevel= setting
Let's allow configuring the compression level.
Joerg Behrmann [Wed, 24 Jan 2024 16:08:15 +0000 (17:08 +0100)]
man: Add a note on reserved prefixes
Jörg Behrmann [Wed, 24 Jan 2024 16:34:21 +0000 (17:34 +0100)]
Merge pull request #2326 from DaanDeMeyer/news
Update NEWS.md
Daan De Meyer [Wed, 24 Jan 2024 16:04:35 +0000 (17:04 +0100)]
Update kernel-install plugin installation instructions
Daan De Meyer [Wed, 24 Jan 2024 15:52:17 +0000 (16:52 +0100)]
Update NEWS.md
hulkoba [Wed, 24 Jan 2024 13:25:10 +0000 (14:25 +0100)]
Website: Rename Categories and change order
Daan De Meyer [Wed, 24 Jan 2024 12:21:27 +0000 (13:21 +0100)]
Update link to mkosi introduction blog post
Let's stop linking the old blog from 2017 and link the newer one
that was just published instead. The old one isn't really useful
as it uses tons of features that have been removed since.
Daan De Meyer [Wed, 24 Jan 2024 12:15:55 +0000 (13:15 +0100)]
Merge pull request #2310 from behrmann/hostonlyucode
Add MicrocodeHost= option
hulkoba [Wed, 24 Jan 2024 11:51:03 +0000 (12:51 +0100)]
Add GitHub Page website from docs
Daan De Meyer [Wed, 24 Jan 2024 10:56:24 +0000 (11:56 +0100)]
Merge pull request #2323 from DaanDeMeyer/tmp
Use a subdirectory of TMPDIR as the sandbox's /var/tmp
Joerg Behrmann [Tue, 23 Jan 2024 15:48:44 +0000 (16:48 +0100)]
kernel-install: Use CPU detection to find host-specific microcode
Joerg Behrmann [Fri, 19 Jan 2024 16:09:11 +0000 (17:09 +0100)]
Add MicrocodeHost option
Joerg Behrmann [Tue, 23 Jan 2024 15:36:12 +0000 (16:36 +0100)]
Only build microcode when on x86_64
Daan De Meyer [Wed, 24 Jan 2024 09:00:38 +0000 (10:00 +0100)]
Use a subdirectory of TMPDIR as the sandbox's /var/tmp
Let's take TMPDIR into account instead of always using /var/tmp. We
also make sure we override TMPDIR to /var/tmp in the sandbox.
Daan De Meyer [Wed, 24 Jan 2024 09:06:24 +0000 (10:06 +0100)]
Merge pull request #2322 from DaanDeMeyer/useradd
Add FAQ entry on how to add regular users to image
Daan De Meyer [Wed, 24 Jan 2024 07:52:55 +0000 (08:52 +0100)]
Add FAQ entry on how to add regular users to image
Fixes #2320
Daan De Meyer [Wed, 24 Jan 2024 09:05:47 +0000 (10:05 +0100)]
Fix FAQ indentation
Daan De Meyer [Wed, 24 Jan 2024 08:58:26 +0000 (09:58 +0100)]
Use a subdirectory of the workspace as TMPDIR
Let's properly distinguish temporary files from workspace files by
putting the temporary files in a subdirectory of the workspace.
Renjaya Raga Zenta [Wed, 24 Jan 2024 07:05:45 +0000 (14:05 +0700)]
Use compression extension
When `SplitArtifacts=yes` and `CompressOutput=zstd`, the file extensions should be `.zst` instead of `.zstd`.
Follow up for:
9f9426ac70bbefffa657ce4d92022231b524b870
Daan De Meyer [Tue, 23 Jan 2024 22:49:16 +0000 (23:49 +0100)]
Fix MinimumVersion= check
Daan De Meyer [Wed, 10 Jan 2024 10:15:07 +0000 (11:15 +0100)]
Add markdown contents for "A re-introduction to mkosi" blog post
Let's keep this in the repo so it can be reviewed and so we can update
it later if needed.
Winterhuman [Tue, 23 Jan 2024 12:51:55 +0000 (12:51 +0000)]
man: `--debug-shell=` -> `--debug-shell`
`--debug-shell` refuses to take an argument, so the equal sign is misleading (aka. `--debug-shell=yes` errors out), so let's remove it from the `man` page.
Daan De Meyer [Tue, 23 Jan 2024 12:32:40 +0000 (13:32 +0100)]
Merge pull request #2316 from DaanDeMeyer/ssh
Don't use a tools tree for verbs that don't need a build
Daan De Meyer [Mon, 22 Jan 2024 19:51:00 +0000 (20:51 +0100)]
Only use tools trees for verbs that need a build
Currently we try to use a tools tree that isn't there for verbs
that don't need a build. Let's instead opt to not use one altogether
since building an entire image just to run ssh is kind of overkill.
Daan De Meyer [Mon, 22 Jan 2024 19:50:28 +0000 (20:50 +0100)]
Don't require a build for journalctl and coredumctl
These only make sense after we've booted the image, so requiring a
build is kind of backwards.
Daan De Meyer [Tue, 23 Jan 2024 10:49:45 +0000 (11:49 +0100)]
Merge pull request #2313 from DaanDeMeyer/resources
Allow including builtin configs
Daan De Meyer [Tue, 23 Jan 2024 10:25:44 +0000 (11:25 +0100)]
Merge pull request #2317 from keszybz/pythonesque-tweaks
Minor cleanups to code
Daan De Meyer [Mon, 22 Jan 2024 14:21:01 +0000 (15:21 +0100)]
kernel-install: Use builtin mkosi-initrd configuration
Daan De Meyer [Mon, 22 Jan 2024 14:17:01 +0000 (15:17 +0100)]
Allow including builtin configs
Let's make it possible to include builtin configurations using
e.g. Include=mkosi-initrd. This allows building the default initrd
or default tools tree independently whereas currently these can only
be built as part of another image.
Daan De Meyer [Mon, 22 Jan 2024 13:58:41 +0000 (14:58 +0100)]
Rename inner parse_config() to parse_config_one()
Let's not use the same function name for the inner and outer function.
Daan De Meyer [Mon, 22 Jan 2024 13:23:16 +0000 (14:23 +0100)]
Extract mkosi.resources once
Instead of extracting individual files and directories when we need
them, let's extract the resources once and pass the extracted path
around so that we don't have to deal with context managers every time
we want to use resources.
Daan De Meyer [Mon, 22 Jan 2024 12:57:35 +0000 (13:57 +0100)]
Extract full resources instead of specific paths
Zbigniew Jędrzejewski-Szmek [Tue, 23 Jan 2024 09:39:48 +0000 (10:39 +0100)]
Drop unnecessary parentheses around conditionals
Zbigniew Jędrzejewski-Szmek [Mon, 22 Jan 2024 09:45:32 +0000 (10:45 +0100)]
Drop unneeded inner function
The result should be exactly the same.
One of the loops was using inverted logic (continue-if-not-else-yield instead
of yield-if), so invert that for consistency.
Daan De Meyer [Mon, 22 Jan 2024 15:05:07 +0000 (16:05 +0100)]
sandbox: Deal correctly with unmerged-usr
If /bin and such are directories instead of symlinks, bind mount
them in to the sandbox.
Fixes #2314
Luca Boccassi [Mon, 22 Jan 2024 12:17:22 +0000 (12:17 +0000)]
Release 20.2
Daan De Meyer [Mon, 22 Jan 2024 11:43:41 +0000 (12:43 +0100)]
Update NEWS
Zbigniew Jędrzejewski-Szmek [Mon, 22 Jan 2024 09:41:41 +0000 (10:41 +0100)]
Use an r-string for regexp
I think we should do so everywhere to avoid double escaping,
even if here the string is the same length in both cases.
Daan De Meyer [Fri, 19 Jan 2024 11:21:47 +0000 (12:21 +0100)]
Implement RepositoryKeyCheck= for apt
Daan De Meyer [Fri, 19 Jan 2024 08:39:51 +0000 (09:39 +0100)]
Update NEWS
Daan De Meyer [Thu, 18 Jan 2024 19:40:20 +0000 (20:40 +0100)]
Handle builds that run from directories with less than two parent dirs
Fixes #2302
Jörg Behrmann [Thu, 18 Jan 2024 11:17:29 +0000 (12:17 +0100)]
Merge pull request #2301 from DaanDeMeyer/depmod
Improve check for whether we have to rerun depmod
Daan De Meyer [Thu, 18 Jan 2024 08:56:45 +0000 (09:56 +0100)]
Don't mount /srv and /mnt read-only
It seems there are use cases where users expect to write their output
to a directory in /srv or /mnt so let's make that writable. This should
be safe as we set up a custom sandbox now so none of the tools we run
will have access to /srv and /mnt in the first place.
Daan De Meyer [Thu, 18 Jan 2024 09:26:10 +0000 (10:26 +0100)]
Improve check for whether we have to rerun depmod
Let's check if any extra modules were dropped in by users and rerun
depmod in that case.
Daan De Meyer [Thu, 18 Jan 2024 09:24:45 +0000 (10:24 +0100)]
Don't preserve timestamps when copying skeleton/extra trees
If timestamps should be preserved, a tar archive should be used.
Timestamps in directories are very likely to be arbitrary and there's
no point in preserving them. This doesn't impact reproducible builds
as we have SourceDateEpoch= for that.
Daan De Meyer [Wed, 17 Jan 2024 21:40:32 +0000 (22:40 +0100)]
Merge pull request #2298 from DaanDeMeyer/env
Introduce config_make_dict_parser()
Daan De Meyer [Wed, 17 Jan 2024 14:34:12 +0000 (15:34 +0100)]
Fix summary indentation
Daan De Meyer [Wed, 17 Jan 2024 14:05:20 +0000 (15:05 +0100)]
Introduce config_make_dict_parser()
Daan De Meyer [Wed, 17 Jan 2024 13:03:15 +0000 (14:03 +0100)]
Fix --mirror for Fedora (again)
Daan De Meyer [Wed, 17 Jan 2024 11:28:46 +0000 (12:28 +0100)]
Merge pull request #2296 from DaanDeMeyer/passwd
Hash root password when a plaintext one is given
Daan De Meyer [Wed, 17 Jan 2024 10:27:20 +0000 (11:27 +0100)]
Stop using --best when not necessary
Daan De Meyer [Wed, 17 Jan 2024 10:26:11 +0000 (11:26 +0100)]
Remove unnecessary quotes
Daan De Meyer [Wed, 17 Jan 2024 10:18:52 +0000 (11:18 +0100)]
Fix SRPM path in rpm scripts
Daan De Meyer [Wed, 17 Jan 2024 10:18:39 +0000 (11:18 +0100)]
Hash root password when a plaintext one is given
Daan De Meyer [Wed, 17 Jan 2024 09:34:08 +0000 (10:34 +0100)]
Revert "Don't include root password in /usr/lib/credstore"
If /etc/shadow is included in the image this is just as safe/unsafe
as including the hashed root password in /usr/lib/credstore. We'll
deal with including the plaintext root password in the next commit.
This reverts commit
1e054b4f3d75552b23299d20079f5f6ee3b7853a .
Jörg Behrmann [Wed, 17 Jan 2024 09:27:22 +0000 (10:27 +0100)]
Merge pull request #2294 from DaanDeMeyer/topdir
Always set rpm _topdir to /var/tmp
Jörg Behrmann [Wed, 17 Jan 2024 09:23:57 +0000 (10:23 +0100)]
Merge pull request #2295 from DaanDeMeyer/news
Update NEWS
Daan De Meyer [Tue, 16 Jan 2024 22:39:09 +0000 (23:39 +0100)]
Add link to constellation mkosi blog post
Daan De Meyer [Tue, 16 Jan 2024 22:32:26 +0000 (23:32 +0100)]
Add link to "Building USIs with mkosi" blog post