forked from pool/linux-glibc-devel
Andreas Schwab
79a1e8808e
- Update to kernel headers 4.9 - Remove empty /usr/include/uapi directory OBS-URL: https://build.opensuse.org/request/show/449685 OBS-URL: https://build.opensuse.org/package/show/Base:System/linux-glibc-devel?expand=0&rev=106
87 lines
2.0 KiB
Bash
87 lines
2.0 KiB
Bash
#!/bin/bash
|
|
# bash -x $0 linux-1.2.3.tar.xz
|
|
set -e
|
|
kernel=$1
|
|
if ! test -f "$1"
|
|
then
|
|
echo "Usage: ${0##*/} linux-1.2.3.tar.xz"
|
|
exit 1
|
|
fi
|
|
if echo $PWD | grep -q :; then
|
|
echo "do not call this in a directory with : - make will fail"
|
|
exit 1
|
|
fi
|
|
|
|
kernel_dir="`tar -tf $1 | sed '1 {s@^.*[[:blank:]]@@;s@linux-@@;s@/.*$@@;s@^\([0-9]\+\.[0-9]\+\.[0-9]\+\)\(.*\)@\1@;p;Q}'`"
|
|
header_dir="$PWD/linux-glibc-devel-$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 $1
|
|
pushd linux-${kernel_dir}
|
|
cp Makefile $header_dir
|
|
# header export for unicore32 in 2.6.39 is broken, disable it
|
|
sed -i -e 's/cris/cris\|unicore32/' scripts/headers.sh
|
|
/usr/bin/make O="$header_dir" headers_install_all
|
|
# kvm.h and aout.h are only installed if SRCARCH is an architecture
|
|
# that has support for them. As the package is noarch we need to make
|
|
# sure we get the full support on x86
|
|
/usr/bin/make SRCARCH=x86 O="$header_dir" headers_install_all
|
|
popd
|
|
pushd "$header_dir"
|
|
for asm in \
|
|
alpha \
|
|
avr32 \
|
|
blackfin \
|
|
cris \
|
|
frv \
|
|
h8300 \
|
|
m32r \
|
|
m68knommu \
|
|
mips \
|
|
mn10300 \
|
|
sh \
|
|
sh64 \
|
|
v850 \
|
|
xtensa \
|
|
unicore32 \
|
|
; do
|
|
rm -rf usr/include/asm-$asm
|
|
done
|
|
rm Makefile
|
|
find -type f -name "..install.cmd" -print0 | xargs -0 --no-run-if-empty rm
|
|
find -type f -name ".install" -print0 | xargs -0 --no-run-if-empty rm
|
|
#-------------------------------------------------------------------
|
|
#Fri Sep 5 10:43:49 CEST 2008 - matz@suse.de
|
|
|
|
#- Remove the kernel version of drm headers, they conflict
|
|
# with the libdrm ones, and those are slightly newer.
|
|
#
|
|
rm -rf usr/include/drm/
|
|
# Remove confusing empty uapi directory
|
|
rmdir usr/include/uapi
|
|
for dir in *
|
|
do
|
|
case "$dir" in
|
|
usr) ;;
|
|
*)
|
|
if test -d "$dir"
|
|
then
|
|
rm -rf "$dir"
|
|
fi
|
|
;;
|
|
esac
|
|
done
|
|
popd
|
|
du -sh "$header_dir/usr"
|
|
tar -cJf "$header_dir.tar.xz" --owner=root --group=root "${header_dir##*/}"
|
|
rm -rf $header_dir linux-${kernel_dir}
|
|
|