1
0
linux-glibc-devel/install_all.sh

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}