オープンソース・ソフトウェアの開発とダウンロード

Subversion リポジトリの参照

Contents of /trunk/1.8.x/ccs-patch/specs/build-ubuntu_13.10.sh

Parent Directory Parent Directory | Revision Log Revision Log


Revision 6407 - (show annotations) (download) (as text)
Tue Apr 21 08:15:55 2015 UTC (9 years ago) by kumaneko
File MIME type: text/x-sh
File size: 3676 byte(s)


1 #! /bin/sh
2 #
3 # This is kernel build script for ubuntu 13.10's 3.11 kernel.
4 #
5
6 update_maintainer () {
7 for i in debian*/control debian*/control.stub*
8 do
9 cp -p $i $i.orig
10 sed -i -e 's/Maintainer: .*/Maintainer: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>/' -- $i
11 touch -r $i.orig $i
12 rm $i.orig
13 done
14 }
15
16 die () {
17 echo $1
18 exit 1
19 }
20
21 ORIGINAL_FLAVOUR=`uname -r | cut -d - -f 3- | sed -e 's/generic-pae/generic/'` # e.g. generic server
22 NEW_FLAVOUR=${ORIGINAL_FLAVOUR}-ccs
23 echo "Building "${NEW_FLAVOUR}" from "${ORIGINAL_FLAVOUR}"."
24
25 export CONCURRENCY_LEVEL=`grep -c '^processor' /proc/cpuinfo` || die "Can't export."
26
27 apt-get -y install wget
28
29 # Download TOMOYO Linux patches.
30 mkdir -p /root/rpmbuild/SOURCES/
31 cd /root/rpmbuild/SOURCES/ || die "Can't chdir to /root/rpmbuild/SOURCES/ ."
32 if [ ! -r ccs-patch-1.8.3-20150421.tar.gz ]
33 then
34 wget -O ccs-patch-1.8.3-20150421.tar.gz 'http://sourceforge.jp/frs/redir.php?f=/tomoyo/49684/ccs-patch-1.8.3-20150421.tar.gz' || die "Can't download patch."
35 fi
36
37 # Install kernel source packages.
38 cd /usr/src/ || die "Can't chdir to /usr/src/ ."
39 apt-get -y install fakeroot build-essential || die "Can't install packages."
40 apt-get build-dep linux || die "Can't install packages."
41 apt-get source linux-source-3.11.0 || die "Can't install kernel source."
42 for i in `awk ' { if ( $1 != "Build-Depends:") next; $1 = ""; n = split($0, a, ","); for (i = 1; i <= n; i++) { split(a[i], b, " "); print b[1]; } } ' linux-3.11.0/debian/control`; do apt-get -y install $i; done
43
44 # Apply patches and create kernel config.
45 cd linux-3.11.0/ || die "Can't chdir to linux-3.11.0/ ."
46 update_maintainer
47 tar -zxf /root/rpmbuild/SOURCES/ccs-patch-1.8.3-20150421.tar.gz || die "Can't extract patch."
48 patch -p1 < patches/ccs-patch-3.11-ubuntu-13.10.diff || die "Can't apply patch."
49 rm -fR patches/ specs/ || die "Can't delete patch."
50 for i in `find debian.master/ -type f -name '*'${ORIGINAL_FLAVOUR}'*'`; do cp -p $i `echo $i | sed -e 's/'${ORIGINAL_FLAVOUR}'/'${NEW_FLAVOUR}'/g'`; done
51 for i in debian.master/config/*/config.common.*; do cat config.ccs >> $i; done
52 rm debian.master/control.stub || die "Can't delete control.stub."
53 make -f debian/rules debian.master/control.stub || die "Can't update control.stub."
54 rm debian/control || die "Can't delete control."
55 debian/rules debian/control || die "Can't update control."
56
57 # Make modified header files go into local header package.
58 patch -p0 << "EOF" || die "Can't patch link-headers."
59 --- debian/scripts/link-headers
60 +++ debian/scripts/link-headers
61 @@ -39,4 +39,19 @@
62 done
63 )
64
65 +if [ $flavour == "NEW_FLAVOUR" ]
66 +then
67 + cd $hdrdir/../../../../$symdir/usr/src/$symdir/include/linux/
68 + for i in sched.h init_task.h security.h ccsecurity.h
69 + do
70 + rm -f $hdrdir/include/linux/$i
71 + cp -p $i $hdrdir/include/linux/$i
72 + done
73 + rm -f $hdrdir/include/net $hdrdir/security
74 + cd ../
75 + tar -cf - net | tar -xf - -C $hdrdir/include/
76 + cd ../
77 + tar -cf - security | tar -xf - -C $hdrdir
78 +fi
79 +
80 exit
81 EOF
82 sed -i -e 's/NEW_FLAVOUR/'${NEW_FLAVOUR}'/' debian/scripts/link-headers || die "Can't patch link-headers."
83
84 # Start compilation.
85 debian/rules binary-headers || die "Failed to build kernel package."
86 debian/rules binary-debs flavours=${NEW_FLAVOUR} || die "Failed to build kernel package."
87
88 # Generate meta packages.
89 cd /usr/src/
90 rm -fR linux-meta-*/
91 apt-get source linux-meta
92 cd linux-meta-*/
93 update_maintainer
94 sed -e 's/'${ORIGINAL_FLAVOUR}'/'${NEW_FLAVOUR}'/g' -- debian/control.d/${ORIGINAL_FLAVOUR} > debian/${NEW_FLAVOUR}
95 rm -f debian/control.d/*
96 mv debian/${NEW_FLAVOUR} debian/control.d/${NEW_FLAVOUR}
97 debian/rules binary-arch
98 cd ../
99 rm -fR linux-meta-*/
100
101 exit 0

Properties

Name Value
svn:executable *

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26