Summary: | some package should own /usr/sbin/fix_libtool_files.sh | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | aeriksson2 |
Component: | Current packages | Assignee: | Gentoo Toolchain Maintainers <toolchain> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | fturco |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: | https://bugs.gentoo.org/show_bug.cgi?id=734008 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
aeriksson2
2018-06-04 12:55:24 UTC
On my machines, it has been owned by gcc for as long as I can remember. # equery belongs fix_libtool_files.sh * Searching for fix_libtool_files.sh ... sys-devel/gcc-8.1.0-r3 (/usr/share/gcc-data/x86_64-pc-linux-gnu/8.1.0/fix_libtool_files.sh) As gcc is a multislotted package fix_libtool_files.sh has to me managed carefully from gcc ebuilds (or should be moved out to a separate package). Today fix_libtool_files.sh is installed around package manager: https://gitweb.gentoo.org/repo/gentoo.git/tree/eclass/toolchain.eclass#n2136 Historically gcc ebuild uses gcc-config and managed orphan symlinks. Same goes for /usr/bin/gcc and friends: $ qfile -o /usr/bin/gcc /usr/bin/gcc If I read fixlafiles.awk correctly it 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. I think we can just remove fix_libtool_files.sh and fixlafiles.awk completely and if really needed reintroduce it as a separate tool. The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=92e383747ffc633ff6e85a02bf8cdb856eb1bcdc commit 92e383747ffc633ff6e85a02bf8cdb856eb1bcdc Author: Sergei Trofimovich <slyfox@gentoo.org> AuthorDate: 2020-06-19 18:15:21 +0000 Commit: Sergei Trofimovich <slyfox@gentoo.org> CommitDate: 2020-06-19 20:52:43 +0000 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> .../gnat-gpl/files/awk/fixlafiles.awk-no_gcc_la | 334 --------------------- dev-lang/gnat-gpl/files/fix_libtool_files.sh | 66 ---- eclass/toolchain.eclass | 40 +-- sys-devel/gcc/files/awk/fixlafiles.awk | 313 ------------------- sys-devel/gcc/files/awk/fixlafiles.awk-no_gcc_la | 334 --------------------- sys-devel/gcc/files/fix_libtool_files.sh | 66 ---- 6 files changed, 9 insertions(+), 1144 deletions(-) |