releases/portage/isos: add genkernel patch for ppc64
since it's still not fixed in genkernel, we can carry a local patch. patch is conditional for ppc64 only, it will affect only ppc64le iso for now. ppc64 installcd is ppc, not ppc64. Bug: https://bugs.gentoo.org/796272 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
This commit is contained in:
parent
bcc8c249ae
commit
35826178e4
2 changed files with 82 additions and 0 deletions
35
releases/portage/isos/env/sys-kernel/genkernel
vendored
Normal file
35
releases/portage/isos/env/sys-kernel/genkernel
vendored
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
post_src_unpack() {
|
||||||
|
if use ppc64; then
|
||||||
|
einfo "hooked by ${BASH_SOURCE[0]} in ${FUNCNAME[0]}"
|
||||||
|
local patchfile
|
||||||
|
patchfile="${PORTAGE_CONFIGROOT%/}/etc/portage/patches/genkernel-ppc64-iso.patch"
|
||||||
|
if [[ -f ${patchfile} ]]; then
|
||||||
|
einfo "found genkernel patch for bug https://bugs.gentoo.org/796272"
|
||||||
|
cd "${S}" || die
|
||||||
|
eapply "${patchfile}"
|
||||||
|
else
|
||||||
|
ewarn "no genkernel patch found, skipping hook"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
post_pkg_postinst() {
|
||||||
|
einfo "hooked by ${BASH_SOURCE[0]} in ${FUNCNAME[0]}"
|
||||||
|
einfo "cleaning up bug https://bugs.gentoo.org/796272 workarounds"
|
||||||
|
# cleanup after ourselves, we don't want workarounds shipped to users
|
||||||
|
# and don't want updating all the spec files with new removal directives.
|
||||||
|
local envfile patchfile
|
||||||
|
envfile="${PORTAGE_CONFIGROOT%/}/etc/portage/env/sys-kernel/genkernel"
|
||||||
|
patchfile="${PORTAGE_CONFIGROOT%/}/etc/portage/patches/genkernel-ppc64-iso.patch"
|
||||||
|
|
||||||
|
local _x
|
||||||
|
for _x in "${envfile}" "${patchfile}"; do
|
||||||
|
if [[ -f ${_x} ]]; then
|
||||||
|
rm -vf "${_x}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
rmdir -v --ignore-fail-on-non-empty "${PORTAGE_CONFIGROOT%/}/etc/portage/env/sys-kernel"
|
||||||
|
rmdir -v --ignore-fail-on-non-empty "${PORTAGE_CONFIGROOT%/}/etc/portage/env"
|
||||||
|
rmdir -v --ignore-fail-on-non-empty "${PORTAGE_CONFIGROOT%/}/etc/portage/patches"
|
||||||
|
}
|
||||||
|
|
47
releases/portage/isos/patches/genkernel-ppc64-iso.patch
Normal file
47
releases/portage/isos/patches/genkernel-ppc64-iso.patch
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
From 628e1a30b384a900cf7095cf86441fed7a0300dc Mon Sep 17 00:00:00 2001
|
||||||
|
From: Georgy Yakovlev <gyakovlev@gentoo.org>
|
||||||
|
Date: Fri, 14 May 2021 22:05:33 -0700
|
||||||
|
Subject: [PATCH] defaults/initrd.scripts: don't skip top level devices with
|
||||||
|
partitions
|
||||||
|
|
||||||
|
ppc64 media should be mounted as /dev/sdX, not as /dev/sdX1
|
||||||
|
this loop was skipping /dev/sdX if /dev/sdX1 is present.
|
||||||
|
|
||||||
|
Bug: https://bugs.gentoo.org/796272
|
||||||
|
Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
|
||||||
|
---
|
||||||
|
defaults/initrd.scripts | 18 ------------------
|
||||||
|
1 file changed, 18 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
|
||||||
|
index 5ec8adb..bfc36cf 100644
|
||||||
|
--- a/defaults/initrd.scripts
|
||||||
|
+++ b/defaults/initrd.scripts
|
||||||
|
@@ -178,24 +178,6 @@ findmediamount() {
|
||||||
|
# Check for a block device to mount
|
||||||
|
if [ -b "${x}" ]
|
||||||
|
then
|
||||||
|
- skip=0
|
||||||
|
- bsn=$(basename "${x}")
|
||||||
|
- #
|
||||||
|
- # If disk and it has at least one partition, skip.
|
||||||
|
- # We use /sys/block/${bsn}/${bsn}[0-9]* to make sure that we
|
||||||
|
- # don't skip device mapper devices. Even the craziest scenario
|
||||||
|
- # deserves a fair chance.
|
||||||
|
- #
|
||||||
|
- # shellcheck disable=SC2045
|
||||||
|
- for part in $(ls /sys/block/${bsn}/${bsn}*[0-9]* 2>/dev/null)
|
||||||
|
- do
|
||||||
|
- skip=1
|
||||||
|
- break;
|
||||||
|
- done
|
||||||
|
- if [ ${skip} -eq 1 ]
|
||||||
|
- then
|
||||||
|
- continue
|
||||||
|
- fi
|
||||||
|
good_msg "Attempting to mount media: ${x}" ${CRYPT_SILENT}
|
||||||
|
|
||||||
|
CDROOT_TYPE=$(determine_fs "${x}" "${CDROOT_TYPE}")
|
||||||
|
--
|
||||||
|
2.31.1
|
||||||
|
|
Loading…
Add table
Reference in a new issue