All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH OSSTEST+xen 0/4+1] remove xen.git Linux kernel build integration
@ 2014-03-19 11:45 Ian Campbell
  2014-03-19 11:47 ` [PATCH OSSTEST 1/4] mfi-common: remove xen_kernels runvar from build-*-pvops Ian Campbell
                   ` (8 more replies)
  0 siblings, 9 replies; 34+ messages in thread
From: Ian Campbell @ 2014-03-19 11:45 UTC (permalink / raw)
  To: Ian Jackson; +Cc: xen-devel

I can't remember what release last had a synchronised XenoLinux release,
but it was ages ago. The list of kernels to build by default has been
empty for ages and I think now it is time to finally kill off this
cruft.

Two series follow, the first removes the need for this stuff from
osstest, which was using it only for build testing the 2.6.18-xen tree.
The second series (a single patch actually) removes the bits from
xen.git, obviously the first will need to pass osstest's gate before the
second is applied.

Ian.

^ permalink raw reply	[flat|nested] 34+ messages in thread

* [PATCH OSSTEST 1/4] mfi-common: remove xen_kernels runvar from build-*-pvops
  2014-03-19 11:45 [PATCH OSSTEST+xen 0/4+1] remove xen.git Linux kernel build integration Ian Campbell
@ 2014-03-19 11:47 ` Ian Campbell
  2014-03-19 12:06   ` Ian Jackson
  2014-03-19 11:47 ` [PATCH OSSTEST 2/4] import enable-xen-config from xen.git, use for ts-kernel-build Ian Campbell
                   ` (7 subsequent siblings)
  8 siblings, 1 reply; 34+ messages in thread
From: Ian Campbell @ 2014-03-19 11:47 UTC (permalink / raw)
  To: ian.jackson; +Cc: Ian Campbell, xen-devel

ts-kernel-build does not use this.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
 mfi-common | 1 -
 1 file changed, 1 deletion(-)

