[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH xen.git 1/1] build: remove Linux kernel build integration.
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@xxxxxxxxxx> 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@xxxxxxxxxxx> > -# > -# 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]) _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |