summaryrefslogtreecommitdiff
blob: 52b62f17fee4b1298a9d1558ac0364401287c088 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# Copyright 1999-2002 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-kernel/arm-sources/arm-sources-2.4.19.ebuild,v 1.1 2003/02/26 23:25:14 zwelch Exp $
#OKV=original kernel version, KV=patched kernel version.  They can be the same.

IUSE=""
DEPEND=""
LICENSE="GPL"

ETYPE="sources"
inherit kernel

#####
# move to arm profile

# this specifies the main ARM kernel patch level
ARM_PATCH_SUFFIX="rmk5"

######
# move to ${PORTDIR}/subarch.eclass
#  then move to ${PORTDIR}/profiles/profile-arm-1.4/netwinder/subarch.conf

# this specifies the SUBARCH kernel patch level and download location
#  currently, only netwinder supported
SUBARCH_KERNEL_SUFFIX="-nw1"
SUBARCH_KERNEL_URLBASE="\
	http://netwinder.oregonstate.edu/users/r/ralphs/kernel/beta"
SUBARCH_KERNEL_HOMEPAGE="http://www.netwinder.org/"

#####

# set the kernel version now
OKV=2.4.19
EXTRAVERSION="${ARM_PATCH_SUFFIX}${SUBARCH_KERNEL_SUFFIX}"
KV="${OKV}-${EXTRAVERSION}"

S=${WORKDIR}/linux-${KV}

# this is the main rmk ARM Kernel Patch
ARM_KERNEL_PATCH="patch-${OKV}-${ARM_PATCH_SUFFIX}"
# this is the kernel patch for SUBARCH
[ -n "${SUBARCH_KERNEL_SUFFIX}" ] && \
	SUBARCH_KERNEL_PATCH="${ARM_KERNEL_PATCH}${SUBARCH_KERNEL_SUFFIX}" || \
	SUBARCH_KERNEL_PATCH=""

# What's in this kernel?
# INCLUDED:
#   stock 2.4.19 kernel sources
#   rmk patches for armlinux support

DESCRIPTION="Full sources for the ARM/Linux kernel"
SRC_URI="http://www.kernel.org/pub/linux/kernel/v2.4/linux-${OKV}.tar.bz2 \
	ftp://ftp.arm.linux.org.uk/pub/armlinux/source/kernel-patches/v2.4/${ARM_KERNEL_PATCH}.bz2"

if [ -n "${SUBARCH_KERNEL_PATCH}" ]; then
	if [ -n "${SUBARCH_KERNEL_URLBASE}" ]; then
		SRC_URI="${SRC_URI} \
			${SUBARCH_KERNEL_URLBASE}/${SUBARCH_KERNEL_PATCH}.gz"
	else
		die "${SUBARCH}: ${SUBARCH_KERNEL_PATCH} does not have a URLBASE"
	fi
fi

HOMEPAGE="${SUBARCH_KERNEL_HOMEPAGE} http://www.arm.linux.org.uk/ \
		http://www.kernel.org/ http://www.gentoo.org/"
KEYWORDS="arm -hppa -x86 -ppc -sparc -alpha -mips"
SLOT="${KV}"

src_unpack() {
	# base vanilla source
	unpack "linux-${OKV}.tar.bz2" || die
	mv "${WORKDIR}/linux-${OKV}" "${WORKDIR}/linux-${KV}"

	# plus the Russell M. King kernel patches
	unpack "${ARM_KERNEL_PATCH}.bz2" || die

	# plus an optional SUBARCH kernel patch
	[ -n "${SUBARCH_KERNEL_PATCH}" ] && \
		{ unpack "${SUBARCH_KERNEL_PATCH}.gz" || die; }

	# do the actual patching
	cd ${S} || die
	einfo "Applying ${ARM_KERNEL_PATCH}"
	patch -p1 < "${WORKDIR}/${ARM_KERNEL_PATCH}" || die
	[ -n "${SUBARCH_KERNEL_PATCH}" ] && \
		{ einfo "Applying ${ARM_KERNEL_PATCH}" && \
			patch -p1 < "${WORKDIR}/${SUBARCH_KERNEL_PATCH}" || die; }

	kernel_universal_unpack
}