diff --git a/mfi-common b/mfi-common
index a95703d..52ed4d4 100644
--- a/mfi-common
+++ b/mfi-common
@@ -157,7 +157,6 @@ create_build_jobs () {
                 $RUNVARS $BUILD_RUNVARS $BUILD_LINUX_RUNVARS $arch_runvars   \
                 $suite_runvars                                               \
                 host_hostflags=$build_hostflags                              \
-                xen_kernels=linux-2.6-pvops                                  \
                 revision_xen=$REVISION_XEN                                   \
                 $pvops_kernel $pvops_kconfig_overrides                       \
                 ${TREEVCS_LINUX:+treevcs_linux=}${TREEVCS_LINUX}             \
-- 
1.8.5.2

^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH OSSTEST 2/4] import enable-xen-config from xen.git, use for ts-kernel-build
  2014-03-19 11:45 [PATCH OSSTEST+xen 0/4+1] remove xen.git Linux kernel build integration Ian Campbell
  2014-03-19 11:47 ` [PATCH OSSTEST 1/4] mfi-common: remove xen_kernels runvar from build-*-pvops Ian Campbell
@ 2014-03-19 11:47 ` Ian Campbell
  2014-03-19 12:09   ` Ian Jackson
  2014-03-19 11:47 ` [PATCH OSSTEST 3/4] Use ts-kernel-build for build-*-oldkern Ian Campbell
                   ` (6 subsequent siblings)
  8 siblings, 1 reply; 34+ messages in thread
From: Ian Campbell @ 2014-03-19 11:47 UTC (permalink / raw)
  To: ian.jackson; +Cc: Ian Campbell, xen-devel

I plan to remove it from xen.git. Take the version from a03984e7bcdf which
hasn't changed since 8dedf6431393 in 2010.

Update ts-kernel-build to not require xen.git.

config_intree_buildconfigs was unused so remove it.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
 enable-xen-config | 127 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 mfi-common        |   2 -
 ts-kernel-build   |  21 +--------
 3 files changed, 129 insertions(+), 21 deletions(-)
 create mode 100755 enable-xen-config

diff --git a/enable-xen-config b/enable-xen-config
new file mode 100755
index 0000000..7ee4d37
--- /dev/null
+++ b/enable-xen-config
@@ -0,0 +1,127 @@
+#!/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/mfi-common b/mfi-common
index 52ed4d4..df7f8b0 100644
--- a/mfi-common
+++ b/mfi-common
@@ -153,11 +153,9 @@ create_build_jobs () {
 
     ./cs-job-create $flight build-$arch-pvops build-kern                     \
                 arch=$arch kconfighow=xen-enable-xen-config                  \
-        tree_xen=$TREE_XEN                                                   \
                 $RUNVARS $BUILD_RUNVARS $BUILD_LINUX_RUNVARS $arch_runvars   \
                 $suite_runvars                                               \
                 host_hostflags=$build_hostflags                              \
-                revision_xen=$REVISION_XEN                                   \
                 $pvops_kernel $pvops_kconfig_overrides                       \
                 ${TREEVCS_LINUX:+treevcs_linux=}${TREEVCS_LINUX}             \
                 tree_linuxfirmware=$TREE_LINUXFIRMWARE                       \
diff --git a/ts-kernel-build b/ts-kernel-build
index 05d9e96..f80d857 100755
--- a/ts-kernel-build
+++ b/ts-kernel-build
@@ -41,8 +41,6 @@ my $archparms = {
 sub checkout () {
     target_cmd($ho, "rm -rf $builddir && mkdir $builddir", 600);
 
-    build_clone($ho, 'xen', $builddir, 'xen-unstable');
-
     build_clone($ho, 'linux', $builddir, 'linux');
 
     if (length($r{tree_pq_linux})) {
@@ -250,8 +248,9 @@ $config_features
 $config_runvars
 END
 
+    target_putfile($ho, 1000, "enable-xen-config", "$builddir/enable-xen-config");
+
     target_cmd_build($ho, 1000, $builddir, <<END);
-        cp xen-unstable/buildconfigs/enable-xen-config .
         ed <$edscript enable-xen-config
         chmod +x enable-xen-config
         cd linux
@@ -264,22 +263,6 @@ END
     # /;
 }
 
-sub config_intree_buildconfigs () {
-    my $edscript= stash_config_edscript(<<END);
-$config_hardware
-$config_features
-END
-    target_cmd_build($ho, 1000, $builddir, <<END);
-        sed 's/setopt CONFIG/true &/' xen-unstable/buildconfigs/enable-xen-config >enable-device-configs
-        ed <$edscript enable-device-configs
-        chmod +x enable-device-configs
-	cd linux
-	make -f buildconfigs/Rules.mk defconfig </dev/null
-        ../enable-device-configs .config
-        yes '' | make oldconfig
-END
-}
-
 sub config () {
     my $confighow= $r{kconfighow};
     $confighow =~ s/\W/_/g;
-- 
1.8.5.2

^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH OSSTEST 3/4] Use ts-kernel-build for build-*-oldkern
  2014-03-19 11:45 [PATCH OSSTEST+xen 0/4+1] remove xen.git Linux kernel build integration Ian Campbell
  2014-03-19 11:47 ` [PATCH OSSTEST 1/4] mfi-common: remove xen_kernels runvar from build-*-pvops Ian Campbell
  2014-03-19 11:47 ` [PATCH OSSTEST 2/4] import enable-xen-config from xen.git, use for ts-kernel-build Ian Campbell
@ 2014-03-19 11:47 ` Ian Campbell
  2014-03-19 12:12   ` Ian Jackson
  2014-03-19 11:47 ` [PATCH OSSTEST 4/4] ts-xen-build: Drop ability to build kernels Ian Campbell
                   ` (5 subsequent siblings)
  8 siblings, 1 reply; 34+ messages in thread
From: Ian Campbell @ 2014-03-19 11:47 UTC (permalink / raw)
  To: ian.jackson; +Cc: Ian Campbell, xen-devel

instead of using the kernel build integration in xen.git, which is going away.

There is no difference to the .config produced. No test jobs seem to rely on
these kernels so I have not worried about making the contents of dist be
identical (specifically the filenames under /boot have lost their -xen suffix)

Remove the now unused xen and qemu(u) tree/revision stuff from the jobs'
runvars. Add the appropriate kconfighow and kimagefile runvars and implement
an appropriate kconfighow handler to use the create_config.sh present in this
tree (the xen.git intergration called the same script)

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
I guess these are build tests only, but they sem to only be used in the
osstest flights. Not sure if that is deliberate.
---
 mfi-common      | 12 +++---------
 ts-kernel-build | 16 ++++++++++++++++
 2 files changed, 19 insertions(+), 9 deletions(-)

diff --git a/mfi-common b/mfi-common
index df7f8b0..2fff802 100644
--- a/mfi-common
+++ b/mfi-common
@@ -167,18 +167,12 @@ create_build_jobs () {
 
     if [ "x$REVISION_LINUX_OLD" != xdisable ]; then
 
-      ./cs-job-create $flight build-$arch-oldkern build                 \
-                arch=$arch                                              \
-        tree_qemu=$TREE_QEMU                                            \
-        tree_qemuu=$TREE_QEMU_UPSTREAM                                  \
-        tree_xen=$TREE_XEN                                              \
+      ./cs-job-create $flight build-$arch-oldkern build-kern            \
+                arch=$arch kconfighow=create-config-sh                  \
+                kimagefile=vmlinux                                      \
                 $RUNVARS $BUILD_RUNVARS $BUILD_LINUX_OLD_RUNVARS        \
                 $arch_runvars $suite_runvars                            \
                 host_hostflags=$build_hostflags                         \
-                xen_kernels=linux-2.6-xen                               \
-                revision_xen=$REVISION_XEN                              \
-                revision_qemu=$REVISION_QEMU                            \
-                revision_qemuu=$REVISION_QEMU_UPSTREAM                  \
         tree_linux=http://xenbits.xen.org/linux-2.6.18-xen.hg           \
         revision_linux=$REVISION_LINUX_OLD
 
diff --git a/ts-kernel-build b/ts-kernel-build
index f80d857..cfb9f5c 100755
--- a/ts-kernel-build
+++ b/ts-kernel-build
@@ -263,6 +263,22 @@ END
     # /;
 }
 
+sub config_create_config_sh () {
+    die "only x86" unless $r{arch} =~ m/^amd64|i386$/;
+
+    my $xta = $r{arch} eq "amd64" ? "x86_64" : "x86_32";
+
+    target_cmd_build($ho, 1000, $builddir, <<END);
+        cd linux
+	sh buildconfigs/create_config.sh .config "-xen" $xta
+	if [ x$xta = xx86_32 ] ; then
+            sed -i.bak -e 's!^CONFIG_HIGHMEM4G=y\$!\# CONFIG_HIGHMEM4G is not set!;s!^\# CONFIG_HIGHMEM64G is not set\$!CONFIG_HIGHMEM64G=y!' .config
+	fi
+        yes '' | make oldconfig
+END
+    # /;
+}
+
 sub config () {
     my $confighow= $r{kconfighow};
     $confighow =~ s/\W/_/g;
-- 
1.8.5.2

^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH OSSTEST 4/4] ts-xen-build: Drop ability to build kernels
  2014-03-19 11:45 [PATCH OSSTEST+xen 0/4+1] remove xen.git Linux kernel build integration Ian Campbell
                   ` (2 preceding siblings ...)
  2014-03-19 11:47 ` [PATCH OSSTEST 3/4] Use ts-kernel-build for build-*-oldkern Ian Campbell
@ 2014-03-19 11:47 ` Ian Campbell
  2014-03-19 12:15   ` Ian Jackson
  2014-03-19 11:48 ` [PATCH xen.git 1/1] build: remove Linux kernel build integration Ian Campbell
                   ` (4 subsequent siblings)
  8 siblings, 1 reply; 34+ messages in thread
From: Ian Campbell @ 2014-03-19 11:47 UTC (permalink / raw)
  To: ian.jackson; +Cc: Ian Campbell, xen-devel

These are now all handled by ts-kernel-build.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
 ts-xen-build | 59 +++++------------------------------------------------------
 1 file changed, 5 insertions(+), 54 deletions(-)

diff --git a/ts-xen-build b/ts-xen-build
index 7bc7cbc..190e5ec 100755
--- a/ts-xen-build
+++ b/ts-xen-build
@@ -35,21 +35,10 @@ my $builddir= "$homedir/$leaf";
 my $makeflags= get_host_property($ho, 'build make flags', '-j4');
     
 sub checkout () {
-    my $kerns= $r{xen_kernels};
-    $kerns='' unless defined $kerns;
-    $kerns =~ s/,/ /g;
-
     target_cmd($ho, "rm -rf $builddir && mkdir $builddir", 60);
 
     build_clone($ho, 'xen', $builddir, 'xen-unstable');
 
-    my $linux_url_envvar= 'XEN_LINUX_GIT_URL';
-    my $linux_rev_envvar= 'XEN_LINUX_GITREV';
-    if (defined $r{tree_linux} && $r{tree_linux} =~ m/\.hg$/) {
-        $linux_url_envvar= 'XEN_LINUX_HGREPO';
-        $linux_rev_envvar= 'XEN_LINUX_HGREV';
-    }
-
     my $debug_build = $r{xen_build_debug} || 'y';
 
     # Do not set this unless you know what you are doing. This arm
@@ -83,20 +72,9 @@ END
                (nonempty($earlyprintk) ? <<END : '').
 	echo >>.config CONFIG_EARLY_PRINTK=$earlyprintk
 END
-               (nonempty($r{tree_linux}) ? <<END : '').
-	echo >>.config export $linux_url_envvar='$r{tree_linux}'
-END
-               (nonempty($r{revision_linux}) ? <<END : '').
-	echo >>.config export $linux_rev_envvar='$r{revision_linux}'
-END
-               ($ho->{Suite} =~ m/squeeze|wheezy/ ? <<END : ''). #Debian #693721
+               ($ho->{Suite} =~ m/squeeze|wheezy/ ? <<END : '') #Debian #693721
 	echo >>.config PYTHON_PREFIX_ARG=
 END
-               (nonempty($kerns) ? <<END : <<END)
-	echo >>.config KERNELS='$kerns'
-END
-	echo >>.config KERNELS=''
-END
                );
 }
 
@@ -155,50 +133,24 @@ sub collectversion_qemu () {
     store_revision($ho, 'seabios', "$tools/seabios-dir", 1);
 }
 
-sub collectversions_kernel () {
-    my $whichkerns= target_cmd_output($ho, <<END);
-        set -e
-        cd $builddir/xen-unstable
-        echo linux*/.{git,hg}
-END
-    my (@kerndirs,@vcss,@revisions);
-    foreach my $kerndir (sort split / /, $whichkerns) {
-        next if $kerndir =~ m/\*/;
-        die "$kerndir ?" unless $kerndir =~ m/^linux.*\.(git|hg)$/;
-        my $vcs= $1;
-        push @kerndirs, $kerndir;
-        push @vcss, $vcs;
-        push @revisions,
-            vcs_dir_revision($ho,"$builddir/xen-unstable/$kerndir", $vcs);
-    }
-    if (@revisions) {
-	store_vcs_revision('linux',"@revisions","@vcss");
-	store_runvar('built_xen_kerneldirs',"@kerndirs");
-    }
-}
-
 sub divide () {
     target_cmd_build($ho, 100, $builddir, <<END);
         cd xen-unstable/dist
-        mkdir kerninstall xeninstall
+        mkdir xeninstall
 	for f in *install; do
 	    mkdir -p \$f/lib
 	done
         if test -d install/boot; then
-            mv install/boot kerninstall/.
-            if test -d install/lib/modules; then
-                mv install/lib/modules kerninstall/lib/.
-            fi
-            if test -f kerninstall/boot/xen.gz || test -f kerninstall/boot/xen; then
+            if test -f install/boot/xen.gz || test -f install/boot/xen; then
                 mkdir xeninstall/boot
-                mv kerninstall/boot/xen* xeninstall/boot/.
+                mv install/boot/xen* xeninstall/boot/.
             fi
         fi
 END
 }
 
 sub stash () {
-    foreach my $part ('', 'kern', 'xen') {
+    foreach my $part ('', 'xen') {
         built_stash($ho, $builddir,
                     "xen-unstable/dist/${part}install",
                     "${part}dist");
@@ -243,7 +195,6 @@ checkout();
 
 trapping(\&build);
 trapping(\&collectversion_qemu);
-trapping(\&collectversions_kernel);
 
 die "*** something failed:\n\n".(join "\n\n",@probs)."\n** something failed"
     if @probs;
-- 
1.8.5.2

^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH xen.git 1/1] build: remove Linux kernel build integration.
  2014-03-19 11:45 [PATCH OSSTEST+xen 0/4+1] remove xen.git Linux kernel build integration Ian Campbell
                   ` (3 preceding siblings ...)
  2014-03-19 11:47 ` [PATCH OSSTEST 4/4] ts-xen-build: Drop ability to build kernels Ian Campbell
@ 2014-03-19 11:48 ` Ian Campbell
  2014-03-26 16:55   ` Ian Campbell
  2014-04-08 14:55   ` Ian Jackson
  2014-03-20 15:56 ` [PATCH OSSTEST v2 1/4] mfi-common: remove xen_kernels runvar from build-*-pvops Ian Campbell
                   ` (3 subsequent siblings)
  8 siblings, 2 replies; 34+ messages in thread
