From f679e5efa88b10daa45dbb90f5490806d08acca5 Mon Sep 17 00:00:00 2001 From: Richard Hughes Date: Wed, 28 Aug 2019 15:31:34 +0100 Subject: [PATCH] Include the kernel release as a runtime version Although not always useful (due to patches being backported) being able to depend on a specific kernel version might save our bacon in the future. --- src/fu-engine.c | 9 ++++++--- src/fu-self-test.c | 1 + 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/fu-engine.c b/src/fu-engine.c index 1ab2816a0..9191e8e1e 100644 --- a/src/fu-engine.c +++ b/src/fu-engine.c @@ -1305,9 +1305,6 @@ fu_engine_get_report_metadata (FuEngine *self) g_hash_table_insert (hash, g_strdup ("CpuArchitecture"), g_strdup (name_tmp.machine)); - g_hash_table_insert (hash, - g_strdup ("KernelVersion"), - g_strdup (name_tmp.release)); } /* add the kernel boot time so we can detect a reboot */ @@ -4740,6 +4737,7 @@ fu_engine_idle_status_notify_cb (FuIdle *idle, GParamSpec *pspec, FuEngine *self static void fu_engine_init (FuEngine *self) { + struct utsname uname_tmp; self->percentage = 0; self->status = FWUPD_STATUS_IDLE; self->config = fu_config_new (); @@ -4773,6 +4771,11 @@ fu_engine_init (FuEngine *self) fu_engine_add_runtime_version (self, "org.freedesktop.gusb", g_usb_version_string ()); #endif + /* optional kernel version */ + memset (&uname_tmp, 0, sizeof(uname_tmp)); + if (uname (&uname_tmp) >= 0) + fu_engine_add_runtime_version (self, "org.kernel", uname_tmp.release); + g_hash_table_insert (self->compile_versions, g_strdup ("com.redhat.fwupdate"), g_strdup ("12")); diff --git a/src/fu-self-test.c b/src/fu-self-test.c index 618844c31..8d5fdb63d 100644 --- a/src/fu-self-test.c +++ b/src/fu-self-test.c @@ -420,6 +420,7 @@ fu_engine_requirements_device_func (void) " " " bootloader" " vendor-id" + " org.kernel" " " " " " 12345678-1234-1234-1234-123456789012"