Reduce spurious rebuilds while running tests (RHEL-95246)

Resolves: RHEL-95246
This commit is contained in:
Florian Weimer 2025-07-24 13:25:18 +02:00
parent e8f76ede2b
commit cac5195e9e
3 changed files with 130 additions and 1 deletions

26
glibc-RHEL-95246-1.patch Normal file
View File

@ -0,0 +1,26 @@
commit 062257c5d929e3c9a83a26624a09e57936ac6b5e
Author: Joseph Myers <josmyers@redhat.com>
Date: Thu Dec 5 21:40:57 2024 +0000
Fix typo in elf/Makefile:postclean-generated
The postclean-generated setting in elf/Makefile lists
$(objpfx)/dso-sort-tests-2.generated-makefile twice and
$(objpfx)/dso-sort-tests-1.generated-makefile not at all, which looks
like a typo; fix it to list each once.
Tested for x86_64.
diff --git a/elf/Makefile b/elf/Makefile
index 51d52b57876fc5ba..3af1ad44fb789c4c 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -1229,7 +1229,7 @@ $(objpfx)$(1).generated-makefile: $(1)
endef
endif
-postclean-generated += $(objpfx)/dso-sort-tests-2.generated-makefile \
+postclean-generated += $(objpfx)/dso-sort-tests-1.generated-makefile \
$(objpfx)/dso-sort-tests-2.generated-makefile
# Generate from each testcase description file

98
glibc-RHEL-95246-2.patch Normal file
View File

