diff mbox

[Xen-devel,xen.git,1/1] build: remove Linux kernel build integration.

Message ID 1395229683-27129-1-git-send-email-ian.campbell@citrix.com
State New
Headers show

Commit Message

Ian Campbell March 19, 2014, 11:48 a.m. UTC
We haven't shipped a XenoLinux kernel for more releases than I can remember.
We held onto these because osstest was using them but this is no longer the
case.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
 Makefile                             |   59 +--
 buildconfigs/Rules.mk                |   42 --
 buildconfigs/enable-xen-config       |  127 ------
 buildconfigs/interface.exclude       |    7 -
 buildconfigs/ketchup                 |  742 ----------------------------------
 buildconfigs/mk.linux-2.6            |   10 -
 buildconfigs/mk.linux-2.6-common     |  154 -------
 buildconfigs/mk.linux-2.6-git        |    2 -
 buildconfigs/mk.linux-2.6-mm         |    2 -
 buildconfigs/mk.linux-2.6-native     |    5 -
 buildconfigs/mk.linux-2.6-pvops      |   17 -
 buildconfigs/mk.linux-2.6-rc         |    2 -
 buildconfigs/mk.linux-2.6-tip        |    2 -
 buildconfigs/mk.linux-2.6-tip-latest |   17 -
 buildconfigs/mk.linux-2.6-xen        |    6 -
 buildconfigs/mk.linux-2.6-xen0       |    2 -
 buildconfigs/mk.linux-2.6-xenU       |    2 -
 buildconfigs/select-linux-arch       |   30 --
 buildconfigs/select-linux-image      |   33 --
 buildconfigs/select-repository       |   69 ----
 buildconfigs/src.git-clone           |   32 --
 buildconfigs/src.hg-clone            |   32 --
 buildconfigs/src.tarball             |   19 -
 config/Linux.mk                      |    7 -
 configure                            |   50 ---
 configure.ac                         |    1 -
 26 files changed, 10 insertions(+), 1461 deletions(-)
 delete mode 100644 buildconfigs/Rules.mk
 delete mode 100644 buildconfigs/enable-xen-config
 delete mode 100644 buildconfigs/interface.exclude
 delete mode 100644 buildconfigs/ketchup
 delete mode 100644 buildconfigs/mk.linux-2.6
 delete mode 100644 buildconfigs/mk.linux-2.6-common
 delete mode 100644 buildconfigs/mk.linux-2.6-git
 delete mode 100644 buildconfigs/mk.linux-2.6-mm
 delete mode 100644 buildconfigs/mk.linux-2.6-native
 delete mode 100644 buildconfigs/mk.linux-2.6-pvops
 delete mode 100644 buildconfigs/mk.linux-2.6-rc
 delete mode 100644 buildconfigs/mk.linux-2.6-tip
 delete mode 100644 buildconfigs/mk.linux-2.6-tip-latest
 delete mode 100644 buildconfigs/mk.linux-2.6-xen
 delete mode 100644 buildconfigs/mk.linux-2.6-xen0
 delete mode 100644 buildconfigs/mk.linux-2.6-xenU
 delete mode 100755 buildconfigs/select-linux-arch
 delete mode 100755 buildconfigs/select-linux-image
 delete mode 100755 buildconfigs/select-repository
 delete mode 100644 buildconfigs/src.git-clone
 delete mode 100644 buildconfigs/src.hg-clone
 delete mode 100644 buildconfigs/src.tarball

Comments

Ian Campbell March 26, 2014, 4:55 p.m. UTC | #1
On Wed, 2014-03-19 at 11:48 +0000, Ian Campbell wrote:
> We haven't shipped a XenoLinux kernel for more releases than I can remember.
> We held onto these because osstest was using them but this is no longer the
> case.
> 
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>

The osstest changes have now passed osstests own gate, I think we could
push this one now, I'm not entirely sure who needs to ack it though...



