59 lines
1.7 KiB
Diff
59 lines
1.7 KiB
Diff
From e74d38bfd3097471fe60dbe843a68c16516a78da Mon Sep 17 00:00:00 2001
|
|
From: Richard Hughes <richard@hughsie.com>
|
|
Date: Mon, 17 Jan 2022 14:50:47 +0000
|
|
Subject: [PATCH] Fix compiling with new versions of efivar
|
|
|
|
Fixes https://github.com/fwupd/fwupd/issues/4181
|
|
---
|
|
meson.build | 5 +++++
|
|
plugins/uefi-capsule/fu-uefi-common.h | 3 +++
|
|
2 files changed, 8 insertions(+)
|
|
|
|
diff --git a/meson.build b/meson.build
|
|
index 86e7057..0c768a2 100644
|
|
--- a/meson.build
|
|
+++ b/meson.build
|
|
@@ -354,6 +354,11 @@ if build_standalone and get_option('plugin_uefi_capsule')
|
|
readelf = find_program ('readelf')
|
|
genpeimg = find_program ('genpeimg', required: false)
|
|
|
|
+ efivar = dependency('efivar')
|
|
+ if cc.has_header_symbol('efivar/efivar-types.h', 'efi_time_t', dependencies : efivar)
|
|
+ conf.set('HAVE_EFI_TIME_T', '1')
|
|
+ endif
|
|
+
|
|
efi_app_location = join_paths(libexecdir, 'fwupd', 'efi')
|
|
conf.set_quoted ('EFI_APP_LOCATION', efi_app_location)
|
|
|
|
diff --git a/plugins/uefi-capsule/fu-uefi-common.h b/plugins/uefi-capsule/fu-uefi-common.h
|
|
index c7e3996..91b6c99 100644
|
|
--- a/plugins/uefi-capsule/fu-uefi-common.h
|
|
+++ b/plugins/uefi-capsule/fu-uefi-common.h
|
|
@@ -7,6 +7,7 @@
|
|
|
|
#pragma once
|
|
|
|
+#include <efivar/efivar.h>
|
|
#include <glib.h>
|
|
|
|
#include "fwupd-common.h"
|
|
@@ -17,6 +18,7 @@
|
|
#define EFI_CAPSULE_HEADER_FLAGS_POPULATE_SYSTEM_TABLE 0x00020000
|
|
#define EFI_CAPSULE_HEADER_FLAGS_INITIATE_RESET 0x00040000
|
|
|
|
+#ifndef HAVE_EFI_TIME_T
|
|
typedef struct __attribute__((__packed__)) {
|
|
guint16 year;
|
|
guint8 month;
|
|
@@ -30,6 +32,7 @@ typedef struct __attribute__((__packed__)) {
|
|
guint8 daylight;
|
|
guint8 pad2;
|
|
} efi_time_t;
|
|
+#endif
|
|
|
|
typedef struct __attribute__((__packed__)) {
|
|
fwupd_guid_t guid;
|
|
--
|
|
2.33.0
|
|
|