[PATCH v2] kbuild: deb-pkg: set version for linux-headers paths

From: Kevin Locke
Date: Tue Mar 21 2023 - 17:39:48 EST


As a result of the switch to dh_listpackages, $version is no longer set
when install_kernel_headers() is called. This causes files in the
linux-headers deb package to be installed to a path with an empty
$version (e.g. /usr/src/linux-headers-/scripts/sign-file rather than
/usr/src/linux-headers-6.3.0-rc3/scripts/sign-file).

To avoid this, while continuing to use the version information from
dh_listpackages, pass $version from $package as the second argument
of install_kernel_headers().

Fixes: 36862e14e316 ("kbuild: deb-pkg: use dh_listpackages to know enabled packages")
Signed-off-by: Kevin Locke <kevin@xxxxxxxxxxxxxxx>
---
Good idea! Thanks for the quick review and feedback. Here's an updated
version.

Changes since v1:
* Pass version as the second argument to install_kernel_headers(),
rather than as a global variable, as suggested by Masahiro Yamada.

scripts/package/builddeb | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/scripts/package/builddeb b/scripts/package/builddeb
index c5ae57167d7c..7b23f52c70c5 100755
--- a/scripts/package/builddeb
+++ b/scripts/package/builddeb
@@ -162,6 +162,7 @@ install_linux_image_dbg () {

install_kernel_headers () {
pdir=$1
+ version=$2

rm -rf $pdir

@@ -229,7 +230,7 @@ do
linux-libc-dev)
install_libc_headers debian/linux-libc-dev;;
linux-headers-*)
- install_kernel_headers debian/linux-headers;;
+ install_kernel_headers debian/linux-headers ${package#linux-headers-};;
esac
done

--
2.39.2