summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
authorSergei Trofimovich <slyfox@gentoo.org>2020-06-19 19:15:21 +0100
committerSergei Trofimovich <slyfox@gentoo.org>2020-06-19 21:52:43 +0100
commit92e383747ffc633ff6e85a02bf8cdb856eb1bcdc (patch)
tree56e3a5747be4479254f44e7e932eab6604e47c78 /eclass
parentmail-client/neomutt: Version bump to 2020-06-19 (diff)
downloadgentoo-92e383747ffc633ff6e85a02bf8cdb856eb1bcdc.tar.gz
gentoo-92e383747ffc633ff6e85a02bf8cdb856eb1bcdc.tar.bz2
gentoo-92e383747ffc633ff6e85a02bf8cdb856eb1bcdc.zip
toolchain.eclass: drop fix_libtool_files.sh
fixlafiles.awk can mangle two things in .la fils: 1. patch reference 'from .../libstdc++.la' to '-lstdc++' 2. change ${CHOST} when user switches CHOST and rebuilds the system [1.] is not relevant since gcc-4 in Gentoo where we started deleting libstdc++.la on gcc installation. Nothing should embed libstdc++.la paths anymore. [2.] is a rare one-off step that has a lot more caveats than just .la file patching. Generally .la files are tracked by package manager and should not be changed after they are installed on disk. 'fix_libtool_files.sh' breaks that invariant. On top of that portage's FEATURES=fixlafiles removes nested .la files references. Let's remove 'fix_libtool_files.sh' and 'fixlafiles.awk' completely. If really needed we can reintroduce it as a separate tool. Closes: https://bugs.gentoo.org/722554 Closes: https://bugs.gentoo.org/657330 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Diffstat (limited to 'eclass')
-rw-r--r--eclass/toolchain.eclass40
1 files changed, 9 insertions, 31 deletions
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 1e164957b2b8..8384e565d867 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1914,13 +1914,8 @@ toolchain_src_install() {
# prune empty dirs left behind
find "${ED}" -depth -type d -delete 2>/dev/null
- # Rather install the script, else portage with changing $FILESDIR
- # between binary and source package borks things ....
if ! is_crosscompile && [[ ${PN} != "kgcc64" ]] ; then
- insinto "${DATAPATH#${EPREFIX}}"
- newins "$(prefixify_ro "${FILESDIR}"/awk/fixlafiles.awk-no_gcc_la)" fixlafiles.awk || die
exeinto "${DATAPATH#${EPREFIX}}"
- doexe "$(prefixify_ro "${FILESDIR}"/fix_libtool_files.sh)" || die
doexe "${FILESDIR}"/c{89,99} || die
fi
@@ -2225,24 +2220,12 @@ toolchain_pkg_postinst() {
fi
if ! is_crosscompile && [[ ${PN} != "kgcc64" ]] ; then
- echo
- ewarn "If you have issues with packages unable to locate libstdc++.la,"
- ewarn "then try running 'fix_libtool_files.sh' on the old gcc versions."
- echo
- ewarn "You might want to review the GCC upgrade guide when moving between"
- ewarn "major versions (like 4.2 to 4.3):"
- ewarn "https://wiki.gentoo.org/wiki/Upgrading_GCC"
- echo
-
- # Clean up old paths
- rm -f "${EROOT%/}"/*/rcscripts/awk/fixlafiles.awk "${EROOT%/}"/sbin/fix_libtool_files.sh
- rmdir "${EROOT%/}"/*/rcscripts{/awk,} 2>/dev/null
-
- mkdir -p "${EROOT%/}"/usr/{share/gcc-data,sbin,bin}
- # DATAPATH has EPREFIX already, use ROOT with it
- cp "${ROOT%/}${DATAPATH}"/fixlafiles.awk "${EROOT%/}"/usr/share/gcc-data/ || die
- cp "${ROOT%/}${DATAPATH}"/fix_libtool_files.sh "${EROOT%/}"/usr/sbin/ || die
+ # gcc stopped installing .la files fixer in June 2020.
+ # Cleaning can be removed in June 2022.
+ rm -f "${EROOT%/}"/sbin/fix_libtool_files.sh
+ rm -f "${EROOT%/}"/usr/share/gcc-data/fixlafiles.awk
+ mkdir -p "${EROOT%/}"/usr/bin
# Since these aren't critical files and portage sucks with
# handling of binpkgs, don't require these to be found
cp "${ROOT%/}${DATAPATH}"/c{89,99} "${EROOT%/}"/usr/bin/ 2>/dev/null
@@ -2271,15 +2254,10 @@ toolchain_pkg_postrm() {
return 0
fi
- # ROOT isnt handled by the script
- [[ ${ROOT%/} ]] && return 0
-
- if [[ ! -e ${LIBPATH}/libstdc++.so ]] ; then
- einfo "Running 'fix_libtool_files.sh ${GCC_RELEASE_VER}'"
- fix_libtool_files.sh ${GCC_RELEASE_VER}
- fi
-
- return 0
+ # gcc stopped installing .la files fixer in June 2020.
+ # Cleaning can be removed in June 2022.
+ rm -f "${EROOT%/}"/sbin/fix_libtool_files.sh
+ rm -f "${EROOT%/}"/usr/share/gcc-data/fixlafiles.awk
}
do_gcc_config() {