]> git.ipfire.org Git - thirdparty/mkosi.git/log
thirdparty/mkosi.git
2 years agoFail again if --repositories is specified for Gentoo 1658/head
Daan De Meyer [Mon, 3 Jul 2023 12:00:13 +0000 (14:00 +0200)] 
Fail again if --repositories is specified for Gentoo

2 years agoFix documentation for Repositories=
Daan De Meyer [Mon, 3 Jul 2023 11:59:09 +0000 (13:59 +0200)] 
Fix documentation for Repositories=

2 years agoWrite dnf/zypper default repos as mkosi.repo
Daan De Meyer [Mon, 3 Jul 2023 11:56:40 +0000 (13:56 +0200)] 
Write dnf/zypper default repos as mkosi.repo

This is more identifiable than a file named after the distribution
since such a file could conceivably be shipped by the distro as well.

2 years agoUse stat tool to check if we're on a btrfs subsystem
Daan De Meyer [Mon, 3 Jul 2023 11:41:28 +0000 (13:41 +0200)] 
Use stat tool to check if we're on a btrfs subsystem

Currently, we let the btrfs tool log errors when we're not on a
btrfs filesystem. Let's avoid unnecessary errors by checking if we're
on a btrfs filesystem before invoking the btrfs tool.

2 years agoMerge pull request #1653 from bluca/offline
Luca Boccassi [Mon, 3 Jul 2023 10:38:30 +0000 (11:38 +0100)] 
Merge pull request #1653 from bluca/offline

Fix offline builds with initrd or zypper

2 years agozypper: respect --local-mirror too 1653/head
Luca Boccassi [Sun, 2 Jul 2023 20:01:41 +0000 (21:01 +0100)] 
zypper: respect --local-mirror too

2 years agoinitd: respect --local-mirror too
Luca Boccassi [Sun, 2 Jul 2023 19:55:31 +0000 (20:55 +0100)] 
initd: respect --local-mirror too

2 years agoMerge pull request #1646 from DaanDeMeyer/gentoo
Daan De Meyer [Mon, 3 Jul 2023 05:28:09 +0000 (07:28 +0200)] 
Merge pull request #1646 from DaanDeMeyer/gentoo

Gentoo fixes

2 years agoDrop shell workaround in bwrap() and run_workspace_command()
Daan De Meyer [Tue, 25 Apr 2023 14:56:20 +0000 (16:56 +0200)] 
Drop shell workaround in bwrap() and run_workspace_command()

Let's use --perms and --chmod to fix the permissions of /tmp, /var/tmp
and /dev/shm instead of our hacky shell workaround. Let's also drop
all usage of shlex.join() in run() since it doesn't really by us anything.

This required bubblewrap 0.5.0.

2 years agoGentoo fixes 1646/head
Daan De Meyer [Tue, 27 Jun 2023 11:40:43 +0000 (13:40 +0200)] 
Gentoo fixes

- Use boot use flag for systemd instead of gnuefi
- Add --deep to emerge invocation to fix dep resolution failures
- Use curl to download stage3 tarball so we get a progress bar
- Do not exclude dev, proc and sys directories when extracting tarball
  (only exclude their contents)
- Copy pkgmngr/ directory into stage3/ directory wholesale instead of
  individual files
- Various coding style fixes
- Stop using Repositories= to specify binary package repositories as it
  is not its intended purpose. Instead, pass configured environment
  variables to emerge so users can set PORTAGE_BINHOST instead.

2 years agoUse a separate workdir for each overlay mount
Daan De Meyer [Tue, 27 Jun 2023 13:05:31 +0000 (15:05 +0200)] 
Use a separate workdir for each overlay mount

2 years agoopensuse: Add back support for zypper
Daan De Meyer [Sun, 2 Jul 2023 15:34:23 +0000 (17:34 +0200)] 
opensuse: Add back support for zypper

Let's add back support for zypper to build opensuse images. If both
zypper and dnf are installed, let's prefer using zypper.