@ -0,0 +1,98 @@
commit 2fca4b624bd3ceb8c756b4145c7e96aa032b2b98
Author: Florian Weimer <fweimer@redhat.com>
Date: Wed Jun 4 17:44:19 2025 +0200
Makefile: Avoid $(objpfx)/ in makefiles
If paths with both $(objpfx)/ and $(objpfx) (which already includes
a trailing slash) appear during the build, this can trigger unexpected
rebuilds, or incorrect concurrent rebuilds.
Conflicts:
elf/Makefile
(additional generated files upstream)
diff --git a/elf/Makefile b/elf/Makefile
index 3af1ad44fb789c4c..0d34de3b2c99e5bd 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -1229,8 +1229,8 @@ $(objpfx)$(1).generated-makefile: $(1)
endef
endif
-postclean-generated += $(objpfx)/dso-sort-tests-1.generated-makefile \
- $(objpfx)/dso-sort-tests-2.generated-makefile
+postclean-generated += $(objpfx)dso-sort-tests-1.generated-makefile \
+ $(objpfx)dso-sort-tests-2.generated-makefile
# Generate from each testcase description file
$(eval $(call include_dsosort_tests,dso-sort-tests-1.def))
@@ -2823,7 +2823,7 @@ $(objpfx)tst-rtld-list-diagnostics.out: tst-rtld-list-diagnostics.py \
> $@; \
$(evaluate-test)
-$(objpfx)tst-rtld-run-static.out: $(objpfx)/ldconfig
+$(objpfx)tst-rtld-run-static.out: $(objpfx)ldconfig
$(objpfx)tst-dl_find_object.out: \
$(objpfx)tst-dl_find_object-mod1.so $(objpfx)tst-dl_find_object-mod2.so
diff --git a/nss/Makefile b/nss/Makefile
index 9331b3308c36c45b..37bec502fcff2f72 100644
--- a/nss/Makefile
+++ b/nss/Makefile
@@ -475,39 +475,39 @@ libof-nss_test1 = extramodules
libof-nss_test2 = extramodules
libof-nss_test_errno = extramodules
libof-nss_test_gai_hv2_canonname = extramodules
-$(objpfx)/libnss_test1.so: $(objpfx)nss_test1.os $(link-libc-deps)
+$(objpfx)libnss_test1.so: $(objpfx)nss_test1.os $(link-libc-deps)
$(build-module)
-$(objpfx)/libnss_test2.so: $(objpfx)nss_test2.os $(link-libc-deps)
+$(objpfx)libnss_test2.so: $(objpfx)nss_test2.os $(link-libc-deps)
$(build-module)
-$(objpfx)/libnss_test_errno.so: $(objpfx)nss_test_errno.os $(link-libc-deps)
+$(objpfx)libnss_test_errno.so: $(objpfx)nss_test_errno.os $(link-libc-deps)
$(build-module)
-$(objpfx)/libnss_test_gai_hv2_canonname.so: \
+$(objpfx)libnss_test_gai_hv2_canonname.so: \
$(objpfx)nss_test_gai_hv2_canonname.os $(link-libc-deps)
$(build-module)
$(objpfx)nss_test2.os : nss_test1.c
# Use the nss_files suffix for these objects as well.
-$(objpfx)/libnss_test1.so$(libnss_files.so-version): $(objpfx)/libnss_test1.so
+$(objpfx)libnss_test1.so$(libnss_files.so-version): $(objpfx)libnss_test1.so
$(make-link)
-$(objpfx)/libnss_test2.so$(libnss_files.so-version): $(objpfx)/libnss_test2.so
+$(objpfx)libnss_test2.so$(libnss_files.so-version): $(objpfx)libnss_test2.so
$(make-link)
-$(objpfx)/libnss_test_errno.so$(libnss_files.so-version): \
- $(objpfx)/libnss_test_errno.so
+$(objpfx)libnss_test_errno.so$(libnss_files.so-version): \
+ $(objpfx)libnss_test_errno.so
$(make-link)
-$(objpfx)/libnss_test_gai_hv2_canonname.so$(libnss_files.so-version): \
- $(objpfx)/libnss_test_gai_hv2_canonname.so
+$(objpfx)libnss_test_gai_hv2_canonname.so$(libnss_files.so-version): \
+ $(objpfx)libnss_test_gai_hv2_canonname.so
$(make-link)
$(patsubst %,$(objpfx)%.out,$(tests) $(tests-container)) : \
- $(objpfx)/libnss_test1.so$(libnss_files.so-version) \
- $(objpfx)/libnss_test2.so$(libnss_files.so-version) \
- $(objpfx)/libnss_test_errno.so$(libnss_files.so-version) \
- $(objpfx)/libnss_test_gai_hv2_canonname.so$(libnss_files.so-version)
+ $(objpfx)libnss_test1.so$(libnss_files.so-version) \
+ $(objpfx)libnss_test2.so$(libnss_files.so-version) \
+ $(objpfx)libnss_test_errno.so$(libnss_files.so-version) \
+ $(objpfx)libnss_test_gai_hv2_canonname.so$(libnss_files.so-version)
ifeq (yes,$(have-thread-library))
$(objpfx)tst-cancel-getpwuid_r: $(shared-thread-library)
endif
-$(objpfx)tst-nss-files-alias-leak.out: $(objpfx)/libnss_files.so
-$(objpfx)tst-nss-files-alias-truncated.out: $(objpfx)/libnss_files.so
+$(objpfx)tst-nss-files-alias-leak.out: $(objpfx)libnss_files.so
+$(objpfx)tst-nss-files-alias-truncated.out: $(objpfx)libnss_files.so
tst-nss-gai-hv2-canonname-ENV = \
MALLOC_TRACE=$(objpfx)tst-nss-gai-hv2-canonname.mtrace \

View File

@ -145,7 +145,7 @@ Version: %{glibcversion}
# - It allows using the Release number without the %%dist tag in the dependency
# generator to make the generated requires interchangeable between Rawhide
# and ELN (.elnYY < .fcXX).
%global baserelease 44
%global baserelease 45
Release: %{baserelease}%{?dist}
# Licenses:
@ -577,6 +577,8 @@ Patch259: glibc-RHEL-82285.patch
Patch260: glibc-RHEL-101754-1.patch
Patch261: glibc-RHEL-101754-2.patch
Patch262: glibc-RHEL-104151.patch
Patch263: glibc-RHEL-95246-1.patch
Patch264: glibc-RHEL-95246-2.patch
##############################################################################
# Continued list of core "glibc" package information:
@ -2574,6 +2576,9 @@ update_gconv_modules_cache ()
%endif
%changelog
* Thu Jul 24 2025 Florian Weimer <fweimer@redhat.com> - 2.39-45
- Reduce spurious rebuilds while running tests (RHEL-95246)
* Wed Jul 23 2025 Florian Weimer <fweimer@redhat.com> - 2.39-44
- iconv: Do not create executable output files (RHEL-104151)