1 |
#! /bin/sh |
2 |
# |
3 |
# This is a kernel build script for openSUSE 11.0's 2.6.25 kernel. |
4 |
# |
5 |
|
6 |
die () { |
7 |
echo $1 |
8 |
exit 1 |
9 |
} |
10 |
|
11 |
cd /usr/lib/rpm/ || die "Can't chdir to /usr/lib/rpm/ ." |
12 |
|
13 |
if ! grep -q ccs-kernel find-supplements.ksyms |
14 |
then |
15 |
patch << "EOF" || die "Can't patch find-supplements.ksyms ." |
16 |
--- find-supplements.ksyms 2008-05-22 10:02:00.000000000 +0900 |
17 |
+++ find-supplements.ksyms 2008-06-11 11:04:06.000000000 +0900 |
18 |
@@ -7,6 +7,7 @@ |
19 |
case "$1" in |
20 |
kernel-module-*) ;; # Fedora kernel module package names start with |
21 |
# kernel-module. |
22 |
+ccs-kernel*) is_kernel_package=1 ;; |
23 |
kernel*) is_kernel_package=1 ;; |
24 |
esac |
25 |
|
26 |
EOF |
27 |
fi |
28 |
|
29 |
if ! grep -q ccs-kernel find-requires.ksyms |
30 |
then |
31 |
patch << "EOF" || die "Can't patch find-requires.ksyms ." |
32 |
--- find-requires.ksyms 2008-04-16 14:20:34.000000000 +0900 |
33 |
+++ find-requires.ksyms 2008-04-16 14:21:06.000000000 +0900 |
34 |
@@ -5,6 +5,7 @@ |
35 |
case "$1" in |
36 |
kernel-module-*) ;; # Fedora kernel module package names start with |
37 |
# kernel-module. |
38 |
+ccs-kernel*) is_kernel_package=1 ;; |
39 |
kernel*) is_kernel_package=1 ;; |
40 |
esac |
41 |
|
42 |
EOF |
43 |
fi |
44 |
|
45 |
if ! grep -q ccs-kernel find-provides.ksyms |
46 |
then |
47 |
patch << "EOF" || die "Can't patch find-provides.ksyms ." |
48 |
--- find-provides.ksyms 2008-04-16 14:22:34.000000000 +0900 |
49 |
+++ find-provides.ksyms 2008-04-16 14:23:04.000000000 +0900 |
50 |
@@ -5,6 +5,7 @@ |
51 |
case "$1" in |
52 |
kernel-module-*) ;; # Fedora kernel module package names start with |
53 |
# kernel-module. |
54 |
+ccs-kernel-*) is_kernel_package=1 ;; |
55 |
kernel*) is_kernel_package=1 ;; |
56 |
esac |
57 |
|
58 |
EOF |
59 |
fi |
60 |
|
61 |
cd /tmp/ || die "Can't chdir to /tmp/ ." |
62 |
|
63 |
if [ ! -r kernel-source-2.6.25.20-0.4.src.rpm ] |
64 |
then |
65 |
wget http://download.opensuse.org/update/11.0/rpm/src/kernel-source-2.6.25.20-0.4.src.rpm || die "Can't download source package." |
66 |
fi |
67 |
rpm -ivh kernel-source-2.6.25.20-0.4.src.rpm || die "Can't install source package." |
68 |
|
69 |
cd /usr/src/packages/SOURCES/ || die "Can't chdir to /usr/src/packages/SOURCES/ ." |
70 |
if [ ! -r ccs-patch-1.6.8-20090528.tar.gz ] |
71 |
then |
72 |
wget http://osdn.dl.sourceforge.jp/tomoyo/30297/ccs-patch-1.6.8-20090528.tar.gz || die "Can't download patch." |
73 |
fi |
74 |
|
75 |
cd /tmp/ || die "Can't chdir to /tmp/ ." |
76 |
cp -p /usr/src/packages/SOURCES/kernel-default.spec . || die "Can't copy spec file." |
77 |
patch << "EOF" || die "Can't patch spec file." |
78 |
--- kernel-default.spec 2009-06-02 08:59:34.000000000 +0900 |
79 |
+++ kernel-default.spec 2009-06-09 10:03:14.000000000 +0900 |
80 |
@@ -47,10 +47,10 @@ |
81 |
%define build_nomodules 1 |
82 |
%endif |
83 |
|
84 |
-Name: kernel-default |
85 |
+Name: ccs-kernel-default |
86 |
Summary: The Standard Kernel for both Uniprocessor and Multiprocessor Systems |
87 |
Version: 2.6.25.20 |
88 |
-Release: 0.4 |
89 |
+Release: 0.4_tomoyo_1.6.8 |
90 |
License: GPL v2 or later |
91 |
Group: System/Kernel |
92 |
Url: http://www.kernel.org/ |
93 |
@@ -315,6 +315,10 @@ |
94 |
%build |
95 |
source .rpm-defs |
96 |
cd linux-2.6.25 |
97 |
+# TOMOYO Linux |
98 |
+tar -zxf %_sourcedir/ccs-patch-1.6.8-20090528.tar.gz |
99 |
+patch -sp1 < patches/ccs-patch-2.6.25-suse-11.0.diff |
100 |
+cat config.ccs >> .config |
101 |
cp .config .config.orig |
102 |
%if %{tolerate_unknown_new_config_options} |
103 |
MAKE_ARGS="$MAKE_ARGS -k" |
104 |
EOF |
105 |
sed -e 's:^Provides:#Provides:' -e 's:^Obsoletes:#Obsoletes:' kernel-default.spec > ccs-kernel.spec || die "Can't edit spec file." |
106 |
echo "" |
107 |
echo "" |
108 |
echo "" |
109 |
echo "Edit /tmp/ccs-kernel.spec if needed, and run" |
110 |
echo "rpmbuild -bb /tmp/ccs-kernel.spec" |
111 |
echo "to build kernel rpm packages." |
112 |
exit 0 |