2 years agodebian: drop workarounds for EoL Debian versions
Joerg Behrmann [Mon, 12 Jun 2023 13:59:24 +0000 (15:59 +0200)] 
debian: drop workarounds for EoL Debian versions

2 years agoUse systemd-repart's new --offline argument
Daan De Meyer [Tue, 27 Jun 2023 14:04:58 +0000 (16:04 +0200)] 
Use systemd-repart's new --offline argument

When building images, we never want to use loop devices, so use
--offline=yes in that case. When booting images, we know that
systemd-nspawn requires loop devices, so require them for
systemd-repart as well using --offline=no.

2 years agofedora: fix RemovePackages with dnf5
Zbigniew Jędrzejewski-Szmek [Fri, 23 Jun 2023 14:45:47 +0000 (08:45 -0600)] 
fedora: fix RemovePackages with dnf5

2 years agoMerge pull request #1570 from 257/gentoo
Daan De Meyer [Tue, 27 Jun 2023 08:40:32 +0000 (10:40 +0200)] 
Merge pull request #1570 from 257/gentoo

Gentoo

2 years agogentoo: reinstate systemd flags and lost emerge_vars 1570/head
Paymon MARANDI [Sat, 24 Jun 2023 16:11:06 +0000 (12:11 -0400)] 
gentoo: reinstate systemd flags and lost emerge_vars

Signed-off-by: Paymon MARANDI <darwinskernel@gmail.com>
2 years agogentoo: backup vanilla PORTAGE_CONFIG, use pkgmngr if provided
Paymon MARANDI [Fri, 23 Jun 2023 14:39:19 +0000 (10:39 -0400)] 
gentoo: backup vanilla PORTAGE_CONFIG, use pkgmngr if provided

Signed-off-by: Paymon MARANDI <darwinskernel@gmail.com>
2 years agogentoo: drop .cache_isclean
Paymon MARANDI [Thu, 22 Jun 2023 12:10:57 +0000 (08:10 -0400)] 
gentoo: drop .cache_isclean

Signed-off-by: Paymon MARANDI <darwinskernel@gmail.com>
2 years agogentoo: don't clobber pkgmngr, rework repositories, enfore gnuefi
Paymon MARANDI [Thu, 22 Jun 2023 11:33:42 +0000 (07:33 -0400)] 
gentoo: don't clobber pkgmngr, rework repositories, enfore gnuefi

Signed-off-by: Paymon MARANDI <darwinskernel@gmail.com>
2 years agogentoo: type properly
Paymon MARANDI [Thu, 22 Jun 2023 11:10:56 +0000 (07:10 -0400)] 
gentoo: type properly

Signed-off-by: Paymon MARANDI <darwinskernel@gmail.com>
2 years agogentoo: drop cls.stage3_cache
Paymon MARANDI [Thu, 22 Jun 2023 11:09:30 +0000 (07:09 -0400)] 
gentoo: drop cls.stage3_cache

Signed-off-by: Paymon MARANDI <darwinskernel@gmail.com>
2 years agogentoo: drop init/kernel
Paymon MARANDI [Thu, 22 Jun 2023 10:57:45 +0000 (06:57 -0400)] 
gentoo: drop init/kernel

Signed-off-by: Paymon MARANDI <darwinskernel@gmail.com>
2 years agogentoo: drop documentation of portage variables used during build
Paymon MARANDI [Wed, 21 Jun 2023 17:27:49 +0000 (13:27 -0400)] 
gentoo: drop documentation of portage variables used during build

Signed-off-by: Paymon MARANDI <darwinskernel@gmail.com>
2 years agogentoo: drop root, conform more with coding style
Paymon MARANDI [Wed, 21 Jun 2023 16:41:34 +0000 (12:41 -0400)] 
gentoo: drop root, conform more with coding style

Signed-off-by: Paymon MARANDI <darwinskernel@gmail.com>
2 years agogentoo: install kernel only if a bootable image was requested
Paymon MARANDI [Wed, 21 Jun 2023 16:38:12 +0000 (12:38 -0400)] 
gentoo: install kernel only if a bootable image was requested

