diff --git a/glibc.spec b/glibc.spec index 9284544..9a4d4fc 100644 --- a/glibc.spec +++ b/glibc.spec @@ -157,7 +157,7 @@ end \ Summary: The GNU libc libraries Name: glibc Version: %{glibcversion} -Release: 145%{?dist} +Release: 146%{?dist} # In general, GPLv2+ is used by programs, LGPLv2+ is used for # libraries. @@ -279,7 +279,7 @@ local original = rpm.expand("%{macrobody:__debug_install_post}") -- Avoid embedded newlines that confuse the macro definition. original = original:match("^%s*(.-)%s*$"):gsub("\\\n", "") rpm.define("__debug_install_post bash " .. wrapper - .. " " .. sysroot .. " %{glibc_ldso} " .. original) + .. " " .. sysroot .. " %{_prefix}/%{glibc_ldso} " .. original) } # sysroot package support. These contain arch-specific packages, so @@ -1029,6 +1029,18 @@ Patch718: glibc-RHEL-56032.patch ############################################################################## Obsoletes: glibc-profile < 2.4 Provides: ldconfig +Provides: /sbin/ldconfig +Provides: /usr/sbin/ldconfig +# Historic file paths provided for backwards compatibility. +Provides: %{glibc_ldso} +Provides: /%{_lib}/libanl.so.1 +Provides: /%{_lib}/libc.so.6 +Provides: /%{_lib}/libdl.so.2 +Provides: /%{_lib}/libm.so.6 +Provides: /%{_lib}/libpthread.so.0 +Provides: /%{_lib}/libresolv.so.2 +Provides: /%{_lib}/librt.so.1 +Provides: /%{_lib}/libutil.so.1 # The dynamic linker supports DT_GNU_HASH Provides: rtld(GNU_HASH) @@ -2062,11 +2074,20 @@ build # distribution that supports multiple installed glibc versions. %define glibc_sysroot $RPM_BUILD_ROOT +# Create symbolic links for Features/UsrMove (aka UsrMerge, MoveToUsr). +# See below: Remove UsrMove symbolic links. +usrmove_file_names="bin lib lib64 sbin" +for d in $usrmove_file_names ; do + mkdir -p "%{glibc_sysroot}/usr/$d" + ln -s "usr/$d" "%{glibc_sysroot}/$d" +done + %ifarch riscv64 -# RISC-V ABI wants to install everything in /lib64/lp64d or /usr/lib64/lp64d. +# RISC-V ABI wants to install everything in /usr/lib64/lp64d. +# Make these be symlinks to /usr/lib64. See: # Make these be symlinks to /lib64 or /usr/lib64 respectively. See: # https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/DRHT5YTPK4WWVGL3GIN5BF2IKX2ODHZ3/ -for d in %{glibc_sysroot}%{_libdir} %{glibc_sysroot}/%{_lib}; do +for d in %{glibc_sysroot}%{_libdir}; do mkdir -p $d (cd $d && ln -sf . lp64d) done @@ -2127,7 +2148,7 @@ install_different() libbase=${lib#*/} # Take care that `libbaseso' has a * that needs expanding so # take care with quoting. - libbaseso=$(basename %{glibc_sysroot}/%{_lib}/${libbase}.so.*) + libbaseso=$(basename %{glibc_sysroot}/%{_libdir}/${libbase}.so.*) # Only install if different from default build library. if cmp -s ${lib}.so ../build-%{target}/${lib}.so; then ln -sf "$subdir_up"/$libbaseso $libdestdir/$libbaseso @@ -2153,11 +2174,10 @@ install -p -D -m 0644 %{SOURCE13} ${RPM_BUILD_ROOT}%{_sysusersdir}/nscd.conf # XXX: This looks like a bug in glibc that accidentally installed these # wrong files. We probably don't need this today. rm -f %{glibc_sysroot}/%{_libdir}/libNoVersion* -rm -f %{glibc_sysroot}/%{_lib}/libNoVersion* # Remove the old nss modules. -rm -f %{glibc_sysroot}/%{_lib}/libnss1-* -rm -f %{glibc_sysroot}/%{_lib}/libnss-*.so.1 +rm -f %{glibc_sysroot}%{_libdir}/libnss1-* +rm -f %{glibc_sysroot}%{_libdir}/libnss-*.so.1 # This statically linked binary is no longer necessary in a world where # the default Fedora install uses an initramfs, and further we have rpm-ostree @@ -2331,13 +2351,6 @@ mkdir -p %{glibc_sysroot}/var/{db,run}/nscd touch %{glibc_sysroot}/var/{db,run}/nscd/{passwd,group,hosts,services} touch %{glibc_sysroot}/var/run/nscd/{socket,nscd.pid} -# Move libpcprofile.so and libmemusage.so into the proper library directory. -# They can be moved without any real consequences because users would not use -# them directly. -mkdir -p %{glibc_sysroot}%{_libdir} -mv -f %{glibc_sysroot}/%{_lib}/lib{pcprofile,memusage}.so \ - %{glibc_sysroot}%{_libdir} - # Disallow linking against libc_malloc_debug. rm %{glibc_sysroot}%{_libdir}/libc_malloc_debug.so @@ -2363,7 +2376,14 @@ done # that have old linker scripts that reference this file. We ship this only # in compat-libpthread-nonshared sub-package. ############################################################################## -ar cr %{glibc_sysroot}%{_prefix}/%{_lib}/libpthread_nonshared.a +ar cr %{glibc_sysroot}%{_libdir}/libpthread_nonshared.a + +# Remove UsrMove symbolic links. +# These should not end in the packaged contents. +# They are part of the filesystem package. +for d in $usrmove_file_names ; do + rm "%{glibc_sysroot}/$d" +done ############################################################################### # Sysroot package creation. @@ -2571,12 +2591,12 @@ fi echo ====================TESTING END===================== PLTCMD='/^Relocation section .*\(\.rela\?\.plt\|\.rela\.IA_64\.pltoff\)/,/^$/p' echo ====================PLT RELOCS LD.SO================ -readelf -Wr %{glibc_sysroot}/%{_lib}/ld-*.so | sed -n -e "$PLTCMD" +readelf -Wr %{glibc_sysroot}%{_libdir}/ld-*.so | sed -n -e "$PLTCMD" echo ====================PLT RELOCS LIBC.SO============== -readelf -Wr %{glibc_sysroot}/%{_lib}/libc-*.so | sed -n -e "$PLTCMD" +readelf -Wr %{glibc_sysroot}%{_libdir}/libc-*.so | sed -n -e "$PLTCMD" echo ====================PLT RELOCS END================== -run_ldso="%{glibc_sysroot}/%{glibc_ldso} --library-path %{glibc_sysroot}/%{_lib}" +run_ldso="%{glibc_sysroot}/%{_prefix}%{glibc_ldso} --library-path %{glibc_sysroot}/%{_libdir}" # Show the auxiliary vector as seen by the new library # (even if we do not perform the valgrind test). @@ -2802,30 +2822,30 @@ update_gconv_modules_cache () %systemd_postun_with_restart nscd.service %files -f glibc.filelist -/sbin/ldconfig +%{_sbindir}/ldconfig %{_sbindir}/iconvconfig %{_libexecdir}/getconf -%{glibc_ldso} -/%{_lib}/libBrokenLocale.so.1 -/%{_lib}/libSegFault.so -/%{_lib}/libanl.so.1 -/%{_lib}/libc.so.6 -/%{_lib}/libc_malloc_debug.so.0 -/%{_lib}/libdl.so.2 -/%{_lib}/libm.so.6 -/%{_lib}/libnss_compat.so.2 -/%{_lib}/libnss_dns.so.2 -/%{_lib}/libnss_files.so.2 -/%{_lib}/libpthread.so.0 -/%{_lib}/libresolv.so.2 -/%{_lib}/librt.so.1 -/%{_lib}/libthread_db.so.1 -/%{_lib}/libutil.so.1 -%{_libdir}/audit +%{_prefix}%{glibc_ldso} +%{_libdir}/libBrokenLocale.so.1 +%{_libdir}/libSegFault.so +%{_libdir}/libanl.so.1 +%{_libdir}/libc.so.6 +%{_libdir}/libc_malloc_debug.so.0 +%{_libdir}/libdl.so.2 +%{_libdir}/libm.so.6 %{_libdir}/libmemusage.so +%{_libdir}/libnss_compat.so.2 +%{_libdir}/libnss_dns.so.2 +%{_libdir}/libnss_files.so.2 %{_libdir}/libpcprofile.so +%{_libdir}/libpthread.so.0 +%{_libdir}/libresolv.so.2 +%{_libdir}/librt.so.1 +%{_libdir}/libthread_db.so.1 +%{_libdir}/libutil.so.1 +%{_libdir}/audit %if %{glibc_has_libmvec} -/%{_lib}/libmvec.so.1 +%{_libdir}/libmvec.so.1 %endif %if %{buildpower10} %{_libdir}/glibc-hwcaps @@ -2951,8 +2971,8 @@ update_gconv_modules_cache () %config(noreplace) /etc/nscd.conf %dir %attr(0755,root,root) /var/run/nscd %dir %attr(0755,root,root) /var/db/nscd -/lib/systemd/system/nscd.service -/lib/systemd/system/nscd.socket +%{_prefix}/lib/systemd/system/nscd.service +%{_prefix}/lib/systemd/system/nscd.socket %{_tmpfilesdir}/nscd.conf %attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/nscd.pid %attr(0666,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/socket @@ -2969,10 +2989,10 @@ update_gconv_modules_cache () %files -n nss_db %{_bindir}/makedb -/%{_lib}/libnss_db.so.2 +%{_libdir}/libnss_db.so.2 /var/db/Makefile %files -n nss_hesiod -/%{_lib}/libnss_hesiod.so.2 +%{_libdir}/libnss_hesiod.so.2 %doc hesiod/README.hesiod %files nss-devel %{_libdir}/libnss_compat.so @@ -2980,7 +3000,7 @@ update_gconv_modules_cache () %{_libdir}/libnss_hesiod.so %files -n libnsl -/%{_lib}/libnsl.so.1 +%{_libdir}/libnsl.so.1 %if %{with benchtests} %files benchtests @@ -2996,6 +3016,9 @@ update_gconv_modules_cache () %endif %changelog +* Mon Dec 9 2024 Florian Weimer - 2.34-146 +- Use UsrMove path destination in the RPM files (RHEL-65334) + * Thu Dec 5 2024 DJ Delorie - 2.34-145 - add GB18030-2022 charmap and tests (RHEL-56032)