From: Ian Campbell @ 2014-03-19 11:48 UTC (permalink / raw)
  To: ian.jackson; +Cc: Ian Campbell, xen-devel

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

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])
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 34+ messages in thread

* Re: [PATCH OSSTEST 1/4] mfi-common: remove xen_kernels runvar from build-*-pvops
  2014-03-19 11:47 ` [PATCH OSSTEST 1/4] mfi-common: remove xen_kernels runvar from build-*-pvops Ian Campbell
@ 2014-03-19 12:06   ` Ian Jackson
  0 siblings, 0 replies; 34+ messages in thread
From: Ian Jackson @ 2014-03-19 12:06 UTC (permalink / raw)
  To: Ian Campbell; +Cc: xen-devel

Ian Campbell writes ("[PATCH OSSTEST 1/4] mfi-common: remove xen_kernels runvar from build-*-pvops"):
> ts-kernel-build does not use this.

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

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH OSSTEST 2/4] import enable-xen-config from xen.git, use for ts-kernel-build
  2014-03-19 11:47 ` [PATCH OSSTEST 2/4] import enable-xen-config from xen.git, use for ts-kernel-build Ian Campbell
@ 2014-03-19 12:09   ` Ian Jackson
  2014-03-19 12:22     ` Ian Campbell
  0 siblings, 1 reply; 34+ messages in thread
From: Ian Jackson @ 2014-03-19 12:09 UTC (permalink / raw)
  To: Ian Campbell; +Cc: xen-devel

Ian Campbell writes ("[PATCH OSSTEST 2/4] import enable-xen-config from xen.git, use for ts-kernel-build"):
> I plan to remove it from xen.git. Take the version from a03984e7bcdf which
> hasn't changed since 8dedf6431393 in 2010.
> 
> Update ts-kernel-build to not require xen.git.

>  enable-xen-config | 127 ++++++++++++++++++++++++++++++++++++++++++++++++++++++

I normally try to avoid random files like this floating about in
osstest.git.  Shouldn't this be a here document (in ts-kernel-build,
probably) ?

Ian.

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH OSSTEST 3/4] Use ts-kernel-build for build-*-oldkern
  2014-03-19 11:47 ` [PATCH OSSTEST 3/4] Use ts-kernel-build for build-*-oldkern Ian Campbell
@ 2014-03-19 12:12   ` Ian Jackson
  2014-03-19 12:26     ` Ian Campbell
  0 siblings, 1 reply; 34+ messages in thread
From: Ian Jackson @ 2014-03-19 12:12 UTC (permalink / raw)
  To: Ian Campbell; +Cc: xen-devel

Ian Campbell writes ("[PATCH OSSTEST 3/4] Use ts-kernel-build for build-*-oldkern"):
> instead of using the kernel build integration in xen.git, which is going away.
...
> Remove the now unused xen and qemu(u) tree/revision stuff from the jobs'
> runvars. Add the appropriate kconfighow and kimagefile runvars and implement
> an appropriate kconfighow handler to use the create_config.sh present in this
> tree (the xen.git intergration called the same script)

This is the right way to do what you set out to do, but:

> I guess these are build tests only, but they sem to only be used in the
> osstest flights. Not sure if that is deliberate.

They're in the xen-unstable flights too.  If we're disentangling this
from xen.git, I think it would arguably be better to drop this
entirely.  I don't think we want to make a separate push gate for
2.6.18 at this stage.

Ian.

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH OSSTEST 4/4] ts-xen-build: Drop ability to build kernels
  2014-03-19 11:47 ` [PATCH OSSTEST 4/4] ts-xen-build: Drop ability to build kernels Ian Campbell
@ 2014-03-19 12:15   ` Ian Jackson
  2014-03-19 12:27     ` Ian Campbell
  0 siblings, 1 reply; 34+ messages in thread
From: Ian Jackson @ 2014-03-19 12:15 UTC (permalink / raw)
  To: Ian Campbell; +Cc: xen-devel

Ian Campbell writes ("[PATCH OSSTEST 4/4] ts-xen-build: Drop ability to build kernels"):
> These are now all handled by ts-kernel-build.
...
> -               (nonempty($kerns) ? <<END : <<END)
> -	echo >>.config KERNELS='$kerns'
> -END
> -	echo >>.config KERNELS=''
> -END

You need to at least set KERNELS=''.  We do sometimes still build very
old xens which try to build a kernel by default.

Ian.

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH OSSTEST 2/4] import enable-xen-config from xen.git, use for ts-kernel-build
  2014-03-19 12:09   ` Ian Jackson
@ 2014-03-19 12:22     ` Ian Campbell
  0 siblings, 0 replies; 34+ messages in thread
From: Ian Campbell @ 2014-03-19 12:22 UTC (permalink / raw)
  To: Ian Jackson; +Cc: xen-devel

On Wed, 2014-03-19 at 12:09 +0000, Ian Jackson wrote:
> Ian Campbell writes ("[PATCH OSSTEST 2/4] import enable-xen-config from xen.git, use for ts-kernel-build"):
> > I plan to remove it from xen.git. Take the version from a03984e7bcdf which
> > hasn't changed since 8dedf6431393 in 2010.
> > 
> > Update ts-kernel-build to not require xen.git.
> 
> >  enable-xen-config | 127 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
> 
> I normally try to avoid random files like this floating about in
> osstest.git.  Shouldn't this be a here document (in ts-kernel-build,
> probably) ?

I wondered about that but thought it was a bit long (50% the size of the
script it goes in), but I will do it this way now that you've expressed
the preference.

Ian.

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH OSSTEST 3/4] Use ts-kernel-build for build-*-oldkern
  2014-03-19 12:12   ` Ian Jackson