Signed-off-by: Paymon MARANDI <darwinskernel@gmail.com>
2 years agogentoo: don't bother with @system set and bash
Paymon MARANDI [Wed, 21 Jun 2023 15:23:13 +0000 (11:23 -0400)] 
gentoo: don't bother with @system set and bash

Signed-off-by: Paymon MARANDI <darwinskernel@gmail.com>
2 years agogentoo: hardcode stage3 path
Paymon MARANDI [Tue, 20 Jun 2023 15:41:05 +0000 (11:41 -0400)] 
gentoo: hardcode stage3 path

2 more things:
- bring back cache_clean so we extract stage3 once. that also means
  configure pkgmngr once
- add ./proc to exclusion list during extraction

Signed-off-by: Paymon MARANDI <darwinskernel@gmail.com>
2 years agogentoo: use state.pkgmngr
Paymon MARANDI [Tue, 20 Jun 2023 15:17:56 +0000 (11:17 -0400)] 
gentoo: use state.pkgmngr

Signed-off-by: Paymon MARANDI <darwinskernel@gmail.com>
2 years agogentoo: let portage handle thread_count
Paymon MARANDI [Tue, 20 Jun 2023 14:55:41 +0000 (10:55 -0400)] 
gentoo: let portage handle thread_count

Signed-off-by: Paymon MARANDI <darwinskernel@gmail.com>
2 years agogentoo: remove indirections, use state.config.mirror itself
Paymon MARANDI [Sun, 11 Jun 2023 15:24:06 +0000 (11:24 -0400)] 
gentoo: remove indirections, use state.config.mirror itself

Signed-off-by: Paymon MARANDI <darwinskernel@gmail.com>
2 years agogentoo: drop unused `root` argument for `invoke_emerge`
Paymon MARANDI [Sun, 11 Jun 2023 13:33:09 +0000 (09:33 -0400)] 
gentoo: drop unused `root` argument for `invoke_emerge`

we could add this in the future if we ever need to pass a different root
to `invoke_emerge` other that default;  `state.root`.

Signed-off-by: Paymon MARANDI <darwinskernel@gmail.com>
2 years agogentoo: drop flock for cache clean
Paymon MARANDI [Sun, 11 Jun 2023 13:29:19 +0000 (09:29 -0400)] 
gentoo: drop flock for cache clean

Signed-off-by: Paymon MARANDI <darwinskernel@gmail.com>
2 years agogentoo: consolidate Gentoo class into GentooInstaller
Paymon MARANDI [Sat, 3 Jun 2023 13:44:00 +0000 (09:44 -0400)] 
gentoo: consolidate Gentoo class into GentooInstaller

Signed-off-by: Paymon MARANDI <darwinskernel@gmail.com>
2 years agogentoo: capitalise Symbolic Constants
Paymon MARANDI [Tue, 30 May 2023 13:11:54 +0000 (09:11 -0400)] 
gentoo: capitalise Symbolic Constants

Signed-off-by: Paymon MARANDI <darwinskernel@gmail.com>
2 years agogentoo: support --mirror
Paymon MARANDI [Tue, 30 May 2023 13:07:32 +0000 (09:07 -0400)] 
gentoo: support --mirror

Signed-off-by: Paymon MARANDI <darwinskernel@gmail.com>
2 years agogentoo: s/List/list/
Paymon MARANDI [Tue, 30 May 2023 12:59:09 +0000 (08:59 -0400)] 
gentoo: s/List/list/

Signed-off-by: Paymon MARANDI <darwinskernel@gmail.com>
2 years agogentoo: document taget_root_mntpnt
Paymon MARANDI [Tue, 30 May 2023 12:56:03 +0000 (08:56 -0400)] 
gentoo: document taget_root_mntpnt

