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 <mgo...@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 efccd70608c0..b3ef186a74eb 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
-- 
2.27.0


Reply via email to