# # Copyright (c) 2004-2006 rPath, Inc. # This file is distributed under the terms of the MIT License. # A copy is available at http://www.rpath.com/permanent/mit-license.html # loadInstalled('gcc') loadSuperClass('kernelpackage.recipe=rtao.rpath.org@rpl:devel') class Kernel(KernelPackageRecipe): name = 'kernel' version = '2.6.18.1.20061028124743' xenver = '3.0.3_0' # if Use.xen and Use.dom0: buildRequires = ['wget:runtime', 'zlib:devel', 'mkinitrd:runtime'] def unpackBase(r): r.addArchive('kernel-source-%(version)s.src.rpm') r.addAction(r""" cd .. tar xfj config.tar.bz2 tar xfj linux-2.6.18.tar.bz2 for f in patches.*.tar.bz2; do tar xfj $f || break; done tar xfj linux-2.6.18.tar.bz2 for p in $(./guards $(./arch-symbols) < series.conf); do patch -d linux-2.6.18 -p1 < $p || break done mv linux-2.6.18/* kernel-%(version)s """) def unpack(r): r.macros.xenver = r.xenver r.macros.xendir = 'xen-%(xenver)s-src' if Use.xen and Use.dom0: r.addArchive('http://bits.xensource.com/oss-xen/release/3.0.3-0/src.tgz/xen-%(xenver)s-src.tgz', dir='kernel-%(version)s') # Xen patch generated from the 3.0.3 release if Use.xen: # r.addPatch('linux-2.6.16-xen.patch') r.macros.cfgver = '.x86.i686.xen.kotd' else: r.macros.cfgver = '.x86.i686.kotd' def configure(r): if Use.xen: r.Copy('../config/i386/xen', '.config') else: r.Copy('../config/i386/default', '.config') # r.Replace('CONFIG_LOCALVERSION="-default"', 'CONFIG_LOCALVERSION=""', '.config') # r.Make('nonint_oldconfig 2>oc.err ||' # ' { cat oc.err; diff -u .config.old .config > config.changes;' # ' echo "missing config items:"; cat config.changes' # ' exit 1; }') # if we get here, this file is empty, remove it # r.Remove('oc.err') def build(r): if Use.xen and Use.dom0: r.Make('debug=y verbose=y crash_debug=y xen', dir='%(xendir)s') r.Install('%(xendir)s/xen/xen.gz', '/boot/xen.gz-%(kver)s', mode=0644) r.Install('%(xendir)s/xen/xen-syms', '/boot/xen-syms-%(kver)s', mode=0755) r.ComponentProvides('XEN_3.0.3')