commit:     7da40ba722084b85cf3136fdc8b2c38fb9e1fb2b
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 17 09:16:30 2020 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jun 24 08:00:10 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7da40ba7

kernel-install.eclass: Add pkg_config() to reinstall

Add a pkg_config() phase that can be used to rebuild the initramfs
and reinstall the kernel without rebuilding the whole package.

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 eclass/kernel-install.eclass | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass
index efccd70608c..b3ef186a74e 100644
--- a/eclass/kernel-install.eclass
+++ b/eclass/kernel-install.eclass
@@ -330,7 +330,30 @@ kernel-install_pkg_postrm() {
        fi
 }
 
+# @FUNCTION: kernel-install_pkg_config
+# @DESCRIPTION:
+# Rebuild the initramfs and reinstall the kernel.
+kernel-install_pkg_config() {
+       [[ -z ${ROOT} ]] || die "ROOT!=/ not supported currently"
+
+       mount-boot_pkg_preinst
+
+       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}"
+       fi
+
+       kernel-install_install_kernel "${PV}" \
+               "${EROOT}/usr/src/linux-${PV}/${image_path}" \
+               "${EROOT}/usr/src/linux-${PV}/System.map"
+}
+
 _KERNEL_INSTALL_ECLASS=1
 fi
 
 EXPORT_FUNCTIONS src_test pkg_preinst pkg_postinst pkg_prerm pkg_postrm
+EXPORT_FUNCTIONS pkg_config

Reply via email to