wok-next diff linux/receipt @ rev 19586

linux: update install_module_headers(), update stuff/modules.list. Mask empty linux-* packages (let it build for now, don't remove). Waiting for the new config...
author Aleksej Bobylev <al.bobylev@gmail.com>
date Wed Jan 04 10:35:18 2017 +0200 (2017-01-04)
parents 5528876d95a1
children 5534f89ab5ad
line diff
     1.1 --- a/linux/receipt	Mon Jan 02 09:24:14 2017 +0200
     1.2 +++ b/linux/receipt	Wed Jan 04 10:35:18 2017 +0200
     1.3 @@ -13,7 +13,7 @@
     1.4  WGET_URL="https://www.kernel.org/pub/linux/kernel/v4.x/$TARBALL"
     1.5  
     1.6  DEPENDS="kmod"
     1.7 -BUILD_DEPENDS="slitaz-toolchain perl git xz lzma patch kmod bc openssl-dev \
     1.8 +BUILD_DEPENDS="slitaz-toolchain perl git xz lzma patch kmod bc \
     1.9  uclibc-cross-compiler-x86_64"
    1.10  SPLIT="lguest linux-acpi linux-agp linux-aoe linux-appletalk linux-arcnet \
    1.11  linux-autofs linux-bluetooth linux-bridge linux-cifs linux-coda linux-configfs \
    1.12 @@ -73,32 +73,22 @@
    1.13  	esac
    1.14  fi
    1.15  
    1.16 -add_headers_for_type()
    1.17 -{
    1.18 -	# $1: type, for example "VIDEO_"
    1.19 -	# $2: where to search, for example "drivers/media"
    1.20 -	echo -e "\n\nAdding headers for $1..."
    1.21 -	for i in $(cd $src/$2; find -name Kconfig | sed 's|^\./||'); do
    1.22 -		if fgrep -q "config $1" $src/$2/$i; then
    1.23 -			echo "  * $2/$j/*.h"
    1.24 -			j=$(dirname $i)
    1.25 -			mkdir -p $1/$path/$2/$j
    1.26 -			cp -a $src/$2/$j/*.h $1/$path/$2/$j
    1.27 -		fi
    1.28 -	done
    1.29 -}
    1.30 -
    1.31  install_module_headers()
    1.32  {
    1.33 +	# $1 = $install or $install/linux64
    1.34 +
    1.35  	local path="usr/src/linux-$KVERSION"
    1.36  	mkdir -p      $1/lib/modules/$KVERSION
    1.37  	ln -sf /$path $1/lib/modules/$KVERSION/build
    1.38  	install -D -m644 $src/Makefile        $1/$path/Makefile
    1.39  	install -D -m644 $src/kernel/Makefile $1/$path/kernel/Makefile
    1.40  	install -D -m644 $src/.config         $1/$path/.config
    1.41 -	mkdir -p                              $1/$path/include
    1.42  
    1.43 -	cp -a $src/include/* $1/$path/include/
    1.44 +	mkdir -p $1/$path/include
    1.45 +	for i in acpi asm-generic config crypto drm generated keys linux math-emu \
    1.46 +		media net pcmcia scsi soc sound trace uapi video xen; do
    1.47 +		cp -a $src/include/$i $1/$path/include/
    1.48 +	done
    1.49  
    1.50  	# copy arch includes for external modules
    1.51  	mkdir -p $1/$path/arch/x86
    1.52 @@ -107,92 +97,88 @@
    1.53  	# copy files necessary for later builds, like nvidia and vmware
    1.54  	cp -a $src/Module.symvers $1/$path
    1.55  	cp -a $src/scripts        $1/$path
    1.56 +
    1.57  	# fix permissions on scripts dir
    1.58 -	chmod og-w -R             $1/$path/scripts
    1.59 -	mkdir -p                  $1/$path/.tmp_versions
    1.60 +	chmod og-w -R $1/$path/scripts
    1.61 +	mkdir -p      $1/$path/.tmp_versions
    1.62  
    1.63  	mkdir -p $1/$path/arch/x86/kernel
    1.64 -	cp -a $src/arch/x86/Makefile             $1/$path/arch/x86/
    1.65 -	cp -a $src/arch/x86/Makefile_32.cpu      $1/$path/arch/x86/
    1.66 -	cp -a $src/arch/x86/kernel/asm-offsets.s $1/$path/arch/x86/kernel/
    1.67 +	cp $src/arch/x86/Makefile             $1/$path/arch/x86/
    1.68 +	cp $src/arch/x86/Makefile_32.cpu      $1/$path/arch/x86/
    1.69 +	cp $src/arch/x86/kernel/asm-offsets.s $1/$path/arch/x86/kernel/
    1.70  
    1.71 -	# add headers for lirc package
    1.72 +#	# add headers for lirc package
    1.73  #	mkdir -p $1/$path/drivers/media/video
    1.74  #	cp -a $src/drivers/media/video/*.h  $1/$path/drivers/media/video/
    1.75 -#
    1.76  #	for i in bt8xx cpia2 cx25840 cx88 em28xx et61x251 pwc saa7134 sn9c102 ; do
    1.77  #		mkdir -p $1/$path/drivers/media/video/$i
    1.78  #		cp -a $src/drivers/media/video/$i/*.h $1/$path/drivers/media/video/$i
    1.79  #	done
    1.80  
    1.81 -	add_headers_for_type 'VIDEO_' 'drivers/media'
    1.82 -
    1.83  	# add docbook makefile
    1.84  	install -D -m644 $src/Documentation/DocBook/Makefile \
    1.85  		$1/$path/Documentation/DocBook/Makefile
    1.86  
    1.87  	# add md headers
    1.88 -#	mkdir -p $1/$path/drivers/md
    1.89 -#	cp -a $src/drivers/md/*.h  $1/$path/drivers/md
    1.90 -	add_headers_for_type 'MD_' 'drivers'
    1.91 +	mkdir -p $1/$path/drivers/md
    1.92 +	cp $src/drivers/md/*.h $1/$path/drivers/md
    1.93  
    1.94  	# add inotify.h
    1.95  	mkdir -p $1/$path/include/linux
    1.96 -	cp -a $src/include/linux/inotify.h $1/$path/include/linux/
    1.97 +	cp $src/include/linux/inotify.h $1/$path/include/linux/
    1.98  
    1.99  	# add wireless headers
   1.100 -#	mkdir -p $1/$path/net/mac80211/
   1.101 -#	cp -a $src/net/mac80211/*.h $1/$path/net/mac80211/
   1.102 -	add_headers_for_type 'MAC80211' 'net'
   1.103 +	mkdir -p $1/$path/net/mac80211/
   1.104 +	cp $src/net/mac80211/*.h $1/$path/net/mac80211/
   1.105  
   1.106  	# add dvb headers for external modules
   1.107 -	# in reference to:
   1.108 -	# http://bugs.archlinux.org/task/9912
   1.109 -#	mkdir -p $1/$path/drivers/media/dvb/dvb-core
   1.110 -#	cp -a $src/drivers/media/dvb/dvb-core/*.h $1/$path/drivers/media/dvb/dvb-core/
   1.111 -	add_headers_for_type 'DVB_' 'drivers/media'
   1.112 -
   1.113 -	# add dvb headers for external modules
   1.114 -	# in reference to:
   1.115 -	# http://bugs.archlinux.org/task/11194
   1.116 -#	if [ -d $src/include/config/dvb/ ]; then
   1.117 -#		mkdir -p $1/$path/include/config/dvb/
   1.118 -#		cp $src/include/config/dvb/*.h $1/$path/include/config/dvb/
   1.119 -#	fi
   1.120 -#
   1.121 +	# in reference to http://bugs.archlinux.org/task/9912
   1.122 +	mkdir -p $1/$path/drivers/media/dvb-core
   1.123 +	cp $src/drivers/media/dvb-core/*.h $1/$path/drivers/media/dvb-core/
   1.124 +	# and http://bugs.archlinux.org/task/11194
   1.125 +	mkdir -p $1/$path/include/config/dvb/
   1.126 +	cp $src/include/config/dvb/*.h $1/$path/include/config/dvb/
   1.127  
   1.128  	# add dvb headers for http://mcentral.de/hg/~mrec/em28xx-new
   1.129 -	# in reference to:
   1.130 -	# http://bugs.archlinux.org/task/13146
   1.131 -#	mkdir -p $1/$path/drivers/media/dvb/frontends/
   1.132 -#	cp -a $src/drivers/media/dvb/frontends/lgdt330x.h $1/$path/drivers/media/dvb/frontends/
   1.133 -#	cp -a $src/drivers/media/video/msp3400-driver.h $1/$path/drivers/media/dvb/frontends/
   1.134 +	# in reference to http://bugs.archlinux.org/task/13146
   1.135 +	mkdir -p $1/$path/drivers/media/dvb-frontends/ $1/$path/drivers/media/i2c/
   1.136 +	cp $src/drivers/media/dvb-frontends/lgdt330x.h $1/$path/drivers/media/dvb-frontends/
   1.137 +	cp $src/drivers/media/i2c/msp3400-driver.h     $1/$path/drivers/media/i2c/
   1.138  
   1.139  	# add dvb headers
   1.140 -	# in reference to:
   1.141 -	# http://bugs.archlinux.org/task/20402
   1.142 -#	mkdir -p $1/$path/drivers/media/dvb/dvb-usb
   1.143 -#	cp -a $src/drivers/media/dvb/dvb-usb/*.h $1/$path/drivers/media/dvb/dvb-usb/
   1.144 -#	mkdir -p $1/$path/drivers/media/dvb/frontends
   1.145 -#	cp -a $src/drivers/media/dvb/frontends/*.h $1/$path/drivers/media/dvb/frontends/
   1.146 -#	mkdir -p $1/$path/drivers/media/common/tuners
   1.147 -#	cp -a $src/drivers/media/common/tuners/*.h $1/$path/drivers/media/common/tuners/
   1.148 +	# in reference to http://bugs.archlinux.org/task/20402
   1.149 +	mkdir -p $1/$path/drivers/media/usb/dvb-usb
   1.150 +	cp $src/drivers/media/usb/dvb-usb/*.h   $1/$path/drivers/media/usb/dvb-usb/
   1.151 +	mkdir -p $1/$path/drivers/media/dvb-frontends
   1.152 +	cp $src/drivers/media/dvb-frontends/*.h $1/$path/drivers/media/dvb-frontends/
   1.153 +	mkdir -p $1/$path/drivers/media/tuners
   1.154 +	cp $src/drivers/media/tuners/*.h        $1/$path/drivers/media/tuners/
   1.155  
   1.156  	# add xfs and shmem for aufs building
   1.157 -	mkdir -p $1/$path/fs/xfs
   1.158 -	mkdir -p $1/$path/mm
   1.159 -	cp -a $src/fs/xfs/xfs_sb.h $1/$path/fs/xfs/xfs_sb.h
   1.160 +	mkdir -p $1/$path/fs/xfs $1/$path/mm
   1.161  
   1.162  	# copy in Kconfig files
   1.163  	for i in $(find . -name "Kconfig*"); do
   1.164 -		mkdir -p $1/$path/$(echo $i | sed 's|/Kconfig.*||')
   1.165 -		cp -a $src/$i $1/$path/$i
   1.166 +		mkdir -p   $1/$path/$(dirname $i)
   1.167 +		cp $src/$i $1/$path/$i
   1.168  	done
   1.169  
   1.170 +	# add objtool for external module building and enabled VALIDATION_STACK option
   1.171 +	if [ -f $src/tools/objtool/objtool ]; then
   1.172 +		mkdir -p $1/$path/tools/objtool
   1.173 +		cp -a $src/tools/objtool/objtool $1/$path/tools/objtool/
   1.174 +	fi
   1.175 +
   1.176  	chown -R root.root $1/$path
   1.177 -	find $1/$path -type d -exec chmod 755 {} \;
   1.178 +	find $1/$path -type d -exec chmod 755 \{\} \;
   1.179 +
   1.180  	# remove unneeded architectures
   1.181 -	rm -rf $1/$path/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}
   1.182 +	for i in alpha arc arm arm26 arm64 avr32 blackfin c6x cris frv h8300 \
   1.183 +		hexagon ia64 m32r m68k m68knommu metag mips microblaze mn10300 \
   1.184 +		openrisc parisc powerpc ppc s390 score sh sh64 sparc sparc64 tile \
   1.185 +		unicore32 um v850 xtensa; do
   1.186 +		rm -rf $1/$path/arch/$i
   1.187 +	done
   1.188  }
   1.189  
   1.190  
   1.191 @@ -226,7 +212,7 @@
   1.192  			return 0 ;;
   1.193  	esac
   1.194  
   1.195 -	# Check for Aufs and get source/patches if needed
   1.196 +	# Check for Aufs and get source / patches if needed
   1.197  	echo "Checking for Aufs packages..."
   1.198  	AUFSVER=$(grep ^VERSION= $WOK/aufs/receipt | cut -d "=" -f2 | sed -e 's/"//g')
   1.199  	AUFSDIR="$WOK/aufs/source/aufs-${AUFSVER}"
   1.200 @@ -365,7 +351,7 @@
   1.201  	make ARCH=i386 INSTALL_HDR_PATH=$DESTDIR/usr headers_install &&
   1.202  
   1.203  	[ -s arch/x86/boot/bzImage ] || return 1
   1.204 -	mkdir -p $DESTDIR/boot 2> /dev/null
   1.205 +	mkdir -p $DESTDIR/boot 2>/dev/null
   1.206  	mv arch/x86/boot/bzImage $DESTDIR/boot/vmlinuz-$VERSION-slitaz
   1.207  	KVERSION=$VERSION-slitaz
   1.208  
   1.209 @@ -437,16 +423,15 @@
   1.210  	done
   1.211  
   1.212  	# Check any module in Kernel .config that's not added to a linux-* pkgs
   1.213 -	# and remove aufs patches: we don't need them in HG wok.
   1.214  	$stuff/check_modules.sh
   1.215 +
   1.216 +	# Remove Aufs patches: we don't need them in HG wok.
   1.217  	rm -f $stuff/aufs4-*
   1.218  }
   1.219  
   1.220  # Pre and post install commands for Tazpkg.
   1.221  post_install()
   1.222  {
   1.223 -	chroot "$root/" depmod -a $VERSION-slitaz
   1.224 -
   1.225  	# Handle multiarch installation
   1.226  	case "$SLITAZ_ARCH" in
   1.227  		arm)
   1.228 @@ -495,5 +480,5 @@
   1.229  ----
   1.230  EOT
   1.231  	fi
   1.232 -	true
   1.233 +	:
   1.234  }