builddeb: generate multi-arch friendly linux-libc-dev package

Debian-based distributions place libc header files in a machine
specific directory (/usr/include/<libc-machine>) instead of
/usr/include/asm to support installation of the linux-libc-dev
package from multiple architectures. Move headers installed by
"make headers_install" accordingly using Debian's tuple from
dpkg-architecture (stored in debian/arch).

Signed-off-by: Cedric Hombourger <Cedric_Hombourger@mentor.com>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
This commit is contained in:
Cedric Hombourger 2019-07-09 09:43:35 +02:00 committed by Masahiro Yamada
parent 3266c806dc
commit 5a46421789
2 changed files with 6 additions and 0 deletions

View File

@ -132,6 +132,11 @@ fi
if [ "$ARCH" != "um" ]; then if [ "$ARCH" != "um" ]; then
$MAKE -f $srctree/Makefile headers $MAKE -f $srctree/Makefile headers
$MAKE -f $srctree/Makefile headers_install INSTALL_HDR_PATH="$libc_headers_dir/usr" $MAKE -f $srctree/Makefile headers_install INSTALL_HDR_PATH="$libc_headers_dir/usr"
# move asm headers to /usr/include/<libc-machine>/asm to match the structure
# used by Debian-based distros (to support multi-arch)
host_arch=$(dpkg-architecture -a$(cat debian/arch) -qDEB_HOST_MULTIARCH)
mkdir $libc_headers_dir/usr/include/$host_arch
mv $libc_headers_dir/usr/include/asm $libc_headers_dir/usr/include/$host_arch/
fi fi
# Install the maintainer scripts # Install the maintainer scripts

View File

@ -197,6 +197,7 @@ Architecture: $debarch
Description: Linux support headers for userspace development Description: Linux support headers for userspace development
This package provides userspaces headers from the Linux kernel. These headers This package provides userspaces headers from the Linux kernel. These headers
are used by the installed headers for GNU glibc and other system libraries. are used by the installed headers for GNU glibc and other system libraries.
Multi-Arch: same
Package: $dbg_packagename Package: $dbg_packagename
Section: debug Section: debug