summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRiku Voipio <riku.voipio@linaro.org>2015-02-19 11:58:53 +0200
committerRiku Voipio <riku.voipio@linaro.org>2015-02-19 11:58:53 +0200
commit02dafe291680e6cf77efd9ba319529d60aa6d877 (patch)
treec7f475dfa4d7b481f2b799806e88fa6b8d65f529
parentb3a52542e073c0135eb637946b530e2a6258f8fa (diff)
switch to native build
-rw-r--r--debian/.git-dpm8
-rw-r--r--debian/arch/amd64/defines10
-rw-r--r--debian/arch/arm64/defines11
-rw-r--r--debian/arch/armhf/defines10
-rw-r--r--debian/arch/defines8
-rw-r--r--debian/arch/i386/defines11
-rwxr-xr-xdebian/bin/check-patches.sh13
-rwxr-xr-xdebian/bin/gencontrol.py125
-rwxr-xr-xdebian/bin/genorig.py72
-rw-r--r--debian/changelog1202
-rw-r--r--debian/compat1
-rw-r--r--debian/control151
-rw-r--r--debian/control.md5sum17
-rw-r--r--debian/copyright307
-rw-r--r--debian/lib/python/debian_xen/__init__.py19
-rw-r--r--debian/lib/python/debian_xen/debian.py35
-rw-r--r--debian/libxen-dev.install19
-rw-r--r--debian/libxenstore3.0.install1
-rw-r--r--debian/libxenstore3.0.symbols46
-rw-r--r--debian/patches/config-prefix.diff47
-rw-r--r--debian/patches/series27
-rw-r--r--debian/patches/tools-blktap2-prefix.diff148
-rw-r--r--debian/patches/tools-console-prefix.diff31
-rw-r--r--debian/patches/tools-hotplug-udevrules.diff18
-rw-r--r--debian/patches/tools-include-install.diff30
-rw-r--r--debian/patches/tools-libfsimage-abiname.diff60
-rw-r--r--debian/patches/tools-libfsimage-prefix.diff49
-rw-r--r--debian/patches/tools-libxc-abiname.diff87
-rw-r--r--debian/patches/tools-libxl-abiname.diff79
-rw-r--r--debian/patches/tools-libxl-prefix.diff54
-rw-r--r--debian/patches/tools-misc-prefix.diff33
-rw-r--r--debian/patches/tools-pygrub-prefix.diff53
-rw-r--r--debian/patches/tools-pygrub-remove-static-solaris-support86
-rw-r--r--debian/patches/tools-python-prefix.diff46
-rw-r--r--debian/patches/tools-rpath.diff23
-rw-r--r--debian/patches/tools-xcutils-rpath.diff23
-rw-r--r--debian/patches/tools-xenmon-install.diff34
-rw-r--r--debian/patches/tools-xenmon-prefix.diff37
-rw-r--r--debian/patches/tools-xenpaging-prefix.diff23
-rw-r--r--debian/patches/tools-xenpmd-prefix.diff25
-rw-r--r--debian/patches/tools-xenstat-abiname.diff65
-rw-r--r--debian/patches/tools-xenstat-prefix.diff52
-rw-r--r--debian/patches/tools-xenstore-compatibility.diff62
-rw-r--r--debian/patches/tools-xenstore-prefix.diff59
-rw-r--r--debian/patches/tools-xentrace-prefix.diff37
-rw-r--r--debian/patches/version.diff170
-rw-r--r--debian/patches/xl-coredumps-to-var-lib-xen-dump.diff51
-rw-r--r--debian/pycompat1
-rwxr-xr-xdebian/rules49
-rw-r--r--debian/rules.defs4
-rw-r--r--debian/rules.gen120
-rw-r--r--debian/rules.real250
-rw-r--r--debian/scripts/Makefile52
-rw-r--r--debian/scripts/qemu-ifup13
-rwxr-xr-xdebian/scripts/xen6
-rwxr-xr-xdebian/scripts/xen-dir10
-rwxr-xr-xdebian/scripts/xen-init-list73
-rwxr-xr-xdebian/scripts/xen-init-name61
-rwxr-xr-xdebian/scripts/xen-toolstack42
-rwxr-xr-xdebian/scripts/xen-toolstack-wrapper11
-rwxr-xr-xdebian/scripts/xen-utils-wrapper6
-rwxr-xr-xdebian/scripts/xen-version22
-rw-r--r--debian/source/format1
-rw-r--r--debian/templates/control.hypervisor.in15
-rw-r--r--debian/templates/control.main.in60
-rw-r--r--debian/templates/control.source.in28
-rw-r--r--debian/templates/control.system.latest.in8
-rw-r--r--debian/templates/control.utils.in9
-rw-r--r--debian/templates/xen-hypervisor.postinst.in23
-rw-r--r--debian/templates/xen-hypervisor.postrm.in23
-rw-r--r--debian/templates/xen-utils.lintian-overrides.in1
-rw-r--r--debian/templates/xen-utils.postinst.in24
-rw-r--r--debian/templates/xen-utils.prerm.in24
-rw-r--r--debian/tree/xen-utils-common/etc/xen/xend-config.sxp306
-rw-r--r--debian/tree/xen-utils-common/etc/xen/xend-pci-permissive.sxp27
-rw-r--r--debian/tree/xen-utils-common/etc/xen/xend-pci-quirks.sxp96
-rw-r--r--debian/tree/xen-utils-common/usr/share/xen-utils-common/default.xen7
-rw-r--r--debian/xen-hypervisor-4.6-amd64.postinst23
-rw-r--r--debian/xen-hypervisor-4.6-amd64.postrm23
-rw-r--r--debian/xen-hypervisor-4.6-arm64.postinst23
-rw-r--r--debian/xen-hypervisor-4.6-arm64.postrm23
-rw-r--r--debian/xen-hypervisor-4.6-armhf.postinst23
-rw-r--r--debian/xen-hypervisor-4.6-armhf.postrm23
-rw-r--r--debian/xen-utils-4.6.lintian-overrides1
-rw-r--r--debian/xen-utils-4.6.postinst24
-rw-r--r--debian/xen-utils-4.6.prerm24
-rw-r--r--debian/xen-utils-common.README.Debian29
-rw-r--r--debian/xen-utils-common.dirs1
-rw-r--r--debian/xen-utils-common.examples2
-rw-r--r--debian/xen-utils-common.install6
-rw-r--r--debian/xen-utils-common.postinst23
-rw-r--r--debian/xen-utils-common.postrm23
-rw-r--r--debian/xen-utils-common.preinst23
-rw-r--r--debian/xen-utils-common.ucf1
-rw-r--r--debian/xen-utils-common.xen.init278
-rw-r--r--debian/xen-utils-common.xend.default2
-rw-r--r--debian/xen-utils-common.xendomains.default60
-rw-r--r--debian/xen-utils-common.xendomains.init228
-rw-r--r--debian/xen-utils.NEWS8
-rw-r--r--debian/xen-utils.README.Debian53
-rw-r--r--debian/xenstore-utils.install1
-rw-r--r--jenkins/xen-base75
-rw-r--r--jenkins/xen-template6
103 files changed, 5898 insertions, 55 deletions
diff --git a/debian/.git-dpm b/debian/.git-dpm
new file mode 100644
index 0000000..d655b12
--- /dev/null
+++ b/debian/.git-dpm
@@ -0,0 +1,8 @@
+# see git-dpm(1) from git-dpm package
+d9e5c51f81f9454305888ba9a4e0439f5a2fbb9a
+d9e5c51f81f9454305888ba9a4e0439f5a2fbb9a
+1e4a195fdf38d618847a335755b6c2de4f8151a9
+1e4a195fdf38d618847a335755b6c2de4f8151a9
+xen_4.5.0.orig.tar.xz
+ba8319179032603b13e1e6b9c58b56122ebdf24f
+3483960
diff --git a/debian/arch/amd64/defines b/debian/arch/amd64/defines
new file mode 100644
index 0000000..8585798
--- /dev/null
+++ b/debian/arch/amd64/defines
@@ -0,0 +1,10 @@
+[base]
+flavours:
+ amd64
+xen-arch: x86_64
+image-suffix: .gz
+
+[amd64_description]
+hardware: AMD64
+hardware-long: all 64bit single- and multiprocessor AMD and Intel
+
diff --git a/debian/arch/arm64/defines b/debian/arch/arm64/defines
new file mode 100644
index 0000000..b181444
--- /dev/null
+++ b/debian/arch/arm64/defines
@@ -0,0 +1,11 @@
+[base]
+flavours:
+ arm64
+xen-arch: arm64
+image-suffix:
+with-ocaml: no
+
+[arm64_description]
+hardware: ARM64
+hardware-long: all 64bit ARMv8
+
diff --git a/debian/arch/armhf/defines b/debian/arch/armhf/defines
new file mode 100644
index 0000000..ee6918e
--- /dev/null
+++ b/debian/arch/armhf/defines
@@ -0,0 +1,10 @@
+[base]
+flavours:
+ armhf
+xen-arch: arm32
+image-suffix:
+
+[armhf_description]
+hardware: ARMHF
+hardware-long: all 32bit ARMv7 with virtualisation extensions
+
diff --git a/debian/arch/defines b/debian/arch/defines
new file mode 100644
index 0000000..928d4df
--- /dev/null
+++ b/debian/arch/defines
@@ -0,0 +1,8 @@
+[abi]
+
+[base]
+arches:
+ amd64
+ arm64
+ armhf
+ i386
diff --git a/debian/arch/i386/defines b/debian/arch/i386/defines
new file mode 100644
index 0000000..40b0588
--- /dev/null
+++ b/debian/arch/i386/defines
@@ -0,0 +1,11 @@
+[base]
+flavours:
+ amd64
+xen-arch: x86_32
+
+[amd64_base]
+xen-arch: x86_64
+
+[amd64_description]
+hardware: AMD64
+hardware-long: all 64bit single- and multiprocessor AMD and Intel
diff --git a/debian/bin/check-patches.sh b/debian/bin/check-patches.sh
new file mode 100755
index 0000000..8de7c5e
--- /dev/null
+++ b/debian/bin/check-patches.sh
@@ -0,0 +1,13 @@
+#!/bin/sh -e
+
+TMPDIR=$(mktemp -d)
+trap "rm -rf $TMPDIR" EXIT
+grep -v "^#" debian/patches/series | awk '{if (NF == 1) print "debian/patches/" $1}' | sort -u > $TMPDIR/used
+find debian/patches -type f -name "*.diff" -printf "%p\n" | sort > $TMPDIR/avail
+echo "Used patches"
+echo "=============="
+cat $TMPDIR/used
+echo
+echo "Unused patches"
+echo "=============="
+fgrep -v -f $TMPDIR/used $TMPDIR/avail
diff --git a/debian/bin/gencontrol.py b/debian/bin/gencontrol.py
new file mode 100755
index 0000000..40f8837
--- /dev/null
+++ b/debian/bin/gencontrol.py
@@ -0,0 +1,125 @@
+#!/usr/bin/env python
+
+import os, sys
+sys.path.append(os.path.join(sys.path[0], "../lib/python"))
+
+from debian_xen.debian import VersionXen
+from debian_linux.config import ConfigCoreHierarchy
+from debian_linux.debian import Changelog, PackageArchitecture
+from debian_linux.gencontrol import Gencontrol as Base
+from debian_linux.utils import Templates
+
+class Gencontrol(Base):
+ config_schema = {
+ 'description': {
+ }
+ }
+
+ def __init__(self):
+ super(Gencontrol, self).__init__(ConfigCoreHierarchy(self.config_schema, ["debian/arch"]), Templates(["debian/templates"]))
+ self.process_changelog()
+
+ def do_main_setup(self, vars, makeflags, extra):
+ makeflags.update({
+ 'VERSION': self.version.xen_version,
+ })
+
+ def do_arch_setup(self, vars, makeflags, arch, extra):
+ config_entry = self.config.merge('base', arch)
+ config_entry_description = self.config.merge('description', arch)
+
+ for i in (
+ ('xen-arch', 'XEN_ARCH'),
+ ):
+ makeflags[i[1]] = config_entry[i[0]]
+
+ def do_arch_packages(self, packages, makefile, arch, vars, makeflags, extra):
+ packages_main = self.process_packages(self.templates["control.main"], vars)
+ packages_utils = self.process_packages(self.templates["control.utils"], vars)
+
+ for package in packages_main + packages_utils:
+ name = package['Package']
+ if name in packages:
+ package = packages.get(name)
+ else:
+ packages.append(package)
+
+ arches = package.setdefault('Architecture', PackageArchitecture())
+ if 'all' not in arches:
+ arches.add(arch)
+
+ package_utils_name = packages_utils[0]['Package']
+
+ for i in ('postinst', 'prerm', 'lintian-overrides'):
+ j = self.substitute(self.templates["xen-utils.%s" % i], vars)
+ file("debian/%s.%s" % (package_utils_name, i), 'w').write(j)
+
+ cmds_binary_arch = ["$(MAKE) -f debian/rules.real binary-arch-arch %s" % makeflags]
+ cmds_build = ["$(MAKE) -f debian/rules.real build-arch-arch %s" % makeflags]
+ cmds_setup = ["$(MAKE) -f debian/rules.real setup-arch %s" % makeflags]
+ makefile.add('binary-arch_%s_real' % arch, cmds = cmds_binary_arch)
+ makefile.add('build-arch_%s_real' % arch, cmds = cmds_build)
+ makefile.add('setup_%s_real' % arch, cmds = cmds_setup)
+
+ def do_flavour_setup(self, vars, makeflags, arch, featureset, flavour, extra):
+ config_entry = self.config.merge('base', arch, featureset, flavour)
+ config_description = self.config.merge('description', arch, featureset, flavour)
+
+ vars['class'] = config_description['hardware']
+ vars['longclass'] = config_description.get('hardware-long') or vars['class']
+
+ for i in (
+ ('xen-arch', 'XEN_ARCH'),
+ ('image-suffix', 'IMAGE_SUFFIX'),
+ ):
+ if config_entry.has_key(i[0]):
+ makeflags[i[1]] = config_entry[i[0]]
+
+ def do_flavour_packages(self, packages, makefile, arch, featureset, flavour, vars, makeflags, extra):
+ hypervisor = self.templates["control.hypervisor"]
+ system_latest = self.templates["control.system.latest"]
+
+ if not vars.has_key('desc'):
+ vars['desc'] = ''
+
+ packages_own = []
+ packages_own.extend(self.process_packages(hypervisor, vars))
+ packages_dummy = self.process_packages(system_latest, vars)
+
+ for package in packages_own + packages_dummy:
+ name = package['Package']
+ package.setdefault('Architecture', PackageArchitecture()).add(arch)
+ if name in packages:
+ package = packages.get(name)
+ else:
+ packages.append(package)
+
+ arches = package.setdefault('Architecture', PackageArchitecture())
+ if 'all' not in arches:
+ arches.add(arch)
+
+ package_name = packages_own[0]['Package']
+
+ for i in ('postinst', 'postrm'):
+ j = self.substitute(self.templates["xen-hypervisor.%s" % i], vars)
+ file("debian/%s.%s" % (package_name, i), 'w').write(j)
+
+ cmds_binary_arch = ["$(MAKE) -f debian/rules.real binary-arch-flavour %s" % makeflags]
+ cmds_build = ["$(MAKE) -f debian/rules.real build-arch-flavour %s" % makeflags]
+ cmds_setup = ["$(MAKE) -f debian/rules.real setup-flavour %s" % makeflags]
+
+ cmds_binary_arch += ["$(MAKE) -f debian/rules.real install-dummy DH_OPTIONS='%s' %s" % (u' '.join([u"-p%s" % i['Package'] for i in packages_dummy]), makeflags)]
+
+ makefile.add("binary-arch_%s_%s_%s" % (arch, featureset, flavour), cmds = cmds_binary_arch)
+ makefile.add("build-arch_%s_%s_%s" % (arch, featureset, flavour), cmds = cmds_build)
+ makefile.add("setup_%s_%s_%s" % (arch, featureset, flavour), cmds = cmds_setup)
+
+ def process_changelog(self):
+ changelog = Changelog(version = VersionXen)
+ self.version = changelog[0].version
+ self.vars = {
+ 'version': self.version.xen_version,
+ }
+
+if __name__ == '__main__':
+ Gencontrol()()
diff --git a/debian/bin/genorig.py b/debian/bin/genorig.py
new file mode 100755
index 0000000..4b6eb9a
--- /dev/null
+++ b/debian/bin/genorig.py
@@ -0,0 +1,72 @@
+#!/usr/bin/env python
+
+import sys
+sys.path.append(sys.path[0] + '/../lib/python')
+
+import itertools
+import os, os.path
+import shutil
+import subprocess
+
+from debian_xen.debian import VersionXen
+from debian_linux.debian import Changelog
+
+
+class Main(object):
+ log = sys.stdout.write
+
+ def __init__(self, options, repo):
+ self.options = options
+
+ self.changelog_entry = Changelog(version=VersionXen)[0]
+ self.source = self.changelog_entry.source
+ self.version = self.changelog_entry.version
+
+ if options.override_version:
+ self.version = VersionXen('%s-0' % options.override_version)
+
+ if options.component:
+ self.orig_dir = options.component
+ self.orig_tar = '%s_%s.orig-%s.tar.xz' % (self.source, self.version.upstream, options.component)
+ else:
+ self.orig_dir = '%s-%s' % (self.source, self.version.upstream)
+ self.orig_tar = '%s_%s.orig.tar.xz' % (self.source, self.version.upstream)
+ if options.tag is None:
+ options.tag = 'RELEASE-' + self.version.upstream
+
+ def __call__(self):
+ out = "../orig/%s" % self.orig_tar
+ self.log("Generate tarball %s\n" % out)
+
+ try:
+ os.stat(out)
+ raise RuntimeError("Destination already exists")
+ except OSError: pass
+
+ try:
+ with open(out, 'wb') as f:
+ tag = self.options.tag or 'HEAD'
+ p1 = subprocess.Popen(('git', 'archive', '--prefix', '%s/' % self.orig_dir, tag), stdout=subprocess.PIPE)
+ subprocess.check_call(('xz', ), stdin=p1.stdout, stdout=f)
+ if p1.wait():
+ raise RuntimeError
+ except:
+ os.unlink(out)
+ raise
+
+ try:
+ os.symlink(os.path.join('orig', self.orig_tar), os.path.join('..', self.orig_tar))
+ except OSError:
+ pass
+
+
+if __name__ == '__main__':
+ from optparse import OptionParser
+ p = OptionParser(prog=sys.argv[0], usage='%prog [OPTION]... DIR')
+ p.add_option('-c', '--component', dest='component')
+ p.add_option('-t', '--tag', dest='tag')
+ p.add_option('-V', '--override-version', dest='override_version')
+ options, args = p.parse_args()
+ if len(args) != 1:
+ raise RuntimeError
+ Main(options, *args)()
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..2540a6b
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,1202 @@
+xen (4.5.0-1) experimental; urgency=medium
+
+ [ Ian Campbell ]
+ * New upstream release
+
+ -- Bastian Blank <waldi@debian.org> Wed, 21 Jan 2015 20:21:45 +0100
+
+xen (4.5.0~rc3-1) experimental; urgency=medium
+
+ * New upstream release candidate.
+ * Re-add xend config.
+
+ -- Bastian Blank <waldi@debian.org> Wed, 17 Dec 2014 22:37:23 +0100
+
+xen (4.4.1-6) unstable; urgency=medium
+
+ * Fix starvation of writers in locks.
+ CVE-2014-9065
+
+ -- Bastian Blank <waldi@debian.org> Thu, 11 Dec 2014 15:56:08 +0100
+
+xen (4.4.1-5) unstable; urgency=medium
+
+ * Fix excessive checks of hypercall arguments.
+ CVE-2014-8866
+ * Fix boundary checks of emulated MMIO access.
+ CVE-2014-8867
+ * Fix additional memory leaks in xl. (closes: #767295)
+
+ -- Bastian Blank <waldi@debian.org> Sun, 30 Nov 2014 20:13:32 +0100
+
+xen (4.4.1-4) unstable; urgency=medium
+
+ [ Bastian Blank ]
+ * Make operations pre-emptible.
+ CVE-2014-5146, CVE-2014-5149
+ * Don't allow page table updates from non-PV page tables.
+ CVE-2014-8594
+ * Enforce privilege level while loading code segment.
+ CVE-2014-8595
+ * Fix reference counter leak.
+ CVE-2014-9030
+ * Use linux 3.16.0-4 stuff.
+ * Fix memory leak in xl. (closes: #767295)
+
+ [ Ian Campbell ]
+ * Add licensing for tools/python/logging to debian/copyright.
+ (Closes: #759384)
+ * Correctly include xen-init-name in xen-utils-common. (Closes: #769543)
+ * xen-utils recommends grub-xen-host package (Closes: #770460)
+
+ -- Bastian Blank <waldi@debian.org> Thu, 27 Nov 2014 20:17:36 +0100
+
+xen (4.4.1-3) unstable; urgency=medium
+
+ [ Bastian Blank ]
+ * Remove unused build-depencencies.
+ * Extend list affected systems for broken interrupt assignment.
+ CVE-2013-3495
+ * Fix race in hvm memory management.
+ CVE-2014-7154
+ * Fix missing privilege checks on instruction emulation.
+ CVE-2014-7155, CVE-2014-7156
+ * Fix uninitialized control structures in FIFO handling.
+ CVE-2014-6268
+ * Fix MSR range check in emulation.
+ CVE-2014-7188
+
+ [ Ian Campbell ]
+ * Install xen.efi into /boot for amd64 builds.
+
+ -- Bastian Blank <waldi@debian.org> Fri, 17 Oct 2014 16:27:46 +0200
+
+xen (4.4.1-2) unstable; urgency=medium
+
+ * Re-build with correct content.
+ * Use dh_lintian.
+
+ -- Bastian Blank <waldi@debian.org> Wed, 24 Sep 2014 20:23:14 +0200
+
+xen (4.4.1-1) unstable; urgency=medium
+
+ * New upstream release.
+ - Fix several vulnerabilities. (closes: #757724)
+ CVE-2014-2599, CVE-2014-3124,
+ CVE-2014-3967, CVE-2014-3968,
+ CVE-2014-4021
+
+ -- Bastian Blank <waldi@debian.org> Sun, 21 Sep 2014 10:45:47 +0200
+
+xen (4.4.0-5) unstable; urgency=medium
+
+ [ Ian Campbell ]
+ * Expand on the descriptions of some packages. (Closes: #466683)
+ * Clarify where xen-utils-common is required. (Closes: #612403)
+ * No longer depend on gawk. Xen can now use any awk one of which is always
+ present. (Closes: #589176)
+ * Put core dumps in /var/lib/xen/dump and ensure it exists.
+ (Closes: #444000)
+
+ [ Bastian Blank ]
+ * Handle JSON output from xl in xendomains init script.
+
+ -- Bastian Blank <waldi@debian.org> Sat, 06 Sep 2014 22:11:20 +0200
+
+xen (4.4.0-4) unstable; urgency=medium
+
+ [ Bastian Blank ]
+ * Also remove unused OCaml packages from control file.
+ * Make library packages multi-arch: same. (closes: #730417)
+ * Use debhelper compat level 9. (closes: #692352)
+
+ [ Ian Campbell ]
+ * Correct contents of /etc/xen/scripts/hotplugpath.sh (Closes: #706283)
+ * Drop references cpuperf-xen and cpuperf-perfcntr. (Closes: #733847)
+ * Install xentrace_format(1), xentrace(8) and xentop(1). (Closes: #407143)
+
+ -- Bastian Blank <waldi@debian.org> Sat, 30 Aug 2014 13:34:04 +0200
+
+xen (4.4.0-3) unstable; urgency=medium
+
+ [ Ian Campbell ]
+ * Use correct SeaBIOS binary which supports Xen (Closes: #737905).
+
+ [ Bastian Blank ]
+ * Really update config.{sub,guess}.
+
+ -- Bastian Blank <waldi@debian.org> Fri, 29 Aug 2014 16:33:19 +0200
+
+xen (4.4.0-2) unstable; urgency=medium
+
+ * Remove broken and unused OCaml-support.
+
+ -- Bastian Blank <waldi@debian.org> Mon, 18 Aug 2014 15:18:42 +0200
+
+xen (4.4.0-1) unstable; urgency=medium
+
+ [ Bastian Blank ]
+ * New upstream release.
+ - Update scripts for compatiblity with latest coreutils.
+ (closes: #718898)
+ - Fix guest reboot with xl toolstack. (closes: #727100)
+ - CVE-2013-6375: Insufficient TLB flushing in VT-d (iommu) code.
+ (closes: #730254)
+ - xl support for global VNC options. (closes: #744157)
+ - vif scripts can now be named relative to /etc/xen/scripts.
+ (closes: #744160)
+ - Support for arbitrary sized SeaBIOS binaries. (closes: #737905)
+ - pygrub searches for extlinux.conf in the expected places.
+ (closes: #697407)
+ - Update scripts to use correct syntax for ip command.
+ (closes: #705659)
+ * Fix install of xend configs to not break compatibility.
+
+ [ Ian Campbell ]
+ * Disable blktap1 support using new configure option instead of by patching.
+ * Disable qemu-traditional and rombios support using new configure option
+ instead of by patching. No need to build-depend on ipxe any more.
+ * Use system qemu-xen via new configure option instead of patching.
+ * Use system seabios via new configure option instead of patching.
+ * Use EXTRA_CFLAGS_XEN_TOOLS and APPEND_{CPPFLAGS,LDFLAGS} during build.
+ * Add support for armhf and arm64.
+ * Update config.{sub,guess}.
+
+ -- Bastian Blank <waldi@debian.org> Sat, 09 Aug 2014 13:09:00 +0200
+
+xen (4.3.0-3) unstable; urgency=low
+
+ * Revive hypervisor on i386.
+
+ -- Bastian Blank <waldi@debian.org> Fri, 18 Oct 2013 00:15:16 +0200
+
+xen (4.3.0-2) unstable; urgency=low
+
+ * Force proper install order. (closes: #721999)
+
+ -- Bastian Blank <waldi@debian.org> Sat, 05 Oct 2013 15:03:36 +0000
+
+xen (4.3.0-1) unstable; urgency=low
+
+ * New upstream release.
+ - Fix HVM PCI passthrough. (closes: #706543)
+ * Call configure with proper arguments.
+ * Remove now empty xen-docs package.
+ * Disable external code retrieval.
+ * Drop all i386 hypervisor packages.
+ * Drop complete blktap support.
+ * Create /run/xen.
+ * Make xen-utils recommend qemu-system-x86. (closes: #688311)
+ - This version comes with audio support. (closes: #635166)
+ * Make libxenlight and libxlutil public. (closes: #644390)
+ - Set versioned ABI name.
+ - Install headers.
+ - Move libs into normal library path.
+ * Use build flags in the tools build.
+ - Fix fallout from harderning flags.
+ * Update Standards-Version to 3.9.4. No changes.
+
+ -- Bastian Blank <waldi@debian.org> Thu, 05 Sep 2013 13:54:03 +0200
+
+xen (4.2.2-1) unstable; urgency=low
+
+ * New upstream release.
+ - Fix build with gcc 4.8. (closes: #712376)
+ * Build-depend on libssl-dev. (closes: #712366)
+ * Enable hardening as much as possible.
+ * Re-enable ocaml build fixes. (closes: #695176)
+ * Check for out-of-bound values in CPU affinity setup.
+ CVE-2013-2072
+ * Fix information leak on AMD CPUs.
+ CVE-2013-2076
+ * Recover from faults on XRSTOR.
+ CVE-2013-2077
+ * Properly check guest input to XSETBV.
+ CVE-2013-2078
+
+ -- Bastian Blank <waldi@debian.org> Thu, 11 Jul 2013 00:28:24 +0200
+
+xen (4.2.1-2) unstable; urgency=low
+
+ * Actually upload to unstable.
+
+ -- Bastian Blank <waldi@debian.org> Sun, 12 May 2013 00:20:58 +0200
+
+xen (4.2.1-1) experimental; urgency=low
+
+ * New upstream release.
+ * Enable usage of seabios.
+ * Fix some toolchain issues.
+
+ -- Bastian Blank <waldi@debian.org> Sat, 11 May 2013 23:55:46 +0200
+
+xen (4.2.0-2) experimental; urgency=low
+
+ * Support JSON output in domain init script helper.
+
+ -- Bastian Blank <waldi@debian.org> Mon, 01 Oct 2012 15:11:30 +0200
+
+xen (4.2.0-1) experimental; urgency=low
+
+ * New upstream release.
+
+ -- Bastian Blank <waldi@debian.org> Tue, 18 Sep 2012 13:54:30 +0200
+
+xen (4.2.0~rc3-1) experimental; urgency=low
+
+ * New upstream snapshot.
+
+ -- Bastian Blank <waldi@debian.org> Fri, 07 Sep 2012 20:28:46 +0200
+
+xen (4.2.0~rc2-1) experimental; urgency=low
+
+ * New upstream snapshot.
+ * Build-depend against libglib2.0-dev and libyajl-dev.
+ * Disable seabios build for now.
+ * Remove support for Lenny and earlier.
+ * Support build-arch and build-indep make targets.
+
+ -- Bastian Blank <waldi@debian.org> Sun, 13 May 2012 12:21:10 +0000
+
+xen (4.1.4-4) unstable; urgency=high
+
+ * Make several long runing operations preemptible.
+ CVE-2013-1918
+ * Fix source validation for VT-d interrupt remapping.
+ CVE-2013-1952
+
+ -- Bastian Blank <waldi@debian.org> Thu, 02 May 2013 14:30:29 +0200
+
+xen (4.1.4-3) unstable; urgency=high
+
+ * Fix return from SYSENTER.
+ CVE-2013-1917
+ * Fix various problems with guest interrupt handling.
+ CVE-2013-1919
+ * Only save pointer after access checks.
+ CVE-2013-1920
+ * Fix domain locking for transitive grants.
+ CVE-2013-1964
+
+ -- Bastian Blank <waldi@debian.org> Fri, 19 Apr 2013 13:01:57 +0200
+
+xen (4.1.4-2) unstable; urgency=low
+
+ * Use pre-device interrupt remapping mode per default. Fix removing old
+ remappings.
+ CVE-2013-0153
+
+ -- Bastian Blank <waldi@debian.org> Wed, 06 Feb 2013 13:04:52 +0100
+
+xen (4.1.4-1) unstable; urgency=low
+
+ * New upstream release.
+ - Disable process-context identifier support in newer CPUs for all
+ domains.
+ - Add workarounds for AMD errata.
+ - Don't allow any non-canonical addresses.
+ - Use Multiboot memory map if BIOS emulation does not provide one.
+ - Fix several problems in tmem.
+ CVE-2012-3497
+ - Fix error handling in domain creation.
+ - Adjust locking and interrupt handling during S3 resume.
+ - Tighten more resource and memory range checks.
+ - Reset performance counters. (closes: #698651)
+ - Remove special-case for first IO-APIC.
+ - Fix MSI handling for HVM domains. (closes: #695123)
+ - Revert cache value of disks in HVM domains.
+
+ -- Bastian Blank <waldi@debian.org> Thu, 31 Jan 2013 15:44:50 +0100
+
+xen (4.1.3-8) unstable; urgency=high
+
+ * Fix error in VT-d interrupt remapping source validation.
+ CVE-2012-5634
+ * Fix buffer overflow in qemu e1000 emulation.
+ CVE-2012-6075
+ * Update patch, mention second CVE.
+ CVE-2012-5511, CVE-2012-6333
+
+ -- Bastian Blank <waldi@debian.org> Sat, 19 Jan 2013 13:55:07 +0100
+
+xen (4.1.3-7) unstable; urgency=low
+
+ * Fix clock jump due to incorrect annotated inline assembler.
+ (closes: #599161)
+ * Add support for XZ compressed Linux kernels to hypervisor and userspace
+ based loaders, it is needed for any Linux kernels newer then Wheezy.
+ (closes: #695056)
+
+ -- Bastian Blank <waldi@debian.org> Tue, 11 Dec 2012 18:54:59 +0100
+
+xen (4.1.3-6) unstable; urgency=high
+
+ * Fix error handling in physical to machine memory mapping.
+ CVE-2012-5514
+
+ -- Bastian Blank <waldi@debian.org> Tue, 04 Dec 2012 10:51:43 +0100
+
+xen (4.1.3-5) unstable; urgency=high
+
+ * Fix state corruption due to incomplete grant table switch.
+ CVE-2012-5510
+ * Check range of arguments to several HVM operations.
+ CVE-2012-5511, CVE-2012-6333
+ * Check array index before using it in HVM memory operation.
+ CVE-2012-5512
+ * Check memory range in memory exchange operation.
+ CVE-2012-5513
+ * Don't allow too large memory size and avoid busy looping.
+ CVE-2012-5515
+
+ -- Bastian Blank <waldi@debian.org> Mon, 03 Dec 2012 19:37:38 +0100
+
+xen (4.1.3-4) unstable; urgency=high
+
+ * Use linux 3.2.0-4 stuff.
+ * Fix overflow in timer calculations.
+ CVE-2012-4535
+ * Check value of physical interrupts parameter before using it.
+ CVE-2012-4536
+ * Error out on incorrect memory mapping updates.
+ CVE-2012-4537
+ * Check if toplevel page tables are present.
+ CVE-2012-4538
+ * Fix infinite loop in compatibility code.
+ CVE-2012-4539
+ * Limit maximum kernel and ramdisk size.
+ CVE-2012-2625, CVE-2012-4544
+
+ -- Bastian Blank <waldi@debian.org> Tue, 20 Nov 2012 15:51:01 +0100
+
+xen (4.1.3-3) unstable; urgency=low
+
+ * Xen domain init script:
+ - Make sure Open vSwitch is started before any domain.
+ - Properly handle and show output of failed migration and save.
+ - Ask all domains to shut down before checking them.
+
+ -- Bastian Blank <waldi@debian.org> Tue, 18 Sep 2012 13:26:32 +0200
+
+xen (4.1.3-2) unstable; urgency=medium
+
+ * Don't allow writing reserved bits in debug register.
+ CVE-2012-3494
+ * Fix error handling in interrupt assignment.
+ CVE-2012-3495
+ * Don't trigger bug messages on invalid flags.
+ CVE-2012-3496
+ * Check array bounds in interrupt assignment.
+ CVE-2012-3498
+ * Properly check bounds while setting the cursor in qemu.
+ CVE-2012-3515
+ * Disable monitor in qemu by default.
+ CVE-2012-4411
+
+ -- Bastian Blank <waldi@debian.org> Fri, 07 Sep 2012 19:41:46 +0200
+
+xen (4.1.3-1) unstable; urgency=medium
+
+ * New upstream release: (closes: #683286)
+ - Don't leave the x86 emulation in a bad state. (closes: #683279)
+ CVE-2012-3432
+ - Only check for shared pages while any exist on teardown.
+ CVE-2012-3433
+ - Fix error handling for unexpected conditions.
+ - Update CPUID masking to latest Intel spec.
+ - Allow large ACPI ids.
+ - Fix IOMMU support for PCI-to-PCIe bridges.
+ - Disallow access to some sensitive IO-ports.
+ - Fix wrong address in IOTLB.
+ - Fix deadlock on CPUs without working cpufreq driver.
+ - Use uncached disk access in qemu.
+ - Fix buffer size on emulated e1000 device in qemu.
+ * Fixup broken and remove applied patches.
+
+ -- Bastian Blank <waldi@debian.org> Fri, 17 Aug 2012 11:25:02 +0200
+
+xen (4.1.3~rc1+hg-20120614.a9c0a89c08f2-5) unstable; urgency=low
+
+ [ Ian Campbell ]
+ * Set tap device MAC addresses to fe:ff:ff:ff:ff:ff (Closes: #671018)
+ * Only run xendomains initscript if toolstack is xl or xm (Closes: #680528)
+
+ [ Bastian Blank ]
+ * Actually build-depend on new enough version of dpkg-dev.
+ * Add xen-sytem-* meta-packages. We are finally in a position to do
+ automatic upgrades and this package is missing. (closes: #681376)
+
+ -- Bastian Blank <waldi@debian.org> Sat, 28 Jul 2012 10:23:26 +0200
+
+xen (4.1.3~rc1+hg-20120614.a9c0a89c08f2-4) unstable; urgency=low
+
+ * Add Build-Using info to xen-utils package.
+ * Fix build-arch target.
+
+ -- Bastian Blank <waldi@debian.org> Sun, 01 Jul 2012 19:52:30 +0200
+
+xen (4.1.3~rc1+hg-20120614.a9c0a89c08f2-3) unstable; urgency=low
+
+ * Remove /usr/lib/xen-default. It breaks systems if xenstored is not
+ compatible.
+ * Fix init script usage.
+ * Fix udev rules for emulated network devices:
+ - Force names of emulated network devices to a predictable name.
+
+ -- Bastian Blank <waldi@debian.org> Sun, 01 Jul 2012 16:59:04 +0200
+
+xen (4.1.3~rc1+hg-20120614.a9c0a89c08f2-2) unstable; urgency=low
+
+ * Fix pointer missmatch in interrupt functions. Fixes build on i386.
+
+ -- Bastian Blank <waldi@debian.org> Fri, 15 Jun 2012 18:00:51 +0200
+
+xen (4.1.3~rc1+hg-20120614.a9c0a89c08f2-1) unstable; urgency=low
+
+ * New upstream snapshot.
+ - Fix privilege escalation and syscall/sysenter DoS while using
+ non-canonical addresses by untrusted PV guests. (closes: #677221)
+ CVE-2012-0217
+ CVE-2012-0218
+ - Disable Xen on CPUs affected by AMD Erratum #121. PV guests can
+ cause a DoS of the host.
+ CVE-2012-2934
+ * Don't fail if standard toolstacks are not available. (closes: #677244)
+
+ -- Bastian Blank <waldi@debian.org> Thu, 14 Jun 2012 17:06:25 +0200
+
+xen (4.1.2-7) unstable; urgency=low
+
+ * Really use ucf.
+ * Update init script dependencies:
+ - Start $syslog before xen.
+ - Start drbd and iscsi before xendomains. (closes: #626356)
+ - Start corosync and heartbeat after xendomains.
+ * Remove /var/log/xen on purge. (closes: #656216)
+
+ -- Bastian Blank <waldi@debian.org> Tue, 22 May 2012 10:44:41 +0200
+
+xen (4.1.2-6) unstable; urgency=low
+
+ * Fix generation of architectures for hypervisor packages.
+ * Remove information about loop devices, it is incorrect. (closes: #503044)
+ * Update xendomains init script:
+ - Create directory for domain images only root readable. (closes: #596048)
+ - Add missing sanity checks for variables. (closes: #671750)
+ - Remove not longer supported config options.
+ - Don't fail if no config is available.
+ - Remove extra output if domain was restored.
+
+ -- Bastian Blank <waldi@debian.org> Sun, 06 May 2012 20:07:41 +0200
+
+xen (4.1.2-5) unstable; urgency=low
+
+ * Actually force init script rename. (closes: #669341)
+ * Fix long output from xl.
+ * Move complete init script setup.
+ * Rewrite xendomains init script:
+ - Use LSB output functions.
+ - Make output more clear.
+ - Use xen toolstack wrapper.
+ - Use a python script to properly read domain details.
+ * Set name for Domain-0.
+
+ -- Bastian Blank <waldi@debian.org> Mon, 23 Apr 2012 11:56:45 +0200
+
+xen (4.1.2-4) unstable; urgency=low
+
+ [ Bastian Blank ]
+ * Build-depend on ipxe-qemu instead of ipxe. (closes: #665070)
+ * Don't longer use a4wide latex package.
+ * Use ucf for /etc/default/xen.
+ * Remove handling for old udev rules link and xenstored directory.
+ * Rename xend init script to xen.
+
+ [ Lionel Elie Mamane ]
+ * Fix toolstack script to work with old dash. (closes: #648029)
+
+ -- Bastian Blank <waldi@debian.org> Mon, 16 Apr 2012 08:47:29 +0000
+
+xen (4.1.2-3) unstable; urgency=low
+
+ * Merge xen-common source package.
+ * Remove xend wrapper, it should not be called by users.
+ * Support xl in init script.
+ * Restart xen daemons on upgrade.
+ * Restart and stop xenconsoled in init script.
+ * Load xen-gntdev module.
+ * Create /var/lib/xen. (closes: #658101)
+ * Cleanup udev rules. (closes: #657745)
+
+ -- Bastian Blank <waldi@debian.org> Wed, 01 Feb 2012 19:28:28 +0100
+
+xen (4.1.2-2) unstable; urgency=low
+
+ [ Jon Ludlam ]
+ * Import (partially reworked) upstream changes for OCaml support.
+ - Rename the ocamlfind packages.
+ - Remove uuid and log libraries.
+ - Fix 2 bit-twiddling bugs and an off-by-one
+ * Fix build of OCaml libraries.
+ * Add OCaml library and development package.
+ * Include some missing headers.
+
+ -- Bastian Blank <waldi@debian.org> Sat, 10 Dec 2011 19:13:25 +0000
+
+xen (4.1.2-1) unstable; urgency=low
+
+ * New upstream release.
+ * Build-depend on pkg-config.
+ * Add package libxen-4.1. Includes some shared libs.
+
+ -- Bastian Blank <waldi@debian.org> Sat, 26 Nov 2011 18:28:06 +0100
+
+xen (4.1.1-3) unstable; urgency=low
+
+ [ Julien Danjou ]
+ * Remove Julien Danjou from the Uploaders field. (closes: #590439)
+
+ [ Bastian Blank ]
+ * Use current version of python. (closes: #646660)
+ * Build-depend against liblzma-dev, it is used if available.
+ (closes: #646694)
+ * Update Standards-Version to 3.9.2. No changes.
+ * Don't use brace-expansion in debhelper install files.
+
+ -- Bastian Blank <waldi@debian.org> Wed, 26 Oct 2011 14:42:33 +0200
+
+xen (4.1.1-2) unstable; urgency=low
+
+ * Fix hvmloader with gcc 4.6.
+
+ -- Bastian Blank <waldi@debian.org> Fri, 05 Aug 2011 23:58:36 +0200
+
+xen (4.1.1-1) unstable; urgency=low
+
+ * New upstream release.
+ * Don't use qemu-dm if it is not needed. (Backport from xen-unstable.)
+ * Use dh_python2.
+
+ -- Bastian Blank <waldi@debian.org> Mon, 18 Jul 2011 19:38:38 +0200
+
+xen (4.1.0-3) unstable; urgency=low
+
+ * Add ghostscript to build-deps.
+ * Enable qemu-dm build.
+ - Add qemu as another orig tar.
+ - Remove blktap1, bluetooth and sdl support from qemu.
+ - Recommend qemu-keymaps and qemu-utils.
+
+ -- Bastian Blank <waldi@debian.org> Thu, 28 Apr 2011 15:20:45 +0200
+
+xen (4.1.0-2) unstable; urgency=low
+
+ * Re-enable hvmloader:
+ - Use packaged ipxe.
+ * Workaround incompatibility with xenstored of Xen 4.0.
+
+ -- Bastian Blank <waldi@debian.org> Fri, 15 Apr 2011 11:38:25 +0200
+
+xen (4.1.0-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Bastian Blank <waldi@debian.org> Sun, 27 Mar 2011 18:09:28 +0000
+
+xen (4.1.0~rc6-1) unstable; urgency=low
+
+ * New upstream release candidate.
+ * Build documentation using pdflatex.
+ * Use python 2.6. (closes: #596545)
+ * Fix lintian override.
+ * Install new tools: xl, xenpaging.
+ * Enable blktap2.
+ - Use own md5 implementation.
+ - Fix includes.
+ - Fix linking of blktap2 binaries.
+ - Remove optimization setting.
+ * Temporarily disable hvmloader, wants to download ipxe.
+ * Remove xenstored pid check from xl.
+
+ -- Bastian Blank <waldi@debian.org> Thu, 17 Mar 2011 16:12:45 +0100
+
+xen (4.0.1-2) unstable; urgency=low
+
+ * Fix races in memory management.
+ * Make sure that frame-table compression leaves enough alligned.
+ * Disable XSAVE support. (closes: #595490)
+ * Check for dying domain instead of raising an assertion.
+ * Add C6 state with EOI errata for Intel.
+ * Make some memory management interrupt safe. Unsure if really needed.
+ * Raise bar for inter-socket migrations on mostly-idle systems.
+ * Fix interrupt handling for legacy routed interrupts.
+ * Allow to set maximal domain memory even during a running change.
+ * Support new partition name in pygrub. (closes: #599243)
+ * Fix some comparisions "< 0" that may be optimized away.
+ * Check for MWAIT support before using it.
+ * Fix endless loop on interrupts on Nehalem cpus.
+ * Don't crash upon direct GDT/LDT access. (closes: #609531)
+ CVE-2010-4255
+ * Don't loose timer ticks after domain restore.
+ * Reserve some space for IOMMU area in dom0. (closes: #608715)
+ * Fix hypercall arguments after trace callout.
+ * Fix some error paths in vtd support. Memory leak.
+ * Reinstate ACPI DMAR table.
+
+ -- Bastian Blank <waldi@debian.org> Wed, 12 Jan 2011 15:01:40 +0100
+
+xen (4.0.1-1) unstable; urgency=low
+
+ * New upstream release.
+ - Fix IOAPIC S3 with interrupt remapping enabled.
+
+ -- Bastian Blank <waldi@debian.org> Fri, 03 Sep 2010 17:14:28 +0200
+
+xen (4.0.1~rc6-1) unstable; urgency=low
+
+ * New upstream release candidate.
+ - Add some missing locks for page table walk.
+ - Fix NMU injection into guest.
+ - Fix ioapic updates for vt-d.
+ - Add check for GRUB2 commandline behaviour.
+ - Fix handling of invalid kernel images.
+ - Allow usage of powernow.
+ * Remove lowlevel python modules usage from pygrub. (closes: #588811)
+
+ -- Bastian Blank <waldi@debian.org> Tue, 17 Aug 2010 23:15:34 +0200
+
+xen (4.0.1~rc5-1) unstable; urgency=low
+
+ * New upstream release candidate.
+
+ -- Bastian Blank <waldi@debian.org> Mon, 02 Aug 2010 17:06:27 +0200
+
+xen (4.0.1~rc3-1) unstable; urgency=low
+
+ * New upstream release candidate.
+ * Call dh_pyversion with the correct version.
+ * Restart xen daemon on upgrade.
+
+ -- Bastian Blank <waldi@debian.org> Wed, 30 Jun 2010 16:30:47 +0200
+
+xen (4.0.0-2) unstable; urgency=low
+
+ * Fix python dependency. (closes: #586666)
+ - Use python-support.
+ - Hardcode to use python 2.5 for now.
+
+ -- Bastian Blank <waldi@debian.org> Mon, 21 Jun 2010 17:23:16 +0200
+
+xen (4.0.0-1) unstable; urgency=low
+
+ * Update to unstable.
+ * Fix spelling in README.
+ * Remove unnecessary build-depends.
+ * Fixup xend to use different filename lookup.
+
+ -- Bastian Blank <waldi@debian.org> Thu, 17 Jun 2010 11:16:55 +0200
+
+xen (4.0.0-1~experimental.2) experimental; urgency=low
+
+ * Merge changes from 3.4.3-1.
+
+ -- Bastian Blank <waldi@debian.org> Fri, 28 May 2010 12:58:12 +0200
+
+xen (4.0.0-1~experimental.1) experimental; urgency=low
+
+ * New upstream version.
+ * Rename source package to xen.
+ * Build depend against iasl and uuid-dev.
+ * Disable blktap2 support, it links against OpenSSL.
+ * Update copyright file.
+
+ -- Bastian Blank <waldi@debian.org> Thu, 06 May 2010 15:47:38 +0200
+
+xen-3 (3.4.3-1) unstable; urgency=low
+
+ * New upstream version.
+ * Disable blktap support, it is unusable with current kernels.
+ * Disable libaio, was only used by blktap.
+ * Drop device creation support. (closes: #583283)
+
+ -- Bastian Blank <waldi@debian.org> Fri, 28 May 2010 11:43:18 +0200
+
+xen-3 (3.4.3~rc6-1) unstable; urgency=low
+
+ * New upstream release candidate.
+ - Relocate multiboot modules. (closes: #580045)
+ - Support grub2 in pygrub. (closes: #573311)
+
+ -- Bastian Blank <waldi@debian.org> Sat, 08 May 2010 11:32:29 +0200
+
+xen-3 (3.4.3~rc3-2) unstable; urgency=low
+
+ * Again list the complete version in the hypervisor.
+ * Fix path detection for bootloader, document it. (closes: #481105)
+ * Rewrite README.
+
+ -- Bastian Blank <waldi@debian.org> Thu, 08 Apr 2010 16:14:58 +0200
+
+xen-3 (3.4.3~rc3-1) unstable; urgency=low
+
+ * New upstream release candidate.
+ * Use 3.0 (quilt) source format.
+ * Always use current python version.
+
+ -- Bastian Blank <waldi@debian.org> Mon, 01 Mar 2010 22:14:22 +0100
+
+xen-3 (3.4.2-2) unstable; urgency=low
+
+ * Remove Jeremy T. Bouse from uploaders.
+ * Export blktap lib and headers.
+ * Build amd64 hypervisor on i386. (closes: #366315)
+
+ -- Bastian Blank <waldi@debian.org> Sun, 22 Nov 2009 16:54:47 +0100
+
+xen-3 (3.4.2-1) unstable; urgency=low
+
+ * New upstream version.
+ * Strip hvmloader by hand.
+ * Remove extra license file from libxen-dev.
+
+ -- Bastian Blank <waldi@debian.org> Mon, 16 Nov 2009 20:57:07 +0100
+
+xen-3 (3.4.1-1) unstable; urgency=low
+
+ * New upstream version.
+
+ -- Bastian Blank <waldi@debian.org> Fri, 21 Aug 2009 21:34:38 +0200
+
+xen-3 (3.4.0-2) unstable; urgency=low
+
+ * Add symbols file for libxenstore3.0. (closes: #536173)
+ * Document that ioemu is currently unsupported. (closes: #536175)
+ * Fix location of fsimage plugins. (closes: #536174)
+
+ -- Bastian Blank <waldi@debian.org> Sat, 18 Jul 2009 18:05:35 +0200
+
+xen-3 (3.4.0-1) unstable; urgency=low
+
+ [ Bastian Blank ]
+ * New upstream version.
+ * Remove ioemu for now. (closes: #490409, #496367)
+ * Remove non-pae hypervisor.
+ * Use debhelper compat level 7.
+ * Make the init script start all daemons.
+
+ -- Bastian Blank <waldi@debian.org> Tue, 30 Jun 2009 22:33:22 +0200
+
+xen-3 (3.2.1-2) unstable; urgency=low
+
+ * Use e2fslibs based ext2 support for pygrub. (closes: #476366)
+ * Fix missing checks in pvfb code.
+ See CVE-2008-1952. (closes: #487095)
+ * Add support for loading bzImage files. (closes: #474509)
+ * Enable TLS support in ioemu code.
+ * Drop libcrypto usage because of GPL-incompatibility.
+ * Remove AES code from blktap drivers. Considered broken.
+
+ -- Bastian Blank <waldi@debian.org> Sat, 28 Jun 2008 11:30:43 +0200
+
+xen-3 (3.2.1-1) unstable; urgency=low
+
+ * New upstream version.
+ * Set rpath relative to ${ORIGIN}.
+ * Add lintian override to xen-utils package.
+
+ -- Bastian Blank <waldi@debian.org> Thu, 22 May 2008 14:01:47 +0200
+
+xen-3 (3.2.0-5) unstable; urgency=low
+
+ * Provide correct directory to dh_pycentral.
+
+ -- Bastian Blank <waldi@debian.org> Mon, 14 Apr 2008 21:43:49 +0200
+
+xen-3 (3.2.0-4) unstable; urgency=low
+
+ * Pull in newer xen-utils-common.
+ * Fix missing size checks in the ioemu block driver. (closes: #469654)
+ See: CVE-2008-0928
+
+ -- Bastian Blank <waldi@debian.org> Fri, 07 Mar 2008 14:21:38 +0100
+
+xen-3 (3.2.0-3) unstable; urgency=low
+
+ * Clean environment for build.
+ * Add packages libxenstore3.0 and xenstore-utils.
+ * Move docs package in docs section to match overwrites.
+ * Make the hypervisor only recommend the utils.
+ * Cleanup installation. (closes: #462989)
+
+ -- Bastian Blank <waldi@debian.org> Tue, 12 Feb 2008 12:40:56 +0000
+
+xen-3 (3.2.0-2) unstable; urgency=low
+
+ * Fix broken patch. (closes: #462522)
+
+ -- Bastian Blank <waldi@debian.org> Sat, 26 Jan 2008 17:21:52 +0000
+
+xen-3 (3.2.0-1) unstable; urgency=low
+
+ * New upstream version.
+ * Add package libxen-dev. Including public headers and static libs.
+ (closes: #402249)
+ * Don't longer install xenfb, removed upstream.
+
+ -- Bastian Blank <waldi@debian.org> Tue, 22 Jan 2008 12:51:49 +0000
+
+xen-3 (3.1.2-2) unstable; urgency=low
+
+ * Add missing rpath definitions.
+ * Fix building of pae version.
+
+ -- Bastian Blank <waldi@debian.org> Sat, 08 Dec 2007 12:07:42 +0000
+
+xen-3 (3.1.2-1) unstable; urgency=high
+
+ * New upstream release:
+ - Move shared file into /var/run. (closes: #447795)
+ See CVE-2007-3919.
+ - x86: Fix various problems with debug-register handling. (closes: #451626)
+ See CVE-2007-5906.
+
+ -- Bastian Blank <waldi@debian.org> Sat, 24 Nov 2007 13:24:45 +0000
+
+xen-3 (3.1.1-1) unstable; urgency=low
+
+ * New upstream release:
+ - Don't use exec with untrusted values in pygrub. (closes: #444430)
+ See CVE-2007-4993.
+
+ -- Bastian Blank <waldi@debian.org> Fri, 19 Oct 2007 16:02:37 +0000
+
+xen-3 (3.1.0-2) unstable; urgency=low
+
+ * Switch to texlive for documentation.
+ * Drop unused transfig.
+ * Drop unused latex features from documentation.
+ * Build depend against gcc-multilib for amd64. (closes: #439662)
+
+ -- Bastian Blank <waldi@debian.org> Fri, 31 Aug 2007 08:15:50 +0000
+
+xen-3 (3.1.0-1) unstable; urgency=low
+
+ [ Julien Danjou ]
+ * New upstream version.
+
+ [ Ralph Passgang ]
+ * Added graphviz to Build-Indeps
+
+ [ Bastian Blank ]
+ * Upstream removed one part of the version. Do it also.
+ * Merge utils packages.
+ * Install blktap support.
+ * Install pygrub.
+ * Install xenfb tools.
+ * xenconsoled startup is racy, wait a little bit.
+
+ -- Bastian Blank <waldi@debian.org> Mon, 20 Aug 2007 15:05:08 +0000
+
+xen-3.0 (3.0.4-1-1) unstable; urgency=low
+
+ [ Bastian Blank ]
+ * New upstream version (closes: #394411)
+
+ [ Guido Trotter ]
+ * Actually try to build and release xen 3.0.4
+ * Update build dependencies
+
+ -- Guido Trotter <ultrotter@debian.org> Wed, 23 May 2007 11:57:29 +0100
+
+xen-3.0 (3.0.3-0-2) unstable; urgency=medium
+
+ [Bastian Blank]
+ * Remove device recreate code.
+ * Remove build dependency on linux-support-X
+
+ [ Guido Trotter ]
+ * Add missing build dependency on zlib1g-dev (closes: #396557)
+ * Add missing build dependencies on libncurses5-dev and x11proto-core-dev
+ (closes: #396561, #396567)
+
+ -- Guido Trotter <ultrotter@debian.org> Thu, 2 Nov 2006 16:38:02 +0000
+
+xen-3.0 (3.0.3-0-1) unstable; urgency=low
+
+ * New upstream version.
+
+ -- Bastian Blank <waldi@debian.org> Fri, 20 Oct 2006 11:04:35 +0000
+
+xen-3.0 (3.0.3~rc4+hg11760-1) unstable; urgency=low
+
+ * New upstream snapshot.
+ * Ignore update-grub errors. (closes: #392534)
+
+ -- Bastian Blank <waldi@debian.org> Sat, 14 Oct 2006 13:09:53 +0000
+
+xen-3.0 (3.0.3~rc1+hg11686-1) unstable; urgency=low
+
+ * New upstream snapshot.
+ * Rename ioemu package to include the complete version.
+ * Fix name of hypervisor. (closes: #391771)
+
+ -- Bastian Blank <waldi@debian.org> Mon, 9 Oct 2006 12:48:13 +0000
+
+xen-3.0 (3.0.2-3+hg9762-1) unstable; urgency=low
+
+ * New upstream snapshot.
+ * Rename hypervisor and utils packages to include the complete version.
+ * Redo build environment.
+
+ -- Bastian Blank <waldi@debian.org> Mon, 4 Sep 2006 18:43:12 +0000
+
+xen-3.0 (3.0.2+hg9697-2) unstable; urgency=low
+
+ [ Guido Trotter ]
+ * Update xen-utils' README.Debian (closes: #372524)
+
+ [ Bastian Blank ]
+ * Adopt new python policy. (closes: #380990)
+ * Add patch to make new kernels working on the hypervisor.
+
+ -- Bastian Blank <waldi@debian.org> Tue, 15 Aug 2006 19:20:08 +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 <ultrotter@debian.org> 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 <ultrotter@debian.org> 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 <ultrotter@debian.org> 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 <acid@debian.org> 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 <acid@debian.org> 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 <acid@debian.org> 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 <acid@debian.org> 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 <acid@debian.org> 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 <doogie@brainfood.com> 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 <doogie@brainfood.com> Fri, 18 Mar 2005 12:43:50 -0600
+
+xen (2.0.5-2) experimental; urgency=low
+
+ * Mike McCallister <mike+debian@metalogue.com>,
+ Tommi Virtanen <tv@debian.org>, Tom Hibbert <tom@nsp.co.nz>:
+ Fix missing '.' in update-rc.d call in xen.postinst. Closes: #299384
+
+ -- Adam Heath <doogie@brainfood.com> 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 <doogie@brainfood.com> 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 <schizo@debian.org>.
+
+ -- Adam Heath <doogie@brainfood.com> 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 <tupshin@tupshin.com>.
+
+ -- Adam Heath <doogie@brainfood.com> 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 <doogie@brainfood.com> 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 <doogie@brainfood.com> 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 <doogie@brainfood.com> 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 <doogie@brainfood.com> 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 <djpig@debian.org> 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 <doogie@brainfood.com> 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 <doogie@brainfood.com> 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 <doogie@brainfood.com> Thu, 04 Mar 2004 12:47:47 -0600
+
+xen (1.2-1) unstable; urgency=low
+
+ * Initial version.
+
+ -- Adam Heath <doogie@brainfood.com> Tue, 02 Mar 2004 13:21:52 -0600
diff --git a/debian/compat b/debian/compat
new file mode 100644
index 0000000..ec63514
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+9
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..c2f96f4
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,151 @@
+Source: xen
+Section: kernel
+Priority: optional
+Maintainer: Debian Xen Team <pkg-xen-devel@lists.alioth.debian.org>
+Uploaders: Guido Trotter <ultrotter@debian.org>, Bastian Blank <waldi@debian.org>
+Standards-Version: 3.9.4
+Build-Depends: autotools-dev, debhelper (>> 9), dpkg-dev (>= 1.16.0~), lsb-release, python-dev, bcc [i386 amd64], gcc-multilib [i386 amd64], e2fslibs-dev, iasl [i386 amd64], seabios (>= 1.7.4-2~) [i386 amd64], libaio-dev, libfdt-dev [armhf arm64], libglib2.0-dev, liblzma-dev, libncurses5-dev, libyajl-dev, libssl-dev, pkg-config, uuid-dev, zlib1g-dev, libpixman-1-dev
+XS-Python-Version: current
+
+Package: libxen-4.6
+Architecture: amd64 arm64 armhf i386
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Public libs for Xen
+ This package contains the shared toolstack libraries for Xen.
+Multi-Arch: same
+
+Package: libxenstore3.0
+Architecture: amd64 arm64 armhf i386
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Xenstore communications library for Xen
+ This package contains the client library interface to XenStore. .
+Multi-Arch: same
+
+Package: libxen-dev
+Architecture: amd64 arm64 armhf i386
+Section: libdevel
+Depends: libxen-4.6 (= ${binary:Version}), libxenstore3.0 (= ${binary:Version}), ${misc:Depends}
+Description: Public headers and libs for Xen
+ This package contains the public headers and static libraries for Xen.
+ .
+ The libxenlight library is intended as a common base for all Xen toolstack
+ developers. The libxlutil library contains additional helpers which may
+ be useful to toolstack developers.
+ .
+ The libxenstore library allows userspace processes to interact with the
+ XenStore database. XenStore is a shared database used for interdomain
+ communication of configuration and status information. It is accessible
+ to all domains running on the same Xen host. See
+ http://wiki.xen.org/wiki/XenStore for more information.
+ .
+ The libxenctrl and libxenguest libraries are internal libraries intended
+ for use by the Xen toolstack and are not intended to be used directly.
+ Toolstack authors should use libxenlight.
+
+Package: xenstore-utils
+Architecture: amd64 arm64 armhf i386
+Section: admin
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Replaces: xen-utils-common (<= 3.1.0-1)
+Conflicts: xen-utils-common (<= 3.1.0-1)
+Description: Xenstore command line utilities for Xen
+ This package contains command line utilities for interacting with
+ XenStore.
+ .
+ XenStore is a shared database used for interdomain communication of
+ configuration and status information. It is accessible to all domains
+ running on the same Xen host. See http://wiki.xen.org/wiki/XenStore for
+ more information.
+ .
+ In the common case these tools are used by the Xen toolstack running in
+ domain0 (or a driver domain) however they may also be used in a guest
+ domain to support local scripting which wants to communicate via XenStore.
+
+Package: xen-utils-common
+Architecture: all
+Depends: lsb-base, python, udev, xenstore-utils, ${misc:Depends}
+Description: Xen administrative tools - common files
+ The userspace tools to manage a system virtualized through the Xen virtual
+ machine monitor.
+ .
+ This package is only required on the host system (Domain 0) and not on the
+ virtual guest systems (Domain U).
+
+Package: xen-utils-4.6
+Architecture: amd64 arm64 armhf i386
+Provides: xen-utils
+Depends: ${shlibs:Depends}, ${misc:Depends}, ${python:Depends}, xen-utils-common (>= ${source:Version})
+Recommends: bridge-utils, libc6-xen [i386], xen-hypervisor-4.6, qemu-system-x86, grub-xen-host [i386 amd64]
+Description: XEN administrative tools
+ The userspace tools to manage a system virtualized through the XEN virtual
+ machine monitor.
+Built-Using: ${misc:Built-Using}
+
+Package: xen-hypervisor-4.6-amd64
+Architecture: amd64 i386
+Provides: xen-hypervisor, xen-hypervisor-4.6, xen-hypervisor-amd64
+Depends: ${misc:Depends}
+Recommends: xen-utils-4.6
+Description: Xen Hypervisor on 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.
+
+Package: xen-system-amd64
+Architecture: amd64 i386
+Provides: xen-system
+Depends: xen-hypervisor-4.6-amd64, xen-utils-4.6, ${misc:Depends}
+Description: Xen System on AMD64 (meta-package)
+ This package depends on the latest Xen hypervisor for use on AMD64 and the
+ Xen utils.
+
+Package: xen-hypervisor-4.6-arm64
+Architecture: arm64
+Provides: xen-hypervisor, xen-hypervisor-4.6, xen-hypervisor-arm64
+Depends: ${misc:Depends}
+Recommends: xen-utils-4.6
+Description: Xen Hypervisor on ARM64
+ 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.
+
+Package: xen-system-arm64
+Architecture: arm64
+Provides: xen-system
+Depends: xen-hypervisor-4.6-arm64, xen-utils-4.6, ${misc:Depends}
+Description: Xen System on ARM64 (meta-package)
+ This package depends on the latest Xen hypervisor for use on ARM64 and the
+ Xen utils.
+
+Package: xen-hypervisor-4.6-armhf
+Architecture: armhf
+Provides: xen-hypervisor, xen-hypervisor-4.6, xen-hypervisor-armhf
+Depends: ${misc:Depends}
+Recommends: xen-utils-4.6
+Description: Xen Hypervisor on ARMHF
+ 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.
+
+Package: xen-system-armhf
+Architecture: armhf
+Provides: xen-system
+Depends: xen-hypervisor-4.6-armhf, xen-utils-4.6, ${misc:Depends}
+Description: Xen System on ARMHF (meta-package)
+ This package depends on the latest Xen hypervisor for use on ARMHF and the
+ Xen utils.
+
diff --git a/debian/control.md5sum b/debian/control.md5sum
new file mode 100644
index 0000000..f9719a4
--- /dev/null
+++ b/debian/control.md5sum
@@ -0,0 +1,17 @@
+b81163bfe591049cca754f4d255c8c84 debian/changelog
+18cd1d3b5afcf393597506b26ecf31ca debian/bin/gencontrol.py
+e8f2113c78600fc17eeae209c9fad062 debian/templates/control.main.in
+a15fa64ce6deead28d33c1581b14dba7 debian/templates/xen-hypervisor.postinst.in
+fe9f3e8a9c9b716f7b4c5b7d7aec3128 debian/templates/control.system.latest.in
+03f63e67cf2d915bfbb535f8c9d9e2e4 debian/templates/xen-utils.postinst.in
+242c52a62fcb0740b63e9b3b9e5b055e debian/templates/control.source.in
+a4fad0ec66d977759a362165bf8aa31d debian/templates/control.hypervisor.in
+22492e0565a4754b5e008ca7cac871da debian/templates/xen-hypervisor.postrm.in
+3b6a762d6fef1e6407191d3a7bf38222 debian/templates/control.utils.in
+dcabf82578122540e0534f72750698d5 debian/templates/xen-utils.lintian-overrides.in
+b6acd21c3924e6ec6f9c547afbbc7d9e debian/templates/xen-utils.prerm.in
+f48f31b0af755ff8b08b4575e94d6390 debian/arch/defines
+bda767ffd62b57de88b50731794f1374 debian/arch/i386/defines
+06efb201e83233c4607b13c8dad5c031 debian/arch/armhf/defines
+afd11afd204a8929340d194894572353 debian/arch/amd64/defines
+b6a35272efc8545fafab547e1cf492cb debian/arch/arm64/defines
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..9a0736c
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,307 @@
+This work was downloaded from
+
+ http://xenbits.xensource.com/
+
+Copyright:
+
+ Copyright (C) 1998-2005 Hewlett-Packard Co
+ 1999-2006 Silicon Graphics, Inc
+ 2001-2006 IBM Corporation
+ 2005-2006 XenSource Inc
+ 2006-2010 Citrix Systems Inc.
+ and many others
+
+License:
+
+ This package is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License version 2 as
+ published by the Free Software Foundation.
+
+ 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 program. If not, see <http://www.gnu.org/licenses/>
+
+On Debian systems, the complete text of the GNU General
+Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
+
+The bundled qemu is:
+
+ Copyright (C) 2007 Alexander Graf
+ 2005,2007 Alex Beregszaszi
+ 2005-2008 Andrzej Zaborowski <balrog@zabor.org>
+ 2005-2007 Anthony Liguori <anthony@codemonkey.ws>
+ 2004 Antony T Curtis
+ 2007 Arastra, Inc.
+ 2007 Armin Kuster <akuster@kama-aina.net> or
+ 1999 AT&T Laboratories Cambridge
+ 2006,2007 Aurelien Jarno
+ 2007-2008 AXIS Communications AB
+ 2007-2008 Bull S.A.S.
+ 2006 Christian Limpach
+ 2008 Citrix Systems, Inc.
+ 2005-2008 CodeSourcery
+ 2007 Dan Aloni
+ 1995,1996 Danny Gasparovski
+ 2000-2003 David McCullough <davidm@snapgear.com>
+ 2008 Dmitry Baryshkov
+ 2007-2009 Edgar E. Iglesias, Axis Communications AB.
+ 1996-1999 Eduardo Horvath
+ 1998,2003-2008 Fabrice Bellard
+ 2005 Filip Navara
+ 2006 Frederick Reeve
+ 2009 Freescale Semiconductor
+ 1986-2007 Free Software Foundation, Inc.
+ 2004 Gianni Tedesco
+ 2008 Gleb Natapov
+ 2002 Greg Ungerer <gerg@snapgear.com>
+ 2007-2009 Hervé Poussineau
+ 2005,2007,2008 IBM Corporation
+ 2008 IBM Corporation
+ 2006 Igor Kovalenko
+ 2006 InnoTek Systemberatung GmbH
+ 1999-2008 Intel Corporation
+ 2009 Isaku Yamahata
+ 2003-2004 James Yonan
+ 2008 Jan Kiszka
+ 2006 Joachim Henke
+ 2003-2007 Jocelyn Mayer
+ 2004,2005 Johannes E. Schindelin
+ 2005 Julian Chesterfield and Andrew Warfield.
+ 2008 Kamala Narasimhan
+ 1998 Kenneth Albanowski <kjahds@kjahds.com>
+ 2008 Kevin Wolf
+ 2009 Kevin Wolf <kwolf@suse.de>
+ 2009 Laurent Vivier
+ 2007-2008 Lauro Ramos Venancio <lauro.venancio@indt.org.br>
+ 2000,2001 Lineo, by David McCullough <davidm@lineo.com>
+ 1991,1992,1996 Linus Torvalds
+ 2006 Lonnie Mendez
+ 2008 Lubomir Rintel
+ 2004,2007 Magnus Damm
+ 2004 Makoto Suzuki (suzu)
+ 2002-2006 Marcel Holtmann <marcel@holtmann.org>
+ 2006 Marius Groeger (FPU operations)
+ 2007 Marko Kohtala
+ 2002-2003 Maxim Krasnyansky <maxk@qualcomm.com>
+ 2008 Max Krasnyansky
+ 2005,2008 Mike Kronenberg
+ 2007 MontaVista Software, Inc
+ 2007 Neocleus Corporation.
+ 2007-2008 Nokia Corporation
+ 2001 OKTET Ltd., St.-Petersburg, Russia
+ 2006-2008 Openedhand Ltd.
+ 2007-2008 OpenMoko, Inc.
+ 1996 Paul Mackerras.
+ 2008 Paul Mundt
+ 2006 Pierre d'Herbemont
+ 2000-2001 Qualcomm Incorporated
+ 2006-2008 Qumranet Technologies
+ 1997-1999,2001,2009 Red Hat, Inc.
+ 1988,1989,1990,1991,1992 Richard Outerbridge
+ 2007 Robert Reif
+ 1998-2004 Samuel Rydh (samuel@ibrium.se)
+ 2005 Samuel Tardieu
+ 2007,2008 Samuel Thibault
+ 2008 Semihalf
+ 2008 Shin-ichiro KAWASAKI
+ 2002 SnapGear, by Paul Dale <pauli@snapgear.com>
+ 2006-2007 Stefan Weil
+ 2008 Takashi YOSHII
+ 1999,2000 Tatsuyuki Satoh , MultiArcadeMachineEmurator development
+ 1993 Theodore Ts'o
+ 2006,2007 Thiemo Seufer
+ 2003 Thomas M. Ogrisegg <tom@fnord.at>
+ 2006 Thomas Sailer
+ 1998-2001,2003 Thomas Sailer (t.sailer@alumni.ethz.ch)
+ 2006,2007 Thorsten Zitterell
+ 2000-2007 Tibor "TS" Schütz
+ 2008 TJ <linux@tjworld.net>
+ 2002-2005 Vassili Karpov (malc)
+ 2005 Vassili Karpov (malc)
+ 2007 Vladimir Ananiev <vovan888@gmail.com>
+ 2006 XenSource
+
+The Debian packaging is:
+
+ Copyright (C) 2008-2010 Bastian Blank <waldi@debian.org>
+
+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.
+
+The following parts are subject of a different license:
+* tools/firmware/vgabios
+* tools/libaio
+* tools/libxen
+* tools/xenstat/libxenstat
+* tools/xenstore
+
+ This package is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ 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
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+On Debian systems, the complete text of the GNU Lesser General
+Public License can be found in "/usr/share/common-licenses/LGPL-2".
+
+Files in xen/include/public are subject to the following license:
+
+ 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.
+
+Files in extra/mini-os are subject to the following license:
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+ 1. Redistributions of 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.
+
+ THIS SOFTWARE IS PROVIDED BY AUTHOR 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 AUTHOR 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 in tools/vtpm_manager are subject to the following license:
+
+ 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.
+
+File tools/python/test.py is subject to the following 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.
+
+Files in tools/python/logging are subject to the following license:
+
+ Copyright (C) 2001-2004 by Vinay Sajip. All Rights Reserved.
+
+ Permission to use, copy, modify, and distribute this software and its
+ documentation for any purpose and without fee is hereby granted,
+ provided that the above copyright notice appear in all copies and that
+ both that copyright notice and this permission notice appear in
+ supporting documentation, and that the name of Vinay Sajip
+ not be used in advertising or publicity pertaining to distribution
+ of the software without specific, written prior permission.
+
+ VINAY SAJIP DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
+ VINAY SAJIP BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
+ AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+ IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
diff --git a/debian/lib/python/debian_xen/__init__.py b/debian/lib/python/debian_xen/__init__.py
new file mode 100644
index 0000000..8fbea26
--- /dev/null
+++ b/debian/lib/python/debian_xen/__init__.py
@@ -0,0 +1,19 @@
+def _setup():
+ import os.path, sys
+ version = None
+ rules = os.path.join(__path__[0], "../../../rules.defs")
+ f = file(rules)
+ for l in f:
+ l = l.strip().split()
+ if l[0] == 'KERNELVERSION':
+ version = l[-1]
+ f.close()
+ if version is None:
+ raise RuntimeError("Can't find KERNELVERSION setting")
+ global support
+ support = '/usr/src/linux-support-%s' % version
+ if not os.path.exists(support):
+ raise RuntimeError("Can't find %s, please install the linux-support-%s package" % (support, version))
+ sys.path.append('%s/lib/python' % support)
+
+_setup()
diff --git a/debian/lib/python/debian_xen/debian.py b/debian/lib/python/debian_xen/debian.py
new file mode 100644
index 0000000..6932e95
--- /dev/null
+++ b/debian/lib/python/debian_xen/debian.py
@@ -0,0 +1,35 @@
+import re
+from debian_linux.debian import Version
+
+
+class VersionXen(Version):
+ _version_xen_rules = ur"""
+^
+(?P<version>
+ \d+\.\d+
+)
+(?:
+ \.\d+
+ (?:
+ ~rc\d+
+ )?
+ (?:
+ \+hg-\d+.[a-z0-9]+
+ )?
+ |
+ ~hg-\d+.[a-z0-9]+
+)
+-
+(?:[^-]+)
+$
+"""
+ _version_xen_re = re.compile(_version_xen_rules, re.X)
+
+ def __init__(self, version):
+ super(VersionXen, self).__init__(version)
+ match = self._version_xen_re.match(version)
+ if match is None:
+ raise ValueError("Invalid debian xen version")
+ d = match.groupdict()
+ self.xen_version = d['version']
+
diff --git a/debian/libxen-dev.install b/debian/libxen-dev.install
new file mode 100644
index 0000000..96ffc25
--- /dev/null
+++ b/debian/libxen-dev.install
@@ -0,0 +1,19 @@
+usr/lib/*/libxenctrl.a
+usr/lib/*/libxenctrl.so
+usr/lib/*/libxenguest.a
+usr/lib/*/libxenguest.so
+usr/lib/*/libxenlight.a
+usr/lib/*/libxenlight.so
+usr/lib/*/libxenstore.a
+usr/lib/*/libxenstore.so
+usr/lib/*/libxlutil.a
+usr/lib/*/libxlutil.so
+usr/include/_libxl*.h
+usr/include/libxl*.h
+usr/include/xenctrl.h
+usr/include/xenguest.h
+usr/include/xenstore*.h
+usr/include/xenstore-compat/xs* usr/include
+usr/include/xentoollog.h
+usr/include/xenctrlosdep.h
+usr/include/xen
diff --git a/debian/libxenstore3.0.install b/debian/libxenstore3.0.install
new file mode 100644
index 0000000..b0eecf5
--- /dev/null
+++ b/debian/libxenstore3.0.install
@@ -0,0 +1 @@
+usr/lib/*/libxenstore.so.*
diff --git a/debian/libxenstore3.0.symbols b/debian/libxenstore3.0.symbols
new file mode 100644
index 0000000..5b60ffd
--- /dev/null
+++ b/debian/libxenstore3.0.symbols
@@ -0,0 +1,46 @@
+libxenstore.so.3.0 libxenstore3.0 #MINVER#
+ expanding_buffer_ensure@Base 3.2.0
+ sanitise_value@Base 3.2.0
+ unsanitise_value@Base 3.2.0
+ xprintf@Base 3.2.0
+ xs_check_watch@Base 4.2~
+ xs_close@Base 4.1.0~rc6
+ xs_count_strings@Base 3.2.0
+ xs_daemon_close@Base 3.2.0
+ xs_daemon_destroy_postfork@Base 4.0.1~rc4
+ xs_daemon_open@Base 3.2.0
+ xs_daemon_open_readonly@Base 3.2.0
+ xs_daemon_rootdir@Base 3.2.0
+ xs_daemon_rundir@Base 3.2.0
+ xs_daemon_socket@Base 3.2.0
+ xs_daemon_socket_ro@Base 3.2.0
+ xs_daemon_tdb@Base 3.2.0
+ xs_debug_command@Base 3.2.0
+ xs_directory@Base 3.2.0
+ xs_domain_dev@Base 3.2.0
+ xs_domain_open@Base 3.2.0
+ xs_fileno@Base 3.2.0
+ xs_get_domain_path@Base 3.2.0
+ xs_get_permissions@Base 3.2.0
+ xs_introduce_domain@Base 3.2.0
+ xs_is_domain_introduced@Base 3.2.0
+ xs_mkdir@Base 3.2.0
+ xs_open@Base 4.1.0~rc6
+ xs_path_is_subpath@Base 4.2~
+ xs_perm_to_string@Base 3.2.0
+ xs_read@Base 3.2.0
+ xs_read_watch@Base 3.2.0
+ xs_release_domain@Base 3.2.0
+ xs_restrict@Base 4.1.0~rc6
+ xs_resume_domain@Base 3.2.0
+ xs_rm@Base 3.2.0
+ xs_set_permissions@Base 3.2.0
+ xs_set_target@Base 3.4.0
+ xs_strings_to_perms@Base 3.2.0
+ xs_suspend_evtchn_port@Base 3.4.0
+ xs_transaction_end@Base 3.2.0
+ xs_transaction_start@Base 3.2.0
+ xs_unwatch@Base 3.2.0
+ xs_watch@Base 3.2.0
+ xs_write@Base 3.2.0
+ xs_write_all@Base 3.2.0
diff --git a/debian/patches/config-prefix.diff b/debian/patches/config-prefix.diff
new file mode 100644
index 0000000..3f1d929
--- /dev/null
+++ b/debian/patches/config-prefix.diff
@@ -0,0 +1,47 @@
+From 91aca1c82d48c8226faa72e0a6f16cef25bbe130 Mon Sep 17 00:00:00 2001
+From: Bastian Blank <waldi@debian.org>
+Date: Sat, 5 Jul 2014 11:46:45 +0200
+Subject: config-prefix.diff
+
+Patch-Name: config-prefix.diff
+---
+ Config.mk | 2 +-
+ config/Paths.mk.in | 5 +++--
+ 2 files changed, 4 insertions(+), 3 deletions(-)
+
+Index: xen-0.1.2014.05.orig/Config.mk
+===================================================================
+--- xen-0.1.2014.05.orig.orig/Config.mk
++++ xen-0.1.2014.05.orig/Config.mk
+@@ -75,7 +75,7 @@ EXTRA_LIB += $(EXTRA_PREFIX)/lib
+ endif
+
+ PYTHON ?= python
+-PYTHON_PREFIX_ARG ?= --prefix="$(PREFIX)"
++PYTHON_PREFIX_ARG ?= --home="$(LIBEXEC)"
+ # The above requires that PREFIX contains *no spaces*. This variable is here
+ # to permit the user to set PYTHON_PREFIX_ARG to '' to workaround this bug:
+ # https://bugs.launchpad.net/ubuntu/+bug/362570
+Index: xen-0.1.2014.05.orig/config/Paths.mk.in
+===================================================================
+--- xen-0.1.2014.05.orig.orig/config/Paths.mk.in
++++ xen-0.1.2014.05.orig/config/Paths.mk.in
+@@ -13,6 +13,7 @@
+ # http://wiki.xen.org/wiki/Category:Host_Configuration#System_wide_xen_configuration
+
+ PACKAGE_TARNAME := @PACKAGE_TARNAME@
++PACKAGE_VERSION := @PACKAGE_VERSION@
+ prefix := @prefix@
+ bindir := @bindir@
+ sbindir := @sbindir@
+@@ -33,8 +34,8 @@ PREFIX := $(prefix)
+
+ SBINDIR := $(sbindir)
+ BINDIR := $(bindir)
+-LIBEXEC := $(libexecdir)/$(PACKAGE_TARNAME)
+-LIBEXEC_BIN := @LIBEXEC_BIN@
++LIBEXEC := $(libexecdir)/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)
++LIBEXEC_BIN := $(LIBEXEC)/bin
+ LIBEXEC_LIB := $(LIBEXEC)/lib
+ LIBEXEC_INC := $(LIBEXEC)/include
+
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..85657a5
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,27 @@
+version.diff
+config-prefix.diff
+tools-libfsimage-abiname.diff
+tools-libxc-abiname.diff
+tools-libxl-abiname.diff
+tools-xenstat-abiname.diff
+tools-rpath.diff
+tools-blktap2-prefix.diff
+tools-console-prefix.diff
+tools-libfsimage-prefix.diff
+tools-libxl-prefix.diff
+tools-misc-prefix.diff
+tools-pygrub-prefix.diff
+tools-python-prefix.diff
+tools-xcutils-rpath.diff
+tools-xenmon-prefix.diff
+tools-xenpaging-prefix.diff
+tools-xenpmd-prefix.diff
+tools-xenstat-prefix.diff
+tools-xenstore-prefix.diff
+tools-xentrace-prefix.diff
+tools-pygrub-remove-static-solaris-support
+tools-include-install.diff
+tools-xenmon-install.diff
+tools-hotplug-udevrules.diff
+tools-xenstore-compatibility.diff
+xl-coredumps-to-var-lib-xen-dump.diff
diff --git a/debian/patches/tools-blktap2-prefix.diff b/debian/patches/tools-blktap2-prefix.diff
new file mode 100644
index 0000000..3e73562
--- /dev/null
+++ b/debian/patches/tools-blktap2-prefix.diff
@@ -0,0 +1,148 @@
+From 37a1cad3e6ea62e26352f264432dd89f19d253b6 Mon Sep 17 00:00:00 2001
+From: Bastian Blank <waldi@debian.org>
+Date: Sat, 5 Jul 2014 11:46:53 +0200
+Subject: tools-blktap2-prefix.diff
+
+Patch-Name: tools-blktap2-prefix.diff
+---
+ tools/blktap2/control/Makefile | 26 ++++++++------------------
+ tools/blktap2/vhd/Makefile | 1 +
+ tools/blktap2/vhd/lib/Makefile | 29 +++++++++--------------------
+ 3 files changed, 18 insertions(+), 38 deletions(-)
+
+--- a/tools/blktap2/control/Makefile
++++ b/tools/blktap2/control/Makefile
+@@ -1,10 +1,7 @@
+ XEN_ROOT := $(CURDIR)/../../../
+ include $(XEN_ROOT)/tools/Rules.mk
+
+-MAJOR = 1.0
+-MINOR = 0
+ LIBNAME = libblktapctl
+-LIBSONAME = $(LIBNAME).so.$(MAJOR)
+
+ IBIN = tap-ctl
+
+@@ -38,39 +35,32 @@
+ PICS = $(CTL_PICS)
+
+ LIB_STATIC = $(LIBNAME).a
+-LIB_SHARED = $(LIBSONAME).$(MINOR)
++LIB_SHARED = $(LIBNAME).so
+ IBIN = tap-ctl
+
+ all: build
+
+ build: $(IBIN) $(LIB_STATIC) $(LIB_SHARED)
+
+-$(LIBNAME).so: $(LIBSONAME)
+- ln -sf $< $@
+-
+-$(LIBSONAME): $(LIB_SHARED)
+- ln -sf $< $@
+-
+ tap-ctl: tap-ctl.o $(LIBNAME).so
+- $(CC) $(LDFLAGS) -o $@ $^ $(APPEND_LDFLAGS)
++ $(CC) $(LDFLAGS) $(call LDFLAGS_RPATH,../lib) -o $@ $^ $(APPEND_LDFLAGS)
+
+ $(LIB_STATIC): $(CTL_OBJS)
+ $(AR) r $@ $^
+
+ $(LIB_SHARED): $(CTL_PICS)
+- $(CC) $(LDFLAGS) -fPIC -Wl,$(SONAME_LDFLAG) -Wl,$(LIBSONAME) $(SHLIB_LDFLAGS) -rdynamic $^ -o $@ $(APPEND_LDFLAGS)
++ $(CC) $(LDFLAGS) -fPIC $(SHLIB_LDFLAGS) -rdynamic $^ -o $@ $(APPEND_LDFLAGS)
+
+ install: $(IBIN) $(LIB_STATIC) $(LIB_SHARED)
+- $(INSTALL_DIR) -p $(DESTDIR)$(SBINDIR)
+- $(INSTALL_PROG) $(IBIN) $(DESTDIR)$(SBINDIR)
++ $(INSTALL_DIR) -p $(DESTDIR)$(LIBDIR)
++ $(INSTALL_DIR) -p $(DESTDIR)$(LIBEXEC_BIN)
++ $(INSTALL_DIR) -p $(DESTDIR)$(LIBEXEC_LIB)
++ $(INSTALL_PROG) $(IBIN) $(DESTDIR)$(LIBEXEC_BIN)
+ $(INSTALL_DATA) $(LIB_STATIC) $(DESTDIR)$(LIBDIR)
+- $(INSTALL_PROG) $(LIB_SHARED) $(DESTDIR)$(LIBDIR)
+- ln -sf $(LIBSONAME) $(DESTDIR)$(LIBDIR)/$(LIBNAME).so
+- ln -sf $(LIB_SHARED) $(DESTDIR)$(LIBDIR)/$(LIBSONAME)
++ $(INSTALL_PROG) $(LIB_SHARED) $(DESTDIR)$(LIBEXEC_LIB)
+
+ clean:
+ rm -f $(OBJS) $(PICS) $(DEPS) $(IBIN) $(LIB_STATIC) $(LIB_SHARED)
+- rm -f $(LIBNAME).so $(LIBSONAME)
+ rm -f *~
+
+ distclean: clean
+--- a/tools/blktap2/vhd/Makefile
++++ b/tools/blktap2/vhd/Makefile
+@@ -12,6 +12,7 @@
+ CFLAGS += -Wno-unused
+ CFLAGS += -I../include
+ CFLAGS += -D_GNU_SOURCE
++CFLAGS += $(CFLAGS_libxenctrl)
+
+ ifeq ($(CONFIG_X86_64),y)
+ CFLAGS += -fPIC
+--- a/tools/blktap2/vhd/lib/Makefile
++++ b/tools/blktap2/vhd/lib/Makefile
+@@ -2,25 +2,19 @@
+ BLKTAP_ROOT := ../..
+ include $(XEN_ROOT)/tools/Rules.mk
+
+-LIBVHD-MAJOR = 1.0
+-LIBVHD-MINOR = 0
+-LIBVHD-SONAME = libvhd.so.$(LIBVHD-MAJOR)
+-
+ LVM-UTIL-OBJ := $(BLKTAP_ROOT)/lvm/lvm-util.o
+
+-LIBVHD-BUILD := libvhd.a
+-
+-INST-DIR = $(LIBDIR)
+-
+ CFLAGS += -Werror
+ CFLAGS += -Wno-unused
+ CFLAGS += -I../../include
+ CFLAGS += -D_GNU_SOURCE
+ CFLAGS += -fPIC
++CFLAGS += $(CFLAGS_libxenctrl)
+
+ ifeq ($(CONFIG_Linux),y)
+ LIBS := -luuid
+ endif
++LDFLAGS += $(LDFLAGS_libxenctrl) $(call LDFLAGS_RPATH)
+
+ ifeq ($(CONFIG_LIBICONV),y)
+ LIBS += -liconv
+@@ -50,27 +44,22 @@
+
+ LIB-PICOBJS = $(patsubst %.o,%.opic,$(LIB-OBJS))
+
+-LIBVHD = libvhd.a libvhd.so.$(LIBVHD-MAJOR).$(LIBVHD-MINOR)
++LIBVHD = libvhd.a libvhd.so
+
+ all: build
+
+-build: libvhd.a libvhd.so.$(LIBVHD-MAJOR).$(LIBVHD-MINOR)
++build: libvhd.a libvhd.so
+
+ libvhd.a: $(LIB-OBJS)
+ $(AR) rc $@ $^
+
+-libvhd.so.$(LIBVHD-MAJOR).$(LIBVHD-MINOR): $(LIB-PICOBJS)
+- $(CC) -Wl,$(SONAME_LDFLAG),$(LIBVHD-SONAME) $(SHLIB_LDFLAGS) \
+- $(LDFLAGS) -o libvhd.so.$(LIBVHD-MAJOR).$(LIBVHD-MINOR) $^ $(LIBS)
+- ln -sf libvhd.so.$(LIBVHD-MAJOR).$(LIBVHD-MINOR) libvhd.so.$(LIBVHD-MAJOR)
+- ln -sf libvhd.so.$(LIBVHD-MAJOR) libvhd.so
++libvhd.so: $(LIB-PICOBJS)
++ $(CC) $(SHLIB_LDFLAGS) $(LDFLAGS) -o libvhd.so $^ $(LIBS)
+
+ install: all
+- $(INSTALL_DIR) -p $(DESTDIR)$(INST-DIR)
+- $(INSTALL_DATA) libvhd.a $(DESTDIR)$(INST-DIR)
+- $(INSTALL_PROG) libvhd.so.$(LIBVHD-MAJOR).$(LIBVHD-MINOR) $(DESTDIR)$(INST-DIR)
+- ln -sf libvhd.so.$(LIBVHD-MAJOR).$(LIBVHD-MINOR) $(DESTDIR)$(INST-DIR)/libvhd.so.$(LIBVHD-MAJOR)
+- ln -sf libvhd.so.$(LIBVHD-MAJOR) $(DESTDIR)$(INST-DIR)/libvhd.so
++ $(INSTALL_DIR) -p $(DESTDIR)$(LIBDIR)
++ $(INSTALL_DATA) libvhd.a $(DESTDIR)$(LIBDIR)
++ $(INSTALL_PROG) libvhd.so $(DESTDIR)$(LIBDIR)
+
+ clean:
+ rm -rf *.a *.so* *.o *.opic *~ $(DEPS) $(LIBVHD)
diff --git a/debian/patches/tools-console-prefix.diff b/debian/patches/tools-console-prefix.diff
new file mode 100644
index 0000000..3b03e3e
--- /dev/null
+++ b/debian/patches/tools-console-prefix.diff
@@ -0,0 +1,31 @@
+From db197353e29273c49d85fa56e481234b19cdc15e Mon Sep 17 00:00:00 2001
+From: Bastian Blank <waldi@debian.org>
+Date: Sat, 5 Jul 2014 11:46:54 +0200
+Subject: tools-console-prefix.diff
+
+Patch-Name: tools-console-prefix.diff
+---
+ tools/console/Makefile | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+--- a/tools/console/Makefile
++++ b/tools/console/Makefile
+@@ -8,6 +8,7 @@
+ LDLIBS += $(LDLIBS_libxenctrl)
+ LDLIBS += $(LDLIBS_libxenstore)
+ LDLIBS += $(SOCKET_LIBS)
++LDFLAGS += $(call LDFLAGS_RPATH,../lib)
+
+ LDLIBS_xenconsoled += $(UTIL_LIBS)
+ LDLIBS_xenconsoled += -lrt
+@@ -33,9 +34,7 @@
+
+ .PHONY: install
+ install: $(BIN)
+- $(INSTALL_DIR) $(DESTDIR)/$(SBINDIR)
+- $(INSTALL_PROG) xenconsoled $(DESTDIR)/$(SBINDIR)
+ $(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
+- $(INSTALL_PROG) xenconsole $(DESTDIR)$(LIBEXEC_BIN)
++ $(INSTALL_PROG) xenconsole xenconsoled $(DESTDIR)$(LIBEXEC_BIN)
+
+ -include $(DEPS)
diff --git a/debian/patches/tools-hotplug-udevrules.diff b/debian/patches/tools-hotplug-udevrules.diff
new file mode 100644
index 0000000..582d704
--- /dev/null
+++ b/debian/patches/tools-hotplug-udevrules.diff
@@ -0,0 +1,18 @@
+From eac8e33bee46b85224b8a1a57bd7021d8a8cee7f Mon Sep 17 00:00:00 2001
+From: Bastian Blank <waldi@debian.org>
+Date: Sat, 5 Jul 2014 11:47:32 +0200
+Subject: tools-hotplug-udevrules.diff
+
+Patch-Name: tools-hotplug-udevrules.diff
+---
+ tools/hotplug/Linux/xen-backend.rules.in | 9 ++-------
+ 1 file changed, 2 insertions(+), 7 deletions(-)
+
+--- a/tools/hotplug/Linux/xen-backend.rules.in
++++ b/tools/hotplug/Linux/xen-backend.rules.in
+@@ -10,4 +10,5 @@
+ KERNEL=="gntdev", NAME="xen/%k", MODE="0600"
+ KERNEL=="pci_iomul", NAME="xen/%k", MODE="0600"
+ KERNEL=="tapdev[a-z]*", NAME="xen/blktap-2/tapdev%m", MODE="0600"
++
+ SUBSYSTEM=="net", KERNEL=="vif*-emu", ACTION=="add", ENV{UDEV_CALL}="1", RUN+="@XEN_SCRIPT_DIR@/vif-setup $env{ACTION} type_if=tap"
diff --git a/debian/patches/tools-include-install.diff b/debian/patches/tools-include-install.diff
new file mode 100644
index 0000000..39cd518
--- /dev/null
+++ b/debian/patches/tools-include-install.diff
@@ -0,0 +1,30 @@
+From f2fd25514bcdd182964b651c01fc62bc04c882e8 Mon Sep 17 00:00:00 2001
+From: Bastian Blank <waldi@debian.org>
+Date: Sat, 5 Jul 2014 11:47:30 +0200
+Subject: tools-include-install.diff
+
+Patch-Name: tools-include-install.diff
+---
+ tools/include/Makefile | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/tools/include/Makefile b/tools/include/Makefile
+index f7a6256..615f5bb 100644
+--- a/tools/include/Makefile
++++ b/tools/include/Makefile
+@@ -11,7 +11,6 @@ xen-foreign:
+ xen/.dir:
+ @rm -rf xen
+ mkdir -p xen/libelf
+- ln -sf $(XEN_ROOT)/xen/include/public/COPYING xen
+ ln -sf $(wildcard $(XEN_ROOT)/xen/include/public/*.h) xen
+ ln -sf $(addprefix $(XEN_ROOT)/xen/include/public/,arch-x86 arch-arm hvm io xsm) xen
+ ln -sf ../xen-sys/$(XEN_OS) xen/sys
+@@ -30,7 +29,6 @@ install: all
+ $(INSTALL_DIR) $(DESTDIR)$(INCLUDEDIR)/xen/io
+ $(INSTALL_DIR) $(DESTDIR)$(INCLUDEDIR)/xen/sys
+ $(INSTALL_DIR) $(DESTDIR)$(INCLUDEDIR)/xen/xsm
+- $(INSTALL_DATA) xen/COPYING $(DESTDIR)$(INCLUDEDIR)/xen
+ $(INSTALL_DATA) xen/*.h $(DESTDIR)$(INCLUDEDIR)/xen
+ $(INSTALL_DATA) xen/arch-x86/*.h $(DESTDIR)$(INCLUDEDIR)/xen/arch-x86
+ $(INSTALL_DATA) xen/arch-x86/hvm/*.h $(DESTDIR)$(INCLUDEDIR)/xen/arch-x86/hvm
diff --git a/debian/patches/tools-libfsimage-abiname.diff b/debian/patches/tools-libfsimage-abiname.diff
new file mode 100644
index 0000000..5d9a03f
--- /dev/null
+++ b/debian/patches/tools-libfsimage-abiname.diff
@@ -0,0 +1,60 @@
+From fa3fbc7403222ae20d2c9a706b1597f8f1b6e554 Mon Sep 17 00:00:00 2001
+From: Bastian Blank <waldi@debian.org>
+Date: Sat, 5 Jul 2014 11:46:47 +0200
+Subject: tools-libfsimage-abiname.diff
+
+Patch-Name: tools-libfsimage-abiname.diff
+---
+ tools/libfsimage/common/Makefile | 18 ++++--------------
+ 1 file changed, 4 insertions(+), 14 deletions(-)
+
+Index: xen-0.1.2014.05.orig/tools/libfsimage/common/Makefile
+===================================================================
+--- xen-0.1.2014.05.orig.orig/tools/libfsimage/common/Makefile
++++ xen-0.1.2014.05.orig/tools/libfsimage/common/Makefile
+@@ -1,9 +1,6 @@
+ XEN_ROOT = $(CURDIR)/../../..
+ include $(XEN_ROOT)/tools/libfsimage/Rules.mk
+
+-MAJOR = 1.0
+-MINOR = 0
+-
+ LDFLAGS-$(CONFIG_SunOS) = -Wl,-M -Wl,mapfile-SunOS
+ LDFLAGS-$(CONFIG_Linux) = -Wl,mapfile-GNU
+ LDFLAGS = $(LDFLAGS-y)
+@@ -15,7 +12,7 @@ LIB_SRCS-y = fsimage.c fsimage_plugin.c
+
+ PIC_OBJS := $(patsubst %.c,%.opic,$(LIB_SRCS-y))
+
+-LIB = libfsimage.so libfsimage.so.$(MAJOR) libfsimage.so.$(MAJOR).$(MINOR)
++LIB = libfsimage.so
+
+ .PHONY: all
+ all: $(LIB)
+@@ -24,9 +21,7 @@ all: $(LIB)
+ install: all
+ $(INSTALL_DIR) $(DESTDIR)$(LIBDIR)
+ $(INSTALL_DIR) $(DESTDIR)$(INCLUDEDIR)
+- $(INSTALL_PROG) libfsimage.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR)
+- ln -sf libfsimage.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR)/libfsimage.so.$(MAJOR)
+- ln -sf libfsimage.so.$(MAJOR) $(DESTDIR)$(LIBDIR)/libfsimage.so
++ $(INSTALL_PROG) libfsimage.so $(DESTDIR)$(LIBDIR)
+ $(INSTALL_DATA) fsimage.h $(DESTDIR)$(INCLUDEDIR)
+ $(INSTALL_DATA) fsimage_plugin.h $(DESTDIR)$(INCLUDEDIR)
+ $(INSTALL_DATA) fsimage_grub.h $(DESTDIR)$(INCLUDEDIR)
+@@ -34,13 +29,8 @@ install: all
+ clean distclean::
+ rm -f $(LIB)
+
+-libfsimage.so: libfsimage.so.$(MAJOR)
+- ln -sf $< $@
+-libfsimage.so.$(MAJOR): libfsimage.so.$(MAJOR).$(MINOR)
+- ln -sf $< $@
+-
+-libfsimage.so.$(MAJOR).$(MINOR): $(PIC_OBJS)
+- $(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libfsimage.so.$(MAJOR) $(SHLIB_LDFLAGS) -o $@ $^ $(PTHREAD_LIBS) $(APPEND_LDFLAGS)
++libfsimage.so: $(PIC_OBJS)
++ $(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG),$@ $(SHLIB_LDFLAGS) -o $@ $^ $(PTHREAD_LIBS) $(APPEND_LDFLAGS)
+
+ -include $(DEPS)
+
diff --git a/debian/patches/tools-libfsimage-prefix.diff b/debian/patches/tools-libfsimage-prefix.diff
new file mode 100644
index 0000000..b6b2e3b
--- /dev/null
+++ b/debian/patches/tools-libfsimage-prefix.diff
@@ -0,0 +1,49 @@
+From 34775f98180e8ba41296d267a0802d6214a7f690 Mon Sep 17 00:00:00 2001
+From: Bastian Blank <waldi@debian.org>
+Date: Sat, 5 Jul 2014 11:46:55 +0200
+Subject: tools-libfsimage-prefix.diff
+
+Patch-Name: tools-libfsimage-prefix.diff
+---
+ tools/libfsimage/Rules.mk | 3 ++-
+ tools/libfsimage/common/Makefile | 6 ++++--
+ 2 files changed, 6 insertions(+), 3 deletions(-)
+
+--- a/tools/libfsimage/Rules.mk
++++ b/tools/libfsimage/Rules.mk
+@@ -3,10 +3,11 @@
+ CFLAGS += -Wno-unknown-pragmas -I$(XEN_ROOT)/tools/libfsimage/common/ -DFSIMAGE_FSDIR=\"$(FSDIR)\"
+ CFLAGS += -Werror -D_GNU_SOURCE
+ LDFLAGS += -L../common/
++LDFLAGS += $(call LDFLAGS_RPATH,../..)
+
+ PIC_OBJS := $(patsubst %.c,%.opic,$(LIB_SRCS-y))
+
+-FSDIR = $(LIBDIR)/fs
++FSDIR = $(LIBEXEC_LIB)/fs
+
+ FSLIB = fsimage.so
+
+--- a/tools/libfsimage/common/Makefile
++++ b/tools/libfsimage/common/Makefile
+@@ -1,6 +1,8 @@
+ XEN_ROOT = $(CURDIR)/../../..
+ include $(XEN_ROOT)/tools/libfsimage/Rules.mk
+
++CFLAGS += -DFSDIR="\"$(LIBEXEC_LIB)/fs\""
++
+ LDFLAGS-$(CONFIG_SunOS) = -Wl,-M -Wl,mapfile-SunOS
+ LDFLAGS-$(CONFIG_Linux) = -Wl,mapfile-GNU
+ LDFLAGS = $(LDFLAGS-y)
+@@ -19,9 +21,9 @@
+
+ .PHONY: install
+ install: all
+- $(INSTALL_DIR) $(DESTDIR)$(LIBDIR)
++ $(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_LIB)
+ $(INSTALL_DIR) $(DESTDIR)$(INCLUDEDIR)
+- $(INSTALL_PROG) libfsimage.so $(DESTDIR)$(LIBDIR)
++ $(INSTALL_PROG) libfsimage.so $(DESTDIR)$(LIBEXEC_LIB)
+ $(INSTALL_DATA) fsimage.h $(DESTDIR)$(INCLUDEDIR)
+ $(INSTALL_DATA) fsimage_plugin.h $(DESTDIR)$(INCLUDEDIR)
+ $(INSTALL_DATA) fsimage_grub.h $(DESTDIR)$(INCLUDEDIR)
diff --git a/debian/patches/tools-libxc-abiname.diff b/debian/patches/tools-libxc-abiname.diff
new file mode 100644
index 0000000..adceec7
--- /dev/null
+++ b/debian/patches/tools-libxc-abiname.diff
@@ -0,0 +1,87 @@
+From 95f764dfa5d8b60d98a8136659a96cbb63a8dcc8 Mon Sep 17 00:00:00 2001
+From: Bastian Blank <waldi@debian.org>
+Date: Sat, 5 Jul 2014 11:46:48 +0200
+Subject: tools-libxc-abiname.diff
+
+Patch-Name: tools-libxc-abiname.diff
+---
+ tools/libxc/Makefile | 35 +++++++++++++----------------------
+ 1 file changed, 13 insertions(+), 22 deletions(-)
+
+--- a/tools/libxc/Makefile
++++ b/tools/libxc/Makefile
+@@ -118,12 +118,12 @@
+
+ LIB := libxenctrl.a
+ ifneq ($(nosharedlibs),y)
+-LIB += libxenctrl.so libxenctrl.so.$(MAJOR) libxenctrl.so.$(MAJOR).$(MINOR)
++LIB += libxenctrl.so libxenctrl-$(PACKAGE_VERSION).so
+ endif
+
+ LIB += libxenguest.a
+ ifneq ($(nosharedlibs),y)
+-LIB += libxenguest.so libxenguest.so.$(MAJOR) libxenguest.so.$(MAJOR).$(MINOR)
++LIB += libxenguest.so libxenguest-$(PACKAGE_VERSION).so
+ endif
+
+ ifneq ($(nosharedlibs),y)
+@@ -152,15 +152,13 @@
+ install: build
+ $(INSTALL_DIR) $(DESTDIR)$(LIBDIR)
+ $(INSTALL_DIR) $(DESTDIR)$(INCLUDEDIR)
+- $(INSTALL_SHLIB) libxenctrl.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR)
++ $(INSTALL_SHLIB) libxenctrl-$(PACKAGE_VERSION).so $(DESTDIR)$(LIBDIR)
+ $(INSTALL_DATA) libxenctrl.a $(DESTDIR)$(LIBDIR)
+- $(SYMLINK_SHLIB) libxenctrl.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR)/libxenctrl.so.$(MAJOR)
+- $(SYMLINK_SHLIB) libxenctrl.so.$(MAJOR) $(DESTDIR)$(LIBDIR)/libxenctrl.so
++ $(SYMLINK_SHLIB) libxenctrl-$(PACKAGE_VERSION).so $(DESTDIR)$(LIBDIR)/libxenctrl.so
+ $(INSTALL_DATA) include/xenctrl.h include/xenctrlosdep.h include/xentoollog.h $(DESTDIR)$(INCLUDEDIR)
+- $(INSTALL_SHLIB) libxenguest.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR)
++ $(INSTALL_SHLIB) libxenguest-$(PACKAGE_VERSION).so $(DESTDIR)$(LIBDIR)
+ $(INSTALL_DATA) libxenguest.a $(DESTDIR)$(LIBDIR)
+- $(SYMLINK_SHLIB) libxenguest.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR)/libxenguest.so.$(MAJOR)
+- $(SYMLINK_SHLIB) libxenguest.so.$(MAJOR) $(DESTDIR)$(LIBDIR)/libxenguest.so
++ $(SYMLINK_SHLIB) libxenguest-$(PACKAGE_VERSION).so $(DESTDIR)$(LIBDIR)/libxenguest.so
+ $(INSTALL_DATA) include/xenguest.h $(DESTDIR)$(INCLUDEDIR)
+
+ .PHONY: TAGS
+@@ -193,22 +191,18 @@
+ libxenctrl.a: $(CTRL_LIB_OBJS)
+ $(AR) rc $@ $^
+
+-libxenctrl.so: libxenctrl.so.$(MAJOR)
+- $(SYMLINK_SHLIB) $< $@
+-libxenctrl.so.$(MAJOR): libxenctrl.so.$(MAJOR).$(MINOR)
++libxenctrl.so: libxenctrl-$(PACKAGE_VERSION).so
+ $(SYMLINK_SHLIB) $< $@
+
+-libxenctrl.so.$(MAJOR).$(MINOR): $(CTRL_PIC_OBJS)
+- $(CC) $(LDFLAGS) $(PTHREAD_LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxenctrl.so.$(MAJOR) $(SHLIB_LDFLAGS) -o $@ $^ $(DLOPEN_LIBS) $(PTHREAD_LIBS) $(APPEND_LDFLAGS)
++libxenctrl-$(PACKAGE_VERSION).so: $(CTRL_PIC_OBJS)
++ $(CC) $(LDFLAGS) $(PTHREAD_LDFLAGS) -Wl,$(SONAME_LDFLAG),$@ $(SHLIB_LDFLAGS) -o $@ $^ $(DLOPEN_LIBS) $(PTHREAD_LIBS) $(APPEND_LDFLAGS)
+
+ # libxenguest
+
+ libxenguest.a: $(GUEST_LIB_OBJS)
+ $(AR) rc $@ $^
+
+-libxenguest.so: libxenguest.so.$(MAJOR)
+- $(SYMLINK_SHLIB) $< $@
+-libxenguest.so.$(MAJOR): libxenguest.so.$(MAJOR).$(MINOR)
++libxenguest.so: libxenguest-$(PACKAGE_VERSION).so
+ $(SYMLINK_SHLIB) $< $@
+
+ ifeq ($(CONFIG_MiniOS),y)
+@@ -220,9 +214,9 @@
+ xc_dom_bzimageloader.o: CFLAGS += $(call zlib-options,D)
+ xc_dom_bzimageloader.opic: CFLAGS += $(call zlib-options,D)
+
+-libxenguest.so.$(MAJOR).$(MINOR): COMPRESSION_LIBS = $(call zlib-options,l)
+-libxenguest.so.$(MAJOR).$(MINOR): $(GUEST_PIC_OBJS) libxenctrl.so
+- $(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxenguest.so.$(MAJOR) $(SHLIB_LDFLAGS) -o $@ $(GUEST_PIC_OBJS) $(COMPRESSION_LIBS) -lz $(LDLIBS_libxenctrl) $(PTHREAD_LIBS) $(APPEND_LDFLAGS)
++libxenguest-$(PACKAGE_VERSION).so: COMPRESSION_LIBS = $(call zlib-options,l)
++libxenguest-$(PACKAGE_VERSION).so: $(GUEST_PIC_OBJS) libxenctrl-$(PACKAGE_VERSION).so
++ $(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG),$@ $(SHLIB_LDFLAGS) -o $@ $(GUEST_PIC_OBJS) $(COMPRESSION_LIBS) -lz $(LDLIBS_libxenctrl) $(PTHREAD_LIBS) $(APPEND_LDFLAGS)
+
+ xenctrl_osdep_ENOSYS.so: $(OSDEP_PIC_OBJS) libxenctrl.so
+ $(CC) $(LDFLAGS) $(SHLIB_LDFLAGS) -o $@ $(OSDEP_PIC_OBJS) $(LDLIBS_libxenctrl) $(APPEND_LDFLAGS)
diff --git a/debian/patches/tools-libxl-abiname.diff b/debian/patches/tools-libxl-abiname.diff
new file mode 100644
index 0000000..2734b67
--- /dev/null
+++ b/debian/patches/tools-libxl-abiname.diff
@@ -0,0 +1,79 @@
+From 060450f0923720abd816afa14b8c9364a6cd553e Mon Sep 17 00:00:00 2001
+From: Bastian Blank <waldi@debian.org>
+Date: Sat, 5 Jul 2014 11:46:49 +0200
+Subject: tools-libxl-abiname.diff
+
+Patch-Name: tools-libxl-abiname.diff
+---
+ tools/libxl/Makefile | 34 ++++++++++------------------------
+ 1 file changed, 10 insertions(+), 24 deletions(-)
+
+--- a/tools/libxl/Makefile
++++ b/tools/libxl/Makefile
+@@ -5,12 +5,6 @@
+ XEN_ROOT = $(CURDIR)/../..
+ include $(XEN_ROOT)/tools/Rules.mk
+
+-MAJOR = 4.5
+-MINOR = 0
+-
+-XLUMAJOR = 4.3
+-XLUMINOR = 0
+-
+ CFLAGS += -Werror -Wno-format-zero-length -Wmissing-declarations \
+ -Wno-declaration-after-statement -Wformat-nonliteral
+ CFLAGS += -I. -fPIC
+@@ -208,14 +202,11 @@
+ $(call move-if-changed,__libxl_type$*_json.h,_libxl_type$*_json.h)
+ $(call move-if-changed,__libxl_type$*.c,_libxl_type$*.c)
+
+-libxenlight.so: libxenlight.so.$(MAJOR)
++libxenlight.so: libxenlight-$(PACKAGE_VERSION).so
+ $(SYMLINK_SHLIB) $< $@
+
+-libxenlight.so.$(MAJOR): libxenlight.so.$(MAJOR).$(MINOR)
+- $(SYMLINK_SHLIB) $< $@
+-
+-libxenlight.so.$(MAJOR).$(MINOR): $(LIBXL_OBJS)
+- $(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxenlight.so.$(MAJOR) $(SHLIB_LDFLAGS) -o $@ $^ $(LIBXL_LIBS) $(APPEND_LDFLAGS)
++libxenlight-$(PACKAGE_VERSION).so: $(LIBXL_OBJS)
++ $(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG),$@ $(SHLIB_LDFLAGS) -o $@ $^ $(LIBXL_LIBS) $(APPEND_LDFLAGS)
+
+ libxenlight_test.so: $(LIBXL_OBJS) $(LIBXL_TEST_OBJS)
+ $(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxenlight.so.$(MAJOR) $(SHLIB_LDFLAGS) -o $@ $^ $(LIBXL_LIBS) $(APPEND_LDFLAGS)
+@@ -223,14 +214,11 @@
+ libxenlight.a: $(LIBXL_OBJS)
+ $(AR) rcs libxenlight.a $^
+
+-libxlutil.so: libxlutil.so.$(XLUMAJOR)
+- $(SYMLINK_SHLIB) $< $@
+-
+-libxlutil.so.$(XLUMAJOR): libxlutil.so.$(XLUMAJOR).$(XLUMINOR)
++libxlutil.so: libxlutil-$(PACKAGE_VERSION).so
+ $(SYMLINK_SHLIB) $< $@
+
+-libxlutil.so.$(XLUMAJOR).$(XLUMINOR): $(LIBXLU_OBJS) libxenlight.so
+- $(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxlutil.so.$(XLUMAJOR) $(SHLIB_LDFLAGS) -o $@ $(LIBXLU_OBJS) $(LIBXLU_LIBS) $(APPEND_LDFLAGS)
++libxlutil-$(PACKAGE_VERSION).so: $(LIBXLU_OBJS) libxenlight.so
++ $(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG),$@ $(SHLIB_LDFLAGS) -o $@ $(LIBXLU_OBJS) $(LIBXLU_LIBS) $(APPEND_LDFLAGS)
+
+ libxlutil.a: $(LIBXLU_OBJS)
+ $(AR) rcs libxlutil.a $^
+@@ -265,13 +253,11 @@
+ $(INSTALL_PROG) xl $(DESTDIR)$(SBINDIR)
+ $(INSTALL_PROG) xen-init-dom0 $(DESTDIR)$(LIBEXEC_BIN)
+ $(INSTALL_PROG) libxl-save-helper $(DESTDIR)$(LIBEXEC_BIN)
+- $(INSTALL_SHLIB) libxenlight.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR)
+- $(SYMLINK_SHLIB) libxenlight.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR)/libxenlight.so.$(MAJOR)
+- $(SYMLINK_SHLIB) libxenlight.so.$(MAJOR) $(DESTDIR)$(LIBDIR)/libxenlight.so
++ $(INSTALL_SHLIB) libxenlight-$(PACKAGE_VERSION).so $(DESTDIR)$(LIBDIR)
++ $(SYMLINK_SHLIB) libxenlight-$(PACKAGE_VERSION).so $(DESTDIR)$(LIBDIR)/libxenlight.so
+ $(INSTALL_DATA) libxenlight.a $(DESTDIR)$(LIBDIR)
+- $(INSTALL_SHLIB) libxlutil.so.$(XLUMAJOR).$(XLUMINOR) $(DESTDIR)$(LIBDIR)
+- $(SYMLINK_SHLIB) libxlutil.so.$(XLUMAJOR).$(XLUMINOR) $(DESTDIR)$(LIBDIR)/libxlutil.so.$(XLUMAJOR)
+- $(SYMLINK_SHLIB) libxlutil.so.$(XLUMAJOR) $(DESTDIR)$(LIBDIR)/libxlutil.so
++ $(INSTALL_SHLIB) libxlutil-$(PACKAGE_VERSION).so $(DESTDIR)$(LIBDIR)
++ $(SYMLINK_SHLIB) libxlutil-$(PACKAGE_VERSION).so $(DESTDIR)$(LIBDIR)/libxlutil.so
+ $(INSTALL_DATA) libxlutil.a $(DESTDIR)$(LIBDIR)
+ $(INSTALL_DATA) libxl.h libxl_event.h libxl_json.h _libxl_types.h _libxl_types_json.h _libxl_list.h libxl_utils.h libxl_uuid.h libxlutil.h $(DESTDIR)$(INCLUDEDIR)
+ $(INSTALL_DATA) bash-completion $(DESTDIR)$(BASH_COMPLETION_DIR)/xl.sh
diff --git a/debian/patches/tools-libxl-prefix.diff b/debian/patches/tools-libxl-prefix.diff
new file mode 100644
index 0000000..a69bc34
--- /dev/null
+++ b/debian/patches/tools-libxl-prefix.diff
@@ -0,0 +1,54 @@
+From d7fc46960bdcf2967f9b76bdfe4d1c22d2f55eca Mon Sep 17 00:00:00 2001
+From: Bastian Blank <waldi@debian.org>
+Date: Sat, 5 Jul 2014 11:46:57 +0200
+Subject: tools-libxl-prefix.diff
+
+Patch-Name: tools-libxl-prefix.diff
+---
+ tools/libxl/Makefile | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+--- a/tools/libxl/Makefile
++++ b/tools/libxl/Makefile
+@@ -12,6 +12,8 @@
+ ifeq ($(CONFIG_Linux),y)
+ LIBUUID_LIBS += -luuid
+ endif
++LDFLAGS_XL = $(call LDFLAGS_RPATH,../lib)
++LDFLAGS_LIBXL = $(call LDFLAGS_RPATH)
+
+ LIBXL_LIBS =
+ LIBXL_LIBS = $(LDLIBS_libxenctrl) $(LDLIBS_libxenguest) $(LDLIBS_libxenstore) $(LDLIBS_libblktapctl) $(PTYFUNCS_LIBS) $(LIBUUID_LIBS)
+@@ -206,7 +208,7 @@
+ $(SYMLINK_SHLIB) $< $@
+
+ libxenlight-$(PACKAGE_VERSION).so: $(LIBXL_OBJS)
+- $(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG),$@ $(SHLIB_LDFLAGS) -o $@ $^ $(LIBXL_LIBS) $(APPEND_LDFLAGS)
++ $(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG),$@ $(LDFLAGS_LIBXL) $(SHLIB_LDFLAGS) -o $@ $^ $(LIBXL_LIBS) $(APPEND_LDFLAGS)
+
+ libxenlight_test.so: $(LIBXL_OBJS) $(LIBXL_TEST_OBJS)
+ $(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxenlight.so.$(MAJOR) $(SHLIB_LDFLAGS) -o $@ $^ $(LIBXL_LIBS) $(APPEND_LDFLAGS)
+@@ -224,7 +226,7 @@
+ $(AR) rcs libxlutil.a $^
+
+ xl: $(XL_OBJS) libxlutil.so libxenlight.so
+- $(CC) $(LDFLAGS) -o $@ $(XL_OBJS) libxlutil.so $(LDLIBS_libxenlight) $(LDLIBS_libxenctrl) -lyajl $(APPEND_LDFLAGS)
++ $(CC) $(LDFLAGS) $(LDFLAGS_XL) -o $@ $(XL_OBJS) libxlutil.so $(LDLIBS_libxenlight) $(LDLIBS_libxenctrl) -lyajl $(APPEND_LDFLAGS)
+
+ xen-init-dom0: $(XEN_INIT_DOM0_OBJS) libxenlight.so
+ $(CC) $(LDFLAGS) -o $@ $(XEN_INIT_DOM0_OBJS) $(LDLIBS_libxenstore) $(LDLIBS_libxenlight) $(LDLIBS_libxenctrl) $(APPEND_LDFLAGS)
+@@ -244,13 +246,12 @@
+
+ .PHONY: install
+ install: all
+- $(INSTALL_DIR) $(DESTDIR)$(SBINDIR)
+ $(INSTALL_DIR) $(DESTDIR)$(LIBDIR)
+ $(INSTALL_DIR) $(DESTDIR)$(INCLUDEDIR)
+ $(INSTALL_DIR) $(DESTDIR)$(BASH_COMPLETION_DIR)
+ $(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
+ $(INSTALL_DIR) $(DESTDIR)$(SHAREDIR)/pkgconfig
+- $(INSTALL_PROG) xl $(DESTDIR)$(SBINDIR)
++ $(INSTALL_PROG) xl $(DESTDIR)$(LIBEXEC_BIN)
+ $(INSTALL_PROG) xen-init-dom0 $(DESTDIR)$(LIBEXEC_BIN)
+ $(INSTALL_PROG) libxl-save-helper $(DESTDIR)$(LIBEXEC_BIN)
+ $(INSTALL_SHLIB) libxenlight-$(PACKAGE_VERSION).so $(DESTDIR)$(LIBDIR)
diff --git a/debian/patches/tools-misc-prefix.diff b/debian/patches/tools-misc-prefix.diff
new file mode 100644
index 0000000..0c1507c
--- /dev/null
+++ b/debian/patches/tools-misc-prefix.diff
@@ -0,0 +1,33 @@
+From 0b20b83dd104be27b39c5d095d7b73b529c07b76 Mon Sep 17 00:00:00 2001
+From: Bastian Blank <waldi@debian.org>
+Date: Sat, 5 Jul 2014 11:46:59 +0200
+Subject: tools-misc-prefix.diff
+
+Patch-Name: tools-misc-prefix.diff
+---
+ tools/misc/Makefile | 8 +++-----
+ 1 file changed, 3 insertions(+), 5 deletions(-)
+
+--- a/tools/misc/Makefile
++++ b/tools/misc/Makefile
+@@ -46,17 +46,15 @@
+ # Everything which needs to be built
+ TARGETS_BUILD := $(filter-out $(TARGETS_COPY),$(TARGETS_ALL))
+
++APPEND_LDFLAGS += $(call LDFLAGS_RPATH,../lib)
++
+ .PHONY: all build
+ all build: $(TARGETS_BUILD)
+
+ .PHONY: install
+ install: build
+- $(INSTALL_DIR) $(DESTDIR)$(BINDIR)
+- $(INSTALL_DIR) $(DESTDIR)$(SBINDIR)
+ $(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
+- $(INSTALL_PYTHON_PROG) $(INSTALL_BIN) $(DESTDIR)$(BINDIR)
+- $(INSTALL_PYTHON_PROG) $(INSTALL_SBIN) $(DESTDIR)$(SBINDIR)
+- $(INSTALL_PYTHON_PROG) $(INSTALL_PRIVBIN) $(DESTDIR)$(LIBEXEC_BIN)
++ $(INSTALL_PYTHON_PROG) $(INSTALL_BIN) $(INSTALL_SBIN) $(INSTALL_PRIVBIN) $(DESTDIR)$(LIBEXEC_BIN)
+
+ .PHONY: clean
+ clean:
diff --git a/debian/patches/tools-pygrub-prefix.diff b/debian/patches/tools-pygrub-prefix.diff
new file mode 100644
index 0000000..a6e4644
--- /dev/null
+++ b/debian/patches/tools-pygrub-prefix.diff
@@ -0,0 +1,53 @@
+From dadc3e25a33d401960914d30623a5e49aa038d54 Mon Sep 17 00:00:00 2001
+From: Bastian Blank <waldi@debian.org>
+Date: Sat, 5 Jul 2014 11:47:01 +0200
+Subject: tools-pygrub-prefix.diff
+
+Patch-Name: tools-pygrub-prefix.diff
+---
+ tools/pygrub/Makefile | 5 -----
+ tools/pygrub/setup.py | 2 ++
+ tools/pygrub/src/pygrub | 2 ++
+ 3 files changed, 4 insertions(+), 5 deletions(-)
+
+--- a/tools/pygrub/Makefile
++++ b/tools/pygrub/Makefile
+@@ -15,11 +15,6 @@
+ CC="$(CC)" CFLAGS="$(PY_CFLAGS)" $(PYTHON) setup.py install \
+ $(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" \
+ --install-scripts=$(LIBEXEC_BIN) --force
+- set -e; if [ $(BINDIR) != $(LIBEXEC_BIN) -a \
+- "`readlink -f $(DESTDIR)/$(BINDIR)`" != \
+- "`readlink -f $(LIBEXEC_BIN)`" ]; then \
+- ln -sf $(LIBEXEC_BIN)/pygrub $(DESTDIR)/$(BINDIR); \
+- fi
+
+ .PHONY: clean
+ clean:
+--- a/tools/pygrub/setup.py
++++ b/tools/pygrub/setup.py
+@@ -4,11 +4,13 @@
+ import sys
+
+ extra_compile_args = [ "-fno-strict-aliasing", "-Werror" ]
++extra_link_args = [ "-Wl,-rpath,${ORIGIN}/.." ]
+
+ XEN_ROOT = "../.."
+
+ fsimage = Extension("fsimage",
+ extra_compile_args = extra_compile_args,
++ extra_link_args = extra_link_args,
+ include_dirs = [ XEN_ROOT + "/tools/libfsimage/common/" ],
+ library_dirs = [ XEN_ROOT + "/tools/libfsimage/common/" ],
+ libraries = ["fsimage"],
+--- a/tools/pygrub/src/pygrub
++++ b/tools/pygrub/src/pygrub
+@@ -22,6 +22,8 @@
+ import curses, _curses, curses.wrapper, curses.textpad, curses.ascii
+ import getopt
+
++sys.path.insert(1, sys.path[0] + '/../lib/python')
++
+ import fsimage
+ import grub.GrubConf
+ import grub.LiloConf
diff --git a/debian/patches/tools-pygrub-remove-static-solaris-support b/debian/patches/tools-pygrub-remove-static-solaris-support
new file mode 100644
index 0000000..0d2d886
--- /dev/null
+++ b/debian/patches/tools-pygrub-remove-static-solaris-support
@@ -0,0 +1,86 @@
+From ac436b3e55847282cb157a0689cf42072a9b5e32 Mon Sep 17 00:00:00 2001
+From: Bastian Blank <waldi@debian.org>
+Date: Sat, 5 Jul 2014 11:47:29 +0200
+Subject: Remove static solaris support from pygrub
+
+Patch-Name: tools-pygrub-remove-static-solaris-support
+---
+ tools/pygrub/src/pygrub | 51 +------------------------------------------------
+ 1 file changed, 1 insertion(+), 50 deletions(-)
+
+diff --git a/tools/pygrub/src/pygrub b/tools/pygrub/src/pygrub
+index ed5b5d6..5c38360 100755
+--- a/tools/pygrub/src/pygrub
++++ b/tools/pygrub/src/pygrub
+@@ -17,7 +17,6 @@ import os, sys, string, struct, tempfile, re, traceback, stat, errno
+ import copy
+ import logging
+ import platform
+-import xen.lowlevel.xc
+
+ import curses, _curses, curses.wrapper, curses.textpad, curses.ascii
+ import getopt
+@@ -664,51 +663,6 @@ def run_grub(file, entry, fs, cfg_args):
+
+ return grubcfg
+
+-def supports64bitPVguest():
+- xc = xen.lowlevel.xc.xc()
+- caps = xc.xeninfo()['xen_caps'].split(" ")
+- for cap in caps:
+- if cap == "xen-3.0-x86_64":
+- return True
+- return False
+-
+-# If nothing has been specified, look for a Solaris domU. If found, perform the
+-# necessary tweaks.
+-def sniff_solaris(fs, cfg):
+- if not fs.file_exists("/platform/i86xpv/kernel/unix") and \
+- not fs.file_exists("/platform/i86xpv/kernel/amd64/unix"):
+- return cfg
+-
+- if not cfg["kernel"]:
+- if supports64bitPVguest() and \
+- fs.file_exists("/platform/i86xpv/kernel/amd64/unix"):
+- cfg["kernel"] = "/platform/i86xpv/kernel/amd64/unix"
+- cfg["ramdisk"] = "/platform/i86pc/amd64/boot_archive"
+- elif fs.file_exists("/platform/i86xpv/kernel/unix"):
+- cfg["kernel"] = "/platform/i86xpv/kernel/unix"
+- cfg["ramdisk"] = "/platform/i86pc/boot_archive"
+- else:
+- return cfg
+-
+- # Unpleasant. Typically we'll have 'root=foo -k' or 'root=foo /kernel -k',
+- # and we need to maintain Xen properties (root= and ip=) and the kernel
+- # before any user args.
+-
+- xenargs = ""
+- userargs = ""
+-
+- if not cfg["args"]:
+- cfg["args"] = cfg["kernel"]
+- else:
+- for arg in cfg["args"].split():
+- if re.match("^root=", arg) or re.match("^ip=", arg):
+- xenargs += arg + " "
+- elif arg != cfg["kernel"]:
+- userargs += arg + " "
+- cfg["args"] = xenargs + " " + cfg["kernel"] + " " + userargs
+-
+- return cfg
+-
+ def sniff_netware(fs, cfg):
+ if not fs.file_exists("/nwserver/xnloader.sys"):
+ return cfg
+@@ -894,10 +848,7 @@ if __name__ == "__main__":
+ try:
+ fs = fsimage.open(file, offset, bootfsoptions)
+
+- chosencfg = sniff_solaris(fs, incfg)
+-
+- if not chosencfg["kernel"]:
+- chosencfg = sniff_netware(fs, incfg)
++ chosencfg = sniff_netware(fs, incfg)
+
+ if not chosencfg["kernel"]:
+ chosencfg = run_grub(file, entry, fs, incfg["args"])
diff --git a/debian/patches/tools-python-prefix.diff b/debian/patches/tools-python-prefix.diff
new file mode 100644
index 0000000..07b551a
--- /dev/null
+++ b/debian/patches/tools-python-prefix.diff
@@ -0,0 +1,46 @@
+From ec8f599bb4d14c59bf7a8b4b5d6993c01610683e Mon Sep 17 00:00:00 2001
+From: Bastian Blank <waldi@debian.org>
+Date: Sat, 5 Jul 2014 11:47:02 +0200
+Subject: tools-python-prefix.diff
+
+Patch-Name: tools-python-prefix.diff
+---
+ tools/python/setup.py | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/tools/python/setup.py b/tools/python/setup.py
+index 439c429..7e3684f 100644
+--- a/tools/python/setup.py
++++ b/tools/python/setup.py
+@@ -5,6 +5,7 @@ import os, sys
+ XEN_ROOT = "../.."
+
+ extra_compile_args = [ "-fno-strict-aliasing", "-Werror" ]
++extra_link_args = [ "-Wl,-rpath,${ORIGIN}/../../.." ]
+
+ PATH_XEN = XEN_ROOT + "/tools/include"
+ PATH_LIBXC = XEN_ROOT + "/tools/libxc"
+@@ -13,6 +14,7 @@ PATH_XENSTORE = XEN_ROOT + "/tools/xenstore"
+
+ xc = Extension("xc",
+ extra_compile_args = extra_compile_args,
++ extra_link_args = extra_link_args,
+ include_dirs = [ PATH_XEN, PATH_LIBXC + "/include", "xen/lowlevel/xc" ],
+ library_dirs = [ PATH_LIBXC ],
+ libraries = [ "xenctrl", "xenguest" ],
+@@ -21,6 +23,7 @@ xc = Extension("xc",
+
+ xs = Extension("xs",
+ extra_compile_args = extra_compile_args,
++ extra_link_args = extra_link_args,
+ include_dirs = [ PATH_XEN, PATH_XENSTORE + "/include", "xen/lowlevel/xs" ],
+ library_dirs = [ PATH_XENSTORE ],
+ libraries = [ "xenstore" ],
+@@ -29,6 +32,7 @@ xs = Extension("xs",
+
+ xl = Extension("xl",
+ extra_compile_args = extra_compile_args,
++ extra_link_args = extra_link_args,
+ include_dirs = [ PATH_XEN, PATH_LIBXL, PATH_LIBXC + "/include", "xen/lowlevel/xl" ],
+ library_dirs = [ PATH_LIBXL ],
+ libraries = [ "xenlight" ],
diff --git a/debian/patches/tools-rpath.diff b/debian/patches/tools-rpath.diff
new file mode 100644
index 0000000..b1cfabf
--- /dev/null
+++ b/debian/patches/tools-rpath.diff
@@ -0,0 +1,23 @@
+From 5e93692ba21301751365b8bf629f54d5f75e23e1 Mon Sep 17 00:00:00 2001
+From: Bastian Blank <waldi@debian.org>
+Date: Sat, 5 Jul 2014 11:46:51 +0200
+Subject: tools-rpath.diff
+
+Patch-Name: tools-rpath.diff
+---
+ tools/Rules.mk | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/tools/Rules.mk b/tools/Rules.mk
+index 87a56dc..6b3a62a 100644
+--- a/tools/Rules.mk
++++ b/tools/Rules.mk
+@@ -9,6 +9,8 @@ include $(XEN_ROOT)/Config.mk
+ export _INSTALL := $(INSTALL)
+ INSTALL = $(XEN_ROOT)/tools/cross-install
+
++LDFLAGS_RPATH = -Wl,-rpath,'$${ORIGIN}$(if $(1),/$(1))'
++
+ XEN_INCLUDE = $(XEN_ROOT)/tools/include
+ XEN_LIBXC = $(XEN_ROOT)/tools/libxc
+ XEN_XENLIGHT = $(XEN_ROOT)/tools/libxl
diff --git a/debian/patches/tools-xcutils-rpath.diff b/debian/patches/tools-xcutils-rpath.diff
new file mode 100644
index 0000000..e46edb7
--- /dev/null
+++ b/debian/patches/tools-xcutils-rpath.diff
@@ -0,0 +1,23 @@
+From 802c803af35af4dbd83fc495d18e930bbada8261 Mon Sep 17 00:00:00 2001
+From: Bastian Blank <waldi@debian.org>
+Date: Sat, 5 Jul 2014 11:47:05 +0200
+Subject: tools-xcutils-rpath.diff
+
+Patch-Name: tools-xcutils-rpath.diff
+---
+ tools/xcutils/Makefile | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/tools/xcutils/Makefile b/tools/xcutils/Makefile
+index 1c5237c..298981b 100644
+--- a/tools/xcutils/Makefile
++++ b/tools/xcutils/Makefile
+@@ -19,6 +19,8 @@ CFLAGS += -Werror
+ CFLAGS_readnotes.o := $(CFLAGS_libxenctrl) $(CFLAGS_libxenguest) -I$(XEN_ROOT)/tools/libxc
+ CFLAGS_lsevtchn.o := $(CFLAGS_libxenctrl)
+
++APPEND_LDFLAGS += $(call LDFLAGS_RPATH,../lib)
++
+ .PHONY: all
+ all: build
+
diff --git a/debian/patches/tools-xenmon-install.diff b/debian/patches/tools-xenmon-install.diff
new file mode 100644
index 0000000..b2f6eed
--- /dev/null
+++ b/debian/patches/tools-xenmon-install.diff
@@ -0,0 +1,34 @@
+From 06030208bbd65a83524ec4e9bd4b6688702c4ba6 Mon Sep 17 00:00:00 2001
+From: Bastian Blank <waldi@debian.org>
+Date: Sat, 5 Jul 2014 11:47:31 +0200
+Subject: tools-xenmon-install.diff
+
+Patch-Name: tools-xenmon-install.diff
+---
+ tools/xenmon/Makefile | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/tools/xenmon/Makefile b/tools/xenmon/Makefile
+index eb10389..f79c327 100644
+--- a/tools/xenmon/Makefile
++++ b/tools/xenmon/Makefile
+@@ -13,6 +13,10 @@
+ XEN_ROOT=$(CURDIR)/../..
+ include $(XEN_ROOT)/tools/Rules.mk
+
++DEFAULT_PYTHON_PATH := $(shell $(XEN_ROOT)/tools/python/get-path)
++PYTHON_PATH ?= $(DEFAULT_PYTHON_PATH)
++INSTALL_PYTHON_PROG = $(XEN_ROOT)/tools/python/install-wrap "$(PYTHON_PATH)" $(INSTALL_PROG)
++
+ CFLAGS += -Werror
+ CFLAGS += $(CFLAGS_libxenctrl)
+ LDLIBS += $(LDLIBS_libxenctrl)
+@@ -31,7 +35,7 @@ install: build
+ $(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
+ $(INSTALL_PROG) xenbaked $(DESTDIR)$(LIBEXEC_BIN)/xenbaked
+ $(INSTALL_PROG) xentrace_setmask $(DESTDIR)$(LIBEXEC_BIN)/xentrace_setmask
+- $(INSTALL_PROG) xenmon.py $(DESTDIR)$(LIBEXEC_BIN)/xenmon.py
++ $(INSTALL_PROG) xenmon.py $(DESTDIR)$(LIBEXEC_BIN)/xenmon
+ $(INSTALL_DIR) $(DESTDIR)$(DOCDIR)
+ $(INSTALL_DATA) README $(DESTDIR)$(DOCDIR)/README.xenmon
+
diff --git a/debian/patches/tools-xenmon-prefix.diff b/debian/patches/tools-xenmon-prefix.diff
new file mode 100644
index 0000000..3472a63
--- /dev/null
+++ b/debian/patches/tools-xenmon-prefix.diff
@@ -0,0 +1,37 @@
+From b34b61fa56ea09672557ff3d69d27c632779e2b9 Mon Sep 17 00:00:00 2001
+From: Bastian Blank <waldi@debian.org>
+Date: Sat, 5 Jul 2014 11:47:06 +0200
+Subject: tools-xenmon-prefix.diff
+
+Patch-Name: tools-xenmon-prefix.diff
+---
+ tools/xenmon/Makefile | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/tools/xenmon/Makefile b/tools/xenmon/Makefile
+index 3fe87ba..eb10389 100644
+--- a/tools/xenmon/Makefile
++++ b/tools/xenmon/Makefile
+@@ -16,6 +16,7 @@ include $(XEN_ROOT)/tools/Rules.mk
+ CFLAGS += -Werror
+ CFLAGS += $(CFLAGS_libxenctrl)
+ LDLIBS += $(LDLIBS_libxenctrl)
++LDFLAGS += $(call LDFLAGS_RPATH,../lib)
+
+ SCRIPTS = xenmon.py
+
+@@ -27,10 +28,10 @@ build: xentrace_setmask xenbaked
+
+ .PHONY: install
+ install: build
+- $(INSTALL_DIR) $(DESTDIR)$(SBINDIR)
+- $(INSTALL_PROG) xenbaked $(DESTDIR)$(SBINDIR)/xenbaked
+- $(INSTALL_PROG) xentrace_setmask $(DESTDIR)$(SBINDIR)/xentrace_setmask
+- $(INSTALL_PROG) xenmon.py $(DESTDIR)$(SBINDIR)/xenmon.py
++ $(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
++ $(INSTALL_PROG) xenbaked $(DESTDIR)$(LIBEXEC_BIN)/xenbaked
++ $(INSTALL_PROG) xentrace_setmask $(DESTDIR)$(LIBEXEC_BIN)/xentrace_setmask
++ $(INSTALL_PROG) xenmon.py $(DESTDIR)$(LIBEXEC_BIN)/xenmon.py
+ $(INSTALL_DIR) $(DESTDIR)$(DOCDIR)
+ $(INSTALL_DATA) README $(DESTDIR)$(DOCDIR)/README.xenmon
+
diff --git a/debian/patches/tools-xenpaging-prefix.diff b/debian/patches/tools-xenpaging-prefix.diff
new file mode 100644
index 0000000..d57550a
--- /dev/null
+++ b/debian/patches/tools-xenpaging-prefix.diff
@@ -0,0 +1,23 @@
+From abfa5749d0ac167c66fc63e2a3fae6934f1bd265 Mon Sep 17 00:00:00 2001
+From: Bastian Blank <waldi@debian.org>
+Date: Sat, 5 Jul 2014 11:47:08 +0200
+Subject: tools-xenpaging-prefix.diff
+
+Patch-Name: tools-xenpaging-prefix.diff
+---
+ tools/xenpaging/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tools/xenpaging/Makefile b/tools/xenpaging/Makefile
+index c742e62..ffdc29b 100644
+--- a/tools/xenpaging/Makefile
++++ b/tools/xenpaging/Makefile
+@@ -4,7 +4,7 @@ include $(XEN_ROOT)/tools/Rules.mk
+ # xenpaging.c and file_ops.c incorrectly use libxc internals
+ CFLAGS += $(CFLAGS_libxenctrl) $(CFLAGS_libxenstore) $(PTHREAD_CFLAGS) -I$(XEN_ROOT)/tools/libxc
+ LDLIBS += $(LDLIBS_libxenctrl) $(LDLIBS_libxenstore) $(PTHREAD_LIBS)
+-LDFLAGS += $(PTHREAD_LDFLAGS)
++LDFLAGS += $(PTHREAD_LDFLAGS) $(call LDFLAGS_RPATH,../lib)
+
+ POLICY = default
+
diff --git a/debian/patches/tools-xenpmd-prefix.diff b/debian/patches/tools-xenpmd-prefix.diff
new file mode 100644
index 0000000..848a3cd
--- /dev/null
+++ b/debian/patches/tools-xenpmd-prefix.diff
@@ -0,0 +1,25 @@
+From fe75d9145658c6b798e63a4aa4db48d64a60557e Mon Sep 17 00:00:00 2001
+From: Bastian Blank <waldi@debian.org>
+Date: Sat, 13 Dec 2014 19:37:02 +0100
+Subject: tools-xenpmd-prefix.diff
+
+Patch-Name: tools-xenpmd-prefix.diff
+---
+ tools/xenpmd/Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tools/xenpmd/Makefile b/tools/xenpmd/Makefile
+index 2d925df..d7c0b6c 100644
+--- a/tools/xenpmd/Makefile
++++ b/tools/xenpmd/Makefile
+@@ -11,8 +11,8 @@ all: xenpmd
+
+ .PHONY: install
+ install: all
+- $(INSTALL_DIR) $(DESTDIR)$(SBINDIR)
+- $(INSTALL_PROG) xenpmd $(DESTDIR)$(SBINDIR)
++ $(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
++ $(INSTALL_PROG) xenpmd $(DESTDIR)$(LIBEXEC_BIN)
+
+ .PHONY: clean
+ clean:
diff --git a/debian/patches/tools-xenstat-abiname.diff b/debian/patches/tools-xenstat-abiname.diff
new file mode 100644
index 0000000..29039fb
--- /dev/null
+++ b/debian/patches/tools-xenstat-abiname.diff
@@ -0,0 +1,65 @@
+From 0e96125d7a8672209f57f8e2fcaaebe51737c480 Mon Sep 17 00:00:00 2001
+From: Bastian Blank <waldi@debian.org>
+Date: Sat, 5 Jul 2014 11:46:50 +0200
+Subject: tools-xenstat-abiname.diff
+
+Patch-Name: tools-xenstat-abiname.diff
+---
+ tools/xenstat/libxenstat/Makefile | 20 ++++----------------
+ 1 file changed, 4 insertions(+), 16 deletions(-)
+
+diff --git a/tools/xenstat/libxenstat/Makefile b/tools/xenstat/libxenstat/Makefile
+index 86068cb..3469385 100644
+--- a/tools/xenstat/libxenstat/Makefile
++++ b/tools/xenstat/libxenstat/Makefile
+@@ -18,18 +18,14 @@ include $(XEN_ROOT)/tools/Rules.mk
+ LDCONFIG=ldconfig
+ MAKE_LINK=ln -sf
+
+-MAJOR=0
+-MINOR=0
+-
+ LIB=src/libxenstat.a
+-SHLIB=src/libxenstat.so.$(MAJOR).$(MINOR)
+-SHLIB_LINKS=src/libxenstat.so.$(MAJOR) src/libxenstat.so
++SHLIB=src/libxenstat.so
+ OBJECTS-y=src/xenstat.o
+ OBJECTS-$(CONFIG_Linux) += src/xenstat_linux.o
+ OBJECTS-$(CONFIG_SunOS) += src/xenstat_solaris.o
+ OBJECTS-$(CONFIG_NetBSD) += src/xenstat_netbsd.o
+ OBJECTS-$(CONFIG_FreeBSD) += src/xenstat_freebsd.o
+-SONAME_FLAGS=-Wl,$(SONAME_LDFLAG) -Wl,libxenstat.so.$(MAJOR)
++SONAME_FLAGS=-Wl,$(SONAME_LDFLAG),libxenstat.so
+
+ CFLAGS+=-fPIC
+ CFLAGS+=-Isrc $(CFLAGS_libxenctrl) $(CFLAGS_libxenstore) $(CFLAGS_xeninclude)
+@@ -38,7 +34,7 @@ LDLIBS-y = $(LDLIBS_libxenstore) $(LDLIBS_libxenctrl)
+ LDLIBS-$(CONFIG_SunOS) += -lkstat
+
+ .PHONY: all
+-all: $(LIB) $(SHLIB) $(SHLIB_LINKS)
++all: $(LIB) $(SHLIB)
+
+ $(LIB): $(OBJECTS-y)
+ $(AR) rc $@ $^
+@@ -48,19 +44,11 @@ $(SHLIB): $(OBJECTS-y)
+ $(CC) $(LDFLAGS) $(SONAME_FLAGS) $(SHLIB_LDFLAGS) -o $@ \
+ $(OBJECTS-y) $(LDLIBS-y) $(APPEND_LDFLAGS)
+
+-src/libxenstat.so.$(MAJOR): $(SHLIB)
+- $(MAKE_LINK) $(<F) $@
+-
+-src/libxenstat.so: src/libxenstat.so.$(MAJOR)
+- $(MAKE_LINK) $(<F) $@
+-
+ .PHONY: install
+ install: all
+ $(INSTALL_DATA) src/xenstat.h $(DESTDIR)$(INCLUDEDIR)
+ $(INSTALL_DATA) $(LIB) $(DESTDIR)$(LIBDIR)/libxenstat.a
+- $(INSTALL_PROG) src/libxenstat.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR)
+- ln -sf libxenstat.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR)/libxenstat.so.$(MAJOR)
+- ln -sf libxenstat.so.$(MAJOR) $(DESTDIR)$(LIBDIR)/libxenstat.so
++ $(INSTALL_PROG) src/libxenstat.so $(DESTDIR)$(LIBDIR)
+
+ PYLIB=bindings/swig/python/_xenstat.so
+ PYMOD=bindings/swig/python/xenstat.py
diff --git a/debian/patches/tools-xenstat-prefix.diff b/debian/patches/tools-xenstat-prefix.diff
new file mode 100644
index 0000000..ff03676
--- /dev/null
+++ b/debian/patches/tools-xenstat-prefix.diff
@@ -0,0 +1,52 @@
+From 65d444b8d2b604d9e9071754b91a4609b1e02caf Mon Sep 17 00:00:00 2001
+From: Bastian Blank <waldi@debian.org>
+Date: Sat, 5 Jul 2014 11:47:09 +0200
+Subject: tools-xenstat-prefix.diff
+
+Patch-Name: tools-xenstat-prefix.diff
+---
+ tools/xenstat/libxenstat/Makefile | 3 ++-
+ tools/xenstat/xentop/Makefile | 6 ++++--
+ 2 files changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/tools/xenstat/libxenstat/Makefile b/tools/xenstat/libxenstat/Makefile
+index 3469385..661ab16 100644
+--- a/tools/xenstat/libxenstat/Makefile
++++ b/tools/xenstat/libxenstat/Makefile
+@@ -46,9 +46,10 @@ $(SHLIB): $(OBJECTS-y)
+
+ .PHONY: install
+ install: all
++ $(INSTALL_DIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(LIBEXEC_LIB)
+ $(INSTALL_DATA) src/xenstat.h $(DESTDIR)$(INCLUDEDIR)
+ $(INSTALL_DATA) $(LIB) $(DESTDIR)$(LIBDIR)/libxenstat.a
+- $(INSTALL_PROG) src/libxenstat.so $(DESTDIR)$(LIBDIR)
++ $(INSTALL_PROG) src/libxenstat.so $(DESTDIR)$(LIBEXEC_LIB)
+
+ PYLIB=bindings/swig/python/_xenstat.so
+ PYMOD=bindings/swig/python/xenstat.py
+diff --git a/tools/xenstat/xentop/Makefile b/tools/xenstat/xentop/Makefile
+index 076e44c..33e8740 100644
+--- a/tools/xenstat/xentop/Makefile
++++ b/tools/xenstat/xentop/Makefile
+@@ -19,7 +19,9 @@ all install xentop:
+ else
+
+ CFLAGS += -DGCC_PRINTF -Werror $(CFLAGS_libxenstat)
++LDFLAGS += $(call LDFLAGS_RPATH,../lib)
+ LDLIBS += $(LDLIBS_libxenstat) $(CURSES_LIBS) $(SOCKET_LIBS) -lm
++LDLIBS += $(LDLIBS_libxenctrl) $(LDLIBS_libxenstore)
+ CFLAGS += -DHOST_$(XEN_OS)
+
+ # Include configure output (config.h) to headers search path
+@@ -31,8 +33,8 @@ all: xentop
+
+ .PHONY: install
+ install: xentop xentop.1
+- $(INSTALL_DIR) $(DESTDIR)$(SBINDIR)
+- $(INSTALL_PROG) xentop $(DESTDIR)$(SBINDIR)/xentop
++ $(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
++ $(INSTALL_PROG) xentop $(DESTDIR)$(LIBEXEC_BIN)/xentop
+ $(INSTALL_DIR) $(DESTDIR)$(MAN1DIR)
+ $(INSTALL_DATA) xentop.1 $(DESTDIR)$(MAN1DIR)/xentop.1
+
diff --git a/debian/patches/tools-xenstore-compatibility.diff b/debian/patches/tools-xenstore-compatibility.diff
new file mode 100644
index 0000000..31a321b
--- /dev/null
+++ b/debian/patches/tools-xenstore-compatibility.diff
@@ -0,0 +1,62 @@
+From 4ad8b98cb36d4900dd47485f553e1f18d042f2e2 Mon Sep 17 00:00:00 2001
+From: Bastian Blank <waldi@debian.org>
+Date: Sat, 5 Jul 2014 11:47:36 +0200
+Subject: tools-xenstore-compatibility.diff
+
+Patch-Name: tools-xenstore-compatibility.diff
+---
+ tools/xenstore/include/xenstore.h | 1 +
+ tools/xenstore/xenstore_client.c | 2 +-
+ tools/xenstore/xs.c | 4 +++-
+ 3 files changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/tools/xenstore/include/xenstore.h b/tools/xenstore/include/xenstore.h
+index b4b113e..be2491b 100644
+--- a/tools/xenstore/include/xenstore.h
++++ b/tools/xenstore/include/xenstore.h
+@@ -26,6 +26,7 @@
+
+ #define XS_OPEN_READONLY 1UL<<0
+ #define XS_OPEN_SOCKETONLY 1UL<<1
++#define XS_OPEN_DOMAINONLY 1UL<<2
+
+ /*
+ * Setting XS_UNWATCH_FILTER arranges that after xs_unwatch, no
+diff --git a/tools/xenstore/xenstore_client.c b/tools/xenstore/xenstore_client.c
+index 1054f18..e6fa58d 100644
+--- a/tools/xenstore/xenstore_client.c
++++ b/tools/xenstore/xenstore_client.c
+@@ -635,7 +635,7 @@ main(int argc, char **argv)
+ max_width = ws.ws_col - 2;
+ }
+
+- xsh = xs_open(socket ? XS_OPEN_SOCKETONLY : 0);
++ xsh = xs_open(socket ? XS_OPEN_SOCKETONLY : XS_OPEN_DOMAINONLY);
+ if (xsh == NULL) err(1, "xs_open");
+
+ again:
+diff --git a/tools/xenstore/xs.c b/tools/xenstore/xs.c
+index 968141d..738d86f 100644
+--- a/tools/xenstore/xs.c
++++ b/tools/xenstore/xs.c
+@@ -282,17 +282,19 @@ struct xs_handle *xs_daemon_open_readonly(void)
+
+ struct xs_handle *xs_domain_open(void)
+ {
+- return xs_open(0);
++ return xs_open(XS_OPEN_DOMAINONLY);
+ }
+
+ struct xs_handle *xs_open(unsigned long flags)
+ {
+ struct xs_handle *xsh = NULL;
+
++ if (!(flags & XS_OPEN_DOMAINONLY)) {
+ if (flags & XS_OPEN_READONLY)
+ xsh = get_handle(xs_daemon_socket_ro());
+ else
+ xsh = get_handle(xs_daemon_socket());
++ }
+
+ if (!xsh && !(flags & XS_OPEN_SOCKETONLY))
+ xsh = get_handle(xs_domain_dev());
diff --git a/debian/patches/tools-xenstore-prefix.diff b/debian/patches/tools-xenstore-prefix.diff
new file mode 100644
index 0000000..3db020d
--- /dev/null
+++ b/debian/patches/tools-xenstore-prefix.diff
@@ -0,0 +1,59 @@
+From cfb373c7981b0b388cfe48a50a9856d13eecf9d5 Mon Sep 17 00:00:00 2001
+From: Bastian Blank <waldi@debian.org>
+Date: Sat, 5 Jul 2014 11:47:12 +0200
+Subject: tools-xenstore-prefix.diff
+
+Patch-Name: tools-xenstore-prefix.diff
+---
+ tools/xenstore/Makefile | 18 ++++++++++--------
+ 1 file changed, 10 insertions(+), 8 deletions(-)
+
+--- a/tools/xenstore/Makefile
++++ b/tools/xenstore/Makefile
+@@ -17,6 +17,8 @@
+ CFLAGS += $(CFLAGS-y)
+ LDFLAGS += $(LDFLAGS-y)
+
++LDFLAGS_libxenctrl += $(call LDFLAGS_RPATH,../lib)
++
+ CLIENTS := xenstore-exists xenstore-list xenstore-read xenstore-rm xenstore-chmod
+ CLIENTS += xenstore-write xenstore-ls xenstore-watch
+
+@@ -74,10 +76,10 @@
+ init-xenstore-domain.o: CFLAGS += $(CFLAGS_libxenguest)
+
+ init-xenstore-domain: init-xenstore-domain.o $(LIBXENSTORE)
+- $(CC) $^ $(LDFLAGS) $(LDLIBS_libxenctrl) $(LDLIBS_libxenguest) $(LDLIBS_libxenstore) -o $@ $(APPEND_LDFLAGS)
++ $(CC) $^ $(LDFLAGS) $(LDLIBS_libxenctrl) $(LDLIBS_libxenguest) $(LDLIBS_libxenstore) $(call LDFLAGS_RPATH,../lib) -o $@ $(APPEND_LDFLAGS)
+
+ xenstored: $(XENSTORED_OBJS)
+- $(CC) $^ $(LDFLAGS) $(LDLIBS_libxenctrl) $(SOCKET_LIBS) -o $@ $(APPEND_LDFLAGS)
++ $(CC) $^ $(LDFLAGS) $(LDLIBS_libxenctrl) $(SOCKET_LIBS) $(call LDFLAGS_RPATH,../lib) -o $@ $(APPEND_LDFLAGS)
+
+ xenstored.a: $(XENSTORED_OBJS)
+ $(AR) cr $@ $^
+@@ -128,18 +130,18 @@
+
+ .PHONY: install
+ install: all
+- $(INSTALL_DIR) $(DESTDIR)$(BINDIR)
++ $(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
++ $(INSTALL_DIR) $(DESTDIR)$(SBINDIR)
+ $(INSTALL_DIR) $(DESTDIR)$(INCLUDEDIR)
+ $(INSTALL_DIR) $(DESTDIR)$(INCLUDEDIR)/xenstore-compat
+ ifeq ($(XENSTORE_XENSTORED),y)
+- $(INSTALL_DIR) $(DESTDIR)$(SBINDIR)
+ $(INSTALL_DIR) $(DESTDIR)$(XEN_LIB_STORED)
+- $(INSTALL_PROG) xenstored $(DESTDIR)$(SBINDIR)
++ $(INSTALL_PROG) xenstored $(DESTDIR)$(LIBEXEC_BIN)
+ endif
+- $(INSTALL_PROG) xenstore-control $(DESTDIR)$(BINDIR)
+- $(INSTALL_PROG) xenstore $(DESTDIR)$(BINDIR)
++ $(INSTALL_PROG) xenstore-control $(DESTDIR)$(LIBEXEC_BIN)
++ $(INSTALL_PROG) xenstore $(DESTDIR)$(SBINDIR)
+ set -e ; for c in $(CLIENTS) ; do \
+- ln -f $(DESTDIR)$(BINDIR)/xenstore $(DESTDIR)$(BINDIR)/$${c} ; \
++ ln -f $(DESTDIR)$(SBINDIR)/xenstore $(DESTDIR)$(SBINDIR)/$${c} ; \
+ done
+ $(INSTALL_DIR) $(DESTDIR)$(LIBDIR)
+ $(INSTALL_SHLIB) libxenstore.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR)
diff --git a/debian/patches/tools-xentrace-prefix.diff b/debian/patches/tools-xentrace-prefix.diff
new file mode 100644
index 0000000..c78dd1f
--- /dev/null
+++ b/debian/patches/tools-xentrace-prefix.diff
@@ -0,0 +1,37 @@
+From 7f5fb659e513f3dcab79610e3d1ab0980657a0fb Mon Sep 17 00:00:00 2001
+From: Bastian Blank <waldi@debian.org>
+Date: Sat, 5 Jul 2014 11:47:14 +0200
+Subject: tools-xentrace-prefix.diff
+
+Patch-Name: tools-xentrace-prefix.diff
+---
+ tools/xentrace/Makefile | 9 ++++-----
+ 1 file changed, 4 insertions(+), 5 deletions(-)
+
+--- a/tools/xentrace/Makefile
++++ b/tools/xentrace/Makefile
+@@ -5,6 +5,7 @@
+
+ CFLAGS += $(CFLAGS_libxenctrl)
+ LDLIBS += $(LDLIBS_libxenctrl)
++LDFLAGS += $(call LDFLAGS_RPATH,../lib)
+
+ BIN = xentrace xentrace_setsize
+ LIBBIN = xenctx
+@@ -20,13 +21,11 @@
+
+ .PHONY: install
+ install: build
+- $(INSTALL_DIR) $(DESTDIR)$(BINDIR)
+- [ -z "$(LIBBIN)" ] || $(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
++ $(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
+ $(INSTALL_DIR) $(DESTDIR)$(MAN1DIR)
+ $(INSTALL_DIR) $(DESTDIR)$(MAN8DIR)
+- $(INSTALL_PROG) $(BIN) $(DESTDIR)$(BINDIR)
+- $(INSTALL_PYTHON_PROG) $(SCRIPTS) $(DESTDIR)$(BINDIR)
+- [ -z "$(LIBBIN)" ] || $(INSTALL_PROG) $(LIBBIN) $(DESTDIR)$(LIBEXEC_BIN)
++ $(INSTALL_PROG) $(BIN) $(LIBBIN) $(DESTDIR)$(LIBEXEC_BIN)
++ $(INSTALL_PYTHON_PROG) $(SCRIPTS) $(DESTDIR)$(LIBEXEC_BIN)
+ $(INSTALL_DATA) $(MAN1) $(DESTDIR)$(MAN1DIR)
+ $(INSTALL_DATA) $(MAN8) $(DESTDIR)$(MAN8DIR)
+
diff --git a/debian/patches/version.diff b/debian/patches/version.diff
new file mode 100644
index 0000000..67140db
--- /dev/null
+++ b/debian/patches/version.diff
@@ -0,0 +1,170 @@
+From 1f5daf0e99d7e961baa22a61575506455b00bb46 Mon Sep 17 00:00:00 2001
+From: Bastian Blank <waldi@debian.org>
+Date: Sat, 5 Jul 2014 11:46:43 +0200
+Subject: version
+
+Patch-Name: version.diff
+---
+ xen/Makefile | 11 +++++------
+ xen/common/kernel.c | 4 ++--
+ xen/common/version.c | 21 +++++++++++----------
+ xen/drivers/char/console.c | 9 +++------
+ xen/include/xen/compile.h.in | 8 ++++----
+ xen/include/xen/version.h | 8 ++++----
+ 6 files changed, 29 insertions(+), 32 deletions(-)
+
+Index: xen-0.1.2014.05.orig/xen/Makefile
+===================================================================
+--- xen-0.1.2014.05.orig.orig/xen/Makefile
++++ xen-0.1.2014.05.orig/xen/Makefile
+@@ -128,20 +128,19 @@ delete-unfresh-files:
+ @mv -f $@.tmp $@
+
+ # compile.h contains dynamic build info. Rebuilt on every 'make' invocation.
+-include/xen/compile.h: include/xen/compile.h.in .banner
++include/xen/compile.h: include/xen/compile.h.in
+ @sed -e 's/@@date@@/$(XEN_BUILD_DATE)/g' \
+ -e 's/@@time@@/$(XEN_BUILD_TIME)/g' \
+- -e 's/@@whoami@@/$(XEN_WHOAMI)/g' \
+- -e 's/@@domain@@/$(XEN_DOMAIN)/g' \
+- -e 's/@@hostname@@/$(XEN_BUILD_HOST)/g' \
+ -e 's!@@compiler@@!$(shell $(CC) $(CFLAGS) --version 2>&1 | head -1)!g' \
+ -e 's/@@version@@/$(XEN_VERSION)/g' \
+ -e 's/@@subversion@@/$(XEN_SUBVERSION)/g' \
+ -e 's/@@extraversion@@/$(XEN_EXTRAVERSION)/g' \
+ -e 's!@@changeset@@!$(shell tools/scmversion $(XEN_ROOT) || echo "unavailable")!g' \
++ -e 's/@@system_distribution@@/$(shell lsb_release -is)/g' \
++ -e 's/@@system_maintainer_domain@@/$(shell cd ../../../..; dpkg-parsechangelog | sed -ne 's,^Maintainer: .[^<]*<[^@>]*@\([^>]*\)>,\1,p')/g' \
++ -e 's/@@system_maintainer_local@@/$(shell cd ../../../..; dpkg-parsechangelog | sed -ne 's,^Maintainer: .[^<]*<\([^@>]*\)@.*>,\1,p')/g' \
++ -e 's/@@system_version@@/$(shell cd ../../../..; dpkg-parsechangelog | awk '/^Version:/ {print $$2}')/g' \
+ < include/xen/compile.h.in > $@.new
+- @cat .banner
+- @$(PYTHON) tools/fig-to-oct.py < .banner >> $@.new
+ @mv -f $@.new $@
+
+ include/asm-$(TARGET_ARCH)/asm-offsets.h: arch/$(TARGET_ARCH)/asm-offsets.s
+Index: xen-0.1.2014.05.orig/xen/common/kernel.c
+===================================================================
+--- xen-0.1.2014.05.orig.orig/xen/common/kernel.c
++++ xen-0.1.2014.05.orig/xen/common/kernel.c
+@@ -250,8 +250,8 @@ DO(xen_version)(int cmd, XEN_GUEST_HANDL
+ {
+ struct xen_compile_info info;
+ safe_strcpy(info.compiler, xen_compiler());
+- safe_strcpy(info.compile_by, xen_compile_by());
+- safe_strcpy(info.compile_domain, xen_compile_domain());
++ safe_strcpy(info.compile_by, xen_compile_system_maintainer_local());
++ safe_strcpy(info.compile_domain, xen_compile_system_maintainer_domain());
+ safe_strcpy(info.compile_date, xen_compile_date());
+ if ( copy_to_guest(arg, &info, 1) )
+ return -EFAULT;
+Index: xen-0.1.2014.05.orig/xen/common/version.c
+===================================================================
+--- xen-0.1.2014.05.orig.orig/xen/common/version.c
++++ xen-0.1.2014.05.orig/xen/common/version.c
+@@ -11,19 +11,24 @@ const char *xen_compile_time(void)
+ return XEN_COMPILE_TIME;
+ }
+
+-const char *xen_compile_by(void)
++const char *xen_compile_system_distribution(void)
+ {
+- return XEN_COMPILE_BY;
++ return XEN_COMPILE_SYSTEM_DISTRIBUTION;
+ }
+
+-const char *xen_compile_domain(void)
++const char *xen_compile_system_maintainer_local(void)
+ {
+- return XEN_COMPILE_DOMAIN;
++ return XEN_COMPILE_SYSTEM_MAINTAINER_LOCAL;
+ }
+
+-const char *xen_compile_host(void)
++const char *xen_compile_system_maintainer_domain(void)
+ {
+- return XEN_COMPILE_HOST;
++ return XEN_COMPILE_SYSTEM_MAINTAINER_DOMAIN;
++}
++
++const char *xen_compile_system_version(void)
++{
++ return XEN_COMPILE_SYSTEM_VERSION;
+ }
+
+ const char *xen_compiler(void)
+@@ -51,7 +56,3 @@ const char *xen_changeset(void)
+ return XEN_CHANGESET;
+ }
+
+-const char *xen_banner(void)
+-{
+- return XEN_BANNER;
+-}
+Index: xen-0.1.2014.05.orig/xen/drivers/char/console.c
+===================================================================
+--- xen-0.1.2014.05.orig.orig/xen/drivers/char/console.c
++++ xen-0.1.2014.05.orig/xen/drivers/char/console.c
+@@ -727,14 +727,11 @@ void __init console_init_preirq(void)
+ serial_set_rx_handler(sercon_handle, serial_rx);
+
+ /* HELLO WORLD --- start-of-day banner text. */
+- spin_lock(&console_lock);
+- __putstr(xen_banner());
+- spin_unlock(&console_lock);
+- printk("Xen version %d.%d%s (%s@%s) (%s) debug=%c %s\n",
++ printk("Xen version %d.%d%s (%s %s) (%s@%s) (%s) debug=%c %s\n",
+ xen_major_version(), xen_minor_version(), xen_extra_version(),
+- xen_compile_by(), xen_compile_domain(),
++ xen_compile_system_distribution(), xen_compile_system_version(),
++ xen_compile_system_maintainer_local(), xen_compile_system_maintainer_domain(),
+ xen_compiler(), debug_build() ? 'y' : 'n', xen_compile_date());
+- printk("Latest ChangeSet: %s\n", xen_changeset());
+
+ if ( opt_sync_console )
+ {
+Index: xen-0.1.2014.05.orig/xen/include/xen/compile.h.in
+===================================================================
+--- xen-0.1.2014.05.orig.orig/xen/include/xen/compile.h.in
++++ xen-0.1.2014.05.orig/xen/include/xen/compile.h.in
+@@ -1,8 +1,9 @@
+ #define XEN_COMPILE_DATE "@@date@@"
+ #define XEN_COMPILE_TIME "@@time@@"
+-#define XEN_COMPILE_BY "@@whoami@@"
+-#define XEN_COMPILE_DOMAIN "@@domain@@"
+-#define XEN_COMPILE_HOST "@@hostname@@"
++#define XEN_COMPILE_SYSTEM_DISTRIBUTION "@@system_distribution@@"
++#define XEN_COMPILE_SYSTEM_MAINTAINER_DOMAIN "@@system_maintainer_domain@@"
++#define XEN_COMPILE_SYSTEM_MAINTAINER_LOCAL "@@system_maintainer_local@@"
++#define XEN_COMPILE_SYSTEM_VERSION "@@system_version@@"
+ #define XEN_COMPILER "@@compiler@@"
+
+ #define XEN_VERSION @@version@@
+@@ -10,4 +11,3 @@
+ #define XEN_EXTRAVERSION "@@extraversion@@"
+
+ #define XEN_CHANGESET "@@changeset@@"
+-#define XEN_BANNER \
+Index: xen-0.1.2014.05.orig/xen/include/xen/version.h
+===================================================================
+--- xen-0.1.2014.05.orig.orig/xen/include/xen/version.h
++++ xen-0.1.2014.05.orig/xen/include/xen/version.h
+@@ -3,14 +3,14 @@
+
+ const char *xen_compile_date(void);
+ const char *xen_compile_time(void);
+-const char *xen_compile_by(void);
+-const char *xen_compile_domain(void);
+-const char *xen_compile_host(void);
++const char *xen_compile_system_distribution(void);
++const char *xen_compile_system_maintainer_domain(void);
++const char *xen_compile_system_maintainer_local(void);
++const char *xen_compile_system_version(void);
+ const char *xen_compiler(void);
+ unsigned int xen_major_version(void);
+ unsigned int xen_minor_version(void);
+ const char *xen_extra_version(void);
+ const char *xen_changeset(void);
+-const char *xen_banner(void);
+
+ #endif /* __XEN_VERSION_H__ */
diff --git a/debian/patches/xl-coredumps-to-var-lib-xen-dump.diff b/debian/patches/xl-coredumps-to-var-lib-xen-dump.diff
new file mode 100644
index 0000000..d70124f
--- /dev/null
+++ b/debian/patches/xl-coredumps-to-var-lib-xen-dump.diff
@@ -0,0 +1,51 @@
+From d9e5c51f81f9454305888ba9a4e0439f5a2fbb9a Mon Sep 17 00:00:00 2001
+From: Ian Campbell <ijc@hellion.org.uk>
+Date: Sun, 31 Aug 2014 01:42:03 +0100
+Subject: send xl coredumps /var/lib/xen/dump/NAME
+
+Patch-Name: xl-coredumps-to-var-lib-xen-dump.diff
+---
+ docs/man/xl.cfg.pod.5 | 4 ++--
+ tools/Makefile | 2 +-
+ tools/libxl/xl_cmdimpl.c | 2 +-
+ 3 files changed, 4 insertions(+), 4 deletions(-)
+
+--- a/docs/man/xl.cfg.pod.5
++++ b/docs/man/xl.cfg.pod.5
+@@ -298,12 +298,12 @@
+
+ =item B<coredump-destroy>
+
+-write a "coredump" of the domain to F</var/xen/dump/NAME> and then
++write a "coredump" of the domain to F</var/lib/xen/dump/NAME> and then
+ destroy the domain.
+
+ =item B<coredump-restart>
+
+-write a "coredump" of the domain to F</var/xen/dump/NAME> and then
++write a "coredump" of the domain to F</var/lib/xen/dump/NAME> and then
+ restart the domain.
+
+ =back
+--- a/tools/Makefile
++++ b/tools/Makefile
+@@ -58,7 +58,7 @@
+
+ .PHONY: install
+ install: subdirs-install
+- $(INSTALL_DIR) $(DESTDIR)/var/xen/dump
++ $(INSTALL_DIR) $(DESTDIR)/var/lib/xen/dump/
+ $(INSTALL_DIR) $(DESTDIR)/var/log/xen
+ $(INSTALL_DIR) $(DESTDIR)/var/lib/xen
+
+--- a/tools/libxl/xl_cmdimpl.c
++++ b/tools/libxl/xl_cmdimpl.c
+@@ -2106,7 +2106,7 @@
+ char *corefile;
+ int rc;
+
+- if (asprintf(&corefile, "/var/xen/dump/%s", d_config->c_info.name) < 0) {
++ if (asprintf(&corefile, "/var/lib/xen/dump/%s", d_config->c_info.name) < 0) {
+ LOG("failed to construct core dump path");
+ } else {
+ LOG("dumping core to %s", corefile);
diff --git a/debian/pycompat b/debian/pycompat
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ b/debian/pycompat
@@ -0,0 +1 @@
+2
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..9703276
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,49 @@
+#!/usr/bin/make -f
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+include /usr/share/dpkg/default.mk
+
+SOURCE := $(shell dpkg-parsechangelog | sed -ne 's,^Source: *\(.*\)$$,\1,p')
+VERSION_BINNMU := $(shell echo "$(DEB_VERSION)" | sed -ne 's,.*\+b\(.*\)$$,\1,p')
+
+include debian/rules.defs
+
+setup: debian/control
+ dh_testdir
+ $(MAKE) -f debian/rules.gen setup_$(DEB_HOST_ARCH)
+
+build: build-arch build-indep
+
+build-arch: setup
+ dh_testdir
+ $(MAKE) -f debian/rules.gen build-arch_$(DEB_HOST_ARCH)
+
+build-indep: setup
+ dh_testdir
+ $(MAKE) -f debian/rules.gen build-indep
+
+maintainerclean:
+ rm -f debian/control* debian/rules.gen debian/xen-hypervisor-* debian/xen-utils-[0-9]*
+
+clean: debian/control
+ dh_testdir
+ rm -rf $(BUILD_DIR) $(STAMPS_DIR) debian/lib/python/debian_xen/*.pyc
+ dh_clean
+
+binary-indep:
+ dh_testdir
+ $(MAKE) -f debian/rules.gen binary-indep
+
+binary-arch:
+ dh_testdir
+ $(MAKE) -f debian/rules.gen binary-arch_$(DEB_HOST_ARCH)
+
+binary: binary-indep binary-arch
+
+CONTROL_FILES += debian/changelog debian/bin/gencontrol.py $(wildcard debian/templates/*.in)
+CONTROL_FILES += $(wildcard debian/arch/defines) $(wildcard debian/arch/*/defines)
+GENCONTROL = $(__MODULES_DIR)gencontrol.py
+
+.PHONY: clean build binary-indep binary-arch binary
diff --git a/debian/rules.defs b/debian/rules.defs
new file mode 100644
index 0000000..4efc5b4
--- /dev/null
+++ b/debian/rules.defs
@@ -0,0 +1,4 @@
+KERNELVERSION := 3.16.0-4
+BUILD_DIR = debian/build
+STAMPS_DIR = debian/stamps
+TEMPLATES_DIR = debian/templates
diff --git a/debian/rules.gen b/debian/rules.gen
new file mode 100644
index 0000000..d528dac
--- /dev/null
+++ b/debian/rules.gen
@@ -0,0 +1,120 @@
+.NOTPARALLEL:
+binary-arch: binary-arch_amd64 binary-arch_arm64 binary-arch_armhf binary-arch_i386
+binary-arch_amd64: binary-arch_amd64_none binary-arch_amd64_real
+binary-arch_amd64_none: binary-arch_amd64_none_amd64 binary-arch_amd64_none_real
+binary-arch_amd64_none_amd64:: binary-arch_amd64_none_amd64_real
+binary-arch_amd64_none_amd64::
+ $(MAKE) -f debian/rules.real binary-arch-flavour ARCH='amd64' FEATURESET='none' FLAVOUR='amd64' IMAGE_SUFFIX='.gz' VERSION='4.6' XEN_ARCH='x86_64'
+ $(MAKE) -f debian/rules.real install-dummy DH_OPTIONS='-pxen-system-amd64' ARCH='amd64' FEATURESET='none' FLAVOUR='amd64' IMAGE_SUFFIX='.gz' VERSION='4.6' XEN_ARCH='x86_64'
+binary-arch_amd64_none_amd64_real:
+binary-arch_amd64_none_real:
+binary-arch_amd64_real::
+ $(MAKE) -f debian/rules.real binary-arch-arch ARCH='amd64' VERSION='4.6' XEN_ARCH='x86_64'
+binary-arch_arm64: binary-arch_arm64_none binary-arch_arm64_real
+binary-arch_arm64_none: binary-arch_arm64_none_arm64 binary-arch_arm64_none_real
+binary-arch_arm64_none_arm64:: binary-arch_arm64_none_arm64_real
+binary-arch_arm64_none_arm64::
+ $(MAKE) -f debian/rules.real binary-arch-flavour ARCH='arm64' FEATURESET='none' FLAVOUR='arm64' IMAGE_SUFFIX='' VERSION='4.6' XEN_ARCH='arm64'
+ $(MAKE) -f debian/rules.real install-dummy DH_OPTIONS='-pxen-system-arm64' ARCH='arm64' FEATURESET='none' FLAVOUR='arm64' IMAGE_SUFFIX='' VERSION='4.6' XEN_ARCH='arm64'
+binary-arch_arm64_none_arm64_real:
+binary-arch_arm64_none_real:
+binary-arch_arm64_real::
+ $(MAKE) -f debian/rules.real binary-arch-arch ARCH='arm64' VERSION='4.6' XEN_ARCH='arm64'
+binary-arch_armhf: binary-arch_armhf_none binary-arch_armhf_real
+binary-arch_armhf_none: binary-arch_armhf_none_armhf binary-arch_armhf_none_real
+binary-arch_armhf_none_armhf:: binary-arch_armhf_none_armhf_real
+binary-arch_armhf_none_armhf::
+ $(MAKE) -f debian/rules.real binary-arch-flavour ARCH='armhf' FEATURESET='none' FLAVOUR='armhf' IMAGE_SUFFIX='' VERSION='4.6' XEN_ARCH='arm32'
+ $(MAKE) -f debian/rules.real install-dummy DH_OPTIONS='-pxen-system-armhf' ARCH='armhf' FEATURESET='none' FLAVOUR='armhf' IMAGE_SUFFIX='' VERSION='4.6' XEN_ARCH='arm32'
+binary-arch_armhf_none_armhf_real:
+binary-arch_armhf_none_real:
+binary-arch_armhf_real::
+ $(MAKE) -f debian/rules.real binary-arch-arch ARCH='armhf' VERSION='4.6' XEN_ARCH='arm32'
+binary-arch_i386: binary-arch_i386_none binary-arch_i386_real
+binary-arch_i386_none: binary-arch_i386_none_amd64 binary-arch_i386_none_real
+binary-arch_i386_none_amd64:: binary-arch_i386_none_amd64_real
+binary-arch_i386_none_amd64::
+ $(MAKE) -f debian/rules.real binary-arch-flavour ARCH='i386' FEATURESET='none' FLAVOUR='amd64' VERSION='4.6' XEN_ARCH='x86_64'
+ $(MAKE) -f debian/rules.real install-dummy DH_OPTIONS='-pxen-system-amd64' ARCH='i386' FEATURESET='none' FLAVOUR='amd64' VERSION='4.6' XEN_ARCH='x86_64'
+binary-arch_i386_none_amd64_real:
+binary-arch_i386_none_real:
+binary-arch_i386_real::
+ $(MAKE) -f debian/rules.real binary-arch-arch ARCH='i386' VERSION='4.6' XEN_ARCH='x86_32'
+binary-indep::
+ $(MAKE) -f debian/rules.real binary-indep VERSION='4.6'
+build-arch: build-arch_amd64 build-arch_arm64 build-arch_armhf build-arch_i386
+build-arch_amd64: build-arch_amd64_none build-arch_amd64_real
+build-arch_amd64_none: build-arch_amd64_none_amd64 build-arch_amd64_none_real
+build-arch_amd64_none_amd64:: build-arch_amd64_none_amd64_real
+build-arch_amd64_none_amd64::
+ $(MAKE) -f debian/rules.real build-arch-flavour ARCH='amd64' FEATURESET='none' FLAVOUR='amd64' IMAGE_SUFFIX='.gz' VERSION='4.6' XEN_ARCH='x86_64'
+build-arch_amd64_none_amd64_real:
+build-arch_amd64_none_real:
+build-arch_amd64_real::
+ $(MAKE) -f debian/rules.real build-arch-arch ARCH='amd64' VERSION='4.6' XEN_ARCH='x86_64'
+build-arch_arm64: build-arch_arm64_none build-arch_arm64_real
+build-arch_arm64_none: build-arch_arm64_none_arm64 build-arch_arm64_none_real
+build-arch_arm64_none_arm64:: build-arch_arm64_none_arm64_real
+build-arch_arm64_none_arm64::
+ $(MAKE) -f debian/rules.real build-arch-flavour ARCH='arm64' FEATURESET='none' FLAVOUR='arm64' IMAGE_SUFFIX='' VERSION='4.6' XEN_ARCH='arm64'
+build-arch_arm64_none_arm64_real:
+build-arch_arm64_none_real:
+build-arch_arm64_real::
+ $(MAKE) -f debian/rules.real build-arch-arch ARCH='arm64' VERSION='4.6' XEN_ARCH='arm64'
+build-arch_armhf: build-arch_armhf_none build-arch_armhf_real
+build-arch_armhf_none: build-arch_armhf_none_armhf build-arch_armhf_none_real
+build-arch_armhf_none_armhf:: build-arch_armhf_none_armhf_real
+build-arch_armhf_none_armhf::
+ $(MAKE) -f debian/rules.real build-arch-flavour ARCH='armhf' FEATURESET='none' FLAVOUR='armhf' IMAGE_SUFFIX='' VERSION='4.6' XEN_ARCH='arm32'
+build-arch_armhf_none_armhf_real:
+build-arch_armhf_none_real:
+build-arch_armhf_real::
+ $(MAKE) -f debian/rules.real build-arch-arch ARCH='armhf' VERSION='4.6' XEN_ARCH='arm32'
+build-arch_i386: build-arch_i386_none build-arch_i386_real
+build-arch_i386_none: build-arch_i386_none_amd64 build-arch_i386_none_real
+build-arch_i386_none_amd64:: build-arch_i386_none_amd64_real
+build-arch_i386_none_amd64::
+ $(MAKE) -f debian/rules.real build-arch-flavour ARCH='i386' FEATURESET='none' FLAVOUR='amd64' VERSION='4.6' XEN_ARCH='x86_64'
+build-arch_i386_none_amd64_real:
+build-arch_i386_none_real:
+build-arch_i386_real::
+ $(MAKE) -f debian/rules.real build-arch-arch ARCH='i386' VERSION='4.6' XEN_ARCH='x86_32'
+build-indep::
+ $(MAKE) -f debian/rules.real build-indep VERSION='4.6'
+setup: setup_amd64 setup_arm64 setup_armhf setup_i386
+setup_amd64: setup_amd64_none setup_amd64_real
+setup_amd64_none: setup_amd64_none_amd64 setup_amd64_none_real
+setup_amd64_none_amd64:: setup_amd64_none_amd64_real
+setup_amd64_none_amd64::
+ $(MAKE) -f debian/rules.real setup-flavour ARCH='amd64' FEATURESET='none' FLAVOUR='amd64' IMAGE_SUFFIX='.gz' VERSION='4.6' XEN_ARCH='x86_64'
+setup_amd64_none_amd64_real:
+setup_amd64_none_real:
+setup_amd64_real::
+ $(MAKE) -f debian/rules.real setup-arch ARCH='amd64' VERSION='4.6' XEN_ARCH='x86_64'
+setup_arm64: setup_arm64_none setup_arm64_real
+setup_arm64_none: setup_arm64_none_arm64 setup_arm64_none_real
+setup_arm64_none_arm64:: setup_arm64_none_arm64_real
+setup_arm64_none_arm64::
+ $(MAKE) -f debian/rules.real setup-flavour ARCH='arm64' FEATURESET='none' FLAVOUR='arm64' IMAGE_SUFFIX='' VERSION='4.6' XEN_ARCH='arm64'
+setup_arm64_none_arm64_real:
+setup_arm64_none_real:
+setup_arm64_real::
+ $(MAKE) -f debian/rules.real setup-arch ARCH='arm64' VERSION='4.6' XEN_ARCH='arm64'
+setup_armhf: setup_armhf_none setup_armhf_real
+setup_armhf_none: setup_armhf_none_armhf setup_armhf_none_real
+setup_armhf_none_armhf:: setup_armhf_none_armhf_real
+setup_armhf_none_armhf::
+ $(MAKE) -f debian/rules.real setup-flavour ARCH='armhf' FEATURESET='none' FLAVOUR='armhf' IMAGE_SUFFIX='' VERSION='4.6' XEN_ARCH='arm32'
+setup_armhf_none_armhf_real:
+setup_armhf_none_real:
+setup_armhf_real::
+ $(MAKE) -f debian/rules.real setup-arch ARCH='armhf' VERSION='4.6' XEN_ARCH='arm32'
+setup_i386: setup_i386_none setup_i386_real
+setup_i386_none: setup_i386_none_amd64 setup_i386_none_real
+setup_i386_none_amd64:: setup_i386_none_amd64_real
+setup_i386_none_amd64::
+ $(MAKE) -f debian/rules.real setup-flavour ARCH='i386' FEATURESET='none' FLAVOUR='amd64' VERSION='4.6' XEN_ARCH='x86_64'
+setup_i386_none_amd64_real:
+setup_i386_none_real:
+setup_i386_real::
+ $(MAKE) -f debian/rules.real setup-arch ARCH='i386' VERSION='4.6' XEN_ARCH='x86_32'
diff --git a/debian/rules.real b/debian/rules.real
new file mode 100644
index 0000000..443730d
--- /dev/null
+++ b/debian/rules.real
@@ -0,0 +1,250 @@
+include /usr/share/dpkg/default.mk
+
+export DH_OPTIONS
+
+setup_env := env -u ARCH -u FLAVOUR -u VERSION -u MAKEFLAGS
+
+MAKE_CLEAN = $(setup_env) $(MAKE) V=1
+MAKE_SELF = $(MAKE) -f debian/rules.real
+
+include debian/rules.defs
+
+stamp = [ -d $(dir $@) ] || mkdir $(dir $@); touch $@
+
+binary-arch-arch: install-libxen_$(ARCH)
+binary-arch-arch: install-libxen-dev_$(ARCH)
+binary-arch-arch: install-libxenstore_$(ARCH)
+binary-arch-arch: install-utils_$(ARCH)
+binary-arch-arch: install-xenstore-utils_$(ARCH)
+binary-arch-flavour: install-hypervisor_$(ARCH)_$(FLAVOUR)
+
+binary-indep: install-utils-common
+
+build-arch-arch: $(STAMPS_DIR)/build-utils_$(ARCH)
+build-arch-flavour: $(STAMPS_DIR)/build-hypervisor_$(ARCH)_$(FLAVOUR)
+
+build-indep: $(STAMPS_DIR)/build-docs
+
+setup-arch: $(STAMPS_DIR)/setup-utils_$(ARCH)
+setup-flavour: $(STAMPS_DIR)/setup-hypervisor_$(ARCH)_$(FLAVOUR)
+
+$(STAMPS_DIR)/setup-docs: SOURCE_FILES = $(filter-out debian, $(wildcard *))
+$(STAMPS_DIR)/setup-docs: DIR=$(BUILD_DIR)/build-docs
+$(STAMPS_DIR)/setup-docs:
+ @rm -rf $(DIR)
+ mkdir -p $(DIR)
+ cp -al $(SOURCE_FILES) $(DIR)
+ cp --remove-destination /usr/share/misc/config.guess /usr/share/misc/config.sub $(DIR)
+ cd $(DIR); \
+ WGET=/bin/false \
+ ./configure --disable-stubdom --disable-xen --prefix=/usr
+ @$(stamp)
+
+$(STAMPS_DIR)/setup-hypervisor_$(ARCH)_$(FLAVOUR): SOURCE_FILES = $(filter-out debian, $(wildcard *))
+$(STAMPS_DIR)/setup-hypervisor_$(ARCH)_$(FLAVOUR): DIR=$(BUILD_DIR)/build-hypervisor_$(ARCH)_$(FLAVOUR)
+$(STAMPS_DIR)/setup-hypervisor_$(ARCH)_$(FLAVOUR):
+ @rm -rf $(DIR)
+ mkdir -p $(DIR)
+ cp -al $(SOURCE_FILES) $(DIR)
+ echo "XEN_VENDORVERSION := $(EXTRAVERSION)" > $(DIR)/xen/xen-version
+ @$(stamp)
+
+$(STAMPS_DIR)/setup-utils_$(ARCH): SOURCE_FILES = $(filter-out debian, $(wildcard *))
+$(STAMPS_DIR)/setup-utils_$(ARCH): DIR=$(BUILD_DIR)/build-utils_$(ARCH)
+$(STAMPS_DIR)/setup-utils_$(ARCH):
+ @rm -rf $(DIR)
+ mkdir -p $(DIR)
+ cp -al $(SOURCE_FILES) $(DIR)
+ cp --remove-destination /usr/share/misc/config.guess /usr/share/misc/config.sub $(DIR)
+ cd $(DIR); \
+ WGET=/bin/false \
+ ./configure \
+ --disable-docs --disable-stubdom --disable-xen \
+ --prefix=/usr \
+ --includedir=/usr/include \
+ --libdir=/usr/lib/$(DEB_HOST_MULTIARCH) \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --disable-blktap1 \
+ --disable-blktap2 \
+ --disable-ocamltools \
+ --disable-qemu-traditional --disable-rombios \
+ --with-system-qemu=/usr/bin/qemu-system-i386 \
+ --with-system-seabios=/usr/share/seabios/bios-256k.bin
+ @$(stamp)
+
+$(STAMPS_DIR)/build-docs: DIR=$(BUILD_DIR)/build-docs
+$(STAMPS_DIR)/build-docs: $(STAMPS_DIR)/setup-docs
+ +$(MAKE_CLEAN) -C $(DIR)/docs
+ touch $@
+
+$(STAMPS_DIR)/build-hypervisor_$(ARCH)_$(FLAVOUR): DIR=$(BUILD_DIR)/build-hypervisor_$(ARCH)_$(FLAVOUR)
+$(STAMPS_DIR)/build-hypervisor_$(ARCH)_$(FLAVOUR): $(STAMPS_DIR)/setup-hypervisor_$(ARCH)_$(FLAVOUR)
+ +$(MAKE_CLEAN) -C $(DIR)/xen \
+ XEN_COMPILE_ARCH=$(XEN_ARCH) \
+ XEN_TARGET_ARCH=$(XEN_ARCH)
+ touch $@
+
+$(STAMPS_DIR)/build-utils_$(ARCH) \
+$(STAMPS_DIR)/install-utils_$(ARCH): CONFIG = \
+ debug=n \
+ XEN_COMPILE_ARCH=$(XEN_ARCH) \
+ XEN_TARGET_ARCH=$(XEN_ARCH) \
+ EXTRA_CFLAGS_XEN_TOOLS="$(CFLAGS)" \
+ APPEND_CPPFLAGS="$(CPPFLAGS)" \
+ APPEND_LDFLAGS="$(LDFLAGS)" \
+ OCAMLDESTDIR=$(CURDIR)/$(BUILD_DIR)/install-utils_$(ARCH)/$(OCAML_STDLIB_DIR) \
+ PYTHON=$(shell pyversions -r)
+
+$(STAMPS_DIR)/build-utils_$(ARCH): DIR=$(BUILD_DIR)/build-utils_$(ARCH)
+$(STAMPS_DIR)/build-utils_$(ARCH): $(STAMPS_DIR)/setup-utils_$(ARCH)
+ +$(MAKE_CLEAN) -C $(DIR)/tools $(CONFIG)
+ touch $@
+
+$(STAMPS_DIR)/install-utils_$(ARCH): DIR = $(BUILD_DIR)/build-utils_$(ARCH)
+$(STAMPS_DIR)/install-utils_$(ARCH): INSTALL_DIR = $(BUILD_DIR)/install-utils_$(ARCH)
+$(STAMPS_DIR)/install-utils_$(ARCH): $(STAMPS_DIR)/build-utils_$(ARCH)
+ @rm -rf $(INSTALL_DIR)
+ mkdir -p $(INSTALL_DIR)/$(OCAML_DLL_DIR)
+ +$(MAKE_CLEAN) -C $(DIR)/tools install DESTDIR=$(CURDIR)/$(INSTALL_DIR) $(CONFIG)
+ifneq ($(filter i386 amd64,$(ARCH)),)
+ # hvmloader
+ strip --remove-section=.comment --remove-section=.note $(INSTALL_DIR)/usr/lib/xen*/boot/*
+endif
+ touch $@
+
+$(STAMPS_DIR)/install-utils-common: DIR = $(BUILD_DIR)/build-docs
+$(STAMPS_DIR)/install-utils-common: INSTALL_DIR = $(BUILD_DIR)/install-utils-common
+$(STAMPS_DIR)/install-utils-common: export DESTDIR = $(CURDIR)/$(INSTALL_DIR)
+$(STAMPS_DIR)/install-utils-common: $(STAMPS_DIR)/build-docs
+ @rm -rf $(INSTALL_DIR)
+ +$(MAKE_CLEAN) -C $(SOURCE_DIR)/tools/examples install-configs
+ +$(MAKE_CLEAN) -C $(SOURCE_DIR)/tools/hotplug/common install-scripts
+ +$(MAKE_CLEAN) -C $(SOURCE_DIR)/tools/hotplug/Linux install-udev install-scripts UDEV_RULES_DIR=/lib/udev
+ +$(MAKE_CLEAN) -C debian/scripts install
+ touch $@
+
+install-base:
+ dh_installchangelogs -XChangelog
+ dh_installdirs
+ dh_installdocs
+ dh_installexamples
+ dh_compress
+ dh_fixperms
+ dh_installdeb
+ dh_gencontrol -- $(GENCONTROL_ARGS)
+ dh_md5sums
+ dh_builddeb
+
+install-dummy:
+ dh_testdir
+ dh_testroot
+ dh_prep
+ +$(MAKE_SELF) install-base
+
+install-hypervisor_$(ARCH)_$(FLAVOUR): DIR=$(BUILD_DIR)/build-hypervisor_$(ARCH)_$(FLAVOUR)
+install-hypervisor_$(ARCH)_$(FLAVOUR): PACKAGE_NAME = xen-hypervisor-$(VERSION)-$(FLAVOUR)
+install-hypervisor_$(ARCH)_$(FLAVOUR): DH_OPTIONS = -p$(PACKAGE_NAME)
+install-hypervisor_$(ARCH)_$(FLAVOUR): $(STAMPS_DIR)/build-hypervisor_$(ARCH)_$(FLAVOUR)
+ dh_testdir
+ dh_testroot
+ dh_prep
+ dh_installdirs boot
+ cp $(DIR)/xen/xen$(IMAGE_SUFFIX) debian/$(PACKAGE_NAME)/boot/xen-$(VERSION)-$(FLAVOUR)$(IMAGE_SUFFIX)
+ifeq ($(ARCH),amd64)
+ cp $(DIR)/xen/xen.efi debian/$(PACKAGE_NAME)/boot/xen-$(VERSION)-$(FLAVOUR).efi
+endif
+ +$(MAKE_SELF) install-base
+
+install-libxen_$(ARCH): DIR = $(BUILD_DIR)/install-utils_$(ARCH)
+install-libxen_$(ARCH): DH_OPTIONS = -plibxen-$(VERSION)
+install-libxen_$(ARCH): $(STAMPS_DIR)/install-utils_$(ARCH) install-libxenstore_$(ARCH)
+ dh_testdir
+ dh_testroot
+ dh_prep
+ dh_install --sourcedir=$(DIR) usr/lib/*/lib*-$(VERSION).so
+ dh_strip
+ dh_makeshlibs -V
+ dh_shlibdeps
+ +$(MAKE_SELF) install-base
+
+install-libxen-dev_$(ARCH): DIR = $(BUILD_DIR)/install-utils_$(ARCH)
+install-libxen-dev_$(ARCH): PACKAGE_NAME = libxen-dev
+install-libxen-dev_$(ARCH): DH_OPTIONS = -p$(PACKAGE_NAME)
+install-libxen-dev_$(ARCH): $(STAMPS_DIR)/install-utils_$(ARCH)
+ dh_testdir
+ dh_testroot
+ dh_prep
+ dh_install --sourcedir=$(DIR)
+ dh_strip
+ dh_shlibdeps
+ +$(MAKE_SELF) install-base
+
+install-libxenstore_$(ARCH): DIR = $(BUILD_DIR)/install-utils_$(ARCH)
+install-libxenstore_$(ARCH): PACKAGE_NAME = libxenstore3.0
+install-libxenstore_$(ARCH): DH_OPTIONS = -p$(PACKAGE_NAME)
+install-libxenstore_$(ARCH): $(STAMPS_DIR)/install-utils_$(ARCH)
+ dh_testdir
+ dh_testroot
+ dh_prep
+ dh_install --sourcedir=$(DIR)
+ dh_strip
+ dh_makeshlibs -V
+ dh_shlibdeps
+ +$(MAKE_SELF) install-base
+
+install-utils_$(ARCH): SOURCE_DIR = $(BUILD_DIR)/build-utils_$(ARCH)
+install-utils_$(ARCH): DIR = $(BUILD_DIR)/install-utils_$(ARCH)
+install-utils_$(ARCH): PACKAGE_NAME = xen-utils-$(VERSION)
+install-utils_$(ARCH): PACKAGE_DIR = debian/$(PACKAGE_NAME)
+install-utils_$(ARCH): DH_OPTIONS = -p$(PACKAGE_NAME)
+install-utils_$(ARCH): $(STAMPS_DIR)/install-utils_$(ARCH) install-libxen_$(ARCH)
+ dh_testdir
+ dh_testroot
+ dh_prep
+ install -D -m644 debian/xen-utils.NEWS $(PACKAGE_DIR)/usr/share/doc/$(PACKAGE_NAME)/NEWS
+ install -D -m644 debian/xen-utils.README.Debian $(PACKAGE_DIR)/usr/share/doc/$(PACKAGE_NAME)/README.Debian
+ dh_install --sourcedir=$(DIR) usr/lib/xen-$(VERSION)
+ dh_lintian
+ ( echo -n "misc:Built-Using="; dpkg-query -f='$${source:Package} (= $${source:Version}), ' -W ipxe-qemu seabios; echo ) >> debian/$(PACKAGE_NAME).substvars
+ dh_python2 -V$(shell pyversions -rv) /usr/lib/xen-$(VERSION)
+ dh_strip
+ dh_makeshlibs -V
+ dh_shlibdeps
+ +$(MAKE_SELF) install-base
+
+install-utils-common: SOURCE_DIR = $(BUILD_DIR)/build-docs
+install-utils-common: DIR = $(BUILD_DIR)/install-utils-common
+install-utils-common: PACKAGE_NAME = xen-utils-common
+install-utils-common: DH_OPTIONS = -p$(PACKAGE_NAME)
+install-utils-common: $(STAMPS_DIR)/install-utils-common
+ dh_testdir
+ dh_testroot
+ dh_prep
+ dh_install -X .svn --sourcedir=$(DIR)
+ dh_installinit --name xen -- defaults 20 21
+ dh_installinit --name xend
+ dh_installinit --name xendomains --no-start -- defaults 21 20
+ dh_installman $(SOURCE_DIR)/docs/man1/* $(SOURCE_DIR)/docs/man5/* \
+ $(SOURCE_DIR)/tools/xentrace/xentrace_format.1 \
+ $(SOURCE_DIR)/tools/xentrace/xentrace.8 \
+ $(SOURCE_DIR)/tools/xenstat/xentop/xentop.1
+ dh_link
+ dh_ucf
+ +$(MAKE_SELF) install-base
+
+install-xenstore-utils_$(ARCH): DIR = $(BUILD_DIR)/install-utils_$(ARCH)
+install-xenstore-utils_$(ARCH): PACKAGE_NAME = xenstore-utils
+install-xenstore-utils_$(ARCH): DH_OPTIONS = -p$(PACKAGE_NAME)
+install-xenstore-utils_$(ARCH): $(STAMPS_DIR)/install-utils_$(ARCH) install-libxenstore_$(ARCH)
+ dh_testdir
+ dh_testroot
+ dh_prep
+ dh_install --sourcedir=$(DIR)
+ dh_strip
+ dh_shlibdeps
+ +$(MAKE_SELF) install-base
+
+# vim: filetype=make
diff --git a/debian/scripts/Makefile b/debian/scripts/Makefile
new file mode 100644
index 0000000..22d9a82
--- /dev/null
+++ b/debian/scripts/Makefile
@@ -0,0 +1,52 @@
+ETC_SCRIPTS = \
+ qemu-ifup
+
+GLOBAL_SCRIPTS = \
+ xen
+
+GLOBAL_TOOLSTACK_LINKS = \
+ xl \
+ xm
+
+GLOBAL_TOOLSTACK_WRAPPER = xen-toolstack-wrapper
+
+GLOBAL_UTILS_LINKS = \
+ xenperf \
+ xenpm \
+ xentop \
+ xentrace \
+ xentrace_format \
+ xentrace_setmask \
+ xentrace_setsize
+
+GLOBAL_UTILS_WRAPPER = xen-utils-wrapper
+
+PRIVATE_SCRIPTS = \
+ xen-dir \
+ xen-init-list \
+ xen-init-name \
+ xen-toolstack \
+ xen-version \
+ $(GLOBAL_TOOLSTACK_WRAPPER) \
+ $(GLOBAL_UTILS_WRAPPER)
+
+ETC_SCRIPTS_DIR = /etc/xen/scripts
+GLOBAL_SCRIPTS_DIR = /usr/sbin
+PRIVATE_SCRIPTS_DIR = /usr/lib/xen-common/bin
+
+install:
+ install -d $(DESTDIR)$(ETC_SCRIPTS_DIR)
+ install $(ETC_SCRIPTS) $(DESTDIR)$(ETC_SCRIPTS_DIR)
+ install -d $(DESTDIR)$(GLOBAL_SCRIPTS_DIR)
+ install $(GLOBAL_SCRIPTS) $(DESTDIR)$(GLOBAL_SCRIPTS_DIR)
+ @for i in $(GLOBAL_TOOLSTACK_LINKS); do \
+ echo ln -s $(PRIVATE_SCRIPTS_DIR)/$(GLOBAL_TOOLSTACK_WRAPPER) $(DESTDIR)$(GLOBAL_SCRIPTS_DIR)/$$i; \
+ ln -s $(PRIVATE_SCRIPTS_DIR)/$(GLOBAL_TOOLSTACK_WRAPPER) $(DESTDIR)$(GLOBAL_SCRIPTS_DIR)/$$i || exit 1; \
+ done
+ @for i in $(GLOBAL_UTILS_LINKS); do \
+ echo ln -s $(PRIVATE_SCRIPTS_DIR)/$(GLOBAL_UTILS_WRAPPER) $(DESTDIR)$(GLOBAL_SCRIPTS_DIR)/$$i; \
+ ln -s $(PRIVATE_SCRIPTS_DIR)/$(GLOBAL_UTILS_WRAPPER) $(DESTDIR)$(GLOBAL_SCRIPTS_DIR)/$$i || exit 1; \
+ done
+ install -d $(DESTDIR)$(PRIVATE_SCRIPTS_DIR)
+ install $(PRIVATE_SCRIPTS) $(DESTDIR)$(PRIVATE_SCRIPTS_DIR)
+
diff --git a/debian/scripts/qemu-ifup b/debian/scripts/qemu-ifup
new file mode 100644
index 0000000..fce14b5
--- /dev/null
+++ b/debian/scripts/qemu-ifup
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+echo -c 'config qemu network with xen bridge for '
+echo $*
+
+# Initialise a dummy MAC address. We choose the numerically
+# largest non-broadcast address to prevent the address getting
+# stolen by an Ethernet bridge for STP purposes.
+# (FE:FF:FF:FF:FF:FF)
+ip link set $1 address fe:ff:ff:ff:ff:ff || true
+
+ifconfig $1 0.0.0.0 up
+brctl addif $2 $1
diff --git a/debian/scripts/xen b/debian/scripts/xen
new file mode 100755
index 0000000..a221e17
--- /dev/null
+++ b/debian/scripts/xen
@@ -0,0 +1,6 @@
+#!/bin/sh -e
+
+COMMAND="$(basename $0)"
+TOOLSTACK=$(. /usr/lib/xen-common/bin/xen-toolstack); RET=$?; [ $RET -eq 0 ] || exit $RET
+
+exec "$TOOLSTACK" "$@"
diff --git a/debian/scripts/xen-dir b/debian/scripts/xen-dir
new file mode 100755
index 0000000..32b5776
--- /dev/null
+++ b/debian/scripts/xen-dir
@@ -0,0 +1,10 @@
+#!/bin/sh -e
+
+VERSION=$(. /usr/lib/xen-common/bin/xen-version); RET=$?; [ $RET -eq 0 ] || exit $RET
+
+if [ -d "/usr/lib/xen-$VERSION" ]; then
+ echo "/usr/lib/xen-$VERSION"
+else
+ echo "ERROR: Can't find version $VERSION of xen utils, bailing out!" >&2
+ exit 127
+fi
diff --git a/debian/scripts/xen-init-list b/debian/scripts/xen-init-list
new file mode 100755
index 0000000..c7a69e5
--- /dev/null
+++ b/debian/scripts/xen-init-list
@@ -0,0 +1,73 @@
+#!/usr/bin/python
+
+import json
+import re
+import sys
+import subprocess
+
+
+class SXPParser(object):
+ tokenizer_rules = r""" (?P<open> \( ) | (?P<close> \) ) | (?P<whitespace> \s+ ) | [^()^\s]+ """
+ tokenizer_re = re.compile(tokenizer_rules, re.X)
+
+ @classmethod
+ def loads(cls, input):
+ data = []
+ stack = []
+ for match in self.tokenizer_re.finditer(input):
+ if match.group('open'):
+ stack.append([])
+ elif match.group('close'):
+ top = stack.pop()
+ if stack:
+ stack[-1].append(top)
+ else:
+ data.append(top)
+ elif match.group('whitespace'):
+ pass
+ else:
+ if stack:
+ stack[-1].append(match.group())
+ return data
+
+
+class Data(object):
+ def __call__(self, out):
+ for domid, info in sorted(self.data.iteritems(), reverse=True):
+ out.write('{!s} {}\n'.format(domid, *info))
+
+
+class DataJSON(Data):
+ def __init__(self, p):
+ s = json.loads(p)
+ self.data = d = {}
+ for i in s:
+ domid = i['domid']
+ name = i['config']['c_info']['name']
+ d[domid] = (name, )
+
+
+class DataSXP(Data):
+ def __init__(self, p):
+ s = SXPParser()(p)
+ self.data = d = {}
+ for i in s:
+ if i and i[0] == 'domain':
+ try:
+ data = dict(j for j in i if len(j) == 2)
+ domid = int(data['domid'])
+ name = data['name']
+ if domid == 0:
+ continue
+ d[domid] = (name, )
+ except (KeyError, ValueError) as e:
+ pass
+
+
+if __name__ == '__main__':
+ p = subprocess.check_output(('xen', 'list', '-l'))
+ if p[0] == '(':
+ d = DataSXP(p)
+ else:
+ d = DataJSON(p)
+ d(sys.stdout)
diff --git a/debian/scripts/xen-init-name b/debian/scripts/xen-init-name
new file mode 100755
index 0000000..0efcb85
--- /dev/null
+++ b/debian/scripts/xen-init-name
@@ -0,0 +1,61 @@
+#!/usr/bin/python
+
+import json
+import re
+import sys
+import subprocess
+
+
+class SXPParser(object):
+ tokenizer_rules = r""" (?P<open> \( ) | (?P<close> \) ) | (?P<whitespace> \s+ ) | [^()^\s]+ """
+ tokenizer_re = re.compile(tokenizer_rules, re.X)
+
+ @classmethod
+ def loads(cls, input):
+ data = []
+ stack = []
+ for match in cls.tokenizer_re.finditer(input):
+ if match.group('open'):
+ stack.append([])
+ elif match.group('close'):
+ top = stack.pop()
+ if stack:
+ stack[-1].append(top)
+ else:
+ data.append(top)
+ elif match.group('whitespace'):
+ pass
+ else:
+ if stack:
+ stack[-1].append(match.group())
+ return data
+
+
+class Data(object):
+ def __call__(self, out):
+ out.write('{}\n'.format(self.name))
+
+
+class DataJSON(Data):
+ def __init__(self, p):
+ s = json.loads(p)
+ self.name = s['config']['c_info']['name']
+
+
+class DataSXP(Data):
+ def __init__(self, p):
+ s = SXPParser.loads(p)
+ for i in s:
+ if i and i[0] == 'domain':
+ data = dict(j for j in i if len(j) == 2)
+ self.name = data['name']
+ break
+
+
+if __name__ == '__main__':
+ p = subprocess.check_output(('xen', 'create', '--quiet', '--dryrun', '--defconfig', sys.argv[1]))
+ if p[0] == '(':
+ d = DataSXP(p)
+ else:
+ d = DataJSON(p)
+ d(sys.stdout)
diff --git a/debian/scripts/xen-toolstack b/debian/scripts/xen-toolstack
new file mode 100755
index 0000000..3a36fd0
--- /dev/null
+++ b/debian/scripts/xen-toolstack
@@ -0,0 +1,42 @@
+#!/bin/sh -e
+
+configfile=/etc/default/xen
+
+dir=$(. /usr/lib/xen-common/bin/xen-dir); ret=$?; [ $ret -eq 0 ] || exit $ret
+
+check() {
+ local PATH
+ if [ "$1" = xm ] || [ "$1" = xl ]; then
+ PATH="$dir/bin"
+ else
+ PATH="$dir/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
+ fi
+ command -v "$1" || :
+}
+
+if [ -e $configfile ]; then
+ . $configfile || true
+fi
+
+if [ "$TOOLSTACK" ]; then
+ cmd=$(check "$TOOLSTACK")
+ if [ "$cmd" ]; then
+ echo "$cmd"
+ else
+ echo "WARING: Can't find toolstack $TOOLSTACK, fallback to default!" >&2
+ TOOLSTACK=
+ fi
+fi
+
+if [ -z "$TOOLSTACK" ]; then
+ cmd_xm=$(check xm)
+ cmd_xl=$(check xl)
+ if [ "$cmd_xm" ]; then
+ echo "$cmd_xm"
+ elif [ "$cmd_xl" ]; then
+ echo "$cmd_xl"
+ else
+ echo "ERROR: Toolstack not specifed and nothing detected, bailing out!" >&2
+ exit 127
+ fi
+fi
diff --git a/debian/scripts/xen-toolstack-wrapper b/debian/scripts/xen-toolstack-wrapper
new file mode 100755
index 0000000..f76d2ef
--- /dev/null
+++ b/debian/scripts/xen-toolstack-wrapper
@@ -0,0 +1,11 @@
+#!/bin/sh -e
+
+COMMAND="$(basename $0)"
+TOOLSTACK=$(. /usr/lib/xen-common/bin/xen-toolstack); RET=$?; [ $RET -eq 0 ] || exit $RET
+
+if [ "$(basename "$TOOLSTACK")" != "$COMMAND" ]; then
+ echo "ERROR: A different toolstack ($(basename "$TOOLSTACK")) have been selected!" >&2
+ exit 1
+fi
+
+exec "$TOOLSTACK" "$@"
diff --git a/debian/scripts/xen-utils-wrapper b/debian/scripts/xen-utils-wrapper
new file mode 100755
index 0000000..4d27a62
--- /dev/null
+++ b/debian/scripts/xen-utils-wrapper
@@ -0,0 +1,6 @@
+#!/bin/sh -e
+
+COMMAND="$(basename $0)"
+DIR=$(/usr/lib/xen-common/bin/xen-dir)
+
+exec "$DIR/bin/$COMMAND" "$@"
diff --git a/debian/scripts/xen-version b/debian/scripts/xen-version
new file mode 100755
index 0000000..492070a
--- /dev/null
+++ b/debian/scripts/xen-version
@@ -0,0 +1,22 @@
+#!/bin/sh -e
+
+error() {
+ echo "ERROR: " "$@" >&2
+ exit 1
+}
+
+if [ -e "/sys/hypervisor/type" ]; then
+ type="$(cat /sys/hypervisor/type)"
+ if [ "$type" = xen ]; then
+ DIR=/sys/hypervisor/version
+ VERSION="$(cat $DIR/major).$(cat $DIR/minor)"
+ elif [ -z "$type" ]; then
+ error "Can't read hypervisor type from sysfs!"
+ else
+ error "Hypervisor is not xen but '$type'!"
+ fi
+else
+ error "Can't find hypervisor information in sysfs!"
+fi
+
+echo "$VERSION"
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/templates/control.hypervisor.in b/debian/templates/control.hypervisor.in
new file mode 100644
index 0000000..51a47f1
--- /dev/null
+++ b/debian/templates/control.hypervisor.in
@@ -0,0 +1,15 @@
+Package: xen-hypervisor-@version@@localversion@
+Depends: ${misc:Depends}
+Provides: xen-hypervisor, xen-hypervisor-@version@, xen-hypervisor@localversion@
+Recommends: xen-utils-@version@
+Description: Xen Hypervisor on @class@
+ 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.
+ .
+ @desc@
+ .
+ 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.
+
diff --git a/debian/templates/control.main.in b/debian/templates/control.main.in
new file mode 100644
index 0000000..6c48a5d
--- /dev/null
+++ b/debian/templates/control.main.in
@@ -0,0 +1,60 @@
+Package: libxen-@version@
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Multi-Arch: same
+Description: Public libs for Xen
+ This package contains the shared toolstack libraries for Xen.
+
+Package: libxenstore3.0
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Multi-Arch: same
+Description: Xenstore communications library for Xen
+ This package contains the client library interface to XenStore.
+ .
+
+Package: libxen-dev
+Section: libdevel
+Depends: libxen-@version@ (= ${binary:Version}), libxenstore3.0 (= ${binary:Version}), ${misc:Depends}
+Description: Public headers and libs for Xen
+ This package contains the public headers and static libraries for Xen.
+ .
+ The libxenlight library is intended as a common base for all Xen toolstack
+ developers. The libxlutil library contains additional helpers which may be
+ useful to toolstack developers.
+ .
+ The libxenstore library allows userspace processes to interact with the
+ XenStore database. XenStore is a shared database used for interdomain
+ communication of configuration and status information. It is accessible to all
+ domains running on the same Xen host. See http://wiki.xen.org/wiki/XenStore
+ for more information.
+ .
+ The libxenctrl and libxenguest libraries are internal libraries intended for
+ use by the Xen toolstack and are not intended to be used directly. Toolstack
+ authors should use libxenlight.
+
+Package: xenstore-utils
+Section: admin
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Conflicts: xen-utils-common (<= 3.1.0-1)
+Replaces: xen-utils-common (<= 3.1.0-1)
+Description: Xenstore command line utilities for Xen
+ This package contains command line utilities for interacting with XenStore.
+ .
+ XenStore is a shared database used for interdomain communication of
+ configuration and status information. It is accessible to all domains running
+ on the same Xen host. See http://wiki.xen.org/wiki/XenStore for more information.
+ .
+ In the common case these tools are used by the Xen toolstack running in
+ domain0 (or a driver domain) however they may also be used in a guest domain
+ to support local scripting which wants to communicate via XenStore.
+
+Package: xen-utils-common
+Architecture: all
+Depends: lsb-base, python, udev, xenstore-utils, ${misc:Depends}
+Description: Xen administrative tools - common files
+ The userspace tools to manage a system virtualized through the Xen virtual
+ machine monitor.
+ .
+ This package is only required on the host system (Domain 0) and not on
+ the virtual guest systems (Domain U).
diff --git a/debian/templates/control.source.in b/debian/templates/control.source.in
new file mode 100644
index 0000000..d721d5a
--- /dev/null
+++ b/debian/templates/control.source.in
@@ -0,0 +1,28 @@
+Section: kernel
+Priority: optional
+Maintainer: Debian Xen Team <pkg-xen-devel@lists.alioth.debian.org>
+Uploaders: Guido Trotter <ultrotter@debian.org>, Bastian Blank <waldi@debian.org>
+Build-Depends:
+ autotools-dev,
+ debhelper (>> 9),
+ dpkg-dev (>= 1.16.0~),
+ lsb-release,
+ python-dev,
+ bcc [i386 amd64],
+ gcc-multilib [i386 amd64],
+ e2fslibs-dev,
+ iasl [i386 amd64],
+ seabios (>= 1.7.4-2~) [i386 amd64],
+ libaio-dev,
+ libfdt-dev [armhf arm64],
+ libglib2.0-dev,
+ liblzma-dev,
+ libncurses5-dev,
+ libyajl-dev,
+ libssl-dev,
+ pkg-config,
+ uuid-dev,
+ zlib1g-dev,
+Standards-Version: 3.9.4
+XS-Python-Version: current
+
diff --git a/debian/templates/control.system.latest.in b/debian/templates/control.system.latest.in
new file mode 100644
index 0000000..730002c
--- /dev/null
+++ b/debian/templates/control.system.latest.in
@@ -0,0 +1,8 @@
+Package: xen-system@localversion@
+Depends: xen-hypervisor-@version@@localversion@, xen-utils-@version@, ${misc:Depends}
+Provides: xen-system
+Description: Xen System on @class@ (meta-package)
+ This package depends on the latest Xen hypervisor for use on @class@ and the Xen utils.
+ .
+ @desc@
+
diff --git a/debian/templates/control.utils.in b/debian/templates/control.utils.in
new file mode 100644
index 0000000..71f7b35
--- /dev/null
+++ b/debian/templates/control.utils.in
@@ -0,0 +1,9 @@
+Package: xen-utils-@version@
+Depends: ${shlibs:Depends}, ${misc:Depends}, ${python:Depends}, xen-utils-common (>= ${source:Version})
+Recommends: bridge-utils, libc6-xen [i386], xen-hypervisor-@version@, qemu-system-x86, grub-xen-host [i386 amd64]
+Provides: xen-utils
+Built-Using: ${misc:Built-Using}
+Description: XEN administrative tools
+ The userspace tools to manage a system virtualized through the XEN virtual
+ machine monitor.
+
diff --git a/debian/templates/xen-hypervisor.postinst.in b/debian/templates/xen-hypervisor.postinst.in
new file mode 100644
index 0000000..1540842
--- /dev/null
+++ b/debian/templates/xen-hypervisor.postinst.in
@@ -0,0 +1,23 @@
+#!/bin/bash
+
+set -e
+
+case "$1" in
+ configure)
+ if command -v update-grub > /dev/null && [ -d /boot/grub ]; then
+ update-grub || :
+ fi
+ ;;
+
+ abort-upgrade|abort-remove|abort-deconfigure)
+ ;;
+
+ *)
+ echo "postinst called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/templates/xen-hypervisor.postrm.in b/debian/templates/xen-hypervisor.postrm.in
new file mode 100644
index 0000000..4833411
--- /dev/null
+++ b/debian/templates/xen-hypervisor.postrm.in
@@ -0,0 +1,23 @@
+#!/bin/bash
+
+set -e
+
+case "$1" in
+ remove)
+ if command -v update-grub > /dev/null && [ -d /boot/grub ]; then
+ update-grub || :
+ fi
+ ;;
+
+ purge|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+ ;;
+
+ *)
+ echo "postrm called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/templates/xen-utils.lintian-overrides.in b/debian/templates/xen-utils.lintian-overrides.in
new file mode 100644
index 0000000..dabce13
--- /dev/null
+++ b/debian/templates/xen-utils.lintian-overrides.in
@@ -0,0 +1 @@
+statically-linked-binary usr/lib/xen-@version@/boot/hvmloader
diff --git a/debian/templates/xen-utils.postinst.in b/debian/templates/xen-utils.postinst.in
new file mode 100644
index 0000000..581327f
--- /dev/null
+++ b/debian/templates/xen-utils.postinst.in
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+set -e
+
+case "$1" in
+ configure)
+ update-alternatives --remove xen-default /usr/lib/xen-@version@
+ if [ -x "/etc/init.d/xen" ]; then
+ invoke-rc.d xen start || exit $?
+ fi
+ ;;
+
+ abort-upgrade|abort-remove|abort-deconfigure)
+ ;;
+
+ *)
+ echo "postinst called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/templates/xen-utils.prerm.in b/debian/templates/xen-utils.prerm.in
new file mode 100644
index 0000000..1aa2cae
--- /dev/null
+++ b/debian/templates/xen-utils.prerm.in
@@ -0,0 +1,24 @@
+#!/bin/bash
+
+set -e
+
+case "$1" in
+ remove|upgrade)
+ update-alternatives --remove xen-default /usr/lib/xen-@version@
+ if [ -x "/etc/init.d/xen" ]; then
+ invoke-rc.d xen stop || exit $?
+ fi
+ ;;
+
+ deconfigure|failed-upgrade)
+ ;;
+
+ *)
+ echo "prerm called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/tree/xen-utils-common/etc/xen/xend-config.sxp b/debian/tree/xen-utils-common/etc/xen/xend-config.sxp
new file mode 100644
index 0000000..93a24fd
--- /dev/null
+++ b/debian/tree/xen-utils-common/etc/xen/xend-config.sxp
@@ -0,0 +1,306 @@
+# -*- sh -*-
+
+#
+# Xend configuration file.
+#
+
+# This example configuration is appropriate for an installation that
+# utilizes a bridged network configuration. Access to xend via http
+# is disabled.
+
+# Commented out entries show the default for that entry, unless otherwise
+# specified.
+
+#(logfile /var/log/xen/xend.log)
+#(loglevel DEBUG)
+
+# Uncomment the line below. Set the value to flask, acm, or dummy to
+# select a security module.
+
+#(xsm_module_name dummy)
+
+# The Xen-API server configuration.
+#
+# This value configures the ports, interfaces, and access controls for the
+# Xen-API server. Each entry in the list starts with either unix, a port
+# number, or an address:port pair. If this is "unix", then a UDP socket is
+# opened, and this entry applies to that. If it is a port, then Xend will
+# listen on all interfaces on that TCP port, and if it is an address:port
+# pair, then Xend will listen on the specified port, using the interface with
+# the specified address.
+#
+# The subsequent string configures the user-based access control for the
+# listener in question. This can be one of "none" or "pam", indicating either
+# that users should be allowed access unconditionally, or that the local
+# Pluggable Authentication Modules configuration should be used. If this
+# string is missing or empty, then "pam" is used.
+#
+# The final string gives the host-based access control for that listener. If
+# this is missing or empty, then all connections are accepted. Otherwise,
+# this should be a space-separated sequence of regular expressions; any host
+# with a fully-qualified domain name or an IP address that matches one of
+# these regular expressions will be accepted.
+#
+# Example: listen on TCP port 9363 on all interfaces, accepting connections
+# only from machines in example.com or localhost, and allow access through
+# the unix domain socket unconditionally:
+#
+# (xen-api-server ((9363 pam '^localhost$ example\\.com$')
+# (unix none)))
+#
+# Optionally, the TCP Xen-API server can use SSL by specifying the private
+# key and certificate location:
+#
+# (9367 pam '' xen-api.key xen-api.crt)
+#
+# Default:
+# (xen-api-server ((unix)))
+
+
+#(xend-http-server no)
+#(xend-unix-server no)
+#(xend-tcp-xmlrpc-server no)
+#(xend-unix-xmlrpc-server yes)
+#(xend-relocation-server no)
+#(xend-relocation-ssl-server no)
+#(xend-udev-event-server no)
+
+#(xend-unix-path /var/lib/xend/xend-socket)
+
+
+# Address and port xend should use for the legacy TCP XMLRPC interface,
+# if xend-tcp-xmlrpc-server is set.
+#(xend-tcp-xmlrpc-server-address 'localhost')
+#(xend-tcp-xmlrpc-server-port 8006)
+
+# SSL key and certificate to use for the legacy TCP XMLRPC interface.
+# Setting these will mean that this port serves only SSL connections as
+# opposed to plaintext ones.
+#(xend-tcp-xmlrpc-server-ssl-key-file xmlrpc.key)
+#(xend-tcp-xmlrpc-server-ssl-cert-file xmlrpc.crt)
+
+
+# Port xend should use for the HTTP interface, if xend-http-server is set.
+#(xend-port 8000)
+
+# Port xend should use for the relocation interface, if xend-relocation-server
+# is set.
+#(xend-relocation-port 8002)
+
+# Port xend should use for the ssl relocation interface, if
+# xend-relocation-ssl-server is set.
+#(xend-relocation-ssl-port 8003)
+
+# SSL key and certificate to use for the ssl relocation interface, if
+# xend-relocation-ssl-server is set.
+#(xend-relocation-server-ssl-key-file xmlrpc.key)
+#(xend-relocation-server-ssl-cert-file xmlrpc.crt)
+
+# Whether to use ssl as default when relocating.
+#(xend-relocation-ssl no)
+
+# Address xend should listen on for HTTP connections, if xend-http-server is
+# set.
+# Specifying 'localhost' prevents remote connections.
+# Specifying the empty string '' (the default) allows all connections.
+#(xend-address '')
+#(xend-address localhost)
+
+# Address xend should listen on for relocation-socket connections, if
+# xend-relocation-server is set.
+# Meaning and default as for xend-address above.
+# Also, interface name is allowed (e.g. eth0) there to get the
+# relocation address to be bound on.
+#(xend-relocation-address '')
+
+# The hosts allowed to talk to the relocation port. If this is empty (the
+# default), then all connections are allowed (assuming that the connection
+# arrives on a port and interface on which we are listening; see
+# xend-relocation-port and xend-relocation-address above). Otherwise, this
+# should be a space-separated sequence of regular expressions. Any host with
+# a fully-qualified domain name or an IP address that matches one of these
+# regular expressions will be accepted.
+#
+# For example:
+# (xend-relocation-hosts-allow '^localhost$ ^.*\\.example\\.org$')
+#
+#(xend-relocation-hosts-allow '')
+
+# The limit (in kilobytes) on the size of the console buffer
+#(console-limit 1024)
+
+##
+# NOTE:
+# Please read /usr/share/doc/xen-utils-common/README.Debian for Debian specific
+# informations about the network setup.
+
+##
+# To bridge network traffic, like this:
+#
+# dom0: ----------------- bridge -> real eth0 -> the network
+# |
+# domU: fake eth0 -> vifN.0 -+
+#
+# use
+#
+# (network-script network-bridge)
+#
+# Your default ethernet device is used as the outgoing interface, by default.
+# To use a different one (e.g. eth1) use
+#
+# (network-script 'network-bridge netdev=eth1')
+#
+# The bridge is named eth0, by default (yes, really!)
+#
+
+# It is normally much better to create the bridge yourself in
+# /etc/network/interfaces. network-bridge start does nothing if you
+# already have a bridge, and network-bridge stop does nothing if the
+# default bridge name (normally eth0) is not a bridge. See
+# bridge-utils-interfaces(5) for full information on the syntax in
+# /etc/network/interfaces, but you probably want something like this:
+# iface xenbr0 inet static
+# address [etc]
+# netmask [etc]
+# [etc]
+# bridge_ports eth0
+#
+# To have network-bridge create a differently-named bridge, use:
+# (network-script 'network-bridge bridge=<name>')
+#
+# It is possible to use the network-bridge script in more complicated
+# scenarios, such as having two outgoing interfaces, with two bridges, and
+# two fake interfaces per guest domain. To do things like this, write
+# yourself a wrapper script, and call network-bridge from it, as appropriate.
+#
+
+# 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
+# vif-bridge script is designed for use with the network-bridge script, or
+# similar configurations.
+#
+# If you have overridden the bridge name using
+# (network-script 'network-bridge bridge=<name>') then you may wish to do the
+# same here. The bridge name can also be set when creating a domain or
+# configuring a new vif, but a value specified here would act as a default.
+#
+# If you are using only one bridge, the vif-bridge script will discover that,
+# so there is no need to specify it explicitly. The default is to use
+# the bridge which is listed first in the output from brctl.
+#
+(vif-script vif-bridge)
+
+
+## Use the following if network traffic is routed, as an alternative to the
+# settings for bridged networking given above.
+#(network-script network-route)
+#(vif-script vif-route)
+
+
+## Use the following if network traffic is routed with NAT, as an alternative
+# to the settings for bridged networking given above.
+#(network-script network-nat)
+#(vif-script vif-nat)
+
+# dom0-min-mem is the lowest permissible memory level (in MB) for dom0.
+# This is a minimum both for auto-ballooning (as enabled by
+# enable-dom0-ballooning below) and for xm mem-set when applied to dom0.
+(dom0-min-mem 196)
+
+# Whether to enable auto-ballooning of dom0 to allow domUs to be created.
+# If enable-dom0-ballooning = no, dom0 will never balloon out.
+(enable-dom0-ballooning yes)
+
+# 32-bit paravirtual domains can only consume physical
+# memory below 168GB. On systems with memory beyond that address,
+# they'll be confined to memory below 128GB.
+# Using total_available_memory (in GB) to specify the amount of memory reserved
+# in the memory pool exclusively for 32-bit paravirtual domains.
+# Additionally you should use dom0_mem = <-Value> as a parameter in
+# xen kernel to reserve the memory for 32-bit paravirtual domains, default
+# is "0" (0GB).
+(total_available_memory 0)
+
+# In SMP system, dom0 will use dom0-cpus # of CPUS
+# If dom0-cpus = 0, dom0 will take all cpus available
+(dom0-cpus 0)
+
+# Whether to enable core-dumps when domains crash.
+#(enable-dump no)
+
+# The tool used for initiating virtual TPM migration
+#(external-migration-tool '')
+
+# The interface for VNC servers to listen on. Defaults
+# to 127.0.0.1 To restore old 'listen everywhere' behaviour
+# set this to 0.0.0.0
+#(vnc-listen '127.0.0.1')
+
+# The default password for VNC console on HVM domain.
+# Empty string is no authentication.
+(vncpasswd '')
+
+# The VNC server can be told to negotiate a TLS session
+# to encryption all traffic, and provide x509 cert to
+# clients enabling them to verify server identity. The
+# GTK-VNC widget, virt-viewer, virt-manager and VeNCrypt
+# all support the VNC extension for TLS used in QEMU. The
+# TightVNC/RealVNC/UltraVNC clients do not.
+#
+# To enable this create x509 certificates / keys in the
+# directory ${XEN_CONFIG_DIR} + vnc
+#
+# ca-cert.pem - The CA certificate
+# server-cert.pem - The Server certificate signed by the CA
+# server-key.pem - The server private key
+#
+# and then uncomment this next line
+# (vnc-tls 1)
+
+# The certificate dir can be pointed elsewhere..
+#
+# (vnc-x509-cert-dir vnc)
+
+# The server can be told to request & validate an x509
+# certificate from the client. Only clients with a cert
+# signed by the trusted CA will be able to connect. This
+# is more secure the password auth alone. Passwd auth can
+# used at the same time if desired. To enable client cert
+# checking uncomment this:
+#
+# (vnc-x509-verify 1)
+
+# The default keymap to use for the VM's virtual keyboard
+# when not specififed in VM's configuration
+#(keymap 'en-us')
+
+# Script to run when the label of a resource has changed.
+#(resource-label-change-script '')
+
+# Rotation count of qemu-dm log file.
+#(qemu-dm-logrotate-count 10)
+
+# Path where persistent domain configuration is stored.
+# Default is /var/lib/xend/domains/
+#(xend-domains-path /var/lib/xend/domains)
+
+# Number of seconds xend will wait for device creation and
+# destruction
+#(device-create-timeout 100)
+#(device-destroy-timeout 100)
+
+# When assigning device to HVM guest, we use the strict check for HVM guest by
+# default. (For PV guest, we use loose check automatically if necessary.)
+# When we assign device to HVM guest, if we meet with the co-assignment
+# issues or the ACS issue, we could try changing the option to 'no' -- however,
+# we have to realize this may incur security issue and we can't make sure the
+# device assignment could really work properly even after we do this.
+#(pci-passthrough-strict-check yes)
+
+# If we have a very big scsi device configuration, start of xend is slow,
+# because xend scans all the device paths to build its internal PSCSI device
+# list. If we need only a few devices for assigning to a guest, we can reduce
+# the scan to this device. Set list list of device paths in same syntax like in
+# command lsscsi, e.g. ('16:0:0:0' '15:0')
+# (pscsi-device-mask ('*'))
+
diff --git a/debian/tree/xen-utils-common/etc/xen/xend-pci-permissive.sxp b/debian/tree/xen-utils-common/etc/xen/xend-pci-permissive.sxp
new file mode 100644
index 0000000..1a3fb90
--- /dev/null
+++ b/debian/tree/xen-utils-common/etc/xen/xend-pci-permissive.sxp
@@ -0,0 +1,27 @@
+###############################################################################
+# Configuration file for granting quiry PCI devices full write access to their
+# configuration space. This file should only be used when you are unable to
+# determine the exact registers required by your device. Even so, it should
+# be used only temporarily.
+#
+# SEND A MESSAGE TO xen-devel@lists.xensource.com IF YOU USE THIS FILE.
+#
+# Using this file should NOT be necessary. If you must use it to make some
+# device work, send a message to the above list with as much information about
+# your device as possible so the developers can make accomodations for it.
+# Once developers make the necessary updates you can remove the corresponding
+# entry for your device.
+###############################################################################
+# Entries are formated as follows: <vendor>:<device>[:<subvendor>:<subdevice>]
+#
+# Example: Appending to an existing list
+#
+# (unconstrained_dev_ids
+# ('XXXX:XXXX:XXXX:XXXX' # existing entry
+# 'YYYY:YYYY:YYYY:YYYY' # new entry 1
+# 'ZZZZ:ZZZZ') # new entry 2
+# )
+###############################################################################
+(unconstrained_dev_ids
+ #('0123:4567:89AB:CDEF')
+)
diff --git a/debian/tree/xen-utils-common/etc/xen/xend-pci-quirks.sxp b/debian/tree/xen-utils-common/etc/xen/xend-pci-quirks.sxp
new file mode 100644
index 0000000..6bce4b8
--- /dev/null
+++ b/debian/tree/xen-utils-common/etc/xen/xend-pci-quirks.sxp
@@ -0,0 +1,96 @@
+###############################################################################
+# Configuration file for quirky PCI devices that require write-access to
+# parts of the configuration space. Use this file to specific PCI device
+# IDs and the configuration space fields to which those devices must be
+# able to write.
+#
+# Length is important, so be sure to match new entries with the
+# lengths of comparable existing entries.
+#
+# Additions to this file take effect as soon as a new domain with a
+# matching device is started. However, to remove a field that was
+# previously applied to a device you must unbind the device from
+# pciback.
+###############################################################################
+# This is a bogus entry to show how a new device would be added to the list
+#
+# (new_quirky_dev_name
+# (pci_ids
+# ('0123:4567:890A:BCEF')
+# )
+#
+# (pci_config_space_fields
+# ('12345678:1:00000000')
+# )
+# )
+###############################################################################
+
+(tg3
+ (pci_ids
+ # Entries are formated as follows:
+ # <vendor>:<device>[:<subvendor>:<subdevice>]
+ ('14e4:1644' # Broadcom Tigon3 5700
+ '14e4:1645' # Broadcom Tigon3 5701
+ '14e4:1646' # Broadcom Tigon3 5702
+ '14e4:1647' # Broadcom Tigon3 5703
+ '14e4:1648' # Broadcom Tigon3 5704
+ '14e4:164d' # Broadcom Tigon3 5702FE
+ '14e4:1653' # Broadcom Tigon3 5705
+ '14e4:1654' # Broadcom Tigon3 5705_2
+ '14e4:165d' # Broadcom Tigon3 5705M
+ '14e4:165e' # Broadcom Tigon3 5705M_2
+ '14e4:16a6' # Broadcom Tigon3 5702X
+ '14e4:16a7' # Broadcom Tigon3 5703X
+ '14e4:16a8' # Broadcom Tigon3 5704S
+ '14e4:16c6' # Broadcom Tigon3 5702A3
+ '14e4:16c7' # Broadcom Tigon3 5703A3
+ '14e4:1696' # Broadcom Tigon3 5782
+ '14e4:169c' # Broadcom Tigon3 5788
+ '14e4:169d' # Broadcom Tigon3 5789
+ '14e4:170d' # Broadcom Tigon3 5901
+ '14e4:1649' # Broadcom Tigon3 5704S_2
+ '14e4:166e' # Broadcom Tigon3 5705F
+ '14e4:1658' # Broadcom Tigon3 5720
+ '14e4:1659' # Broadcom Tigon3 5721
+ '14e4:1676' # Broadcom Tigon3 5750
+ '14e4:1677' # Broadcom Tigon3 5751
+ '14e4:167c' # Broadcom Tigon3 5750M
+ '14e4:167d' # Broadcom Tigon3 5751M
+ '14e4:167e' # Broadcom Tigon3 5751F
+ '14e4:1600' # Broadcom Tigon3 5752
+ '14e4:1601' # Broadcom Tigon3 5752M
+ '14e4:16f7' # Broadcom Tigon3 5753
+ '14e4:16fd' # Broadcom Tigon3 5753M
+ '14e4:16fe' # Broadcom Tigon3 5753F
+ '14e4:1668' # Broadcom Tigon3 5714
+ '14e4:1678' # Broadcom Tigon3 5715
+ '14e4:166a' # Broadcom Tigon3 5780
+ '14e4:166b' # Broadcom Tigon3 5780S
+ '14e4:16dd' # Broadcom Tigon3 5781
+ '1148:4400' # Syskonnect 9DXX
+ '1148:4500' # Syskonnect 9MXX
+ '173b:03e8' # Altima AC1000
+ '173b:03e9' # Altima AC1001
+ '173b:03eb' # Altima AC1003
+ '173b:03ea' # Altima AC9100
+ '106b:1645') # Apple Tigon3
+ )
+
+ (pci_config_space_fields
+ # Entries are formated as follows:
+ # <register>:<size>:<mask>
+ # size is measured in bytes (1,2,4 are valid sizes)
+ # mask is currently unused; use all zero's
+ ('00000078:4:00000000' # TG3PCI_REG_BASE_ADDR
+ '0000007c:4:00000000' # TG3PCI_MEM_WIN_BASE_ADDR
+ '00000080:4:00000000' # TG3PCI_REG_DATA
+ '00000084:4:00000000' # TG3PCI_MEM_WIN_DATA
+ '00000090:4:00000000' # TG3PCI_MISC_LOCAL_CTRL
+ '00000068:4:00000000' # TG3PCI_MISC_HOST_CTRL
+ '0000009C:4:00000000' # TG3PCI_STD_RING_PROD_IDX + TG3_64BIT_REG_LOW
+ '00000098:4:00000000' # TG3PCI_STD_RING_PROD_IDX + TG3_64BIT_REG_HIGH
+ '000000a4:4:00000000' # TG3PCI_RCV_RET_RING_CON_IDX + TG3_64BIT_REG_LOW
+ '000000a0:4:00000000' # TG3PCI_RCV_RET_RING_CON_IDX + TG3_64BIT_REG_HIGH
+ '00000070:4:00000000') # TG3PCI_PCISTATE
+ )
+)
diff --git a/debian/tree/xen-utils-common/usr/share/xen-utils-common/default.xen b/debian/tree/xen-utils-common/usr/share/xen-utils-common/default.xen
new file mode 100644
index 0000000..65f5196
--- /dev/null
+++ b/debian/tree/xen-utils-common/usr/share/xen-utils-common/default.xen
@@ -0,0 +1,7 @@
+# Configuration for Xen system
+# ----------------------------
+
+# There exists several tool stacks to configure a Xen system.
+# …
+# Attention: You need to reboot after changing this!
+TOOLSTACK=
diff --git a/debian/xen-hypervisor-4.6-amd64.postinst b/debian/xen-hypervisor-4.6-amd64.postinst
new file mode 100644
index 0000000..1540842
--- /dev/null
+++ b/debian/xen-hypervisor-4.6-amd64.postinst
@@ -0,0 +1,23 @@
+#!/bin/bash
+
+set -e
+
+case "$1" in
+ configure)
+ if command -v update-grub > /dev/null && [ -d /boot/grub ]; then
+ update-grub || :
+ fi
+ ;;
+
+ abort-upgrade|abort-remove|abort-deconfigure)
+ ;;
+
+ *)
+ echo "postinst called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/xen-hypervisor-4.6-amd64.postrm b/debian/xen-hypervisor-4.6-amd64.postrm
new file mode 100644
index 0000000..4833411
--- /dev/null
+++ b/debian/xen-hypervisor-4.6-amd64.postrm
@@ -0,0 +1,23 @@
+#!/bin/bash
+
+set -e
+
+case "$1" in
+ remove)
+ if command -v update-grub > /dev/null && [ -d /boot/grub ]; then
+ update-grub || :
+ fi
+ ;;
+
+ purge|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+ ;;
+
+ *)
+ echo "postrm called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/xen-hypervisor-4.6-arm64.postinst b/debian/xen-hypervisor-4.6-arm64.postinst
new file mode 100644
index 0000000..1540842
--- /dev/null
+++ b/debian/xen-hypervisor-4.6-arm64.postinst
@@ -0,0 +1,23 @@
+#!/bin/bash
+
+set -e
+
+case "$1" in
+ configure)
+ if command -v update-grub > /dev/null && [ -d /boot/grub ]; then
+ update-grub || :
+ fi
+ ;;
+
+ abort-upgrade|abort-remove|abort-deconfigure)
+ ;;
+
+ *)
+ echo "postinst called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/xen-hypervisor-4.6-arm64.postrm b/debian/xen-hypervisor-4.6-arm64.postrm
new file mode 100644
index 0000000..4833411
--- /dev/null
+++ b/debian/xen-hypervisor-4.6-arm64.postrm
@@ -0,0 +1,23 @@
+#!/bin/bash
+
+set -e
+
+case "$1" in
+ remove)
+ if command -v update-grub > /dev/null && [ -d /boot/grub ]; then
+ update-grub || :
+ fi
+ ;;
+
+ purge|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+ ;;
+
+ *)
+ echo "postrm called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/xen-hypervisor-4.6-armhf.postinst b/debian/xen-hypervisor-4.6-armhf.postinst
new file mode 100644
index 0000000..1540842
--- /dev/null
+++ b/debian/xen-hypervisor-4.6-armhf.postinst
@@ -0,0 +1,23 @@
+#!/bin/bash
+
+set -e
+
+case "$1" in
+ configure)
+ if command -v update-grub > /dev/null && [ -d /boot/grub ]; then
+ update-grub || :
+ fi
+ ;;
+
+ abort-upgrade|abort-remove|abort-deconfigure)
+ ;;
+
+ *)
+ echo "postinst called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/xen-hypervisor-4.6-armhf.postrm b/debian/xen-hypervisor-4.6-armhf.postrm
new file mode 100644
index 0000000..4833411
--- /dev/null
+++ b/debian/xen-hypervisor-4.6-armhf.postrm
@@ -0,0 +1,23 @@
+#!/bin/bash
+
+set -e
+
+case "$1" in
+ remove)
+ if command -v update-grub > /dev/null && [ -d /boot/grub ]; then
+ update-grub || :
+ fi
+ ;;
+
+ purge|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+ ;;
+
+ *)
+ echo "postrm called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/xen-utils-4.6.lintian-overrides b/debian/xen-utils-4.6.lintian-overrides
new file mode 100644
index 0000000..f0db095
--- /dev/null
+++ b/debian/xen-utils-4.6.lintian-overrides
@@ -0,0 +1 @@
+statically-linked-binary usr/lib/xen-4.6/boot/hvmloader
diff --git a/debian/xen-utils-4.6.postinst b/debian/xen-utils-4.6.postinst
new file mode 100644
index 0000000..6103f94
--- /dev/null
+++ b/debian/xen-utils-4.6.postinst
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+set -e
+
+case "$1" in
+ configure)
+ update-alternatives --remove xen-default /usr/lib/xen-4.6
+ if [ -x "/etc/init.d/xen" ]; then
+ invoke-rc.d xen start || exit $?
+ fi
+ ;;
+
+ abort-upgrade|abort-remove|abort-deconfigure)
+ ;;
+
+ *)
+ echo "postinst called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/xen-utils-4.6.prerm b/debian/xen-utils-4.6.prerm
new file mode 100644
index 0000000..1dc5e54
--- /dev/null
+++ b/debian/xen-utils-4.6.prerm
@@ -0,0 +1,24 @@
+#!/bin/bash
+
+set -e
+
+case "$1" in
+ remove|upgrade)
+ update-alternatives --remove xen-default /usr/lib/xen-4.6
+ if [ -x "/etc/init.d/xen" ]; then
+ invoke-rc.d xen stop || exit $?
+ fi
+ ;;
+
+ deconfigure|failed-upgrade)
+ ;;
+
+ *)
+ echo "prerm called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/xen-utils-common.README.Debian b/debian/xen-utils-common.README.Debian
new file mode 100644
index 0000000..873a9d3
--- /dev/null
+++ b/debian/xen-utils-common.README.Debian
@@ -0,0 +1,29 @@
+Xen for Debian
+==============
+
+Config behaviour
+----------------
+
+The Debian packages changes the behaviour of some config options.
+
+The options "kernel", "initrd" and "loader" searches in the Xen private boot
+directory (/usr/lib/xen-$version/boot) first. "bootloader" and "device_model"
+also searches the Xen private bin directory (/usr/lib/xen-$version/bin). This
+means that the following entries will properly find anything:
+ loader = 'hvmloader'
+ bootloader = 'pygrub'
+
+Network setup
+-------------
+
+The Debian package of Xen don't change the network setup in any way. This
+differs from the upstream version, which overwrites the main network card
+(eth0) with a bridge setup and may break the network at this point..
+
+To setup a bridge please follow the instructions in the manpage for
+bridge-utils-interfaces(5).
+
+You can also change the /etc/xen/xend-config.sxp file and re-enable the Xen
+included network setup by adding
+ (network-script network-bridge)
+to the file. But please note that this may or may not work.
diff --git a/debian/xen-utils-common.dirs b/debian/xen-utils-common.dirs
new file mode 100644
index 0000000..c745c08
--- /dev/null
+++ b/debian/xen-utils-common.dirs
@@ -0,0 +1 @@
+var/lib/xen
diff --git a/debian/xen-utils-common.examples b/debian/xen-utils-common.examples
new file mode 100644
index 0000000..50cee55
--- /dev/null
+++ b/debian/xen-utils-common.examples
@@ -0,0 +1,2 @@
+debian/tmp/etc/xen/cpupool*
+debian/tmp/etc/xen/xm*
diff --git a/debian/xen-utils-common.install b/debian/xen-utils-common.install
new file mode 100644
index 0000000..3ea6597
--- /dev/null
+++ b/debian/xen-utils-common.install
@@ -0,0 +1,6 @@
+etc/xen/scripts
+etc/xen/xl*
+lib/udev/rules.d/*.rules
+usr/lib/xen-common
+usr/sbin
+../../tree/xen-utils-common/* /
diff --git a/debian/xen-utils-common.postinst b/debian/xen-utils-common.postinst
new file mode 100644
index 0000000..f719731
--- /dev/null
+++ b/debian/xen-utils-common.postinst
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+set -e
+
+case "$1" in
+configure)
+ install -d -m 2750 -g adm /var/log/xen
+ ;;
+
+abort-upgrade|abort-remove|abort-deconfigure)
+ ;;
+
+*)
+ echo "postinst called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+dpkg-maintscript-helper mv_conffile /etc/init.d/xend /etc/init.d/xen 4.1.2-4~ -- "$@"
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/xen-utils-common.postrm b/debian/xen-utils-common.postrm
new file mode 100644
index 0000000..48b57ea
--- /dev/null
+++ b/debian/xen-utils-common.postrm
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+set -e
+
+case "$1" in
+purge)
+ rmdir --ignore-fail-on-non-empty /var/log/xen
+ ;;
+
+remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+ ;;
+
+*)
+ echo "postrm called with unknown argument \`$1'" >&2
+ exit
+ ;;
+esac
+
+dpkg-maintscript-helper mv_conffile /etc/init.d/xend /etc/init.d/xen 4.1.2-4~ -- "$@"
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/xen-utils-common.preinst b/debian/xen-utils-common.preinst
new file mode 100644
index 0000000..5f9c729
--- /dev/null
+++ b/debian/xen-utils-common.preinst
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+set -e
+
+case "$1" in
+install|upgrade)
+ ;;
+
+abort-upgrade)
+ ;;
+
+*)
+ echo "preinst called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+dpkg-maintscript-helper mv_conffile /etc/init.d/xend /etc/init.d/xen 4.1.2-4~ -- "$@"
+update-rc.d -f xend remove >/dev/null
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/xen-utils-common.ucf b/debian/xen-utils-common.ucf
new file mode 100644
index 0000000..b32b91d
--- /dev/null
+++ b/debian/xen-utils-common.ucf
@@ -0,0 +1 @@
+/usr/share/xen-utils-common/default.xen /etc/default/xen
diff --git a/debian/xen-utils-common.xen.init b/debian/xen-utils-common.xen.init
new file mode 100644
index 0000000..b903877
--- /dev/null
+++ b/debian/xen-utils-common.xen.init
@@ -0,0 +1,278 @@
+#!/bin/sh
+### BEGIN INIT INFO
+# Provides: xen xend
+# Required-Start: $syslog $remote_fs
+# Required-Stop: $syslog $remote_fs
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Xen daemons
+# Description: Xen daemons
+### END INIT INFO
+
+. /lib/init/vars.sh
+. /lib/lsb/init-functions
+
+# Default variables
+XENSTORED_DIR="/var/run/xenstored"
+
+[ -r /etc/default/xen ] && . /etc/default/xen
+[ -r /etc/default/xend ] && . /etc/default/xend
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+DESC="Xen daemons"
+
+ROOT=$(/usr/lib/xen-common/bin/xen-dir 2>/dev/null)
+if [ $? -ne 0 ]; then
+ log_warning_msg "Not running within Xen or no compatible utils"
+ exit 0
+fi
+TOOLSTACK=$(/usr/lib/xen-common/bin/xen-toolstack 2>/dev/null)
+if [ $? -ne 0 ]; then
+ log_warning_msg "No usable Xen toolstack selected"
+ exit 0
+fi
+
+[ -e "$ROOT"/bin/xend ] && XEND="$ROOT"/bin/xend
+XENCONSOLED="$ROOT"/bin/xenconsoled
+XENCONSOLED_PIDFILE="/var/run/xenconsoled.pid"
+XENSTORED="$ROOT"/bin/xenstored
+XENSTORED_PIDFILE="/var/run/xenstore.pid"
+
+modules_setup()
+{
+ modprobe xenfs 2>/dev/null
+ modprobe xen-evtchn 2>/dev/null
+ modprobe xen-gntdev 2>/dev/null
+}
+
+xenfs_setup()
+{
+ [ -e "/proc/xen/capabilities" ] && return 0
+ log_progress_msg "xenfs"
+ [ -d "/proc/xen" ] || return 1
+ mount -t xenfs xenfs /proc/xen || return 1
+ return 0
+}
+
+capability_check()
+{
+ [ -e "/proc/xen/capabilities" ] || return 1
+ grep -q "control_d" /proc/xen/capabilities || return 1
+ return 0
+}
+
+env_setup()
+{
+ [ -d /run/xen ] && return 0
+
+ mkdir -m 700 /run/xen
+}
+
+xend_start()
+{
+ if [ -z "$XEND" ] || [ "$(basename "$TOOLSTACK")" != xm ]; then
+ return 0
+ fi
+
+ log_progress_msg "xend"
+ xend_start_real
+ return $?
+}
+
+xend_stop()
+{
+ if [ -z "$XEND" ] || [ "$(basename "$TOOLSTACK")" != xm ]; then
+ return 0
+ fi
+
+ log_progress_msg "xend"
+ xend_stop_real
+ return $?
+}
+
+xend_restart()
+{
+ if [ -z "$XEND" ] || [ "$(basename "$TOOLSTACK")" != xm ]; then
+ return 0
+ fi
+
+ log_progress_msg "xend"
+ xend_stop_real
+ case "$?" in
+ 0|1)
+ xend_start_real
+ case "$?" in
+ 0) ;;
+ *) return 2 ;;
+ esac
+ ;;
+ *) return 2 ;;
+ esac
+ return 0
+}
+
+xend_start_real()
+{
+ $XEND status && return 1
+ $XEND start || return 2
+
+ i=0
+ while [ $i -lt 10 ]; do
+ $XEND status && return 0 || true
+ i=$(($i + 1))
+ sleep 1
+ done
+ return 2
+}
+
+xend_stop_real()
+{
+ log_progress_msg "xend"
+ $XEND status || return 0
+ $XEND stop || return 1
+}
+
+xenconsoled_start()
+{
+ log_progress_msg "xenconsoled"
+ xenconsoled_start_real
+ return $?
+}
+
+xenconsoled_stop()
+{
+ log_progress_msg "xenconsoled"
+ xenconsoled_stop_real
+ return $?
+}
+
+xenconsoled_restart()
+{
+ log_progress_msg "xenconsoled"
+ xenconsoled_stop_real
+ case "$?" in
+ 0|1)
+ xenconsoled_start_real
+ case "$?" in
+ 0) ;;
+ *) return 2 ;;
+ esac
+ ;;
+ *) return 2 ;;
+ esac
+ return 0
+}
+
+xenconsoled_start_real()
+{
+ start-stop-daemon --start --quiet --pidfile "$XENCONSOLED_PIDFILE" --exec "$XENCONSOLED" --test > /dev/null \
+ || return 1
+ start-stop-daemon --start --quiet --pidfile "$XENCONSOLED_PIDFILE" --exec "$XENCONSOLED" -- \
+ $XENCONSOLED_ARGS --pid-file="$XENCONSOLED_PIDFILE" \
+ || return 2
+}
+
+xenconsoled_stop_real()
+{
+ start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile "$XENCONSOLED_PIDFILE" --name xenconsoled
+ RETVAL="$?"
+ [ "$RETVAL" = 2 ] && return 2
+ start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec "$XENCONSOLED"
+ [ "$?" = 2 ] && return 2
+ rm -f $PIDFILE
+ return "$RETVAL"
+}
+
+xenstored_start()
+{
+ log_progress_msg "xenstored"
+ start-stop-daemon --start --quiet --pidfile "$XENSTORED_PIDFILE" --exec "$XENSTORED" --test > /dev/null \
+ || return 1
+ [ -d "$XENSTORED_DIR" ] || mkdir -p "$XENSTORED_DIR"
+ export XENSTORED_ROOTDIR="$XENSTORED_DIR"
+ start-stop-daemon --start --quiet --pidfile "$XENSTORED_PIDFILE" --exec "$XENSTORED" -- \
+ $XENSTORED_ARGS --pid-file="$XENSTORED_PIDFILE" \
+ || return 2
+ xenstore-write "/local/domain/0/name" "Domain-0"
+ xenstore-write "/local/domain/0/domid" "0"
+}
+
+case "$1" in
+ start)
+ log_daemon_msg "Starting $DESC"
+ modules_setup
+ xenfs_setup
+ case "$?" in
+ 0) ;;
+ *) log_end_msg 1; exit ;;
+ esac
+ capability_check
+ case "$?" in
+ 0) ;;
+ *) log_end_msg 255; exit ;;
+ esac
+ env_setup
+ xenstored_start
+ case "$?" in
+ 0|1) ;;
+ *) log_end_msg 1; exit ;;
+ esac
+ xenconsoled_start
+ case "$?" in
+ 0|1) ;;
+ *) log_end_msg 1; exit ;;
+ esac
+ xend_start
+ case "$?" in
+ 0|1) ;;
+ *) log_end_msg 1; exit ;;
+ esac
+ log_end_msg 0
+ ;;
+ stop)
+ capability_check
+ case "$?" in
+ 0) ;;
+ *) exit ;;
+ esac
+ log_daemon_msg "Stopping $DESC"
+ ret=0
+ xend_stop
+ case "$?" in
+ 0|1) ;;
+ *) ret=1 ;;
+ esac
+ xenconsoled_stop
+ case "$?" in
+ 0|1) ;;
+ *) ret=1 ;;
+ esac
+ log_end_msg $ret
+ ;;
+ restart|force-reload)
+ capability_check
+ case "$?" in
+ 0) ;;
+ *) exit ;;
+ esac
+ log_daemon_msg "Restarting $DESC"
+ ret=0
+ xend_restart
+ case "$?" in
+ 0|1) ;;
+ *) ret=1 ;;
+ esac
+ xenconsoled_restart
+ case "$?" in
+ 0|1) ;;
+ *) ret=1 ;;
+ esac
+ log_end_msg $ret
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart|force-reload}" >&2
+ exit 3
+ ;;
+esac
+
+exit 0
diff --git a/debian/xen-utils-common.xend.default b/debian/xen-utils-common.xend.default
new file mode 100644
index 0000000..589da35
--- /dev/null
+++ b/debian/xen-utils-common.xend.default
@@ -0,0 +1,2 @@
+XENCONSOLED_ARGS=
+XENSTORED_ARGS=
diff --git a/debian/xen-utils-common.xendomains.default b/debian/xen-utils-common.xendomains.default
new file mode 100644
index 0000000..34aeb12
--- /dev/null
+++ b/debian/xen-utils-common.xendomains.default
@@ -0,0 +1,60 @@
+# 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=
+
+# 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=
+
+# 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
+
+# This variable determines whether saved domains from XENDOMAINS_SAVE
+# will be restored on system startup.
+#
+XENDOMAINS_RESTORE=true
+
+# 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
+
+# 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
+
diff --git a/debian/xen-utils-common.xendomains.init b/debian/xen-utils-common.xendomains.init
new file mode 100644
index 0000000..5fd5a5d
--- /dev/null
+++ b/debian/xen-utils-common.xendomains.init
@@ -0,0 +1,228 @@
+#!/bin/bash
+### BEGIN INIT INFO
+# Provides: xendomains
+# Required-Start: $syslog $remote_fs xen
+# Required-Stop: $syslog $remote_fs xen
+# Should-Start: drbd iscsi openvswitch-switch
+# Should-Stop: drbd iscsi openvswitch-switch
+# X-Start-Before: corosync heartbeat
+# X-Stop-After: corosync heartbeat
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Start/stop secondary xen domains
+# Description: Start / stop domains automatically when domain 0
+# boots / shuts down.
+### END INIT INFO
+
+. /lib/init/vars.sh
+. /lib/lsb/init-functions
+
+xen list &> /dev/null
+if test $? -ne 0
+then
+ exit 0;
+fi
+
+TOOLSTACK=$(/usr/lib/xen-common/bin/xen-toolstack 2>/dev/null)
+if [ $? -ne 0 ]; then
+ log_warning_msg "No usable Xen toolstack selected"
+ exit 0
+fi
+if [ "$(basename "$TOOLSTACK")" != xm ] && [ "$(basename "$TOOLSTACK")" != xl ]; then
+ exit 0
+fi
+
+if ! [ -e /proc/xen/privcmd ]; then
+ exit 0
+fi
+
+[ -r /etc/default/xendomains ] && . /etc/default/xendomains
+
+shopt -s nullglob
+
+check_config_name()
+{
+ /usr/lib/xen-common/bin/xen-init-name "$1" 2>/dev/null
+}
+
+check_running()
+{
+ xen domid "$1" > /dev/null 2>&1
+ return $?
+}
+
+timeout_coproc()
+{
+ local TIMEOUT=$1
+ shift
+
+ coproc "$@" 2>&1 1>/dev/null
+
+ local COPROC_OUT
+ exec {COPROC_OUT}<&"${COPROC[0]}"
+ local PID="$COPROC_PID"
+
+ for no in $(seq 0 $TIMEOUT); do
+ if [ -z "$COPROC_PID" ]; then break; fi
+ sleep 1
+ log_action_cont_msg
+ done
+
+ kill -INT "$COPROC_PID" >/dev/null 2>&1
+ wait $PID
+ local rc=$?
+ log_action_end_msg $rc
+
+ [ $rc -gt 0 ] && cat <&$COPROC_OUT
+ exec <&$COPROC_OUT-
+}
+
+timeout_domain()
+{
+ name="$1"
+ TIMEOUT="$2"
+ for no in $(seq 0 $TIMEOUT); do
+ if ! check_running "$name"; then return 0; fi
+ sleep 1
+ log_action_cont_msg
+ done
+ return 1
+}
+
+do_start_restore()
+{
+ [ -n "$XENDOMAINS_SAVE" ] || return
+ [ -d "$XENDOMAINS_SAVE" ] || return
+ [ -n "$XENDOMAINS_RESTORE" ] || return
+
+ for file in $XENDOMAINS_SAVE/*; do
+ if [ -f $file ] ; then
+ name="${file##*/}"
+ log_action_begin_msg "Restoring Xen domain $name (from $file)"
+
+ out=$(xen restore "$file" 2>&1 1>/dev/null)
+ case "$?" in
+ 0)
+ rm "$file"
+ domains[$name]='started'
+ log_action_end_msg 0
+ ;;
+ *)
+ domains[$name]='failed'
+ log_action_end_msg 1
+ echo "$out"
+ ;;
+ esac
+ fi
+ done
+}
+
+do_start_auto()
+{
+ [ -n "$XENDOMAINS_AUTO" ] || return
+ [ -d "$XENDOMAINS_AUTO" ] || return
+
+ for file in $XENDOMAINS_AUTO/*; do
+ name="$(check_config_name $file)"
+
+ if [ "${domains[$name]}" = started ]; then
+ :
+ elif check_running "$name"; then
+ log_action_msg "Xen domain $name already running"
+ else
+ log_action_begin_msg "Starting Xen domain $name (from $file)"
+
+ if [ "${domains[$name]}" = failed ]; then
+ log_action_end_msg 1 "restore failed"
+ else
+ out=$(xen create --quiet --defconfig "$file" 2>&1 1>/dev/null)
+ case "$?" in
+ 0)
+ log_action_end_msg 0
+ ;;
+ *)
+ log_action_end_msg 1
+ echo "$out"
+ ;;
+ esac
+ fi
+ fi
+ done
+}
+
+do_start()
+{
+ declare -A domains
+
+ do_start_restore
+ do_start_auto
+}
+
+do_stop_migrate()
+{
+ [ -n "$XENDOMAINS_MIGRATE" ] || return
+
+ while read id name rest; do
+ log_action_begin_msg "Migrating Xen domain $name ($id)"
+ (timeout_coproc "$XENDOMAINS_STOP_MAXWAIT" xen migrate $id $XENDOMAINS_MIGRATE)
+ done < <(/usr/lib/xen-common/bin/xen-init-list)
+}
+
+do_stop_save()
+{
+ [ -n "$XENDOMAINS_SAVE" ] || return
+ [ -d "$XENDOMAINS_SAVE" ] || mkdir -m 0700 -p "$XENDOMAINS_SAVE"
+
+ while read id name rest; do
+ log_action_begin_msg "Saving Xen domain $name ($id)"
+ (timeout_coproc "$XENDOMAINS_STOP_MAXWAIT" xen save $id $XENDOMAINS_SAVE/$name)
+ done < <(/usr/lib/xen-common/bin/xen-init-list)
+}
+
+do_stop_shutdown()
+{
+ while read id name rest; do
+ log_action_begin_msg "Shutting down Xen domain $name ($id)"
+ xen shutdown $id 2>&1 1>/dev/null
+ log_action_end_msg $?
+ done < <(/usr/lib/xen-common/bin/xen-init-list)
+ while read id name rest; do
+ log_action_begin_msg "Waiting for Xen domain $name ($id) to shut down"
+ timeout_domain "$name" "$XENDOMAINS_STOP_MAXWAIT"
+ log_action_end_msg $?
+ done < <(/usr/lib/xen-common/bin/xen-init-list)
+}
+
+do_stop()
+{
+ do_stop_migrate
+ do_stop_save
+ do_stop_shutdown
+}
+
+case "$1" in
+ start)
+ do_start
+ ;;
+
+ stop)
+ do_stop
+ ;;
+
+ restart)
+ do_stop
+ do_start
+ ;;
+
+ reload|force-reload)
+ do_stop
+ do_start
+ ;;
+
+ *)
+ echo "Usage: $0 {start|stop|restart|reload|force-reload}"
+ exit 3
+ ;;
+esac
+
+exit 0
diff --git a/debian/xen-utils.NEWS b/debian/xen-utils.NEWS
new file mode 100644
index 0000000..607c164
--- /dev/null
+++ b/debian/xen-utils.NEWS
@@ -0,0 +1,8 @@
+xen-3.0 (3.4.0-1) UNRELEASED; urgency=low
+
+ This version does not longer ship the ioemu part, aka the patched qemu.
+ So it does not support
+ * full virtualized domains and
+ * virtual console support for paravirtualized domains.
+
+ -- Bastian Blank <waldi@debian.org> Sat, 18 Jul 2009 15:05:31 +0200
diff --git a/debian/xen-utils.README.Debian b/debian/xen-utils.README.Debian
new file mode 100644
index 0000000..33bc454
--- /dev/null
+++ b/debian/xen-utils.README.Debian
@@ -0,0 +1,53 @@
+Xen for Debian
+==============
+
+Config behaviour
+----------------
+
+The Debian packages changes the behaviour of some config options.
+
+The options "kernel", "initrd" and "loader" searches in the Xen private boot
+directory (/usr/lib/xen-$version/boot) first. "bootloader" and "device_model"
+also searches the Xen private bin directory (/usr/lib/xen-$version/bin). This
+means that the following entries will properly find anything:
+ loader = 'hvmloader'
+ bootloader = 'pygrub'
+
+Network setup
+-------------
+
+The Debian package of Xen don't change the network setup in any way. This
+differs from the upstream version, which overwrites the main network card
+(eth0) with a bridge setup and may break the network at this point..
+
+To setup a bridge please follow the instructions in the manpage for
+bridge-utils-interfaces(5).
+
+You can also change the /etc/xen/xend-config.sxp file and re-enable the Xen
+included network setup by adding
+ (network-script network-bridge)
+to the file. But please note that this may or may not work.
+
+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.
diff --git a/debian/xenstore-utils.install b/debian/xenstore-utils.install
new file mode 100644
index 0000000..361c45c
--- /dev/null
+++ b/debian/xenstore-utils.install
@@ -0,0 +1 @@
+usr/sbin/xenstore-*
diff --git a/jenkins/xen-base b/jenkins/xen-base
index 6c92d77..c7ba087 100644
--- a/jenkins/xen-base
+++ b/jenkins/xen-base
@@ -1,65 +1,30 @@
#! /bin/bash
+export distro=utopic
+export builder_repo=http://git.linaro.org/git/ci/ubuntu-packaging-tools.git
+export base_version=4.5
-do_build() {
-
-rm -rf xen
-cp -a xen-dist xen
-cd xen
-schroot -c utopic-amd64-sbuild --begin-session --session-name xen || schroot --recover-session -c xen
-
-schroot --run-session -c xen -u root -- dpkg --add-architecture ${arch}
-schroot --run-session -c xen -u root -- apt-get update
-schroot --run-session -c xen -u root -- apt-get -y install crossbuild-essential-${arch}
-schroot --run-session -c xen -u root -- apt-get -y install libc6-dev:${arch} libncurses-dev:${arch} uuid-dev:${arch} libglib2.0-dev:${arch} libssl-dev:${arch} libssl1.0.0:${arch} libaio-dev:${arch} libyajl-dev:${arch} python gettext gcc git libpython2.7-dev:${arch} libfdt-dev:${arch} libpixman-1-dev:${arch} wget fakeroot
-# crude form of http://lists.xen.org/archives/html/xen-devel/2013-04/msg01127.html
-schroot --run-session -c xen -u root -- sed -i -e '/PSR/d' /usr/aarch64-linux-gnu/include/asm/ptrace.h||true
-
-schroot --run-session -c xen -- env CONFIG_SITE=/etc/dpkg-cross/cross-config.${arch} ./configure --build=x86_64-linux-gnu --host=${triplet} --prefix=/usr
-schroot --run-session -c xen -- make -j5 debball dist-xen CROSS_COMPILE=${triplet}- XEN_TARGET_ARCH=${xenarch}
-
-schroot --end-session -c xen
-
-cp -L dist/install/boot/xen ${WORKSPACE}/upload/xen-${arch}
-# Avoid -rc${foo} in the debian package name
-mv dist/xen*.deb ${WORKSPACE}/upload/xen-${arch}.deb
-cd ..
-
-}
+sudo apt-get update
+sudo apt-get install -y git wget build-essential
set -e
+[ -z $WORKSPACE ] && WORKSPACE=`pwd`
-rm -rf xen xen-dist
-git clone -b staging git://xenbits.xen.org/xen.git xen-dist
+rm -rf *.changes *dsc *gz *xz *deb *bz2
-if ! dpkg -s utopic-crosschroot
-then
- wget -nc http://repo.linaro.org/ubuntu/linaro-overlay/pool/main/u/utopic-crosschroot/utopic-crosschroot_0.7.4-2_all.deb
- sudo dpkg -i utopic-crosschroot_0.7.4-2_all.deb
-fi
+rm -rf ubuntu-packaging-tools
+git clone ${builder_repo}
-rm -rf upload
-mkdir upload
+./ubuntu-packaging-tools/jenkins-makesources xen-ci/jenkins/xen-template
+source=`cat xen.dsc`
-#armhf build
-arch=armhf
-triplet=arm-linux-gnueabihf
-xenarch=arm32
+./ubuntu-packaging-tools/dockerbuild file:$(pwd)/${source}
-do_build
-
-#arm64 build
-arch=arm64
-triplet=aarch64-linux-gnu
-xenarch=arm64
-
-do_build
-
-mkimage -A arm -C none -T kernel -a 0x0200000 -e 0x00200000 -n Xen -d upload/xen-arm64 upload/uXen-arm64
-
-# Generate BUILD-INFO.txt
-cat << EOF > ${WORKSPACE}/upload/BUILD-INFO.txt
-Format-Version: 0.5
-
-Files-Pattern: *
-License-Type: open
+cat > post_build_ppa_parameters << EOF
+pkg_job_name=${JOB_NAME}
+key_id=B86C70FE
+pkg_changes=`ls *.changes`
+pkg_url=${JOB_URL}/lastSuccessfulBuild/artifact/
+host_ppa=linaro-overlay
EOF
+
+cat post_build_ppa_parameters
diff --git a/jenkins/xen-template b/jenkins/xen-template
new file mode 100644
index 0000000..74f76a9
--- /dev/null
+++ b/jenkins/xen-template
@@ -0,0 +1,6 @@
+upstream_source=xen
+upstream_repo=git://xenbits.xen.org/xen.git
+packaging_dir=xen-ci/debian
+packaging_repo=git://git.linaro.org/ci/xen-ci.git
+distribution=utopic
+