@ 2014-03-19 12:26     ` Ian Campbell
  2014-03-19 13:28       ` Ian Jackson
  2014-03-19 13:35       ` Jan Beulich
  0 siblings, 2 replies; 34+ messages in thread
From: Ian Campbell @ 2014-03-19 12:26 UTC (permalink / raw)
  To: Ian Jackson, Jan Beulich; +Cc: xen-devel

On Wed, 2014-03-19 at 12:12 +0000, Ian Jackson wrote:
> Ian Campbell writes ("[PATCH OSSTEST 3/4] Use ts-kernel-build for build-*-oldkern"):
> > instead of using the kernel build integration in xen.git, which is going away.
> ...
> > Remove the now unused xen and qemu(u) tree/revision stuff from the jobs'
> > runvars. Add the appropriate kconfighow and kimagefile runvars and implement
> > an appropriate kconfighow handler to use the create_config.sh present in this
> > tree (the xen.git intergration called the same script)
> 
> This is the right way to do what you set out to do, but:
> 
> > I guess these are build tests only, but they sem to only be used in the
> > osstest flights. Not sure if that is deliberate.
> 
> They're in the xen-unstable flights too.

So they are.

> If we're disentangling this
> from xen.git, I think it would arguably be better to drop this
> entirely.  I don't think we want to make a separate push gate for
> 2.6.18 at this stage.

I don't think they are in affect gated today, are they? xen.git doesn't
reference a changeset or tag, it just grabs hg-master.

Also, they are listed in allow.all so they don't block anyway -- I
suppose they are just useful for status.

I expect Jan is the only person who really cares about these trees, lets
see what he thinks...

Ian.

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH OSSTEST 4/4] ts-xen-build: Drop ability to build kernels
  2014-03-19 12:15   ` Ian Jackson
@ 2014-03-19 12:27     ` Ian Campbell
  0 siblings, 0 replies; 34+ messages in thread
From: Ian Campbell @ 2014-03-19 12:27 UTC (permalink / raw)
  To: Ian Jackson; +Cc: xen-devel

On Wed, 2014-03-19 at 12:15 +0000, Ian Jackson wrote:
> Ian Campbell writes ("[PATCH OSSTEST 4/4] ts-xen-build: Drop ability to build kernels"):
> > These are now all handled by ts-kernel-build.
> ...
> > -               (nonempty($kerns) ? <<END : <<END)
> > -	echo >>.config KERNELS='$kerns'
> > -END
> > -	echo >>.config KERNELS=''
> > -END
> 
> You need to at least set KERNELS=''.  We do sometimes still build very
> old xens which try to build a kernel by default.

Good point. Will do.

Ian.

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH OSSTEST 3/4] Use ts-kernel-build for build-*-oldkern
  2014-03-19 12:26     ` Ian Campbell
@ 2014-03-19 13:28       ` Ian Jackson
  2014-03-19 13:37         ` Ian Campbell
  2014-03-19 13:35       ` Jan Beulich
  1 sibling, 1 reply; 34+ messages in thread
From: Ian Jackson @ 2014-03-19 13:28 UTC (permalink / raw)
  To: Ian Campbell; +Cc: Jan Beulich, xen-devel

Ian Campbell writes ("Re: [PATCH OSSTEST 3/4] Use ts-kernel-build for build-*-oldkern"):
> On Wed, 2014-03-19 at 12:12 +0000, Ian Jackson wrote:
> > If we're disentangling this
> > from xen.git, I think it would arguably be better to drop this
> > entirely.  I don't think we want to make a separate push gate for
> > 2.6.18 at this stage.
> 
> I don't think they are in affect gated today, are they? xen.git doesn't
> reference a changeset or tag, it just grabs hg-master.

Indeed.

> Also, they are listed in allow.all so they don't block anyway -- I
> suppose they are just useful for status.

They were put in allow.all because of that hg clone problem.  That
seems to be fixed now so we could remove them.

Ian.

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH OSSTEST 3/4] Use ts-kernel-build for build-*-oldkern
  2014-03-19 12:26     ` Ian Campbell
  2014-03-19 13:28       ` Ian Jackson
@ 2014-03-19 13:35       ` Jan Beulich
  1 sibling, 0 replies; 34+ messages in thread
From: Jan Beulich @ 2014-03-19 13:35 UTC (permalink / raw)
  To: Ian Campbell, Ian Jackson; +Cc: xen-devel

>>> On 19.03.14 at 13:26, Ian Campbell <Ian.Campbell@citrix.com> wrote:
> On Wed, 2014-03-19 at 12:12 +0000, Ian Jackson wrote:
>> If we're disentangling this
>> from xen.git, I think it would arguably be better to drop this
>> entirely.  I don't think we want to make a separate push gate for
>> 2.6.18 at this stage.
> 
> I don't think they are in affect gated today, are they? xen.git doesn't
> reference a changeset or tag, it just grabs hg-master.

Correct. There's no staging tree around for this anymore.

> Also, they are listed in allow.all so they don't block anyway -- I
> suppose they are just useful for status.

That was done not that long ago because of infrastructure issues
keeping pushes from happening. If possible I'd like these to get
removed from the white list again.

Jan

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH OSSTEST 3/4] Use ts-kernel-build for build-*-oldkern
  2014-03-19 13:28       ` Ian Jackson
@ 2014-03-19 13:37         ` Ian Campbell
  2014-03-19 13:46           ` Ian Jackson
  0 siblings, 1 reply; 34+ messages in thread
From: Ian Campbell @ 2014-03-19 13:37 UTC (permalink / raw)
  To: Ian Jackson; +Cc: Jan Beulich, xen-devel

On Wed, 2014-03-19 at 13:28 +0000, Ian Jackson wrote:
> Ian Campbell writes ("Re: [PATCH OSSTEST 3/4] Use ts-kernel-build for build-*-oldkern"):
> > On Wed, 2014-03-19 at 12:12 +0000, Ian Jackson wrote:
> > > If we're disentangling this
> > > from xen.git, I think it would arguably be better to drop this
> > > entirely.  I don't think we want to make a separate push gate for
> > > 2.6.18 at this stage.
> > 
> > I don't think they are in affect gated today, are they? xen.git doesn't
> > reference a changeset or tag, it just grabs hg-master.
> 
> Indeed.

So does this mean we can keep these tests, as Jan would like, without a
complete push gate setup?

> > Also, they are listed in allow.all so they don't block anyway -- I
> > suppose they are just useful for status.
> 
> They were put in allow.all because of that hg clone problem.  That
> seems to be fixed now so we could remove them.

OK.

> 
> Ian.

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH OSSTEST 3/4] Use ts-kernel-build for build-*-oldkern
  2014-03-19 13:37         ` Ian Campbell
@ 2014-03-19 13:46           ` Ian Jackson
  2014-03-19 13:51             ` Ian Campbell
  0 siblings, 1 reply; 34+ messages in thread
From: Ian Jackson @ 2014-03-19 13:46 UTC (permalink / raw)
  To: Ian Campbell; +Cc: Jan Beulich, xen-devel

Ian Campbell writes ("Re: [PATCH OSSTEST 3/4] Use ts-kernel-build for build-*-oldkern"):
> On Wed, 2014-03-19 at 13:28 +0000, Ian Jackson wrote:
> > Ian Campbell writes ("Re: [PATCH OSSTEST 3/4] Use ts-kernel-build for build-*-oldkern"):
> > > I don't think they are in affect gated today, are they? xen.git doesn't
> > > reference a changeset or tag, it just grabs hg-master.
> > 
> > Indeed.
> 
> So does this mean we can keep these tests, as Jan would like, without a
> complete push gate setup?

If the 2.6.18 build starts to fail, xen-unstable pushes will be broken
until they are fixed, as before.  Previously (before your recent
proposals) such a build failure might be due to changes in xen.git so
that was slightly justifiable.  But in practice this is quite rare.

I guess this situation, while anomalous, is tolerable.  If you agree
then I will un-allow the failures.

