Source: lttng-modules
Version: 2.13.13-1
Severity: important
Tags: patch

Hi,

the sed magic in dkms.conf expects kernel versions starting with three
numeric components like 6.8.12-amd64. It fails if there are only two
like in 6.8-rc1 or 6.9-amd64 (this naming style is usually found in
experimental).

If parsing fails, this causes lots of noise consisting of repeated

/var/lib/dkms/lttng-modules/2.13.13/source/dkms.conf: line 101: [: : integer 
expression expected
/var/lib/dkms/lttng-modules/2.13.13/source/dkms.conf: line 101: [: : integer 
expression expected
/var/lib/dkms/lttng-modules/2.13.13/source/dkms.conf: line 124: [: : integer 
expression expected
/var/lib/dkms/lttng-modules/2.13.13/source/dkms.conf: line 124: [: : integer 
expression expected
/var/lib/dkms/lttng-modules/2.13.13/source/dkms.conf: line 158: [: : integer 
expression expected
/var/lib/dkms/lttng-modules/2.13.13/source/dkms.conf: line 313: [: : integer 
expression expected
/var/lib/dkms/lttng-modules/2.13.13/source/dkms.conf: line 313: [: : integer 
expression expected

and probably skips building some modules since version constraints
cannot be checked.

A patch with improved sed expressions is attached.


Andreas
>From 028d89325911f9dd070943b097b81723a1c91a40 Mon Sep 17 00:00:00 2001
From: Andreas Beckmann <a...@debian.org>
Date: Tue, 12 Mar 2024 11:03:52 +0100
Subject: [PATCH] fix kernel version parsing if there are only two numeric
 components

e.g. 6.7-rc1
---
 debian/lttng-modules-dkms.dkms | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/debian/lttng-modules-dkms.dkms b/debian/lttng-modules-dkms.dkms
index b56fba6..25c568f 100644
--- a/debian/lttng-modules-dkms.dkms
+++ b/debian/lttng-modules-dkms.dkms
@@ -13,9 +13,9 @@ elif [ -f /boot/config-$kernelver ]; then
     KCONFIG=true
 fi
 
-VERSION=$(echo $kernelver | sed -ne 
's/\([0-9]\+\)\.\([0-9]\+\)\.\([0-9]\+\)\-\(.\+\)/\1/p')
-PATCHLEVEL=$(echo $kernelver | sed -ne 
's/\([0-9]\+\)\.\([0-9]\+\)\.\([0-9]\+\)\-\(.\+\)/\2/p')
-SUBLEVEL=$(echo $kernelver | sed -ne 
's/\([0-9]\+\)\.\([0-9]\+\)\.\([0-9]\+\)\-\(.\+\)/\3/p')
+VERSION=$(echo $kernelver | sed -e 's/\([0-9]\+\)[.]\([0-9]\+\)\(.*\)/\1/')
+PATCHLEVEL=$(echo $kernelver | sed -e 's/\([0-9]\+\)[.]\([0-9]\+\)\(.*\)/\2/')
+SUBLEVEL=$(echo $kernelver | sed -e 
's/\([0-9]\+\)[.]\([0-9]\+\)[.]\([0-9]\+\)\(.*\)/\3/; 
s/\([0-9]*\)[.]\([0-9]*\)\(.*\)/0/')
 
 
 MAKE[$i]="make -C $kernel_source_dir 
M=$dkms_tree/$PACKAGE_NAME/$PACKAGE_VERSION/build modules CONFIG_LTTNG=m 
CONFIG_LTTNG_CLOCK_PLUGIN_TEST=m"
-- 
2.20.1

Reply via email to