Signed-off-by: Paymon MARANDI <darwinskernel@gmail.com>
2 years agogentoo: fix Reworked architecture handling
Paymon MARANDI [Tue, 30 May 2023 12:35:30 +0000 (08:35 -0400)] 
gentoo: fix Reworked architecture handling

Signed-off-by: Paymon MARANDI <darwinskernel@gmail.com>
2 years agogentoo: s/state.cache/state.cache_dir/
Paymon MARANDI [Sat, 27 May 2023 11:45:40 +0000 (07:45 -0400)] 
gentoo: s/state.cache/state.cache_dir/

Signed-off-by: Paymon MARANDI <darwinskernel@gmail.com>
2 years agogentoo: assume hyperthreaded cpu
Paymon MARANDI [Sat, 27 May 2023 11:28:36 +0000 (07:28 -0400)] 
gentoo: assume hyperthreaded cpu

Signed-off-by: Paymon MARANDI <darwinskernel@gmail.com>
2 years agogentoo: drop portage dependency
Paymon MARANDI [Thu, 25 May 2023 14:22:55 +0000 (10:22 -0400)] 
gentoo: drop portage dependency

Signed-off-by: Paymon MARANDI <darwinskernel@gmail.com>
2 years agogentoo: default to btrfs
Paymon MARANDI [Thu, 25 May 2023 13:19:34 +0000 (09:19 -0400)] 
gentoo: default to btrfs

Given that mkosi is *bespoken* and since it leverages features from
btrfs in some configurations we switch to btrfs by default.