Ian.

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH OSSTEST 3/4] Use ts-kernel-build for build-*-oldkern
  2014-03-19 13:46           ` Ian Jackson
@ 2014-03-19 13:51             ` Ian Campbell
  0 siblings, 0 replies; 34+ messages in thread
From: Ian Campbell @ 2014-03-19 13:51 UTC (permalink / raw)
  To: Ian Jackson; +Cc: Jan Beulich, xen-devel

On Wed, 2014-03-19 at 13:46 +0000, Ian Jackson wrote:
> Ian Campbell writes ("Re: [PATCH OSSTEST 3/4] Use ts-kernel-build for build-*-oldkern"):
> > On Wed, 2014-03-19 at 13:28 +0000, Ian Jackson wrote:
> > > Ian Campbell writes ("Re: [PATCH OSSTEST 3/4] Use ts-kernel-build for build-*-oldkern"):
> > > > I don't think they are in affect gated today, are they? xen.git doesn't
> > > > reference a changeset or tag, it just grabs hg-master.
> > > 
> > > Indeed.
> > 
> > So does this mean we can keep these tests, as Jan would like, without a
> > complete push gate setup?
> 
> If the 2.6.18 build starts to fail, xen-unstable pushes will be broken
> until they are fixed, as before.  Previously (before your recent
> proposals) such a build failure might be due to changes in xen.git so
> that was slightly justifiable.  But in practice this is quite rare.
> 
> I guess this situation, while anomalous, is tolerable.  If you agree
> then I will un-allow the failures.

OK.

^ permalink raw reply	[flat|nested] 34+ messages in thread

* [PATCH OSSTEST v2 1/4] mfi-common: remove xen_kernels runvar from build-*-pvops
  2014-03-19 11:45 [PATCH OSSTEST+xen 0/4+1] remove xen.git Linux kernel build integration Ian Campbell
                   ` (4 preceding siblings ...)
  2014-03-19 11:48 ` [PATCH xen.git 1/1] build: remove Linux kernel build integration Ian Campbell
@ 2014-03-20 15:56 ` Ian Campbell
  2014-03-20 15:56 ` [PATCH OSSTEST v2 2/4] import enable-xen-config from xen.git, use for ts-kernel-build Ian Campbell
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 34+ messages in thread
From: Ian Campbell @ 2014-03-20 15:56 UTC (permalink / raw)
  To: ian.jackson; +Cc: Ian Campbell, xen-devel

ts-kernel-build does not use this.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 mfi-common | 1 -
 1 file changed, 1 deletion(-)

diff --git a/mfi-common b/mfi-common
index a95703d..52ed4d4 100644
--- a/mfi-common
+++ b/mfi-common
@@ -157,7 +157,6 @@ create_build_jobs () {
                 $RUNVARS $BUILD_RUNVARS $BUILD_LINUX_RUNVARS $arch_runvars   \
                 $suite_runvars                                               \
                 host_hostflags=$build_hostflags                              \
-                xen_kernels=linux-2.6-pvops                                  \
                 revision_xen=$REVISION_XEN                                   \
                 $pvops_kernel $pvops_kconfig_overrides                       \
                 ${TREEVCS_LINUX:+treevcs_linux=}${TREEVCS_LINUX}             \
-- 
1.8.5.2

^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH OSSTEST v2 2/4] import enable-xen-config from xen.git, use for ts-kernel-build
  2014-03-19 11:45 [PATCH OSSTEST+xen 0/4+1] remove xen.git Linux kernel build integration Ian Campbell
                   ` (5 preceding siblings ...)
  2014-03-20 15:56 ` [PATCH OSSTEST v2 1/4] mfi-common: remove xen_kernels runvar from build-*-pvops Ian Campbell
@ 2014-03-20 15:56 ` Ian Campbell
  2014-03-20 16:01   ` Ian Jackson
  2014-03-20 15:56 ` [PATCH OSSTEST v2 3/4] Use ts-kernel-build for build-*-oldkern Ian Campbell
  2014-03-20 15:56 ` [PATCH OSSTEST v2 4/4] ts-xen-build: Drop ability to build kernels Ian Campbell
  8 siblings, 1 reply; 34+ messages in thread
From: Ian Campbell @ 2014-03-20 15:56 UTC (permalink / raw)
  To: ian.jackson; +Cc: Ian Campbell, xen-devel

I plan to remove it from xen.git. Take the version from a03984e7bcdf which
hasn't changed since 8dedf6431393 in 2010.

Update ts-kernel-build to not require xen.git.

config_intree_buildconfigs was unused so remove it.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
v2: Import into a here document. Placed at the end since it is long.`
---
 mfi-common      |   2 -
 ts-kernel-build | 155 +++++++++++++++++++++++++++++++++++++++++++++++++-------
 2 files changed, 136 insertions(+), 21 deletions(-)

diff --git a/mfi-common b/mfi-common
index 52ed4d4..df7f8b0 100644
--- a/mfi-common
+++ b/mfi-common
@@ -153,11 +153,9 @@ create_build_jobs () {
 
     ./cs-job-create $flight build-$arch-pvops build-kern                     \
                 arch=$arch kconfighow=xen-enable-xen-config                  \
-        tree_xen=$TREE_XEN                                                   \
                 $RUNVARS $BUILD_RUNVARS $BUILD_LINUX_RUNVARS $arch_runvars   \
                 $suite_runvars                                               \
                 host_hostflags=$build_hostflags                              \
-                revision_xen=$REVISION_XEN                                   \
                 $pvops_kernel $pvops_kconfig_overrides                       \
                 ${TREEVCS_LINUX:+treevcs_linux=}${TREEVCS_LINUX}             \
                 tree_linuxfirmware=$TREE_LINUXFIRMWARE                       \
diff --git a/ts-kernel-build b/ts-kernel-build
index 05d9e96..df31709 100755
--- a/ts-kernel-build
+++ b/ts-kernel-build
@@ -38,11 +38,11 @@ my $archparms = {
     'amd64' => { DefConfig => 'defconfig',          KernelImage => 'arch/x86/boot/bzImage' }
 };
 
+sub enable_xen_config ();
+
 sub checkout () {
     target_cmd($ho, "rm -rf $builddir && mkdir $builddir", 600);
 
-    build_clone($ho, 'xen', $builddir, 'xen-unstable');
-
     build_clone($ho, 'linux', $builddir, 'linux');
 
     if (length($r{tree_pq_linux})) {
@@ -250,8 +250,9 @@ $config_features
 $config_runvars
 END
 
+    target_putfilecontents_stash($ho,1000,enable_xen_config(),"$builddir/enable-xen-config");
+
     target_cmd_build($ho, 1000, $builddir, <<END);
-        cp xen-unstable/buildconfigs/enable-xen-config .
         ed <$edscript enable-xen-config
         chmod +x enable-xen-config
         cd linux
@@ -264,22 +265,6 @@ END
     # /;
 }
 
-sub config_intree_buildconfigs () {
-    my $edscript= stash_config_edscript(<<END);
-$config_hardware
-$config_features
-END
-    target_cmd_build($ho, 1000, $builddir, <<END);
-        sed 's/setopt CONFIG/true &/' xen-unstable/buildconfigs/enable-xen-config >enable-device-configs
-        ed <$edscript enable-device-configs
-        chmod +x enable-device-configs
-	cd linux
-	make -f buildconfigs/Rules.mk defconfig </dev/null
-        ../enable-device-configs .config
-        yes '' | make oldconfig
-END
-}
-
 sub config () {
     my $confighow= $r{kconfighow};
     $confighow =~ s/\W/_/g;
@@ -353,3 +338,135 @@ built_stash($ho, $builddir, 'dist', 'kerndist');
 built_stash_file($ho, $builddir, 'vmlinux', 'linux/vmlinux');
 built_compress_stashed('vmlinux');
 built_stash_file($ho, $builddir, 'config', 'linux/.config');
+
+sub enable_xen_config () {
+    return <<'END';
+#!/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
+END
+}
-- 
1.8.5.2

^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH OSSTEST v2 3/4] Use ts-kernel-build for build-*-oldkern
  2014-03-19 11:45 [PATCH OSSTEST+xen 0/4+1] remove xen.git Linux kernel build integration Ian Campbell
                   ` (6 preceding siblings ...)
  2014-03-20 15:56 ` [PATCH OSSTEST v2 2/4] import enable-xen-config from xen.git, use for ts-kernel-build Ian Campbell
@ 2014-03-20 15:56 ` Ian Campbell
  2014-03-20 16:01   ` Ian Jackson
  2014-03-20 15:56 ` [PATCH OSSTEST v2 4/4] ts-xen-build: Drop ability to build kernels Ian Campbell
  8 siblings, 1 reply; 34+ messages in thread
