File linux-kernel-headers_install_all.sh of Package linux-kernel-headers

#!/bin/bash
# bash -x $0 linux-1.2.3.tar.bz2
kernel=$1
lazy_tar=
if ! test -f "$1"
then
	echo "Usage: ${0##*/} linux-1.2.3.tar.gz"
	exit 1
fi
case "$1" in
	*.bz2) lazy_tar=j ;;
	*.gz)  lazy_tar=z ;;
	*.tar) lazy_tar=  ;;
esac
kernel_dir="`tar tvf$lazy_tar $1 | sed '1 {s@^.*[[:blank:]]@@;s@linux-@@;s@/.*$@@;s@^\([0-9]\+\.[0-9]\+\.[0-9]\+\)\(.*\)@\1@;p;Q}'`"
header_dir="$PWD/linux-kernel-headers-$kernel_dir"
if test -d "$kernel_dir"
then
	echo "$kernel_dir exists, remove it first."
	exit 1
fi
if ! mkdir "$header_dir"
then
	echo "$header_dir exists, remove it first."
	exit 1
fi
tar xf$lazy_tar $1
pushd linux-${kernel_dir}*
make O="$header_dir" headers_install_all
popd
pushd "$header_dir"
for asm in \
	alpha \
	avr32 \
	bi-sparc64 \
	blackfin \
	cris \
	frv \
	h8300 \
	m32r \
	m68k \
	m68knommu \
	mips \
	mn10300 \
	sh \
	sh64 \
	sparc \
	sparc64 \
	v850 \
	xtensa \
; do
	rm -rf usr/include/asm-$asm
done
for dir in *
do
	case "$dir" in
		usr) ;;
		*) 
			if test -d "$dir"
			then
				rm -rf "$dir"
			fi
		;;
	esac
done
popd
du -s "$header_dir/usr"
tar cfj "$header_dir.tar.bz2" "${header_dir##*/}"
openSUSE Build Service is sponsored by