#!/bin/bash -
# libguestfs
-# Copyright (C) 2010 Red Hat Inc.
+# Copyright (C) 2010-2011 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
export LANG=C
set -e
+# If the currently compiled libguestfs doesn't support
+# ntfs-3g/ntfsprogs then we cannot create a Windows phony image.
+# Nothing actually uses windows.img in the standard build so we can
+# just 'touch' it and emit a warning.
+if ! ../run ../fish/guestfish -a /dev/null run : available "ntfs3g ntfsprogs"; then
+ echo "***"
+ echo "Warning: cannot create windows.img because there is no NTFS"
+ echo "support in this build of libguestfs. Just touching the output"
+ echo "file instead."
+ echo "***"
+ touch windows.img
+ exit 0
+fi
+
# Create a disk image.
-../fish/guestfish <<'EOF'
+../run ../fish/guestfish <<EOF
sparse windows.img.tmp 512M
run
part-add /dev/sda p 64 524287
part-add /dev/sda p 524288 -64
+# Disk ID.
+pwrite-device /dev/sda "1234" 0x01b8
+
# Phony boot loader filesystem.
mkfs ntfs /dev/sda1
mount-options "" /dev/sda2 /
mkdir-p /Windows/System32/Config
-upload guest-aux/windows-software /Windows/System32/Config/SOFTWARE
-upload guest-aux/windows-system /Windows/System32/Config/SYSTEM
+upload ${SRCDIR}/guest-aux/windows-software /Windows/System32/Config/SOFTWARE
+upload ${SRCDIR}/guest-aux/windows-system /Windows/System32/Config/SYSTEM
-upload bin-win32.exe /Windows/System32/cmd.exe
+upload ${SRCDIR}/bin-win32.exe /Windows/System32/cmd.exe
mkdir "/Program Files"
touch /autoexec.bat