--- xen-3.0-3.0.2+hg111412.orig/debian/xen-utils-3.0.postrm +++ xen-3.0-3.0.2+hg111412/debian/xen-utils-3.0.postrm @@ -0,0 +1,26 @@ +#!/bin/sh + +set -e + +case "$1" in +purge) + # Remove udev rules symlink + L="/etc/udev/rules.d/z60_xen-backend.rules" + [ -L "$L" ] && rm "$L" + + XENSTORED_DIR="/var/lib/xenstored" + [ -d "${XENSTORED_DIR}" ] && rm -r "${XENSTORED_DIR}" + ;; + +remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) + ;; + +*) + echo "postrm called with unknown argument \`$1'" >&2 + exit + ;; +esac + +#DEBHELPER# + +exit 0 --- xen-3.0-3.0.2+hg111412.orig/debian/xen-utils-3.0.xend.init +++ xen-3.0-3.0.2+hg111412/debian/xen-utils-3.0.xend.init @@ -0,0 +1,65 @@ +#! /bin/sh + +PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin +DAEMON=/usr/sbin/xend +NAME=xend +DESC=XEN +XENSTORED_RUN_DIR="/var/run/xenstored" + +test -x $DAEMON || exit 0 +test -e /proc/xen/privcmd || exit 0 +grep -q "control_d" /proc/xen/capabilities || exit 0 + +if [ ! -d /var/run/xenstored ] ; then + mkdir -p /var/run/xenstored +fi + +# Wait for Xend to be up +await_daemons_up () { + i=1 + rets=10 + xend status + while [ $? -ne 0 -a $i -lt $rets ]; do + sleep 1 + echo -n . + i=$(($i + 1)) + xend status + done +} + + +set -e + +case "$1" in + start) + echo -n "Starting $DESC: " + [ -d "$XENSTORED_RUN_DIR" ] || mkdir -p "$XENSTORED_RUN_DIR" + modprobe blkbk + modprobe netbk + modprobe netloop + /usr/sbin/xend start + await_daemons_up + echo "$NAME." + ;; + stop) + echo -n "Stopping $DESC: " + /usr/sbin/xend stop + echo "$NAME." + ;; + restart|force-reload) + echo -n "Restarting $DESC: " + modprobe blkbk + modprobe netbk + modprobe netloop + /usr/sbin/xend restart + await_daemons_up + echo "$NAME." + ;; + *) + N=/etc/init.d/xen-utils + echo "Usage: $N {start|stop|restart|force-reload}" >&2 + exit 1 + ;; +esac + +exit 0 --- xen-3.0-3.0.2+hg111412.orig/debian/changelog +++ xen-3.0-3.0.2+hg111412/debian/changelog @@ -0,0 +1,323 @@ +xen-3.0 (3.0.2+hg111412-3) edgy; urgency=low + + * Fix FTBFS. + + -- Chuck Short Mon, 11 Sep 2006 06:57:22 -0400 + +xen-3.0 (3.0.2+hg111412-2) edgy; urgency=low + + * Removed blktabctrl. + * Changed init script to load the necessary modules when Xen starts. + + -- Chuck Short Sun, 10 Sep 2006 17:49:39 -0400 + +xen-3.0 (3.0.2+hg111412-1) edgy; urgency=low + + * New version, based off of changeset 11412. + * Dropped libdir patch and compile_date patch. + * Refactored ubuntu-fixes. + + -- Chuck Short Sun, 3 Sep 2006 19:49:50 -0400 + +xen-3.0 (3.0.2+hg11127-9) edgy; urgency=low + + * Fix thinko. (Closes: #58076) + + -- Chuck Short Fri, 1 Sep 2006 08:35:30 -0400 + +xen-3.0 (3.0.2+hg11127-8) edgy; urgency=low + + * Added missing blktapctrl. [#57859] + + -- Chuck Short Sun, 27 Aug 2006 09:41:51 -0400 + +xen-3.0 (3.0.2+hg11127-7) edgy; urgency=low + + * Fix dependency problem on amd64 + + -- Chuck Short Sun, 13 Aug 2006 19:07:30 -0400 + +xen-3.0 (3.0.2+hg11127-6) edgy; urgency=low + + * Added amd64 support. + * Added suggestion for better error detection. (Closes: #55217). + * Added patch from Ian for better xen hotplug scripts performance + improvement. (Closes #55218). + * Added libc6-dev-amd64 as a build-depends for amd64. + + -- Chuck Short Mon, 7 Aug 2006 18:57:26 -0400 + +xen-3.0 (3.0.2+hg11127-5) edgy; urgency=low + + * Fixed overzealus removal of amd64. + + -- Chuck Short Wed, 2 Aug 2006 18:14:22 -0400 + +xen-3.0 (3.0.2+hg11127-4) edgy; urgency=low + + * Removed amd64 support for now since it is not building properly. + + -- Chuck Short Wed, 2 Aug 2006 10:43:13 -0400 + +xen-3.0 (3.0.2+hg11127-3) edgy; urgency=low + + * Changed /etc/xen/scripts to use bash. + * Create /var/run/xend and /var/run/xenstored when running the + xend init script. + + -- Chuck Short Tue, 1 Aug 2006 19:34:46 -0400 + +xen-3.0 (3.0.2+hg11127-2) edgy; urgency=low + + * Added missing shared object files. + + -- Chuck Short Sat, 29 Jul 2006 22:32:26 -0400 + +xen-3.0 (3.0.2+hg11127-1) edgy; urgency=low + + * Initial ubuntu release. + * Updated hg snapshot 1174. + * Added compilation fixes. + * Resynchronized debian's patches. + * Fixed preious FTBFS. + + -- Chuck Short Sat, 22 Jul 2006 18:09:07 +0000 + +xen-3.0 (3.0.2+hg9697-1) unstable; urgency=low + + [ Guido Trotter ] + * Update Standards Version + * Merge upstream fixes trunk (upstream 3.0.2-3 + a couple of fixes) + [ Bastian Blank ] + * Add xen-ioemu-3.0 package to support HVM guests (closes: #368496) + + -- Guido Trotter Wed, 31 May 2006 10:50:05 +0200 + +xen-3.0 (3.0.2+hg9681-1) unstable; urgency=low + + * Update xen-hypervisor-3.0-i386 and xen-hypervisor-3.0-i386-pae + descriptions, specifying what the difference between the two packages is + (closes: #366019) + * Merge upstream fixes trunk + + -- Guido Trotter Thu, 18 May 2006 15:25:02 +0200 + +xen-3.0 (3.0.2+hg9656-1) unstable; urgency=low + + * Merge upstream fixes trunk + - This includes a fix for CVE-2006-1056 + + -- Guido Trotter Thu, 27 Apr 2006 17:34:03 +0200 + +xen-3.0 (3.0.2+hg9651-1) unstable; urgency=low + + * Merge upstream fixes trunk + * Fix PAE disabled in pae build (Closes: #364875) + + -- Julien Danjou Wed, 26 Apr 2006 13:19:39 +0200 + +xen-3.0 (3.0.2+hg9646-1) unstable; urgency=low + + [ Guido Trotter ] + * Merge upstream fixes trunk + + [ Bastian Blank ] + * debian/patches/libdir.dpatch: Update to make xm save work + + -- Julien Danjou Mon, 24 Apr 2006 18:02:07 +0200 + +xen-3.0 (3.0.2+hg9611-1) unstable; urgency=low + + * Merge upstream bug fixes + * Fix bug with xend init.d script + + -- Julien Danjou Wed, 12 Apr 2006 17:35:35 +0200 + +xen-3.0 (3.0.2+hg9598-1) unstable; urgency=low + + * New upstream release + * Fix copyright file + + -- Julien Danjou Mon, 10 Apr 2006 17:02:55 +0200 + +xen-3.0 (3.0.1+hg8762-1) unstable; urgency=low + + * The "preserve our homes" release + * Now cooperatively maintained by the Debian Xen Team + * New upstream release (closes: #327493, #342249) + * Build depend on transfig (closes: #321157) + * Use gcc rather than gcc-3.4 to compile (closes: #323698) + * Split xen-hypervisor-3.0 and xen-utils-3.0 + * Build both normal and pae hypervisor packages + * Change maintainer and add uploaders field + * Add force-reload support for init script xendomains + * Remove dependency against bash + * Bump standards version to 3.6.2.2 + * xen-utils-3.0 conflicts and replaces xen + * Add dpatch structure to the package + * Remove build-dependency on gcc (it's build essential anyway) + * Make SrvServer.py not executable + * Create NEWS.Debian file with important upgrade notices + * Update copyright file + * Remove the linux-patch-xen package + * Removed useless build-dependencies: libncurses5-dev, wget + * Changed xendomains config path to /etc/default + * xen-utils-3.0 now provides xen-utils and xen-hypervisor-3.0-i386 & + xen-hypervisor-3.0-i386-pae & xen-hypervizor-amd64 now provide + xen-hypervisor + * Made xen-utils-3.0.postinst more fault-tolerant, so that upgrading + xen2 -> xen3 don't fail because of a running xen2 hypervisor + * Updated the "Replaces & Conflicts" + * Install only and correctly udev files + * Compile date is no more in current locale + * Add patch which add the debian version and maintainer in the version + string and removes the banner. + * Don't install unusable cruft in xen-utils + * Remove libxen packages (no stable API/ABI) + + -- Julien Danjou Wed, 5 Apr 2006 16:05:07 +0200 + +xen (2.0.6-1) unstable; urgency=low + + * Patches applied upstream: non-xen-init-exit.patch, add-build.patch, + python-install.patch, disable-html-docs.patch. + * New upstream released. Closes: #311336. + * Remove comparison to UML from xen short description. Closes: #317066. + * Make packages conflicts with 1.2 doc debs. Closes: #304285. + * Add iproute to xen depends, as it uses /bin/ip. Closes: #300488, + #317468. + + -- Adam Heath Wed, 06 Jul 2005 12:35:50 -0500 + +xen (2.0.5-3) experimental; urgency=low + + * Change priority/section to match the overrides file. + + -- Adam Heath Fri, 18 Mar 2005 12:43:50 -0600 + +xen (2.0.5-2) experimental; urgency=low + + * Mike McCallister , + Tommi Virtanen , Tom Hibbert : + Fix missing '.' in update-rc.d call in xen.postinst. Closes: #299384 + + -- Adam Heath Fri, 18 Mar 2005 11:39:56 -0600 + +xen (2.0.5-1) experimental; urgency=low + + * New upstream. + * Remove pic-lib.patch, tools-misc-TARGETS.patch, and clean-mttr.patch + as they have been applied upstream(in various forms). + * xend now starts at priority 20, stops at 21, while xendomains starts + at 21, and stops at 20. + + -- Adam Heath Fri, 11 Mar 2005 14:33:33 -0600 + +xen (2.0.4-4) experimental; urgency=low + + * Bah, major booboo. Add /boot to debian/xen.install, so xen.gz will + get shipped. Reported by Clint Adams . + + -- Adam Heath Tue, 15 Feb 2005 13:00:57 -0600 + +xen (2.0.4-3) experimental; urgency=low + + * Fix file overlap(/usr/share/doc/xen/examples/*) between xen and + xen-docs. Reported by Tupshin Harper . + + -- Adam Heath Sun, 06 Feb 2005 01:22:45 -0600 + +xen (2.0.4-2) experimental; urgency=low + + * Fix kernel patch generation. It was broken when I integrated with + debian's kernel source. I used a symlink, and diff doesn't follow + those. + + -- Adam Heath Sat, 05 Feb 2005 18:16:35 -0600 + +xen (2.0.4-1) experimental; urgency=low + + * New upstream. + * xen.deb can now install on a plain kernel; that is, the init scripts + exit successfully if /proc/xen/privcmd doesn't exist. This allows + for dual-boot setups. + * Manpages do not yet exist xend, xenperf, xensv, xfrd, nor xm. xend + xfrd are daemons, and take little if any options. I've not had a need + to use xenperf nor xensv yet. xm has nice built in help(xm help). + * Upstream now requires either linux 2.4.29, or 2.6.10. Since 2.4.29 is + not yet in debian, disable the 2.4 patch generation. Closes: #271245. + * Not certain how the kernel-patch-xen was empty. It's not now, with + the repackaging. Closes: #272299. + * Xen no longer produces kernel images, so problems about missing features + are no longer valid. Closes: #253924. + * Acknowledge nmu bugs: + * No longer build-depend on gcc 3.3, as the default gcc works. Closes: + #243048. + + -- Adam Heath Sat, 05 Feb 2005 18:04:27 -0600 + +xen (2.0.3-0.1) unstable; urgency=low + + * Changes from Tommi Virtanen: + * Added dh-kpatches and libcurl3-dev to Build-Depends. + * Add /etc/xen/sv/params.py and /etc/xen/xend/params.py. + * Add xmexample1 and xmexample2 to xen/doc/examples. + + -- Adam Heath Wed, 26 Jan 2005 10:55:07 -0600 + +xen (2.0.3-0) unstable; urgency=low + + * New upstream. Closes: #280733. + * Repackaged from scratch. + * Using unreleased patch management system. See debian/README.build. + * After extracting the .dsc, there are no special steps needed + * Those wanting to change the source, use the normal procedures for + any package, including using interdiff(or other tool) to send a + patch to me or the bts. + * No longer try to do anything fancy with regard to the layout of the + built kernels. Now, only patches are distributed. Please make use of + the xen support in kernel-package. + * Early preview release to #debian-devel. + + -- Adam Heath Tue, 25 Jan 2005 13:24:54 -0600 + +xen (1.2-4.1) unstable; urgency=high + + * NMU + * Remove gcc-3.2 from Build-Depends as isn't used during build + (Closes: #243048) + + -- Frank Lichtenheld Sat, 21 Aug 2004 17:42:28 +0200 + +xen (1.2-4) unstable; urgency=low + + * Added xen-docs.README.Debian, which explains the kernel image layout, + and contains references on the locations differ from what is mentioned + by the upstream documentation. Closes: #230345. + + -- Adam Heath Fri, 26 Mar 2004 17:36:41 -0600 + +xen (1.2-3) unstable; urgency=low + + * Add kernel-source-2.4.25 and kernel-patch-debian-2.4.25 to + Build-Depends-Indep. + + -- Adam Heath Tue, 23 Mar 2004 20:14:39 -0600 + +xen (1.2-2) unstable; urgency=low + + * xen: moved /boot/xen.gz to /usr/lib/kernels/xen-i386/images/vmlinuz + * kernel-image, kernel-modules: swapped i386/xeno to xeno/i386 in + /usr/lib/kernels. + * Add kernel-patch-nfs-swap deb. + * Apply additional patches to kernel-image-xen: + * nfs-group + * nfs-swap + + -- Adam Heath Thu, 04 Mar 2004 12:47:47 -0600 + +xen (1.2-1) unstable; urgency=low + + * Initial version. + + -- Adam Heath Tue, 02 Mar 2004 13:21:52 -0600 --- xen-3.0-3.0.2+hg111412.orig/debian/xen-utils-3.0.install +++ xen-3.0-3.0.2+hg111412/debian/xen-utils-3.0.install @@ -0,0 +1,20 @@ +etc/udev/*.rules +etc/xen/auto +etc/xen/scripts +etc/xen/xend* +usr/bin/xenstore* +usr/lib/python2.4 +usr/lib/xen/bin/xc* +usr/lib/xen/bin/xen* +usr/lib/*.so.* +usr/lib/*.a.* +usr/lib/libxenstore.so +usr/sbin/xenconsoled +usr/sbin/xend +usr/sbin/xenstored +usr/sbin/xentop +usr/sbin/xm +usr/share/man/man5 +usr/share/man/man8/xentop.8 +usr/share/man/man8/xm.8 +var/log/xen --- xen-3.0-3.0.2+hg111412.orig/debian/control +++ xen-3.0-3.0.2+hg111412/debian/control @@ -0,0 +1,99 @@ +Source: xen-3.0 +Section: misc +Priority: extra +Maintainer: Debian Xen Team +Uploaders: Julien Danjou , Jeremy T. Bouse , Guido Trotter , Bastian Blank +Build-Depends: tetex-bin, tetex-extra, gs-common, debhelper (>= 4), libcurl3-dev | libcurl-dev, python-dev, python (>= 2.2), transfig, libsdl1.2-dev, libvncserver-dev, libjpeg-dev, bzip2, bcc, dpatch, lsb-release, libc6-dev-i386 [amd64] +Standards-Version: 3.7.2.0 + +Package: xen-hypervisor-3.0-i386 +Architecture: i386 +Provides: xen-hypervisor, xen-hypervisor-3.0, xen-hypervisor-i386 +Description: The Xen Hypervisor for i386 + The hypervisor is the "core" for XEN itself. It gets booted by the boot loader + and controls cpu and memory, sharing them between your administrative domain + (Domain 0) and the virtual guest systems. + . + In order to boot a XEN system along with this package you also need a kernel + specifically crafted to work as the Domain 0, mediating hardware access for + XEN itself. An example config file for this kernel and documentation on how + to build it can be found in the xen-docs package. + . + This version of the hypervisor is built with support for systems with up to + 4GB of memory. If you have more please install the -pae version instead. + +Package: xen-hypervisor-3.0-amd64 +Architecture: amd64 +Provides: xen-hypervisor, xen-hypervisor-3.0, xen-hypervisor-amd64 +Description: The Xen Hypervisor for amd64 + The hypervisor is the "core" for XEN itself. It gets booted by the boot loader + and controls cpu and memory, sharing them between your administrative domain + (Domain 0) and the virtual guest systems. + . + In order to boot a XEN system along with this package you also need a kernel + specifically crafted to work as the Domain 0, mediating hardware access for + XEN itself. An example config file for this kernel and documentation on how + to build it can be found in the xen-docs package. + +Package: xen-hypervisor-3.0-i386-pae +Architecture: i386 +Provides: xen-hypervisor, xen-hypervisor-3.0, xen-hypervisor-i386-pae +Description: The Xen Hypervisor for i386 (pae enabled version) + The hypervisor is the "core" for XEN itself. It gets booted by the boot loader + and controls cpu and memory, sharing them between your administrative domain + (Domain 0) and the virtual guest systems. + . + In order to boot a XEN system along with this package you also need a kernel + specifically crafted to work as the Domain 0, mediating hardware access for + XEN itself. An example config file for this kernel and documentation on how + to build it can be found in the xen-docs package. + . + This version of the hypervisor is built with PAE enabled, in order to support + systems with more than 4GB of memory. If you have less than that you should + probably choose the non -pae version. + +Package: xen-utils-3.0 +Architecture: i386 amd64 +Depends: ${shlibs:Depends}, ${python:Depends}, xen-hypervisor-3.0, iproute, udev (>> 0.060) +Recommends: bridge-utils, libc6-xen +Provides: xen-utils +Conflicts: xen-utils, xen, libxen-python, libxen2.0, libxen2.0-dev +Description: XEN administrative tools + The userspace tools to manage a system virtualized through the XEN virtual + machine monitor. + +Package: xen-ioemu-3.0 +Architecture: i386 +Depends: ${shlibs:Depends}, xen-utils-3.0 (= ${Source-Version}) +Description: XEN administrative tools + The userspace tools to manage a system virtualized through the XEN virtual + machine monitor. + . + This package includes the utilities required to support HVM domains, which + allows full virtualization of unmodified operating systems, such as + Microsoft's Windows product line, and standard Linux kernels. + . + For this to work, you will need a CPU with hardware virtualization support, + such as Intel's CPUs with VT, or AMD's CPUs with Pacifica. + +Package: xen-ioemu--3.0-amd64 +Architecture: amd64 +Depends: ${shlibs:Depends}, xen-utils-3.0 (= ${Source-Version}) +Description: XEN administrative tools + The userspace tools to manage a system virtualized through the XEN virtual + machine monitor. + . + This package includes the utilities required to support HVM domains, which + allows full virtualization of unmodified operating systems, such as + Microsoft's Windows product line, and standard Linux kernels. + . + For this to work, you will need a CPU with hardware virtualization support, + such as Intel's CPUs with VT, or AMD's CPUs with Pacifica. + +Package: xen-docs-3.0 +Architecture: amd64 i386 +Description: documentation for XEN, a Virtual Machine Monitor + This package contains all the large documentation files for XEN. This + includes a description interface(both the api, and a nice explanation of + how XEN works). It also contains the VBD and Xeno howtos. + --- xen-3.0-3.0.2+hg111412.orig/debian/xen-utils-3.0.README.Debian +++ xen-3.0-3.0.2+hg111412/debian/xen-utils-3.0.README.Debian @@ -0,0 +1,95 @@ +Xen for Debian +-------------- + +* About /lib/tls: + + Since Xen guest machines have to work in non-contiguous areas of memory, + they cannot support a segmented glibc efficiently. If your glibc is + segmented Xen will have to emulate the support, with a high performance + penalty. To solve this problem you just have to execute this command: + + mv /lib/tls /lib/tls.disabled + + Unfortunately we cannot do this ourselves when you install Xen or at any + other time, without breaking the Debian Policy and thus provoke the Wrath of + the Gods. We know that this solution is not optimal, especially because + every time you upgrade the glibc package /lib/tls will be restored, and + you'll have to + + rm -rf /lib/tls.disabled + mv /lib/tls /lib/tls.disabled + + again. We'll be working towards a better solution, but for now this is it. + Please remember to always keep your system tls disabled. + + +* About the kernel: + + Unfortunately for now we cannot provide precompiled Linux Kernels with the + xen patch applied and configured to work in a Domain 0 or in an unprivileged + domain. The only thing we can give you is the patch, which is included in + the linux-patch-xen package. You are expected to install this package, + download a 2.6.12 kernel from kernel.org (this is the version supported by + xen right now. The patch will make it a 2.6.12.6+xen kernel) and roll your + own kernel. + + After you've done so you can add a section similar to this one to your + /boot/grub/menu.lst file in order to boot your xen system. (Only grub is + supported on Xen systems, if you're a LILO fan we're sorry, there's no way + you can use Xen without switching, and probably there will never be) + + title Debian Xen+GNU/Linux + root (hd0,0) + kernel /boot/xen.gz + module /boot/xen-linux-2.6.12.6xeno003 root=/dev/sda1 ro console=tty0 + boot + + Of course you have this example supplying your own kernel path and root + device in the module line in order to have a working Xen system after a + reboot. + + We will provide a "roll your own xen kernel" manual and example config files + later on. We also hope to be able to provide complete Xen kernels, sooner or + later, so don't despair! (Well, do, since in the meantime you have to do it + yourself anyway, if you want to try Xen... But don't give up now, compiling + a kernel is not hard, and trying Xen is worth learning how to do it!) + +* About networking: + + By default Xen modifies your networking configuration, creating a bridge. + To avoid breaking a machine's connection to the network the debian package + doesn't touch the network configuration unless requested. On the other hand + xen needs to connect the guest domains somewhere, in order for them to have + networking, and expects that the xen bridge exists. You should hand-tune + your networking configuration by editing /etc/xen/xend-config.sxp and + possibly /etc/network/interfaces to decide how to connect your domains to + the network. + +* About loop devices: + + If you plan hosting virtual domains with file backed block devices (ie. the + ones xen-tools creates by default) be careful about two issues: + + 1. Maximum number of loop devices + By default the loop driver supports a maximum of 8 loop devices. Of + course since every xen domain uses at least two (one for the data and one + for the swap) this number is absolutely insufficient. You should increase + it by adding a file named local-loop in /etc/modprobe.d containing the + string "options loop max_loop=128", if the loop driver is compiled as a + module, or by appending the string max_loop=128 to your kernel parameters + if the driver is in-kernel. Of course you can increase or decrease the + number 128 as you see fit. + + 2. Driver loading (only if loop is compiled as a module) + Normally the loop driver gets loaded when the first loop device is + accessed. When using udev, though, the loop devices get created only + after the driver gets loaded. This means that xen will fail if the loop + driver is not already loaded when it tries to start a file-backed virtual + domain. To fix this just add "loop" in your /etc/modules file, thus + forcing it to be loaded at boot time. + + +Kindly yours, + +Guido Trotter, for the Debian Xen Team. +(with a litte help from Ralph Passgang) --- xen-3.0-3.0.2+hg111412.orig/debian/rules +++ xen-3.0-3.0.2+hg111412/debian/rules @@ -0,0 +1,197 @@ +#!/usr/bin/make -f + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +DEB_HOST_ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH) +DEB_BUILD_ARCH := $(shell dpkg-architecture -qDEB_BUILD_ARCH) +srcver := $(shell dpkg-parsechangelog | awk '/^Version:/ {print $$2}') +VERSION := $(shell echo $(srcver) | sed -e 's,-[^-]*$$,,') +MAJOR := 3.0 +BUILD_DIR = debian/build +STAMPS_DIR = debian/stamps + +export DH_OPTIONS + +setup: $(STAMPS_DIR)/setup +$(STAMPS_DIR)/setup: $(BUILD_DIR) $(STAMPS_DIR) setup-docs setup-hypervisor setup-tools + dh_testdir + touch $@ + +srcfiles := $(filter-out debian, $(wildcard * .[^.]*)) +$(STAMPS_DIR)/setup-patch: + @rm -rf $(BUILD_DIR)/source + mkdir $(BUILD_DIR)/source + cp -a $(srcfiles) $(BUILD_DIR)/source + dpatch -d $(BUILD_DIR)/source apply-all + touch $@ + +$(STAMPS_DIR)/setup-docs: $(STAMPS_DIR)/setup-patch + @rm -rf $(BUILD_DIR)/build-docs + cp -a $(BUILD_DIR)/source/ $(BUILD_DIR)/build-docs + touch $@ + +$(STAMPS_DIR)/setup-hypervisor-%: $(STAMPS_DIR)/setup-patch + @rm -rf $(BUILD_DIR)/build-hypervisor-$* + cp -a $(BUILD_DIR)/source/ $(BUILD_DIR)/build-hypervisor-$* + touch $@ + +$(STAMPS_DIR)/setup-tools: $(STAMPS_DIR)/setup-patch + @rm -rf $(BUILD_DIR)/build-tools + cp -a $(BUILD_DIR)/source/ $(BUILD_DIR)/build-tools + touch $@ + +build: $(STAMPS_DIR)/build +$(STAMPS_DIR)/build: $(BUILD_DIR) $(STAMPS_DIR) $(STAMPS_DIR)/setup build-docs build-hypervisor build-tools + dh_testdir + touch $@ + +build-indep: + +$(STAMPS_DIR)/build-%: DIR=$(BUILD_DIR)/$(@F) + +$(STAMPS_DIR)/build-docs: $(STAMPS_DIR)/setup-docs + $(MAKE) -C $(DIR)/docs + touch $@ + +$(STAMPS_DIR)/build-hypervisor-amd64: $(STAMPS_DIR)/setup-hypervisor-amd64 + $(MAKE) -C $(DIR)/xen XEN_TARGET_ARCH=x86_64 + touch $@ + +$(STAMPS_DIR)/build-hypervisor-i386: $(STAMPS_DIR)/setup-hypervisor-i386 + $(MAKE) -C $(DIR)/xen XEN_TARGET_ARCH=x86_32 + touch $@ + +$(STAMPS_DIR)/build-hypervisor-i386-pae: $(STAMPS_DIR)/setup-hypervisor-i386-pae + $(MAKE) -C $(DIR)/xen XEN_TARGET_ARCH=x86_32 XEN_TARGET_X86_PAE=y pae=y + touch $@ + +$(STAMPS_DIR)/build-tools: $(STAMPS_DIR)/setup-tools + $(MAKE) -C $(DIR)/tools + touch $@ + +setup-docs:: $(STAMPS_DIR)/setup-docs +build-docs:: $(STAMPS_DIR)/build-docs +ifneq (,$(filter amd64, $(DEB_HOST_ARCH))) +build-hypervisor:: $(STAMPS_DIR)/build-hypervisor-amd64 +install-hypervisor:: install-hypervisor-amd64 +setup-hypervisor:: $(STAMPS_DIR)/setup-hypervisor-amd64 +endif +ifneq (,$(filter i386, $(DEB_HOST_ARCH))) +build-hypervisor:: $(STAMPS_DIR)/build-hypervisor-i386 +install-hypervisor:: install-hypervisor-i386 +setup-hypervisor:: $(STAMPS_DIR)/setup-hypervisor-i386 +build-hypervisor:: $(STAMPS_DIR)/build-hypervisor-i386-pae +install-hypervisor:: install-hypervisor-i386-pae +setup-hypervisor:: $(STAMPS_DIR)/setup-hypervisor-i386-pae +endif +ifneq (,$(filter amd64 i386 ia64, $(DEB_HOST_ARCH))) +build-tools:: $(STAMPS_DIR)/build-tools +install-tools-check:: install-tools +setup-tools:: $(STAMPS_DIR)/setup-tools +endif + +$(BUILD_DIR) $(STAMPS_DIR): + @[ -d $@ ] || mkdir $@ + +orig: ../orig/xen-$(MAJOR)-$(VERSION) + rsync --delete --exclude debian --exclude .svn --link-dest=../orig/xen-$(MAJOR)-$(VERSION)/ -av ../orig/xen-$(MAJOR)-$(VERSION)/ . + +../orig/xen-$(MAJOR)-$(VERSION): + if [ -f "../xen-$(MAJOR)_$(VERSION).orig.tar.gz" ]; then \ + mkdir -p ../orig; \ + tar -C ../orig -xzf ../xen-$(MAJOR)_$(VERSION).orig.tar.gz; \ + else \ + echo "Can't find orig tarball." >&2; \ + exit 1; \ + fi + +# This is to make dpatch-edit-patch work +unpatch: clean + +maintainerclean: + rm -rf $(filter-out .svn debian, $(wildcard * .[^.]*)) + +clean: + dh_testdir + rm -rf $(BUILD_DIR) $(STAMPS_DIR) + dh_clean + +install-arch: install-hypervisor install-tools-check + +install-indep: install-docs + +install-docs: DH_OPTIONS = -pxen-docs-$(MAJOR) +install-docs: + dh_testdir + dh_testroot + dh_clean -k + + $(MAKE) -C $(BUILD_DIR)/build-docs/docs install DESTDIR=$(CURDIR)/debian/tmp + dh_install --sourcedir=debian/tmp + +install-hypervisor-%: + dh_testdir + dh_testroot + dh_clean -k -pxen-hypervisor-$(MAJOR)-$* + + mkdir debian/xen-hypervisor-$(MAJOR)-$*/boot -p + cp $(BUILD_DIR)/build-hypervisor-$*/xen/xen.gz debian/xen-hypervisor-$(MAJOR)-$*/boot/xen-$(MAJOR)-$*.gz + #cp $(BUILD_DIR)/build-hypervisor-$*/xen/xen-syms debian/xen-hypervisor-$(MAJOR)-$*/boot/xen-$(MAJOR)-$*.gz + +install-tools: DH_OPTIONS = -pxen-utils-$(MAJOR) -pxen-ioemu-$(MAJOR) +install-tools: + dh_testdir + dh_testroot + dh_clean -k + + $(MAKE) -C $(BUILD_DIR)/build-docs/docs install DESTDIR=$(CURDIR)/debian/tmp + $(MAKE) -C $(BUILD_DIR)/build-tools/tools install XEN_PYTHON_NATIVE_INSTALL=1 DESTDIR=$(CURDIR)/debian/tmp DISTDIR=$(CURDIR)/debian/tmp + cp debian/scripts/network-dummy $(CURDIR)/debian/tmp/etc/xen/scripts + if [ "$(DEB_HOST_ARCH)" = "amd64" ]; then \ + mv $(CURDIR)/debian/tmp/usr/lib64/* $(CURDIR)/debian/tmp/usr/lib; \ + rm -rf $(CURDIR)/debian/tmp/usr/lib64; \ + fi + dh_install --sourcedir=debian/tmp + +# Build architecture-independent files here. +binary-indep: install-indep + dh_testdir + dh_testroot + dh_installchangelogs -i + dh_installdocs -i + dh_installexamples -i + dh_link -i + dh_strip -i + dh_compress -i -X.pdf + dh_fixperms -i + dh_installdeb -i + dh_shlibdeps -i + dh_gencontrol -i + dh_md5sums -i + dh_builddeb -i + +# Build architecture-dependent files here. +binary-arch: install-arch + dh_testdir + dh_testroot + dh_installchangelogs -s + dh_installdocs -s + dh_installexamples -s + dh_installinit -p xen-utils-$(MAJOR) --name xend -- defaults 20 21 + dh_installinit -p xen-utils-$(MAJOR) --name xendomains --no-restart-on-upgrade -- defaults 21 20 + dh_installman -s + dh_link -s + dh_strip -s + dh_compress -s + dh_fixperms -s + dh_python -s + dh_makeshlibs -s + dh_installdeb -s + dh_shlibdeps -s + dh_gencontrol -s + dh_md5sums -s + dh_builddeb -s + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install --- xen-3.0-3.0.2+hg111412.orig/debian/scripts/network-dummy +++ xen-3.0-3.0.2+hg111412/debian/scripts/network-dummy @@ -0,0 +1,3 @@ +#!/bin/sh + +exit 0 --- xen-3.0-3.0.2+hg111412.orig/debian/xen-utils-3.0.NEWS +++ xen-3.0-3.0.2+hg111412/debian/xen-utils-3.0.NEWS @@ -0,0 +1,25 @@ +xen-3.0 (3.0.1-1) unstable; urgency=low + + If you are upgrading from official xen 2.0.6 packages (or unofficial 2.0.7 + ones) be careful: manual intervention is needed before you can boot into your + new Xen 3.0 system. In particular you *must* upgrade both your Domain 0 + kernel and your unprivileged domains ones with a xen-flavored version of + Linux 2.6.12. Instructions for how to do so are provided in the + README.Debian file, as they are useful for new users of Xen too. + + Also please note that Xen 2.0.6 has a bug and before getting removed doesn't + shutdown your domains. This, together with the fact that xen-utils for Xen + 3.0 is incompatible with the 2.0 hypervisor means that you won't be able to + control your domains after upgrading, other than through the network. So + please shut them all down before upgrading to this packages. + + If you want to be really sure that nothing will go wrong please reboot into + a normal Linux system before upgrading, upgrade from there, build the new + kernels, and only then start your new Xen 3.0 system. + + On the good news side: Xen 3.0 is able to automatically baloon down your + Domain 0 to the value specified in /etc/xen/xend-config.sxp. For it to be + able to do so, just remove your "dom0_mem=" option from the xen kernel line in + your grub.conf, and also the "mem=" option from your linux module line. + + -- Guido Trotter Tue, 21 Feb 2006 09:07:26 +0100 --- xen-3.0-3.0.2+hg111412.orig/debian/compat +++ xen-3.0-3.0.2+hg111412/debian/compat @@ -0,0 +1 @@ +4 --- xen-3.0-3.0.2+hg111412.orig/debian/xen-utils-3.0.xendomains.init +++ xen-3.0-3.0.2+hg111412/debian/xen-utils-3.0.xendomains.init @@ -0,0 +1,473 @@ +#!/bin/bash +# +# /etc/init.d/xendomains +# Start / stop domains automatically when domain 0 boots / shuts down. +# +# chkconfig: 345 99 00 +# description: Start / stop Xen domains. +# +# This script offers fairly basic functionality. It should work on Redhat +# but also on LSB-compliant SuSE releases and on Debian with the LSB package +# installed. (LSB is the Linux Standard Base) +# +# Based on the example in the "Designing High Quality Integrated Linux +# Applications HOWTO" by Avi Alkalay +# +# +### BEGIN INIT INFO +# Provides: xendomains +# Required-Start: $syslog $remote_fs xend +# Should-Start: +# Required-Stop: $syslog $remote_fs xend +# Should-Stop: +# Default-Start: 3 4 5 +# Default-Stop: 0 1 2 6 +# Default-Enabled: yes +# Short-Description: Start/stop secondary xen domains +# Description: Start / stop domains automatically when domain 0 +# boots / shuts down. +### END INIT INFO + +# Correct exit code would probably be 5, but it's enough +# if xend complains if we're not running as privileged domain +if ! [ -e /proc/xen/privcmd -a -x /usr/sbin/xm ]; then + exit 0 +fi + +LOCKFILE=/var/lock/xendomains +XENDOM_CONFIG=/etc/default/xendomains + +test -r $XENDOM_CONFIG || { echo "$XENDOM_CONFIG not existing"; + if [ "$1" = "stop" ]; then exit 0; + else exit 6; fi; } + +. $XENDOM_CONFIG + +_cmd=$1 +declare -a _SMSG +if test "${_cmd}" = "status"; then + _SMSG=(running dead dead unused unknown) + _RC_UNUSED=3 +else + _SMSG=(done failed failed missed failed skipped unused failed failed) + _RC_UNUSED=6 +fi +. /lib/lsb/init-functions +echo_rc() +{ + if test ${_RC_RV} = 0; then + log_success_msg " [${_SMSG[${_RC_RV}]}] " + else + log_failure_msg " [${_SMSG[${_RC_RV}]}] " + fi +} +rc_reset() { _RC_RV=0; } +rc_failed() +{ + if test -z "$1"; then + _RC_RV=1; + elif test "$1" != "0"; then + _RC_RV=$1; + fi + return ${_RC_RV} +} +rc_check() +{ + return rc_failed $? +} +rc_status() +{ + rc_failed $? + if test "$1" = "-r"; then _RC_RV=0; shift; fi + if test "$1" = "-s"; then rc_failed 5; echo_rc; rc_failed 3; shift; fi + if test "$1" = "-u"; then rc_failed ${_RC_UNUSED}; echo_rc; rc_failed 3; shift; fi + if test "$1" = "-v"; then echo_rc; shift; fi + if test "$1" = "-r"; then _RC_RV=0; shift; fi + return ${_RC_RV} +} +rc_exit() { exit ${_RC_RV}; } +rc_active() +{ + if test -z "$RUNLEVEL"; then read RUNLEVEL REST < <(/sbin/runlevel); fi + if test -e /etc/init.d/S[0-9][0-9]${1}; then return 0; fi + return 1 +} + +if ! which usleep >&/dev/null +then + usleep() + { + if [ -n "$1" ] + then + sleep $(( $1 / 1000000 )) + fi + } +fi + +# Reset status of this service +rc_reset + +## +# Returns 0 (success) if the given parameter names a directory, and that +# directory is not empty. +# +contains_something() +{ + if [ -d "$1" ] && [ `/bin/ls $1 | wc -l` -gt 0 ] + then + return 0 + else + return 1 + fi +} + +# read name from xen config file +rdname() +{ + NM=$(xm create --quiet --dryrun --defconfig "$1" | + sed -n 's/^.*(name \(.*\))$/\1/p') +} + +rdnames() +{ + NAMES= + if ! contains_something "$XENDOMAINS_AUTO" + then + return + fi + for dom in $XENDOMAINS_AUTO/*; do + rdname $dom + if test -z $NAMES; then + NAMES=$NM; + else + NAMES="$NAMES|$NM" + fi + done +} + +parseln() +{ + name=`echo "$1" | cut -c0-17` + name=${name%% *} + rest=`echo "$1" | cut -c18- ` + read id mem cpu vcpu state tm < <(echo "$rest") +} + +is_running() +{ + rdname $1 + RC=1 + while read LN; do + parseln "$LN" + if test $id = 0; then continue; fi + case $name in + ($NM) + RC=0 + ;; + esac + done < <(xm list | grep -v '^Name') + return $RC +} + +start() +{ + if [ -f $LOCKFILE ]; then + echo -n "xendomains already running (lockfile exists)" + return; + fi + + if [ "$XENDOMAINS_RESTORE" = "true" ] && + contains_something "$XENDOMAINS_SAVE" + then + mkdir -p $(dirname "$LOCKFILE") + touch $LOCKFILE + echo -n "Restoring Xen domains:" + for dom in $XENDOMAINS_SAVE/*; do + echo -n " ${dom##*/}" + xm restore $dom + if [ $? -ne 0 ]; then + rc_failed $? + echo -n '!' + else + # mv $dom ${dom%/*}/.${dom##*/} + rm $dom + fi + done + echo . + fi + + if contains_something "$XENDOMAINS_AUTO" + then + touch $LOCKFILE + echo -n "Starting auto Xen domains:" + # We expect config scripts for auto starting domains to be in + # XENDOMAINS_AUTO - they could just be symlinks to files elsewhere + + # Create all domains with config files in XENDOMAINS_AUTO. + # TODO: We should record which domain name belongs + # so we have the option to selectively shut down / migrate later + for dom in $XENDOMAINS_AUTO/*; do + echo -n " ${dom##*/}" + if is_running $dom; then + echo -n "(skip)" + else + xm create --quiet --defconfig $dom + if [ $? -ne 0 ]; then + rc_failed $? + echo -n '!' + else + usleep $XENDOMAINS_CREATE_USLEEP + fi + fi + done + fi +} + +all_zombies() +{ + while read LN; do + parseln "$LN" + if test $id = 0; then continue; fi + if test "$state" != "-b---d" -a "$state" != "-----d"; then + return 1; + fi + done < <(xm list | grep -v '^Name') + return 0 +} + +# Wait for max $XENDOMAINS_STOP_MAXWAIT for xm $1 to finish; +# if it has not exited by that time kill it, so the init script will +# succeed within a finite amount of time; if $2 is nonnull, it will +# kill the command as well as soon as no domain (except for zombies) +# are left (used for shutdown --all). +watchdog_xm() +{ + if test -z "$XENDOMAINS_STOP_MAXWAIT" -o "$XENDOMAINS_STOP_MAXWAIT" = "0"; then + exit + fi + usleep 20000 + for no in `seq 0 $XENDOMAINS_STOP_MAXWAIT`; do + # exit if xm save/migrate/shutdown is finished + PSAX=`ps axlw | grep "xm $1" | grep -v grep` + if test -z "$PSAX"; then exit; fi + echo -n "."; sleep 1 + # go to kill immediately if there's only zombies left + if all_zombies && test -n "$2"; then break; fi + done + sleep 1 + read PSF PSUID PSPID PSPPID < <(echo "$PSAX") + # kill xm $1 + kill $PSPID >/dev/null 2>&1 +} + +stop() +{ + # Collect list of domains to shut down + if test "$XENDOMAINS_AUTO_ONLY" = "true"; then + rdnames + fi + echo -n "Shutting down Xen domains:" + while read LN; do + parseln "$LN" + if test $id = 0; then continue; fi + echo -n " $name" + if test "$XENDOMAINS_AUTO_ONLY" = "true"; then + case $name in + ($NAMES) + # nothing + ;; + (*) + echo -n "(skip)" + continue + ;; + esac + fi + # XENDOMAINS_SYSRQ chould be something like just "s" + # or "s e i u" or even "s e s i u o" + # for the latter, you should set XENDOMAINS_USLEEP to 1200000 or so + if test -n "$XENDOMAINS_SYSRQ"; then + for sysrq in $XENDOMAINS_SYSRQ; do + echo -n "(SR-$sysrq)" + xm sysrq $id $sysrq + if test $? -ne 0; then + rc_failed $? + echo -n '!' + fi + # usleep just ignores empty arg + usleep $XENDOMAINS_USLEEP + done + fi + if test "$state" = "-b---d" -o "$state" = "-----d"; then + echo -n "(zomb)" + continue + fi + if test -n "$XENDOMAINS_MIGRATE"; then + echo -n "(migr)" + watchdog_xm migrate & + WDOG_PID=$! + xm migrate $id $XENDOMAINS_MIGRATE + if test $? -ne 0; then + rc_failed $? + echo -n '!' + kill $WDOG_PID >/dev/null 2>&1 + else + kill $WDOG_PID >/dev/null 2>&1 + continue + fi + fi + if test -n "$XENDOMAINS_SAVE"; then + echo -n "(save)" + watchdog_xm save & + WDOG_PID=$! + mkdir -p "$XENDOMAINS_SAVE" + xm save $id $XENDOMAINS_SAVE/$name + if test $? -ne 0; then + rc_failed $? + echo -n '!' + kill $WDOG_PIG >/dev/null 2>&1 + else + kill $WDOG_PIG >/dev/null 2>&1 + continue + fi + fi + if test -n "$XENDOMAINS_SHUTDOWN"; then + # XENDOMAINS_SHUTDOWN should be "--halt --wait" + echo -n "(shut)" + watchdog_xm shutdown & + WDOG_PID=$! + xm shutdown $id $XENDOMAINS_SHUTDOWN + if test $? -ne 0; then + rc_failed $? + echo -n '!' + fi + kill $WDOG_PIG >/dev/null 2>&1 + fi + done < <(xm list | grep -v '^Name') + + # NB. this shuts down ALL Xen domains (politely), not just the ones in + # AUTODIR/* + # This is because it's easier to do ;-) but arguably if this script is run + # on system shutdown then it's also the right thing to do. + if ! all_zombies && test -n "$XENDOMAINS_SHUTDOWN_ALL"; then + # XENDOMAINS_SHUTDOWN_ALL should be "--all --halt --wait" + echo -n " SHUTDOWN_ALL " + watchdog_xm shutdown 1 & + WDOG_PID=$! + xm shutdown $XENDOMAINS_SHUTDOWN_ALL + if test $? -ne 0; then + rc_failed $? + echo -n '!' + fi + kill $WDOG_PID >/dev/null 2>&1 + fi + + # Unconditionally delete lock file + rm -f $LOCKFILE +} + +check_domain_up() +{ + while read LN; do + parseln "$LN" + if test $id = 0; then continue; fi + case $name in + ($1) + return 0 + ;; + esac + done < <(xm list | grep -v "^Name") + return 1 +} + +check_all_auto_domains_up() +{ + if ! contains_something "$XENDOMAINS_AUTO" + then + return 0 + fi + missing= + for nm in $XENDOMAINS_AUTO/*; do + rdname $nm + found=0 + if check_domain_up "$NM"; then + echo -n " $name" + else + missing="$missing $NM" + fi + done + if test -n "$missing"; then + echo -n " MISS AUTO:$missing" + return 1 + fi + return 0 +} + +check_all_saved_domains_up() +{ + if ! contains_something "$XENDOMAINS_SAVE" + then + return 0 + fi + missing=`/bin/ls $XENDOMAINS_SAVE` + echo -n " MISS SAVED: " $missing + return 1 +} + +# This does NOT necessarily restart all running domains: instead it +# stops all running domains and then boots all the domains specified in +# AUTODIR. If other domains have been started manually then they will +# not get restarted. +# Commented out to avoid confusion! + +restart() +{ + stop + start +} + +reload() +{ + restart +} + + +case "$1" in + start) + start + rc_status + if test -f $LOCKFILE; then rc_status -v; fi + ;; + + stop) + stop + rc_status -v + ;; + + restart) + restart + ;; + force-reload|reload) + reload + ;; + + status) + echo -n "Checking for xendomains:" + if test ! -f $LOCKFILE; then + rc_failed 3 + else + check_all_auto_domains_up + rc_status + check_all_saved_domains_up + rc_status + fi + rc_status -v + ;; + + *) + echo "Usage: $0 {start|stop|restart|reload|force-reload|status}" + rc_failed 3 + rc_status -v + ;; +esac + +rc_exit --- xen-3.0-3.0.2+hg111412.orig/debian/xen-utils-3.0.postinst +++ xen-3.0-3.0.2+hg111412/debian/xen-utils-3.0.postinst @@ -0,0 +1,27 @@ +#!/bin/sh + +set -e + +case "$1" in +configure) + # Set up udev rules symlink + L="/etc/udev/rules.d/z60_xen-backend.rules" + [ ! -z "$2" ] || [ -e "$L" ] || [ -L "$L" ] || ln -s ../xen-backend.rules "$L" + + XENSTORED_DIR="/var/lib/xenstored" + [ ! -d "${XENSTORED_DIR}" ] && install -d -m 0700 "${XENSTORED_DIR}" + + ;; + +abort-upgrade|abort-remove|abort-deconfigure) + ;; + +*) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +#DEBHELPER# + +exit 0 --- xen-3.0-3.0.2+hg111412.orig/debian/xen-docs-3.0.install +++ xen-3.0-3.0.2+hg111412/debian/xen-docs-3.0.install @@ -0,0 +1 @@ +usr/share/doc/xen/pdf/* usr/share/doc/xen-docs-3.0 --- xen-3.0-3.0.2+hg111412.orig/debian/patches/noblktap.dpatch +++ xen-3.0-3.0.2+hg111412/debian/patches/noblktap.dpatch @@ -0,0 +1,48 @@ +#!/bin/sh /usr/share/dpatch/dpatch-run + +@DPATCH@ +diff -Naur xen-3.0-3.0.2+hg111412.orig/tools/Makefile xen-3.0-3.0.2+hg111412/tools/Makefile +--- xen-3.0-3.0.2+hg111412.orig/tools/Makefile 2006-09-03 17:17:31.000000000 -0400 ++++ xen-3.0-3.0.2+hg111412/tools/Makefile 2006-09-10 18:09:43.000000000 -0400 +@@ -17,7 +17,6 @@ + SUBDIRS-$(VTPM_TOOLS) += vtpm + SUBDIRS-y += xenstat + SUBDIRS-y += libaio +-SUBDIRS-y += blktap + + # These don't cross-compile + ifeq ($(XEN_COMPILE_ARCH),$(XEN_TARGET_ARCH)) +diff -Naur xen-3.0-3.0.2+hg111412.orig/tools/misc/xend xen-3.0-3.0.2+hg111412/tools/misc/xend +--- xen-3.0-3.0.2+hg111412.orig/tools/misc/xend 2006-09-03 17:17:32.000000000 -0400 ++++ xen-3.0-3.0.2+hg111412/tools/misc/xend 2006-09-10 18:07:27.000000000 -0400 +@@ -92,10 +92,6 @@ + def start_consoled(): + if os.fork() == 0: + os.execvp('xenconsoled', ['xenconsoled']) +- +-def start_blktapctrl(): +- if os.fork() == 0: +- os.execvp('blktapctrl', ['blktapctrl']) + + def main(): + try: +@@ -110,19 +106,16 @@ + elif sys.argv[1] == 'start': + start_xenstored() + start_consoled() +- start_blktapctrl() + return daemon.start() + elif sys.argv[1] == 'trace_start': + start_xenstored() + start_consoled() +- start_blktapctrl() + return daemon.start(trace=1) + elif sys.argv[1] == 'stop': + return daemon.stop() + elif sys.argv[1] == 'restart': + start_xenstored() + start_consoled() +- start_blktapctrl() + return daemon.stop() or daemon.start() + elif sys.argv[1] == 'status': + return daemon.status() --- xen-3.0-3.0.2+hg111412.orig/debian/patches/00list +++ xen-3.0-3.0.2+hg111412/debian/patches/00list @@ -0,0 +1,6 @@ +manpages +default-network +ubuntu-fixes +compiler_fixes +xen-scripts +noblktap --- xen-3.0-3.0.2+hg111412.orig/debian/patches/ubuntu-fixes.dpatch +++ xen-3.0-3.0.2+hg111412/debian/patches/ubuntu-fixes.dpatch @@ -0,0 +1,15 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run + +@DPATCH@ +diff -Naur xen-3.0.orig/Config.mk xen-3.0/Config.mk +--- xen-3.0.orig/Config.mk 2006-07-21 16:30:02.000000000 +0000 ++++ xen-3.0/Config.mk 2006-07-21 17:00:07.000000000 +0000 +@@ -48,7 +48,7 @@ + + test-gcc-flag = $(shell $(1) -v --help 2>&1 | grep -q " $(2) " && echo $(2)) + +-CFLAGS += -Wall -Wstrict-prototypes ++CFLAGS += -Wall -Wstrict-prototypes -fno-stack-protector + + HOSTCFLAGS += $(call test-gcc-flag,$(HOSTCC),-Wdeclaration-after-statement) + CFLAGS += $(call test-gcc-flag,$(CC),-Wdeclaration-after-statement) --- xen-3.0-3.0.2+hg111412.orig/debian/patches/default-network.dpatch +++ xen-3.0-3.0.2+hg111412/debian/patches/default-network.dpatch @@ -0,0 +1,15 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run + +@DPATCH@ +diff -Naur xen-3.0.orig/tools/examples/xend-config.sxp xen-3.0/tools/examples/xend-config.sxp +--- xen-3.0.orig/tools/examples/xend-config.sxp 2006-07-21 16:30:03.000000000 +0000 ++++ xen-3.0/tools/examples/xend-config.sxp 2006-07-21 17:07:33.000000000 +0000 +@@ -86,7 +86,7 @@ + # two fake interfaces per guest domain. To do things like this, write + # yourself a wrapper script, and call network-bridge from it, as appropriate. + # +-(network-script network-bridge) ++(network-script network-dummy) + + # The script used to control virtual interfaces. This can be overridden on a + # per-vif basis when creating a domain or a configuring a new vif. The --- xen-3.0-3.0.2+hg111412.orig/debian/patches/manpages.dpatch +++ xen-3.0-3.0.2+hg111412/debian/patches/manpages.dpatch @@ -0,0 +1,259 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run + +@DPATCH@ +diff -Naur xen-3.0.orig/docs/Makefile xen-3.0/docs/Makefile +--- xen-3.0.orig/docs/Makefile 2006-07-21 16:30:02.000000000 +0000 ++++ xen-3.0/docs/Makefile 2006-07-21 17:13:36.000000000 +0000 +@@ -16,9 +16,9 @@ + mandir := /usr/share/man + + DOC_MAN5SRC := $(wildcard man/*.pod.5) +-DOC_MAN1SRC := $(wildcard man/*.pod.1) +-DOC_MAN1 := $(patsubst man/%.pod.1,man1/%.1,$(DOC_MAN1SRC)) ++DOC_MAN8SRC := $(wildcard man/*.pod.1) + DOC_MAN5 := $(patsubst man/%.pod.5,man5/%.5,$(DOC_MAN5SRC)) ++DOC_MAN8 := $(patsubst man/%.pod.1,man8/%.8,$(DOC_MAN8SRC)) + DOC_TEX := src/user.tex src/interface.tex + DOC_PS := $(patsubst src/%.tex,ps/%.ps,$(DOC_TEX)) + DOC_PDF := $(patsubst src/%.tex,pdf/%.pdf,$(DOC_TEX)) +@@ -59,12 +59,12 @@ + .PHONY: man-pages + man-pages: + @if which $(POD2MAN) 1>/dev/null 2>/dev/null; then \ +- $(MAKE) $(DOC_MAN1) $(DOC_MAN5); fi ++ $(MAKE) $(DOC_MAN5) $(DOC_MAN8); fi + +-man1/%.1: man/%.pod.1 Makefile ++man8/%.8: man/%.pod.1 Makefile + $(INSTALL_DIR) $(@D) +- $(POD2MAN) --release=$(VERSION) --name=`echo $@ | sed 's/^man1.//'| \ +- sed 's/.1//'` -s 1 -c "Xen" $< $@ ++ $(POD2MAN) --release=$(VERSION) --name=`echo $@ | sed 's/^man8.//'| \ ++ sed 's/.8//'` -s 8 -c "Xen" $< $@ + + man5/%.5: man/%.pod.5 Makefile + $(INSTALL_DIR) $(@D) +@@ -78,7 +78,7 @@ + rm -rf $(GFX) ps pdf html + rm -rf api + rm -rf man5 +- rm -rf man1 ++ rm -rf man8 + + .PHONY: distclean + distclean: clean +@@ -90,8 +90,8 @@ + cp -dR ps $(DESTDIR)$(pkgdocdir) + cp -dR pdf $(DESTDIR)$(pkgdocdir) + $(INSTALL_DIR) $(DESTDIR)$(mandir) +- cp -dR man1 $(DESTDIR)$(mandir) + cp -dR man5 $(DESTDIR)$(mandir) ++ cp -dR man8 $(DESTDIR)$(mandir) + [ ! -d html ] || cp -dR html $(DESTDIR)$(pkgdocdir) + + pdf/%.pdf: ps/%.ps +diff -Naur xen-3.0.orig/docs/Makefile.orig xen-3.0/docs/Makefile.orig +--- xen-3.0.orig/docs/Makefile.orig 1970-01-01 00:00:00.000000000 +0000 ++++ xen-3.0/docs/Makefile.orig 2006-07-21 16:30:02.000000000 +0000 +@@ -0,0 +1,118 @@ ++#!/usr/bin/make -f ++ ++VERSION = xen-unstable ++INSTALL = install ++INSTALL_DIR = $(INSTALL) -d -m0755 ++ ++PS2PDF := ps2pdf ++DVIPS := dvips ++LATEX := latex ++FIG2DEV := fig2dev ++LATEX2HTML := latex2html ++DOXYGEN := doxygen ++POD2MAN := pod2man ++ ++pkgdocdir := /usr/share/doc/xen ++mandir := /usr/share/man ++ ++DOC_MAN5SRC := $(wildcard man/*.pod.5) ++DOC_MAN1SRC := $(wildcard man/*.pod.1) ++DOC_MAN1 := $(patsubst man/%.pod.1,man1/%.1,$(DOC_MAN1SRC)) ++DOC_MAN5 := $(patsubst man/%.pod.5,man5/%.5,$(DOC_MAN5SRC)) ++DOC_TEX := src/user.tex src/interface.tex ++DOC_PS := $(patsubst src/%.tex,ps/%.ps,$(DOC_TEX)) ++DOC_PDF := $(patsubst src/%.tex,pdf/%.pdf,$(DOC_TEX)) ++DOC_HTML := $(patsubst src/%.tex,html/%/index.html,$(DOC_TEX)) ++ ++GFX = $(patsubst %.fig, %.eps, $(wildcard figs/*.fig)) ++ ++.PHONY: all ++all: build ++ ++.PHONY: build ++build: ps pdf html man-pages ++ rm -f *.aux *.dvi *.bbl *.blg *.glo *.idx *.ilg *.log *.ind *.toc ++ ++.PHONY: dev-docs ++dev-docs: python-dev-docs ++ ++.PHONY: ps ++ps: $(DOC_PS) ++ ++.PHONY: pdf ++pdf: $(DOC_PDF) ++ ++.PHONY: html ++html: ++ @if which $(LATEX2HTML) 1>/dev/null 2>/dev/null; then \ ++ $(MAKE) $(DOC_HTML); fi ++ ++.PHONY: python-dev-docs ++python-dev-docs: ++ @mkdir -v -p api/tools/python ++ @if which $(DOXYGEN) 1>/dev/null 2>/dev/null; then \ ++ echo "Running doxygen to generate Python tools APIs ... "; \ ++ $(DOXYGEN) Doxyfile; \ ++ $(MAKE) -C api/tools/python/latex ; else \ ++ echo "Doxygen not installed; skipping python-dev-docs."; fi ++ ++.PHONY: man-pages ++man-pages: ++ @if which $(POD2MAN) 1>/dev/null 2>/dev/null; then \ ++ $(MAKE) $(DOC_MAN1) $(DOC_MAN5); fi ++ ++man1/%.1: man/%.pod.1 Makefile ++ $(INSTALL_DIR) $(@D) ++ $(POD2MAN) --release=$(VERSION) --name=`echo $@ | sed 's/^man1.//'| \ ++ sed 's/.1//'` -s 1 -c "Xen" $< $@ ++ ++man5/%.5: man/%.pod.5 Makefile ++ $(INSTALL_DIR) $(@D) ++ $(POD2MAN) --release=$(VERSION) --name=`echo $@ | sed 's/^man5.//'| \ ++ sed 's/.5//'` -s 5 -c "Xen" $< $@ ++ ++.PHONY: clean ++clean: ++ rm -rf .word_count *.aux *.dvi *.bbl *.blg *.glo *.idx *~ ++ rm -rf *.ilg *.log *.ind *.toc *.bak core ++ rm -rf $(GFX) ps pdf html ++ rm -rf api ++ rm -rf man5 ++ rm -rf man1 ++ ++.PHONY: distclean ++distclean: clean ++ ++.PHONY: install ++install: all ++ rm -rf $(DESTDIR)$(pkgdocdir) ++ $(INSTALL_DIR) $(DESTDIR)$(pkgdocdir) ++ cp -dR ps $(DESTDIR)$(pkgdocdir) ++ cp -dR pdf $(DESTDIR)$(pkgdocdir) ++ $(INSTALL_DIR) $(DESTDIR)$(mandir) ++ cp -dR man1 $(DESTDIR)$(mandir) ++ cp -dR man5 $(DESTDIR)$(mandir) ++ [ ! -d html ] || cp -dR html $(DESTDIR)$(pkgdocdir) ++ ++pdf/%.pdf: ps/%.ps ++ $(INSTALL_DIR) $(@D) ++ $(PS2PDF) $< $@.new ++ mv $@.new $@ ++ ++ps/%.ps: %.dvi ++ $(INSTALL_DIR) $(@D) ++ $(DVIPS) -Ppdf -G0 -o $@.new $< ++ mv $@.new $@ ++ ++%.dvi: src/%.tex $(GFX) ++ $(LATEX) $< >/dev/null ++ if [ -e $*.toc ] ; then $(LATEX) $< >/dev/null ; fi ++ ++%.eps: %.fig ++ $(FIG2DEV) -L eps $< $@ ++ ++html/%/index.html: src/%.tex ++ $(INSTALL_DIR) $(@D) ++ $(LATEX2HTML) -split 0 -show_section_numbers -toc_depth 3 -nonavigation \ ++ -numbered_footnotes -local_icons -noinfo -math -dir $(@D) \ ++ $< 1>/dev/null 2>/dev/null +diff -Naur xen-3.0.orig/tools/xenstat/xentop/Makefile xen-3.0/tools/xenstat/xentop/Makefile +--- xen-3.0.orig/tools/xenstat/xentop/Makefile 2006-07-21 16:30:04.000000000 +0000 ++++ xen-3.0/tools/xenstat/xentop/Makefile 2006-07-21 17:13:36.000000000 +0000 +@@ -24,7 +24,7 @@ + + prefix=/usr + mandir=$(prefix)/share/man +-man1dir=$(mandir)/man1 ++man8dir=$(mandir)/man8 + sbindir=$(prefix)/sbin + + CFLAGS += -DGCC_PRINTF -Wall -Werror -I$(XEN_LIBXENSTAT) +@@ -37,7 +37,7 @@ + .PHONY: install + install: xentop xentop.1 + $(INSTALL_PROG) xentop $(DESTDIR)$(sbindir)/xentop +- $(INSTALL_DATA) xentop.1 $(DESTDIR)$(man1dir)/xentop.1 ++ $(INSTALL_DATA) xentop.1 $(DESTDIR)$(man8dir)/xentop.8 + + endif + +diff -Naur xen-3.0.orig/tools/xenstat/xentop/Makefile.orig xen-3.0/tools/xenstat/xentop/Makefile.orig +--- xen-3.0.orig/tools/xenstat/xentop/Makefile.orig 1970-01-01 00:00:00.000000000 +0000 ++++ xen-3.0/tools/xenstat/xentop/Makefile.orig 2006-07-21 16:30:04.000000000 +0000 +@@ -0,0 +1,46 @@ ++# Copyright (C) International Business Machines Corp., 2005 ++# Author: Josh Triplett ++# ++# 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; under version 2 of the License. ++# ++# 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. ++ ++XEN_ROOT=../../.. ++include $(XEN_ROOT)/tools/Rules.mk ++ ++ifneq ($(XENSTAT_XENTOP),y) ++.PHONY: all install xentop ++all install xentop: ++else ++ ++INSTALL = install ++INSTALL_PROG = $(INSTALL) -m0755 -D ++INSTALL_DATA = $(INSTALL) -m0644 -D ++ ++prefix=/usr ++mandir=$(prefix)/share/man ++man1dir=$(mandir)/man1 ++sbindir=$(prefix)/sbin ++ ++CFLAGS += -DGCC_PRINTF -Wall -Werror -I$(XEN_LIBXENSTAT) ++LDFLAGS += -L$(XEN_LIBXENSTAT) ++LDLIBS += -lxenstat -lncurses ++ ++.PHONY: all ++all: xentop ++ ++.PHONY: install ++install: xentop xentop.1 ++ $(INSTALL_PROG) xentop $(DESTDIR)$(sbindir)/xentop ++ $(INSTALL_DATA) xentop.1 $(DESTDIR)$(man1dir)/xentop.1 ++ ++endif ++ ++.PHONY: clean ++clean: ++ rm -f xentop xentop.o +diff -Naur xen-3.0.orig/tools/xenstat/xentop/xentop.1 xen-3.0/tools/xenstat/xentop/xentop.1 +--- xen-3.0.orig/tools/xenstat/xentop/xentop.1 2006-07-21 16:30:04.000000000 +0000 ++++ xen-3.0/tools/xenstat/xentop/xentop.1 2006-07-21 17:13:36.000000000 +0000 +@@ -13,7 +13,7 @@ + .\" You should have received a copy of the GNU General Public License + .\" along with this program; if not, write to the Free Software + .\" Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +-.TH xentop 1 "August 2005" ++.TH xentop 8 "August 2005" + .SH NAME + \fBxentop\fR \- displays real-time information about a Xen system and domains + --- xen-3.0-3.0.2+hg111412.orig/debian/patches/compiler_fixes.dpatch +++ xen-3.0-3.0.2+hg111412/debian/patches/compiler_fixes.dpatch @@ -0,0 +1,14 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run + +@DPATCH@ +diff -Naur xen-3.0-3.0.2+hg111412.orig/tools/ioemu/usb-linux.c xen-3.0-3.0.2+hg111412/tools/ioemu/usb-linux.c +--- xen-3.0-3.0.2+hg111412.orig/tools/ioemu/usb-linux.c 2006-09-03 17:17:31.000000000 -0400 ++++ xen-3.0-3.0.2+hg111412/tools/ioemu/usb-linux.c 2006-09-03 17:56:00.000000000 -0400 +@@ -26,7 +26,6 @@ + #if defined(__linux__) + #include + #include +-#include + #include + #include + --- xen-3.0-3.0.2+hg111412.orig/debian/patches/xen-scripts.dpatch +++ xen-3.0-3.0.2+hg111412/debian/patches/xen-scripts.dpatch @@ -0,0 +1,138 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run + +@DPATCH@ +diff -Naur xen_3.0-3.0.2+hg111412.orig/tools/examples/blktap xen_3.0-3.0.2+hg111412/tools/examples/blktap +--- xen_3.0-3.0.2+hg111412.orig/tools/examples/blktap 2006-09-03 17:17:31.000000000 -0400 ++++ xen_3.0-3.0.2+hg111412/tools/examples/blktap 2006-09-03 21:18:22.000000000 -0400 +@@ -1,4 +1,4 @@ +-#!/bin/sh ++#!/bin/bash + + # Copyright (c) 2005, XenSource Ltd. + +diff -Naur xen_3.0-3.0.2+hg111412.orig/tools/examples/block xen_3.0-3.0.2+hg111412/tools/examples/block +--- xen_3.0-3.0.2+hg111412.orig/tools/examples/block 2006-09-03 17:17:31.000000000 -0400 ++++ xen_3.0-3.0.2+hg111412/tools/examples/block 2006-09-03 21:18:28.000000000 -0400 +@@ -1,4 +1,4 @@ +-#!/bin/sh ++#!/bin/bash + + dir=$(dirname "$0") + . "$dir/block-common.sh" +diff -Naur xen_3.0-3.0.2+hg111412.orig/tools/examples/block-enbd xen_3.0-3.0.2+hg111412/tools/examples/block-enbd +--- xen_3.0-3.0.2+hg111412.orig/tools/examples/block-enbd 2006-09-03 17:17:31.000000000 -0400 ++++ xen_3.0-3.0.2+hg111412/tools/examples/block-enbd 2006-09-03 21:18:52.000000000 -0400 +@@ -1,4 +1,4 @@ +-#!/bin/sh ++#!/bin/bash + + # Usage: block-enbd [bind server ctl_port |unbind node] + # +diff -Naur xen_3.0-3.0.2+hg111412.orig/tools/examples/block-nbd xen_3.0-3.0.2+hg111412/tools/examples/block-nbd +--- xen_3.0-3.0.2+hg111412.orig/tools/examples/block-nbd 2006-09-03 17:17:31.000000000 -0400 ++++ xen_3.0-3.0.2+hg111412/tools/examples/block-nbd 2006-09-03 21:19:10.000000000 -0400 +@@ -1,4 +1,4 @@ +-#!/bin/sh ++#!/bin/bash + + # Usage: block-nbd [bind server ctl_port |unbind node] + # +diff -Naur xen_3.0-3.0.2+hg111412.orig/tools/examples/external-device-migrate xen_3.0-3.0.2+hg111412/tools/examples/external-device-migrate +--- xen_3.0-3.0.2+hg111412.orig/tools/examples/external-device-migrate 2006-09-03 17:17:31.000000000 -0400 ++++ xen_3.0-3.0.2+hg111412/tools/examples/external-device-migrate 2006-09-03 21:19:20.000000000 -0400 +@@ -1,4 +1,4 @@ +-#!/bin/sh ++#!/bin/bash + + # Copyright (c) 2005 IBM Corporation + # +diff -Naur xen_3.0-3.0.2+hg111412.orig/tools/examples/network-bridge xen_3.0-3.0.2+hg111412/tools/examples/network-bridge +--- xen_3.0-3.0.2+hg111412.orig/tools/examples/network-bridge 2006-09-03 17:17:31.000000000 -0400 ++++ xen_3.0-3.0.2+hg111412/tools/examples/network-bridge 2006-09-03 21:19:34.000000000 -0400 +@@ -1,4 +1,4 @@ +-#!/bin/sh ++#!/bin/bash + #============================================================================ + # Default Xen network start/stop script. + # Xend calls a network script when it starts. +diff -Naur xen_3.0-3.0.2+hg111412.orig/tools/examples/network-nat xen_3.0-3.0.2+hg111412/tools/examples/network-nat +--- xen_3.0-3.0.2+hg111412.orig/tools/examples/network-nat 2006-09-03 17:17:31.000000000 -0400 ++++ xen_3.0-3.0.2+hg111412/tools/examples/network-nat 2006-09-03 21:19:44.000000000 -0400 +@@ -1,4 +1,4 @@ +-#!/bin/sh ++#!/bin/bash + #============================================================================ + # Default Xen network start/stop script when using NAT. + # Xend calls a network script when it starts. +diff -Naur xen_3.0-3.0.2+hg111412.orig/tools/examples/network-route xen_3.0-3.0.2+hg111412/tools/examples/network-route +--- xen_3.0-3.0.2+hg111412.orig/tools/examples/network-route 2006-09-03 17:17:31.000000000 -0400 ++++ xen_3.0-3.0.2+hg111412/tools/examples/network-route 2006-09-03 21:19:59.000000000 -0400 +@@ -1,4 +1,4 @@ +-#!/bin/sh ++#!/bin/bash + #============================================================================ + # Default Xen network start/stop script. + # Xend calls a network script when it starts. +diff -Naur xen_3.0-3.0.2+hg111412.orig/tools/examples/vif-bridge xen_3.0-3.0.2+hg111412/tools/examples/vif-bridge +--- xen_3.0-3.0.2+hg111412.orig/tools/examples/vif-bridge 2006-09-03 17:17:31.000000000 -0400 ++++ xen_3.0-3.0.2+hg111412/tools/examples/vif-bridge 2006-09-03 21:20:11.000000000 -0400 +@@ -1,4 +1,4 @@ +-#!/bin/sh ++#!/bin/bash + #============================================================================ + # /etc/xen/vif-bridge + # +diff -Naur xen_3.0-3.0.2+hg111412.orig/tools/examples/vif-nat xen_3.0-3.0.2+hg111412/tools/examples/vif-nat +--- xen_3.0-3.0.2+hg111412.orig/tools/examples/vif-nat 2006-09-03 17:17:31.000000000 -0400 ++++ xen_3.0-3.0.2+hg111412/tools/examples/vif-nat 2006-09-03 21:20:21.000000000 -0400 +@@ -1,4 +1,4 @@ +-#!/bin/sh ++#!/bin/bash + #============================================================================ + # /etc/xen/vif-nat + # +diff -Naur xen_3.0-3.0.2+hg111412.orig/tools/examples/vif-route xen_3.0-3.0.2+hg111412/tools/examples/vif-route +--- xen_3.0-3.0.2+hg111412.orig/tools/examples/vif-route 2006-09-03 17:17:31.000000000 -0400 ++++ xen_3.0-3.0.2+hg111412/tools/examples/vif-route 2006-09-03 21:20:31.000000000 -0400 +@@ -1,4 +1,4 @@ +-#!/bin/sh ++#!/bin/bash + #============================================================================ + # /etc/xen/vif-route + # +diff -Naur xen_3.0-3.0.2+hg111412.orig/tools/examples/vtpm xen_3.0-3.0.2+hg111412/tools/examples/vtpm +--- xen_3.0-3.0.2+hg111412.orig/tools/examples/vtpm 2006-09-03 17:17:31.000000000 -0400 ++++ xen_3.0-3.0.2+hg111412/tools/examples/vtpm 2006-09-03 21:20:40.000000000 -0400 +@@ -1,4 +1,4 @@ +-#!/bin/sh ++#!/bin/bash + + dir=$(dirname "$0") + . "$dir/vtpm-hotplug-common.sh" +diff -Naur xen_3.0-3.0.2+hg111412.orig/tools/examples/vtpm-delete xen_3.0-3.0.2+hg111412/tools/examples/vtpm-delete +--- xen_3.0-3.0.2+hg111412.orig/tools/examples/vtpm-delete 2006-09-03 17:17:31.000000000 -0400 ++++ xen_3.0-3.0.2+hg111412/tools/examples/vtpm-delete 2006-09-03 21:20:49.000000000 -0400 +@@ -1,4 +1,4 @@ +-#!/bin/sh ++#!/bin/bash + + # This scripts must be called the following way: + # vtpm-delete +diff -Naur xen_3.0-3.0.2+hg111412.orig/tools/examples/xen-backend.agent xen_3.0-3.0.2+hg111412/tools/examples/xen-backend.agent +--- xen_3.0-3.0.2+hg111412.orig/tools/examples/xen-backend.agent 2006-09-03 17:17:31.000000000 -0400 ++++ xen_3.0-3.0.2+hg111412/tools/examples/xen-backend.agent 2006-09-03 21:21:11.000000000 -0400 +@@ -1,4 +1,4 @@ +-#! /bin/sh ++#! /bin/bash + + PATH=/etc/xen/scripts:$PATH + +diff -Naur xen_3.0-3.0.2+hg111412.orig/tools/examples/xen-hotplug-cleanup xen_3.0-3.0.2+hg111412/tools/examples/xen-hotplug-cleanup +--- xen_3.0-3.0.2+hg111412.orig/tools/examples/xen-hotplug-cleanup 2006-09-03 17:17:31.000000000 -0400 ++++ xen_3.0-3.0.2+hg111412/tools/examples/xen-hotplug-cleanup 2006-09-03 21:21:37.000000000 -0400 +@@ -1,4 +1,4 @@ +-#! /bin/sh ++#! /bin/bash + + dir=$(dirname "$0") + . "$dir/xen-hotplug-common.sh" --- xen-3.0-3.0.2+hg111412.orig/debian/copyright +++ xen-3.0-3.0.2+hg111412/debian/copyright @@ -0,0 +1,251 @@ +Xen was initially debianized by Adam Heath + +It was downloaded from http://www.cl.cam.ac.uk/netos/xen + +The project is partially hosted on sourceforge. It's homepage on sf redirects +to the above url. Part of the development is carried on at http://www.xensource.com + +Copyright: + + This package 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; version 2 dated June, 1991. + + This package 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. + + You should have received a copy of the GNU General Public License + along with this package; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +This is the header of Xen 3.0 upstream COPYING file which clarifies a bit how +the licence is meant to be applied. The file continues with the complete text +of the GNU General Public Licence version 2, which is not included here as it +can be found on Debian GNU/Linux systems in `/usr/share/common-licenses/GPL-2'. + + + XEN NOTICE + ========== + +This license does *not* cover guest operating systems that use +Xen services via normal hypercalls - this is merely considered normal +use of Xen, and does *not* fall under the heading of "derived work". +Also note that the GPL below is copyrighted by the Free Software +Foundation, but the instance of code that it refers to (the Xen +virtual machine monitor) is copyrighted by me and others who actually +wrote it. + +Further note that the guest-OS interfacing header files, which +includes all files within the subdirectory include/public, are +*not* covered by the GPL but by a much weaker license: + include/public/COPYING + +Also note that the only valid version of the GPL as far as Xen is +concerned is _this_ particular version of the license (i.e., *only* +v2, not v2.2 or v3.x or whatever), unless explicitly otherwise +stated. + + -- Keir Fraser (on behalf of the Xen team) + +===================================================================== + + +As an exception, for the convenience of users who want to port other operating +systems to Xen, some files are licensed under a BSD-style licence. This licence +applies to all the files under the xen/include/public directory inside the +upstream tarball. This is the content of the COPYING file in that directory: + + +XEN NOTICE +========== + +This copyright applies to all files within this subdirectory. All +other files in the Xen source distribution are covered by version 2 of +the GNU General Public License. + + -- Keir Fraser (on behalf of the Xen team) + +===================================================================== + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + + +And this, for reference, is the list of the files it applies to: + +xen/include/public/acm.h +xen/include/public/acm_ops.h +xen/include/public/arch-ia64.h +xen/include/public/arch-x86_32.h +xen/include/public/arch-x86_64.h +xen/include/public/dom0_ops.h +xen/include/public/event_channel.h +xen/include/public/grant_table.h +xen/include/public/hvm/hvm_info_table.h +xen/include/public/hvm/ioreq.h +xen/include/public/hvm/vmx_assist.h +xen/include/public/io/blkif.h +xen/include/public/io/console.h +xen/include/public/io/netif.h +xen/include/public/io/ring.h +xen/include/public/io/tpmif.h +xen/include/public/io/xenbus.h +xen/include/public/io/xs_wire.h +xen/include/public/memory.h +xen/include/public/nmi.h +xen/include/public/physdev.h +xen/include/public/sched.h +xen/include/public/sched_ctl.h +xen/include/public/trace.h +xen/include/public/vcpu.h +xen/include/public/version.h +xen/include/public/xen.h + +and all the files under tools/python/logging + +===================================================================== +There are other exceptions: +===================================================================== + +The files under extras/mini-os are under a BSD licence. + +The following files are under the LGPL licence version 2.1, which on a Debian +system resides in /usr/share/common-licenses/LGPL-2.1. Unless explicitely +specified only version 2.1 of the licence can be used. + +tools/examples/block-common.sh +tools/examples/locking.sh +tools/examples/logging.sh +tools/examples/vif-common.sh +tools/examples/vtpm-hotplug-common.sh +tools/examples/xen-hotplug-common.sh +tools/examples/xen-network-common.sh +tools/examples/xen-script-common.sh +tools/firmware/rombios/apmbios.S +tools/firmware/rombios/rombios.c +ioemu/COPYING.LIB +ioemu/cpu-all.h +ioemu/cpu-defs.h +ioemu/cpu.h +ioemu/exec-all.h +ioemu/exec.c +ioemu/hw/fmopl.c +ioemu/target-i386-dm/helper2.c +ioemu/thunk.c +ioemu/thunk.h + +all the files under tools/firmware/vgabios (licence v2.1 or above) +all the files under tools/python/xen +all the files under tools/xenstore +all the files under tools/vnet +all the files under tools/xenstat + +===================================================================== +tools/vtpm_manager license + +Copyright (c) 2005, Intel Corp. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Intel Corporation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. + +===================================================================== +Files tools/python/ license + + This software is Copyright (c) Zope Corporation (tm) and + Contributors. All rights reserved. + +This license has been certified as open source. It has also +been designated as GPL compatible by the Free Software +Foundation (FSF). + +Redistribution and use in source and binary forms, with or +without modification, are permitted provided that the +following conditions are met: + +1. Redistributions in source code must retain the above + copyright notice, this list of conditions, and the following + disclaimer. + +2. Redistributions in binary form must reproduce the above + copyright notice, this list of conditions, and the following + disclaimer in the documentation and/or other materials + provided with the distribution. + +3. The name Zope Corporation (tm) must not be used to + endorse or promote products derived from this software + without prior written permission from Zope Corporation. + +4. The right to distribute this software or to use it for + any purpose does not give you the right to use Servicemarks + (sm) or Trademarks (tm) of Zope Corporation. Use of them is + covered in a separate agreement (see + http://www.zope.com/Marks). + +5. If any files are modified, you must cause the modified + files to carry prominent notices stating that you changed + the files and the date of any change. + +Disclaimer + + THIS SOFTWARE IS PROVIDED BY ZOPE CORPORATION ``AS IS'' + AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT + NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN + NO EVENT SHALL ZOPE CORPORATION OR ITS CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + DAMAGE. + +This software consists of contributions made by Zope +Corporation and many individuals on behalf of Zope +Corporation. Specific attributions are listed in the +accompanying credits file. + --- xen-3.0-3.0.2+hg111412.orig/debian/xen-utils-3.0.xendomains.default +++ xen-3.0-3.0.2+hg111412/debian/xen-utils-3.0.xendomains.default @@ -0,0 +1,137 @@ +## Path: System/xen +## Description: xen domain start/stop on boot +## Type: string +## Default: +# +# The xendomains script can send SysRq requests to domains on shutdown. +# If you don't want to MIGRATE, SAVE, or SHUTDOWN, this may be a possibility +# to do a quick and dirty shutdown ("s e i u o") or at least sync the disks +# of the domains ("s"). +# +XENDOMAINS_SYSRQ="" + +## Type: integer +## Default: 100000 +# +# If XENDOMAINS_SYSRQ is set, this variable determines how long to wait +# (in microseconds) after each SysRq, so the domain has a chance to react. +# If you want to a quick'n'dirty shutdown via SysRq, you may want to set +# it to a relatively high value (1200000). +# +XENDOMAINS_USLEEP=100000 + +## Type: integer +## Default: 5000000 +# +# When creating a guest domain, it is sensible to allow a little time for it +# to get started before creating another domain or proceeding through the +# boot process. Without this, the booting guests will thrash the disk as they +# start up. This timeout (in microseconds) specifies the delay after guest +# domain creation. +# +XENDOMAINS_CREATE_USLEEP=5000000 + +## Type: string +## Default: "" +# +# Set this to a non-empty string if you want to migrate virtual machines +# on shutdown. The string will be passed to the xm migrate DOMID command +# as is: It should contain the target IP address of the physical machine +# to migrate to and optionally parameters like --live. Leave empty if +# you don't want to try virtual machine relocation on shutdown. +# If migration succeeds, neither SAVE nor SHUTDOWN will be executed for +# that domain. +# +XENDOMAINS_MIGRATE="" + +## Type: string +## Default: /var/lib/xen/save +# +# Directory to save running domains to when the system (dom0) is +# shut down. Will also be used to restore domains from if # XENDOMAINS_RESTORE +# is set (see below). Leave empty to disable domain saving on shutdown +# (e.g. because you rather shut domains down). +# If domain saving does succeed, SHUTDOWN will not be executed. +# +XENDOMAINS_SAVE=/var/lib/xen/save + +## Type: string +## Default: "--halt --wait" +# +# If neither MIGRATE nor SAVE were enabled or if they failed, you can +# try to shut down a domain by sending it a shutdown request. To do this, +# set this to "--halt --wait". Omit the "--wait" flag to avoid waiting +# for the domain to be really down. Leave empty to skip domain shutdown. +# +XENDOMAINS_SHUTDOWN="--halt --wait" + +## Type: string +## Default: "--all --halt --wait" +# +# After we have gone over all virtual machines (resp. all automatically +# started ones, see XENDOMAINS_AUTO_ONLY below) in a loop and sent SysRq, +# migrated, saved and/or shutdown according to the settings above, we +# might want to shutdown the virtual machines that are still running +# for some reason or another. To do this, set this variable to +# "--all --halt --wait", it will be passed to xm shutdown. +# Leave it empty not to do anything special here. +# (Note: This will hit all virtual machines, even if XENDOMAINS_AUTO_ONLY +# is set.) +# +XENDOMAINS_SHUTDOWN_ALL="--all --halt --wait" + +## Type: boolean +## Default: true +# +# This variable determines whether saved domains from XENDOMAINS_SAVE +# will be restored on system startup. +# +XENDOMAINS_RESTORE=true + +## Type: string +## Default: /etc/xen/auto +# +# This variable sets the directory where domains configurations +# are stored that should be started on system startup automatically. +# Leave empty if you don't want to start domains automatically +# (or just don't place any xen domain config files in that dir). +# Note that the script tries to be clever if both RESTORE and AUTO are +# set: It will first restore saved domains and then only start domains +# in AUTO which are not running yet. +# Note that the name matching is somewhat fuzzy. +# +XENDOMAINS_AUTO=/etc/xen/auto + +## Type: boolean +## Default: false +# +# If this variable is set to "true", only the domains started via config +# files in XENDOMAINS_AUTO will be treated according to XENDOMAINS_SYSRQ, +# XENDOMAINS_MIGRATE, XENDOMAINS_SAVE, XENDMAINS_SHUTDOWN; otherwise +# all running domains will be. +# Note that the name matching is somewhat fuzzy. +# +XENDOMAINS_AUTO_ONLY=false + +## Type: integer +## Default: 300 +# +# On xendomains stop, a number of xm commands (xm migrate, save, shutdown, +# shutdown --all) may be executed. In the worst case, these commands may +# stall forever, which will prevent a successful shutdown of the machine. +# If this variable is non-zero, the script will set up a watchdog timer +# for every of these xm commands and time it out after the number of seconds +# specified by this variable. +# Note that SHUTDOWN_ALL will not be called if no virtual machines or only +# zombies are still running, so you don't need to enable this timeout just +# for the zombie case. +# The setting should be large enough to make sure that migrate/save/shutdown +# can succeed. If you do live migrations, keep in mind that live migration +# of a 1GB machine over Gigabit ethernet may actually take something like +# 100s (assuming that live migration uses 10% of the network # bandwidth). +# Depending on the virtual machine, a shutdown may also require a significant +# amount of time. So better setup this variable to a huge number and hope the +# watchdog never fires. +# +XENDOMAINS_STOP_MAXWAIT=300 + --- xen-3.0-3.0.2+hg111412.orig/debian/xen-ioemu-3.0-i386.install +++ xen-3.0-3.0.2+hg111412/debian/xen-ioemu-3.0-i386.install @@ -0,0 +1,3 @@ +usr/lib/xen/boot +usr/share/xen/qemu +etc/xen/qemu-ifup --- xen-3.0-3.0.2+hg111412.orig/debian/xen-ioemu-3.0-amd64.install +++ xen-3.0-3.0.2+hg111412/debian/xen-ioemu-3.0-amd64.install @@ -0,0 +1,3 @@ +usr/lib/xen/boot +usr/share/xen/qemu +etc/xen/qemu-ifup