Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: gentoo-dev@l.g.o
Cc: "Michał Górny" <mgorny@g.o>
Subject: [gentoo-dev] [PATCH 0/3] dist-kernel-utils.eclass and support for initramfs-on-module rebuild
Date: Sun, 10 Jan 2021 19:32:15
Message-Id: 20210110193202.511671-1-mgorny@gentoo.org
1 Hi,
2
3 Here's the next batch of patches to the dist-kernel framework. This
4 includes:
5
6 1. Introducing a new dist-kernel-utils.eclass that can be used
7 by packages that need some logic related to dist-kernel but do not
8 want to fight the phase functions exported by the current eclasses.
9
10 2. Adding a new dist-kernel_reinstall_initramfs function that triggers
11 initramfs rebuild and installkernel for the currently installed
12 dist-kernel (if any).
13
14
15 The primary use case is ensuring that the necessary kernel modules
16 are included in the initramfs for the newly built kernel. This relies
17 on the dist-kernel flag introduced by the previous patchset, that
18 triggers module rebuilds on kernel upgrade. Technically, the process
19 is:
20
21 1. New kernel is installed, with 'broken' initramfs.
22
23 2. Modules are rebuilt, via slot operator rebuilds.
24
25 3. When important modules are rebuilt, initramfs is updated via their
26 postinst.
27
28 This was requested for sys-fs/zfs-kmod, and the patch for it is included
29 in the thread. However, I do not use ZFS, so I'd appreciate if someone
30 who does did a real-system testing.
31
32
33 Michał Górny (3):
34 dist-kernel-utils.eclass: Introduce eclass for helper functions
35 dist-kernel-utils.eclass: Add a function to rebuild initramfs
36 sys-fs/zfs-kmod: Rebuild initramfs after installing
37
38 eclass/dist-kernel-utils.eclass | 132 ++++++++++++++++++
39 eclass/kernel-build.eclass | 4 +-
40 eclass/kernel-install.eclass | 80 ++---------
41 sys-fs/zfs-kmod/zfs-kmod-0.8.6.ebuild | 6 +-
42 sys-fs/zfs-kmod/zfs-kmod-2.0.1.ebuild | 6 +-
43 sys-fs/zfs-kmod/zfs-kmod-9999.ebuild | 6 +-
44 .../gentoo-kernel-bin-5.10.3-r1.ebuild | 2 +-
45 .../gentoo-kernel-bin-5.10.3.ebuild | 2 +-
46 .../gentoo-kernel-bin-5.10.4-r1.ebuild | 2 +-
47 .../gentoo-kernel-bin-5.10.4.ebuild | 2 +-
48 .../gentoo-kernel-bin-5.10.5-r1.ebuild | 2 +-
49 .../gentoo-kernel-bin-5.10.5.ebuild | 2 +-
50 .../gentoo-kernel-bin-5.10.6.ebuild | 2 +-
51 .../gentoo-kernel-bin-5.4.80-r2.ebuild | 2 +-
52 .../gentoo-kernel-bin-5.4.83-r1.ebuild | 2 +-
53 .../gentoo-kernel-bin-5.4.83.ebuild | 2 +-
54 .../gentoo-kernel-bin-5.4.85-r1.ebuild | 2 +-
55 .../gentoo-kernel-bin-5.4.85.ebuild | 2 +-
56 .../gentoo-kernel-bin-5.4.86-r1.ebuild | 2 +-
57 .../gentoo-kernel-bin-5.4.86.ebuild | 2 +-
58 .../gentoo-kernel-bin-5.4.87-r1.ebuild | 2 +-
59 .../gentoo-kernel-bin-5.4.87.ebuild | 2 +-
60 .../gentoo-kernel-bin-5.4.88.ebuild | 2 +-
61 23 files changed, 174 insertions(+), 94 deletions(-)
62 create mode 100644 eclass/dist-kernel-utils.eclass
63
64 --
65 2.30.0

Replies