blob: ba6ea776bd74a1af6280b09700a1f0d1fe7a99c9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
#!/bin/bash -ex
ver=$1
[[ -z $ver ]] && exit 1
[[ ${ver} == linux-* ]] && ver=${ver#linux-}
ver=${ver%/}
src=linux-${ver}
dst=gentoo-headers-base-${ver}
if [ ! -d ${src} ] ; then
for srcdir in . /usr/portage/distfiles ; do
for ext in bz2 xz ; do
srctar=${srcdir}/${src}.tar.${ext}
if [ -e ${srctar} ] ; then
tar xf ${srctar}
break
fi
done
done
fi
if [ ! -d ${src} ] ; then
wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-${ver}.tar.xz -P /usr/portage/distfiles/
exec "$0" "$@"
fi
rm -rf ${dst}
mkdir ${dst}
cp ${src}/Makefile ${dst}/
mkdir ${dst}/include
cp ${src}/include/Kbuild ${dst}/include/
cp -r $(find ${src}/include -mindepth 2 -maxdepth 2 -name 'Kbuild*' -printf %h' ') ${dst}/include/
mkdir ${dst}/scripts
cp -r \
${src}/scripts/{Makefile,Kbuild}* \
${src}/scripts/unifdef.c \
${src}/scripts/*.{sh,pl} \
${dst}/scripts/
mkdir -p ${dst}/scripts/basic
printf '#!/bin/sh\nexit 0' > ${dst}/scripts/basic/fixdep
chmod a+rx ${dst}/scripts/basic/fixdep
touch ${dst}/scripts/basic/Makefile
mkdir ${dst}/tools
cp -r \
${src}/tools/include \
${dst}/tools/
mkdir ${dst}/arch
arches=$(cd ${src}/arch ; ls)
for a in ${arches} ; do
if [[ -e ${src}/include/asm-${a}/Kbuild ]] || [[ -e ${src}/arch/${a}/include/asm/Kbuild ]] ; then
mkdir -p ${dst}/arch/${a}
cp ${src}/arch/${a}/Makefile* ${dst}/arch/${a}/
cp ${src}/arch/${a}/Kbuild* ${dst}/arch/${a}/ 2>/dev/null || :
for d in include syscalls tools ; do
if [[ -e ${src}/arch/${a}/${d} ]] ; then
cp -r ${src}/arch/${a}/${d} ${dst}/arch/${a}/
fi
done
fi
done
# mips has some stupid unique bs
if [[ -e ${src}/arch/mips/Kbuild.platforms ]] ; then
for f in "${src}"/arch/mips/*/Platform ; do
f=${f#${src}}
mkdir ${dst}/${f%/*}
cp ${src}/${f} ${dst}/${f}
done
fi
cp README.ripped-headers rip-headers.sh ${dst}/
compress=xz
tar cf - ${dst} | ${compress} > ${dst}.tar.${compress}
rm -rf ${dst}
ls -lh ${dst}.tar.${compress}
|