[PATCH 7/7] builddeb: split libc headers deployment out into a function

From: Masahiro Yamada
Date: Mon Jan 13 2020 - 01:49:57 EST


Deploy user-space headers (linux-libc-dev package) in a separate
function for readability.

Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx>
---

scripts/package/builddeb | 32 ++++++++++++++++++--------------
1 file changed, 18 insertions(+), 14 deletions(-)

diff --git a/scripts/package/builddeb b/scripts/package/builddeb
index 50dc24fa3a65..9448a05a2bce 100755
--- a/scripts/package/builddeb
+++ b/scripts/package/builddeb
@@ -88,12 +88,25 @@ deploy_kernel_headers () {
ln -s /usr/src/linux-headers-$version $pdir/lib/modules/$version/build
}

+deploy_libc_headers () {
+ pdir=$1
+
+ rm -rf $pdir
+
+ $MAKE -f $srctree/Makefile headers
+ $MAKE -f $srctree/Makefile headers_install INSTALL_HDR_PATH=$pdir/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 $pdir/usr/include/$host_arch
+ mv $pdir/usr/include/asm $pdir/usr/include/$host_arch/
+}
+
version=$KERNELRELEASE
tmpdir=debian/linux-image
-libc_headers_dir=debian/linux-libc-dev
dbg_dir=debian/linux-image-dbg
packagename=linux-image-$version
-libc_headers_packagename=linux-libc-dev
dbg_packagename=$packagename-dbg

if [ "$ARCH" = "um" ] ; then
@@ -117,7 +130,7 @@ esac
BUILD_DEBUG=$(if_enabled_echo CONFIG_DEBUG_INFO Yes)

# Setup the directory structure
-rm -rf "$tmpdir" "$libc_headers_dir" "$dbg_dir" debian/files
+rm -rf "$tmpdir" "$dbg_dir" debian/files
mkdir -m 755 -p "$tmpdir/DEBIAN"
mkdir -p "$tmpdir/lib" "$tmpdir/boot"

@@ -167,16 +180,6 @@ if is_enabled CONFIG_MODULES; then
fi
fi

-if [ "$ARCH" != "um" ]; then
- $MAKE -f $srctree/Makefile headers
- $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
-
# Install the maintainer scripts
# Note: hook scripts under /etc/kernel are also executed by official Debian
# kernel packages, as well as kernel packages built using make-kpkg.
@@ -206,7 +209,8 @@ if [ "$ARCH" != "um" ]; then
deploy_kernel_headers debian/linux-headers
create_package linux-headers-$version debian/linux-headers

- create_package "$libc_headers_packagename" "$libc_headers_dir"
+ deploy_libc_headers debian/linux-libc-dev
+ create_package linux-libc-dev debian/linux-libc-dev
fi

create_package "$packagename" "$tmpdir"
--
2.17.1