diff options
author | Jim Meyering <meyering@redhat.com> | 2009-12-05 22:16:32 +0100 |
---|---|---|
committer | Jim Meyering <meyering@redhat.com> | 2009-12-07 18:54:26 +0100 |
commit | ae034822c535fa5168069a75fb5e1c58f93a7834 (patch) | |
tree | c56cda5ac3386ddacc6090fc32d69399e31d79e5 | |
parent | d8cadda3b9b656870d54fe89dc94e72ecd496013 (diff) | |
download | coreutils-ae034822c535fa5168069a75fb5e1c58f93a7834.tar.xz |
build: distcheck: do not leave a $TMPDIR/coreutils directory behind
* dist-check.mk (tmpdir): Rename from TMPDIR. Use ./tests/torture
unconditionally, rather than $TMPDIR-with-default-to-/tmp.
Otherwise, running "make distcheck" could leave an empty /tmp/coreutils
directory behind.
(tp): Simplify, now that it's always in the build-dir.
(taint-distcheck): Set HOME earlier, in case $(MAKE) misbehaves.
(my-instcheck, coreutils-path-check): Add diagnostics, so it's easier
to diagnose when each runs.
(coreutils-path-check): Run configure with --quiet, to reduce output.
Inspired by Ralf Wildenhues' report of /tmp/coreutils being left behind.
-rw-r--r-- | dist-check.mk | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/dist-check.mk b/dist-check.mk index 3a6157245..0299f5178 100644 --- a/dist-check.mk +++ b/dist-check.mk @@ -4,14 +4,15 @@ bin=bin-$$$$ write_loser = printf '\#!%s\necho $$0: bad path 1>&2; exit 1\n' '$(SHELL)' -TMPDIR ?= /tmp -t=$(TMPDIR)/$(PACKAGE)/test +tmpdir = $(abs_top_builddir)/tests/torture + +t=$(tmpdir)/$(PACKAGE)/test pfx=$(t)/i # More than once, tainted build and source directory names would # have caused at least one "make check" test to apply "chmod 700" # to all directories under $HOME. Make sure it doesn't happen again. -tp := $(shell echo "$(TMPDIR)/$(PACKAGE)-$$$$") +tp = $(tmpdir)/taint t_prefix = $(tp)/a t_taint = '$(t_prefix) b' fake_home = $(tp)/home @@ -30,10 +31,11 @@ taint-distcheck: $(DIST_ARCHIVES) touch $(fake_home)/f mkdir -p $(fake_home)/d/e ls -lR $(fake_home) $(t_prefix) > $(tp)/.ls-before + HOME=$(fake_home); export HOME; \ cd $(t_taint)/$(distdir) \ && ./configure \ && $(MAKE) \ - && HOME=$(fake_home) $(MAKE) check \ + && $(MAKE) check \ && ls -lR $(fake_home) $(t_prefix) > $(tp)/.ls-after \ && diff $(tp)/.ls-before $(tp)/.ls-after \ && test -d $(t_prefix) @@ -52,6 +54,7 @@ endef # Install, then verify that all binaries and man pages are in place. # Note that neither the binary, ginstall, nor the ].1 man page is installed. define my-instcheck + echo running my-instcheck; \ $(MAKE) prefix=$(pfx) install \ && test ! -f $(pfx)/bin/ginstall \ && { fail=0; \ @@ -70,6 +73,7 @@ endef define coreutils-path-check { \ + echo running coreutils-path-check; \ if test -f $(srcdir)/src/true.c; then \ fail=1; \ mkdir $(bin) \ @@ -117,7 +121,7 @@ my-distcheck: $(DIST_ARCHIVES) $(local-check) mkdir -p $(t) GZIP=$(GZIP_ENV) $(AMTAR) -C $(t) -zxf $(distdir).tar.gz cd $(t)/$(distdir) \ - && ./configure --enable-gcc-warnings --disable-nls \ + && ./configure --quiet --enable-gcc-warnings --disable-nls \ && $(MAKE) AM_MAKEFLAGS='$(null_AM_MAKEFLAGS)' \ && $(MAKE) dvi \ && $(install-transform-check) \ @@ -128,6 +132,7 @@ my-distcheck: $(DIST_ARCHIVES) $(local-check) && $(AMTAR) -zxf - ) < $(distdir).tar.gz diff -ur $(t)/$(distdir).old $(t)/$(distdir) -rm -rf $(t) + rmdir $(tmpdir)/$(PACKAGE) $(tmpdir) @echo "========================"; \ echo "$(distdir).tar.gz is ready for distribution"; \ echo "========================" |