This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "IPFire 3.x development tree".
The branch, master has been updated via c2ee3456c5f23447d56074ae449f9d59a5a9bc53 (commit) from 48c0a8414ddae2a6e443a0fdd253f7944cb6a8a7 (commit)
Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below.
- Log ----------------------------------------------------------------- commit c2ee3456c5f23447d56074ae449f9d59a5a9bc53 Author: Michael Tremer michael.tremer@ipfire.org Date: Fri Mar 24 17:15:02 2023 +0000
glibc: Fix runtime linker path chaos
Some architectures have a specific path for their runtime linker hardcoded and in order to avoid installing them into /lib or /lib64 instead of /usr/lib or /usr/lib64, we are adding artificial provides.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org
-----------------------------------------------------------------------
Summary of changes: glibc/glibc.nm | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-)
Difference in files: diff --git a/glibc/glibc.nm b/glibc/glibc.nm index 3b1362d4d..b86d06a83 100644 --- a/glibc/glibc.nm +++ b/glibc/glibc.nm @@ -5,7 +5,7 @@
name = glibc version = 2.37 -release = 5 +release = 6
maintainer = Michael Tremer michael.tremer@ipfire.org groups = System/Base @@ -52,6 +52,9 @@ build # Disable LTO LTO_CFLAGS =
+ # Path to put the runtime linker + rtlddir = %{libdir} + configure_options = \ --build=%{DISTRO_BUILDTARGET} \ --prefix=/usr \ @@ -73,28 +76,26 @@ build if "%{DISTRO_ARCH}" == "aarch64" configure_options += \ --enable-memory-tagging + + # The runtime linker on aarch64 for whatever braindead reason is in /usr/lib + rtlddir = %{prefix}/lib + + # Runtime Linker + rtld = /lib/ld-linux-aarch64.so.1 end
if "%{DISTRO_ARCH}" == "x86_64" configure_options += \ --enable-cet + + # Runtime Linker + rtld = /lib64/ld-linux-x86-64.so.2 end
install # Install everything make install install_root=%{BUILDROOT} \ - rtlddir=%{libdir} rootsbindir=%{sbindir} slibdir=%{libdir} - - if [ "%{DISTRO_ARCH}" = "aarch64" ]; then - # On aarch64, we did link various binaries against - # an incorrect linker in /lib. In order to migrate - # away from this, we are creating a symlink which - # can hopefully go after we drop the bootstrap repositories. - mkdir -pv %{BUILDROOT}%{prefix}/lib - ln -svf --relative \ - %{BUILDROOT}%{libdir}/ld-linux-aarch64.so.1 \ - %{BUILDROOT}%{prefix}/lib/ld-linux-aarch64.so.1 - fi + rtlddir=%{rtlddir} rootsbindir=%{sbindir} slibdir=%{libdir}
# Locales mkdir -pv %{BUILDROOT}/usr/lib/locale @@ -141,9 +142,9 @@ end
packages package glibc - if "%{DISTRO_ARCH}" == "aarch64" - provides += /lib/ld-linux-aarch64.so.1 - end + # Export the path to the runtime linker which is actually + # installed into /usr, but is being searched for elsewhere + provides += %{rtld}
requires tzdata
hooks/post-receive -- IPFire 3.x development tree