diff options
author | Fathi Boudra <fathi.boudra@linaro.org> | 2014-04-14 16:01:10 +0300 |
---|---|---|
committer | Andrey Konovalov <andrey.konovalov@linaro.org> | 2014-04-15 22:44:01 +0400 |
commit | aaff07be8969066d246c789fec5b3290b393a871 (patch) | |
tree | 5a3855e83cb9677efb220b77778b77ac948d29f0 | |
parent | 2c6818be9a9a033bbf4969c53358535f1d63170f (diff) |
builddeb: fix missing headers in linux-headers package on arm architecturetracking-linaro-builddeb-tweaks-llct-20140612.0tracking-linaro-builddeb-tweaks-llct-20140602.0tracking-linaro-builddeb-tweaks-llct-20140529.0tracking-linaro-builddeb-tweaks-llct-20140523.0tracking-linaro-builddeb-tweaks-llct-20140515.0tracking-linaro-builddeb-tweaks-llct-20140512.0tracking-linaro-builddeb-tweaks-llct-20140508.0tracking-linaro-builddeb-tweaks-llct-20140507.0tracking-linaro-builddeb-tweaks-llct-20140505.0tracking-linaro-builddeb-tweaks-llct-20140430.0tracking-linaro-builddeb-tweaks-llct-20140423.0
The kernel headers package (linux-headers) doesn't include
the arch/arm/mach-*/include header files.
It makes the package unusable on ARM architecture and prevent
out-of-tree modules build:
/usr/src/linux-headers-3.14.0/arch/arm/include/asm/memory.h:24:25:
fatal error: mach/memory.h: No such file or directory
#include <mach/memory.h>
^
compilation terminated.
While this patch explicitely test arm architecture, avr32 and blackfin are
affected since they ship mach-* headers. However, they haven't been included
in the test because they aren't official architectures supported by Debian.
minor tweak: clean up the linux-headers package by using tar exclude option.
Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org>
-rw-r--r-- | scripts/package/builddeb | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/scripts/package/builddeb b/scripts/package/builddeb index 02ca3fb3eef8..154a8d7a97eb 100644 --- a/scripts/package/builddeb +++ b/scripts/package/builddeb @@ -292,14 +292,18 @@ EOF fi -# Build header package +# Build kernel header package (cd $srctree; find . -name Makefile\* -o -name Kconfig\* -o -name \*.pl > "$objtree/debian/hdrsrcfiles") (cd $srctree; find arch/$SRCARCH/include include scripts -type f >> "$objtree/debian/hdrsrcfiles") +if [ "$ARCH" = "arm" ]; then + (cd $srctree; find arch/arm/mach-*/include -type f >> "$objtree/debian/hdrsrcfiles") +fi (cd $objtree; find arch/$SRCARCH/include Module.symvers include scripts -type f >> "$objtree/debian/hdrobjfiles") destdir=$kernel_headers_dir/usr/src/linux-headers-$version mkdir -p "$destdir" -(cd $srctree; tar -c -f - -T "$objtree/debian/hdrsrcfiles") | (cd $destdir; tar -xf -) -(cd $objtree; tar -c -f - -T "$objtree/debian/hdrobjfiles") | (cd $destdir; tar -xf -) +excludes="--exclude-vcs --exclude=*.cmd --exclude=*.o --exclude=Documentation" +(cd $srctree; tar $excludes -cf - -T "$objtree/debian/hdrsrcfiles") | (cd $destdir; tar -xf -) +(cd $objtree; tar $excludes -cf - -T "$objtree/debian/hdrobjfiles") | (cd $destdir; tar -xf -) (cd $objtree; cp $KCONFIG_CONFIG $destdir/.config) # copy .config manually to be where it's expected to be ln -sf "/usr/src/linux-headers-$version" "$kernel_headers_dir/lib/modules/$version/build" rm -f "$objtree/debian/hdrsrcfiles" "$objtree/debian/hdrobjfiles" |