wok diff linux/receipt @ rev 12824

linux: add ARM patch, improve receipt
author Christophe Lincoln <pankso@slitaz.org>
date Tue May 22 11:26:32 2012 +0200 (2012-05-22)
parents 4c9801543b7c
children 2771a5b12f2f
line diff
     1.1 --- a/linux/receipt	Sun May 20 03:10:40 2012 +0200
     1.2 +++ b/linux/receipt	Tue May 22 11:26:32 2012 +0200
     1.3 @@ -13,23 +13,31 @@
     1.4  
     1.5  DEPENDS="kmod"
     1.6  BUILD_DEPENDS="slitaz-toolchain perl git xz lzma patch uclibc-cross-compiler-x86_64"
     1.7 -[ "$KBASEVER" != "$VERSION" ] && PATCH="http://www.kernel.org/pub/linux/kernel/v3.0/patch-$VERSION.xz"
     1.8 +
     1.9 +# Use version patch so we dont dl full kernel source on each minor update
    1.10 +[ "$KBASEVER" != "$VERSION" ] && \
    1.11 +	PATCH="http://www.kernel.org/pub/linux/kernel/v3.0/patch-$VERSION.xz"
    1.12  
    1.13  # Aufs enable chroot
    1.14  AUFS_NOT_SUPPORTED="uclibc-cross-compiler-x86_64 is not compatible with aufs 8("
    1.15  
    1.16 -# This will save/restore the modules.dep but we want to regenerate it
    1.17 -# on install/upgrade.
    1.18 +# This will save/restore modules.dep but we want to regenerate it on
    1.19 +# install or upgrade.
    1.20  #CONFIG_FILES="/lib/modules/$KBASEVER-slitaz/modules.dep"
    1.21  
    1.22 +# Handle multiarch compilation. Less bdeps when cross-compiling for ARM
    1.23  case "$ARCH" in
    1.24 -	arm)
    1.25 -		# Old school way :-) Until ARM was tested on real hardware and
    1.26 -		# we know wich modules/features we realy need for ARM machines.
    1.27 -		# No deps on kmod since we use Busybox modutils for ARM.
    1.28 -		#TARBALL="$PACKAGE-$VERSION.tar.bz2"
    1.29 -		DEPENDS=""
    1.30 -		BUILD_DEPENDS="xz" ;;
    1.31 +	arm) BUILD_DEPENDS="xz" TARBALL="$PACKAGE-$VERSION.tar.bz2" ;;
    1.32 +	x86_64) BUILD_DEPENDS="xz" ;;
    1.33 +esac
    1.34 +
    1.35 +# TODO: slitaz.conf provide SLITAZ_ARCH and must be handled by tazpkg/spk
    1.36 +[ -f "$root/etc/slitaz/slitaz.conf" ] && . $root/etc/slitaz/slitaz.conf
    1.37 +
    1.38 +# Handle multiarch installation. ARM use Busybox modutils, so avoid any
    1.39 +# deps on kmod
    1.40 +case "$SLITAZ_ARCH" in
    1.41 +	arm) DEPENDS="" ;;
    1.42  esac
    1.43  
    1.44  # Rules to configure and make the package.
    1.45 @@ -43,15 +51,18 @@
    1.46  			if [ ! -f $SRC/$(basename $PATCH) ]; then
    1.47  				wget $PATCH -O $SRC/$(basename $PATCH)
    1.48  			fi
    1.49 -			make mrproper &&
    1.50 -			xzcat $SRC/$(basename $PATCH) | patch -Np1
    1.51 -			cp -f $stuff/$ARCH/linux-slitaz.config .config &&
    1.52 +			make mrproper
    1.53 +			# Buggy: we got kernel panic about module not tinted 3.2.14
    1.54 +			#echo "Applying patch: $(basename $PATCH)"
    1.55 +			#xzcat $SRC/$(basename $PATCH) | patch -Np1 >/dev/null
    1.56 +			patch -Np1 < $stuff/$ARCH/linux-arm.patch || exit 1
    1.57 +			cp -f $stuff/$ARCH/linux-arm.config .config
    1.58  			make ARCH=$ARCH CROSS_COMPILE=${HOST_SYSTEM}- bzImage &&
    1.59  			make ARCH=$ARCH CROSS_COMPILE=${HOST_SYSTEM}- modules &&
    1.60  			make ARCH=$ARCH CROSS_COMPILE=${HOST_SYSTEM}- \
    1.61  				INSTALL_MOD_PATH=$DESTDIR modules_install &&
    1.62  			mkdir -p $DESTDIR/boot &&
    1.63 -			mv arch/arm/boot/compressed/vmlinux \
    1.64 +			cp -a arch/arm/boot/zImage \
    1.65  				$DESTDIR/boot/linux-$VERSION-slitaz-$ARCH
    1.66  			return 0 ;;
    1.67  		x86_64)
    1.68 @@ -60,12 +71,6 @@
    1.69  			return 0 ;;
    1.70  	esac
    1.71  
    1.72 -	# this is code to help update the kernel version faster
    1.73 -	#for i in $(grep -l 'WANTED="linux"' $WOK/*/receipt)
    1.74 -	#do
    1.75 -	#	sed -i 's|VERSION="OLDVERSION"|VERSION="NEWVERSION"|g' $i
    1.76 -	#done
    1.77 -
    1.78  	[ ! -x /usr/bin/cook ] && report open-bloc
    1.79  
    1.80  	# Check for Aufs and cook it if unbuilt.