From: Ian Campbell @ 2014-03-20 15:56 UTC (permalink / raw)
  To: ian.jackson; +Cc: Ian Campbell, xen-devel

instead of using the kernel build integration in xen.git, which is going away.

There is no difference to the .config produced. No test jobs seem to rely on
these kernels so I have not worried about making the contents of dist be
identical (specifically the filenames under /boot have lost their -xen suffix)

Remove the now unused xen and qemu(u) tree/revision stuff from the jobs'
runvars. Add the appropriate kconfighow and kimagefile runvars and implement
an appropriate kconfighow handler to use the create_config.sh present in this
tree (the xen.git intergration called the same script)

If the 2.6.18 build starts to fail, xen-unstable pushes will be broken
until they are fixed, as before.  Previously such a build failure might be due
to changes in xen.git so that was slightly justifiable.  But in practice this
is quite rare.  This situation, while anomalous, is tolerable.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
v2: stole some of your words for the commit message, I hope I am grasping the
correct end of the stick.
---
 mfi-common      | 12 +++---------
 ts-kernel-build | 16 ++++++++++++++++
 2 files changed, 19 insertions(+), 9 deletions(-)

diff --git a/mfi-common b/mfi-common
index df7f8b0..2fff802 100644
--- a/mfi-common
+++ b/mfi-common
@@ -167,18 +167,12 @@ create_build_jobs () {
 
     if [ "x$REVISION_LINUX_OLD" != xdisable ]; then
 
-      ./cs-job-create $flight build-$arch-oldkern build                 \
-                arch=$arch                                              \
-        tree_qemu=$TREE_QEMU                                            \
-        tree_qemuu=$TREE_QEMU_UPSTREAM                                  \
-        tree_xen=$TREE_XEN                                              \
+      ./cs-job-create $flight build-$arch-oldkern build-kern            \
+                arch=$arch kconfighow=create-config-sh                  \
+                kimagefile=vmlinux                                      \
                 $RUNVARS $BUILD_RUNVARS $BUILD_LINUX_OLD_RUNVARS        \
                 $arch_runvars $suite_runvars                            \
                 host_hostflags=$build_hostflags                         \
-                xen_kernels=linux-2.6-xen                               \
-                revision_xen=$REVISION_XEN                              \
-                revision_qemu=$REVISION_QEMU                            \
-                revision_qemuu=$REVISION_QEMU_UPSTREAM                  \
         tree_linux=http://xenbits.xen.org/linux-2.6.18-xen.hg           \
         revision_linux=$REVISION_LINUX_OLD
 
diff --git a/ts-kernel-build b/ts-kernel-build
index df31709..8618709 100755
--- a/ts-kernel-build
+++ b/ts-kernel-build
@@ -265,6 +265,22 @@ END
     # /;
 }
 
+sub config_create_config_sh () {
+    die "only x86" unless $r{arch} =~ m/^amd64|i386$/;
+
+    my $xta = $r{arch} eq "amd64" ? "x86_64" : "x86_32";
+
+    target_cmd_build($ho, 1000, $builddir, <<END);
+        cd linux
+	sh buildconfigs/create_config.sh .config "-xen" $xta
+	if [ x$xta = xx86_32 ] ; then
+            sed -i.bak -e 's!^CONFIG_HIGHMEM4G=y\$!\# CONFIG_HIGHMEM4G is not set!;s!^\# CONFIG_HIGHMEM64G is not set\$!CONFIG_HIGHMEM64G=y!' .config
+	fi
+        yes '' | make oldconfig
+END
+    # /;
+}
+
 sub config () {
     my $confighow= $r{kconfighow};
     $confighow =~ s/\W/_/g;
-- 
1.8.5.2

^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH OSSTEST v2 4/4] ts-xen-build: Drop ability to build kernels
  2014-03-19 11:45 [PATCH OSSTEST+xen 0/4+1] remove xen.git Linux kernel build integration Ian Campbell
                   ` (7 preceding siblings ...)
  2014-03-20 15:56 ` [PATCH OSSTEST v2 3/4] Use ts-kernel-build for build-*-oldkern Ian Campbell
@ 2014-03-20 15:56 ` Ian Campbell
  2014-03-20 16:02   ` Ian Jackson
  8 siblings, 1 reply; 34+ messages in thread
From: Ian Campbell @ 2014-03-20 15:56 UTC (permalink / raw)
  To: ian.jackson; +Cc: Ian Campbell, xen-devel

These are now all handled by ts-kernel-build.

We continue to specify KERNELS='' so that when building ancient versions of
Xen they won't try and build anything.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
v2: Keep KERNELS=''
---
 ts-xen-build | 60 ++++++------------------------------------------------------
 1 file changed, 6 insertions(+), 54 deletions(-)

diff --git a/ts-xen-build b/ts-xen-build
index 7bc7cbc..e67e29c 100755
--- a/ts-xen-build
+++ b/ts-xen-build
@@ -35,21 +35,10 @@ my $builddir= "$homedir/$leaf";
 my $makeflags= get_host_property($ho, 'build make flags', '-j4');
     
 sub checkout () {
-    my $kerns= $r{xen_kernels};
-    $kerns='' unless defined $kerns;
-    $kerns =~ s/,/ /g;
-
     target_cmd($ho, "rm -rf $builddir && mkdir $builddir", 60);
 
     build_clone($ho, 'xen', $builddir, 'xen-unstable');
 
-    my $linux_url_envvar= 'XEN_LINUX_GIT_URL';
-    my $linux_rev_envvar= 'XEN_LINUX_GITREV';
-    if (defined $r{tree_linux} && $r{tree_linux} =~ m/\.hg$/) {
-        $linux_url_envvar= 'XEN_LINUX_HGREPO';
-        $linux_rev_envvar= 'XEN_LINUX_HGREV';
-    }
-
     my $debug_build = $r{xen_build_debug} || 'y';
 
     # Do not set this unless you know what you are doing. This arm
@@ -67,6 +56,7 @@ sub checkout () {
 	echo >>.config GIT_HTTP=y
 	echo >>.config LIBLEAFDIR_x86_64=lib
 	echo >>.config QEMU_REMOTE='$r{tree_qemu}'
+	echo >>.config KERNELS=''
 END
                (nonempty($r{revision_qemu}) ? <<END : '').
 	echo >>.config QEMU_TAG='$r{revision_qemu}'
@@ -83,20 +73,9 @@ END
                (nonempty($earlyprintk) ? <<END : '').
 	echo >>.config CONFIG_EARLY_PRINTK=$earlyprintk
 END
-               (nonempty($r{tree_linux}) ? <<END : '').
-	echo >>.config export $linux_url_envvar='$r{tree_linux}'
-END
-               (nonempty($r{revision_linux}) ? <<END : '').
-	echo >>.config export $linux_rev_envvar='$r{revision_linux}'
-END
-               ($ho->{Suite} =~ m/squeeze|wheezy/ ? <<END : ''). #Debian #693721
+               ($ho->{Suite} =~ m/squeeze|wheezy/ ? <<END : '') #Debian #693721
 	echo >>.config PYTHON_PREFIX_ARG=
 END
-               (nonempty($kerns) ? <<END : <<END)
-	echo >>.config KERNELS='$kerns'
-END
-	echo >>.config KERNELS=''
-END
                );
 }
 
