diff options
Diffstat (limited to 'eclass/kernel-install.eclass')
-rw-r--r-- | eclass/kernel-install.eclass | 36 |
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 |