From 1f980d1b103bae48b4c27164a7588466ba9ad5cb 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.10 branch. --- .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 + resize/Makefile.am | 3 ++- ruby/Makefile.am | 3 ++- run | 4 ++++ tools/Makefile.am | 1 + 17 files changed, 40 insertions(+), 14 deletions(-) diff --git a/.gitignore b/.gitignore index 9cafbc7..762938d 100644 --- a/.gitignore +++ b/.gitignore @@ -327,3 +327,4 @@ tools/virt-*.pl /build-aux /gnulib .git-module-status +.guestfs-* diff --git a/capitests/Makefile.am b/capitests/Makefile.am index 487a33f..d84377a 100644 --- a/capitests/Makefile.am +++ b/capitests/Makefile.am @@ -55,6 +55,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 a049a61..b044c23 100644 --- a/cat/Makefile.am +++ b/cat/Makefile.am @@ -130,6 +130,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 69c6140..c6814d8 100644 --- a/df/Makefile.am +++ b/df/Makefile.am @@ -78,6 +78,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 0a429f7..cfa277a 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 e4a910a..8d0755d 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 @@ -180,21 +181,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 c07b9c5..6d7ed09 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 76b92fd..e999acb 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/resize/Makefile.am b/resize/Makefile.am index 8418cb4..fd7f71a 100644 --- a/resize/Makefile.am +++ b/resize/Makefile.am @@ -83,7 +83,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) TESTS = test-virt-resize.sh diff --git a/ruby/Makefile.am b/ruby/Makefile.am index 7ef27eb..a2e962d 100644 --- a/ruby/Makefile.am +++ b/ruby/Makefile.am @@ -48,7 +48,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/run b/run index 7e18edc..2945315 100755 --- a/run +++ b/run @@ -33,6 +33,10 @@ run=$(readlink -f "$0") b=$(dirname "$run") +# Set TMPDIR so the appliance doesn't conflict with globally +# installed libguestfs. +export TMPDIR=$b + # Set local environment relative to this script. export LD_LIBRARY_PATH="$b/src/.libs" export LIBGUESTFS_PATH="$b/appliance" diff --git a/tools/Makefile.am b/tools/Makefile.am index 6441333..0029159 100644 --- a/tools/Makefile.am +++ b/tools/Makefile.am @@ -62,6 +62,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