Index: package_tags/invirt-autoinstaller/0.0.7/common/usr/lib/xen-tools/debian.d/91-make-fstab
===================================================================
--- package_tags/invirt-autoinstaller/0.0.7/common/usr/lib/xen-tools/debian.d/91-make-fstab	(revision 2021)
+++ package_tags/invirt-autoinstaller/0.0.7/common/usr/lib/xen-tools/debian.d/91-make-fstab	(revision 2021)
@@ -0,0 +1,99 @@
+#!/bin/sh
+
+# This is a copy of 90-make-fstab, with a bug fixed.
+# It should be removed once the bug is fixed upstream.
+
+#
+#  This script is responsible for setting up /etc/fstab upon the
+# new instance.
+#
+#  This should be a simple job, but it is complicated by some of the
+# differences between filesystems - some root filesystems will require
+# the installation of new packages, and we have to handle that here.
+#
+# Steve
+# --
+# http://www.steve.org.uk/
+
+
+prefix=$1
+
+#
+#  Source our common functions
+#
+if [ -e /usr/lib/xen-tools/common.sh ]; then
+    . /usr/lib/xen-tools/common.sh
+else
+    . ./hooks/common.sh
+fi
+
+
+#
+# Log our start
+#
+logMessage Script $0 starting
+
+
+#
+# Make sure we use ide style device names if required
+#
+device=sda
+if [ "${ide}" ]; then
+    device=hda
+fi
+
+#
+#  Now we have the options we can create the fstab.
+#
+has_xfs=0
+has_reiserfs=0
+cat <<E_O_FSTAB > ${prefix}/etc/fstab
+# /etc/fstab: static file system information.
+#
+# <file system> <mount point>   <type>  <options>       <dump>  <pass>
+proc            /proc           proc    defaults        0       0
+E_O_FSTAB
+for part in `seq 1 ${NUMPARTITIONS}`; do
+    eval "PARTITION=\"\${PARTITION${part}}\""
+    OLDIFS="${IFS}"
+    IFS=:
+    x=0
+    for partdata in ${PARTITION}; do
+        eval "partdata${x}=\"${partdata}\""
+        x=$(( $x+1 ))
+    done
+    IFS="${OLDIFS}"
+    
+    case "${partdata2}" in
+        xfs)
+            has_xfs=1
+            ;;
+        reiserfs)
+            has_reiserfs=1
+            ;;
+    esac
+    
+    if [ "${partdata2}" = "swap" ]; then
+        echo "${partdata7} none swap sw 0 0" >> ${prefix}/etc/fstab
+    else
+        echo "${partdata7} ${partdata3} ${partdata2} ${partdata4} 0 1" >> ${prefix}/etc/fstab
+    fi
+done
+
+
+#
+#  Finally we can install any required packages for the given root
+# filesystem
+#
+if [ $has_xfs -eq 1 ]; then
+    installDebianPackage ${prefix} xfsprogs
+fi
+if [ $has_reiserfs -eq 1 ]; then
+    installDebianPackage ${prefix} reiserfsprogs
+fi
+
+
+#
+#  Log our finish
+#
+logMessage Script $0 finished
Index: package_tags/invirt-autoinstaller/0.0.7/common/usr/lib/xen-tools/debian.d/97-setup-grub
===================================================================
--- package_tags/invirt-autoinstaller/0.0.7/common/usr/lib/xen-tools/debian.d/97-setup-grub	(revision 2021)
+++ package_tags/invirt-autoinstaller/0.0.7/common/usr/lib/xen-tools/debian.d/97-setup-grub	(revision 2021)
@@ -0,0 +1,59 @@
+#!/bin/sh
+#
+#  This script sets up the ParaVM to use pygrub
+#
+
+prefix=$1
+
+#
+#  Source our common functions
+#
+if [ -e /usr/lib/xen-tools/common.sh ]; then
+    . /usr/lib/xen-tools/common.sh
+else
+    . ./hooks/common.sh
+fi
+
+echo SCRIPT = $0
+dir=`dirname "$0"`
+
+
+logMessage Script $0 starting
+
+#
+# Install the xen kernel.  linux-image-xen is in ubuntu,
+# linux-image-xen-{amd64,686} in debian.
+#
+installDebianPackage ${prefix} linux-image-xen-amd64
+installDebianPackage ${prefix} linux-image-xen-686
+installDebianPackage ${prefix} linux-image-xen
+
+installDebianPackage ${prefix} grub
+
+#
+# Make the /boot/grub directory
+#
+mkdir -p ${prefix}/boot/grub
+
+#
+# Create stock menu.lst
+#
+chroot ${prefix} /usr/sbin/update-grub -y
+
+#
+# Patches to add xen kernels, use serial console, etc.
+#
+for patch in $dir/patches/*; do
+    patch -l -d ${prefix} -p1 < $patch
+done
+
+#
+# Regenerate automagic kernels list
+#
+chroot ${prefix} /usr/sbin/update-grub -y
+
+#
+# Log our finish
+#
+logMessage Script $0 finished
+
Index: package_tags/invirt-autoinstaller/0.0.7/common/usr/lib/xen-tools/debian.d/98-fix-eth-checksums
===================================================================
--- package_tags/invirt-autoinstaller/0.0.7/common/usr/lib/xen-tools/debian.d/98-fix-eth-checksums	(revision 2021)
+++ package_tags/invirt-autoinstaller/0.0.7/common/usr/lib/xen-tools/debian.d/98-fix-eth-checksums	(revision 2021)
@@ -0,0 +1,30 @@
+#!/bin/sh
+#
+#  This script disables checksumming within the domU
+#
+
+prefix=$1
+
+#
+#  Source the common functions
+#
+if [ -e /usr/lib/xen-tools/common.sh ]; then
+    . /usr/lib/xen-tools/common.sh
+else
+    . ./hooks/common.sh
+fi
+
+logMessage Script $0 starting
+
+# To avoid UDP checksum problems.
+installDebianPackage ${prefix} ethtool
+
+if ! sed -i -e 's/^\(\s*\)#\s*post-up\s\+ethtool/\1post-up ethtool -K eth0 tso off\n\0/' ${prefix}/etc/network/interfaces; then
+    echo "ERROR: unable to disable network segmentation offloading"
+    exit 1
+fi
+
+#
+# Log our finish
+#
+logMessage Script $0 finished
Index: package_tags/invirt-autoinstaller/0.0.7/common/usr/lib/xen-tools/debian.d/patches/common.diff
===================================================================
--- package_tags/invirt-autoinstaller/0.0.7/common/usr/lib/xen-tools/debian.d/patches/common.diff	(revision 2021)
+++ package_tags/invirt-autoinstaller/0.0.7/common/usr/lib/xen-tools/debian.d/patches/common.diff	(revision 2021)
@@ -0,0 +1,1 @@
+link ../../patches/common.diff
Index: package_tags/invirt-autoinstaller/0.0.7/common/usr/lib/xen-tools/debian.d/patches/inittab.diff
===================================================================
--- package_tags/invirt-autoinstaller/0.0.7/common/usr/lib/xen-tools/debian.d/patches/inittab.diff	(revision 2021)
+++ package_tags/invirt-autoinstaller/0.0.7/common/usr/lib/xen-tools/debian.d/patches/inittab.diff	(revision 2021)
@@ -0,0 +1,1 @@
+link ../../patches/inittab.diff
Index: package_tags/invirt-autoinstaller/0.0.7/common/usr/lib/xen-tools/edgy.d/91-make-fstab
===================================================================
--- package_tags/invirt-autoinstaller/0.0.7/common/usr/lib/xen-tools/edgy.d/91-make-fstab	(revision 2021)
+++ package_tags/invirt-autoinstaller/0.0.7/common/usr/lib/xen-tools/edgy.d/91-make-fstab	(revision 2021)
@@ -0,0 +1,1 @@
+link ../debian.d/91-make-fstab
Index: package_tags/invirt-autoinstaller/0.0.7/common/usr/lib/xen-tools/edgy.d/97-setup-grub
===================================================================
--- package_tags/invirt-autoinstaller/0.0.7/common/usr/lib/xen-tools/edgy.d/97-setup-grub	(revision 2021)
+++ package_tags/invirt-autoinstaller/0.0.7/common/usr/lib/xen-tools/edgy.d/97-setup-grub	(revision 2021)
@@ -0,0 +1,1 @@
+link ../debian.d/97-setup-grub
Index: package_tags/invirt-autoinstaller/0.0.7/common/usr/lib/xen-tools/edgy.d/98-fix-eth-checksums
===================================================================
--- package_tags/invirt-autoinstaller/0.0.7/common/usr/lib/xen-tools/edgy.d/98-fix-eth-checksums	(revision 2021)
+++ package_tags/invirt-autoinstaller/0.0.7/common/usr/lib/xen-tools/edgy.d/98-fix-eth-checksums	(revision 2021)
@@ -0,0 +1,1 @@
+link ../debian.d/98-fix-eth-checksums
Index: package_tags/invirt-autoinstaller/0.0.7/common/usr/lib/xen-tools/edgy.d/patches/common.diff
===================================================================
--- package_tags/invirt-autoinstaller/0.0.7/common/usr/lib/xen-tools/edgy.d/patches/common.diff	(revision 2021)
+++ package_tags/invirt-autoinstaller/0.0.7/common/usr/lib/xen-tools/edgy.d/patches/common.diff	(revision 2021)
@@ -0,0 +1,1 @@
+link ../../patches/common.diff
Index: package_tags/invirt-autoinstaller/0.0.7/common/usr/lib/xen-tools/edgy.d/patches/event.d.diff
===================================================================
--- package_tags/invirt-autoinstaller/0.0.7/common/usr/lib/xen-tools/edgy.d/patches/event.d.diff	(revision 2021)
+++ package_tags/invirt-autoinstaller/0.0.7/common/usr/lib/xen-tools/edgy.d/patches/event.d.diff	(revision 2021)
@@ -0,0 +1,1 @@
+link ../../patches/event.d.diff
Index: package_tags/invirt-autoinstaller/0.0.7/common/usr/lib/xen-tools/patches/common.diff
===================================================================
--- package_tags/invirt-autoinstaller/0.0.7/common/usr/lib/xen-tools/patches/common.diff	(revision 2021)
+++ package_tags/invirt-autoinstaller/0.0.7/common/usr/lib/xen-tools/patches/common.diff	(revision 2021)
@@ -0,0 +1,27 @@
+--- /usr/sbin/update-grub.orig	2008-05-03 23:30:37.000000000 -0400
++++ /usr/sbin/update-grub	2008-05-03 23:30:55.000000000 -0400
+@@ -911,13 +911,6 @@
+ 		is_xen=
+ 	fi
+ 
+-	if [ ! "$in_domU" ] && [ "$is_xen" ]; then
+-	  # skip xen kernels
+-          continue
+-        elif [ "$in_domU" ] && ! [ "$is_xen" ]; then
+-	  # skip non-xen kernels
+-	  continue
+-        fi
+         kern="/boot/$kern"
+ 	newerKernels=""
+ 	for i in $sortedKernels ; do
+--- /boot/grub/menu.lst.orig	2008-05-04 03:17:31.000000000 -0400
++++ /boot/grub/menu.lst	2008-05-04 03:19:09.000000000 -0400
+@@ -59,7 +59,7 @@
+ ## e.g. kopt=root=/dev/hda1 ro
+ ##      kopt_2_6_8=root=/dev/hdc1 ro
+ ##      kopt_2_6_8_2_686=root=/dev/hdc2 ro
+-# kopt=root=/dev/hda1 ro
++# kopt=root=/dev/hda1 ro console=ttyS0,9600,8n1
+ 
+ ## default grub root device
+ ## e.g. groot=(hd0,0)
Index: package_tags/invirt-autoinstaller/0.0.7/common/usr/lib/xen-tools/patches/event.d.diff
===================================================================
--- package_tags/invirt-autoinstaller/0.0.7/common/usr/lib/xen-tools/patches/event.d.diff	(revision 2021)
+++ package_tags/invirt-autoinstaller/0.0.7/common/usr/lib/xen-tools/patches/event.d.diff	(revision 2021)
@@ -0,0 +1,14 @@
+--- /etc/event.d/ttyS0.orig   2008-06-22 01:57:29.000000000 -0400
++++ /etc/event.d/ttyS0  2008-06-22 03:12:01.000000000 -0400
+@@ -0,0 +1,11 @@
++start on runlevel 2
++start on runlevel 3
++start on runlevel 4
++start on runlevel 5
++
++stop on runlevel 0
++stop on runlevel 1
++stop on runlevel 6
++
++respawn
++exec /sbin/getty 115300 ttyS0
Index: package_tags/invirt-autoinstaller/0.0.7/common/usr/sbin/invirt-create-image
===================================================================
--- package_tags/invirt-autoinstaller/0.0.7/common/usr/sbin/invirt-create-image	(revision 2021)
+++ package_tags/invirt-autoinstaller/0.0.7/common/usr/sbin/invirt-create-image	(revision 2021)
@@ -0,0 +1,21 @@
+#!/bin/bash
+# Usage: no command-line args.
+# "arguments" come in environment:
+#  TARGET a device filename
+#  FSSIZE the desired filesystem size in megabytes (rest will be swap)
+#  ARCH, DIST, MIRROR
+#  HOSTNAME, IP
+
+set -e
+
+echo ,"${FSSIZE}"$',L,*\n,,S\n;\n;' | sfdisk -uM -H 255 -S 63 "$TARGET"
+
+dmsetup info "$TARGET" 2>/dev/null && kpartx -a "$TARGET"
+
+xen-create-image --image-dev "${TARGET}1" --swap-dev "${TARGET}2" --fs ext3 --ide \
+ --hostname "$HOSTNAME" --ip="$IP" --netmask=255.255.0.0 --gateway=18.181.0.1 \
+ --arch "$ARCH" --dist "$DIST" --mirror "$MIRROR" --cache=yes --verbose
+
+dmsetup info "$TARGET" 2>/dev/null && kpartx -d "$TARGET"
+
+exit 0
Index: package_tags/invirt-autoinstaller/0.0.7/config.todo
===================================================================
--- package_tags/invirt-autoinstaller/0.0.7/config.todo	(revision 2021)
+++ package_tags/invirt-autoinstaller/0.0.7/config.todo	(revision 2021)
@@ -0,0 +1,3 @@
+guest/etc/init.d/rcS.invirt: netmask, gateway
+guest/usr/lib/xen-tools/debian.d/*: separate our patches
+invirt-create-image: netmask, gateway
Index: package_tags/invirt-autoinstaller/0.0.7/debian/changelog
===================================================================
--- package_tags/invirt-autoinstaller/0.0.7/debian/changelog	(revision 2021)
+++ package_tags/invirt-autoinstaller/0.0.7/debian/changelog	(revision 2021)
@@ -0,0 +1,160 @@
+invirt-autoinstaller (0.0.7) unstable; urgency=low
+
+  * Add a script to update the autoinstaller disk from a host.
+  * Use a more stringent regexp and fail loudly if the match fails.
+  * Turn off transmission segmentation offloading instead of tx checksum
+    offloading
+
+ -- Evan Broder <broder@mit.edu>  Mon, 26 Jan 2009 20:57:09 -0500
+
+invirt-autoinstaller (0.0.6) unstable; urgency=low
+
+  * Correct for the checksumming issue in /etc/network/interfaces instead
+    of /etc/rc.local
+
+ -- Evan Broder <broder@mit.edu>  Mon, 26 Jan 2009 07:40:30 -0500
+
+invirt-autoinstaller (0.0.5) unstable; urgency=low
+
+  * Install Debian and Ubuntu compatible kernels without checking first
+
+ -- Evan Broder <broder@mit.edu>  Wed, 19 Nov 2008 20:51:20 -0500
+
+invirt-autoinstaller (0.0.4) unstable; urgency=low
+
+  * Figure out whether the autoinstaller is running on Debian or Ubuntu,
+    and install an appropriate kernel
+
+ -- Evan Broder <broder@mit.edu>  Wed, 19 Nov 2008 19:53:25 -0500
+
+invirt-autoinstaller (0.0.3) unstable; urgency=low
+
+  * Whoops - replace the right string in /etc/rc.local
+
+ -- Evan Broder <broder@mit.edu>  Fri, 14 Nov 2008 01:59:11 -0500
+
+invirt-autoinstaller (0.0.2) unstable; urgency=low
+
+  * Add hook to turn off checksumming in guests
+
+ -- Evan Broder <broder@mit.edu>  Fri, 14 Nov 2008 01:19:21 -0500
+
+invirt-autoinstaller (0.0.1) unstable; urgency=low
+
+  * sipb-xen-autoinstaler -> invirt-autoinstaller
+  * Punt DEB_AUTO_UPDATE_DEBIAN_CONTROL
+
+ -- Evan Broder <broder@mit.edu>  Sat, 01 Nov 2008 04:47:25 -0400
+
+sipb-xen-autoinstaller (2.11) unstable; urgency=low
+
+  * sipb-xen-dom0 -> invirt-xen-config
+
+ -- Evan Broder <broder@mit.edu>  Sat, 25 Oct 2008 18:18:51 -0400
+
+sipb-xen-autoinstaller (2.10) unstable; urgency=low
+
+  * Hide misleading harmless error message from dmsetup
+  * Start udev in guest, so /dev/hda[12] appear automatically
+  * understand 'noinstall=' rather than 'noinstall', so validator on
+    remote accepts it
+
+ -- Greg Price <price@mit.edu>  Sun, 19 Oct 2008 21:26:31 -0400
+
+sipb-xen-autoinstaller (2.9) unstable; urgency=low
+
+  * Run xen-create-image with --verbose so you actually get useful
+    output
+
+ -- Evan Broder <broder@mit.edu>  Tue, 14 Oct 2008 19:25:14 -0400
+
+sipb-xen-autoinstaller (2.8) unstable; urgency=low
+
+  * Correctly evaluate the kernel command line to deal with weird
+    potential quoting issues
+
+ -- Evan Broder <broder@mit.edu>  Mon, 13 Oct 2008 21:18:22 -0400
+
+sipb-xen-autoinstaller (2.7) unstable; urgency=low
+
+  * Skip kpartx call when running on physical devices
+
+ -- Evan Broder <broder@mit.edu>  Tue, 07 Oct 2008 00:25:18 -0400
+
+sipb-xen-autoinstaller (2.6) unstable; urgency=low
+
+  * Update dependencies for Hardy
+
+ -- Evan Broder <broder@mit.edu>  Mon, 06 Oct 2008 18:22:08 -0400
+
+sipb-xen-autoinstaller (2.5) unstable; urgency=low
+
+  * Add sipb-xen-autoinstaller-host binary package
+  * Put common files in both binary packages
+  * Add beginnings of an installer script in -host package
+
+ -- Greg Price <price@mit.edu>  Sun, 28 Sep 2008 17:07:51 -0400
+
+sipb-xen-autoinstaller (2.4) unstable; urgency=low
+
+  * Switch to using just sipb-database options on the host
+
+ -- Eric Price <ecprice@sipb-xen-dev.mit.edu>  Mon, 28 Jul 2008 03:18:00 -0400
+
+sipb-xen-autoinstaller (2.3) unstable; urgency=low
+
+  * Fix a couple bugs.
+
+ -- Eric Price <ecprice@sipb-xen-dev.mit.edu>  Mon, 28 Jul 2008 01:06:18 -0400
+
+sipb-xen-autoinstaller (2.2) unstable; urgency=low
+
+  * Divert /etc/init.d/rcS
+
+ -- Eric Price <ecprice@sipb-xen-dev.mit.edu>  Mon, 28 Jul 2008 00:28:54 -0400
+
+sipb-xen-autoinstaller (2.1) unstable; urgency=low
+
+  * Updates to the dependency lists.
+
+ -- Eric Price <ecprice@sipb-xen-dev.mit.edu>  Mon, 28 Jul 2008 00:02:39 -0400
+
+sipb-xen-autoinstaller (2.0) unstable; urgency=low
+
+  * Move the autoinstall inside a VM.
+
+ -- Eric Price <ecprice@mit.edu>  Sun, 27 Jul 2008 23:47:02 -0400
+
+sipb-xen-guest-installer (1.4) unstable; urgency=low
+
+  * sipb-xen-install, using xen-create-image, which uses debootstrap
+    (ecprice, neboat, and me, weeks ago)
+
+ -- Greg Price <price@mit.edu>  Wed, 23 Jul 2008 01:15:58 -0400
+
+sipb-xen-guest-installer (1.3) unstable; urgency=low
+
+  * Change sipb-xen-lvcopy so that it fails if you try to clone
+    anything but ice3
+
+ -- Evan Broder <broder@mit.edu>  Sat, 31 May 2008 13:38:37 -0700
+
+sipb-xen-guest-installer (1.2) unstable; urgency=low
+
+  * Work around bug in Python subprocess.
+
+ -- Eric Price <ecprice@sipb-xen-dev.mit.edu>  Thu, 15 May 2008 18:46:57 -0400
+
+sipb-xen-guest-installer (1.1) unstable; urgency=low
+
+  * All the changes since last October.  In particular:
+  * This system is in "production", using sx-lvcopy to replicate
+    a golden image on user request and frob it as necessary.
+
+ -- Greg Price <price@mit.edu>  Thu,  1 May 2008 01:09:11 -0400
+
+sipb-xen-guest-installer (1.0) unstable; urgency=low
+
+  * Initial release.
+
+ -- Greg Price <price@mega-man.mit.edu>  Tue, 16 Oct 2007 03:01:08 -0400
Index: package_tags/invirt-autoinstaller/0.0.7/debian/compat
===================================================================
--- package_tags/invirt-autoinstaller/0.0.7/debian/compat	(revision 2021)
+++ package_tags/invirt-autoinstaller/0.0.7/debian/compat	(revision 2021)
@@ -0,0 +1,1 @@
+4
Index: package_tags/invirt-autoinstaller/0.0.7/debian/control
===================================================================
--- package_tags/invirt-autoinstaller/0.0.7/debian/control	(revision 2021)
+++ package_tags/invirt-autoinstaller/0.0.7/debian/control	(revision 2021)
@@ -0,0 +1,22 @@
+Source: invirt-autoinstaller
+Section: net
+Priority: extra
+Maintainer: Invirt project <invirt@mit.edu>
+Build-Depends: cdbs (>= 0.4.23-1.1), debhelper (>= 4.2.0), config-package-dev (>= 4.5~)
+Standards-Version: 3.8.0
+
+Package: invirt-autoinstaller-host
+Architecture: all
+Provides: ${diverted-files}
+Conflicts: ${diverted-files}
+Depends: ${misc:Depends}, patch, xen-tools, invirt-xen-config
+Description: SIPB Xen automatic guest-image installer system (host)
+ This is our automatic guest-image installer system.
+
+Package: invirt-autoinstaller-guest
+Architecture: all
+Provides: ${diverted-files}
+Conflicts: ${diverted-files}, sysvinit, upstart
+Depends: ${misc:Depends}, patch, xen-tools, busybox-static, lvm2, kpartx
+Description: SIPB Xen automatic guest-image installer system (guest)
+ This is our automatic guest-image installer system.
Index: package_tags/invirt-autoinstaller/0.0.7/debian/copyright
===================================================================
--- package_tags/invirt-autoinstaller/0.0.7/debian/copyright	(revision 2021)
+++ package_tags/invirt-autoinstaller/0.0.7/debian/copyright	(revision 2021)
@@ -0,0 +1,16 @@
+This software was written as part of the Invirt project <invirt@mit.edu>.
+
+Copyright :
+
+  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
+  the Free Software Foundation; either version 2 of the License, or
+  (at your option) any later version.
+
+  This program is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+On Debian systems, the complete text of the GNU General Public License
+can be found in the file /usr/share/common-licenses/GPL.
Index: package_tags/invirt-autoinstaller/0.0.7/debian/invirt-autoinstaller-guest.install
===================================================================
--- package_tags/invirt-autoinstaller/0.0.7/debian/invirt-autoinstaller-guest.install	(revision 2021)
+++ package_tags/invirt-autoinstaller/0.0.7/debian/invirt-autoinstaller-guest.install	(revision 2021)
@@ -0,0 +1,2 @@
+common/* .
+guest/* .
Index: package_tags/invirt-autoinstaller/0.0.7/debian/invirt-autoinstaller-host.install
===================================================================
--- package_tags/invirt-autoinstaller/0.0.7/debian/invirt-autoinstaller-host.install	(revision 2021)
+++ package_tags/invirt-autoinstaller/0.0.7/debian/invirt-autoinstaller-host.install	(revision 2021)
@@ -0,0 +1,2 @@
+common/* .
+host/* .
Index: package_tags/invirt-autoinstaller/0.0.7/debian/rules
===================================================================
--- package_tags/invirt-autoinstaller/0.0.7/debian/rules	(revision 2021)
+++ package_tags/invirt-autoinstaller/0.0.7/debian/rules	(revision 2021)
@@ -0,0 +1,8 @@
+#!/usr/bin/make -f
+
+DEB_DIVERT_EXTENSION = .invirt
+DEB_DIVERT_FILES_invirt-autoinstaller-guest += \
+        /etc/init.d/rcS
+
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/rules/config-package.mk
Index: package_tags/invirt-autoinstaller/0.0.7/guest/etc/init.d/rcS.invirt
===================================================================
--- package_tags/invirt-autoinstaller/0.0.7/guest/etc/init.d/rcS.invirt	(revision 2021)
+++ package_tags/invirt-autoinstaller/0.0.7/guest/etc/init.d/rcS.invirt	(revision 2021)
@@ -0,0 +1,40 @@
+#!/bin/bash
+eval "set -- $(cat /proc/cmdline)"
+for x; do
+    case $x in
+	ip=*)
+	/usr/lib/klibc/bin/ipconfig -d ${x#ip=}
+	;;
+	mirror=*)
+	export MIRROR=${x#mirror=}
+	;;
+	dist=*)
+	export DIST=${x#dist=}
+	;;
+	arch=*)
+	export ARCH=${x#arch=}
+	;;
+	imagesize=*)
+	export FSSIZE=${x#imagesize=}
+	;;
+	noinstall=)
+	exit 0
+	;;
+    esac
+done
+
+mount -t tmpfs none /var/log
+mount -t tmpfs none /tmp
+
+export TARGET=/dev/hda
+export ARCH=${ARCH-amd64}
+export IP=$(ifconfig eth0 | sed -n 's/.*inet addr:\([0-9\.]*\).*/\1/p')
+export HOSTNAME=$(hostname)
+
+/etc/init.d/udev start
+
+# args passed through environment rather than as 7 positional args
+/usr/sbin/invirt-create-image
+
+busybox poweroff
+exit 0
Index: package_tags/invirt-autoinstaller/0.0.7/guest/sbin/init
===================================================================
--- package_tags/invirt-autoinstaller/0.0.7/guest/sbin/init	(revision 2021)
+++ package_tags/invirt-autoinstaller/0.0.7/guest/sbin/init	(revision 2021)
@@ -0,0 +1,1 @@
+link ../bin/busybox
Index: package_tags/invirt-autoinstaller/0.0.7/host/usr/sbin/invirt-install
===================================================================
--- package_tags/invirt-autoinstaller/0.0.7/host/usr/sbin/invirt-install	(revision 2021)
+++ package_tags/invirt-autoinstaller/0.0.7/host/usr/sbin/invirt-install	(revision 2021)
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+# If this script is interrupted, it may not clean up after itself.
+# In particular, it may leave ${TARGET}1 mounted somewhere in tmp.
+# Unmount it, then kpartx -d $TARGET to clean up.
+
+set -e
+
+export PATH #WTF?
+
+NAME="$1"
+export HOSTNAME="$2"
+export DIST="$3"
+export MIRROR="$4"
+export FSSIZE="$5"    # in megabytes
+SWAPSIZE="$6"  # in megabytes
+export IP="$7"
+
+export ARCH=amd64
+VGNAME=xenvg
+
+#LVSIZE=`lvs --noheadings --units M --nosuffix -o Size /dev/xenvg/d_foobar_hda | sed 's/\..*//'`
+
+if [ -z "$IP" ]; then
+    IP=`host $HOSTNAME.xvm.mit.edu | sed 's/.* //' | head -n 1`
+fi
+
+/sbin/lvcreate -L $(($FSSIZE+$SWAPSIZE))M -n "${NAME}_hda" $VGNAME
+
+export TARGET=/dev/mapper/xenvg-"$(echo "${NAME}_hda" | sed -e 's/-/--/g')"
+
+/usr/sbin/invirt-create-image
+
+echo "disk = ['phy:$VGNAME/${NAME}_hda,hda,w']" >>/etc/xen/$HOSTNAME.cfg
+echo "root = '/dev/hda1 ro'" >>/etc/xen/$HOSTNAME.cfg
Index: package_tags/invirt-autoinstaller/0.0.7/host/usr/sbin/invirt-update-ai-guest
===================================================================
--- package_tags/invirt-autoinstaller/0.0.7/host/usr/sbin/invirt-update-ai-guest	(revision 2021)
+++ package_tags/invirt-autoinstaller/0.0.7/host/usr/sbin/invirt-update-ai-guest	(revision 2021)
@@ -0,0 +1,43 @@
+#!/bin/bash
+
+set -e
+
+export VG=xenvg
+export INSTALLLV=s_install_hda
+export INSTALLPATH="/dev/$VG/$INSTALLLV"
+export UPDATEPATH="/dev/$VG/update_$INSTALLLV"
+export MAPPERPATH="/dev/mapper/$VG-update_$INSTALLLV"
+export MOUNTDIRS="/dev /proc /sys"
+
+clean_up() {
+    set +e
+    
+    for i in $MOUNTDIRS; do
+        umount "/mnt/install$i"
+    done
+    
+    umount /mnt/install
+    kpartx -d "$UPDATEPATH"
+    lvchange -a y "$UPDATEPATH"
+    lvrename "$UPDATEPATH" "$INSTALLPATH"
+    exit 0
+}
+
+trap clean_up ERR
+
+lvchange -a n "$INSTALLPATH"
+lvrename "$INSTALLPATH" "$UPDATEPATH"
+lvchange -a ey "$UPDATEPATH"
+kpartx -a "$UPDATEPATH"
+
+mkdir -p /mnt/install
+mount "${MAPPERPATH}1" /mnt/install
+
+for i in $MOUNTDIRS; do
+    mount --bind $i "/mnt/install$i"
+done
+
+chroot /mnt/install apt-get update
+chroot /mnt/install apt-get dist-upgrade
+
+clean_up
