From: | Georgy Yakovlev <gyakovlev@g.o> | ||
---|---|---|---|
To: | gentoo-dev@l.g.o | ||
Cc: | dist-kernel@g.o, Georgy Yakovlev <gyakovlev@g.o> | ||
Subject: | [gentoo-dev] [PATCH 2/2] EXAMPLE, NOMERGE sys-kernel/gentoo-kernel: use ppc_pagesize expand | ||
Date: | Tue, 04 Jan 2022 23:56:39 | ||
Message-Id: | 20220104235528.3995740-2-gyakovlev@gentoo.org | ||
In Reply to: | [gentoo-dev] [PATCH 1/2] profiles: add PPC_PAGESIZE use expand by Georgy Yakovlev |
1 | Signed-off-by: Georgy Yakovlev <gyakovlev@g.o> |
2 | --- |
3 | .../gentoo-kernel/gentoo-kernel-5.15.11.ebuild | 18 +++++++++++++++--- |
4 | 1 file changed, 15 insertions(+), 3 deletions(-) |
5 | |
6 | diff --git a/sys-kernel/gentoo-kernel/gentoo-kernel-5.15.11.ebuild b/sys-kernel/gentoo-kernel/gentoo-kernel-5.15.11.ebuild |
7 | index e4ac32a7019..05ae8331c84 100644 |
8 | --- a/sys-kernel/gentoo-kernel/gentoo-kernel-5.15.11.ebuild |
9 | +++ b/sys-kernel/gentoo-kernel/gentoo-kernel-5.15.11.ebuild |
10 | @@ -1,123 +1,135 @@ |
11 | -# Copyright 2020-2021 Gentoo Authors |
12 | +# Copyright 2020-2022 Gentoo Authors |
13 | # Distributed under the terms of the GNU General Public License v2 |
14 | |
15 | EAPI=7 |
16 | |
17 | inherit kernel-build toolchain-funcs |
18 | |
19 | MY_P=linux-${PV%.*} |
20 | GENPATCHES_P=genpatches-${PV%.*}-$(( ${PV##*.} + 2 )) |
21 | CONFIG_VER=5.15.10 |
22 | CONFIG_HASH=4882b85cc85fb2b7df396c4d671cc6432596eca0 |
23 | GENTOO_CONFIG_VER=5.15.5 |
24 | |
25 | DESCRIPTION="Linux kernel built with Gentoo patches" |
26 | HOMEPAGE="https://www.kernel.org/" |
27 | SRC_URI+=" https://cdn.kernel.org/pub/linux/kernel/v$(ver_cut 1).x/${MY_P}.tar.xz |
28 | https://dev.gentoo.org/~mpagano/dist/genpatches/${GENPATCHES_P}.base.tar.xz |
29 | https://dev.gentoo.org/~mpagano/dist/genpatches/${GENPATCHES_P}.extras.tar.xz |
30 | https://github.com/mgorny/gentoo-kernel-config/archive/v${GENTOO_CONFIG_VER}.tar.gz |
31 | -> gentoo-kernel-config-${GENTOO_CONFIG_VER}.tar.gz |
32 | amd64? ( |
33 | https://src.fedoraproject.org/rpms/kernel/raw/${CONFIG_HASH}/f/kernel-x86_64-fedora.config |
34 | -> kernel-x86_64-fedora.config.${CONFIG_VER} |
35 | ) |
36 | arm64? ( |
37 | https://src.fedoraproject.org/rpms/kernel/raw/${CONFIG_HASH}/f/kernel-aarch64-fedora.config |
38 | -> kernel-aarch64-fedora.config.${CONFIG_VER} |
39 | ) |
40 | ppc64? ( |
41 | https://src.fedoraproject.org/rpms/kernel/raw/${CONFIG_HASH}/f/kernel-ppc64le-fedora.config |
42 | -> kernel-ppc64le-fedora.config.${CONFIG_VER} |
43 | ) |
44 | x86? ( |
45 | https://src.fedoraproject.org/rpms/kernel/raw/${CONFIG_HASH}/f/kernel-i686-fedora.config |
46 | -> kernel-i686-fedora.config.${CONFIG_VER} |
47 | )" |
48 | S=${WORKDIR}/${MY_P} |
49 | |
50 | LICENSE="GPL-2" |
51 | KEYWORDS="amd64 ~arm arm64 ~ppc ppc64 ~x86" |
52 | -IUSE="debug hardened" |
53 | -REQUIRED_USE="arm? ( savedconfig )" |
54 | +IUSE="debug hardened ppc_pagesize_4K +ppc_pagesize_64K" |
55 | +REQUIRED_USE=" |
56 | + arm? ( savedconfig ) |
57 | + ppc64? ( ^^ ( ppc_pagesize_4K ppc_pagesize_64K ) ) |
58 | +" |
59 | |
60 | RDEPEND=" |
61 | !sys-kernel/gentoo-kernel-bin:${SLOT}" |
62 | BDEPEND=" |
63 | debug? ( dev-util/pahole )" |
64 | PDEPEND=" |
65 | >=virtual/dist-kernel-${PV}" |
66 | |
67 | QA_FLAGS_IGNORED=" |
68 | usr/src/linux-.*/scripts/gcc-plugins/.*.so |
69 | usr/src/linux-.*/vmlinux |
70 | usr/src/linux-.*/arch/powerpc/kernel/vdso.*/vdso.*.so.dbg |
71 | " |
72 | |
73 | src_prepare() { |
74 | local PATCHES=( |
75 | # meh, genpatches have no directory |
76 | "${WORKDIR}"/*.patch |
77 | ) |
78 | default |
79 | |
80 | local biendian=false |
81 | |
82 | # prepare the default config |
83 | case ${ARCH} in |
84 | amd64) |
85 | cp "${DISTDIR}/kernel-x86_64-fedora.config.${CONFIG_VER}" .config || die |
86 | ;; |
87 | arm) |
88 | return |
89 | ;; |
90 | arm64) |
91 | cp "${DISTDIR}/kernel-aarch64-fedora.config.${CONFIG_VER}" .config || die |
92 | biendian=true |
93 | ;; |
94 | ppc) |
95 | # assume powermac/powerbook defconfig |
96 | # we still package.use.force savedconfig |
97 | cp "${WORKDIR}/${MY_P}/arch/powerpc/configs/pmac32_defconfig" .config || die |
98 | ;; |
99 | ppc64) |
100 | cp "${DISTDIR}/kernel-ppc64le-fedora.config.${CONFIG_VER}" .config || die |
101 | biendian=true |
102 | ;; |
103 | x86) |
104 | cp "${DISTDIR}/kernel-i686-fedora.config.${CONFIG_VER}" .config || die |
105 | ;; |
106 | *) |
107 | die "Unsupported arch ${ARCH}" |
108 | ;; |
109 | esac |
110 | |
111 | local myversion="-gentoo-dist" |
112 | use hardened && myversion+="-hardened" |
113 | echo "CONFIG_LOCALVERSION=\"${myversion}\"" > "${T}"/version.config || die |
114 | local dist_conf_path="${WORKDIR}/gentoo-kernel-config-${GENTOO_CONFIG_VER}" |
115 | |
116 | local merge_configs=( |
117 | "${T}"/version.config |
118 | "${dist_conf_path}"/base.config |
119 | ) |
120 | use debug || merge_configs+=( |
121 | "${dist_conf_path}"/no-debug.config |
122 | ) |
123 | if use hardened; then |
124 | merge_configs+=( "${dist_conf_path}"/hardened-base.config ) |
125 | |
126 | tc-is-gcc && merge_configs+=( "${dist_conf_path}"/hardened-gcc-plugins.config ) |
127 | |
128 | if [[ -f "${dist_conf_path}/hardened-${ARCH}.config" ]]; then |
129 | merge_configs+=( "${dist_conf_path}/hardened-${ARCH}.config" ) |
130 | fi |
131 | fi |
132 | |
133 | # this covers ppc64 and aarch64_be only for now |
134 | if [[ ${biendian} == true && $(tc-endian) == big ]]; then |
135 | merge_configs+=( "${dist_conf_path}/big-endian.config" ) |
136 | fi |
137 | |
138 | + if use ppc_pagesize_4K; then |
139 | + merge_configs+=( "${dist_conf_path}/ppc_pagesize_4K.config" ) |
140 | + fi |
141 | + |
142 | + if use ppc_pagesize_64K; then |
143 | + merge_configs+=( "${dist_conf_path}/ppc_pagesize_64K.config" ) |
144 | + fi |
145 | + |
146 | + |
147 | kernel-build_merge_configs "${merge_configs[@]}" |
148 | } |
149 | -- |
150 | 2.34.1 |