@@ -155,50 +134,24 @@ sub collectversion_qemu () {
     store_revision($ho, 'seabios', "$tools/seabios-dir", 1);
 }
 
-sub collectversions_kernel () {
-    my $whichkerns= target_cmd_output($ho, <<END);
-        set -e
-        cd $builddir/xen-unstable
-        echo linux*/.{git,hg}
-END
-    my (@kerndirs,@vcss,@revisions);
-    foreach my $kerndir (sort split / /, $whichkerns) {
-        next if $kerndir =~ m/\*/;
-        die "$kerndir ?" unless $kerndir =~ m/^linux.*\.(git|hg)$/;
-        my $vcs= $1;
-        push @kerndirs, $kerndir;
-        push @vcss, $vcs;
-        push @revisions,
-            vcs_dir_revision($ho,"$builddir/xen-unstable/$kerndir", $vcs);
-    }
-    if (@revisions) {
-	store_vcs_revision('linux',"@revisions","@vcss");
-	store_runvar('built_xen_kerneldirs',"@kerndirs");
-    }
-}
-
 sub divide () {
     target_cmd_build($ho, 100, $builddir, <<END);
         cd xen-unstable/dist
-        mkdir kerninstall xeninstall
+        mkdir xeninstall
 	for f in *install; do
 	    mkdir -p \$f/lib
 	done
         if test -d install/boot; then
-            mv install/boot kerninstall/.
-            if test -d install/lib/modules; then
-                mv install/lib/modules kerninstall/lib/.
-            fi
-            if test -f kerninstall/boot/xen.gz || test -f kerninstall/boot/xen; then
+            if test -f install/boot/xen.gz || test -f install/boot/xen; then
                 mkdir xeninstall/boot
-                mv kerninstall/boot/xen* xeninstall/boot/.
+                mv install/boot/xen* xeninstall/boot/.
             fi
         fi
 END
 }
 
 sub stash () {
-    foreach my $part ('', 'kern', 'xen') {
+    foreach my $part ('', 'xen') {
         built_stash($ho, $builddir,
                     "xen-unstable/dist/${part}install",
                     "${part}dist");
@@ -243,7 +196,6 @@ checkout();
 
 trapping(\&build);
 trapping(\&collectversion_qemu);
-trapping(\&collectversions_kernel);
 
 die "*** something failed:\n\n".(join "\n\n",@probs)."\n** something failed"
     if @probs;
-- 
1.8.5.2

^ permalink raw reply related	[flat|nested] 34+ messages in thread

* Re: [PATCH OSSTEST v2 2/4] import enable-xen-config from xen.git, use for ts-kernel-build
  2014-03-20 15:56 ` [PATCH OSSTEST v2 2/4] import enable-xen-config from xen.git, use for ts-kernel-build Ian Campbell
@ 2014-03-20 16:01   ` Ian Jackson
  2014-03-20 16:02     ` Ian Campbell
  0 siblings, 1 reply; 34+ messages in thread
From: Ian Jackson @ 2014-03-20 16:01 UTC (permalink / raw)
  To: Ian Campbell; +Cc: xen-devel

Ian Campbell writes ("[PATCH OSSTEST v2 2/4] import enable-xen-config from xen.git, use for ts-kernel-build"):
> I plan to remove it from xen.git. Take the version from a03984e7bcdf which
> hasn't changed since 8dedf6431393 in 2010.
> 
> Update ts-kernel-build to not require xen.git.
> 
> config_intree_buildconfigs was unused so remove it.

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

Although:

> +    target_putfilecontents_stash($ho,1000,enable_xen_config(),"$builddir/enable-xen-config");

Firstly, that line could do with wrapping, and secondly, do you really
expect this to take 1ks ?  100s seems more like it ...

Ian.

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH OSSTEST v2 3/4] Use ts-kernel-build for build-*-oldkern
  2014-03-20 15:56 ` [PATCH OSSTEST v2 3/4] Use ts-kernel-build for build-*-oldkern Ian Campbell
@ 2014-03-20 16:01   ` Ian Jackson
  0 siblings, 0 replies; 34+ messages in thread
From: Ian Jackson @ 2014-03-20 16:01 UTC (permalink / raw)
  To: Ian Campbell; +Cc: xen-devel

Ian Campbell writes ("[PATCH OSSTEST v2 3/4] Use ts-kernel-build for build-*-oldkern"):
> v2: stole some of your words for the commit message, I hope I am grasping the
> correct end of the stick.

Yes.

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

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH OSSTEST v2 4/4] ts-xen-build: Drop ability to build kernels
  2014-03-20 15:56 ` [PATCH OSSTEST v2 4/4] ts-xen-build: Drop ability to build kernels Ian Campbell
@ 2014-03-20 16:02   ` Ian Jackson
  0 siblings, 0 replies; 34+ messages in thread
From: Ian Jackson @ 2014-03-20 16:02 UTC (permalink / raw)
  To: Ian Campbell; +Cc: xen-devel

Ian Campbell writes ("[PATCH OSSTEST v2 4/4] ts-xen-build: Drop ability to build kernels"):
> These are now all handled by ts-kernel-build.
> 
> We continue to specify KERNELS='' so that when building ancient versions of
> Xen they won't try and build anything.

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

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH OSSTEST v2 2/4] import enable-xen-config from xen.git, use for ts-kernel-build
  2014-03-20 16:01   ` Ian Jackson
@ 2014-03-20 16:02     ` Ian Campbell
  2014-03-21 12:09       ` Ian Campbell
  0 siblings, 1 reply; 34+ messages in thread
From: Ian Campbell @ 2014-03-20 16:02 UTC (permalink / raw)
  To: Ian Jackson; +Cc: xen-devel

On Thu, 2014-03-20 at 16:01 +0000, Ian Jackson wrote:
> Ian Campbell writes ("[PATCH OSSTEST v2 2/4] import enable-xen-config from xen.git, use for ts-kernel-build"):
> > I plan to remove it from xen.git. Take the version from a03984e7bcdf which
> > hasn't changed since 8dedf6431393 in 2010.
> > 
> > Update ts-kernel-build to not require xen.git.
> > 
> > config_intree_buildconfigs was unused so remove it.
> 
> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
> 
> Although:
> 
> > +    target_putfilecontents_stash($ho,1000,enable_xen_config(),"$builddir/enable-xen-config");
> 
> Firstly, that line could do with wrapping, and secondly, do you really
> expect this to take 1ks ?  100s seems more like it ...

1000 came from the line I cargo culted it from ;-)

I'll wrap and reduce to 100 as I commit, unless your comments elsewhere
necessitate a resend anyway.

Ian.

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH OSSTEST v2 2/4] import enable-xen-config from xen.git, use for ts-kernel-build
  2014-03-20 16:02     ` Ian Campbell
@ 2014-03-21 12:09       ` Ian Campbell
  0 siblings, 0 replies; 34+ messages in thread
From: Ian Campbell @ 2014-03-21 12:09 UTC (permalink / raw)
  To: Ian Jackson; +Cc: xen-devel

On Thu, 2014-03-20 at 16:02 +0000, Ian Campbell wrote:
> On Thu, 2014-03-20 at 16:01 +0000, Ian Jackson wrote:
> > Ian Campbell writes ("[PATCH OSSTEST v2 2/4] import enable-xen-config from xen.git, use for ts-kernel-build"):
> > > I plan to remove it from xen.git. Take the version from a03984e7bcdf which
> > > hasn't changed since 8dedf6431393 in 2010.
> > > 
> > > Update ts-kernel-build to not require xen.git.
> > > 
> > > config_intree_buildconfigs was unused so remove it.
> > 
> > Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
> > 
> > Although:
> > 
> > > +    target_putfilecontents_stash($ho,1000,enable_xen_config(),"$builddir/enable-xen-config");
> > 
> > Firstly, that line could do with wrapping, and secondly, do you really
> > expect this to take 1ks ?  100s seems more like it ...
> 
> 1000 came from the line I cargo culted it from ;-)
> 
> I'll wrap and reduce to 100 as I commit, unless your comments elsewhere
> necessitate a resend anyway.

