diff options
author | Jim Meyering <meyering@redhat.com> | 2009-12-13 19:35:43 +0100 |
---|---|---|
committer | Jim Meyering <meyering@redhat.com> | 2009-12-13 19:37:35 +0100 |
commit | 2c8eb579ac40050c6c9e442fc9ee0990f05c604b (patch) | |
tree | 6f200dbb8b030f92396756e191e144fe7fac91d9 /dist-check.mk | |
parent | 4bdb32a0e6eb050fa1c2466a17e29e9bfd625554 (diff) | |
download | parted-2c8eb579ac40050c6c9e442fc9ee0990f05c604b.tar.gz |
maint: sync dist-check.mk from coreutils
* dist-check.mk: Sync from coreutils.
* gnulib: Update to latest.
Diffstat (limited to 'dist-check.mk')
-rw-r--r-- | dist-check.mk | 35 |
1 files changed, 28 insertions, 7 deletions
diff --git a/dist-check.mk b/dist-check.mk index c8ae32c..dc2093b 100644 --- a/dist-check.mk +++ b/dist-check.mk @@ -9,7 +9,10 @@ tmpdir = $(abs_top_builddir)/tests/torture t=$(tmpdir)/$(PACKAGE)/test pfx=$(t)/i -built_programs = $$(cd src && MAKEFLAGS= $(MAKE) -s built_programs.list) +built_programs = \ + $$(echo 'spy:;@echo $$(PROGRAMS)' \ + | MAKEFLAGS= $(MAKE) -s -C src -f Makefile -f - spy \ + | fmt -1 | sed 's,$(EXEEXT)$$,,' | sort -u) # More than once, tainted build and source directory names would # have caused at least one "make check" test to apply "chmod 700" @@ -19,6 +22,23 @@ t_prefix = $(tp)/a t_taint = '$(t_prefix) b' fake_home = $(tp)/home +# When extracting from a distribution tarball, extract using the fastest +# method possible. With dist-xz, that means using the *.xz file. +ifneq ('', $(filter *.xz, $(DIST_ARCHIVES))) + tar_decompress_opt_ = J + suffix_ = xz +else + ifneq ('', $(filter *.gz, $(DIST_ARCHIVES))) + tar_decompress_opt_ = z + suffix_ = gz + else + tar_decompress_opt_ = j + suffix_ = bz2 + endif +endif +amtar_extract_ = $(AMTAR) -$(tar_decompress_opt_)xf +preferred_tarball_ = $(distdir).tar.$(suffix_) + # Ensure that tests run from tainted build and src dir names work, # and don't affect anything in $HOME. Create witness files in $HOME, # record their attributes, and build/test. Then ensure that the @@ -31,7 +51,7 @@ taint-distcheck: $(DIST_ARCHIVES) test -d $(t_taint) && chmod -R 700 $(t_taint) || : -rm -rf $(t_taint) $(fake_home) mkdir -p $(t_prefix) $(t_taint) $(fake_home) - GZIP=$(GZIP_ENV) $(AMTAR) -C $(t_taint) -zxf $(distdir).tar.gz + $(amtar_extract_) $(preferred_tarball_) -C $(t_taint) mkfifo $(fake_home)/fifo touch $(fake_home)/f mkdir -p $(fake_home)/d/e @@ -57,7 +77,7 @@ define install-transform-check 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. +# Note that neither the binary, ginstall, nor the [.1 man page is installed. define my-instcheck echo running my-instcheck; \ $(MAKE) prefix=$(pfx) install \ @@ -114,7 +134,7 @@ define coreutils-path-check endef # Use this to make sure we don't run these programs when building -# from a virgin tgz file, below. +# from a virgin compressed tarball file, below. null_AM_MAKEFLAGS ?= \ ACLOCAL=false \ AUTOCONF=false \ @@ -130,7 +150,7 @@ my-distcheck: $(DIST_ARCHIVES) $(local-check) $(MAKE) check -rm -rf $(t) mkdir -p $(t) - GZIP=$(GZIP_ENV) $(AMTAR) -C $(t) -zxf $(distdir).tar.gz + $(amtar_extract_) $(preferred_tarball_) -C $(t) cd $(t)/$(distdir) \ && ./configure --quiet --enable-gcc-warnings --disable-nls \ && $(MAKE) AM_MAKEFLAGS='$(null_AM_MAKEFLAGS)' \ @@ -140,10 +160,11 @@ my-distcheck: $(DIST_ARCHIVES) $(local-check) && $(coreutils-path-check) \ && $(MAKE) distclean (cd $(t) && mv $(distdir) $(distdir).old \ - && $(AMTAR) -zxf - ) < $(distdir).tar.gz + && $(amtar_extract_) - ) < $(preferred_tarball_) diff -ur $(t)/$(distdir).old $(t)/$(distdir) -rm -rf $(t) rmdir $(tmpdir)/$(PACKAGE) $(tmpdir) @echo "========================"; \ - echo "$(distdir).tar.gz is ready for distribution"; \ + echo "ready for distribution:"; \ + for i in $(DIST_ARCHIVES); do echo " $$i"; done; \ echo "========================" |