This commit updates most occurrences of /%{_lib} to %{_libdir}.
The glibc build process is not changed, instead the symbolic links
are created right before installing the files, to redirect them
to their final locations. The symbolic links are removed again
so that they do not end up in the shipped packages.
Resolves: RHEL-65334
Eliminate most pattern matching and list files explicitly. Two
common exceptions are modeled explicitly: libmvec (additional shared
object and static library), libnldbl (additional shared object).
To implement glibc-headers-* and glibc-gconv-extra, pattern matching
is still used, but with helper shell functions that allow splitting
the matching and non-matching files into separate list files.
The remaining differences are bug fixes for directory ownership.
/usr/libexec/glibc-benchtests is now owned by glibc-benchtests.
/lib64/glibc-hwcaps is now owned by glibc.ppc64le.
Differences can be checked with this script:
mkdir -p filelist
for x in "$@" ; do
target="$(rpm -qp --qf 'filelist/%{name}.%{arch}.txt' "$x")"
rpm -qp --qf '[%{filenames} %{filemodes:perms} (%{fileflags:fflags})(%{fileverifyflags:hex}) \{%{filecaps}\} %{fileusername} %{filegroupname}\n]' "$x" > "$target"
done
Note: Delete the *.src.rpm files because %{arch} has unexpected
results for them.
Related: RHEL-65334
Vaguely based on Fedora commit 7749ea58a9e2198f830d6eb8b162344aaf8acb84.
Co-authored-by: Tulio Magno Quites Machado Filho <tuliom@redhat.com>
Related: RHEL-65334
The sysdeps/powerpc/powerpc64/strncmp.S variant crashes due to a page
boundary handling bug. It is not used on ppc64le because the POWER8
variant takes precedence (and on RHEL9, we always use the POWER9
variant). Upstream removed these old variants, so this commit just
backports it. It avoids interfering with further testing.
Resolves: RHEL-60466
Upstream unconditionally builds xtests during make check after
the backported commit, so the spec file change is no longer necessary.
Resolves: RHEL-59494
Resolves: RHEL-20172
Note: there are follow up patches which fix Hurd wrt this change,
but those lead to a rabbit hole of other required fixes that
become more and more invasive... One relevant change was to move
the tests specific to this change, but there has been no further
work upstream on those tests, so leaving that out should not
affect future merges.