Gentoo doesn't actually care one way or the other what the undelying fs
is and ext4, previous default, was in fact an arbitrarily choice (a
copy-pasted from some other distro's module).

Signed-off-by: Paymon MARANDI <darwinskernel@gmail.com>
2 years agogentoo: DRY
Paymon MARANDI [Wed, 24 May 2023 13:57:16 +0000 (09:57 -0400)] 
gentoo: DRY

Signed-off-by: Paymon MARANDI <darwinskernel@gmail.com>
2 years agogentoo: comply with CodeQl
Paymon MARANDI [Wed, 24 May 2023 12:11:23 +0000 (08:11 -0400)] 
gentoo: comply with CodeQl

Signed-off-by: Paymon MARANDI <darwinskernel@gmail.com>
2 years agogentoo: support prebuilt initrds.
Paymon MARANDI [Sat, 20 May 2023 13:50:08 +0000 (09:50 -0400)] 
gentoo: support prebuilt initrds.

Signed-off-by: Paymon MARANDI <darwinskernel@gmail.com>
2 years agogentoo: support initrd
Paymon MARANDI [Sat, 20 May 2023 12:38:21 +0000 (08:38 -0400)] 
gentoo: support initrd

Signed-off-by: Paymon MARANDI <darwinskernel@gmail.com>
2 years agogentoo: support --repositories
Paymon MARANDI [Sat, 13 May 2023 14:45:11 +0000 (10:45 -0400)] 
gentoo: support --repositories

this is for binpkg repositories not ebuilds

Signed-off-by: Paymon MARANDI <darwinskernel@gmail.com>
2 years agogentoo: leverage cache for artifacts
Paymon MARANDI [Sat, 13 May 2023 15:05:33 +0000 (11:05 -0400)] 
gentoo: leverage cache for artifacts

this will help to speedup incremental builds as well as initrd
same for syncing ebuild repos distfiles (source file for pkgs)

also resulting image will not include binpkgs and distfiles which would
reduce the size by great deal; this is required for initrd support.

Signed-off-by: Paymon MARANDI <darwinskernel@gmail.com>
2 years agogentoo: build initrd, do not ask for udev
Paymon MARANDI [Fri, 5 May 2023 15:23:48 +0000 (11:23 -0400)] 
gentoo: build initrd, do not ask for udev

udev is always included with systemd

Signed-off-by: Paymon MARANDI <darwinskernel@gmail.com>
2 years agoAdd support for ukify config at /etc/kernel/uki.conf.
Marius Schiffer [Fri, 16 Jun 2023 10:00:53 +0000 (10:00 +0000)] 
Add support for ukify config at /etc/kernel/uki.conf.
This allows specifying further options, e.g. a splash image for the
generated UKI file, given to ukify.
Ukify is run from the same working directory as mkosi itself,
so given paths in the ukify config can be relative to this.

2 years agoMerge pull request #1636 from keszybz/config-parser-generation
Jörg Behrmann [Thu, 22 Jun 2023 08:19:14 +0000 (10:19 +0200)] 
Merge pull request #1636 from keszybz/config-parser-generation

Generate argument parser from config setting list

2 years agoRun systemd-hwdb when building an image
Daan De Meyer [Wed, 21 Jun 2023 11:12:46 +0000 (13:12 +0200)] 
Run systemd-hwdb when building an image

2 years agoconfig: silence pyright warning 1636/head
Zbigniew Jędrzejewski-Szmek [Tue, 20 Jun 2023 22:39:03 +0000 (16:39 -0600)] 
config: silence pyright warning

/home/runner/work/mkosi/mkosi/mkosi/config.py
  /home/runner/work/mkosi/mkosi/mkosi/config.py:1660:13 - error: "group" is possibly unbound (reportUnboundVariable)
1 error, 0 warnings, 0 informations

2 years agoconfig: reword help message for --root-{password,shell}
Zbigniew Jędrzejewski-Szmek [Wed, 21 Jun 2023 23:59:42 +0000 (17:59 -0600)] 
config: reword help message for --root-{password,shell}

"system root" doesn't seem right, because it sounds like we're talking about
the file system. We would often say just "root password", but that's nor
gramatically correct. "root's password" would be correct, but seems strange.
So let's rephase this to avoid the awkwardness.

2 years agoconfig: generate ArgumentParser options from MkosiConfigSetting items
Zbigniew Jędrzejewski-Szmek [Mon, 19 Jun 2023 19:43:44 +0000 (21:43 +0200)] 
config: generate ArgumentParser options from MkosiConfigSetting items

The diff for --help output:

    @@ -32,3 +32,3 @@
    -Distribution options:
    +Distribution configuration options:
       -d, --distribution {fedora,debian,ubuntu,arch,opensuse,mageia,centos,openmandriva,rocky,alma,gentoo}

    @@ -47,3 +47,3 @@
    -Output options:
    +Output configuration options:
       -t, --format FORMAT   Output Format

    @@ -76,3 +76,3 @@
    -Content options:
    +Content configuration options:

    @@ -85,6 +85,6 @@
    -  --bootable [FEATURE]  Generate ESP partition with systemd-boot and UKIs for
    -                        installed kernels
       --kernel-command-line OPTIONS
                             Set the kernel command line (only bootable images)
    +  --bootable [FEATURE]  Generate ESP partition with systemd-boot and UKIs for
    +                        installed kernels

    @@ -140,6 +140,6 @@
    -Validation options:
    +Validation configuration options:

--bootable and ---kernel-command-line were in different order in the settings list.
The section names in are more consistent.

Mypy supression in required in one place because the typespec doesn't allow
None, even though it is accepted just fine.

2 years agoMake sure output directory mountpoint exists in build overlay
Daan De Meyer [Wed, 21 Jun 2023 07:52:11 +0000 (09:52 +0200)] 
Make sure output directory mountpoint exists in build overlay

2 years agoMerge pull request #1635 from DaanDeMeyer/build-output
Zbigniew Jędrzejewski-Szmek [Tue, 20 Jun 2023 22:57:14 +0000 (00:57 +0200)] 
Merge pull request #1635 from DaanDeMeyer/build-output

Add support for building arbitrary output artifacts

2 years agoDrop unnecessary uses of tuple
Zbigniew Jędrzejewski-Szmek [Mon, 19 Jun 2023 18:28:30 +0000 (20:28 +0200)] 
Drop unnecessary uses of tuple

2 years agoAdd "none" output format 1635/head
Daan De Meyer [Tue, 20 Jun 2023 15:40:49 +0000 (17:40 +0200)] 
Add "none" output format

This is a re-implementation of the --skip-final-phase option, but
instead of doing it via an option, we do it via a new output format,
which feels much more natural. In combination with mounting the
staging directory into the build script, this allows using mkosi to
produce arbitrary artifacts using the build script.

2 years agoMount staging directory into build script
Daan De Meyer [Tue, 20 Jun 2023 15:24:12 +0000 (17:24 +0200)] 
Mount staging directory into build script

The build script might produce additional outputs, so let's allow
the user to funnel those out of the container by mounting the staging
directory and setting the OUTPUTDIR environment variable.

2 years agoUse staging directory as OUTPUTDIR in finalize script
Daan De Meyer [Tue, 20 Jun 2023 15:23:13 +0000 (17:23 +0200)] 
Use staging directory as OUTPUTDIR in finalize script

We should use the staging directory which is where all the outputs
will be located when we run the finalize script.

2 years agoRemove --install-directory= option
Daan De Meyer [Tue, 20 Jun 2023 14:07:49 +0000 (16:07 +0200)] 
Remove --install-directory= option

We don't benefit from the caching anymore since we started emptying
the directory completely on reuse as otherwise old leftover files
might get installed. Without the caching, the option does not have
a ton of use anymore, so let's remove it.

2 years agoAdd kernel version to UKI name for versioned images
Marius Schiffer [Mon, 19 Jun 2023 09:48:25 +0000 (09:48 +0000)] 
Add kernel version to UKI name for versioned images

2 years agoMerge pull request #1630 from DaanDeMeyer/repart-boot
Daan De Meyer [Thu, 15 Jun 2023 14:34:40 +0000 (16:34 +0200)] 
Merge pull request #1630 from DaanDeMeyer/repart-boot

Run repart before booting image in systemd-nspawn

2 years agoRun systemd-repart before booting image with systemd-nspawn 1630/head
Daan De Meyer [Wed, 14 Jun 2023 15:41:32 +0000 (17:41 +0200)] 
Run systemd-repart before booting image with systemd-nspawn

To match the behavior when running in qemu, let's run systemd-repart
on the image before running it in systemd-nspawn to make sure that
all the necessary partitions are added if the image has repart
definition files included.

2 years agoIntroduce copy_ephemeral()
Daan De Meyer [Wed, 14 Jun 2023 15:39:19 +0000 (17:39 +0200)] 
Introduce copy_ephemeral()

A generic function to make an ephemeral copy of an image.

2 years agoSet --no-pager for systemd-repart
Daan De Meyer [Wed, 14 Jun 2023 15:37:06 +0000 (17:37 +0200)] 
Set --no-pager for systemd-repart

We don't want systemd-repart to page its output, that should be done
by mkosi itself.

2 years agoqemu: Use SOCK_STREAM for notify socket
Daan De Meyer [Tue, 13 Jun 2023 13:45:11 +0000 (15:45 +0200)] 
qemu: Use SOCK_STREAM for notify socket

The CentOS 8 Stream kernel does not support SOCK_SEQPACKET for
AF_VSOCK so let's use SOCK_STREAM instead and explicitly instruct
systemd running in the VM to use SOCK_STREAM as well.

2 years agoEnsure we return the same exit code in debug mode
Daan De Meyer [Mon, 12 Jun 2023 13:12:01 +0000 (15:12 +0200)] 
Ensure we return the same exit code in debug mode

When running in debug mode, we shouldn't return a different exit
code compared to when we run outside of debug mode.

A trivial example is when running the boot or qemu verbs where we
exit with the exit code of the container/VM by raising an instance
of CalledProcessError. In --debug mode, this exception is handled
as an unhandled exception by the python runtime which always exits
with 1 when an unhandled exception is encountered, whereas outside
of debug mode we exit with the value contained in
CalledProcessError.returncode.

With this commit, we'll always exit with the return value in
CalledProcessError.returncode.

2 years agoMerge pull request #1626 from DaanDeMeyer/epel-next
Jörg Behrmann [Mon, 12 Jun 2023 12:32:27 +0000 (14:32 +0200)] 
Merge pull request #1626 from DaanDeMeyer/epel-next

centos: Add epel-next

2 years agocentos: Streamline repo configuration a bit 1626/head
Daan De Meyer [Mon, 12 Jun 2023 12:02:28 +0000 (14:02 +0200)] 
centos: Streamline repo configuration a bit

2 years agocentos: Remove unused _epel_gpgurl() method
Daan De Meyer [Mon, 12 Jun 2023 11:58:26 +0000 (13:58 +0200)] 
centos: Remove unused _epel_gpgurl() method

2 years agocentos: Add epel-next
Daan De Meyer [Mon, 12 Jun 2023 11:53:18 +0000 (13:53 +0200)] 
centos: Add epel-next

2 years agoMerge pull request #1625 from DaanDeMeyer/fixes
Jörg Behrmann [Mon, 12 Jun 2023 07:44:34 +0000 (09:44 +0200)] 
Merge pull request #1625 from DaanDeMeyer/fixes

Fixes

2 years agoapt: Set "Dir" instead of "Dir::Etc" and set it via APT_CONFIG 1625/head
Daan De Meyer [Sun, 11 Jun 2023 19:55:06 +0000 (21:55 +0200)] 
apt: Set "Dir" instead of "Dir::Etc" and set it via APT_CONFIG

We need to use APT_CONFIG to set "Dir" as otherwise the value of "Dir"
won't be taken into account by apt when looking for configuration files
as options set via the CLI are applied last after parsing the apt
configuration files.

2 years agodnf: Make it possible to override install_weak_deps
Daan De Meyer [Sun, 11 Jun 2023 18:30:18 +0000 (20:30 +0200)] 
dnf: Make it possible to override install_weak_deps

By putting it in the config file, users can provide their own dnf.conf
to override our default value.

2 years agodnf: Use long option names
Daan De Meyer [Sun, 11 Jun 2023 18:30:05 +0000 (20:30 +0200)] 
dnf: Use long option names

2 years agodnf: Write repos to /etc/yum.repos.d/<distribution>.repo
Daan De Meyer [Sun, 11 Jun 2023 18:24:10 +0000 (20:24 +0200)] 
dnf: Write repos to /etc/yum.repos.d/<distribution>.repo

Let's allow providing a config file for dnf without also overriding
all the default repositories by writing the default repositories to
a file in /etc/yum.repos.d/.

2 years agoDo not overwrite package manager config files if they exist
Daan De Meyer [Sun, 11 Jun 2023 18:10:53 +0000 (20:10 +0200)] 
Do not overwrite package manager config files if they exist

Let's allow users to override mkosi's default package manager
settings by providing their own package manager config file. This
is especially important for distributions built using dnf as dnf
does not yet have support for dropins.

2 years agoarch: Drop useless options from config
Daan De Meyer [Sun, 11 Jun 2023 18:03:30 +0000 (20:03 +0200)] 
arch: Drop useless options from config

CheckSpace isn't really useful as we'll just fail a little later
while unpacking or installing packages. HoldPkg isn't useful either
as there's no chance of breaking the system by uninstalling packages
when we're just building an image.

2 years agoarch: Drop community repository
Daan De Meyer [Sun, 11 Jun 2023 18:01:50 +0000 (20:01 +0200)] 
arch: Drop community repository

community has been merged into extra so let's drop it from our
generated config.

2 years agoMerge pull request #1622 from behrmann/doccleanup
Daan De Meyer [Fri, 9 Jun 2023 08:13:50 +0000 (10:13 +0200)] 
Merge pull request #1622 from behrmann/doccleanup

Doc cleanup

2 years agodebian: fix default keyring
Joerg Behrmann [Thu, 8 Jun 2023 16:19:25 +0000 (18:19 +0200)] 
debian: fix default keyring

The key file RELEASE-archive-keyring does not exist, but
DISTRIBUTION-archive-keyring.gpg contains all currently used keys for both
Debian and Ubuntu.

2 years agodocs: remove unused --config option 1622/head
Joerg Behrmann [Fri, 9 Jun 2023 07:54:09 +0000 (09:54 +0200)] 
docs: remove unused --config option

2 years agodocs: mention package manager trees in the execution flow
Joerg Behrmann [Fri, 9 Jun 2023 07:47:44 +0000 (09:47 +0200)] 
docs: mention package manager trees in the execution flow

2 years agodocs: remove mention of kernel-install
Joerg Behrmann [Fri, 9 Jun 2023 07:47:28 +0000 (09:47 +0200)] 
docs: remove mention of kernel-install

2 years agoMerge pull request #1620 from DaanDeMeyer/config-cli
Daan De Meyer [Thu, 8 Jun 2023 17:33:15 +0000 (19:33 +0200)] 
Merge pull request #1620 from DaanDeMeyer/config-cli

Prefer configuration via CLI over configuration via config file

2 years agoPrefer configuration via CLI over configuration via config file 1620/head
Daan De Meyer [Thu, 8 Jun 2023 15:42:35 +0000 (17:42 +0200)] 
Prefer configuration via CLI over configuration via config file

This makes it easier to debug things with --debug as all the options
used will be logged instead of having to go and figure out what's in
the config file.

2 years agoarch: Introduce setup_pacman()
Daan De Meyer [Thu, 8 Jun 2023 16:51:30 +0000 (18:51 +0200)] 
arch: Introduce setup_pacman()

2 years agoHook up install_package_manager_trees()
Daan De Meyer [Thu, 8 Jun 2023 16:54:58 +0000 (18:54 +0200)] 
Hook up install_package_manager_trees()

2 years agoMake sure we close every vsock and read all data from it
Daan De Meyer [Thu, 8 Jun 2023 14:15:09 +0000 (16:15 +0200)] 
Make sure we close every vsock and read all data from it

2 years agoMerge pull request #1618 from behrmann/pkgmanagerskeletons
Daan De Meyer [Thu, 8 Jun 2023 14:56:19 +0000 (16:56 +0200)] 
Merge pull request #1618 from behrmann/pkgmanagerskeletons

Seed package manager config

2 years agoarch: use GPGDir in package manager tree if it exists 1618/head
Joerg Behrmann [Wed, 7 Jun 2023 16:33:40 +0000 (18:33 +0200)] 
arch: use GPGDir in package manager tree if it exists

2 years agodebian: use trusted keys from package manager tree if they exist
Joerg Behrmann [Wed, 7 Jun 2023 13:03:19 +0000 (15:03 +0200)] 
debian: use trusted keys from package manager tree if they exist

2 years agodebian: only write sources.list during setup if one isn't in the package manager...
Joerg Behrmann [Wed, 7 Jun 2023 13:02:48 +0000 (15:02 +0200)] 
debian: only write sources.list during setup if one isn't in the package manager tree

2 years agoconfig: add PackageManagerTrees= option
Joerg Behrmann [Thu, 8 Jun 2023 13:01:23 +0000 (15:01 +0200)] 
config: add PackageManagerTrees= option

2 years agoconfig: remove RepositoryDirectories= option
Joerg Behrmann [Thu, 8 Jun 2023 09:38:42 +0000 (11:38 +0200)] 
config: remove RepositoryDirectories= option

2 years agofedora: move workspace package manager configuration into a tree
Joerg Behrmann [Wed, 7 Jun 2023 11:37:23 +0000 (13:37 +0200)] 
fedora: move workspace package manager configuration into a tree

2 years agoarch: move workspace package manager configuration into a tree
Joerg Behrmann [Wed, 7 Jun 2023 11:37:11 +0000 (13:37 +0200)] 
arch: move workspace package manager configuration into a tree