]> git.ipfire.org Git - thirdparty/mkosi.git/commit
arch: better package selection 223/head
authorGeorges Discry <georges@discry.be>
Tue, 23 Jan 2018 23:52:41 +0000 (00:52 +0100)
committerGeorges Discry <georges@discry.be>
Sat, 10 Feb 2018 11:17:32 +0000 (12:17 +0100)
commitf7921f97219ee7a67c5859ebafa6f98f23f11ddf
treef602fc9555e1a896eabdf75af01c9c89ee6cbc4b
parentb37d330b03397961808a0bf4584ba8a335c2642b
arch: better package selection

The package selection for Arch Linux is not optimal, especially when the
image is not bootable. The main issue is that a kernel is still
installed when the image is not bootable.

Optional packages from the `base` group that are required under specific
configurations are first deleted from the package selection and
explicitly re-added when required. For example, the `cryptsetup` and
`device-mapper` packages are included only if the image is bootable and
encrypted.  Similarly, a kernel is included only if the image is
bootable or if the user selected one explicitly.

Sets are now better used in the package selection. The appropriate
operators and methods are directly used instead of relying on
intermediary sets.

The installation of the packages is split into two operations. The first
only installs the packages from the `base` group and the second installs
the packages selected by the user. This is necessary because some
packages (e.g. `git`) have an install script that depends on the `base`
group without listing those in their dependencies. If they are installed
before their implicit dependency, their install script will most likely
fail.
mkosi