toolchain.eclass: update active cross-gcc on uninstall
authorSergei Trofimovich <slyfox@gentoo.org>
Fri, 12 Jul 2019 22:17:03 +0000 (23:17 +0100)
committerSergei Trofimovich <slyfox@gentoo.org>
Fri, 12 Jul 2019 23:37:33 +0000 (00:37 +0100)
gcc-config-2 changed /usr/bin/gcc from a binary to symlink
in commit b907ef80bc421df23515afc4c306e4d96c67649
("Convert binary wrapper to a symlink wrapper.")

Before the above change /usr/bin/gcc worked in both cases
when active cross-gcc is being uninstalled. After the above
change symlink becomes dangling.

The change runs `gcc-config` more aggressively.

Reported-by: Pietro
Closes: https://bugs.gentoo.org/680360
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
eclass/toolchain.eclass

index 9caed25f55a757014f28cff42bbef6ea5a87ab54..6bc04b4cbfe4cd82b16def6fd899e705ebc319a3 100644 (file)
@@ -2241,6 +2241,7 @@ toolchain_pkg_postinst() {
 }
 
 toolchain_pkg_postrm() {
+       do_gcc_config
        if [[ ! ${ROOT%/} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
                eselect compiler-shadow clean all
        fi
@@ -2265,9 +2266,6 @@ toolchain_pkg_postrm() {
        [[ ${ROOT%/} ]] && return 0
 
        if [[ ! -e ${LIBPATH}/libstdc++.so ]] ; then
-               # make sure the profile is sane during same-slot upgrade #289403
-               do_gcc_config
-
                einfo "Running 'fix_libtool_files.sh ${GCC_RELEASE_VER}'"
                fix_libtool_files.sh ${GCC_RELEASE_VER}
                if [[ -n ${BRANCH_UPDATE} ]] ; then