X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=images%2FMakefile.am;h=90c4ce31205d4e9a662c727848a25d019690eb54;hp=b6b7f72a8580b6aa0a8b3db1d2596ddcc21fae3c;hb=70c033998e0e721dc4f9eb2a20348098b259752c;hpb=9847e0c07d5907887e26ec60192fa12aa46277ee diff --git a/images/Makefile.am b/images/Makefile.am index b6b7f72..90c4ce3 100644 --- a/images/Makefile.am +++ b/images/Makefile.am @@ -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 @@ -15,14 +15,17 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +include $(top_srcdir)/subdir-rules.mk + # Old RHEL 5 autoconf doesn't have builddir. builddir ?= $(top_builddir)/images EXTRA_DIST = \ helloworld.tar \ helloworld.tar.gz \ + helloworld.tar.xz \ mbr-ext2-empty.img.gz \ - empty known-1 known-2 known-3 \ + empty known-1 known-2 known-3 known-4 known-5 \ bin-i586-dynamic \ bin-sparc-dynamic \ bin-win32.exe \ @@ -33,22 +36,43 @@ EXTRA_DIST = \ lib-win32.dll \ lib-win64.dll \ lib-x86_64.so \ - test-grep.txt - -noinst_DATA = test.sqsh + 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.sqsh \ + test.iso test.sqsh \ 100kallzeroes 100kallnewlines 100kallspaces 100krandom 10klines \ - initrd + initrd $(check_DATA) -squash_files_src = \ +images_files_src = \ $(srcdir)/helloworld.tar \ $(srcdir)/helloworld.tar.gz \ + $(srcdir)/helloworld.tar.xz \ $(srcdir)/empty \ $(srcdir)/known-1 \ $(srcdir)/known-2 \ $(srcdir)/known-3 \ + $(srcdir)/known-4 \ + $(srcdir)/known-5 \ $(srcdir)/bin-i586-dynamic \ $(srcdir)/bin-sparc-dynamic \ $(srcdir)/bin-win32.exe \ @@ -61,22 +85,29 @@ squash_files_src = \ $(srcdir)/lib-x86_64.so \ $(srcdir)/test-grep.txt -squash_files_build = \ +images_files_build = \ $(builddir)/100kallzeroes \ $(builddir)/100kallnewlines \ $(builddir)/100kallspaces \ $(builddir)/100krandom \ $(builddir)/10klines \ + $(builddir)/abssymlink \ + $(builddir)/hello.b64 \ $(builddir)/initrd \ $(builddir)/initrd-x86_64.img \ $(builddir)/initrd-x86_64.img.gz \ $(builddir)/test-grep.txt.gz -squash_files = $(squash_files_src) $(squash_files_build) +images_files = $(images_files_src) $(images_files_build) -test.sqsh: $(squash_files) - rm -f $@ - $(MKSQUASHFS) $(squash_files) $@ +test.iso: $(images_files) + rm -f $@ $@-t + mkdir -p directory + $(GENISOIMAGE) -J -r -graft-points \ + -o $@-t \ + $(images_files) /directory=directory + rmdir directory + mv $@-t $@ $(builddir)/100kallzeroes: rm -f $@ $@-t @@ -107,7 +138,13 @@ $(builddir)/10klines: done > $@-t mv $@-t $@ -$(builddir)/initrd: empty known-1 known-2 known-3 +$(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 mv $@-t $@ @@ -131,3 +168,56 @@ $(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 + TMPDIR=$(top_builddir) \ + SRCDIR=$(srcdir) \ + bash $< + +guest-aux/fedora-name.db: guest-aux/fedora-name.db.txt + rm -f $@ $@-t + mkdir -p guest-aux + $(DB_LOAD) $@-t < $< + mv $@-t $@ + +guest-aux/fedora-packages.db: guest-aux/fedora-packages.db.txt + rm -f $@ $@-t + mkdir -p guest-aux + $(DB_LOAD) $@-t < $< + mv $@-t $@ + +# Make a (dummy) Debian image. +debian.img: guest-aux/make-debian-img.sh + TMPDIR=$(top_builddir) \ + SRCDIR=$(srcdir) \ + bash $< + +# Make a (dummy) Ubuntu image. +ubuntu.img: guest-aux/make-ubuntu-img.sh + TMPDIR=$(top_builddir) \ + SRCDIR=$(srcdir) \ + bash $< + +# Make a (dummy) Windows image. +windows.img: guest-aux/make-windows-img.sh \ + guest-aux/windows-software guest-aux/windows-system + TMPDIR=$(top_builddir) \ + SRCDIR=$(srcdir) \ + 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 $@