summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'eclass/kernel-install.eclass')
-rw-r--r--eclass/kernel-install.eclass36
1 files changed, 23 insertions, 13 deletions
diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass
index 8065a8f5638e..ab886d28faf0 100644
--- a/eclass/kernel-install.eclass
+++ b/eclass/kernel-install.eclass
@@ -20,6 +20,13 @@
# Additionally, the inherited mount-boot eclass exports pkg_pretend.
# It also stubs out pkg_preinst and pkg_prerm defined by mount-boot.
+# @ECLASS-VARIABLE: KV_LOCALVERSION
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# A string containing the kernel LOCALVERSION, e.g. '-gentoo'.
+# Needs to be set only when installing binary kernels,
+# kernel-build.eclass obtains it from kernel config.
+
if [[ ! ${_KERNEL_INSTALL_ECLASS} ]]; then
case "${EAPI:-0}" in
@@ -311,21 +318,22 @@ kernel-install_pkg_postinst() {
if [[ -z ${ROOT} ]]; then
mount-boot_pkg_preinst
+ local ver="${PV}${KV_LOCALVERSION}"
local image_path=$(kernel-install_get_image_path)
if use initramfs; then
# putting it alongside kernel image as 'initrd' makes
# kernel-install happier
kernel-install_build_initramfs \
- "${EROOT}/usr/src/linux-${PV}/${image_path%/*}/initrd" \
- "${PV}"
+ "${EROOT}/usr/src/linux-${ver}/${image_path%/*}/initrd" \
+ "${ver}"
fi
- kernel-install_install_kernel "${PV}" \
- "${EROOT}/usr/src/linux-${PV}/${image_path}" \
- "${EROOT}/usr/src/linux-${PV}/System.map"
+ kernel-install_install_kernel "${ver}" \
+ "${EROOT}/usr/src/linux-${ver}/${image_path}" \
+ "${EROOT}/usr/src/linux-${ver}/System.map"
fi
- kernel-install_update_symlink "${EROOT}/usr/src/linux" "${PV}"
+ kernel-install_update_symlink "${EROOT}/usr/src/linux" "${ver}"
}
# @FUNCTION: kernel-install_pkg_prerm
@@ -345,10 +353,11 @@ kernel-install_pkg_postrm() {
debug-print-function ${FUNCNAME} "${@}"
if [[ -z ${ROOT} ]] && use initramfs; then
+ local ver="${PV}${KV_LOCALVERSION}"
local image_path=$(kernel-install_get_image_path)
ebegin "Removing initramfs"
- rm -f "${EROOT}/usr/src/linux-${PV}/${image_path%/*}/initrd" &&
- find "${EROOT}/usr/src/linux-${PV}" -depth -type d -empty -delete
+ rm -f "${EROOT}/usr/src/linux-${ver}/${image_path%/*}/initrd" &&
+ find "${EROOT}/usr/src/linux-${ver}" -depth -type d -empty -delete
eend ${?}
fi
}
@@ -361,18 +370,19 @@ kernel-install_pkg_config() {
mount-boot_pkg_preinst
+ local ver="${PV}${KV_LOCALVERSION}"
local image_path=$(kernel-install_get_image_path)
if use initramfs; then
# putting it alongside kernel image as 'initrd' makes
# kernel-install happier
kernel-install_build_initramfs \
- "${EROOT}/usr/src/linux-${PV}/${image_path%/*}/initrd" \
- "${PV}"
+ "${EROOT}/usr/src/linux-${ver}/${image_path%/*}/initrd" \
+ "${ver}"
fi
- kernel-install_install_kernel "${PV}" \
- "${EROOT}/usr/src/linux-${PV}/${image_path}" \
- "${EROOT}/usr/src/linux-${PV}/System.map"
+ kernel-install_install_kernel "${ver}" \
+ "${EROOT}/usr/src/linux-${ver}/${image_path}" \
+ "${EROOT}/usr/src/linux-${ver}/System.map"
}
_KERNEL_INSTALL_ECLASS=1