From e494a59921456d854a070612dad3e7c1e83f30a1 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 8 Aug 2011 12:41:54 +0100 Subject: [PATCH] build: Set TMPDIR for local testing. This avoids conflicts with the globally installed libguestfs appliance, or lets us build in multiple local directories at the same time without conflicts. Cherry picked from commit f7d18c84dde596699ffc5100fec2cf7b0d582450 and backported to stable-1.8. --- .gitignore | 1 + capitests/Makefile.am | 1 + cat/Makefile.am | 3 ++- caution/Makefile.am | 3 ++- df/Makefile.am | 3 ++- fuse/test-fuse.sh | 4 ++++ haskell/Makefile.am | 1 + images/Makefile.am | 16 ++++++++++------ java/Makefile.am | 3 ++- ocaml/Makefile.am | 1 + perl/Makefile.am | 3 ++- python/Makefile.am | 3 ++- regressions/Makefile.am | 1 + ruby/Makefile.am | 3 ++- tools/Makefile.am | 1 + 15 files changed, 34 insertions(+), 13 deletions(-) diff --git a/.gitignore b/.gitignore index 8e8504e..879751e 100644 --- a/.gitignore +++ b/.gitignore @@ -304,3 +304,4 @@ tools/virt-*.pl /build-aux /gnulib .git-module-status +.guestfs-* diff --git a/capitests/Makefile.am b/capitests/Makefile.am index 542c4fb..61f24cb 100644 --- a/capitests/Makefile.am +++ b/capitests/Makefile.am @@ -51,6 +51,7 @@ TESTS_ENVIRONMENT = \ SKIP_TEST_COMMAND=$(shell ldd test-command | grep -sq 'not a dynamic executable' || echo 1) \ SKIP_TEST_COMMAND_LINES=$(shell ldd test-command | grep -sq 'not a dynamic executable' || echo 1) \ LIBGUESTFS_PATH=$(top_builddir)/appliance \ + TMPDIR=$(top_builddir) \ $(VG) #SKIP_TEST_CHECKSUM_8=$(shell if test `find ../initramfs -name squashfs.ko | wc -l` -eq 0; then echo 1; fi) diff --git a/cat/Makefile.am b/cat/Makefile.am index 026a561..a7a89e5 100644 --- a/cat/Makefile.am +++ b/cat/Makefile.am @@ -126,6 +126,7 @@ random_val := $(shell awk 'BEGIN{srand(); print 1+int(255*rand())}' < /dev/null) TESTS_ENVIRONMENT = \ MALLOC_PERTURB_=$(random_val) \ LD_LIBRARY_PATH=$(top_builddir)/src/.libs \ - LIBGUESTFS_PATH=$(top_builddir)/appliance + LIBGUESTFS_PATH=$(top_builddir)/appliance \ + TMPDIR=$(top_builddir) TESTS = test-virt-cat.sh test-virt-filesystems.sh test-virt-ls.sh diff --git a/caution/Makefile.am b/caution/Makefile.am index f87884f..5b31d80 100644 --- a/caution/Makefile.am +++ b/caution/Makefile.am @@ -30,7 +30,8 @@ random_val := $(shell awk 'BEGIN{srand(); print 1+int(255*rand())}' < /dev/null) TESTS_ENVIRONMENT = \ MALLOC_PERTURB_=$(random_val) \ LD_LIBRARY_PATH=$(top_builddir)/src/.libs \ - LIBGUESTFS_PATH=$(top_builddir)/appliance + LIBGUESTFS_PATH=$(top_builddir)/appliance \ + TMPDIR=$(top_builddir) EXTRA_DIST = \ $(TESTS) diff --git a/df/Makefile.am b/df/Makefile.am index 2f0eff0..d3b8e65 100644 --- a/df/Makefile.am +++ b/df/Makefile.am @@ -76,6 +76,7 @@ random_val := $(shell awk 'BEGIN{srand(); print 1+int(255*rand())}' < /dev/null) TESTS_ENVIRONMENT = \ MALLOC_PERTURB_=$(random_val) \ LD_LIBRARY_PATH=$(top_builddir)/src/.libs \ - LIBGUESTFS_PATH=$(top_builddir)/appliance + LIBGUESTFS_PATH=$(top_builddir)/appliance \ + TMPDIR=$(top_builddir) TESTS = test-virt-df.sh diff --git a/fuse/test-fuse.sh b/fuse/test-fuse.sh index dfc944d..344ab58 100755 --- a/fuse/test-fuse.sh +++ b/fuse/test-fuse.sh @@ -31,6 +31,10 @@ nr_stages=$(grep "^stage " $0 | wc -l) # and move to that directory for the initial phase of the script. top_builddir=$(cd "$top_builddir" > /dev/null; pwd) +# Set TMPDIR so the appliance doesn't conflict with globally +# installed libguestfs. +export TMPDIR=$top_builddir + # Set libguestfs up for running locally. export LIBGUESTFS_PATH="$top_builddir/appliance" diff --git a/haskell/Makefile.am b/haskell/Makefile.am index 4406712..d8a06f3 100644 --- a/haskell/Makefile.am +++ b/haskell/Makefile.am @@ -30,6 +30,7 @@ if HAVE_HASKELL TESTS_ENVIRONMENT = \ LD_LIBRARY_PATH=$(top_builddir)/src/.libs \ LIBGUESTFS_PATH=$(top_builddir)/appliance \ + TMPDIR=$(top_builddir) \ $(VG) TESTS = run-bindtests Guestfs005Load Guestfs010Basic diff --git a/images/Makefile.am b/images/Makefile.am index 40bf90f..daf3ea7 100644 --- a/images/Makefile.am +++ b/images/Makefile.am @@ -171,6 +171,7 @@ $(builddir)/test-grep.txt.gz: test-grep.txt fedora.img: guest-aux/make-fedora-img.sh guest-aux/fedora-name.db LIBGUESTFS_PATH=../appliance \ LD_LIBRARY_PATH=../src/.libs \ + TMPDIR=$(top_builddir) \ bash $< guest-aux/fedora-name.db: guest-aux/fedora-name.db.txt @@ -178,21 +179,24 @@ guest-aux/fedora-name.db: guest-aux/fedora-name.db.txt # Make a (dummy) Debian image. debian.img: guest-aux/make-debian-img.sh - LIBGUESTFS_PATH=../appliance \ - LD_LIBRARY_PATH=../src/.libs \ + LIBGUESTFS_PATH=$(top_builddir)/appliance \ + LD_LIBRARY_PATH=$(top_builddir)/src/.libs \ + TMPDIR=$(top_builddir) \ bash $< # Make a (dummy) Ubuntu image. ubuntu.img: guest-aux/make-ubuntu-img.sh - LIBGUESTFS_PATH=../appliance \ - LD_LIBRARY_PATH=../src/.libs \ + LIBGUESTFS_PATH=$(top_builddir)/appliance \ + LD_LIBRARY_PATH=$(top_builddir)/src/.libs \ + TMPDIR=$(top_builddir) \ bash $< # Make a (dummy) Windows image. windows.img: guest-aux/make-windows-img.sh \ guest-aux/windows-software guest-aux/windows-system - LIBGUESTFS_PATH=../appliance \ - LD_LIBRARY_PATH=../src/.libs \ + LIBGUESTFS_PATH=$(top_builddir)/appliance \ + LD_LIBRARY_PATH=$(top_builddir)/src/.libs \ + TMPDIR=$(top_builddir) \ bash $< # Since users might not have the tools needed to create this, we diff --git a/java/Makefile.am b/java/Makefile.am index 3a64b0e..0755cbf 100644 --- a/java/Makefile.am +++ b/java/Makefile.am @@ -102,7 +102,8 @@ TESTS = run-bindtests run-java-tests TESTS_ENVIRONMENT = \ JAVA=$(JAVA) \ CLASSPATH=.:t:libguestfs-$(VERSION).jar \ - LIBGUESTFS_PATH=$(top_builddir)/appliance + LIBGUESTFS_PATH=$(top_builddir)/appliance \ + TMPDIR=$(top_builddir) noinst_DATA = Bindtests.class $(java_tests:.java=.class) diff --git a/ocaml/Makefile.am b/ocaml/Makefile.am index 7008166..3d075e9 100644 --- a/ocaml/Makefile.am +++ b/ocaml/Makefile.am @@ -59,6 +59,7 @@ guestfs_c_actions.o: guestfs_c_actions.c TESTS_ENVIRONMENT = \ LD_LIBRARY_PATH=$(top_builddir)/src/.libs \ LIBGUESTFS_PATH=$(top_builddir)/appliance \ + TMPDIR=$(top_builddir) \ $(VG) TESTS = run-bindtests \ diff --git a/perl/Makefile.am b/perl/Makefile.am index c192290..d8167d1 100644 --- a/perl/Makefile.am +++ b/perl/Makefile.am @@ -54,7 +54,8 @@ $(TESTS): src_deps all appliance test_images TESTS_ENVIRONMENT = \ LD_LIBRARY_PATH=$(top_builddir)/src/.libs \ - LIBGUESTFS_PATH=$(top_builddir)/appliance + LIBGUESTFS_PATH=$(top_builddir)/appliance \ + TMPDIR=$(top_builddir) INSTALLDIRS = site diff --git a/python/Makefile.am b/python/Makefile.am index 1fde976..274b22e 100644 --- a/python/Makefile.am +++ b/python/Makefile.am @@ -46,7 +46,8 @@ libguestfsmod_la_LIBADD = $(top_builddir)/src/libguestfs.la TESTS_ENVIRONMENT = \ LIBGUESTFS_PATH=$(top_builddir)/appliance \ - PYTHONPATH=$(builddir):$(builddir)/.libs + PYTHONPATH=$(builddir):$(builddir)/.libs \ + TMPDIR=$(top_builddir) TESTS = run-bindtests run-python-tests diff --git a/regressions/Makefile.am b/regressions/Makefile.am index ed6da01..1ce2b71 100644 --- a/regressions/Makefile.am +++ b/regressions/Makefile.am @@ -70,6 +70,7 @@ TESTS_ENVIRONMENT = \ MALLOC_PERTURB_=$(random_val) \ LD_LIBRARY_PATH=$(top_builddir)/src/.libs \ LIBGUESTFS_PATH=$(top_builddir)/appliance \ + TMPDIR=$(top_builddir) \ PERL5LIB=$(top_builddir)/perl/blib/lib:$(top_builddir)/perl/blib/arch \ NOEXEC_CHECK="$(top_builddir)/src/.libs/libguestfs.so $(top_builddir)/daemon/guestfsd" diff --git a/ruby/Makefile.am b/ruby/Makefile.am index cd2d4ed..2aafa35 100644 --- a/ruby/Makefile.am +++ b/ruby/Makefile.am @@ -46,7 +46,8 @@ TESTS = run-bindtests run-ruby-tests TESTS_ENVIRONMENT = \ LD_LIBRARY_PATH=$(top_builddir)/src/.libs \ - LIBGUESTFS_PATH=$(top_builddir)/appliance + LIBGUESTFS_PATH=$(top_builddir)/appliance \ + TMPDIR=$(top_builddir) all: $(generator_built) rake build diff --git a/tools/Makefile.am b/tools/Makefile.am index 1803049..8c858a1 100644 --- a/tools/Makefile.am +++ b/tools/Makefile.am @@ -64,6 +64,7 @@ TESTS_ENVIRONMENT = \ MALLOC_PERTURB_=$(random_val) \ LD_LIBRARY_PATH=$(top_builddir)/src/.libs \ LIBGUESTFS_PATH=$(top_builddir)/appliance \ + TMPDIR=$(top_builddir) \ PERL5LIB=$(top_builddir)/perl/blib/lib:$(top_builddir)/perl/blib/arch TESTS = test-virt-list-filesystems.sh \ -- 1.8.3.1