updated on Mon Jan 16 20:00:43 UTC 2012
[aur-mirror.git] / linux-eee-ck / PKGBUILD
blobe051a208b95ddc9da92703ef53d35588882debdd
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="linux-eee-ck"
7 true && pkgname=("linux-eee-ck" "linux-eee-ck-headers")
8 _kernver=3.2
9 _ckver=ck1
10 pkgver=${_kernver}.1
11 pkgrel=2
12 pkgdesc="The Linux Kernel and modules for the Asus Eee PC 701, with Brain Fuck Scheduler v0.416 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=linux-eee-ck.install
21 source=(http://www.kernel.org/pub/linux/kernel/v3.x/linux-$_kernver.tar.xz
22                 http://www.kernel.org/pub/linux/kernel/v3.x/patch-$pkgver.gz
23         http://ck.kolivas.org/patches/3.0/$_kernver/$_kernver-$_ckver/patch-$_kernver-$_ckver.bz2
24         change-default-console-loglevel.patch
25         61-eee-ssd.rules
26         kernelconfig)
28 build() {
29   # get into the linux source directory and start some magic
30   cd $srcdir/linux-$_kernver
32   # add upstream patch
33   patch -p1 -i "$srcdir/patch-$pkgver"
34   
35   # apply ck patch
36   echo "Applying $_ckver patchset..."
37   patch -Np1 -i ../patch-$_kernver-$_ckver
39   # set DEFAULT_CONSOLE_LOGLEVEL to 4 (same value as the 'quiet' kernel param)
40   # remove this when a Kconfig knob is made available by upstream
41   # (relevant patch sent upstream: https://lkml.org/lkml/2011/7/26/227)
42   echo "Applying default console loglevel patch..." 
43   patch -Np1 -i ../change-default-console-loglevel.patch
45   # load configuration
46   cp ../kernelconfig ./.config
47   make silentoldconfig
49   # to modify kernel settings, uncomment the following line
50   #make menuconfig
52   # build!
53   make || return 1
56 package_linux-eee-ck() {
57   # install our modules
58   cd $srcdir/linux-$_kernver
59   mkdir -p $pkgdir/{lib/modules,boot}
60   make INSTALL_MOD_PATH=$pkgdir modules_install || return 1
62   # remove the junk symlinks
63   cd $srcdir/linux-$_kernver
64   rm $pkgdir/lib/modules/$pkgver-${_ckver}eee/{build,source}
65   # install the kernel
66   cp arch/x86/boot/bzImage $pkgdir/boot/vmlinuzeee-ck
67   # install a helper file for all install scripts
68   mkdir -p $pkgdir/usr/share/linux-eee-ck/
69   echo "KERNEL_VERSION='${pkgver}-${_ckver}eee'" > $pkgdir/usr/share/linux-eee-ck/currver
71   # udev rules for SSD drives
72   mkdir -p $pkgdir/lib/udev/rules.d/
73   install -m644 $srcdir/61-eee-ssd.rules $pkgdir/lib/udev/rules.d/
75   # gzip -9 all modules
76   find "${pkgdir}" -name '*.ko' -exec gzip -9 {} \;
79 package_linux-eee-ck-headers() {
80   KARCH=x86
82   # AUR workaround
83   true && pkgdesc='Header files and scripts for building modules for linux-eee-ck'
85   mkdir -p ${pkgdir}/lib/modules/${pkgver}-${_ckver}eee
86   cd ${pkgdir}/lib/modules/${pkgver}-${_ckver}eee
87   ln -sf ../../../usr/src/linux-${_kernver} build
88   cd ${srcdir}/linux-$_kernver
89   install -D -m644 Makefile \
90     ${pkgdir}/usr/src/linux-${_kernver}/Makefile
91   install -D -m644 kernel/Makefile \
92     ${pkgdir}/usr/src/linux-${_kernver}/kernel/Makefile
93   install -D -m644 .config \
94     ${pkgdir}/usr/src/linux-${_kernver}/.config
95   mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/include
97   for i in acpi asm-generic config crypto drm generated linux math-emu \
98     media net pcmcia scsi sound trace video xen; do
99     cp -a include/$i ${pkgdir}/usr/src/linux-${_kernver}/include/
100   done
102   # copy arch includes for external modules
103   mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/x86
104   cp -a arch/x86/include ${pkgdir}/usr/src/linux-${_kernver}/arch/x86/
106   # copy files necessary for later builds, like nvidia and vmware
107   cp Module.symvers ${pkgdir}/usr/src/linux-${_kernver}
108   cp -a scripts ${pkgdir}/usr/src/linux-${_kernver}
109   # fix permissions on scripts dir
110   chmod og-w -R ${pkgdir}/usr/src/linux-${_kernver}/scripts
111   mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/.tmp_versions
113   mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/kernel
115   cp arch/$KARCH/Makefile ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/
116   if [ "$CARCH" = "i686" ]; then
117     cp arch/$KARCH/Makefile_32.cpu ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/
118   fi
119   cp arch/$KARCH/kernel/asm-offsets.s ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/kernel/
121   # add headers for lirc package
122   mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video
123   cp drivers/media/video/*.h  ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/
124   for i in bt8xx cpia2 cx25840 cx88 em28xx et61x251 pwc saa7134 sn9c102; do
125    mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/$i
126    cp -a drivers/media/video/$i/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/$i
127   done
128   # add docbook makefile
129   install -D -m644 Documentation/DocBook/Makefile \
130     ${pkgdir}/usr/src/linux-${_kernver}/Documentation/DocBook/Makefile
131   # add dm headers
132   mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/md
133   cp drivers/md/*.h  ${pkgdir}/usr/src/linux-${_kernver}/drivers/md
134   # add inotify.h
135   mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/include/linux
136   cp include/linux/inotify.h ${pkgdir}/usr/src/linux-${_kernver}/include/linux/
137   # add wireless headers
138   mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/net/mac80211/
139   cp net/mac80211/*.h ${pkgdir}/usr/src/linux-${_kernver}/net/mac80211/
140   # add dvb headers for external modules
141   # in reference to:
142   # http://bugs.archlinux.org/task/9912
143   mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-core
144   cp drivers/media/dvb/dvb-core/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-core/
145   # add dvb headers for http://mcentral.de/hg/~mrec/em28xx-new
146   # in reference to:
147   # http://bugs.archlinux.org/task/13146
148   mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/
149   cp drivers/media/dvb/frontends/lgdt330x.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/
150   cp drivers/media/video/msp3400-driver.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/
151   # add dvb headers  
152   # in reference to:
153   # http://bugs.archlinux.org/task/20402
154   mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-usb
155   cp drivers/media/dvb/dvb-usb/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-usb/
156   mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends
157   cp drivers/media/dvb/frontends/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/
158   mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/common/tuners
159   cp drivers/media/common/tuners/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/common/tuners/
160   # add xfs and shmem for aufs building
161   mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/fs/xfs
162   mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/mm
163   cp fs/xfs/xfs_sb.h ${pkgdir}/usr/src/linux-${_kernver}/fs/xfs/xfs_sb.h
164   # copy in Kconfig files
165   for i in `find . -name "Kconfig*"`; do 
166     mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/`echo $i | sed 's|/Kconfig.*||'`
167     cp $i ${pkgdir}/usr/src/linux-${_kernver}/$i
168   done
170   chown -R root.root ${pkgdir}/usr/src/linux-${_kernver}
171   find ${pkgdir}/usr/src/linux-${_kernver} -type d -exec chmod 755 {} \;
172   # strip scripts directory
173   find ${pkgdir}/usr/src/linux-${_kernver}/scripts  -type f -perm -u+w 2>/dev/null | while read binary ; do
174   case "$(file -bi "$binary")" in
175     *application/x-sharedlib*) # Libraries (.so)
176     /usr/bin/strip $STRIP_SHARED "$binary";;
177     *application/x-archive*) # Libraries (.a)
178     /usr/bin/strip $STRIP_STATIC "$binary";;
179     *application/x-executable*) # Binaries
180     /usr/bin/strip $STRIP_BINARIES "$binary";;
181     esac 
182   done 
183   # remove unneeded architectures
184   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}
187 md5sums=('364066fa18767ec0ae5f4e4abcf9dc51'
188          'ca19178cffcb82bd31733e54b016f295'
189          'ca14fff2785d37e55eeb80c4e646c28f'
190          '9d3c56a4b999c8bfbd4018089a62f662'
191          '73a20e8bf2bb29ba342f43460c6291cb'
192          '5be0aca5c4852cba4972751eb0a37249')