You acked everything else, so I applied making these changes as I went.

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH xen.git 1/1] build: remove Linux kernel build integration.
  2014-03-19 11:48 ` [PATCH xen.git 1/1] build: remove Linux kernel build integration Ian Campbell
@ 2014-03-26 16:55   ` Ian Campbell
  2014-03-26 17:06     ` Jan Beulich
  2014-04-08 14:55   ` Ian Jackson
  1 sibling, 1 reply; 34+ messages in thread
From: Ian Campbell @ 2014-03-26 16:55 UTC (permalink / raw)
  To: ian.jackson, Keir Fraser; +Cc: xen-devel

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])

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH xen.git 1/1] build: remove Linux kernel build integration.
  2014-03-26 16:55   ` Ian Campbell
@ 2014-03-26 17:06     ` Jan Beulich
  2014-04-03 16:36       ` Ian Campbell
  0 siblings, 1 reply; 34+ messages in thread
From: Jan Beulich @ 2014-03-26 17:06 UTC (permalink / raw)
  To: Ian Campbell, Keir Fraser; +Cc: ian.jackson, xen-devel

>>> 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

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH xen.git 1/1] build: remove Linux kernel build integration.
  2014-03-26 17:06     ` Jan Beulich
@ 2014-04-03 16:36       ` Ian Campbell
  0 siblings, 0 replies; 34+ messages in thread
From: Ian Campbell @ 2014-04-03 16:36 UTC (permalink / raw)
  To: Jan Beulich, Keir Fraser; +Cc: ian.jackson, xen-devel

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.

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH xen.git 1/1] build: remove Linux kernel build integration.
  2014-03-19 11:48 ` [PATCH xen.git 1/1] build: remove Linux kernel build integration Ian Campbell
  2014-03-26 16:55   ` Ian Campbell
@ 2014-04-08 14:55   ` Ian Jackson
  2014-04-08 15:11     ` Ian Campbell
  1 sibling, 1 reply; 34+ messages in thread
From: Ian Jackson @ 2014-04-08 14:55 UTC (permalink / raw)
  To: Ian Campbell; +Cc: xen-devel

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.

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [PATCH xen.git 1/1] build: remove Linux kernel build integration.
  2014-04-08 14:55   ` Ian Jackson
@ 2014-04-08 15:11     ` Ian Campbell
  2014-04-08 15:37       ` [PATCH xen.git v2] " Ian Campbell
  0 siblings, 1 reply; 34+ messages in thread
From: Ian Campbell @ 2014-04-08 15:11 UTC (permalink / raw)
  To: Ian Jackson; +Cc: xen-devel

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.

^ permalink raw reply	[flat|nested] 34+ messages in thread

* [PATCH xen.git v2] build: remove Linux kernel build integration.
  2014-04-08 15:11     ` Ian Campbell
@ 2014-04-08 15:37       ` Ian Campbell
  2014-04-10 11:37         ` Ian Campbell
  0 siblings, 1 reply; 34+ messages in thread
From: Ian Campbell @ 2014-04-08 15:37 UTC (permalink / raw)
  To: xen-devel, ian.jackson, keir; +Cc: Ian Campbell

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>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
v2: Remove include of buildconfigs/Rules.mk from Makefile. Ensure we export
DESTDIR since previously buildconfigs/Rules.mk did it.
---
 Makefile                             |   61 +--
 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, 11 insertions(+), 1462 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..41dabbf 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,15 +15,15 @@ export XEN_ROOT=$(CURDIR)
 include Config.mk
 
 SUBARCH := $(subst x86_32,i386,$(XEN_TARGET_ARCH))
-export XEN_TARGET_ARCH SUBARCH XEN_SYSTYPE
-include buildconfigs/Rules.mk
+export XEN_TARGET_ARCH SUBARCH
+export DESTDIR
 
 # build and install everything into the standard system directories
 .PHONY: install
 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])
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 34+ messages in thread

* Re: [PATCH xen.git v2] build: remove Linux kernel build integration.
  2014-04-08 15:37       ` [PATCH xen.git v2] " Ian Campbell
@ 2014-04-10 11:37         ` Ian Campbell
  0 siblings, 0 replies; 34+ messages in thread
From: Ian Campbell @ 2014-04-10 11:37 UTC (permalink / raw)
  To: xen-devel; +Cc: keir, ian.jackson

On Tue, 2014-04-08 at 16:37 +0100, 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>
> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

Applied.

^ permalink raw reply	[flat|nested] 34+ messages in thread

end of thread, other threads:[~2014-04-10 11:37 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-03-19 11:45 [PATCH OSSTEST+xen 0/4+1] remove xen.git Linux kernel build integration Ian Campbell
2014-03-19 11:47 ` [PATCH OSSTEST 1/4] mfi-common: remove xen_kernels runvar from build-*-pvops Ian Campbell
2014-03-19 12:06   ` Ian Jackson
2014-03-19 11:47 ` [PATCH OSSTEST 2/4] import enable-xen-config from xen.git, use for ts-kernel-build Ian Campbell
2014-03-19 12:09   ` Ian Jackson
2014-03-19 12:22     ` Ian Campbell
2014-03-19 11:47 ` [PATCH OSSTEST 3/4] Use ts-kernel-build for build-*-oldkern Ian Campbell
2014-03-19 12:12   ` Ian Jackson
2014-03-19 12:26     ` Ian Campbell
2014-03-19 13:28       ` Ian Jackson
2014-03-19 13:37         ` Ian Campbell
2014-03-19 13:46           ` Ian Jackson
2014-03-19 13:51             ` Ian Campbell
2014-03-19 13:35       ` Jan Beulich
2014-03-19 11:47 ` [PATCH OSSTEST 4/4] ts-xen-build: Drop ability to build kernels Ian Campbell
2014-03-19 12:15   ` Ian Jackson
2014-03-19 12:27     ` Ian Campbell
2014-03-19 11:48 ` [PATCH xen.git 1/1] build: remove Linux kernel build integration Ian Campbell
2014-03-26 16:55   ` Ian Campbell
2014-03-26 17:06     ` Jan Beulich
2014-04-03 16:36       ` Ian Campbell
2014-04-08 14:55   ` Ian Jackson
2014-04-08 15:11     ` Ian Campbell
2014-04-08 15:37       ` [PATCH xen.git v2] " Ian Campbell
2014-04-10 11:37         ` Ian Campbell
2014-03-20 15:56 ` [PATCH OSSTEST v2 1/4] mfi-common: remove xen_kernels runvar from build-*-pvops Ian Campbell
2014-03-20 15:56 ` [PATCH OSSTEST v2 2/4] import enable-xen-config from xen.git, use for ts-kernel-build Ian Campbell
2014-03-20 16:01   ` Ian Jackson
2014-03-20 16:02     ` Ian Campbell
2014-03-21 12:09       ` Ian Campbell
2014-03-20 15:56 ` [PATCH OSSTEST v2 3/4] Use ts-kernel-build for build-*-oldkern Ian Campbell
2014-03-20 16:01   ` Ian Jackson
2014-03-20 15:56 ` [PATCH OSSTEST v2 4/4] ts-xen-build: Drop ability to build kernels Ian Campbell
2014-03-20 16:02   ` Ian Jackson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.