updated on Thu Jan 26 16:09:46 UTC 2012
[aur-mirror.git] / kernel-eee-ck / PKGBUILD
blob80adf5261e3e65f0a43a93aff640fd264983be6b
1 # Maintainer: OK <ok100.ok100.ok100@gmail.com>
2 # Based on kernel-eee PKGBUILD by Dan McGee <dan@archlinux.org>
4 # AUR workaround
5 pkgname="kernel-eee-ck"
7 true && pkgname=("kernel-eee-ck" "kernel-eee-ck-headers")
8 pkgver=2.6.39.3
9 _kernver=2.6.39
10 _ckver=ck2
11 pkgrel=1
12 pkgdesc="The Linux Kernel and modules for the Asus Eee PC 701, with Brain Fuck Scheduler v0.406 and all the goodies in the $_ckver patchset."
13 arch=('i686')
14 license=('GPL2')
15 url="http://www.kernel.org"
16 depends=('coreutils' 'module-init-tools')
17 optdepends=('crda: for wireless regulatory domain support'
18             'iw: for wireless configuration support')
19 replaces=('linux-uvc-eee-svn' 'madwifi-eee-svn')
20 install=kernel-eee-ck.install
21 source=(ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-$pkgver.tar.bz2
22         http://www.kernel.org/pub/linux/kernel/people/ck/patches/2.6/$_kernver/$_kernver-$_ckver/patch-$_kernver-$_ckver.bz2
23         61-eee-ssd.rules
24         kernelconfig
25         fix_ck2.patch)
27 build() {
28   # Hador's fix for 2.6.39.3/init/calibrate.c
29   patch -N -i ../fix_ck2.patch
31   # get into the linux source directory and start some magic
32   cd $srcdir/linux-$pkgver
34   # apply ck patch
35   patch -Np1 -i ../patch-$_kernver-$_ckver
37   # load configuration and build kernel + modules
38   cp ../kernelconfig ./.config
39   make silentoldconfig
41   # to modify kernel settings, uncomment the following line
42   #make menuconfig
44   make || return 1
47 package_kernel-eee-ck() {
48   # install our modules
49   cd $srcdir/linux-$pkgver
50   mkdir -p $pkgdir/{lib/modules,boot}
51   make INSTALL_MOD_PATH=$pkgdir modules_install || return 1
53   # remove the junk symlinks
54   cd $srcdir/linux-$pkgver
55   rm $pkgdir/lib/modules/${pkgver}-${_ckver}eee/{build,source}
56   # install the kernel
57   cp System.map $pkgdir/boot/System.map.eee-ck
58   cp arch/x86/boot/bzImage $pkgdir/boot/vmlinuzeee-ck
59   # install a helper file for all install scripts
60   mkdir -p $pkgdir/usr/share/kernel-eee-ck/
61   echo "KERNEL_VERSION='${pkgver}-${_ckver}eee'" > $pkgdir/usr/share/kernel-eee-ck/currver
63   # udev rules for SSD drives
64   mkdir -p $pkgdir/lib/udev/rules.d/
65   install -m644 $srcdir/61-eee-ssd.rules $pkgdir/lib/udev/rules.d/
68 package_kernel-eee-ck-headers() {
69   KARCH=x86
71   # AUR workaround
72   true && pkgdesc='Header files and scripts for building modules for kernel-eee-ck'
74   mkdir -p ${pkgdir}/lib/modules/${pkgver}-${_ckver}eee
75   cd ${pkgdir}/lib/modules/${pkgver}-${_ckver}eee
76   ln -sf ../../../usr/src/linux-${_kernver} build
77   cd ${srcdir}/linux-$pkgver
78   install -D -m644 Makefile \
79     ${pkgdir}/usr/src/linux-${_kernver}/Makefile
80   install -D -m644 kernel/Makefile \
81     ${pkgdir}/usr/src/linux-${_kernver}/kernel/Makefile
82   install -D -m644 .config \
83     ${pkgdir}/usr/src/linux-${_kernver}/.config
84   mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/include
86   for i in acpi asm-generic config crypto drm generated linux math-emu \
87     media net pcmcia scsi sound trace video xen; do
88     cp -a include/$i ${pkgdir}/usr/src/linux-${_kernver}/include/
89   done
91   # copy arch includes for external modules
92   mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/x86
93   cp -a arch/x86/include ${pkgdir}/usr/src/linux-${_kernver}/arch/x86/
95   # copy files necessary for later builds, like nvidia and vmware
96   cp Module.symvers ${pkgdir}/usr/src/linux-${_kernver}
97   cp -a scripts ${pkgdir}/usr/src/linux-${_kernver}
98   # fix permissions on scripts dir
99   chmod og-w -R ${pkgdir}/usr/src/linux-${_kernver}/scripts
100   mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/.tmp_versions
102   mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/kernel
104   cp arch/$KARCH/Makefile ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/
105   if [ "$CARCH" = "i686" ]; then
106     cp arch/$KARCH/Makefile_32.cpu ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/
107   fi
108   cp arch/$KARCH/kernel/asm-offsets.s ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/kernel/
110   # add headers for lirc package
111   mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video
112   cp drivers/media/video/*.h  ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/
113   for i in bt8xx cpia2 cx25840 cx88 em28xx et61x251 pwc saa7134 sn9c102; do
114    mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/$i
115    cp -a drivers/media/video/$i/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/$i
116   done
117   # add docbook makefile
118   install -D -m644 Documentation/DocBook/Makefile \
119     ${pkgdir}/usr/src/linux-${_kernver}/Documentation/DocBook/Makefile
120   # add dm headers
121   mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/md
122   cp drivers/md/*.h  ${pkgdir}/usr/src/linux-${_kernver}/drivers/md
123   # add inotify.h
124   mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/include/linux
125   cp include/linux/inotify.h ${pkgdir}/usr/src/linux-${_kernver}/include/linux/
126   # add wireless headers
127   mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/net/mac80211/
128   cp net/mac80211/*.h ${pkgdir}/usr/src/linux-${_kernver}/net/mac80211/
129   # add dvb headers for external modules
130   # in reference to:
131   # http://bugs.archlinux.org/task/9912
132   mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-core
133   cp drivers/media/dvb/dvb-core/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-core/
134   # add dvb headers for http://mcentral.de/hg/~mrec/em28xx-new
135   # in reference to:
136   # http://bugs.archlinux.org/task/13146
137   mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/
138   cp drivers/media/dvb/frontends/lgdt330x.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/
139   cp drivers/media/video/msp3400-driver.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/
140   # add dvb headers  
141   # in reference to:
142   # http://bugs.archlinux.org/task/20402
143   mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-usb
144   cp drivers/media/dvb/dvb-usb/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-usb/
145   mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends
146   cp drivers/media/dvb/frontends/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/
147   mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/common/tuners
148   cp drivers/media/common/tuners/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/common/tuners/
149   # add xfs and shmem for aufs building
150   mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/fs/xfs
151   mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/mm
152   cp fs/xfs/xfs_sb.h ${pkgdir}/usr/src/linux-${_kernver}/fs/xfs/xfs_sb.h
153   # copy in Kconfig files
154   for i in `find . -name "Kconfig*"`; do 
155     mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/`echo $i | sed 's|/Kconfig.*||'`
156     cp $i ${pkgdir}/usr/src/linux-${_kernver}/$i
157   done
159   chown -R root.root ${pkgdir}/usr/src/linux-${_kernver}
160   find ${pkgdir}/usr/src/linux-${_kernver} -type d -exec chmod 755 {} \;
161   # strip scripts directory
162   find ${pkgdir}/usr/src/linux-${_kernver}/scripts  -type f -perm -u+w 2>/dev/null | while read binary ; do
163   case "$(file -bi "$binary")" in
164     *application/x-sharedlib*) # Libraries (.so)
165     /usr/bin/strip $STRIP_SHARED "$binary";;
166     *application/x-archive*) # Libraries (.a)
167     /usr/bin/strip $STRIP_STATIC "$binary";;
168     *application/x-executable*) # Binaries
169     /usr/bin/strip $STRIP_BINARIES "$binary";;
170     esac 
171   done 
172   # remove unneeded architectures
173   rm -rf ${pkgdir}/usr/src/linux-${_kernver}/arch/{alpha,arm,arm26,avr32,blackfin,cris,frv,h8300,ia64,m32r,m68k,m68knommu,mips,microblaze,mn10300,parisc,powerpc,ppc,s390,sh,sh64,sparc,sparc64,um,v850,xtensa}
176 md5sums=('5afede829846587e798f2631c2ece84f'
177          'ffa0384d5a243d17ca47c9bd0e2217e7'
178          '73a20e8bf2bb29ba342f43460c6291cb'
179          '53de82f212882bc90c2648b413f63139'
180          '0ab7720f0d80d142a280cfe35b9a8730')