commit:     2e8bd51fc836d1aee4722b40caab2faa3a4626a5
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 19 10:14:25 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Dec 19 19:27:37 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2e8bd51f

sys-kernel/vanilla-kernel: Update symlink target after installing

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

 sys-kernel/vanilla-kernel/vanilla-kernel-5.4.5.ebuild | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/sys-kernel/vanilla-kernel/vanilla-kernel-5.4.5.ebuild 
b/sys-kernel/vanilla-kernel/vanilla-kernel-5.4.5.ebuild
index dc2837b8fd0..37b591ff1c5 100644
--- a/sys-kernel/vanilla-kernel/vanilla-kernel-5.4.5.ebuild
+++ b/sys-kernel/vanilla-kernel/vanilla-kernel-5.4.5.ebuild
@@ -151,8 +151,21 @@ pkg_postinst() {
                eend || fail=1
 
                [[ ${fail} ]] && die "Installing the kernel failed"
+       fi
 
-               # TODO: update /usr/src/linux symlink?
+       local symlink_target=$(readlink "${EROOT}"/usr/src/linux)
+       if [[ ${symlink_target} == linux-[0-9]* ]]; then
+               local symlink_ver=${symlink_target#linux-}
+               local symlink_pkg=${CATEGORY}/${PN}-${symlink_ver}
+               # if the current target is either being replaced, or still
+               # installed (probably depclean candidate), update the symlink
+               if has "${symlink_ver}" ${REPLACING_VERSIONS} ||
+                               has_version -r "~${symlink_pkg}"
+               then
+                       ebegin "Updating /usr/src/linux symlink"
+                       ln -f -n -s linux-${PV} "${EROOT}"/usr/src/linux
+                       eend
+               fi
        fi
 
        savedconfig_pkg_postinst

Reply via email to