#
# 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')