X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=images%2FMakefile.am;h=d97dd458a97ab33be937ef2b5f31c071c13352ca;hp=d5272e9d7919e3156c07fa2bd8462786ff38921f;hb=9becb385b78eddb9b3817c6accaa6cdb3db0b5af;hpb=0232e722826cfda0f6042da983f9eb871f24e946 diff --git a/images/Makefile.am b/images/Makefile.am index d5272e9..d97dd45 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,9 +15,169 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -EXTRA_DIST = \ +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 \ - mbr-ext2-empty.img.gz + helloworld.tar.xz \ + mbr-ext2-empty.img.gz \ + empty known-1 known-2 known-3 known-4 known-5 \ + bin-i586-dynamic \ + bin-sparc-dynamic \ + bin-win32.exe \ + bin-win64.exe \ + bin-x86_64-dynamic \ + lib-i586.so \ + lib-sparc.so \ + lib-win32.dll \ + lib-win64.dll \ + lib-x86_64.so \ + 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/make-ubuntu-img.sh + +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 + +CLEANFILES = \ + test.iso test.sqsh \ + 100kallzeroes 100kallnewlines 100kallspaces 100krandom 10klines \ + initrd $(check_DATA) + +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 \ + $(srcdir)/bin-win64.exe \ + $(srcdir)/bin-x86_64-dynamic \ + $(srcdir)/lib-i586.so \ + $(srcdir)/lib-sparc.so \ + $(srcdir)/lib-win32.dll \ + $(srcdir)/lib-win64.dll \ + $(srcdir)/lib-x86_64.so \ + $(srcdir)/test-grep.txt + +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 + +images_files = $(images_files_src) $(images_files_build) + +test.iso: $(images_files) + rm -f $@ $@-t + mkdir -p directory + $(MKISOFS) -J -r -graft-points \ + -o $@-t \ + $(images_files) /directory=directory + rmdir directory + mv $@-t $@ + +$(builddir)/100kallzeroes: + rm -f $@ $@-t + dd if=/dev/zero of=$@-t bs=1024 count=100 + mv $@-t $@ + +$(builddir)/100kallnewlines: $(builddir)/100kallzeroes + rm -f $@ $@-t + tr '\0' '\n' < $< > $@-t + mv $@-t $@ + +$(builddir)/100kallspaces: $(builddir)/100kallzeroes + rm -f $@ $@-t + tr '\0' ' ' < $< > $@-t + mv $@-t $@ + +$(builddir)/100krandom: + rm -f $@ $@-t + dd if=/dev/urandom of=$@-t bs=1024 count=100 + mv $@-t $@ + +$(builddir)/10klines: + rm -f $@ $@-t + i=0; \ + while [ $$i -lt 10000 ]; do \ + echo "$${i}abcdefghijklmnopqrstuvwxyz"; \ + i=$$(($$i+1)); \ + 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 + mv $@-t $@ + +# Create a dummy initrd with a single file called 'bin/nash' which +# is used to test the Sys::Guestfs::Lib::file_architecture function. +$(builddir)/initrd-x86_64.img: bin-x86_64-dynamic + rm -rf bin $@ $@-t + mkdir bin + cp $< bin/nash + echo bin/nash | cpio -o -H newc > $@-t + mv $@-t $@ + rm -rf bin $@-t + +$(builddir)/initrd-x86_64.img.gz: initrd-x86_64.img + rm -f $@ $@-t + gzip --best -c $< > $@-t + mv $@-t $@ + +$(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 + LIBGUESTFS_PATH=../appliance \ + LD_LIBRARY_PATH=../src/.libs \ + bash $< + +guest-aux/fedora-name.db: guest-aux/fedora-name.db.txt + db_load $@ < $< + +# Make a (dummy) Debian image. +debian.img: guest-aux/make-debian-img.sh + LIBGUESTFS_PATH=../appliance \ + LD_LIBRARY_PATH=../src/.libs \ + bash $< -CLEANFILES = *~ +# Make a (dummy) Ubuntu image. +ubuntu.img: guest-aux/make-ubuntu-img.sh + LIBGUESTFS_PATH=../appliance \ + LD_LIBRARY_PATH=../src/.libs \ + bash $<