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 5/5] linux-mod.eclass: Add a prebuilt-kernel rebuild flag
Date: Mon, 04 Jan 2021 13:24:33
Message-Id: 20210104132246.701912-6-mgorny@gentoo.org
In Reply to: [gentoo-dev] [PATCH 0/5] (linux-mod.eclass) Subslot module rebuilds for dist-kernel by "Michał Górny"
1 Add a 'prebuilt-kernel' USE flag that controls a bound-slot dependency
2 on virtual/prebuilt-kernel. If the flag is enabled, it should ensure
3 that the module will be rebuilt automatically on future kernel upgrades.
4
5 TODO: unmask the flag on other architectures
6
7 Signed-off-by: Michał Górny <mgorny@g.o>
8 ---
9 eclass/linux-mod.eclass | 13 ++++++++++---
10 profiles/arch/amd64/use.mask | 4 ++++
11 profiles/arch/amd64/use.stable.mask | 6 +++++-
12 profiles/arch/base/use.mask | 6 +++++-
13 profiles/use.desc | 1 +
14 5 files changed, 25 insertions(+), 5 deletions(-)
15
16 diff --git a/eclass/linux-mod.eclass b/eclass/linux-mod.eclass
17 index f5a5a4276369..e0444eacc61a 100644
18 --- a/eclass/linux-mod.eclass
19 +++ b/eclass/linux-mod.eclass
20 @@ -1,4 +1,4 @@
21 -# Copyright 1999-2020 Gentoo Authors
22 +# Copyright 1999-2021 Gentoo Authors
23 # Distributed under the terms of the GNU General Public License v2
24
25 # @ECLASS: linux-mod.eclass
26 @@ -144,9 +144,16 @@ esac
27 0) die "EAPI=${EAPI} is not supported with MODULES_OPTIONAL_USE_IUSE_DEFAULT due to lack of IUSE defaults" ;;
28 esac
29
30 -IUSE="kernel_linux ${MODULES_OPTIONAL_USE:+${_modules_optional_use_iuse_default}}${MODULES_OPTIONAL_USE}"
31 +IUSE="kernel_linux dist-kernel
32 + ${MODULES_OPTIONAL_USE:+${_modules_optional_use_iuse_default}}${MODULES_OPTIONAL_USE}"
33 SLOT="0"
34 -RDEPEND="${MODULES_OPTIONAL_USE}${MODULES_OPTIONAL_USE:+? (} kernel_linux? ( sys-apps/kmod[tools] ) ${MODULES_OPTIONAL_USE:+)}"
35 +RDEPEND="
36 + ${MODULES_OPTIONAL_USE}${MODULES_OPTIONAL_USE:+? (}
37 + kernel_linux? (
38 + sys-apps/kmod[tools]
39 + dist-kernel? ( virtual/dist-kernel:= )
40 + )
41 + ${MODULES_OPTIONAL_USE:+)}"
42 DEPEND="${RDEPEND}
43 ${MODULES_OPTIONAL_USE}${MODULES_OPTIONAL_USE:+? (}
44 sys-apps/sed
45 diff --git a/profiles/arch/amd64/use.mask b/profiles/arch/amd64/use.mask
46 index 2334ab319381..e4f5aa002053 100644
47 --- a/profiles/arch/amd64/use.mask
48 +++ b/profiles/arch/amd64/use.mask
49 @@ -6,6 +6,10 @@
50
51 # SECTION: Unmask
52
53 +# Michał Górny <mgorny@g.o> (2021-01-03)
54 +# Prebuilt kernels are supported here.
55 +-dist-kernel
56 +
57 # Andreas Sturmlechner <asturm@g.o> (2020-06-06)
58 # sci-libs/mkl works on amd64
59 -mkl
60 diff --git a/profiles/arch/amd64/use.stable.mask b/profiles/arch/amd64/use.stable.mask
61 index b83b8507d91c..07bd75f7024c 100644
62 --- a/profiles/arch/amd64/use.stable.mask
63 +++ b/profiles/arch/amd64/use.stable.mask
64 @@ -1,9 +1,13 @@
65 -# Copyright 1999-2019 Gentoo Authors
66 +# Copyright 1999-2021 Gentoo Authors
67 # Distributed under the terms of the GNU General Public License v2
68
69 # This file requires eapi 5 or later. New entries go on top.
70 # Please use the same syntax as in use.mask
71
72 +# Michał Górny <mgorny@g.o> (2021-01-03)
73 +# Prebuilt kernel rebuilds are supported on stable yet.
74 +dist-kernel
75 +
76 # Andreas Sturmlechner <asturm@g.o> (2020-06-06)
77 # sci-libs/mkl is not stable, needs online registration to even run pkg_setup
78 mkl
79 diff --git a/profiles/arch/base/use.mask b/profiles/arch/base/use.mask
80 index ba124ae0487a..704b33512f21 100644
81 --- a/profiles/arch/base/use.mask
82 +++ b/profiles/arch/base/use.mask
83 @@ -1,6 +1,10 @@
84 -# Copyright 1999-2020 Gentoo Authors
85 +# Copyright 1999-2021 Gentoo Authors
86 # Distributed under the terms of the GNU General Public License v2
87
88 +# Michał Górny <mgorny@g.o> (2021-01-03)
89 +# Prebuilt kernels are not supported on all architectures.
90 +dist-kernel
91 +
92 # Andreas Sturmlechner <asturm@g.o> (2020-06-06)
93 # sci-libs/mkl is only supported on specific architectures
94 mkl
95 diff --git a/profiles/use.desc b/profiles/use.desc
96 index e51db5982020..a1ea2238b3ee 100644
97 --- a/profiles/use.desc
98 +++ b/profiles/use.desc
99 @@ -62,6 +62,7 @@ dbus - Enable dbus support for anything that needs it (gpsd, gnomemeeting, etc)
100 debug - Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces
101 dedicated - Add support for dedicated game servers (some packages do not provide clients and servers at the same time)
102 dga - Add DGA (Direct Graphic Access) support for X
103 +dist-kernel - Enable subslot rebuilds on Distribution Kernel upgrades
104 djvu - Support DjVu, a PDF-like document format esp. suited for scanned documents
105 doc - Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally
106 dri - Enable direct rendering: used for accelerated 3D and some 2D, like DMA
107 --
108 2.30.0