blob: 5f8b576c575987e028a69b009ebc24308a9ef531 (
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
|
# Copyright 2005-2006 Radoslaw Stachowiak <radek@alter.pl>
# Distributed under the terms of the GNU General Public License v2
# $Header: Exp $
ETYPE="sources"
inherit eutils kernel-2
detect_version
detect_arch
PROVIDE="virtual/alsa
virtual/linux-sources"
IUSE="rspentium2 rskerni"
# hack to change versions
MY_PR=${PR/r0/r}
MY_PR=${MY_PR/r/}
# MODIFYHERE: extraversion is used in kernel Makefile (results in uname -r)
# set to empty on full releases
KV_EXTRA=".3"
# /modifyhere
EXTRAVERSION=${KV_EXTRA}-rs${MY_PR}
# okv is simply orginal kernel version
OKV=$KV_MAJOR.$KV_MINOR.$KV_PATCH
# kv_full is used as dir name
KV_FULL=${OKV}${EXTRAVERSION}
S=${WORKDIR}/linux-${KV_FULL}
# MODIFYHERE: version of gentoo patchset
GPV="18-3"
# /modifyhere
GPV_URL="http://dev.gentoo.org/~dsd/gentoo-sources/tarballs/"
GPV_SRC="${GPV_URL}/genpatches-${KV_MAJOR}.${KV_MINOR}.${GPV}.base.tar.bz2
${GPV_URL}/genpatches-${KV_MAJOR}.${KV_MINOR}.${GPV}.extras.tar.bz2"
# MODIFYHERE: Version of my patchset
RSV="18-1"
# /modifyhere
RSV_URL="http://dev.gentoo.org/~radek/kernel"
RSV_SRC="${RSV_URL}/rspatches-${KV_MAJOR}.${KV_MINOR}.${RSV}.tar.bz2"
# MODIFYHERE: set correct arch
KEYWORDS="x86"
# /modifyhere
UNIPATCH_LIST="${DISTDIR}/genpatches-${KV_MAJOR}.${KV_MINOR}.${GPV}.base.tar.bz2
${DISTDIR}/genpatches-${KV_MAJOR}.${KV_MINOR}.${GPV}.extras.tar.bz2
${DISTDIR}/rspatches-${KV_MAJOR}.${KV_MINOR}.${RSV}.tar.bz2"
UNIPATCH_DOCS="${WORKDIR}/patches/${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}/0000_README"
DESCRIPTION="RS kernel sources including the gentoo patchset v$GPV"
SRC_URI="${KERNEL_URI} ${GPV_SRC} ${RSV_SRC} ${ARCH_URI}"
src_unpack() {
if [[ -n "$UNIPATCH_LIST_DEFAULT" ]]
then
# this is needed for KV_EXTRA != releases
ewarn " Skipping patch: $UNIPATCH_LIST_DEFAULT"
UNIPATCH_LIST_DEFAULT=""
fi
kernel-2_src_unpack
}
# this patching is done in compile stage to avoid lengthy unpack reruns on
# potential errors during patching phase
#
src_compile() {
cp ${FILESDIR}/${PN}-${OKV}_config ${S}/.config || die "can initialize .config"
if use rspentium2
then
epatch ${FILESDIR}/${PN}-2.6.12_config_pentium2.patch
fi
# prepare oldconfig
K_DEFCONFIG=oldconfig
compile_headers
# need to save it to survive upgrade (merge -> unmerge)
cp ${S}/.config ${S}/.config.rs
}
pkg_postinst() {
postinst_sources
# rskerni useflags means build kernel and install
if use rskerni
then
einfo
einfo "building kernel $KV_FULL (please wait..)"
einfo
cd /usr/src/linux-$KV_FULL || return
# this cp is needed because at replace (merge/unmerge) its being deleted
cp .config.rs .config
# this is stupid patch for gentoo-sources mistake
# sed -i -e "s:KERN_ERROR:KERN_ERR:" drivers/pcmcia/yenta_socket.c
unset ARCH
make || return
make modules_install || return
cp System.map /boot/System.map-${KV_FULL}
cp arch/i386/boot/bzImage /boot/vmlinuz-${KV_FULL}
cp .config /boot/config-${KV_FULL}
fi
einfo
einfo "Kernel installed, to update modules:"
einfo 'Please do: emerge -av $(equery b /lib/modules | sed -e "s:^:>=:")'
einfo
}
pkg_postrm() {
postrm_sources
}
pkg_config() {
einfo "Default settings included in my .config file:"
einfo " * HIGHMEM is disabled"
einfo " * 4KSTACKS is enabled"
einfo " * PREEMPT is enabled (standard desktop model)"
einfo " * SMP is enabled"
einfo " * PENTIUM3 is default target"
}
|