Bug#878816: stretch-pu: package lttng-modules/2.9.0-1+deb9u1
- To: 878816@bugs.debian.org
- Cc: Julien Cristau <jcristau@debian.org>, "Adam D. Barratt" <adam@adam-barratt.org.uk>
- Subject: Bug#878816: stretch-pu: package lttng-modules/2.9.0-1+deb9u1
- From: Michael Jeanson <mjeanson@debian.org>
- Date: Fri, 10 Aug 2018 15:35:43 -0400
- Message-id: <[🔎] 2940594d-352b-52af-43c4-9e4a052570f8@debian.org>
- Reply-to: Michael Jeanson <mjeanson@debian.org>, 878816@bugs.debian.org
- In-reply-to: <1511522313.3382.42.camel@adam-barratt.org.uk>
- References: <150818533170.23189.7585907692838010595.reportbug@debian-stretch-i386> <1509300703.2018.25.camel@adam-barratt.org.uk> <150818533170.23189.7585907692838010595.reportbug@debian-stretch-i386> <91fe519d-e02d-1656-a05b-dc220adb3b74@ubuntu.com> <20171119145014.gjwqunufqydlnpcn@betterave.cristau.org> <150818533170.23189.7585907692838010595.reportbug@debian-stretch-i386> <da466280-a48e-3fed-12d3-baa2f17e64df@ubuntu.com> <1511522313.3382.42.camel@adam-barratt.org.uk> <150818533170.23189.7585907692838010595.reportbug@debian-stretch-i386>
Hi,
Here is an updated debdiff with a fix for an additional bug, both are
failure to build the dkms modules on recent kernels. I've also addressed
the metadata problems on #864404 to properly report the fixed version in
unstable.
Changes:
lttng-modules (2.9.0-1+deb9u1) stable; urgency=medium
* [ee40323] Fix build on linux-rt 4.9 kernels. (Closes: #864404)
* [b20f74a] Fix build on >= 4.9.0-3 kernels (Closes: #889901)
Cheers,
Michael
diff -Nru lttng-modules-2.9.0/debian/changelog lttng-modules-2.9.0/debian/changelog
--- lttng-modules-2.9.0/debian/changelog 2016-11-29 18:13:55.000000000 -0500
+++ lttng-modules-2.9.0/debian/changelog 2018-08-10 12:47:14.000000000 -0400
@@ -1,3 +1,11 @@
+lttng-modules (2.9.0-1+deb9u1) stable; urgency=medium
+
+ * [c3d8eab] Stretch gbp branch config
+ * [ee40323] Fix build on linux-rt 4.9 kernels. (Closes: #864404)
+ * [b20f74a] Fix build on >= 4.9.0-3 kernels (Closes: #889901)
+
+ -- Michael Jeanson <mjeanson@debian.org> Fri, 10 Aug 2018 12:47:14 -0400
+
lttng-modules (2.9.0-1) unstable; urgency=medium
* [500ac85] New upstream version 2.9.0
diff -Nru lttng-modules-2.9.0/debian/gbp.conf lttng-modules-2.9.0/debian/gbp.conf
--- lttng-modules-2.9.0/debian/gbp.conf 1969-12-31 19:00:00.000000000 -0500
+++ lttng-modules-2.9.0/debian/gbp.conf 2018-08-10 12:10:26.000000000 -0400
@@ -0,0 +1,3 @@
+[DEFAULT]
+upstream-branch=upstream/2.9.0
+debian-branch=debian/stretch
diff -Nru lttng-modules-2.9.0/debian/patches/fix-debian-kernel-version-parsing.patch lttng-modules-2.9.0/debian/patches/fix-debian-kernel-version-parsing.patch
--- lttng-modules-2.9.0/debian/patches/fix-debian-kernel-version-parsing.patch 1969-12-31 19:00:00.000000000 -0500
+++ lttng-modules-2.9.0/debian/patches/fix-debian-kernel-version-parsing.patch 2018-08-10 12:38:51.000000000 -0400
@@ -0,0 +1,66 @@
+From 671137d5cda4a7415b34246bd8842650a7c6ddd9 Mon Sep 17 00:00:00 2001
+From: Michael Jeanson <mjeanson@efficios.com>
+Date: Tue, 9 Jan 2018 15:43:19 -0500
+Subject: [PATCH] Fix: debian kernel version parsing
+
+The debian version script only worked for ckt kernels and that was fine
+until now because we only had checks for those versions in the code.
+
+ckt (Canonical Kernel Team) kernels were used for a while during the jessie
+cycle, their versionning is a bit different. They track the upstream vanilla
+stable updates but they don't update the minor version number and instead add
+an additionnal -cktX. They were all 3.16.7-cktX and after a while the version
+switched back to upstream style at 3.16.36.
+
+Knowing that, we can compare regular debian and ckt kernel versions
+using this scheme :
+
+ MAJOR.PATCHLEVEL.SUBLEVEL.CKT.DEBABI.DEBPATCH
+
+And setting CKT to zero for non-ckt kernels.
+
+Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
+Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+---
+ abi-debian-version.sh | 18 ++++++++++--------
+ 1 file changed, 10 insertions(+), 8 deletions(-)
+
+diff --git a/abi-debian-version.sh b/abi-debian-version.sh
+index 310d6a8..36da212 100755
+--- a/abi-debian-version.sh
++++ b/abi-debian-version.sh
+@@ -12,24 +12,26 @@ fi
+
+ # Assuming KPATH is the target kernel headers directory
+ DEB_PACKAGE_VERSION=$(sed -rn 's/^#define LINUX_PACKAGE_ID " Debian (.*)"/\1/p' ${KPATH}/include/generated/package.h)
++
+ # Ignore backports part
+ DEB_PACKAGE_VERSION=$(echo ${DEB_PACKAGE_VERSION} | sed -r 's/~(bpo|deb).*//')
++
++# ckt (Canonical Kernel Team) kernels were used for a while during the jessie
++# cycle, their versionning is a bit different. They track the upstream vanilla
++# stable updates but they don't update the minor version number and instead add
++# an additionnal -cktX. They were all 3.16.7-cktX and after a while the version
++# switched back to upstream style at 3.16.36.
++
+ # Get -ckt update number, if present
+ KERNEL_CKT_UPDATE=$(echo ${DEB_PACKAGE_VERSION} | sed -rn 's/^[0-9]+\.[0-9]+\.[0-9]+-ckt([0-9]+).*/\1/p')
+-
+-# Only care about the rest if it is a -ckt kernel, making sure we do not
+-# clash with older Debian kernels (e.g. Debian 3.2.65-1+deb7u2).
+-if [ -z "${KERNEL_CKT_UPDATE}" ]; then
+- echo 0
+- exit 0
+-fi
++test -n "${KERNEL_CKT_UPDATE}" || KERNEL_CKT_UPDATE=0
+
+ # Get package revision
+ DEB_PACKAGE_REVISION=$(echo ${DEB_PACKAGE_VERSION} | sed -r 's/.*-([^-]+)$/\1/')
+ # Get non-sec update number
+ DEB_PACKAGE_REVISION_BASE=$(echo ${DEB_PACKAGE_REVISION} | sed -r 's/^([0-9]+).*/\1/')
+ # Get security update number, if present
+-DEB_PACKAGE_REVISION_SECURITY=$(echo ${DEB_PACKAGE_REVISION} | sed -rn 's/.*\+(squeeze|deb[0-9])+u([0-9]+)$/\1/p')
++DEB_PACKAGE_REVISION_SECURITY=$(echo ${DEB_PACKAGE_REVISION} | sed -rn 's/.*\+(squeeze|deb[0-9]+)+u([0-9]+)$/\2/p')
+ test -n "${DEB_PACKAGE_REVISION_SECURITY}" || DEB_PACKAGE_REVISION_SECURITY=0
+ # Combine all update numbers into one
+ DEB_API_VERSION=$((KERNEL_CKT_UPDATE * 10000 + DEB_PACKAGE_REVISION_BASE * 100 + DEB_PACKAGE_REVISION_SECURITY))
diff -Nru lttng-modules-2.9.0/debian/patches/fix-linux-rt-4.9-sched.patch lttng-modules-2.9.0/debian/patches/fix-linux-rt-4.9-sched.patch
--- lttng-modules-2.9.0/debian/patches/fix-linux-rt-4.9-sched.patch 1969-12-31 19:00:00.000000000 -0500
+++ lttng-modules-2.9.0/debian/patches/fix-linux-rt-4.9-sched.patch 2018-08-10 12:10:26.000000000 -0400
@@ -0,0 +1,31 @@
+Fix build of sched instrumentation on linux-rt >= 4.9.27-rt8
+--- a/instrumentation/events/lttng-module/sched.h
++++ b/instrumentation/events/lttng-module/sched.h
+@@ -540,7 +540,26 @@
+ )
+ #endif
+
+-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37))
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,12,0) || \
++ (LTTNG_KERNEL_RANGE(4,9,27, 4,10,0) && defined(CONFIG_PREEMPT_RT_FULL)))
++/*
++ * Tracepoint for showing priority inheritance modifying a tasks
++ * priority.
++ */
++LTTNG_TRACEPOINT_EVENT(sched_pi_setprio,
++
++ TP_PROTO(struct task_struct *tsk, struct task_struct *pi_task),
++
++ TP_ARGS(tsk, pi_task),
++
++ TP_FIELDS(
++ ctf_array_text(char, comm, tsk->comm, TASK_COMM_LEN)
++ ctf_integer(pid_t, tid, tsk->pid)
++ ctf_integer(int, oldprio, tsk->prio - MAX_RT_PRIO)
++ ctf_integer(int, newprio, pi_task ? pi_task->prio - MAX_RT_PRIO : tsk->prio - MAX_RT_PRIO)
++ )
++)
++#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37))
+ /*
+ * Tracepoint for showing priority inheritance modifying a tasks
+ * priority.
diff -Nru lttng-modules-2.9.0/debian/patches/series lttng-modules-2.9.0/debian/patches/series
--- lttng-modules-2.9.0/debian/patches/series 1969-12-31 19:00:00.000000000 -0500
+++ lttng-modules-2.9.0/debian/patches/series 2018-08-10 12:39:33.000000000 -0400
@@ -0,0 +1,4 @@
+fix-linux-rt-4.9-sched.patch
+update-kvm-instrumentation-for-4.15.patch
+update-kvm-instrumentation-for-debian-kernel-4.9.65-3.patch
+fix-debian-kernel-version-parsing.patch
diff -Nru lttng-modules-2.9.0/debian/patches/update-kvm-instrumentation-for-4.15.patch lttng-modules-2.9.0/debian/patches/update-kvm-instrumentation-for-4.15.patch
--- lttng-modules-2.9.0/debian/patches/update-kvm-instrumentation-for-4.15.patch 1969-12-31 19:00:00.000000000 -0500
+++ lttng-modules-2.9.0/debian/patches/update-kvm-instrumentation-for-4.15.patch 2018-08-10 12:30:55.000000000 -0400
@@ -0,0 +1,44 @@
+From 7c0f0b93429a7c08908f61790e1abb13fe8a4052 Mon Sep 17 00:00:00 2001
+From: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+Date: Tue, 26 Dec 2017 09:47:22 -0500
+Subject: [PATCH] Update kvm instrumentation for 4.15
+
+Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+---
+ instrumentation/events/lttng-module/kvm.h | 18 ++++++++++++++++++
+ 1 file changed, 18 insertions(+)
+
+--- a/instrumentation/events/lttng-module/kvm.h
++++ b/instrumentation/events/lttng-module/kvm.h
+@@ -84,6 +84,22 @@
+ { KVM_TRACE_MMIO_READ, "read" }, \
+ { KVM_TRACE_MMIO_WRITE, "write" }
+
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0))
++
++LTTNG_TRACEPOINT_EVENT(kvm_mmio,
++ TP_PROTO(int type, int len, u64 gpa, void *val),
++ TP_ARGS(type, len, gpa, val),
++
++ TP_FIELDS(
++ ctf_integer(u32, type, type)
++ ctf_integer(u32, len, len)
++ ctf_integer(u64, gpa, gpa)
++ ctf_sequence_hex(unsigned char, val, val, u32, len)
++ )
++)
++
++#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0)) */
++
+ LTTNG_TRACEPOINT_EVENT(kvm_mmio,
+ TP_PROTO(int type, int len, u64 gpa, u64 val),
+ TP_ARGS(type, len, gpa, val),
+@@ -96,6 +112,8 @@
+ )
+ )
+
++#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0)) */
++
+ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,34))
+
+ #define kvm_fpu_load_symbol \
diff -Nru lttng-modules-2.9.0/debian/patches/update-kvm-instrumentation-for-debian-kernel-4.9.65-3.patch lttng-modules-2.9.0/debian/patches/update-kvm-instrumentation-for-debian-kernel-4.9.65-3.patch
--- lttng-modules-2.9.0/debian/patches/update-kvm-instrumentation-for-debian-kernel-4.9.65-3.patch 1969-12-31 19:00:00.000000000 -0500
+++ lttng-modules-2.9.0/debian/patches/update-kvm-instrumentation-for-debian-kernel-4.9.65-3.patch 2018-08-10 12:33:53.000000000 -0400
@@ -0,0 +1,23 @@
+From 42150a01aaf5697974754ff89d69d91dc75c326b Mon Sep 17 00:00:00 2001
+From: Michael Jeanson <mjeanson@efficios.com>
+Date: Tue, 9 Jan 2018 15:43:20 -0500
+Subject: [PATCH] Update kvm instrumentation for debian kernel 4.9.65-3
+
+Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
+Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+---
+ instrumentation/events/lttng-module/kvm.h | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/instrumentation/events/lttng-module/kvm.h
++++ b/instrumentation/events/lttng-module/kvm.h
+@@ -84,7 +84,8 @@
+ { KVM_TRACE_MMIO_READ, "read" }, \
+ { KVM_TRACE_MMIO_WRITE, "write" }
+
+-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0))
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0) \
++ || LTTNG_DEBIAN_KERNEL_RANGE(4,9,65,0,3,0, 4,10,0,0,0,0))
+
+ LTTNG_TRACEPOINT_EVENT(kvm_mmio,
+ TP_PROTO(int type, int len, u64 gpa, void *val),
Reply to: