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

Message ID 3351f907cfd0b5d8372e858a8ec9065cc2bd91df.1679434718.git.kevin@kevinlocke.name
State New
Headers
Series [v2] kbuild: deb-pkg: set version for linux-headers paths |

Commit Message

Kevin Locke March 21, 2023, 9:39 p.m. UTC
  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@kevinlocke.name>
---
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(-)
  

Comments

Masahiro Yamada March 22, 2023, 2:21 p.m. UTC | #1
On Wed, Mar 22, 2023 at 6:39 AM Kevin Locke <kevin@kevinlocke.name> wrote:
>
> 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@kevinlocke.name>
> ---

Applied to linux-kbuild/fixes. Thanks.



> 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
>
  

Patch

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