build: Set TMPDIR for local testing.
[libguestfs.git] / images / Makefile.am
index ff8d46f..68eb550 100644 (file)
@@ -1,5 +1,5 @@
 # libguestfs test images
-# Copyright (C) 2009 Red Hat Inc.
+# Copyright (C) 2009-2010 Red Hat Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -36,14 +36,32 @@ EXTRA_DIST = \
        lib-win32.dll \
        lib-win64.dll \
        lib-x86_64.so \
-       test-grep.txt
+       test-grep.txt \
+       guest-aux/make-debian-img.sh \
+       guest-aux/debian-packages \
+       guest-aux/make-fedora-img.sh \
+       guest-aux/fedora-name.db.txt \
+       guest-aux/fedora-name.db \
+       guest-aux/fedora-packages.db.txt \
+       guest-aux/fedora-packages.db \
+       guest-aux/make-ubuntu-img.sh \
+       guest-aux/make-windows-img.sh \
+       guest-aux/windows-software \
+       guest-aux/windows-software.reg \
+       guest-aux/windows-system \
+       guest-aux/windows-system.reg \
+       guest-aux/minimal-hive
 
 noinst_DATA = test.iso
 
+# This is 'check_DATA' because we don't need it until 'make check'
+# time and we need the tools we have built in order to make it.
+check_DATA = debian.img fedora.img ubuntu.img windows.img
+
 CLEANFILES = \
        test.iso test.sqsh \
        100kallzeroes 100kallnewlines 100kallspaces 100krandom 10klines \
-       initrd
+       initrd $(check_DATA)
 
 images_files_src = \
        $(srcdir)/helloworld.tar \
@@ -73,6 +91,8 @@ images_files_build = \
        $(builddir)/100kallspaces \
        $(builddir)/100krandom \
        $(builddir)/10klines \
+       $(builddir)/abssymlink \
+       $(builddir)/hello.b64 \
        $(builddir)/initrd \
        $(builddir)/initrd-x86_64.img \
        $(builddir)/initrd-x86_64.img.gz \
@@ -83,7 +103,7 @@ images_files = $(images_files_src) $(images_files_build)
 test.iso: $(images_files)
        rm -f $@ $@-t
        mkdir -p directory
-       $(MKISOFS) -J -r -graft-points \
+       $(GENISOIMAGE) -J -r -graft-points \
          -o $@-t \
          $(images_files) /directory=directory
        rmdir directory
@@ -118,6 +138,12 @@ $(builddir)/10klines:
        done > $@-t
        mv $@-t $@
 
+$(builddir)/abssymlink:
+       ln -sf /10klines $@
+
+$(builddir)/hello.b64:
+       echo "hello" | base64 > $@
+
 $(builddir)/initrd: empty known-1 known-2 known-3 known-4 known-5
        rm -f $@ $@-t
        for f in $^; do echo $$f; done | cpio -o -H newc | gzip --best > $@-t
@@ -142,3 +168,58 @@ $(builddir)/test-grep.txt.gz: test-grep.txt
        rm -f $@ $@-t
        gzip --best -c $< > $@-t
        mv $@-t $@
+
+# Make a (dummy) Fedora image.
+fedora.img: guest-aux/make-fedora-img.sh \
+               guest-aux/fedora-name.db \
+               guest-aux/fedora-packages.db
+       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
+       rm -f $@ $@-t
+       $(DB_LOAD) $@-t < $<
+       mv $@-t $@
+
+guest-aux/fedora-packages.db: guest-aux/fedora-packages.db.txt
+       rm -f $@ $@-t
+       $(DB_LOAD) $@-t < $<
+       mv $@-t $@
+
+# Make a (dummy) Debian image.
+debian.img: guest-aux/make-debian-img.sh
+       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=$(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=$(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
+# also distribute these files.
+guest-aux/windows-software: guest-aux/windows-software.reg
+       rm -f $@ $@-t
+       cp guest-aux/minimal-hive $@-t
+       hivexregedit --merge $@-t --prefix 'HKEY_LOCAL_MACHINE\SOFTWARE' $<
+       mv $@-t $@
+
+guest-aux/windows-system: guest-aux/windows-system.reg
+       rm -f $@ $@-t
+       cp guest-aux/minimal-hive $@-t
+       hivexregedit --merge $@-t --prefix 'HKEY_LOCAL_MACHINE\SYSTEM' $<
+       mv $@-t $@