updated on Thu Jan 26 16:09:46 UTC 2012
[aur-mirror.git] / linux-ac100 / PKGBUILD
blob49d3653091b280e61d155dc71a7a2cf92e276acc
1 pkgbase=linux-ac100
2 pkgname=linux-ac100
3 #pkgname=(linux-ac100 linux-ac100-headers)
4 _kernelname=${pkgname#linux}
5 _basekernel=3.0
6 pkgver=20120121
7 pkgrel=1
8 arch=(arm armv7h)
9 url="http://www.kernel.org/"
10 license=(GPL2)
11 makedepends=(xmlto docbook-xsl lzop) #git)
12 options=(!strip)
13 source=(linux-ac100.install
14         linux-ac100.preset
15         bootimg.cfg
16         armdma.patch
17         config
18         change-default-console-loglevel.patch #)
19         https://gitorious.org/ac100/marvin24s-kernel/archive-tarball/chromeos-ac100-3.0)
21 #_gitroot=https://gitorious.org/~marvin24/ac100/marvin24s-kernel/commits/chromeos-ac100-3.0
22 #_gitname=chromeos-ac100-3.0
23 _gitname=ac100-marvin24s-kernel
25 MAKEFLAGS="ARCH=arm ${MAKEFLAGS}"
27 build() {
28   cd $srcdir/$_gitname
29   #if [[ -d "$_gitname" ]]; then
30   #  cd "$_gitname"
31   #  git reset --hard
32   #  git clean -dxf
33   #  #git pull origin
34   #else
35   #  git clone "$_gitroot" "$_gitname"
36   #  cd "$_gitname"
37   #fi
39   unset LDFLAGS
41   patch -Np1 -i "${srcdir}/change-default-console-loglevel.patch"
42   patch -Np1 -i "${srcdir}/armdma.patch"
44   cat "${srcdir}/config" > ./.config
45   #cat "${srcdir}/$_gitname/arch/arm/configs/paz00_defconfig" > ./.config
47   sed -ri "s|^(EXTRAVERSION =).*|\1 -${pkgrel}|" Makefile
49   make prepare
50   #make menuconfig # nconfig / xconfig / oldconfig
51   #cp ./.config ../config
53   make ${MAKEFLAGS} zImage modules
56 package_linux-ac100-headers() {
57   pkgdesc="Header files and scripts for building modules for linux kernel - toshiba ac100 (tegra/paz00)"
58   provides=('linux-headers')
60   mkdir -p "${pkgdir}/lib/modules/${_kernver}"
62   cd "${pkgdir}/lib/modules/${_kernver}"
63   ln -sf ../../../usr/src/linux-${_kernver} build
65   cd "$srcdir/$_gitname"
66   install -D -m644 Makefile "${pkgdir}/usr/src/linux-${_kernver}/Makefile"
67   install -D -m644 kernel/Makefile "${pkgdir}/usr/src/linux-${_kernver}/kernel/Makefile"
68   install -D -m644 .config "${pkgdir}/usr/src/linux-${_kernver}/.config"
70   mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/include"
72   for i in acpi asm-generic config crypto drm generated linux math-emu \
73     media net pcmcia scsi sound trace video xen; do
74     cp -a include/${i} "${pkgdir}/usr/src/linux-${_kernver}/include/"
75   done
77   # copy arch includes for external modules
78   mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/arm
79   cp -a arch/arm/include ${pkgdir}/usr/src/linux-${_kernver}/arch/arm/
80   mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/arm/mach-tegra
81   cp -a arch/arm/mach-tegra/include ${pkgdir}/usr/src/linux-${_kernver}/arch/arm/mach-tegra/
83   # copy files necessary for later builds, like nvidia and vmware
84   cp Module.symvers "${pkgdir}/usr/src/linux-${_kernver}"
85   cp -a scripts "${pkgdir}/usr/src/linux-${_kernver}"
87   # fix permissions on scripts dir
88   chmod og-w -R "${pkgdir}/usr/src/linux-${_kernver}/scripts"
89   mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/.tmp_versions"
91   mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/arch/arm/kernel"
93   cp arch/arm/Makefile "${pkgdir}/usr/src/linux-${_kernver}/arch/arm/"
95   cp arch/arm/kernel/asm-offsets.s "${pkgdir}/usr/src/linux-${_kernver}/arch/arm/kernel/"
97   # add headers for lirc package
98   mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video"
100   cp drivers/media/video/*.h  "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/"
102   for i in bt8xx cpia2 cx25840 cx88 em28xx et61x251 pwc saa7134 sn9c102; do
103     mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/${i}"
104     cp -a drivers/media/video/${i}/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/${i}"
105   done
107   # add docbook makefile
108   install -D -m644 Documentation/DocBook/Makefile \
109     "${pkgdir}/usr/src/linux-${_kernver}/Documentation/DocBook/Makefile"
111   # add dm headers
112   mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/md"
113   cp drivers/md/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/md"
115   # add inotify.h
116   mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/include/linux"
117   cp include/linux/inotify.h "${pkgdir}/usr/src/linux-${_kernver}/include/linux/"
119   # add wireless headers
120   mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/net/mac80211/"
121   cp net/mac80211/*.h "${pkgdir}/usr/src/linux-${_kernver}/net/mac80211/"
123   # add dvb headers for external modules
124   # in reference to:
125   # http://bugs.archlinux.org/task/9912
126   #mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-core"
127   #cp drivers/media/dvb/dvb-core/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-core/"
128   # and...
129   # http://bugs.archlinux.org/task/11194
130   #mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/include/config/dvb/"
131   #cp include/config/dvb/*.h "${pkgdir}/usr/src/linux-${_kernver}/include/config/dvb/"
133   # add dvb headers for http://mcentral.de/hg/~mrec/em28xx-new
134   # in reference to:
135   # http://bugs.archlinux.org/task/13146
136   #mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/"
137   #cp drivers/media/dvb/frontends/lgdt330x.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/"
138   #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/"
150   # add xfs and shmem for aufs building
151   mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/fs/xfs"
152   mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/mm"
153   cp fs/xfs/xfs_sb.h "${pkgdir}/usr/src/linux-${_kernver}/fs/xfs/xfs_sb.h"
155   # copy in Kconfig files
156   for i in `find . -name "Kconfig*"`; do
157     mkdir -p "${pkgdir}"/usr/src/linux-${_kernver}/`echo ${i} | sed 's|/Kconfig.*||'`
158     cp ${i} "${pkgdir}/usr/src/linux-${_kernver}/${i}"
159   done
161   chown -R root.root "${pkgdir}/usr/src/linux-${_kernver}"
162   find "${pkgdir}/usr/src/linux-${_kernver}" -type d -exec chmod 755 {} \;
164   # strip scripts directory
165   find "${pkgdir}/usr/src/linux-${_kernver}/scripts" -type f -perm -u+w 2>/dev/null | while read binary ; do
166     case "$(file -bi "${binary}")" in
167       *application/x-sharedlib*) # Libraries (.so)
168         /usr/bin/strip ${STRIP_SHARED} "${binary}";;
169       *application/x-archive*) # Libraries (.a)
170         /usr/bin/strip ${STRIP_STATIC} "${binary}";;
171       *application/x-executable*) # Binaries
172         /usr/bin/strip ${STRIP_BINARIES} "${binary}";;
173     esac
174   done
176   # remove unneeded architectures
177   rm -rf "${pkgdir}"/usr/src/linux-${_kernver}/arch/{alpha,arm26,avr32,blackfin,cris,frv,h8300,ia64,m32r,m68k,m68knommu,mips,microblaze,mn10300,parisc,powerpc,ppc,s390,sh,sh64,sparc,sparc64,um,v850,x86,xtensa}
180 package_linux-ac100() {
181   pkgdesc="The Linux Kernel and modules - toshiba ac100 (tegra/paz00)"
182   depends=(coreutils linux-firmware 'module-init-tools>=3.16' 'mkinitcpio>=0.7' abootimg-git)
183   optdepends=('crda: to set the correct wireless channels of your country')
184   provides=(linux)
185   backup=("etc/mkinitcpio.d/${pkgname}.preset")
186   install=${pkgname}.install
188   cd "$srcdir/$_gitname"
190   # get kernel version
191   _kernver="$(make ${MAKEFLAGS} kernelrelease)"
193   mkdir -p "${pkgdir}"/{lib/modules,lib/firmware,boot/ac100}
194   make INSTALL_MOD_PATH="${pkgdir}" modules_install
195   cp arch/arm/boot/zImage $pkgdir/boot/ac100/
196   cp $srcdir/bootimg.cfg $pkgdir/boot/ac100/
198   # set correct depmod command for install
199   sed -e "s/KERNEL_NAME=.*/KERNEL_NAME=${_kernelname}/g" \
200       -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" \
201       -i "${startdir}/${pkgname}.install"
203   # remove build and source links
204   rm -f "${pkgdir}"/lib/modules/${_kernver}/{source,build}
205   # remove the firmware
206   rm -rf "${pkgdir}/lib/firmware"
207   # gzip -9 all modules to safe 100MB of space
208   find "${pkgdir}" -name '*.ko' -exec gzip -9 {} \;
209   # make room for external modules
210   #ln -s "../extramodules-${_basekernel}-${_kernelname:-ARCH}" "${pkgdir}/lib/modules/${_kernver}/extramodules"
211   # add real version for building modules and running depmod from post_install/upgrade
212   #mkdir -p "${pkgdir}/lib/modules/extramodules-${_basekernel}-${_kernelname:-ARCH}"
213   #echo "${_kernver}" > "${pkgdir}/lib/modules/extramodules-${_basekernel}-${_kernelname:-ARCH}/version"
214   install -D -m644 "$srcdir/$pkgname.preset" "$pkgdir/etc/mkinitcpio.d/$pkgname.preset"
215   sed -i "s/^ALL_kver=.*$/ALL_kver=$_kernver/" "$pkgdir/etc/mkinitcpio.d/$pkgname.preset"
218 md5sums=('bda3f1b9d085c4057daa91ccaa818449'
219          '8ab9596a6c1f08548a1580a3511437dc'
220          '21a2561abad495d7dde05b0bb9cf231c'
221          '6e7667c6c6348bfeca22eaaa05462d62'
222          '1c757e5c4457b6cfea52eba09a19721a'
223          '9d3c56a4b999c8bfbd4018089a62f662'
224          '3f6ae0eacf3617139819d01cbeadaaf4')