> ---
>  Makefile                             |   59 +--
>  buildconfigs/Rules.mk                |   42 --
>  buildconfigs/enable-xen-config       |  127 ------
>  buildconfigs/interface.exclude       |    7 -
>  buildconfigs/ketchup                 |  742 ----------------------------------
>  buildconfigs/mk.linux-2.6            |   10 -
>  buildconfigs/mk.linux-2.6-common     |  154 -------
>  buildconfigs/mk.linux-2.6-git        |    2 -
>  buildconfigs/mk.linux-2.6-mm         |    2 -
>  buildconfigs/mk.linux-2.6-native     |    5 -
>  buildconfigs/mk.linux-2.6-pvops      |   17 -
>  buildconfigs/mk.linux-2.6-rc         |    2 -
>  buildconfigs/mk.linux-2.6-tip        |    2 -
>  buildconfigs/mk.linux-2.6-tip-latest |   17 -
>  buildconfigs/mk.linux-2.6-xen        |    6 -
>  buildconfigs/mk.linux-2.6-xen0       |    2 -
>  buildconfigs/mk.linux-2.6-xenU       |    2 -
>  buildconfigs/select-linux-arch       |   30 --
>  buildconfigs/select-linux-image      |   33 --
>  buildconfigs/select-repository       |   69 ----
>  buildconfigs/src.git-clone           |   32 --
>  buildconfigs/src.hg-clone            |   32 --
>  buildconfigs/src.tarball             |   19 -
>  config/Linux.mk                      |    7 -
>  configure                            |   50 ---
>  configure.ac                         |    1 -
>  26 files changed, 10 insertions(+), 1461 deletions(-)
>  delete mode 100644 buildconfigs/Rules.mk
>  delete mode 100644 buildconfigs/enable-xen-config
>  delete mode 100644 buildconfigs/interface.exclude
>  delete mode 100644 buildconfigs/ketchup
>  delete mode 100644 buildconfigs/mk.linux-2.6
>  delete mode 100644 buildconfigs/mk.linux-2.6-common
>  delete mode 100644 buildconfigs/mk.linux-2.6-git
>  delete mode 100644 buildconfigs/mk.linux-2.6-mm
>  delete mode 100644 buildconfigs/mk.linux-2.6-native
>  delete mode 100644 buildconfigs/mk.linux-2.6-pvops
>  delete mode 100644 buildconfigs/mk.linux-2.6-rc
>  delete mode 100644 buildconfigs/mk.linux-2.6-tip
>  delete mode 100644 buildconfigs/mk.linux-2.6-tip-latest
>  delete mode 100644 buildconfigs/mk.linux-2.6-xen
>  delete mode 100644 buildconfigs/mk.linux-2.6-xen0
>  delete mode 100644 buildconfigs/mk.linux-2.6-xenU
>  delete mode 100755 buildconfigs/select-linux-arch
>  delete mode 100755 buildconfigs/select-linux-image
>  delete mode 100755 buildconfigs/select-repository
>  delete mode 100644 buildconfigs/src.git-clone
>  delete mode 100644 buildconfigs/src.hg-clone
>  delete mode 100644 buildconfigs/src.tarball
> 
> diff --git a/Makefile b/Makefile
> index 91ca280..e46f5f1 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -7,7 +7,7 @@
>  all: dist
>  
>  -include config/Toplevel.mk
> -SUBSYSTEMS?=xen kernels tools stubdom docs
> +SUBSYSTEMS?=xen tools stubdom docs
>  TARGS_DIST=$(patsubst %, dist-%, $(SUBSYSTEMS))
>  TARGS_INSTALL=$(patsubst %, install-%, $(SUBSYSTEMS))
>  
> @@ -15,7 +15,7 @@ export XEN_ROOT=$(CURDIR)
>  include Config.mk
>  
>  SUBARCH := $(subst x86_32,i386,$(XEN_TARGET_ARCH))
> -export XEN_TARGET_ARCH SUBARCH XEN_SYSTYPE
> +export XEN_TARGET_ARCH SUBARCH
>  include buildconfigs/Rules.mk
>  
>  # build and install everything into the standard system directories
> @@ -23,7 +23,7 @@ include buildconfigs/Rules.mk
>  install: $(TARGS_INSTALL)
>  
>  .PHONY: build
> -build: kernels
> +build:
>  	$(MAKE) -C xen build
>  	$(MAKE) -C tools build
>  	$(MAKE) -C stubdom build
> @@ -54,17 +54,12 @@ dist-%: install-%
>  	@: # do nothing
>  
>  # Legacy dist targets
> -.PHONY: xen tools stubdom kernels docs
> +.PHONY: xen tools stubdom docs
>  xen: dist-xen
>  tools: dist-tools
> -kernels: dist-kernels
>  stubdom: dist-stubdom
>  docs: dist-docs
>  
> -.PHONY: prep-kernels
> -prep-kernels:
> -	for i in $(XKERNELS) ; do $(MAKE) $$i-prep || exit 1; done
> -
>  .PHONY: install-xen
>  install-xen:
>  	$(MAKE) -C xen install
> @@ -95,10 +90,6 @@ endif
>  install-tools: $(QEMU_TRAD_DIR_TARGET) $(QEMU_XEN_DIR_TARGET)
>  	$(MAKE) -C tools install
>  
> -.PHONY: install-kernels
> -install-kernels:
> -	for i in $(XKERNELS) ; do $(MAKE) $$i-install || exit 1; done
> -
>  .PHONY: install-stubdom
>  install-stubdom: $(QEMU_TRAD_DIR_TARGET) install-tools
>  	$(MAKE) -C stubdom install
> @@ -122,27 +113,12 @@ install-docs:
>  dev-docs:
>  	$(MAKE) -C docs dev-docs
>  
> -# Build all the various kernels and modules
> -.PHONY: kbuild
> -kbuild: kernels
> -
> -# Delete the kernel build trees entirely
> -.PHONY: kdelete
> -kdelete:
> -	for i in $(XKERNELS) ; do $(MAKE) $$i-delete ; done
> -
> -# Clean the kernel build trees
> -.PHONY: kclean
> -kclean:
> -	for i in $(XKERNELS) ; do $(MAKE) $$i-clean ; done
> -
> -# build xen, the tools, and a domain 0 plus unprivileged linux-xen images,
> -# and place them in the install directory. 'make install' should then
> -# copy them to the normal system directories
> +# build xen and the tools and place them in the install
> +# directory. 'make install' should then copy them to the normal system
> +# directories
>  .PHONY: world
>  world: 
>  	$(MAKE) clean
> -	$(MAKE) kdelete
>  	$(MAKE) dist
>  
>  # Package a build in a debball file, that is inside a .deb format
> @@ -159,7 +135,6 @@ debball: dist
>  rpmball: dist
>  	bash ./tools/misc/mkrpm $(XEN_ROOT) $$($(MAKE) -C xen xenversion --no-print-directory)
>  
> -# clean doesn't do a kclean
>  .PHONY: clean
>  clean::
>  	$(MAKE) -C xen clean
> @@ -170,7 +145,7 @@ ifeq (x86_64,$(XEN_TARGET_ARCH))
>  endif
>  	$(MAKE) -C docs clean
>  
> -# clean, but blow away kernel build tree plus tarballs
> +# clean, but blow away tarballs
>  .PHONY: distclean
>  distclean:
>  	rm -f config/Toplevel.mk
> @@ -181,9 +156,7 @@ ifeq (x86_64,$(XEN_TARGET_ARCH))
>  	XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom distclean
>  endif
>  	$(MAKE) -C docs distclean
> -	rm -rf dist patches/tmp
> -	for i in $(ALLKERNELS) ; do $(MAKE) $$i-delete ; done
> -	rm -rf patches/*/.makedep
> +	rm -rf dist
>  	rm -rf config.log config.status config.cache autom4te.cache
>  
>  # Linux name for GNU distclean
> @@ -203,19 +176,15 @@ help:
>  	@echo '  install          - build and install everything'
>  	@echo '  install-xen      - build and install the Xen hypervisor'
>  	@echo '  install-tools    - build and install the control tools'
> -	@echo '  install-kernels  - build and install guest kernels'
>  	@echo '  install-stubdom  - build and install the stubdomain images'
>  	@echo '  install-docs     - build and install user documentation'
>  	@echo ''
>  	@echo 'Building targets:'
>  	@echo '  dist             - build and install everything into local dist directory'
> -	@echo '  world            - clean everything, delete guest kernel build'
> -	@echo '                     trees then make dist'
> +	@echo '  world            - clean everything then make dist'
>  	@echo '  xen              - build and install Xen hypervisor'
>  	@echo '  tools            - build and install tools'
>  	@echo '  stubdom          - build and install the stubdomain images'
> -	@echo '  kernels          - build and install guest kernels'
> -	@echo '  kbuild           - synonym for make kernels'
>  	@echo '  docs             - build and install user documentation'
>  	@echo '  dev-docs         - build developer-only documentation'
>  	@echo ''
> @@ -223,11 +192,8 @@ help:
>  	@echo '  clean            - clean the Xen, tools and docs (but not guest kernel trees)'
>  	@echo '  distclean        - clean plus delete kernel build trees and'
>  	@echo '                     local downloaded files'
> -	@echo '  kdelete          - delete guest kernel build trees'
> -	@echo '  kclean           - clean guest kernel build trees'
>  	@echo ''
>  	@echo 'Miscellaneous targets:'
> -	@echo '  prep-kernels     - prepares kernel directories, does not build'
>  	@echo '  uninstall        - attempt to remove installed Xen tools'
>  	@echo '                     (use with extreme care!)'
>  	@echo
> @@ -255,11 +221,6 @@ uninstall:
>  	make -C tools uninstall
>  	rm -rf $(D)/boot/tboot*
>  
> -# Legacy targets for compatibility
> -.PHONY: linux26
> -linux26:
> -	$(MAKE) 'KERNELS=linux-2.6*' kernels
> -
>  .PHONY: xenversion
>  xenversion:
>  	@$(MAKE) --no-print-directory -C xen xenversion
> diff --git a/buildconfigs/Rules.mk b/buildconfigs/Rules.mk
> deleted file mode 100644
> index ee61cf6..0000000
> --- a/buildconfigs/Rules.mk
> +++ /dev/null
> @@ -1,42 +0,0 @@
> -
> -include Config.mk
> -
> -export DESTDIR
> -
> -ALLKERNELS = $(patsubst buildconfigs/mk.%,%,$(wildcard buildconfigs/mk.*))
> -
> -%-install:
> -	$(MAKE) -f buildconfigs/mk.$* build
> -
> -%-dist: DESTDIR=$(DISTDIR)/install
> -%-dist: %-install
> -	@: # do nothing
> -
> -# Legacy dist target
> -%-build: %-dist
> -	@: # do nothing
> -
> -%-prep: DESTDIR=$(DISTDIR)/install
> -%-prep:
> -	$(MAKE) -f buildconfigs/mk.$* prep
> -
> -%-config: DESTDIR=$(DISTDIR)/install
> -%-config:
> -	$(MAKE) -f buildconfigs/mk.$* config
> -
> -%-delete:
> -	$(MAKE) -f buildconfigs/mk.$* delete
> -
> -%-clean:
> -	$(MAKE) -f buildconfigs/mk.$* clean
> -
> -%.patch:
> -	$(MAKE) -f buildconfigs/mk.$* $@
> -
> -%-mrproper:
> -	$(MAKE) -f buildconfigs/mk.$*-xen mrproper
> -	rm -rf pristine-$(*)* ref-$(*)*
> -	rm -rf $*-xen.patch
> -
> -# never delete any intermediate files.
> -.SECONDARY:
> diff --git a/buildconfigs/enable-xen-config b/buildconfigs/enable-xen-config
> deleted file mode 100644
> index 7ee4d37..0000000
> --- a/buildconfigs/enable-xen-config
> +++ /dev/null
> @@ -1,127 +0,0 @@
> -#!/bin/sh
> -
> -set -e
> -
> -if [ $# -ne 1 ] ; then
> -	echo "Usage $(basename $0) <config-file>" 1>&2
> -	exit 1
> -fi
> -
> -CONFIG=$1
> -
> -setopt()
> -{
> -	OPTION=$1
> -	VALUE=$2
> -
> -	# First remove any existing instances of this option
> -	sed -e "s/^# ${OPTION} is not set$//g ; s/^${OPTION}=.*$//g" -i "${CONFIG}"
> -
> -	# Then append the new value
> -	case ${VALUE} in
> -	    n)     echo "# ${OPTION} is not set" >> "${CONFIG}" ;;
> -	    y|m|*) echo "${OPTION}=${VALUE}" >> "${CONFIG}" ;;
> -	esac
> -}
> -
> -setopt CONFIG_PARAVIRT y
> -setopt CONFIG_PARAVIRT_DEBUG y
> -setopt CONFIG_PARAVIRT_GUEST y
> -setopt CONFIG_PARAVIRT_SPINLOCKS y
> -
> -setopt CONFIG_XEN y
> -setopt CONFIG_XEN_BLKDEV_FRONTEND y
> -setopt CONFIG_XEN_NETDEV_FRONTEND y
> -setopt CONFIG_XEN_KBDDEV_FRONTEND y
> -setopt CONFIG_XEN_FBDEV_FRONTEND y
> -setopt CONFIG_XEN_PCIDEV_FRONTEND y
> -setopt CONFIG_XEN_BALLOON y
> -setopt CONFIG_XEN_SCRUB_PAGES y
> -setopt CONFIG_XEN_DEV_EVTCHN y
> -setopt CONFIG_XEN_BACKEND y
> -setopt CONFIG_XEN_BLKDEV_BACKEND y
> -setopt CONFIG_XEN_BLKDEV_TAP y
> -setopt CONFIG_XEN_NETDEV_BACKEND y
> -setopt CONFIG_XEN_PCIDEV_BACKEND y
> -setopt CONFIG_XEN_PCIDEV_BACKEND_VPCI y
> -setopt CONFIG_XEN_PCIDEV_BACKEND_PASS n
> -setopt CONFIG_XEN_PCIDEV_BACKEND_SLOT n
> -setopt CONFIG_XEN_PCIDEV_BE_DEBUG n
> -setopt CONFIG_XENFS y
> -setopt CONFIG_XEN_COMPAT_XENFS y
> -setopt CONFIG_XEN_PCI_PASSTHROUGH y
> -setopt CONFIG_HVC_XEN y
> -setopt CONFIG_XEN_MAX_DOMAIN_MEMORY 32
> -setopt CONFIG_XEN_DEBUG_FS y
> -setopt CONFIG_XEN_DOM0 y
> -setopt CONFIG_XEN_SYS_HYPERVISOR y
> -setopt CONFIG_XEN_GNTDEV y
> -setopt CONFIG_XEN_PLATFORM_PCI y
> -
> -setopt CONFIG_VMI y
> -setopt CONFIG_TUN y
> -
> -setopt CONFIG_KVM y
> -setopt CONFIG_KVM_INTEL y
> -setopt CONFIG_KVM_AMD y
> -setopt CONFIG_KVM_CLOCK y
> -setopt CONFIG_KVM_GUEST n
> -setopt CONFIG_KVM_TRACE n
> -
> -setopt CONFIG_LGUEST n
> -
> -setopt CONFIG_LOCALVERSION_AUTO n
> -
> -setopt CONFIG_BRIDGE y
> -
> -setopt CONFIG_DEBUG_STACK_USAGE n
> -
> -setopt CONFIG_MEMORY_HOTPLUG y
> -setopt CONFIG_MEMORY_HOTREMOVE y
> -
> -setopt CONFIG_MIGRATION n
> -
> -setopt CONFIG_ACPI_HOTPLUG_MEMORY n
> -
> -# Should all be set one way or another in defconfig but aren't
> -setopt CONFIG_NUMA n
> -setopt CONFIG_X86_VSMP n
> -setopt CONFIG_X86_UV n
> -setopt CONFIG_CALGARY_IOMMU n
> -setopt CONFIG_AMD_IOMMU n
> -setopt CONFIG_MAXSMP n
> -setopt CONFIG_SPARSEMEM_VMEMMAP n
> -setopt CONFIG_I7300_IDLE n
> -setopt CONFIG_DMAR n
> -setopt CONFIG_INTR_REMAP n
> -setopt CONFIG_GFS2_FS n
> -setopt CONFIG_IOMMU_DEBUG n
> -setopt CONFIG_X86_MCE_INTEL n
> -setopt CONFIG_X86_MCE_AMD n
> -setopt CONFIG_CRYPTO_AES_NI_INTEL n
> -setopt CONFIG_CISS_SCSI_TAPE n
> -
> -setopt CONFIG_FUSION y
> -setopt CONFIG_FUSION_SPI m
> -setopt CONFIG_FUSION_SAS m
> -setopt CONFIG_FUSION_FC m
> -setopt CONFIG_FUSION_MAX_SGE 128
> -setopt CONFIG_FUSION_CTL n
> -setopt CONFIG_FUSION_LOGGING n
> -
> -setopt CONFIG_BLK_CPQ_CISS_DA m
> -
> -case ${XEN_TARGET_ARCH} in
> -    x86_32) setopt CONFIG_64BIT n ;;
> -    x86_64)
> -	setopt CONFIG_64BIT y
> -	setopt CONFIG_IA32_EMULATION y
> -	setopt CONFIG_IA32_AOUT n
> -	setopt CONFIG_CRYPTO_AES_X86_64 n
> -	setopt CONFIG_CRYPTO_SALSA20_X86_64 n
> -	setopt CONFIG_CRYPTO_TWOFISH_X86_64 n
> -	;;
> -    *) ;;
> -esac
> -
> -exit 0
> diff --git a/buildconfigs/interface.exclude b/buildconfigs/interface.exclude
> deleted file mode 100644
> index 1df89a5..0000000
> --- a/buildconfigs/interface.exclude
> +++ /dev/null
> @@ -1,7 +0,0 @@
> -*.size
> -*.pyc
> -checker
> -checker.c
> -ia64.h
> -x86_32.h
> -x86_64.h
> diff --git a/buildconfigs/ketchup b/buildconfigs/ketchup
> deleted file mode 100644
> index 8725f7d..0000000
> --- a/buildconfigs/ketchup
> +++ /dev/null
> @@ -1,742 +0,0 @@
> -#!/usr/bin/python
> -#
> -# ketchup 0.9.8
> -# http://selenic.com/ketchup/wiki
> -#
> -# Copyright 2004 Matt Mackall <mpm@selenic.com>
> -#
> -# This software may be used and distributed according to the terms
> -# of the GNU General Public License, incorporated herein by reference.
> -#
> -# Usage:
> -#
> -# in an existing kernel directory, run:
> -#
> -#  ketchup <version>
> -#
> -# where version is a complete kernel version, or a branch name to grab
> -# the latest version
> -#
> -# You can override some variables by creating a ~/.ketchuprc file.
> -# The ~/.ketchuprc is just a Python script, eg. it might look like this:
> -#
> -# kernel_url = 'http://kernel.localdomain/pub/linux/kernel'
> -# archive = os.environ["HOME"] + '/tmp/ketchup-archive'
> -# gpg = '/weird/path/to/gpg'
> -#
> -
> -import re, sys, urllib, os, getopt, glob, shutil
> -
> -def error(*args):
> -    sys.stderr.write("ketchup: ")
> -    for a in args:
> -        sys.stderr.write(str(a))
> -        sys.stderr.write("\n")
> -
> -def qprint(*args):
> -    if not options["quiet"]:
> -        sys.stdout.write(" ".join(map(str, args)))
> -        sys.stdout.write("\n")
> -
> -def lprint(*args):
> -    sys.stdout.write(" ".join(map(str, args)))
> -    sys.stdout.write("\n")
> -
> -
> -def fancyopts(args, options, state, syntax=''):
> -    long = []
> -    short = ''
> -    map = {}
> -    dt = {}
> -
> -    def help(state, opt, arg, options = options, syntax = syntax):
> -        lprint("Usage: ", syntax)
> -
> -        for s, l, d, c in options:
> -            opt = ' '
> -            if s: opt = opt + '-' + s + ' '
> -            if l: opt = opt + '--' + l + ' '
> -            if d: opt = opt + '(' + str(d) + ')'
> -            lprint(opt)
> -            if c: lprint('   %s' % c)
> -        sys.exit(0)
> -
> -    options = [('h', 'help', help, 'Show usage info')] + options
> -
> -    for s, l, d, c in options:
> -        map['-'+s] = map['--'+l]=l
> -        state[l] = d
> -        dt[l] = type(d)
> -        if not d is None and not type(d) is type(help): s, l = s + ':', l + '='
> -        if s: short = short + s
> -        if l: long.append(l)
> -
> -    if os.environ.has_key("KETCHUP_OPTS"):
> -        args = os.environ["KETCHUP_OPTS"].split() + args
> -
> -    try:
> -        opts, args = getopt.getopt(args, short, long)
> -    except getopt.GetoptError:
> -        help(state, None, args)
> -        sys.exit(-1)
> -
> -    for opt, arg in opts:
> -        if dt[map[opt]] is type(help): state[map[opt]](state,map[opt],arg)
> -        elif dt[map[opt]] is type(1): state[map[opt]] = int(arg)
> -        elif dt[map[opt]] is type(''): state[map[opt]] = arg
> -        elif dt[map[opt]] is type([]): state[map[opt]].append(arg)
> -        elif dt[map[opt]] is type(None): state[map[opt]] = 1
> -
> -    return args
> -
> -# Default values
> -kernel_url = 'http://www.kernel.org/pub/linux/kernel'
> -archive = os.environ["HOME"] + "/.ketchup"
> -rename_prefix = 'linux-'
> -rename_with_localversion = False
> -wget = "/usr/bin/wget"
> -gpg = "/usr/bin/gpg"
> -precommand = postcommand = None
> -default_tree = None
> -local_trees = {}
> -
> -# Functions to parse version strings
> -
> -def tree(ver):
> -    return float(re.match(r'(\d+\.\d+)', ver).group(1))
> -
> -def rev(ver):
> -    p = pre(ver)
> -    r = int(re.match(r'\d+\.\d+\.(\d+)', ver).group(1))
> -    if p: r = r - 1
> -    return r
> -
> -def pre(ver):
> -    try: return re.match(r'\d+\.\d+\.\d+(\.\d+)?-((rc|pre)\d+)', ver).group(2)
> -    except: return None
> -
> -def post(ver):
> -    try: return re.match(r'\d+\.\d+\.\d+\.(\d+)', ver).group(1)
> -    except: return None
> -
> -def pretype(ver):
> -    try: return re.match(r'\d+\.\d+\.\d+(\.\d+)?-((rc|pre)\d+)', ver).group(3)
> -    except: return None
> -
> -def prenum(ver):
> -    try: return int(re.match(r'\d+\.\d+\.\d+-((rc|pre)(\d+))', ver).group(3))
> -    except: return None
> -
> -def prebase(ver):
> -    return re.match(r'(\d+\.\d+\.\d+((-(rc|pre)|\.)\d+)?)', ver).group(1)
> -
> -def revbase(ver):
> -    return "%s.%s" % (tree(ver), rev(ver))
> -
> -def base(ver):
> -    v = revbase(ver)
> -    if post(ver): v += "." + post(ver)
> -    return v
> -
> -def forkname(ver):
> -    try: return re.match(r'\d+.\d+.\d+(\.\d+)?(-(rc|pre)\d+)?(-(\w+?)\d+)?',
> -                         ver).group(5)
> -    except: return None
> -
> -def forknum(ver):
> -    try: return int(
> -        re.match(r'\d+.\d+.\d+(\.\d+)?(-(rc|pre)\d+)?(-(\w+?)(\d+))?',
> -                 ver).group(6))
> -    except: return None
> -
> -def fork(ver):
> -    try: return re.match(r'\d+.\d+.\d+(\.\d+)?(-(rc|pre)\d+)?(-(\w+))?', ver).group(4)
> -    except: return None
> -
> -def get_ver(makefile):
> -    """ Read the version information from the specified makefile """
> -    part = {}
> -    parts = "VERSION PATCHLEVEL SUBLEVEL EXTRAVERSION".split(' ')
> -    m = open(makefile)
> -    for l in m.readlines():
> -        for p in parts:
> -            try: part[p] = re.match(r'%s\s*=\s*(\S+)' % p, l).group(1)
> -            except: pass
> -
> -    version = "%s.%s.%s" % tuple([part[p] for p in parts[:3]])
> -    version += part.get("EXTRAVERSION","")
> -    return version
> -
> -def get_localversion():
> -    v = ''
> -
> -    for name in glob.glob('localversion*'):
> -        try: v += open(name).readline().strip()
> -        except: pass
> -
> -    try:
> -        c = open('.config').read()
> -        v += re.search(r'^CONFIG_LOCALVERSION="(.+)"', c, re.M).group(1)
> -    except: pass
> -
> -    return v
> -
> -def compare_ver(a, b):
> -    """
> -    Compare kernel versions a and b
> -
> -    Note that -pre and -rc versions sort before the version they modify,
> -    -pre sorts before -rc, -bk, -git, and -mm, etc. sort alphabetically.
> -    """
> -    if a == b: return 0
> -
> -    c = cmp(float(tree(a)), float(tree(b)))
> -    if c: return c
> -    c = cmp(rev(a), rev(b))
> -    if c: return c
> -    c = cmp(int(post(a) or 0), int(post(b) or 0))
> -    if c: return c
> -    c = cmp(pretype(a), pretype(b)) # pre sorts before rc
> -    if c: return c
> -    c = cmp(prenum(a), prenum(b))
> -    if c: return c
> -    c = cmp(forkname(a), forkname(b))
> -    if c: return c
> -    return cmp(forknum(a), forknum(b))
> -
> -def last(url, pat="(.*/)"):
> -    for l in urllib.urlopen(url).readlines():
> -        m = re.search('(?i)<a href="%s">' % pat, l)
> -        if m: n = m.group(1)
> -    return n
> -
> -def latest_mm(url, pat):
> -    url = kernel_url + '/people/akpm/patches/2.6/'
> -    url += last(url)
> -    part = last(url)
> -    return part[:-1]
> -
> -def latest_ck(url, pat):
> -    url = "http://ck.kolivas.org/patches/2.6/pre-releases/"
> -    url += last(url)
> -    part = last(url)
> -    pre = part[:-1]
> -
> -    url = "http://ck.kolivas.org/patches/2.6/"
> -    url += last(url,"(2.6.*/)")
> -    part = last(url)
> -    rel = part[:-1]
> -
> -    l = [pre, rel]
> -    l.sort(compare_ver)
> -    return l[-1]
> -
> -def latest_dir(url, pat):
> -    """Find the latest link matching pat at url after sorting"""
> -    p = []
> -    for l in urllib.urlopen(url).readlines():
> -        m = re.search('"%s"' % pat, l)
> -        if m: p.append(m.group(1))
> -
> -    if not p: return None
> -
> -    p.sort(compare_ver)
> -    return p[-1]
> -
> -# mbligh is lazy and has a bunch of empty directories
> -def latest_mjb(url, pat):
> -    url = kernel_url + '/people/mbligh/'
> -
> -    # find the last Linus release and search backwards
> -    l = [find_ver('2.6'), find_ver("2.6-pre")]
> -    l.sort(compare_ver)
> -    linus = l[-1]
> -
> -    p = []
> -    for l in urllib.urlopen(url).readlines():
> -        m = re.search('"(2\.6\..*/)"', l)
> -        if m:
> -            v = m.group(1)
> -            if compare_ver(v, linus) <= 0:
> -                p.append(v)
> -
> -    p.sort(compare_ver)
> -    p.reverse()
> -
> -    for ver in p:
> -        mjb = latest_dir(url + ver, pat)
> -        if mjb: return mjb
> -
> -    return None
> -
> -def latest_26_tip(url, pat):
> -    l = [find_ver('2.6'), find_ver('2.6-git'), find_ver('2.6-pre')]
> -    l.sort(compare_ver)
> -    return l[-1]
> -
> -def find_info(ver):
> -    b = "%.1f" % tree(ver)
> -    f = forkname(ver)
> -    p = pre(ver)
> -
> -    s = b
> -    if f:
> -        s = "%s-%s" % (b, f)
> -    elif p:
> -        s = "%s-pre" % b
> -
> -    return version_info[s]
> -
> -def version_urls(ver):
> -    """ Return the URL for the patch associated with the specified version """
> -    i = find_info(ver)[1]
> -    if type(i) != type([]):
> -        i = [i]
> -
> -    v = {
> -        'full': ver,
> -        'tree': tree(ver),
> -        'base': base(ver),
> -        'prebase': prebase(ver)
> -        }
> -
> -    l = []
> -    for e in i:
> -        l.append(e % v)
> -
> -    return l
> -
> -def patch_path(ver):
> -    return os.path.join(archive, os.path.basename(version_urls(ver)[0]))
> -
> -def download(url, f):
> -    qprint("Downloading %s" % os.path.basename(url))
> -    if options["dry-run"]:
> -        return 1
> -
> -    if not options["wget"]:
> -        p = urllib.urlopen(url).read()
> -        if p.find("<title>404") != -1:
> -            return None
> -        open(f, 'w').write(p)
> -    else:
> -        e = os.system("%s -c -O %s %s" %
> -                      (options["wget"], f + ".partial", url))
> -        if e:
> -            return None
> -        os.rename(f + ".partial", f)
> -
> -    return 1
> -
> -def verify(url, f, sign):
> -    if options["no-gpg"] or options["dry-run"] or not options["gpg-path"]:
> -        return 1
> -
> -    sf = f + sign
> -    if not download(url + sign, sf):
> -        error("signature download failed")
> -        error("removing files...")
> -        os.unlink(f)
> -        return 0
> -
> -    qprint("Verifying signature...")
> -    r = os.system("%s --verify %s %s" % (options["gpg-path"], sf, f))
> -    if r:
> -        error("gpg returned %d" % r)
> -        error("removing files...")
> -        os.unlink(f)
> -        os.unlink(sf)
> -        return 0
> -
> -    return 1
> -
> -def trydownload(urls, f, sign):
> -    for url in urls:
> -        if download(url, f):
> -            if not sign or verify(url, f, sign):
> -                return f
> -        if url[-4:] == ".bz2":
> -            f2 = f[:-4] + ".gz"
> -            url2 = url[:-4] + ".gz"
> -            if download(url2, f2):
> -                if not sign or verify(url2, f2, sign):
> -                    return f2
> -    return None
> -
> -def get_patch(ver):
> -    """Return the path to patch for given ver, downloading if necessary"""
> -    f = patch_path(ver)
> -    if os.path.exists(f):
> -        return f
> -    if f[-4:] == ".bz2":
> -        f2 = f[:-4] + ".gz"
> -        if os.path.exists(f2):
> -            return f2
> -
> -    urls = version_urls(ver)
> -    sign = find_info(ver)[3]
> -    if sign == 1: sign = ".sign"
> -    f = trydownload(urls, f, sign)
> -    if not f:
> -        error("patch download failed")
> -        sys.exit(-1)
> -
> -    return f
> -
> -def apply_patch(ver, reverse = 0):
> -    """Find the patch to upgrade from the predecessor of ver to ver and
> -    apply or reverse it."""
> -    p = get_patch(ver)
> -    r = ""
> -    if reverse:
> -        r = " -R"
> -
> -    qprint("Applying %s%s" % (os.path.basename(p), r))
> -    if options["dry-run"]:
> -        return ver
> -
> -    def cmd(patch, reverse, dry):
> -        base = "patch -l -p1%s" % reverse
> -        if dry:
> -            base += " --dry-run"
> -
> -        if p[-4:] == ".bz2":
> -            pipe = "bzcat %s | %s" % (patch, base)
> -        elif p[-3:] == ".gz":
> -            pipe = "zcat %s | %s" % (patch, base)
> -        else:
> -            pipe = "%s < %s" % (base, patch)
> -
> -        err = os.system(pipe + " > .patchdiag")
> -        if err:
> -            sys.stderr.write(open(".patchdiag").read())
> -        os.unlink(".patchdiag")
> -        return err
> -
> -    err = cmd(p, r, 1)
> -    if err:
> -        error("patch %s failed: %d" % (p, err))
> -        sys.exit(-1)
> -
> -    err = cmd(p, r, 0)
> -    if err:
> -        error("patch %s failed while it was supposed to apply: %d" % (p, err))
> -        sys.exit(-1)
> -
> -def untar(tarfile):
> -    old = os.getcwd()
> -    os.mkdir("ketchup-tmp")
> -    os.chdir("ketchup-tmp")
> -
> -    err = os.system("bzcat %s | tar -xf -" % tarfile)
> -    if err:
> -        error("Unpacking failed: ", err)
> -        sys.exit(-1)
> -
> -    err = os.system("mv linux*/* linux*/.[^.]* ..; rmdir linux*")
> -    if err:
> -        error("Unpacking failed: ", err)
> -        sys.exit(-1)
> -
> -    os.chdir(old)
> -    shutil.rmtree("ketchup-tmp")
> -
> -def install_nearest(ver):
> -    t = tree(ver)
> -    tarballs = glob.glob(archive + "/linux-%s.*.tar.bz2" % t)
> -    list = []
> -
> -    for f in tarballs:
> -        m = re.match(r'.*/linux-(.*).tar.bz2$', f)
> -        v = m.group(1)
> -        d = abs(rev(v) - rev(ver))
> -        list.append((d, f, v))
> -    list.sort()
> -
> -    if not list or (options["full-tarball"] and list[0][0]):
> -        f = "linux-%s.tar.bz2" % ver
> -        url = "%s/v%s/%s" % (kernel_url, t, f)
> -        f = archive + "/" + f
> -
> -        sign = find_info(ver)[3]
> -        if sign == 1: sign = ".sign"
> -
> -        f = trydownload([url], f, sign)
> -        if not f:
> -            error("Tarball download failed")
> -            sys.exit(-1)
> -
> -    else:
> -        f = list[0][1]
> -        ver = list[0][2]
> -
> -    qprint("Unpacking %s" % os.path.basename(f))
> -    if options["dry-run"]: return ver
> -    untar(f)
> -
> -    return ver
> -
> -def find_ver(ver):
> -    if ver in version_info.keys():
> -        v = version_info[ver]
> -        d = v[1]
> -        if type(d) is type([]):
> -            d = d[0]
> -        for n in range(5):
> -            return v[0](os.path.dirname(d), v[2])
> -            error('retrying version lookup for %s' % ver)
> -    else:
> -        return ver
> -
> -def transform(a, b):
> -    if a == b:
> -        qprint("Nothing to do!")
> -        return
> -    if not a:
> -        a = install_nearest(base(b))
> -    t = tree(a)
> -    if t != tree(b):
> -        error("Can't patch %s to %s" % (tree(a), tree(b)))
> -        sys.exit(-1)
> -    if fork(a):
> -        apply_patch(a, 1)
> -        a = prebase(a)
> -    if prebase(a) != prebase(b):
> -        if pre(a):
> -            apply_patch(a, 1)
> -            a = base(a)
> -
> -        if post(a) and post(a) != post(b):
> -            apply_patch(prebase(a), 1)
> -
> -        ra, rb = rev(a), rev(b)
> -        if ra > rb:
> -            for r in range(ra, rb, -1):
> -                apply_patch("%s.%s" % (t, r), -1)
> -        if ra < rb:
> -            for r in range(ra + 1, rb + 1):
> -                apply_patch("%s.%s" % (t, r))
> -        a = revbase(b)
> -
> -        if post(b) and post(a) != post(b):
> -            apply_patch(prebase(b), 0)
> -            a = base(b)
> -
> -        if pre(b):
> -            apply_patch(prebase(b))
> -            a = prebase(b)
> -
> -    if fork(b):
> -        a = apply_patch(b)
> -
> -def rename_dir(v):
> -    """Rename the current directory to linux-v, where v is the function arg"""
> -    if rename_with_localversion:
> -        v += get_localversion()
> -    cwd = os.getcwd()
> -    basedir = os.path.dirname(cwd)
> -    newdir = os.path.join(basedir, rename_prefix + v)
> -    if newdir == cwd:
> -        return
> -    if os.access(newdir, os.F_OK):
> -        error("Cannot rename directory, destination exists: %s", newdir);
> -        return
> -    os.rename(cwd, newdir)
> -    qprint('Current directory renamed to %s' % newdir)
> -
> -
> -# latest lookup function, canonical urls, pattern for lookup function,
> -#  signature flag, description
> -version_info = {
> -    '2.4': (latest_dir,
> -            kernel_url + "/v2.4" + "/patch-%(base)s.bz2",
> -            r'patch-(.*?).bz2',
> -            1, "old stable kernel series"),
> -    '2.4-pre': (latest_dir,
> -                kernel_url + "/v2.4" + "/testing/patch-%(prebase)s.bz2",
> -                r'patch-(.*?).bz2',
> -                1, "old stable kernel series prereleases"),
> -    '2.6': (latest_dir,
> -            kernel_url + "/v2.6" + "/patch-%(prebase)s.bz2",
> -            r'patch-(.*?).bz2',
> -            1, "current stable kernel series"),
> -    '2.6-rc': (latest_dir,
> -                kernel_url + "/v2.6" + "/testing/patch-%(prebase)s.bz2",
> -                r'patch-(.*?).bz2',
> -                1, "current stable kernel series prereleases"),
> -    '2.6-pre': (latest_dir,
> -                kernel_url + "/v2.6" + "/testing/patch-%(prebase)s.bz2",
> -                r'patch-(.*?).bz2',
> -                1, "current stable kernel series prereleases"),
> -    '2.6-git': (latest_dir,
> -                [kernel_url + "/v2.6" + "/snapshots/patch-%(full)s.bz2",
> -                 kernel_url + "/v2.6" + "/snapshots/old/patch-%(full)s.bz2"],
> -                r'patch-(.*?).bz2',
> -                1, "current stable kernel series snapshots"),
> -    '2.6-bk': (latest_dir,
> -               [kernel_url + "/v2.6" + "/snapshots/patch-%(full)s.bz2",
> -                kernel_url + "/v2.6" + "/snapshots/old/patch-%(full)s.bz2"],
> -               r'patch-(.*?).bz2',
> -               1, "old stable kernel series snapshots"),
> -    '2.6-tip': (latest_26_tip, "", "", 1,
> -                "current stable kernel series tip"),
> -    '2.6-mm': (latest_mm,
> -               kernel_url + "/people/akpm/patches/" +
> -               "%(tree)s/%(prebase)s/%(full)s/%(full)s.bz2", "",
> -               1, "Andrew Morton's -mm development tree"),
> -    '2.6-tiny': (latest_dir,
> -                 "http://www.selenic.com/tiny/%(full)s.patch.bz2",
> -                 r'(2.6.*?).patch.bz2',
> -                 1, "Matt Mackall's -tiny tree for small systems"),
> -    '2.6-mjb': (latest_mjb,
> -                 kernel_url + "/people/mbligh/%(prebase)s/patch-%(full)s.bz2",
> -                 r'patch-(2.6.*?).bz2',
> -                 1, "Martin Bligh's random collection 'o crap"),
> -    '2.6-rt': (latest_dir,
> -               ["http://people.redhat.com/mingo/" +
> -                "realtime-preempt/patch-%(full)s",
> -                "http://people.redhat.com/mingo/" +
> -                "realtime-preempt/older/patch-%(full)s"],
> -               r'patch-(2.6.*?)',
> -               0, "Ingo Molnar's realtime-preempt kernel"),
> -    '2.6-ck': (latest_ck,
> -               ["http://ck.kolivas.org/patches/2.6/" +
> -                "%(prebase)s/%(full)s/patch-%(full)s.bz2",
> -                "http://ck.kolivas.org/patches/2.6/pre-releases/" +
> -                "%(prebase)s/%(full)s/patch-%(full)s.bz2"],
> -               "", ".sig",
> -               "Con Kolivas' patches for system responsiveness (desktop)"),
> -    '2.6-cks': (latest_dir,
> -                "http://ck.kolivas.org/patches/cks/patch-%(full)s.bz2",
> -                r'patch-(2.6.*?).bz2', ".sig",
> -                "Con Kolivas' patches for system responsiveness (server)")
> -    }
> -
> -# Override defaults with ~/.ketchuprc which is just a Python script
> -rcpath = os.path.expanduser('~/.ketchuprc')
> -if os.path.isfile(rcpath):
> -    try:
> -        execfile(rcpath)
> -    except Exception, e:
> -        sys.exit('Failed parsing %s\nError was: %s' % (rcpath, e))
> -
> -# Add local trees
> -for k,v in local_trees.items():
> -    version_info[k] = v
> -
> -# Environment variables override defaults and ketchuprc
> -kernel_url = os.environ.get("KETCHUP_URL", kernel_url)
> -archive = os.environ.get("KETCHUP_ARCH", archive)
> -
> -# And finally command line overrides everything
> -if not os.path.exists(wget): wget = ""
> -if not os.path.exists(gpg): gpg = ""
> -
> -options = {}
> -opts = [
> -    ('a', 'archive', archive, 'cache directory'),
> -    ('d', 'directory', '.', 'directory to update'),
> -    ('f', 'full-tarball', None, 'if unpacking a tarball, download the latest'),
> -    ('g', 'gpg-path', gpg, 'path for GnuPG'),
> -    ('G', 'no-gpg', None, 'disable GPG signature verification'),
> -    ('k', 'kernel-url', kernel_url, 'base url for kernel.org mirror'),
> -    ('l', 'list-trees', None, 'list supported trees'),
> -    ('m', 'show-makefile', None, 'output version in makefile <arg>'),
> -    ('n', 'dry-run', None, 'don\'t download or apply patches'),
> -    ('p', 'show-previous', None, 'output version previous to <arg>'),
> -    ('q', 'quiet', None, 'reduce output'),
> -    ('r', 'rename-directory', None, 'rename updated directory to %s<v>'
> -     % rename_prefix),
> -    ('s', 'show-latest', None, 'output the latest version of <arg>'),
> -    ('u', 'show-url', None, 'output URL for <arg>'),
> -    ('w', 'wget', wget, 'command to use for wget'),
> -    ]
> -
> -args = fancyopts(sys.argv[1:], opts, options,
> -                 'ketchup [options] [ver]')
> -
> -archive = options["archive"]
> -kernel_url = options["kernel-url"]
> -if options["no-gpg"]: options["gpg-path"] = ''
> -
> -# Process args
> -
> -if not os.path.exists(options["directory"]):
> -    qprint("Creating target directory", options["directory"])
> -    os.mkdir(options["directory"])
> -os.chdir(options["directory"])
> -
> -if os.path.isfile(".ketchuprc"):
> -    try:
> -        execfile(".ketchuprc")
> -    except Exception, e:
> -        sys.exit('Failed parsing .ketchuprc\nError was: %s' % (e))
> -
> -if options["list-trees"]:
> -    l = version_info.keys()
> -    l.sort()
> -    for tree in l:
> -	if version_info[tree][3] == 0:
> -	   lprint(tree, "(unsigned)")
> -        else:
> -	   lprint(tree, "(signed)")
> -        lprint(" " + version_info[tree][4])
> -    sys.exit(0)
> -
> -if options["show-makefile"] and len(args) < 2:
> -    if not args:
> -        lprint(get_ver("Makefile"))
> -    else:
> -        lprint(get_ver(args[0]))
> -    sys.exit(0)
> -
> -if len(args) == 0 and default_tree:
> -    qprint("Using default tree \"%s\"" % (default_tree))
> -    args.append(default_tree)
> -
> -if len(args) != 1:
> -    error("No version given on command line and no default in configuration")
> -    sys.exit(-1)
> -
> -if options["show-latest"]:
> -    lprint(find_ver(args[0]))
> -    sys.exit(0)
> -
> -if options["show-url"]:
> -    lprint(version_urls(find_ver(args[0]))[0])
> -    sys.exit(0)
> -
> -if options["show-previous"]:
> -    v = find_ver(args[0])
> -    p = prebase(v)
> -    if p == v: p = base(v)
> -    if p == v:
> -        if rev(v) > 0: p = "%.1f.%s" % (tree(v), rev(v) -1)
> -        else: p = "unknown"
> -    lprint(p)
> -    sys.exit(0)
> -
> -if not os.path.exists(options["archive"]):
> -    qprint("Creating cache directory", options["archive"])
> -    os.mkdir(options["archive"])
> -
> -if precommand and os.system(precommand):
> -    sys.exit('Precommand "%s" failed!' % precommand)
> -
> -try:
> -    a = get_ver('Makefile')
> -except:
> -    a = None
> -
> -if not a and os.listdir("."):
> -    error("Can't find kernel version for non-empty directory")
> -    sys.exit(-1)
> -
> -b = find_ver(args[0])
> -qprint("%s -> %s" % (a, b))
> -transform(a, b)
> -if options["rename-directory"] and not options["dry-run"]:
> -    rename_dir(b)
> -
> -if postcommand and os.system(postcommand):
> -    sys.exit('Postcommand "%s" failed!' % postcommand)
> diff --git a/buildconfigs/mk.linux-2.6 b/buildconfigs/mk.linux-2.6
> deleted file mode 100644
> index 6b8d989..0000000
> --- a/buildconfigs/mk.linux-2.6
> +++ /dev/null
> @@ -1,10 +0,0 @@
> -XEN_LINUX_SOURCE ?= tarball
> -LINUX_VER ?= 2.6
> -
> -IMAGE_TARGET ?= vmlinux bzImage
> -
> -XEN_LINUX_CONFIG_UPDATE := buildconfigs/enable-xen-config
> -
> -EXTRAVERSION ?=
> -
> -include buildconfigs/mk.linux-2.6-common
> diff --git a/buildconfigs/mk.linux-2.6-common b/buildconfigs/mk.linux-2.6-common
> deleted file mode 100644
> index e8e97fb..0000000
> --- a/buildconfigs/mk.linux-2.6-common
> +++ /dev/null
> @@ -1,154 +0,0 @@
> -LINUX_SERIES = 2.6
> -
> -# Linux search path, will be searched for tarballs and mercurial
> -# repositories.
> -LINUX_SRC_PATH ?= .:..
> -
> -# The source directory is not automatically updated to avoid blowing
> -# away developer's changes. If you want to automatically pull a new
> -# version of the Linux tree then add `XEN_LINUX_UPDATE=y' to your make
> -# command line.
> -ifeq ($(XEN_LINUX_UPDATE),y)
> -__XEN_LINUX_UPDATE = $(LINUX_SRCDIR)/.force-update
> -else
> -__XEN_LINUX_UPDATE =
> -endif
> -
> -ifeq ($(XEN_LINUX_NONINTERACTIVE_CONFIG),y)
> -__NONINT_CONFIG = yes $$'\n' |
> -else
> -__NONINT_CONFIG =
> -endif
> -
> -LINUX_DIR     = build-linux-$(LINUX_VER)$(EXTRAVERSION)_$(XEN_TARGET_ARCH)
> -
> -IMAGE_TARGET ?= vmlinuz
> -
> -LINUX_VER3  := $(LINUX_SERIES).$(word 3, $(subst ., ,$(LINUX_VER)))
> -
> -.PHONY: _build
> -_build: build
> -
> --include buildconfigs/src.$(XEN_LINUX_SOURCE)
> -
> -LINUX_ARCH = $$(sh buildconfigs/select-linux-arch $(LINUX_SRCDIR))
> -IMAGE_PATH = $$(sh buildconfigs/select-linux-image $(LINUX_DIR) $(LINUX_ARCH) $(IMAGE_TARGET))
> -
> -INSTALL_BOOT_PATH := $(DESTDIR)/boot
> -
> -# Default to allowing interface mismatch
> -ifndef XEN_LINUX_ALLOW_INTERFACE_MISMATCH
> -XEN_LINUX_ALLOW_INTERFACE_MISMATCH := y
> -endif
> -
> -KERNELRELEASE = $(shell $(MAKE) -s --no-print-directory -C $(LINUX_DIR) kernelrelease)
> -
> -# The real action starts here!
> -.PHONY: build
> -build: $(LINUX_DIR)/include/linux/autoconf.h
> -ifneq ($(XEN_LINUX_ALLOW_INTERFACE_MISMATCH),y)
> -	@if ! diff -urN -X buildconfigs/interface.exclude \
> -              $(LINUX_SRCDIR)/include/xen/interface xen/include/public ; then \
> -		echo "" 1>&2 ; \
> -		echo " *** $(LINUX_SRCDIR)/include/xen/interface is out of date " 1>&2 ; \
> -		echo " *** relative to $(XEN_ROOT)/xen/include/public." 1>&2 ; \
> -		echo "" 1>&2 ; \
> -		exit 1 ; \
> -	fi
> -endif
> -	if grep "^CONFIG_MODULES=" $(LINUX_DIR)/.config ; then \
> -	    $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) modules || exit 1 ; \
> -	    $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) INSTALL_MOD_PATH=$(DESTDIR) modules_install ; \
> -	fi
> -	$(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) INSTALL_PATH=$(DESTDIR) $(IMAGE_TARGET)
> -	mkdir -p $(INSTALL_BOOT_PATH)
> -	@cp -v $(IMAGE_PATH) $(INSTALL_BOOT_PATH)/vmlinuz-$(KERNELRELEASE)
> -	@cp -v $(LINUX_DIR)/.config $(INSTALL_BOOT_PATH)/config-$(KERNELRELEASE)
> -	@cp -v $(LINUX_DIR)/System.map $(INSTALL_BOOT_PATH)/System.map-$(KERNELRELEASE)
> -
> -$(LINUX_DIR)/include/linux/autoconf.h: CONFIG_FILE=$(CURDIR)/$(LINUX_DIR)/.config
> -$(LINUX_DIR)/include/linux/autoconf.h: $(LINUX_SRCDIR)/.valid-src
> -	rm -rf $(LINUX_DIR)
> -	mkdir -p $(LINUX_DIR)
> -	# Re-use config from install dir if one exists. Next try to use
> -	# buildconfigs/create_config.sh is one is provided by the source
> -	# tree. Finally attempt to use make defconfig.
> -	set -e ; \
> -	CONFIG_VERSION=$$(sed -ne 's/$$(XENGUEST)//; s/^EXTRAVERSION = //p' $(LINUX_SRCDIR)/Makefile); \
> -	if [ ! -z "$(XEN_LINUX_CONFIG)" -a -r "$(XEN_LINUX_CONFIG)" ]; then \
> -	  cp $(XEN_LINUX_CONFIG) $(CONFIG_FILE); \
> -	elif [ -r $(DESTDIR)/boot/config-$(LINUX_VER3)$$CONFIG_VERSION$(EXTRAVERSION) ] ; then \
> -	  cp $(DESTDIR)/boot/config-$(LINUX_VER3)$$CONFIG_VERSION$(EXTRAVERSION) $(CONFIG_FILE) ; \
> -        elif [ -e $(LINUX_SRCDIR)/buildconfigs/create_config.sh ] ; then \
> -	  cd $(LINUX_SRCDIR) && sh buildconfigs/create_config.sh \
> -		$(CONFIG_FILE) $(EXTRAVERSION) $(XEN_TARGET_ARCH) $(XEN_SYSTYPE) ; \
> -          echo "Configured $(LINUX_DIR) using create_config.sh" ; \
> -	elif $(MAKE) -C $(LINUX_SRCDIR) ARCH=$(LINUX_ARCH) defconfig O=$$(/bin/pwd)/$(LINUX_DIR) ; then \
> -	  echo "Configured $(LINUX_DIR) using defconfig" ; \
> -	else \
> -          echo "No configuration method found for this kernel" ; \
> -	fi
> -ifneq ($(XEN_LINUX_CONFIG_UPDATE),)
> -	echo "Updating $(CONFIG_FILE) using $(XEN_LINUX_CONFIG_UPDATE)"
> -	sh $(XEN_LINUX_CONFIG_UPDATE) $(CONFIG_FILE)
> -endif
> -ifeq ($(XEN_TARGET_ARCH),x86_32)
> -	sed -e 's!^CONFIG_HIGHMEM4G=y$$!\# CONFIG_HIGHMEM4G is not set!;s!^\# CONFIG_HIGHMEM64G is not set$$!CONFIG_HIGHMEM64G=y!' $(CONFIG_FILE) > $(CONFIG_FILE)- && mv $(CONFIG_FILE)- $(CONFIG_FILE)
> -endif
> -ifneq ($(EXTRAVERSION),)
> -	echo "$(EXTRAVERSION)" >$(LINUX_DIR)/localversion-xen
> -endif
> -	$(__NONINT_CONFIG) $(MAKE) -C $(LINUX_SRCDIR) ARCH=$(LINUX_ARCH) oldconfig O=$$(/bin/pwd)/$(LINUX_DIR)
> -	@set -e ; if [ ! -f $(LINUX_DIR)/Makefile ] ; then \
> -	    echo "==================================="; \
> -	    echo "oldconfig did not create a Makefile"; \
> -	    echo "Generating $(LINUX_DIR)/Makefile   "; \
> -	    echo "==================================="; \
> -	    ( echo "# Automatically generated: don't edit"; \
> -	      echo ""; \
> -	      echo "VERSION = 2"; \
> -	      echo "PATCHLEVEL = 6"; \
> -	      echo ""; \
> -	      echo "KERNELSRC    := $(CURDIR)/$(LINUX_SRCDIR)"; \
> -	      echo "KERNELOUTPUT := $(CURDIR)/$(LINUX_DIR)"; \
> -	      echo ""; \
> -	      echo "MAKEFLAGS += --no-print-directory"; \
> -	      echo ""; \
> -	      echo ".PHONY: all \$$(MAKECMDGOALS)"; \
> -	      echo ""; \
> -	      echo "all:"; \
> -	      echo "	\$$(MAKE) -C \$$(KERNELSRC) O=\$$(KERNELOUTPUT)"; \
> -	      echo ""; \
> -	      echo "Makefile:;"; \
> -	      echo ""; \
> -	      echo "\$$(filter-out all Makefile,\$$(MAKECMDGOALS)) %/:"; \
> -	      echo "	\$$(MAKE) -C \$$(KERNELSRC) O=\$$(KERNELOUTPUT) \$$@"; \
> -	    ) > $(LINUX_DIR)/Makefile ; \
> -	fi
> -	$(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) prepare
> -
> -.PHONY: prep
> -prep: $(LINUX_DIR)/include/linux/autoconf.h
> -
> -.PHONY: config
> -config: CONFIGMODE = menuconfig
> -config: $(LINUX_DIR)/include/linux/autoconf.h
> -	$(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) $(CONFIGMODE)
> -
> -.PHONY: clean
> -clean::
> -	[ ! -d $(LINUX_DIR) ] || \
> -		$(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) clean
> -
> -.PHONY: delete
> -delete: 
> -	rm -rf tmp-linux-$(LINUX_VER) $(LINUX_DIR) $(LINUX_SRCDIR)
> -
> -.PHONY: mrproper
> -mrproper:
> -	rm -rf $(LINUX_SRCDIR)
> -	rm -f linux-$(LINUX_VER).tar.bz2
> -
> -.PHONY: $(LINUX_SRCDIR)/.force-update
> -$(LINUX_SRCDIR)/.force-update:
> -	@ :
> diff --git a/buildconfigs/mk.linux-2.6-git b/buildconfigs/mk.linux-2.6-git
> deleted file mode 100644
> index 1a142dd..0000000
> --- a/buildconfigs/mk.linux-2.6-git
> +++ /dev/null
> @@ -1,2 +0,0 @@
> -LINUX_VER ?= 2.6-git
> -include buildconfigs/mk.linux-2.6
> diff --git a/buildconfigs/mk.linux-2.6-mm b/buildconfigs/mk.linux-2.6-mm
> deleted file mode 100644
> index f02e864..0000000
> --- a/buildconfigs/mk.linux-2.6-mm
> +++ /dev/null
> @@ -1,2 +0,0 @@
> -LINUX_VER ?= 2.6-mm
> -include buildconfigs/mk.linux-2.6
> diff --git a/buildconfigs/mk.linux-2.6-native b/buildconfigs/mk.linux-2.6-native
> deleted file mode 100644
> index c7c0949..0000000
> --- a/buildconfigs/mk.linux-2.6-native
> +++ /dev/null
> @@ -1,5 +0,0 @@
> -EXTRAVERSION = -native
> -IMAGE_TARGET = bzImage
> -INSTALL_BOOT_PATH = $(DESTDIR)/boot
> -
> -include buildconfigs/mk.linux-2.6-common
> diff --git a/buildconfigs/mk.linux-2.6-pvops b/buildconfigs/mk.linux-2.6-pvops
> deleted file mode 100644
> index 59cae79..0000000
> --- a/buildconfigs/mk.linux-2.6-pvops
> +++ /dev/null
> @@ -1,17 +0,0 @@
> -XEN_LINUX_SOURCE ?= git-clone
> -LINUX_VER ?= 2.6-pvops
> -
> -IMAGE_TARGET ?= bzImage
> -
> -XEN_LINUX_CONFIG_UPDATE := buildconfigs/enable-xen-config
> -
> -ifeq ($(GIT_HTTP),y)
> -XEN_LINUX_GIT_URL ?= http://www.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git
> -else
> -XEN_LINUX_GIT_URL ?= git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git
> -endif
> -XEN_LINUX_GIT_REMOTEBRANCH ?= xen/stable-2.6.32.x
> -
> -EXTRAVERSION ?=
> -
> -include buildconfigs/mk.linux-2.6-common
> diff --git a/buildconfigs/mk.linux-2.6-rc b/buildconfigs/mk.linux-2.6-rc
> deleted file mode 100644
> index 34f4513..0000000
> --- a/buildconfigs/mk.linux-2.6-rc
> +++ /dev/null
> @@ -1,2 +0,0 @@
> -LINUX_VER ?= 2.6-rc
> -include buildconfigs/mk.linux-2.6
> diff --git a/buildconfigs/mk.linux-2.6-tip b/buildconfigs/mk.linux-2.6-tip
> deleted file mode 100644
> index 0588ad2..0000000
> --- a/buildconfigs/mk.linux-2.6-tip
> +++ /dev/null
> @@ -1,2 +0,0 @@
> -LINUX_VER ?= 2.6-tip
> -include buildconfigs/mk.linux-2.6
> diff --git a/buildconfigs/mk.linux-2.6-tip-latest b/buildconfigs/mk.linux-2.6-tip-latest
> deleted file mode 100644
> index 2a0b9af..0000000
> --- a/buildconfigs/mk.linux-2.6-tip-latest
> +++ /dev/null
> @@ -1,17 +0,0 @@
> -XEN_LINUX_SOURCE ?= git-clone
> -LINUX_VER ?= 2.6-x86-latest
> -
> -IMAGE_TARGET ?= bzImage vmlinux
> -
> -XEN_LINUX_CONFIG_UPDATE := buildconfigs/enable-xen-config
> -
> -ifeq ($(GIT_HTTP),y)
> -XEN_LINUX_GIT_URL ?= http://www.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip.git
> -else
> -XEN_LINUX_GIT_URL ?= git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip.git
> -endif
> -XEN_LINUX_GIT_REMOTEBRANCH ?= auto-latest
> -
> -EXTRAVERSION ?=
> -
> -include buildconfigs/mk.linux-2.6-common
> diff --git a/buildconfigs/mk.linux-2.6-xen b/buildconfigs/mk.linux-2.6-xen
> deleted file mode 100644
> index 8594b55..0000000
> --- a/buildconfigs/mk.linux-2.6-xen
> +++ /dev/null
> @@ -1,6 +0,0 @@
> -EXTRAVERSION ?= -xen
> -LINUX_VER    ?= 2.6.18
> -
> -XEN_LINUX_SOURCE ?= hg-clone
> -
> -include buildconfigs/mk.linux-2.6-common
> diff --git a/buildconfigs/mk.linux-2.6-xen0 b/buildconfigs/mk.linux-2.6-xen0
> deleted file mode 100644
> index 96a5712..0000000
> --- a/buildconfigs/mk.linux-2.6-xen0
> +++ /dev/null
> @@ -1,2 +0,0 @@
> -EXTRAVERSION = -xen0
> -include buildconfigs/mk.linux-2.6-xen
> diff --git a/buildconfigs/mk.linux-2.6-xenU b/buildconfigs/mk.linux-2.6-xenU
> deleted file mode 100644
> index 02f3e07..0000000
> --- a/buildconfigs/mk.linux-2.6-xenU
> +++ /dev/null
> @@ -1,2 +0,0 @@
> -EXTRAVERSION = -xenU
> -include buildconfigs/mk.linux-2.6-xen
> diff --git a/buildconfigs/select-linux-arch b/buildconfigs/select-linux-arch
> deleted file mode 100755
> index a5d0856..0000000
> --- a/buildconfigs/select-linux-arch
> +++ /dev/null
> @@ -1,30 +0,0 @@
> -#!/bin/sh
> -
> -ME=$(basename $0)
> -
> -if [ $# -lt 1 ] || [ $# -gt 2 ] ; then
> -    echo "usage: $ME <linux-build-directory>" 1>&2
> -    exit 1;
> -fi
> -
> -LINUX_DIR=$1
> -
> -case ${XEN_TARGET_ARCH} in
> -    x86_32|x86_64)
> -	if [ -d ${LINUX_DIR}/arch/x86 ] ; then
> -	    ARCH=x86
> -	elif [ "${XEN_TARGET_ARCH}" = "x86_32" ] ; then
> -	    ARCH=i386
> -	else
> -	    ARCH=x86_64
> -	fi
> -	;;
> -    *)
> -	ARCH=${XEN_TARGET_ARCH}
> -	;;
> -esac
> -
> -echo "$ME: ${ARCH}" 1>&2
> -echo ${ARCH}
> -
> -exit 0
> diff --git a/buildconfigs/select-linux-image b/buildconfigs/select-linux-image
> deleted file mode 100755
> index 07899f8..0000000
> --- a/buildconfigs/select-linux-image
> +++ /dev/null
> @@ -1,33 +0,0 @@
> -#!/bin/sh
> -
> -ME=$(basename $0)
> -
> -if [ $# -lt 3 ] ; then
> -    echo "usage: $ME <linux-build-directory> <linux-arch> <linux-targets...>" 1>&2
> -    exit 1;
> -fi
> -
> -LINUX_DIR=$1
> -LINUX_ARCH=$2
> -LINUX_TARGET=$3 # We don't care about second and subsequent targets
> -
> -case ${XEN_TARGET_ARCH} in
> -    ia64)
> -	IMAGE=${LINUX_DIR}/arch/ia64/hp/sim/boot/vmlinux.gz
> -	;;
> -    *)
> -	if [ -f ${LINUX_DIR}/arch/${LINUX_ARCH}/boot/${LINUX_TARGET} ] ; then
> -	    IMAGE=${LINUX_DIR}/arch/${LINUX_ARCH}/boot/${LINUX_TARGET}
> -	elif [ -f ${LINUX_DIR}/${LINUX_TARGET} ] ; then
> -	    IMAGE=${LINUX_DIR}/${LINUX_TARGET}
> -	else
> -	    echo "$ME: cannot determine Linux image to use for ${LINUX_ARCH} in ${LINUX_DIR}" 1>&2
> -	    exit 1
> -	fi
> -	;;
> -esac
> -
> -echo "$ME: ${IMAGE}" 1>&2
> -echo ${IMAGE}
> -
> -exit 0
> diff --git a/buildconfigs/select-repository b/buildconfigs/select-repository
> deleted file mode 100755
> index 48ae00f..0000000
> --- a/buildconfigs/select-repository
> +++ /dev/null
> @@ -1,69 +0,0 @@
> -#!/bin/sh
> -
> -ME=$(basename $0)
> -
> -if [ $# -lt 1 ] || [ $# -gt 2 ] ; then
> -    echo "usage: $ME <repository-name> [search-path]" 1>&2
> -    exit 1;
> -fi
> -
> -REPO=$1
> -LINUX_SRC_PATH=$2
> -
> -if [ X"${LINUX_SRC_PATH}" != X ] ; then
> -    echo "$ME: Searching \`${LINUX_SRC_PATH}' for $REPO" 1>&2
> -    IFS_saved="$IFS"
> -    IFS=:
> -    for i in $LINUX_SRC_PATH ; do
> -	# Ignore current directory since we will almost certainly find
> -	# the target directory there which breaks updating (there's no
> -	# point updating from yourself!).
> -	if [ X"." = X"${i}" ] ; then
> -	    echo "$ME: Ignoring \`.'" 1>&2
> -	    continue
> -	fi
> -
> -	if [ -d "$i/$REPO/.hg" ] ; then
> -	    echo "$ME: Found $i/$REPO" 1>&2
> -	    echo "$i/$REPO"
> -	    exit 0
> -	fi
> -    done
> -    IFS="$IFS_saved"
> -fi
> -
> -if [ -d ${XEN_ROOT}/.hgxxx ] ; then
> -    XEN=$(hg -R ${XEN_ROOT} path default)
> -    if [ $? -ne 0 ] || [ X"$XEN" = "X" ] ; then
> -	echo "$ME: Unable to determine Xen repository parent." 1>&2
> -	exit 1;
> -    fi
> -
> -    BASE=$(dirname ${XEN})
> -    if [ $? -ne 0 ] || [ X"$BASE" = "X" ] ; then
> -	echo "$ME: Unable to determine Xen repository base." 1>&2
> -	exit 1;
> -    fi
> -    if [ -d "$XEN" ] && [ ! -d "$BASE/$REPO" ] ; then
> -	echo "$ME: No such dir: $BASE/$REPO" 1>&2
> -	exit 1
> -    fi
> -
> -    echo "$ME: Found ${BASE}/${REPO}" 1>&2
> -
> -    # If ${BASE}/${REPO} is a local directory then prepend file:// so that
> -    # the test in src.hg-clone will fail and we will clone instead of
> -    # linking this repository. We only want to link repositories which
> -    # were found via LINUX_SRC_PATH.
> -    if [ -d "${BASE}/${REPO}" ] ; then
> -	echo "file://${BASE}/${REPO}"
> -    else
> -	echo ${BASE}/${REPO}
> -    fi
> -else
> -    echo "Unable to determine path to Linux source tree." 1>&2
> -    echo "Falling back to linux-2.6.18-xen Mercurial repository." 1>&2
> -    echo http://xenbits.xen.org/linux-2.6.18-xen.hg
> -fi
> -
> -exit 0
> diff --git a/buildconfigs/src.git-clone b/buildconfigs/src.git-clone
> deleted file mode 100644
> index 35865e1..0000000
> --- a/buildconfigs/src.git-clone
> +++ /dev/null
> @@ -1,32 +0,0 @@
> -# Mercurial
> -GIT ?= git
> -
> -LINUX_SRCDIR ?= linux-$(LINUX_VER).git
> -
> -# The URL of the remote GIT repository
> -ifeq ($(XEN_LINUX_GIT_URL),)
> -.ERROR: XEN_LINUX_GIT_URL not specified
> -endif
> -
> -# The branch in the remote repository
> -ifeq ($(XEN_LINUX_GIT_REMOTEBRANCH),)
> -.ERROR: XEN_LINUX_GIT_REMOTEBRANCH not specified
> -endif
> -
> -XEN_GIT_ORIGIN ?= xen
> -
> -XEN_LINUX_GIT_LOCALBRANCH ?= $(XEN_LINUX_GIT_REMOTEBRANCH)
> -
> -# Set XEN_LINUX_GITREV to update to a particlar revision.
> -XEN_LINUX_GITREV  ?= $(XEN_GIT_ORIGIN)/$(XEN_LINUX_GIT_REMOTEBRANCH)
> -
> -$(LINUX_SRCDIR)/.valid-src: $(__XEN_LINUX_UPDATE)
> -	set -ex; \
> -	if ! [ -d $(LINUX_SRCDIR) ]; then \
> -		rm -rf $(LINUX_SRCDIR) $(LINUX_SRCDIR).tmp; \
> -		mkdir $(LINUX_SRCDIR).tmp; rmdir $(LINUX_SRCDIR).tmp; \
> -		$(GIT) clone -o $(XEN_GIT_ORIGIN) -n $(XEN_LINUX_GIT_URL) $(LINUX_SRCDIR).tmp; \
> -		(cd $(LINUX_SRCDIR).tmp; git checkout -b $(XEN_LINUX_GIT_LOCALBRANCH) $(XEN_LINUX_GITREV) ); \
> -		mv $(LINUX_SRCDIR).tmp $(LINUX_SRCDIR); \
> -	fi
> -	touch $@
> diff --git a/buildconfigs/src.hg-clone b/buildconfigs/src.hg-clone
> deleted file mode 100644
> index 0586bc8..0000000
> --- a/buildconfigs/src.hg-clone
> +++ /dev/null
> @@ -1,32 +0,0 @@
> -# Mercurial
> -HG ?= hg
> -
> -LINUX_SRCDIR ?= linux-$(LINUX_VER)-xen.hg
> -
> -# Repository to clone.
> -XEN_LINUX_HGREPO ?= $$(sh buildconfigs/select-repository $(LINUX_SRCDIR) $(LINUX_SRC_PATH))
> -
> -# Set XEN_LINUX_HGREV to update to a particlar revision.
> -XEN_LINUX_HGREV  ?= tip
> -
> -$(LINUX_SRCDIR)/.valid-src: $(__XEN_LINUX_UPDATE)
> -	set -e ; \
> -	if [ ! -e $(LINUX_SRCDIR)/.hg ] ; then \
> -	    __repo=$(XEN_LINUX_HGREPO) ; \
> -	    if [ -d $${__repo} ] ; then \
> -	        echo "Linking $${__repo} to $(LINUX_SRCDIR)." ; \
> -	        ln -s $${__repo} $(LINUX_SRCDIR) ; \
> -	    else \
> -	        echo "Cloning $${__repo} to $(LINUX_SRCDIR)." ; \
> -	        $(HG) clone $${__repo#file://} $(LINUX_SRCDIR) ; \
> -	    fi ; \
> -	else \
> -	    __parent=$$($(HG) -R $(LINUX_SRCDIR) path default) ; \
> -	    echo "Pulling changes from $${__parent} into $(LINUX_SRCDIR)." ; \
> -	    $(HG) -R $(LINUX_SRCDIR) pull $${__parent} ; \
> -	fi
> -	set -e ; if [ -n "$(XEN_LINUX_HGREV)" ] ; then \
> -	    echo "Updating $(LINUX_SRCDIR) to revision $(XEN_LINUX_HGREV)." ; \
> -	    ( cd $(LINUX_SRCDIR) && $(HG) update $(XEN_LINUX_HGREV) ); \
> -	fi
> -	touch $@
> diff --git a/buildconfigs/src.tarball b/buildconfigs/src.tarball
> deleted file mode 100644
> index 2101e1a..0000000
> --- a/buildconfigs/src.tarball
> +++ /dev/null
> @@ -1,19 +0,0 @@
> -XEN_LINUX_MIRROR ?= http://www.kernel.org/pub/linux/kernel/v2.6/
> -XEN_LINUX_TARBALL ?= linux-$(LINUX_VER)-xen.tar.bz2
> -
> -LINUX_SRCDIR ?= linux-$(LINUX_VER)
> -
> -KETCHUP ?= python buildconfigs/ketchup
> -
> -vpath linux-%.tar.bz2 $(LINUX_SRC_PATH)
> -
> -# download a pristine Linux kernel tarball if there isn't one in LINUX_SRC_PATH
> -linux-%.tar.bz2:
> -	@echo "Cannot find $@ in path $(LINUX_SRC_PATH)"
> -	false wget $(XEN_LINUX_MIRROR)/$@ -O./$@
> -
> -# XXX create a pristine tree for diff -Nurp convenience
> -
> -%/.valid-src: $(__XEN_LINUX_UPDATE)
> -	$(KETCHUP) -d $(@D) $(LINUX_VER)
> -	touch $@ # update timestamp to avoid rebuild
> diff --git a/config/Linux.mk b/config/Linux.mk
> index 10d84af..b421a1c 100644
> --- a/config/Linux.mk
> +++ b/config/Linux.mk
> @@ -1,8 +1 @@
>  include $(XEN_ROOT)/config/StdGNU.mk
> -
> -# You may use wildcards, e.g. KERNELS=*2.6*
> -KERNELS ?= 
> -
> -XKERNELS := $(foreach kernel, $(KERNELS), \
> -              $(patsubst buildconfigs/mk.%,%, \
> -                $(wildcard buildconfigs/mk.$(kernel))) )
> diff --git a/configure b/configure
> index c2c724a..d5c8500 100755
> --- a/configure
> +++ b/configure
> @@ -592,7 +592,6 @@ SUBSYSTEMS
>  docs
>  stubdom
>  tools
> -kernels
>  xen
>  subdirs
>  host_os
> @@ -645,7 +644,6 @@ ac_subst_files=''
>  ac_user_opts='
>  enable_option_checking
>  enable_xen
> -enable_kernels
>  enable_tools
>  enable_stubdom
>  enable_docs
> @@ -654,7 +652,6 @@ enable_docs
>  host_alias
>  target_alias'
>  ac_subdirs_all='xen
> -kernels
>  tools
>  stubdom
>  docs'
> @@ -1271,7 +1268,6 @@ Optional Features:
>    --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
>    --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
>    --disable-xen           Disable build and install of xen
> -  --disable-kernels       Disable build and install of kernels
>    --disable-tools         Disable build and install of tools
>    --enable-stubdom        Enable build and install of stubdom
>    --disable-docs          Disable build and install of docs
> @@ -1891,52 +1887,6 @@ fi
>  
> 
> 
> -# Check whether --enable-kernels was given.
> -if test "${enable_kernels+set}" = set; then :
> -  enableval=$enable_kernels;
> -
> -if test "x$enableval" = "xyes"; then :
> -
> -
> -kernels=y
> -SUBSYSTEMS="$SUBSYSTEMS kernels"
> -
> -
> -else
> -
> -if test "x$enableval" = "xno"; then :
> -
> -
> -kernels=n
> -
> -
> -fi
> -
> -fi
> -
> -
> -else
> -
> -
> -kernels=y
> -SUBSYSTEMS="$SUBSYSTEMS kernels"
> -
> -
> -fi
> -
> -
> -if test -e "kernels/configure"; then :
> -
> -if test "x$kernels" = "xy" || test "x$kernels" = "x" ; then
> -    subdirs="$subdirs kernels"
> -
> -fi
> -
> -fi
> -
> -
> -
> -
>  # Check whether --enable-tools was given.
>  if test "${enable_tools+set}" = set; then :
>    enableval=$enable_tools;
> diff --git a/configure.ac b/configure.ac
> index ce06dad..6c14524 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -23,7 +23,6 @@ case "$host_cpu" in
>  esac
>  
>  AX_SUBSYSTEM_DEFAULT_ENABLE([xen])
> -AX_SUBSYSTEM_DEFAULT_ENABLE([kernels])
>  AX_SUBSYSTEM_DEFAULT_ENABLE([tools])
>  AX_SUBSYSTEM_CONDITIONAL([stubdom], $arch_enable_stubdom)
>  AX_SUBSYSTEM_DEFAULT_ENABLE([docs])
Jan Beulich March 26, 2014, 5:06 p.m. UTC | #2
>>> On 26.03.14 at 17:55, <Ian.Campbell@citrix.com> wrote:
> On Wed, 2014-03-19 at 11:48 +0000, Ian Campbell wrote:
>> We haven't shipped a XenoLinux kernel for more releases than I can remember.
>> We held onto these because osstest was using them but this is no longer the
>> case.
>> 
>> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
> 
> The osstest changes have now passed osstests own gate, I think we could
> push this one now, I'm not entirely sure who needs to ack it though...

Keir is the only one who can.

Jan
Ian Campbell April 3, 2014, 4:36 p.m. UTC | #3
On Wed, 2014-03-26 at 17:06 +0000, Jan Beulich wrote:
> >>> On 26.03.14 at 17:55, <Ian.Campbell@citrix.com> wrote:
> > On Wed, 2014-03-19 at 11:48 +0000, Ian Campbell wrote:
> >> We haven't shipped a XenoLinux kernel for more releases than I can remember.
> >> We held onto these because osstest was using them but this is no longer the
> >> case.
> >> 
> >> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
> > 
> > The osstest changes have now passed osstests own gate, I think we could
> > push this one now, I'm not entirely sure who needs to ack it though...
> 
> Keir is the only one who can.

Keir, any objections to removing the Linux kernel build integration from
xen.git?

Ian.
Ian Jackson April 8, 2014, 2:55 p.m. UTC | #4
Ian Campbell writes ("[PATCH xen.git 1/1] build: remove Linux kernel build integration."):
> We haven't shipped a XenoLinux kernel for more releases than I can remember.
> We held onto these because osstest was using them but this is no longer the
> case.

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

Long overdue IMO.

Ian.
Ian Campbell April 8, 2014, 3:11 p.m. UTC | #5
On Tue, 2014-04-08 at 15:55 +0100, Ian Jackson wrote:
> Ian Campbell writes ("[PATCH xen.git 1/1] build: remove Linux kernel build integration."):
> > We haven't shipped a XenoLinux kernel for more releases than I can remember.
> > We held onto these because osstest was using them but this is no longer the
> > case.
> 
> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

Ta.

When I came to apply it didn't actually build, due to a spurious include
of buildconfigs/Rules.mk in the top level Makefile which missed before.

And then it didn't build due to the fact that apparently that file was
where the export of DESTDIR actually happened.

Anyway, I'll sort this and send a v2...

> Long overdue IMO.

Indeed.
diff mbox

Patch

diff --git a/Makefile b/Makefile
index 91ca280..e46f5f1 100644
--- a/Makefile
+++ b/Makefile
@@ -7,7 +7,7 @@ 
 all: dist
 
 -include config/Toplevel.mk
-SUBSYSTEMS?=xen kernels tools stubdom docs
+SUBSYSTEMS?=xen tools stubdom docs
 TARGS_DIST=$(patsubst %, dist-%, $(SUBSYSTEMS))
 TARGS_INSTALL=$(patsubst %, install-%, $(SUBSYSTEMS))
 
@@ -15,7 +15,7 @@  export XEN_ROOT=$(CURDIR)
 include Config.mk
 
 SUBARCH := $(subst x86_32,i386,$(XEN_TARGET_ARCH))
-export XEN_TARGET_ARCH SUBARCH XEN_SYSTYPE
+export XEN_TARGET_ARCH SUBARCH
 include buildconfigs/Rules.mk
 
 # build and install everything into the standard system directories
@@ -23,7 +23,7 @@  include buildconfigs/Rules.mk
 install: $(TARGS_INSTALL)
 
 .PHONY: build
-build: kernels
+build:
 	$(MAKE) -C xen build
 	$(MAKE) -C tools build
 	$(MAKE) -C stubdom build
@@ -54,17 +54,12 @@  dist-%: install-%
 	@: # do nothing
 
 # Legacy dist targets
-.PHONY: xen tools stubdom kernels docs
+.PHONY: xen tools stubdom docs
 xen: dist-xen
 tools: dist-tools
-kernels: dist-kernels
 stubdom: dist-stubdom
 docs: dist-docs
 
-.PHONY: prep-kernels
-prep-kernels:
-	for i in $(XKERNELS) ; do $(MAKE) $$i-prep || exit 1; done
-
 .PHONY: install-xen
 install-xen:
 	$(MAKE) -C xen install
@@ -95,10 +90,6 @@  endif
 install-tools: $(QEMU_TRAD_DIR_TARGET) $(QEMU_XEN_DIR_TARGET)
 	$(MAKE) -C tools install
 
-.PHONY: install-kernels
-install-kernels:
-	for i in $(XKERNELS) ; do $(MAKE) $$i-install || exit 1; done
-
 .PHONY: install-stubdom
 install-stubdom: $(QEMU_TRAD_DIR_TARGET) install-tools
 	$(MAKE) -C stubdom install
@@ -122,27 +113,12 @@  install-docs:
 dev-docs:
 	$(MAKE) -C docs dev-docs
 
-# Build all the various kernels and modules
-.PHONY: kbuild
-kbuild: kernels
-
-# Delete the kernel build trees entirely
-.PHONY: kdelete
-kdelete:
-	for i in $(XKERNELS) ; do $(MAKE) $$i-delete ; done
-
-# Clean the kernel build trees
-.PHONY: kclean
-kclean:
-	for i in $(XKERNELS) ; do $(MAKE) $$i-clean ; done
-
-# build xen, the tools, and a domain 0 plus unprivileged linux-xen images,
-# and place them in the install directory. 'make install' should then
-# copy them to the normal system directories
+# build xen and the tools and place them in the install
+# directory. 'make install' should then copy them to the normal system
+# directories
 .PHONY: world
 world: 
 	$(MAKE) clean
-	$(MAKE) kdelete
 	$(MAKE) dist
 
 # Package a build in a debball file, that is inside a .deb format
@@ -159,7 +135,6 @@  debball: dist
 rpmball: dist
 	bash ./tools/misc/mkrpm $(XEN_ROOT) $$($(MAKE) -C xen xenversion --no-print-directory)
 
-# clean doesn't do a kclean
 .PHONY: clean
 clean::
 	$(MAKE) -C xen clean
@@ -170,7 +145,7 @@  ifeq (x86_64,$(XEN_TARGET_ARCH))
 endif
 	$(MAKE) -C docs clean
 
-# clean, but blow away kernel build tree plus tarballs
+# clean, but blow away tarballs
 .PHONY: distclean
 distclean:
 	rm -f config/Toplevel.mk
@@ -181,9 +156,7 @@  ifeq (x86_64,$(XEN_TARGET_ARCH))
 	XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom distclean
 endif
 	$(MAKE) -C docs distclean
-	rm -rf dist patches/tmp
-	for i in $(ALLKERNELS) ; do $(MAKE) $$i-delete ; done
-	rm -rf patches/*/.makedep
+	rm -rf dist
 	rm -rf config.log config.status config.cache autom4te.cache
 
 # Linux name for GNU distclean
@@ -203,19 +176,15 @@  help:
 	@echo '  install          - build and install everything'
 	@echo '  install-xen      - build and install the Xen hypervisor'
 	@echo '  install-tools    - build and install the control tools'
-	@echo '  install-kernels  - build and install guest kernels'
 	@echo '  install-stubdom  - build and install the stubdomain images'
 	@echo '  install-docs     - build and install user documentation'
 	@echo ''
 	@echo 'Building targets:'
 	@echo '  dist             - build and install everything into local dist directory'
-	@echo '  world            - clean everything, delete guest kernel build'
-	@echo '                     trees then make dist'
+	@echo '  world            - clean everything then make dist'
 	@echo '  xen              - build and install Xen hypervisor'
 	@echo '  tools            - build and install tools'
 	@echo '  stubdom          - build and install the stubdomain images'
-	@echo '  kernels          - build and install guest kernels'
-	@echo '  kbuild           - synonym for make kernels'
 	@echo '  docs             - build and install user documentation'
 	@echo '  dev-docs         - build developer-only documentation'
 	@echo ''
@@ -223,11 +192,8 @@  help:
 	@echo '  clean            - clean the Xen, tools and docs (but not guest kernel trees)'
 	@echo '  distclean        - clean plus delete kernel build trees and'
 	@echo '                     local downloaded files'
-	@echo '  kdelete          - delete guest kernel build trees'
-	@echo '  kclean           - clean guest kernel build trees'
 	@echo ''
 	@echo 'Miscellaneous targets:'
-	@echo '  prep-kernels     - prepares kernel directories, does not build'
 	@echo '  uninstall        - attempt to remove installed Xen tools'
 	@echo '                     (use with extreme care!)'
 	@echo
@@ -255,11 +221,6 @@  uninstall:
 	make -C tools uninstall
 	rm -rf $(D)/boot/tboot*
 
-# Legacy targets for compatibility
-.PHONY: linux26
-linux26:
-	$(MAKE) 'KERNELS=linux-2.6*' kernels
-
 .PHONY: xenversion
 xenversion:
 	@$(MAKE) --no-print-directory -C xen xenversion
diff --git a/buildconfigs/Rules.mk b/buildconfigs/Rules.mk
deleted file mode 100644
index ee61cf6..0000000
--- a/buildconfigs/Rules.mk
+++ /dev/null
@@ -1,42 +0,0 @@ 
-
-include Config.mk
-
-export DESTDIR
-
-ALLKERNELS = $(patsubst buildconfigs/mk.%,%,$(wildcard buildconfigs/mk.*))
-
-%-install:
-	$(MAKE) -f buildconfigs/mk.$* build
-
-%-dist: DESTDIR=$(DISTDIR)/install
-%-dist: %-install
-	@: # do nothing
-
-# Legacy dist target
-%-build: %-dist
-	@: # do nothing
-
-%-prep: DESTDIR=$(DISTDIR)/install
-%-prep:
-	$(MAKE) -f buildconfigs/mk.$* prep
-
-%-config: DESTDIR=$(DISTDIR)/install
-%-config:
-	$(MAKE) -f buildconfigs/mk.$* config
-
-%-delete:
-	$(MAKE) -f buildconfigs/mk.$* delete
-
-%-clean:
-	$(MAKE) -f buildconfigs/mk.$* clean
-
-%.patch:
-	$(MAKE) -f buildconfigs/mk.$* $@
-
-%-mrproper:
-	$(MAKE) -f buildconfigs/mk.$*-xen mrproper
-	rm -rf pristine-$(*)* ref-$(*)*
-	rm -rf $*-xen.patch
-
-# never delete any intermediate files.
-.SECONDARY:
diff --git a/buildconfigs/enable-xen-config b/buildconfigs/enable-xen-config
deleted file mode 100644
index 7ee4d37..0000000
--- a/buildconfigs/enable-xen-config
+++ /dev/null
@@ -1,127 +0,0 @@ 
-#!/bin/sh
-
-set -e
-
-if [ $# -ne 1 ] ; then
-	echo "Usage $(basename $0) <config-file>" 1>&2
-	exit 1
-fi
-
-CONFIG=$1
-
-setopt()
-{
-	OPTION=$1
-	VALUE=$2
-
-	# First remove any existing instances of this option
-	sed -e "s/^# ${OPTION} is not set$//g ; s/^${OPTION}=.*$//g" -i "${CONFIG}"
-
-	# Then append the new value
-	case ${VALUE} in
-	    n)     echo "# ${OPTION} is not set" >> "${CONFIG}" ;;
-	    y|m|*) echo "${OPTION}=${VALUE}" >> "${CONFIG}" ;;
-	esac
-}
-
-setopt CONFIG_PARAVIRT y
-setopt CONFIG_PARAVIRT_DEBUG y
-setopt CONFIG_PARAVIRT_GUEST y
-setopt CONFIG_PARAVIRT_SPINLOCKS y
-
-setopt CONFIG_XEN y
-setopt CONFIG_XEN_BLKDEV_FRONTEND y
-setopt CONFIG_XEN_NETDEV_FRONTEND y
-setopt CONFIG_XEN_KBDDEV_FRONTEND y
-setopt CONFIG_XEN_FBDEV_FRONTEND y
-setopt CONFIG_XEN_PCIDEV_FRONTEND y
-setopt CONFIG_XEN_BALLOON y
-setopt CONFIG_XEN_SCRUB_PAGES y
-setopt CONFIG_XEN_DEV_EVTCHN y
-setopt CONFIG_XEN_BACKEND y
-setopt CONFIG_XEN_BLKDEV_BACKEND y
-setopt CONFIG_XEN_BLKDEV_TAP y
-setopt CONFIG_XEN_NETDEV_BACKEND y
-setopt CONFIG_XEN_PCIDEV_BACKEND y
-setopt CONFIG_XEN_PCIDEV_BACKEND_VPCI y
-setopt CONFIG_XEN_PCIDEV_BACKEND_PASS n
-setopt CONFIG_XEN_PCIDEV_BACKEND_SLOT n
-setopt CONFIG_XEN_PCIDEV_BE_DEBUG n
-setopt CONFIG_XENFS y
-setopt CONFIG_XEN_COMPAT_XENFS y
-setopt CONFIG_XEN_PCI_PASSTHROUGH y
-setopt CONFIG_HVC_XEN y
-setopt CONFIG_XEN_MAX_DOMAIN_MEMORY 32
-setopt CONFIG_XEN_DEBUG_FS y
-setopt CONFIG_XEN_DOM0 y
-setopt CONFIG_XEN_SYS_HYPERVISOR y
-setopt CONFIG_XEN_GNTDEV y
-setopt CONFIG_XEN_PLATFORM_PCI y
-
-setopt CONFIG_VMI y
-setopt CONFIG_TUN y
-
-setopt CONFIG_KVM y
-setopt CONFIG_KVM_INTEL y
-setopt CONFIG_KVM_AMD y
-setopt CONFIG_KVM_CLOCK y
-setopt CONFIG_KVM_GUEST n
-setopt CONFIG_KVM_TRACE n
-
-setopt CONFIG_LGUEST n
-
-setopt CONFIG_LOCALVERSION_AUTO n
-
-setopt CONFIG_BRIDGE y
-
-setopt CONFIG_DEBUG_STACK_USAGE n
-
-setopt CONFIG_MEMORY_HOTPLUG y
-setopt CONFIG_MEMORY_HOTREMOVE y
-
-setopt CONFIG_MIGRATION n
-
-setopt CONFIG_ACPI_HOTPLUG_MEMORY n
-
-# Should all be set one way or another in defconfig but aren't
-setopt CONFIG_NUMA n
-setopt CONFIG_X86_VSMP n
-setopt CONFIG_X86_UV n
-setopt CONFIG_CALGARY_IOMMU n
-setopt CONFIG_AMD_IOMMU n
-setopt CONFIG_MAXSMP n
-setopt CONFIG_SPARSEMEM_VMEMMAP n
-setopt CONFIG_I7300_IDLE n
-setopt CONFIG_DMAR n
-setopt CONFIG_INTR_REMAP n
-setopt CONFIG_GFS2_FS n
-setopt CONFIG_IOMMU_DEBUG n
-setopt CONFIG_X86_MCE_INTEL n
-setopt CONFIG_X86_MCE_AMD n
-setopt CONFIG_CRYPTO_AES_NI_INTEL n
-setopt CONFIG_CISS_SCSI_TAPE n
-
-setopt CONFIG_FUSION y
-setopt CONFIG_FUSION_SPI m
-setopt CONFIG_FUSION_SAS m
-setopt CONFIG_FUSION_FC m
-setopt CONFIG_FUSION_MAX_SGE 128
-setopt CONFIG_FUSION_CTL n
-setopt CONFIG_FUSION_LOGGING n
-
-setopt CONFIG_BLK_CPQ_CISS_DA m
-
-case ${XEN_TARGET_ARCH} in
-    x86_32) setopt CONFIG_64BIT n ;;
-    x86_64)
-	setopt CONFIG_64BIT y
-	setopt CONFIG_IA32_EMULATION y
-	setopt CONFIG_IA32_AOUT n
-	setopt CONFIG_CRYPTO_AES_X86_64 n
-	setopt CONFIG_CRYPTO_SALSA20_X86_64 n
-	setopt CONFIG_CRYPTO_TWOFISH_X86_64 n
-	;;
-    *) ;;
-esac
-
-exit 0
diff --git a/buildconfigs/interface.exclude b/buildconfigs/interface.exclude
deleted file mode 100644
index 1df89a5..0000000
--- a/buildconfigs/interface.exclude
+++ /dev/null
@@ -1,7 +0,0 @@ 
-*.size
-*.pyc
-checker
-checker.c
-ia64.h
-x86_32.h
-x86_64.h
diff --git a/buildconfigs/ketchup b/buildconfigs/ketchup
deleted file mode 100644
index 8725f7d..0000000
--- a/buildconfigs/ketchup
+++ /dev/null
@@ -1,742 +0,0 @@ 
-#!/usr/bin/python
-#
-# ketchup 0.9.8
-# http://selenic.com/ketchup/wiki
-#
-# Copyright 2004 Matt Mackall <mpm@selenic.com>
-#
-# This software may be used and distributed according to the terms
-# of the GNU General Public License, incorporated herein by reference.
-#
-# Usage:
-#
-# in an existing kernel directory, run:
-#
-#  ketchup <version>
-#
-# where version is a complete kernel version, or a branch name to grab
-# the latest version
-#
-# You can override some variables by creating a ~/.ketchuprc file.
-# The ~/.ketchuprc is just a Python script, eg. it might look like this:
-#
-# kernel_url = 'http://kernel.localdomain/pub/linux/kernel'
-# archive = os.environ["HOME"] + '/tmp/ketchup-archive'
-# gpg = '/weird/path/to/gpg'
-#
-
-import re, sys, urllib, os, getopt, glob, shutil
-
-def error(*args):
-    sys.stderr.write("ketchup: ")
-    for a in args:
-        sys.stderr.write(str(a))
-        sys.stderr.write("\n")
-
-def qprint(*args):
-    if not options["quiet"]:
-        sys.stdout.write(" ".join(map(str, args)))
-        sys.stdout.write("\n")
-
-def lprint(*args):
-    sys.stdout.write(" ".join(map(str, args)))
-    sys.stdout.write("\n")
-
-
-def fancyopts(args, options, state, syntax=''):
-    long = []
-    short = ''
-    map = {}
-    dt = {}
-
-    def help(state, opt, arg, options = options, syntax = syntax):
-        lprint("Usage: ", syntax)
-
-        for s, l, d, c in options:
-            opt = ' '
-            if s: opt = opt + '-' + s + ' '
-            if l: opt = opt + '--' + l + ' '
-            if d: opt = opt + '(' + str(d) + ')'
-            lprint(opt)
-            if c: lprint('   %s' % c)
-        sys.exit(0)
-
-    options = [('h', 'help', help, 'Show usage info')] + options
-
-    for s, l, d, c in options:
-        map['-'+s] = map['--'+l]=l
-        state[l] = d
-        dt[l] = type(d)
-        if not d is None and not type(d) is type(help): s, l = s + ':', l + '='
-        if s: short = short + s
-        if l: long.append(l)
-
-    if os.environ.has_key("KETCHUP_OPTS"):
-        args = os.environ["KETCHUP_OPTS"].split() + args
-
-    try:
-        opts, args = getopt.getopt(args, short, long)
-    except getopt.GetoptError:
-        help(state, None, args)
-        sys.exit(-1)
-
-    for opt, arg in opts:
-        if dt[map[opt]] is type(help): state[map[opt]](state,map[opt],arg)
-        elif dt[map[opt]] is type(1): state[map[opt]] = int(arg)
-        elif dt[map[opt]] is type(''): state[map[opt]] = arg
-        elif dt[map[opt]] is type([]): state[map[opt]].append(arg)
-        elif dt[map[opt]] is type(None): state[map[opt]] = 1
-
-    return args
-
-# Default values
-kernel_url = 'http://www.kernel.org/pub/linux/kernel'
-archive = os.environ["HOME"] + "/.ketchup"
-rename_prefix = 'linux-'
-rename_with_localversion = False
-wget = "/usr/bin/wget"
-gpg = "/usr/bin/gpg"
-precommand = postcommand = None
-default_tree = None
-local_trees = {}
-
-# Functions to parse version strings
-
-def tree(ver):
-    return float(re.match(r'(\d+\.\d+)', ver).group(1))
-
-def rev(ver):
-    p = pre(ver)
-    r = int(re.match(r'\d+\.\d+\.(\d+)', ver).group(1))
-    if p: r = r - 1
-    return r
-
-def pre(ver):
-    try: return re.match(r'\d+\.\d+\.\d+(\.\d+)?-((rc|pre)\d+)', ver).group(2)
-    except: return None
-
-def post(ver):
-    try: return re.match(r'\d+\.\d+\.\d+\.(\d+)', ver).group(1)
-    except: return None
-
-def pretype(ver):
-    try: return re.match(r'\d+\.\d+\.\d+(\.\d+)?-((rc|pre)\d+)', ver).group(3)
-    except: return None
-
-def prenum(ver):
-    try: return int(re.match(r'\d+\.\d+\.\d+-((rc|pre)(\d+))', ver).group(3))
-    except: return None
-
-def prebase(ver):
-    return re.match(r'(\d+\.\d+\.\d+((-(rc|pre)|\.)\d+)?)', ver).group(1)
-
-def revbase(ver):
-    return "%s.%s" % (tree(ver), rev(ver))
-
-def base(ver):
-    v = revbase(ver)
-    if post(ver): v += "." + post(ver)
-    return v
-
-def forkname(ver):
-    try: return re.match(r'\d+.\d+.\d+(\.\d+)?(-(rc|pre)\d+)?(-(\w+?)\d+)?',
-                         ver).group(5)
-    except: return None
-
-def forknum(ver):
-    try: return int(
-        re.match(r'\d+.\d+.\d+(\.\d+)?(-(rc|pre)\d+)?(-(\w+?)(\d+))?',
-                 ver).group(6))
-    except: return None
-
-def fork(ver):
-    try: return re.match(r'\d+.\d+.\d+(\.\d+)?(-(rc|pre)\d+)?(-(\w+))?', ver).group(4)
-    except: return None
-
-def get_ver(makefile):
-    """ Read the version information from the specified makefile """
-    part = {}
-    parts = "VERSION PATCHLEVEL SUBLEVEL EXTRAVERSION".split(' ')
-    m = open(makefile)
-    for l in m.readlines():
-        for p in parts:
-            try: part[p] = re.match(r'%s\s*=\s*(\S+)' % p, l).group(1)
-            except: pass
-
-    version = "%s.%s.%s" % tuple([part[p] for p in parts[:3]])
-    version += part.get("EXTRAVERSION","")
-    return version
-
-def get_localversion():
-    v = ''
-
-    for name in glob.glob('localversion*'):
-        try: v += open(name).readline().strip()
-        except: pass
-
-    try:
-        c = open('.config').read()
-        v += re.search(r'^CONFIG_LOCALVERSION="(.+)"', c, re.M).group(1)
-    except: pass
-
-    return v
-
-def compare_ver(a, b):
-    """
-    Compare kernel versions a and b
-
-    Note that -pre and -rc versions sort before the version they modify,
-    -pre sorts before -rc, -bk, -git, and -mm, etc. sort alphabetically.
-    """
-    if a == b: return 0
-
-    c = cmp(float(tree(a)), float(tree(b)))
-    if c: return c
-    c = cmp(rev(a), rev(b))
-    if c: return c
-    c = cmp(int(post(a) or 0), int(post(b) or 0))
-    if c: return c
-    c = cmp(pretype(a), pretype(b)) # pre sorts before rc
-    if c: return c
-    c = cmp(prenum(a), prenum(b))
-    if c: return c
-    c = cmp(forkname(a), forkname(b))
-    if c: return c
-    return cmp(forknum(a), forknum(b))
-
-def last(url, pat="(.*/)"):
-    for l in urllib.urlopen(url).readlines():
-        m = re.search('(?i)<a href="%s">' % pat, l)
-        if m: n = m.group(1)
-    return n
-
-def latest_mm(url, pat):
-    url = kernel_url + '/people/akpm/patches/2.6/'
-    url += last(url)
-    part = last(url)
-    return part[:-1]
-
-def latest_ck(url, pat):
-    url = "http://ck.kolivas.org/patches/2.6/pre-releases/"
-    url += last(url)
-    part = last(url)
-    pre = part[:-1]
-
-    url = "http://ck.kolivas.org/patches/2.6/"
-    url += last(url,"(2.6.*/)")
-    part = last(url)
-    rel = part[:-1]
-
-    l = [pre, rel]
-    l.sort(compare_ver)
-    return l[-1]
-
-def latest_dir(url, pat):
-    """Find the latest link matching pat at url after sorting"""
-    p = []
-    for l in urllib.urlopen(url).readlines():
-        m = re.search('"%s"' % pat, l)
-        if m: p.append(m.group(1))
-
-    if not p: return None
-
-    p.sort(compare_ver)
-    return p[-1]
-
-# mbligh is lazy and has a bunch of empty directories
-def latest_mjb(url, pat):
-    url = kernel_url + '/people/mbligh/'
-
-    # find the last Linus release and search backwards
-    l = [find_ver('2.6'), find_ver("2.6-pre")]
-    l.sort(compare_ver)
-    linus = l[-1]
-
-    p = []
-    for l in urllib.urlopen(url).readlines():
-        m = re.search('"(2\.6\..*/)"', l)
-        if m:
-            v = m.group(1)
-            if compare_ver(v, linus) <= 0:
-                p.append(v)
-
-    p.sort(compare_ver)
-    p.reverse()
-
-    for ver in p:
-        mjb = latest_dir(url + ver, pat)
-        if mjb: return mjb
-
-    return None
-
-def latest_26_tip(url, pat):
-    l = [find_ver('2.6'), find_ver('2.6-git'), find_ver('2.6-pre')]
-    l.sort(compare_ver)
-    return l[-1]
-
-def find_info(ver):
-    b = "%.1f" % tree(ver)
-    f = forkname(ver)
-    p = pre(ver)
-
-    s = b
-    if f:
-        s = "%s-%s" % (b, f)
-    elif p:
-        s = "%s-pre" % b
-
-    return version_info[s]
-
-def version_urls(ver):
-    """ Return the URL for the patch associated with the specified version """
-    i = find_info(ver)[1]
-    if type(i) != type([]):
-        i = [i]
-
-    v = {
-        'full': ver,
-        'tree': tree(ver),
-        'base': base(ver),
-        'prebase': prebase(ver)
-        }
-
-    l = []
-    for e in i:
-        l.append(e % v)
-
-    return l
-
-def patch_path(ver):
-    return os.path.join(archive, os.path.basename(version_urls(ver)[0]))
-
-def download(url, f):
-    qprint("Downloading %s" % os.path.basename(url))
-    if options["dry-run"]:
-        return 1
-
-    if not options["wget"]:
-        p = urllib.urlopen(url).read()
-        if p.find("<title>404") != -1:
-            return None
-        open(f, 'w').write(p)
-    else:
-        e = os.system("%s -c -O %s %s" %
-                      (options["wget"], f + ".partial", url))
-        if e:
-            return None
-        os.rename(f + ".partial", f)
-
-    return 1
-
-def verify(url, f, sign):
-    if options["no-gpg"] or options["dry-run"] or not options["gpg-path"]:
-        return 1
-
-    sf = f + sign
-    if not download(url + sign, sf):
-        error("signature download failed")
-        error("removing files...")
-        os.unlink(f)
-        return 0
-
-    qprint("Verifying signature...")
-    r = os.system("%s --verify %s %s" % (options["gpg-path"], sf, f))
-    if r:
-        error("gpg returned %d" % r)
-        error("removing files...")
-        os.unlink(f)
-        os.unlink(sf)
-        return 0
-
-    return 1
-
-def trydownload(urls, f, sign):
-    for url in urls:
-        if download(url, f):
-            if not sign or verify(url, f, sign):
-                return f
-        if url[-4:] == ".bz2":
-            f2 = f[:-4] + ".gz"
-            url2 = url[:-4] + ".gz"
-            if download(url2, f2):
-                if not sign or verify(url2, f2, sign):
-                    return f2
-    return None
-
-def get_patch(ver):
-    """Return the path to patch for given ver, downloading if necessary"""
-    f = patch_path(ver)
-    if os.path.exists(f):
-        return f
-    if f[-4:] == ".bz2":
-        f2 = f[:-4] + ".gz"
-        if os.path.exists(f2):
-            return f2
-
-    urls = version_urls(ver)
-    sign = find_info(ver)[3]
-    if sign == 1: sign = ".sign"
-    f = trydownload(urls, f, sign)
-    if not f:
-        error("patch download failed")
-        sys.exit(-1)
-
-    return f
-
-def apply_patch(ver, reverse = 0):
-    """Find the patch to upgrade from the predecessor of ver to ver and
-    apply or reverse it."""
-    p = get_patch(ver)
-    r = ""
-    if reverse:
-        r = " -R"
-
-    qprint("Applying %s%s" % (os.path.basename(p), r))
-    if options["dry-run"]:
-        return ver
-
-    def cmd(patch, reverse, dry):
-        base = "patch -l -p1%s" % reverse
-        if dry:
-            base += " --dry-run"
-
-        if p[-4:] == ".bz2":
-            pipe = "bzcat %s | %s" % (patch, base)
-        elif p[-3:] == ".gz":
-            pipe = "zcat %s | %s" % (patch, base)
-        else:
-            pipe = "%s < %s" % (base, patch)
-
-        err = os.system(pipe + " > .patchdiag")
-        if err:
-            sys.stderr.write(open(".patchdiag").read())
-        os.unlink(".patchdiag")
-        return err
-
-    err = cmd(p, r, 1)
-    if err:
-        error("patch %s failed: %d" % (p, err))
-        sys.exit(-1)
-
-    err = cmd(p, r, 0)
-    if err:
-        error("patch %s failed while it was supposed to apply: %d" % (p, err))
-        sys.exit(-1)
-
-def untar(tarfile):
-    old = os.getcwd()
-    os.mkdir("ketchup-tmp")
-    os.chdir("ketchup-tmp")
-
-    err = os.system("bzcat %s | tar -xf -" % tarfile)
-    if err:
-        error("Unpacking failed: ", err)
-        sys.exit(-1)
-
-    err = os.system("mv linux*/* linux*/.[^.]* ..; rmdir linux*")
-    if err:
-        error("Unpacking failed: ", err)
-        sys.exit(-1)
-
-    os.chdir(old)
-    shutil.rmtree("ketchup-tmp")
-
-def install_nearest(ver):
-    t = tree(ver)
-    tarballs = glob.glob(archive + "/linux-%s.*.tar.bz2" % t)
-    list = []
-
-    for f in tarballs:
-        m = re.match(r'.*/linux-(.*).tar.bz2$', f)
-        v = m.group(1)
-        d = abs(rev(v) - rev(ver))
-        list.append((d, f, v))
-    list.sort()
-
-    if not list or (options["full-tarball"] and list[0][0]):
-        f = "linux-%s.tar.bz2" % ver
-        url = "%s/v%s/%s" % (kernel_url, t, f)
-        f = archive + "/" + f
-
-        sign = find_info(ver)[3]
-        if sign == 1: sign = ".sign"
-
-        f = trydownload([url], f, sign)
-        if not f:
-            error("Tarball download failed")
-            sys.exit(-1)
-
-    else:
-        f = list[0][1]
-        ver = list[0][2]
-
-    qprint("Unpacking %s" % os.path.basename(f))
-    if options["dry-run"]: return ver
-    untar(f)
-
-    return ver
-
-def find_ver(ver):
-    if ver in version_info.keys():
-        v = version_info[ver]
-        d = v[1]
-        if type(d) is type([]):
-            d = d[0]
-        for n in range(5):
-            return v[0](os.path.dirname(d), v[2])
-            error('retrying version lookup for %s' % ver)
-    else:
-        return ver
-
-def transform(a, b):
-    if a == b:
-        qprint("Nothing to do!")
-        return
-    if not a:
-        a = install_nearest(base(b))
-    t = tree(a)
-    if t != tree(b):
-        error("Can't patch %s to %s" % (tree(a), tree(b)))
-        sys.exit(-1)
-    if fork(a):
-        apply_patch(a, 1)
-        a = prebase(a)
-    if prebase(a) != prebase(b):
-        if pre(a):
-            apply_patch(a, 1)
-            a = base(a)
-
-        if post(a) and post(a) != post(b):
-            apply_patch(prebase(a), 1)
-
-        ra, rb = rev(a), rev(b)
-        if ra > rb:
-            for r in range(ra, rb, -1):
-                apply_patch("%s.%s" % (t, r), -1)
-        if ra < rb:
-            for r in range(ra + 1, rb + 1):
-                apply_patch("%s.%s" % (t, r))
-        a = revbase(b)
-
-        if post(b) and post(a) != post(b):
-            apply_patch(prebase(b), 0)
-            a = base(b)
-
-        if pre(b):
-            apply_patch(prebase(b))
-            a = prebase(b)
-
-    if fork(b):
-        a = apply_patch(b)
-
-def rename_dir(v):
-    """Rename the current directory to linux-v, where v is the function arg"""
-    if rename_with_localversion:
-        v += get_localversion()
-    cwd = os.getcwd()
-    basedir = os.path.dirname(cwd)
-    newdir = os.path.join(basedir, rename_prefix + v)
-    if newdir == cwd:
-        return
-    if os.access(newdir, os.F_OK):
-        error("Cannot rename directory, destination exists: %s", newdir);
-        return
-    os.rename(cwd, newdir)
-    qprint('Current directory renamed to %s' % newdir)
-
-
-# latest lookup function, canonical urls, pattern for lookup function,
-#  signature flag, description
-version_info = {
-    '2.4': (latest_dir,
-            kernel_url + "/v2.4" + "/patch-%(base)s.bz2",
-            r'patch-(.*?).bz2',
-            1, "old stable kernel series"),
-    '2.4-pre': (latest_dir,
-                kernel_url + "/v2.4" + "/testing/patch-%(prebase)s.bz2",
-                r'patch-(.*?).bz2',
-                1, "old stable kernel series prereleases"),
-    '2.6': (latest_dir,
-            kernel_url + "/v2.6" + "/patch-%(prebase)s.bz2",
-            r'patch-(.*?).bz2',
-            1, "current stable kernel series"),
-    '2.6-rc': (latest_dir,
-                kernel_url + "/v2.6" + "/testing/patch-%(prebase)s.bz2",
-                r'patch-(.*?).bz2',
-                1, "current stable kernel series prereleases"),
-    '2.6-pre': (latest_dir,
-                kernel_url + "/v2.6" + "/testing/patch-%(prebase)s.bz2",
-                r'patch-(.*?).bz2',
-                1, "current stable kernel series prereleases"),
-    '2.6-git': (latest_dir,
-                [kernel_url + "/v2.6" + "/snapshots/patch-%(full)s.bz2",
-                 kernel_url + "/v2.6" + "/snapshots/old/patch-%(full)s.bz2"],
-                r'patch-(.*?).bz2',
-                1, "current stable kernel series snapshots"),
-    '2.6-bk': (latest_dir,
-               [kernel_url + "/v2.6" + "/snapshots/patch-%(full)s.bz2",
-                kernel_url + "/v2.6" + "/snapshots/old/patch-%(full)s.bz2"],
-               r'patch-(.*?).bz2',
-               1, "old stable kernel series snapshots"),
-    '2.6-tip': (latest_26_tip, "", "", 1,
-                "current stable kernel series tip"),
-    '2.6-mm': (latest_mm,
-               kernel_url + "/people/akpm/patches/" +
-               "%(tree)s/%(prebase)s/%(full)s/%(full)s.bz2", "",
-               1, "Andrew Morton's -mm development tree"),
-    '2.6-tiny': (latest_dir,
-                 "http://www.selenic.com/tiny/%(full)s.patch.bz2",
-                 r'(2.6.*?).patch.bz2',
-                 1, "Matt Mackall's -tiny tree for small systems"),
-    '2.6-mjb': (latest_mjb,
-                 kernel_url + "/people/mbligh/%(prebase)s/patch-%(full)s.bz2",
-                 r'patch-(2.6.*?).bz2',
-                 1, "Martin Bligh's random collection 'o crap"),
-    '2.6-rt': (latest_dir,
-               ["http://people.redhat.com/mingo/" +
-                "realtime-preempt/patch-%(full)s",
-                "http://people.redhat.com/mingo/" +
-                "realtime-preempt/older/patch-%(full)s"],
-               r'patch-(2.6.*?)',
-               0, "Ingo Molnar's realtime-preempt kernel"),
-    '2.6-ck': (latest_ck,
-               ["http://ck.kolivas.org/patches/2.6/" +
-                "%(prebase)s/%(full)s/patch-%(full)s.bz2",
-                "http://ck.kolivas.org/patches/2.6/pre-releases/" +
-                "%(prebase)s/%(full)s/patch-%(full)s.bz2"],
-               "", ".sig",
-               "Con Kolivas' patches for system responsiveness (desktop)"),
-    '2.6-cks': (latest_dir,
-                "http://ck.kolivas.org/patches/cks/patch-%(full)s.bz2",
-                r'patch-(2.6.*?).bz2', ".sig",
-                "Con Kolivas' patches for system responsiveness (server)")
-    }
-
-# Override defaults with ~/.ketchuprc which is just a Python script
-rcpath = os.path.expanduser('~/.ketchuprc')
-if os.path.isfile(rcpath):
-    try:
-        execfile(rcpath)
-    except Exception, e:
-        sys.exit('Failed parsing %s\nError was: %s' % (rcpath, e))
-
-# Add local trees
-for k,v in local_trees.items():
-    version_info[k] = v
-
-# Environment variables override defaults and ketchuprc
-kernel_url = os.environ.get("KETCHUP_URL", kernel_url)
-archive = os.environ.get("KETCHUP_ARCH", archive)
-
-# And finally command line overrides everything
-if not os.path.exists(wget): wget = ""
-if not os.path.exists(gpg): gpg = ""
-
-options = {}
-opts = [
-    ('a', 'archive', archive, 'cache directory'),
-    ('d', 'directory', '.', 'directory to update'),
-    ('f', 'full-tarball', None, 'if unpacking a tarball, download the latest'),
-    ('g', 'gpg-path', gpg, 'path for GnuPG'),
-    ('G', 'no-gpg', None, 'disable GPG signature verification'),
-    ('k', 'kernel-url', kernel_url, 'base url for kernel.org mirror'),
-    ('l', 'list-trees', None, 'list supported trees'),
-    ('m', 'show-makefile', None, 'output version in makefile <arg>'),
-    ('n', 'dry-run', None, 'don\'t download or apply patches'),
-    ('p', 'show-previous', None, 'output version previous to <arg>'),
-    ('q', 'quiet', None, 'reduce output'),
-    ('r', 'rename-directory', None, 'rename updated directory to %s<v>'
-     % rename_prefix),
-    ('s', 'show-latest', None, 'output the latest version of <arg>'),
-    ('u', 'show-url', None, 'output URL for <arg>'),
-    ('w', 'wget', wget, 'command to use for wget'),
-    ]
-
-args = fancyopts(sys.argv[1:], opts, options,
-                 'ketchup [options] [ver]')
-
-archive = options["archive"]
-kernel_url = options["kernel-url"]
-if options["no-gpg"]: options["gpg-path"] = ''
-
-# Process args
-
-if not os.path.exists(options["directory"]):
-    qprint("Creating target directory", options["directory"])
-    os.mkdir(options["directory"])
-os.chdir(options["directory"])
-
-if os.path.isfile(".ketchuprc"):
-    try:
-        execfile(".ketchuprc")
-    except Exception, e:
-        sys.exit('Failed parsing .ketchuprc\nError was: %s' % (e))
-
-if options["list-trees"]:
-    l = version_info.keys()
-    l.sort()
-    for tree in l:
-	if version_info[tree][3] == 0:
-	   lprint(tree, "(unsigned)")
-        else:
-	   lprint(tree, "(signed)")
-        lprint(" " + version_info[tree][4])
-    sys.exit(0)
-
-if options["show-makefile"] and len(args) < 2:
-    if not args:
-        lprint(get_ver("Makefile"))
-    else:
-        lprint(get_ver(args[0]))
-    sys.exit(0)
-
-if len(args) == 0 and default_tree:
-    qprint("Using default tree \"%s\"" % (default_tree))
-    args.append(default_tree)
-
-if len(args) != 1:
-    error("No version given on command line and no default in configuration")
-    sys.exit(-1)
-
-if options["show-latest"]:
-    lprint(find_ver(args[0]))
-    sys.exit(0)
-
-if options["show-url"]:
-    lprint(version_urls(find_ver(args[0]))[0])
-    sys.exit(0)
-
-if options["show-previous"]:
-    v = find_ver(args[0])
-    p = prebase(v)
-    if p == v: p = base(v)
-    if p == v:
-        if rev(v) > 0: p = "%.1f.%s" % (tree(v), rev(v) -1)
-        else: p = "unknown"
-    lprint(p)
-    sys.exit(0)
-
-if not os.path.exists(options["archive"]):
-    qprint("Creating cache directory", options["archive"])
-    os.mkdir(options["archive"])
-
-if precommand and os.system(precommand):
-    sys.exit('Precommand "%s" failed!' % precommand)
-
-try:
-    a = get_ver('Makefile')
-except:
-    a = None
-
-if not a and os.listdir("."):
-    error("Can't find kernel version for non-empty directory")
-    sys.exit(-1)
-
-b = find_ver(args[0])
-qprint("%s -> %s" % (a, b))
-transform(a, b)
-if options["rename-directory"] and not options["dry-run"]:
-    rename_dir(b)
-
-if postcommand and os.system(postcommand):
-    sys.exit('Postcommand "%s" failed!' % postcommand)
diff --git a/buildconfigs/mk.linux-2.6 b/buildconfigs/mk.linux-2.6
deleted file mode 100644
index 6b8d989..0000000
--- a/buildconfigs/mk.linux-2.6
+++ /dev/null
@@ -1,10 +0,0 @@ 
-XEN_LINUX_SOURCE ?= tarball
-LINUX_VER ?= 2.6
-
-IMAGE_TARGET ?= vmlinux bzImage
-
-XEN_LINUX_CONFIG_UPDATE := buildconfigs/enable-xen-config
-
-EXTRAVERSION ?=
-
-include buildconfigs/mk.linux-2.6-common
diff --git a/buildconfigs/mk.linux-2.6-common b/buildconfigs/mk.linux-2.6-common
deleted file mode 100644
index e8e97fb..0000000
--- a/buildconfigs/mk.linux-2.6-common
+++ /dev/null
@@ -1,154 +0,0 @@ 
-LINUX_SERIES = 2.6
-
-# Linux search path, will be searched for tarballs and mercurial
-# repositories.
-LINUX_SRC_PATH ?= .:..
-
-# The source directory is not automatically updated to avoid blowing
-# away developer's changes. If you want to automatically pull a new
-# version of the Linux tree then add `XEN_LINUX_UPDATE=y' to your make
-# command line.
-ifeq ($(XEN_LINUX_UPDATE),y)
-__XEN_LINUX_UPDATE = $(LINUX_SRCDIR)/.force-update
-else
-__XEN_LINUX_UPDATE =
-endif
-
-ifeq ($(XEN_LINUX_NONINTERACTIVE_CONFIG),y)
-__NONINT_CONFIG = yes $$'\n' |
-else
-__NONINT_CONFIG =
-endif
-
-LINUX_DIR     = build-linux-$(LINUX_VER)$(EXTRAVERSION)_$(XEN_TARGET_ARCH)
-
-IMAGE_TARGET ?= vmlinuz
-
-LINUX_VER3  := $(LINUX_SERIES).$(word 3, $(subst ., ,$(LINUX_VER)))
-
-.PHONY: _build
-_build: build
-
--include buildconfigs/src.$(XEN_LINUX_SOURCE)
-
-LINUX_ARCH = $$(sh buildconfigs/select-linux-arch $(LINUX_SRCDIR))
-IMAGE_PATH = $$(sh buildconfigs/select-linux-image $(LINUX_DIR) $(LINUX_ARCH) $(IMAGE_TARGET))
-
-INSTALL_BOOT_PATH := $(DESTDIR)/boot
-
-# Default to allowing interface mismatch
-ifndef XEN_LINUX_ALLOW_INTERFACE_MISMATCH
-XEN_LINUX_ALLOW_INTERFACE_MISMATCH := y
-endif
-
-KERNELRELEASE = $(shell $(MAKE) -s --no-print-directory -C $(LINUX_DIR) kernelrelease)
-
-# The real action starts here!
-.PHONY: build
-build: $(LINUX_DIR)/include/linux/autoconf.h
-ifneq ($(XEN_LINUX_ALLOW_INTERFACE_MISMATCH),y)
-	@if ! diff -urN -X buildconfigs/interface.exclude \
-              $(LINUX_SRCDIR)/include/xen/interface xen/include/public ; then \
-		echo "" 1>&2 ; \
-		echo " *** $(LINUX_SRCDIR)/include/xen/interface is out of date " 1>&2 ; \
-		echo " *** relative to $(XEN_ROOT)/xen/include/public." 1>&2 ; \
-		echo "" 1>&2 ; \
-		exit 1 ; \
-	fi
-endif
-	if grep "^CONFIG_MODULES=" $(LINUX_DIR)/.config ; then \
-	    $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) modules || exit 1 ; \
-	    $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) INSTALL_MOD_PATH=$(DESTDIR) modules_install ; \
-	fi
-	$(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) INSTALL_PATH=$(DESTDIR) $(IMAGE_TARGET)
-	mkdir -p $(INSTALL_BOOT_PATH)
-	@cp -v $(IMAGE_PATH) $(INSTALL_BOOT_PATH)/vmlinuz-$(KERNELRELEASE)
-	@cp -v $(LINUX_DIR)/.config $(INSTALL_BOOT_PATH)/config-$(KERNELRELEASE)
-	@cp -v $(LINUX_DIR)/System.map $(INSTALL_BOOT_PATH)/System.map-$(KERNELRELEASE)
-
-$(LINUX_DIR)/include/linux/autoconf.h: CONFIG_FILE=$(CURDIR)/$(LINUX_DIR)/.config
-$(LINUX_DIR)/include/linux/autoconf.h: $(LINUX_SRCDIR)/.valid-src
-	rm -rf $(LINUX_DIR)
-	mkdir -p $(LINUX_DIR)
-	# Re-use config from install dir if one exists. Next try to use
-	# buildconfigs/create_config.sh is one is provided by the source
-	# tree. Finally attempt to use make defconfig.
-	set -e ; \
-	CONFIG_VERSION=$$(sed -ne 's/$$(XENGUEST)//; s/^EXTRAVERSION = //p' $(LINUX_SRCDIR)/Makefile); \
-	if [ ! -z "$(XEN_LINUX_CONFIG)" -a -r "$(XEN_LINUX_CONFIG)" ]; then \
-	  cp $(XEN_LINUX_CONFIG) $(CONFIG_FILE); \
-	elif [ -r $(DESTDIR)/boot/config-$(LINUX_VER3)$$CONFIG_VERSION$(EXTRAVERSION) ] ; then \
-	  cp $(DESTDIR)/boot/config-$(LINUX_VER3)$$CONFIG_VERSION$(EXTRAVERSION) $(CONFIG_FILE) ; \
-        elif [ -e $(LINUX_SRCDIR)/buildconfigs/create_config.sh ] ; then \
-	  cd $(LINUX_SRCDIR) && sh buildconfigs/create_config.sh \
-		$(CONFIG_FILE) $(EXTRAVERSION) $(XEN_TARGET_ARCH) $(XEN_SYSTYPE) ; \
-          echo "Configured $(LINUX_DIR) using create_config.sh" ; \
-	elif $(MAKE) -C $(LINUX_SRCDIR) ARCH=$(LINUX_ARCH) defconfig O=$$(/bin/pwd)/$(LINUX_DIR) ; then \
-	  echo "Configured $(LINUX_DIR) using defconfig" ; \
-	else \
-          echo "No configuration method found for this kernel" ; \
-	fi
-ifneq ($(XEN_LINUX_CONFIG_UPDATE),)
-	echo "Updating $(CONFIG_FILE) using $(XEN_LINUX_CONFIG_UPDATE)"
-	sh $(XEN_LINUX_CONFIG_UPDATE) $(CONFIG_FILE)
-endif
-ifeq ($(XEN_TARGET_ARCH),x86_32)
-	sed -e 's!^CONFIG_HIGHMEM4G=y$$!\# CONFIG_HIGHMEM4G is not set!;s!^\# CONFIG_HIGHMEM64G is not set$$!CONFIG_HIGHMEM64G=y!' $(CONFIG_FILE) > $(CONFIG_FILE)- && mv $(CONFIG_FILE)- $(CONFIG_FILE)
-endif
-ifneq ($(EXTRAVERSION),)
-	echo "$(EXTRAVERSION)" >$(LINUX_DIR)/localversion-xen
-endif
-	$(__NONINT_CONFIG) $(MAKE) -C $(LINUX_SRCDIR) ARCH=$(LINUX_ARCH) oldconfig O=$$(/bin/pwd)/$(LINUX_DIR)
-	@set -e ; if [ ! -f $(LINUX_DIR)/Makefile ] ; then \
-	    echo "==================================="; \
-	    echo "oldconfig did not create a Makefile"; \
-	    echo "Generating $(LINUX_DIR)/Makefile   "; \
-	    echo "==================================="; \
-	    ( echo "# Automatically generated: don't edit"; \
-	      echo ""; \
-	      echo "VERSION = 2"; \
-	      echo "PATCHLEVEL = 6"; \
-	      echo ""; \
-	      echo "KERNELSRC    := $(CURDIR)/$(LINUX_SRCDIR)"; \
-	      echo "KERNELOUTPUT := $(CURDIR)/$(LINUX_DIR)"; \
-	      echo ""; \
-	      echo "MAKEFLAGS += --no-print-directory"; \
-	      echo ""; \
-	      echo ".PHONY: all \$$(MAKECMDGOALS)"; \
-	      echo ""; \
-	      echo "all:"; \
-	      echo "	\$$(MAKE) -C \$$(KERNELSRC) O=\$$(KERNELOUTPUT)"; \
-	      echo ""; \
-	      echo "Makefile:;"; \
-	      echo ""; \
-	      echo "\$$(filter-out all Makefile,\$$(MAKECMDGOALS)) %/:"; \
-	      echo "	\$$(MAKE) -C \$$(KERNELSRC) O=\$$(KERNELOUTPUT) \$$@"; \
-	    ) > $(LINUX_DIR)/Makefile ; \
-	fi
-	$(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) prepare
-
-.PHONY: prep
-prep: $(LINUX_DIR)/include/linux/autoconf.h
-
-.PHONY: config
-config: CONFIGMODE = menuconfig
-config: $(LINUX_DIR)/include/linux/autoconf.h
-	$(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) $(CONFIGMODE)
-
-.PHONY: clean
-clean::
-	[ ! -d $(LINUX_DIR) ] || \
-		$(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) clean
-
-.PHONY: delete
-delete: 
-	rm -rf tmp-linux-$(LINUX_VER) $(LINUX_DIR) $(LINUX_SRCDIR)
-
-.PHONY: mrproper
-mrproper:
-	rm -rf $(LINUX_SRCDIR)
-	rm -f linux-$(LINUX_VER).tar.bz2
-
-.PHONY: $(LINUX_SRCDIR)/.force-update
-$(LINUX_SRCDIR)/.force-update:
-	@ :
diff --git a/buildconfigs/mk.linux-2.6-git b/buildconfigs/mk.linux-2.6-git
deleted file mode 100644
index 1a142dd..0000000
--- a/buildconfigs/mk.linux-2.6-git
+++ /dev/null
@@ -1,2 +0,0 @@ 
-LINUX_VER ?= 2.6-git
-include buildconfigs/mk.linux-2.6
diff --git a/buildconfigs/mk.linux-2.6-mm b/buildconfigs/mk.linux-2.6-mm
deleted file mode 100644
index f02e864..0000000
--- a/buildconfigs/mk.linux-2.6-mm
+++ /dev/null
@@ -1,2 +0,0 @@ 
-LINUX_VER ?= 2.6-mm
-include buildconfigs/mk.linux-2.6
diff --git a/buildconfigs/mk.linux-2.6-native b/buildconfigs/mk.linux-2.6-native
deleted file mode 100644
index c7c0949..0000000
--- a/buildconfigs/mk.linux-2.6-native
+++ /dev/null
@@ -1,5 +0,0 @@ 
-EXTRAVERSION = -native
-IMAGE_TARGET = bzImage
-INSTALL_BOOT_PATH = $(DESTDIR)/boot
-
-include buildconfigs/mk.linux-2.6-common
diff --git a/buildconfigs/mk.linux-2.6-pvops b/buildconfigs/mk.linux-2.6-pvops
deleted file mode 100644
index 59cae79..0000000
--- a/buildconfigs/mk.linux-2.6-pvops
+++ /dev/null
@@ -1,17 +0,0 @@ 
-XEN_LINUX_SOURCE ?= git-clone
-LINUX_VER ?= 2.6-pvops
-
-IMAGE_TARGET ?= bzImage
-
-XEN_LINUX_CONFIG_UPDATE := buildconfigs/enable-xen-config
-
-ifeq ($(GIT_HTTP),y)
-XEN_LINUX_GIT_URL ?= http://www.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git
-else
-XEN_LINUX_GIT_URL ?= git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git
-endif
-XEN_LINUX_GIT_REMOTEBRANCH ?= xen/stable-2.6.32.x
-
-EXTRAVERSION ?=
-
-include buildconfigs/mk.linux-2.6-common
diff --git a/buildconfigs/mk.linux-2.6-rc b/buildconfigs/mk.linux-2.6-rc
deleted file mode 100644
index 34f4513..0000000
--- a/buildconfigs/mk.linux-2.6-rc
+++ /dev/null
@@ -1,2 +0,0 @@ 
-LINUX_VER ?= 2.6-rc
-include buildconfigs/mk.linux-2.6
diff --git a/buildconfigs/mk.linux-2.6-tip b/buildconfigs/mk.linux-2.6-tip
deleted file mode 100644
index 0588ad2..0000000
--- a/buildconfigs/mk.linux-2.6-tip
+++ /dev/null
@@ -1,2 +0,0 @@ 
-LINUX_VER ?= 2.6-tip
-include buildconfigs/mk.linux-2.6
diff --git a/buildconfigs/mk.linux-2.6-tip-latest b/buildconfigs/mk.linux-2.6-tip-latest
deleted file mode 100644
index 2a0b9af..0000000
--- a/buildconfigs/mk.linux-2.6-tip-latest
+++ /dev/null
@@ -1,17 +0,0 @@ 
-XEN_LINUX_SOURCE ?= git-clone
-LINUX_VER ?= 2.6-x86-latest
-
-IMAGE_TARGET ?= bzImage vmlinux
-
-XEN_LINUX_CONFIG_UPDATE := buildconfigs/enable-xen-config
-
-ifeq ($(GIT_HTTP),y)
-XEN_LINUX_GIT_URL ?= http://www.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip.git
-else
-XEN_LINUX_GIT_URL ?= git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip.git
-endif
-XEN_LINUX_GIT_REMOTEBRANCH ?= auto-latest
-
-EXTRAVERSION ?=
-
-include buildconfigs/mk.linux-2.6-common
diff --git a/buildconfigs/mk.linux-2.6-xen b/buildconfigs/mk.linux-2.6-xen
deleted file mode 100644
index 8594b55..0000000
--- a/buildconfigs/mk.linux-2.6-xen
+++ /dev/null
@@ -1,6 +0,0 @@ 
-EXTRAVERSION ?= -xen
-LINUX_VER    ?= 2.6.18
-
-XEN_LINUX_SOURCE ?= hg-clone
-
-include buildconfigs/mk.linux-2.6-common
diff --git a/buildconfigs/mk.linux-2.6-xen0 b/buildconfigs/mk.linux-2.6-xen0
deleted file mode 100644
index 96a5712..0000000
--- a/buildconfigs/mk.linux-2.6-xen0
+++ /dev/null
@@ -1,2 +0,0 @@ 
-EXTRAVERSION = -xen0
-include buildconfigs/mk.linux-2.6-xen
diff --git a/buildconfigs/mk.linux-2.6-xenU b/buildconfigs/mk.linux-2.6-xenU
deleted file mode 100644
index 02f3e07..0000000
--- a/buildconfigs/mk.linux-2.6-xenU
+++ /dev/null
@@ -1,2 +0,0 @@ 
-EXTRAVERSION = -xenU
-include buildconfigs/mk.linux-2.6-xen
diff --git a/buildconfigs/select-linux-arch b/buildconfigs/select-linux-arch
deleted file mode 100755
index a5d0856..0000000
--- a/buildconfigs/select-linux-arch
+++ /dev/null
@@ -1,30 +0,0 @@ 
-#!/bin/sh
-
-ME=$(basename $0)
-
-if [ $# -lt 1 ] || [ $# -gt 2 ] ; then
-    echo "usage: $ME <linux-build-directory>" 1>&2
-    exit 1;
-fi
-
-LINUX_DIR=$1
-
-case ${XEN_TARGET_ARCH} in
-    x86_32|x86_64)
-	if [ -d ${LINUX_DIR}/arch/x86 ] ; then
-	    ARCH=x86
-	elif [ "${XEN_TARGET_ARCH}" = "x86_32" ] ; then
-	    ARCH=i386
-	else
-	    ARCH=x86_64
-	fi
-	;;
-    *)
-	ARCH=${XEN_TARGET_ARCH}
-	;;
-esac
-
-echo "$ME: ${ARCH}" 1>&2
-echo ${ARCH}
-
-exit 0
diff --git a/buildconfigs/select-linux-image b/buildconfigs/select-linux-image
deleted file mode 100755
index 07899f8..0000000
--- a/buildconfigs/select-linux-image
+++ /dev/null
@@ -1,33 +0,0 @@ 
-#!/bin/sh
-
-ME=$(basename $0)
-
-if [ $# -lt 3 ] ; then
-    echo "usage: $ME <linux-build-directory> <linux-arch> <linux-targets...>" 1>&2
-    exit 1;
-fi
-
-LINUX_DIR=$1
-LINUX_ARCH=$2
-LINUX_TARGET=$3 # We don't care about second and subsequent targets
-
-case ${XEN_TARGET_ARCH} in
-    ia64)
-	IMAGE=${LINUX_DIR}/arch/ia64/hp/sim/boot/vmlinux.gz
-	;;
-    *)
-	if [ -f ${LINUX_DIR}/arch/${LINUX_ARCH}/boot/${LINUX_TARGET} ] ; then
-	    IMAGE=${LINUX_DIR}/arch/${LINUX_ARCH}/boot/${LINUX_TARGET}
-	elif [ -f ${LINUX_DIR}/${LINUX_TARGET} ] ; then
-	    IMAGE=${LINUX_DIR}/${LINUX_TARGET}
-	else
-	    echo "$ME: cannot determine Linux image to use for ${LINUX_ARCH} in ${LINUX_DIR}" 1>&2
-	    exit 1
-	fi
-	;;
-esac
-
-echo "$ME: ${IMAGE}" 1>&2
-echo ${IMAGE}
-
-exit 0
diff --git a/buildconfigs/select-repository b/buildconfigs/select-repository
deleted file mode 100755
index 48ae00f..0000000
--- a/buildconfigs/select-repository
+++ /dev/null
@@ -1,69 +0,0 @@ 
-#!/bin/sh
-
-ME=$(basename $0)
-
-if [ $# -lt 1 ] || [ $# -gt 2 ] ; then
-    echo "usage: $ME <repository-name> [search-path]" 1>&2
-    exit 1;
-fi
-
-REPO=$1
-LINUX_SRC_PATH=$2
-
-if [ X"${LINUX_SRC_PATH}" != X ] ; then
-    echo "$ME: Searching \`${LINUX_SRC_PATH}' for $REPO" 1>&2
-    IFS_saved="$IFS"
-    IFS=:
-    for i in $LINUX_SRC_PATH ; do
-	# Ignore current directory since we will almost certainly find
-	# the target directory there which breaks updating (there's no
-	# point updating from yourself!).
-	if [ X"." = X"${i}" ] ; then
-	    echo "$ME: Ignoring \`.'" 1>&2
-	    continue
-	fi
-
-	if [ -d "$i/$REPO/.hg" ] ; then
-	    echo "$ME: Found $i/$REPO" 1>&2
-	    echo "$i/$REPO"
-	    exit 0
-	fi
-    done
-    IFS="$IFS_saved"
-fi
-
-if [ -d ${XEN_ROOT}/.hgxxx ] ; then
-    XEN=$(hg -R ${XEN_ROOT} path default)
-    if [ $? -ne 0 ] || [ X"$XEN" = "X" ] ; then
-	echo "$ME: Unable to determine Xen repository parent." 1>&2
-	exit 1;
-    fi
-
-    BASE=$(dirname ${XEN})
-    if [ $? -ne 0 ] || [ X"$BASE" = "X" ] ; then
-	echo "$ME: Unable to determine Xen repository base." 1>&2
-	exit 1;
-    fi
-    if [ -d "$XEN" ] && [ ! -d "$BASE/$REPO" ] ; then
-	echo "$ME: No such dir: $BASE/$REPO" 1>&2
-	exit 1
-    fi
-
-    echo "$ME: Found ${BASE}/${REPO}" 1>&2
-
-    # If ${BASE}/${REPO} is a local directory then prepend file:// so that
-    # the test in src.hg-clone will fail and we will clone instead of
-    # linking this repository. We only want to link repositories which
-    # were found via LINUX_SRC_PATH.
-    if [ -d "${BASE}/${REPO}" ] ; then
-	echo "file://${BASE}/${REPO}"
-    else
-	echo ${BASE}/${REPO}
-    fi
-else
-    echo "Unable to determine path to Linux source tree." 1>&2
-    echo "Falling back to linux-2.6.18-xen Mercurial repository." 1>&2
-    echo http://xenbits.xen.org/linux-2.6.18-xen.hg
-fi
-
-exit 0
diff --git a/buildconfigs/src.git-clone b/buildconfigs/src.git-clone
deleted file mode 100644
index 35865e1..0000000
--- a/buildconfigs/src.git-clone
+++ /dev/null
@@ -1,32 +0,0 @@ 
-# Mercurial
-GIT ?= git
-
-LINUX_SRCDIR ?= linux-$(LINUX_VER).git
-
-# The URL of the remote GIT repository
-ifeq ($(XEN_LINUX_GIT_URL),)
-.ERROR: XEN_LINUX_GIT_URL not specified
-endif
-
-# The branch in the remote repository
-ifeq ($(XEN_LINUX_GIT_REMOTEBRANCH),)
-.ERROR: XEN_LINUX_GIT_REMOTEBRANCH not specified
-endif
-
-XEN_GIT_ORIGIN ?= xen
-
-XEN_LINUX_GIT_LOCALBRANCH ?= $(XEN_LINUX_GIT_REMOTEBRANCH)
-
-# Set XEN_LINUX_GITREV to update to a particlar revision.
-XEN_LINUX_GITREV  ?= $(XEN_GIT_ORIGIN)/$(XEN_LINUX_GIT_REMOTEBRANCH)
-
-$(LINUX_SRCDIR)/.valid-src: $(__XEN_LINUX_UPDATE)
-	set -ex; \
-	if ! [ -d $(LINUX_SRCDIR) ]; then \
-		rm -rf $(LINUX_SRCDIR) $(LINUX_SRCDIR).tmp; \
-		mkdir $(LINUX_SRCDIR).tmp; rmdir $(LINUX_SRCDIR).tmp; \
-		$(GIT) clone -o $(XEN_GIT_ORIGIN) -n $(XEN_LINUX_GIT_URL) $(LINUX_SRCDIR).tmp; \
-		(cd $(LINUX_SRCDIR).tmp; git checkout -b $(XEN_LINUX_GIT_LOCALBRANCH) $(XEN_LINUX_GITREV) ); \
-		mv $(LINUX_SRCDIR).tmp $(LINUX_SRCDIR); \
-	fi
-	touch $@
diff --git a/buildconfigs/src.hg-clone b/buildconfigs/src.hg-clone
deleted file mode 100644
index 0586bc8..0000000
--- a/buildconfigs/src.hg-clone
+++ /dev/null
@@ -1,32 +0,0 @@ 
-# Mercurial
-HG ?= hg
-
-LINUX_SRCDIR ?= linux-$(LINUX_VER)-xen.hg
-
-# Repository to clone.
-XEN_LINUX_HGREPO ?= $$(sh buildconfigs/select-repository $(LINUX_SRCDIR) $(LINUX_SRC_PATH))
-
-# Set XEN_LINUX_HGREV to update to a particlar revision.
-XEN_LINUX_HGREV  ?= tip
-
-$(LINUX_SRCDIR)/.valid-src: $(__XEN_LINUX_UPDATE)
-	set -e ; \
-	if [ ! -e $(LINUX_SRCDIR)/.hg ] ; then \
-	    __repo=$(XEN_LINUX_HGREPO) ; \
-	    if [ -d $${__repo} ] ; then \
-	        echo "Linking $${__repo} to $(LINUX_SRCDIR)." ; \
-	        ln -s $${__repo} $(LINUX_SRCDIR) ; \
-	    else \
-	        echo "Cloning $${__repo} to $(LINUX_SRCDIR)." ; \
-	        $(HG) clone $${__repo#file://} $(LINUX_SRCDIR) ; \
-	    fi ; \
-	else \
-	    __parent=$$($(HG) -R $(LINUX_SRCDIR) path default) ; \
-	    echo "Pulling changes from $${__parent} into $(LINUX_SRCDIR)." ; \
-	    $(HG) -R $(LINUX_SRCDIR) pull $${__parent} ; \
-	fi
-	set -e ; if [ -n "$(XEN_LINUX_HGREV)" ] ; then \
-	    echo "Updating $(LINUX_SRCDIR) to revision $(XEN_LINUX_HGREV)." ; \
-	    ( cd $(LINUX_SRCDIR) && $(HG) update $(XEN_LINUX_HGREV) ); \
-	fi
-	touch $@
diff --git a/buildconfigs/src.tarball b/buildconfigs/src.tarball
deleted file mode 100644
index 2101e1a..0000000
--- a/buildconfigs/src.tarball
+++ /dev/null
@@ -1,19 +0,0 @@ 
-XEN_LINUX_MIRROR ?= http://www.kernel.org/pub/linux/kernel/v2.6/
-XEN_LINUX_TARBALL ?= linux-$(LINUX_VER)-xen.tar.bz2
-
-LINUX_SRCDIR ?= linux-$(LINUX_VER)
-
-KETCHUP ?= python buildconfigs/ketchup
-
-vpath linux-%.tar.bz2 $(LINUX_SRC_PATH)
-
-# download a pristine Linux kernel tarball if there isn't one in LINUX_SRC_PATH
-linux-%.tar.bz2:
-	@echo "Cannot find $@ in path $(LINUX_SRC_PATH)"
-	false wget $(XEN_LINUX_MIRROR)/$@ -O./$@
-
-# XXX create a pristine tree for diff -Nurp convenience
-
-%/.valid-src: $(__XEN_LINUX_UPDATE)
-	$(KETCHUP) -d $(@D) $(LINUX_VER)
-	touch $@ # update timestamp to avoid rebuild
diff --git a/config/Linux.mk b/config/Linux.mk
index 10d84af..b421a1c 100644
--- a/config/Linux.mk
+++ b/config/Linux.mk
@@ -1,8 +1 @@ 
 include $(XEN_ROOT)/config/StdGNU.mk
-
-# You may use wildcards, e.g. KERNELS=*2.6*
-KERNELS ?= 
-
-XKERNELS := $(foreach kernel, $(KERNELS), \
-              $(patsubst buildconfigs/mk.%,%, \
-                $(wildcard buildconfigs/mk.$(kernel))) )
diff --git a/configure b/configure
index c2c724a..d5c8500 100755
--- a/configure
+++ b/configure
@@ -592,7 +592,6 @@  SUBSYSTEMS
 docs
 stubdom
 tools
-kernels
 xen
 subdirs
 host_os
@@ -645,7 +644,6 @@  ac_subst_files=''
 ac_user_opts='
 enable_option_checking
 enable_xen
-enable_kernels
 enable_tools
 enable_stubdom
 enable_docs
@@ -654,7 +652,6 @@  enable_docs
 host_alias
 target_alias'
 ac_subdirs_all='xen
-kernels
 tools
 stubdom
 docs'
@@ -1271,7 +1268,6 @@  Optional Features:
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
   --disable-xen           Disable build and install of xen
-  --disable-kernels       Disable build and install of kernels
   --disable-tools         Disable build and install of tools
   --enable-stubdom        Enable build and install of stubdom
   --disable-docs          Disable build and install of docs
@@ -1891,52 +1887,6 @@  fi
 
 
 
-# Check whether --enable-kernels was given.
-if test "${enable_kernels+set}" = set; then :
-  enableval=$enable_kernels;
-
-if test "x$enableval" = "xyes"; then :
-
-
-kernels=y
-SUBSYSTEMS="$SUBSYSTEMS kernels"
-
-
-else
-
-if test "x$enableval" = "xno"; then :
-
-
-kernels=n
-
-
-fi
-
-fi
-
-
-else
-
-
-kernels=y
-SUBSYSTEMS="$SUBSYSTEMS kernels"
-
-
-fi
-
-
-if test -e "kernels/configure"; then :
-
-if test "x$kernels" = "xy" || test "x$kernels" = "x" ; then
-    subdirs="$subdirs kernels"
-
-fi
-
-fi
-
-
-
-
 # Check whether --enable-tools was given.
 if test "${enable_tools+set}" = set; then :
   enableval=$enable_tools;
diff --git a/configure.ac b/configure.ac
index ce06dad..6c14524 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,6 @@  case "$host_cpu" in
 esac
 
 AX_SUBSYSTEM_DEFAULT_ENABLE([xen])
-AX_SUBSYSTEM_DEFAULT_ENABLE([kernels])
 AX_SUBSYSTEM_DEFAULT_ENABLE([tools])
 AX_SUBSYSTEM_CONDITIONAL([stubdom], $arch_enable_stubdom)
 AX_SUBSYSTEM_DEFAULT_ENABLE([docs])