This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH] timezone: fix parallel check failures
- From: Mike Frysinger <vapier at gentoo dot org>
- To: libc-alpha at sourceware dot org
- Date: Fri, 18 Sep 2015 14:01:29 -0400
- Subject: [PATCH] timezone: fix parallel check failures
- Authentication-results: sourceware.org; auth=none
The XT testdata install rules expect the testdata dir to already exist in
the build tree, but it doesn't actually create it. Instead, it relies on
the build-testdata define happening to be executed before it (which runs
zic which creates the dir). When we run in parallel though, it's easy to
hit a failure:
$ cd timezone
$ rm -rf $objdir/timezone/testdata
$ make check -j
...
cp testdata/XT1 .../timezone/testdata/XT1
cp: cannot create regular file '.../timezone/testdata/XT1': No such file or directory
Makefile:116: recipe for target '.../timezone/testdata/XT1' failed
make: *** [.../timezone/testdata/XT1] Error 1
make: *** Waiting for unfinished jobs....
Add an explicit rule to create the dir to avoid all that. Use an
order-only rule to avoid needlessly checking timestamps here.
2015-09-18 Mike Frysinger <vapier@gentoo.org>
* timezone/Makefile ($(testdata)): New rule.
($(testdata)/XT%): Depend on $(testdata) (order only).
---
timezone/Makefile | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/timezone/Makefile b/timezone/Makefile
index 81d4a3e..d1d9d4b 100644
--- a/timezone/Makefile
+++ b/timezone/Makefile
@@ -112,7 +112,9 @@ $(testdata)/America/Sao_Paulo: southamerica $(zic-deps)
$(testdata)/Asia/Tokyo: asia $(zic-deps)
$(build-testdata)
-$(testdata)/XT%: testdata/XT%
+$(testdata):
+ mkdir -p $@
+$(testdata)/XT%: testdata/XT% | $(testdata)
cp $< $@
$(objpfx)tzselect: tzselect.ksh $(common-objpfx)config.make
--
2.5.1