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.
This commit is contained in:
Richard W.M. Jones
2011-08-08 12:41:54 +01:00
parent 54ea124b16
commit f7d18c84dd
18 changed files with 44 additions and 17 deletions

1
.gitignore vendored
View File

@@ -338,3 +338,4 @@ tools/virt-*.pl
/build-aux
/gnulib
.git-module-status
.guestfs-*

View File

@@ -57,6 +57,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)

View File

@@ -133,6 +133,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

View File

@@ -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)

View File

@@ -79,6 +79,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

View File

@@ -71,6 +71,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-edit.sh

View File

@@ -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"

View File

@@ -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

View File

@@ -173,8 +173,9 @@ $(builddir)/test-grep.txt.gz: test-grep.txt
fedora.img: guest-aux/make-fedora-img.sh \
guest-aux/fedora-name.db \
guest-aux/fedora-packages.db
LIBGUESTFS_PATH=../appliance \
LD_LIBRARY_PATH=../src/.libs \
LIBGUESTFS_PATH=$(top_builddir)/appliance \
LD_LIBRARY_PATH=$(top_builddir)/src/.libs \
TMPDIR=$(top_builddir) \
bash $<
guest-aux/fedora-name.db: guest-aux/fedora-name.db.txt
@@ -189,21 +190,24 @@ guest-aux/fedora-packages.db: guest-aux/fedora-packages.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

View File

@@ -106,7 +106,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)

View File

@@ -70,6 +70,7 @@ endif
TESTS_ENVIRONMENT = \
LD_LIBRARY_PATH=$(top_builddir)/src/.libs \
LIBGUESTFS_PATH=$(top_builddir)/appliance \
TMPDIR=$(top_builddir) \
$(VG)
TESTS = run-bindtests \

View File

@@ -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

View File

@@ -47,7 +47,8 @@ libguestfsmod_la_LDFLAGS = -avoid-version
TESTS_ENVIRONMENT = \
LIBGUESTFS_PATH=$(top_builddir)/appliance \
PYTHONPATH=$(builddir):$(builddir)/.libs
PYTHONPATH=$(builddir):$(builddir)/.libs \
TMPDIR=$(top_builddir)
TESTS = run-bindtests run-python-tests

View File

@@ -72,6 +72,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"

View File

@@ -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

View File

@@ -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

4
run
View File

@@ -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"

View File

@@ -61,6 +61,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 \