Merge branch 'c9-beta' into a9-beta

This commit is contained in:
eabdullin 2023-03-29 06:31:53 +00:00 committed by Stepan Oksanichenko
commit a95d2101ef
9 changed files with 471 additions and 133 deletions

View File

@ -4,5 +4,9 @@ a5f73c606abb93bf61625e4628d27a2cd460f162 SOURCES/DBXUpdate-20160809-x64.cab
b5b2dc87daca1d3f8081a323290432c141aa405d SOURCES/DBXUpdate-20200729-aa64.cab
3fb407561768a3a2f5fb49d7738b5e0650e70810 SOURCES/DBXUpdate-20200729-ia32.cab
89db93c9d9d20f81791a262e817b99d8882c8bb0 SOURCES/DBXUpdate-20200729-x64.cab
b2919819889051bcaa089a4b7e75e30ea2d80d68 SOURCES/fwupd-1.7.9.tar.xz
1a586c3634ef190e6128351ee60fd17d0e584f7c SOURCES/fwupd-efi-1.3.tar.xz
cd2bbe591438fe893b4042dc03d30659c1e31756 SOURCES/DBXUpdate-20210429-x64.cab
d3ae610f5b6e602feded54eae8d67ddb7c60e64f SOURCES/DBXUpdate-20220812-aa64.cab
0ac8508ef7a86959e6ab03deec256b19df29677f SOURCES/DBXUpdate-20220812-ia32.cab
60f9aa664cb7588e33ce56d621dafa9b5a71e072 SOURCES/DBXUpdate-20220812-x64.cab
5e77389b263dd463de85db965d478f7182a9ea0a SOURCES/fwupd-1.8.10.tar.xz
147b36f75fca288fd01d9ed4150866344d57df27 SOURCES/fwupd-efi-1.4.tar.xz

8
.gitignore vendored
View File

@ -4,5 +4,9 @@ SOURCES/DBXUpdate-20160809-x64.cab
SOURCES/DBXUpdate-20200729-aa64.cab
SOURCES/DBXUpdate-20200729-ia32.cab
SOURCES/DBXUpdate-20200729-x64.cab
SOURCES/fwupd-1.7.9.tar.xz
SOURCES/fwupd-efi-1.3.tar.xz
SOURCES/DBXUpdate-20210429-x64.cab
SOURCES/DBXUpdate-20220812-aa64.cab
SOURCES/DBXUpdate-20220812-ia32.cab
SOURCES/DBXUpdate-20220812-x64.cab
SOURCES/fwupd-1.8.10.tar.xz
SOURCES/fwupd-efi-1.4.tar.xz

View File

@ -0,0 +1,110 @@
From 90e5a58736645cdd37bf4c63f9a4056951dfb3f2 Mon Sep 17 00:00:00 2001
From: Richard Hughes <richard@hughsie.com>
Date: Tue, 24 Jan 2023 09:52:17 +0000
Subject: [PATCH] Do not make any of the HWIDs setup failures fatal
It's perfectly okay to have no HWIDs defined.
Should help with https://github.com/fwupd/fwupd/issues/5402
---
libfwupdplugin/fu-context.c | 73 +++++++++++--------------------------
1 file changed, 21 insertions(+), 52 deletions(-)
diff --git a/libfwupdplugin/fu-context.c b/libfwupdplugin/fu-context.c
index 08618b435..11b4b1b38 100644
--- a/libfwupdplugin/fu-context.c
+++ b/libfwupdplugin/fu-context.c
@@ -767,6 +767,8 @@ fu_context_security_changed(FuContext *self)
g_signal_emit(self, signals[SIGNAL_SECURITY_CHANGED], 0);
}
+typedef gboolean (*FuContextHwidsSetupFunc)(FuContext *self, FuHwids *hwids, GError **error);
+
/**
* fu_context_load_hwinfo:
* @self: a #FuContext
@@ -786,62 +788,29 @@ fu_context_load_hwinfo(FuContext *self, FuContextHwidFlags flags, GError **error
GPtrArray *guids;
g_autoptr(GError) error_hwids = NULL;
g_autoptr(GError) error_bios_settings = NULL;
+ struct {
+ const gchar *name;
+ FuContextHwidFlags flag;
+ FuContextHwidsSetupFunc func;
+ } hwids_setup_map[] = {{"config", FU_CONTEXT_HWID_FLAG_LOAD_CONFIG, fu_hwids_config_setup},
+ {"smbios", FU_CONTEXT_HWID_FLAG_LOAD_SMBIOS, fu_hwids_smbios_setup},
+ {"fdt", FU_CONTEXT_HWID_FLAG_LOAD_FDT, fu_hwids_fdt_setup},
+ {"kenv", FU_CONTEXT_HWID_FLAG_LOAD_KENV, fu_hwids_kenv_setup},
+ {"dmi", FU_CONTEXT_HWID_FLAG_LOAD_DMI, fu_hwids_dmi_setup},
+ {NULL, FU_CONTEXT_HWID_FLAG_NONE, NULL}};
g_return_val_if_fail(FU_IS_CONTEXT(self), FALSE);
g_return_val_if_fail(error == NULL || *error == NULL, FALSE);
- if ((flags & FU_CONTEXT_HWID_FLAG_LOAD_CONFIG) > 0) {
- g_autoptr(GError) error_local = NULL;
- if (!fu_hwids_config_setup(self, priv->hwids, &error_local)) {
- if (!g_error_matches(error_local, FWUPD_ERROR, FWUPD_ERROR_NOT_SUPPORTED)) {
- g_propagate_prefixed_error(error,
- g_steal_pointer(&error_local),
- "Failed to load HWIDs config: ");
- return FALSE;
- }
- }
- }
- if ((flags & FU_CONTEXT_HWID_FLAG_LOAD_DMI) > 0) {
- g_autoptr(GError) error_local = NULL;
- if (!fu_hwids_dmi_setup(self, priv->hwids, &error_local)) {
- if (!g_error_matches(error_local, FWUPD_ERROR, FWUPD_ERROR_NOT_SUPPORTED)) {
- g_propagate_prefixed_error(error,
- g_steal_pointer(&error_local),
- "Failed to load HWIDs DMI: ");
- return FALSE;
- }
- }
- }
- if ((flags & FU_CONTEXT_HWID_FLAG_LOAD_FDT) > 0) {
- g_autoptr(GError) error_local = NULL;
- if (!fu_hwids_fdt_setup(self, priv->hwids, &error_local)) {
- if (!g_error_matches(error_local, FWUPD_ERROR, FWUPD_ERROR_NOT_SUPPORTED)) {
- g_propagate_prefixed_error(error,
- g_steal_pointer(&error_local),
- "Failed to load HWIDs FDT: ");
- return FALSE;
- }
- }
- }
- if ((flags & FU_CONTEXT_HWID_FLAG_LOAD_KENV) > 0) {
- g_autoptr(GError) error_local = NULL;
- if (!fu_hwids_kenv_setup(self, priv->hwids, &error_local)) {
- if (!g_error_matches(error_local, FWUPD_ERROR, FWUPD_ERROR_NOT_SUPPORTED)) {
- g_propagate_prefixed_error(error,
- g_steal_pointer(&error_local),
- "Failed to load HWIDs kenv: ");
- return FALSE;
- }
- }
- }
- if ((flags & FU_CONTEXT_HWID_FLAG_LOAD_SMBIOS) > 0) {
- g_autoptr(GError) error_local = NULL;
- if (!fu_hwids_smbios_setup(self, priv->hwids, &error_local)) {
- if (!g_error_matches(error_local, FWUPD_ERROR, FWUPD_ERROR_NOT_SUPPORTED)) {
- g_propagate_prefixed_error(error,
- g_steal_pointer(&error_local),
- "Failed to load SMBIOS: ");
- return FALSE;
+ /* run all the HWID setup funcs */
+ for (guint i = 0; hwids_setup_map[i].name != NULL; i++) {
+ if ((flags & hwids_setup_map[i].flag) > 0) {
+ g_autoptr(GError) error_local = NULL;
+ if (!hwids_setup_map[i].func(self, priv->hwids, &error_local)) {
+ g_debug("failed to load %s: %s",
+ hwids_setup_map[i].name,
+ error_local->message);
+ break;
}
}
}
--
2.39.1

View File

@ -0,0 +1,60 @@
From 19db23f9b8a64597564ce1b474eb6c384a57125f Mon Sep 17 00:00:00 2001
From: Richard Hughes <richard@hughsie.com>
Date: Wed, 2 Nov 2022 09:31:53 +0000
Subject: [PATCH] Only include the 'attribute not exported' warning on debug
builds
End users are not really capable of fixing the root issue, and people seem
overly worried that something bad has gone wrong.
Fixes https://github.com/fwupd/fwupd/issues/5077
---
libfwupdplugin/fu-bios-settings.c | 2 +-
libfwupdplugin/fu-self-test.c | 2 ++
plugins/lenovo-thinklmi/fu-self-test.c | 2 ++
3 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/libfwupdplugin/fu-bios-settings.c b/libfwupdplugin/fu-bios-settings.c
index 6151c8289..8ea1269d7 100644
--- a/libfwupdplugin/fu-bios-settings.c
+++ b/libfwupdplugin/fu-bios-settings.c
@@ -276,7 +276,7 @@ fu_bios_setting_set_type(FuBiosSettings *self, FwupdBiosSetting *attr, GError **
/* lenovo thinklmi seems to be missing it even though it's mandatory :/ */
if (!fu_bios_setting_get_key(attr, "type", &data, &error_key)) {
-#if GLIB_CHECK_VERSION(2, 64, 0)
+#if GLIB_CHECK_VERSION(2, 64, 0) && !defined(SUPPORTED_BUILD)
g_warning_once("KERNEL BUG: 'type' attribute not exported: (%s)",
error_key->message);
#else
diff --git a/libfwupdplugin/fu-self-test.c b/libfwupdplugin/fu-self-test.c
index c105fa271..c670b3a80 100644
--- a/libfwupdplugin/fu-self-test.c
+++ b/libfwupdplugin/fu-self-test.c
@@ -3117,7 +3117,9 @@ fu_bios_settings_load_func(void)
test_dir = g_test_build_filename(G_TEST_DIST, "tests", "bios-attrs", "lenovo-p620", NULL);
(void)g_setenv("FWUPD_SYSFSFWATTRIBDIR", test_dir, TRUE);
+#if GLIB_CHECK_VERSION(2, 64, 0) && !defined(SUPPORTED_BUILD)
g_test_expect_message("FuBiosSettings", G_LOG_LEVEL_WARNING, "*BUG*");
+#endif
ret = fu_context_reload_bios_settings(ctx, &error);
g_assert_no_error(error);
g_assert_true(ret);
diff --git a/plugins/lenovo-thinklmi/fu-self-test.c b/plugins/lenovo-thinklmi/fu-self-test.c
index 4777a2ae1..9e20a8cf5 100644
--- a/plugins/lenovo-thinklmi/fu-self-test.c
+++ b/plugins/lenovo-thinklmi/fu-self-test.c
@@ -39,7 +39,9 @@ fu_test_self_init(FuTest *self, GError **error_global)
g_autoptr(FuProgress) progress = fu_progress_new(G_STRLOC);
g_autoptr(GError) error = NULL;
+#if GLIB_CHECK_VERSION(2, 64, 0) && !defined(SUPPORTED_BUILD)
g_test_expect_message("FuBiosSettings", G_LOG_LEVEL_WARNING, "*KERNEL*BUG*");
+#endif
ret = fu_context_load_quirks(ctx,
FU_QUIRKS_LOAD_FLAG_NO_CACHE | FU_QUIRKS_LOAD_FLAG_NO_VERIFY,
--
2.39.1

View File

@ -0,0 +1,91 @@
From cfd61f6958a46d5e9687f87caf04c94680382a9f Mon Sep 17 00:00:00 2001
From: Nicolas Frayer <nfrayer@redhat.com>
Date: Wed, 1 Feb 2023 12:13:45 +0100
Subject: [PATCH] generate_binary: Add NX COMPAT flag manually when genpeimg
missing
When genpeimg or python3-pefile is missing, add the NX COMPAT flag
manually by setting bit8 of the DllCharacteristics in the optional
header, clear the TimeDateStamp and update the checksum.
---
efi/generate_binary.py | 50 ++++++++++++++++++++++++++++++++++++++++--
1 file changed, 48 insertions(+), 2 deletions(-)
diff --git a/efi/generate_binary.py b/efi/generate_binary.py
index 7b802e7..10ab0b3 100755
--- a/efi/generate_binary.py
+++ b/efi/generate_binary.py
@@ -10,6 +10,13 @@
import subprocess
import sys
import argparse
+import os
+import struct
+
+COFF_HDR_OFFSET = 0x80
+OPTIONALHDR_CHECKSUM = COFF_HDR_OFFSET + 0x58
+OPTIONALHDR_DLLCHARACTERISTICS = COFF_HDR_OFFSET + 0x5E
+PEHEADER_TIMEDATASTAMP = COFF_HDR_OFFSET + 0x8
def _run_objcopy(args):
@@ -66,6 +73,27 @@ def _run_genpeimg(args):
sys.exit(1)
+def generate_checksum(data):
+ checksum_offset: int = OPTIONALHDR_CHECKSUM
+ checksum: int = 0
+ remainder: int = len(data) % 4
+ data_len: int = len(data) + ((4 - remainder) * (remainder != 0))
+ for i in range(int(data_len / 4)):
+ if i == int(checksum_offset / 4):
+ continue
+ if i + 1 == (int(data_len / 4)) and remainder:
+ dword = struct.unpack("I", data[i * 4 :] + (b"\0" * (4 - remainder)))[0]
+ else:
+ dword = struct.unpack("I", data[i * 4 : i * 4 + 4])[0]
+ checksum += dword
+ if checksum >= 2**32:
+ checksum = (checksum & 0xFFFFFFFF) + (checksum >> 32)
+ checksum = (checksum & 0xFFFF) + (checksum >> 16)
+ checksum = checksum + (checksum >> 16)
+ checksum = checksum & 0xFFFF
+ return checksum + len(data)
+
+
def _add_nx_pefile(args):
# unnecessary if we have genpeimg
if args.genpeimg:
@@ -73,8 +101,26 @@ def _add_nx_pefile(args):
try:
import pefile
except ImportError:
- print("Unable to add NX support to binaries without genpeimg or python3-pefile")
- sys.exit(1)
+ print("Adding NX support manually to the binary")
+ with open(args.outfile, "r+b") as fh:
+ buf = bytearray(fh.read(os.path.getsize(args.outfile)))
+ fh.seek(0)
+ DllCharacteristics = struct.unpack_from(
+ "<H", buf, OPTIONALHDR_DLLCHARACTERISTICS
+ )[0]
+ DllCharacteristics |= 0x100
+ struct.pack_into(
+ "<H", buf, OPTIONALHDR_DLLCHARACTERISTICS, DllCharacteristics
+ )
+
+ # set the timestamp to 0
+ struct.pack_into("<I", buf, PEHEADER_TIMEDATASTAMP, 0x0)
+
+ # as we have set the NX COMPAT bit, regenerate the checksum
+ struct.pack_into("<I", buf, OPTIONALHDR_CHECKSUM, generate_checksum(buf))
+ fh.write(buf)
+
+ return
pe = pefile.PE(args.outfile)
pe.OPTIONAL_HEADER.DllCharacteristics |= pefile.DLL_CHARACTERISTICS[
--
2.39.1

View File

@ -0,0 +1,28 @@
From af5fb429c8e726d1d7455b2d0e5d4263edbd4290 Mon Sep 17 00:00:00 2001
From: Ivan Mikhanchuk <ivanmikh@pm.me>
Date: Tue, 24 Jan 2023 17:06:09 -0800
Subject: [PATCH] modem-manager: remove improper use of assert
FuSaharaLoader being NULL is normal for devices that only
support Firehose and don't use Sahara QDL port.
---
plugins/modem-manager/fu-sahara-loader.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/plugins/modem-manager/fu-sahara-loader.c b/plugins/modem-manager/fu-sahara-loader.c
index 89c620fbe..78f24036f 100644
--- a/plugins/modem-manager/fu-sahara-loader.c
+++ b/plugins/modem-manager/fu-sahara-loader.c
@@ -206,7 +206,8 @@ fu_sahara_loader_close(FuSaharaLoader *self, GError **error)
gboolean
fu_sahara_loader_qdl_is_open(FuSaharaLoader *self)
{
- g_return_val_if_fail(self != NULL, FALSE);
+ if (self == NULL)
+ return FALSE;
return fu_usb_device_is_open(self->usb_device);
}
--
2.39.1

View File

@ -0,0 +1,24 @@
From 7f427d567d497048772bad59e098528605e563ce Mon Sep 17 00:00:00 2001
From: Richard Hughes <richard@hughsie.com>
Date: Mon, 23 Jan 2023 11:22:43 +0000
Subject: [PATCH] trivial: Fix build fix when using ppc64le system
---
src/meson.build | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/meson.build b/src/meson.build
index b9f6736f2..f3ca734ee 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -197,6 +197,7 @@ plugins_hdr = custom_target('fwupd-generate-plugins-header',
fwupdengine = library(
'fwupdengine',
resources_src,
+ plugins_hdr,
sources: fwupd_engine_src,
install: true,
install_rpath: libdir_pkg,
--
2.39.1

View File

@ -0,0 +1,46 @@
From 8076090a000d4adde59fddeadb17a6f769993d1e Mon Sep 17 00:00:00 2001
From: Jason Gerecke <killertofu@gmail.com>
Date: Tue, 17 Jan 2023 14:24:14 -0800
Subject: [PATCH] wacom-usb: Retry set_report on failure
Sometimes the flash process will randomly hang and time-out when sending
data to the device. We currently do not use any retry logic, so if this
happens the flash attempt is treated as a failure. This can be a source
of worry or frustration, especially if subsequent manual retries fail
in a similar way.
Adding FU_HID_DEVICE_FLAG_RETRY_FAILURE to the list of flags used when
calling fu_hid_device_set_report allows fwupd to try sending a block
multiple times if such a time-out (or other error) occurs. This makes
the flash process less prone to failure.
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
---
plugins/wacom-usb/fu-wac-device.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/plugins/wacom-usb/fu-wac-device.c b/plugins/wacom-usb/fu-wac-device.c
index 9162d19a9..714761b1e 100644
--- a/plugins/wacom-usb/fu-wac-device.c
+++ b/plugins/wacom-usb/fu-wac-device.c
@@ -182,7 +182,8 @@ fu_wac_device_set_feature_report(FuWacDevice *self,
buf,
bufsz,
FU_WAC_DEVICE_TIMEOUT,
- flags | FU_HID_DEVICE_FLAG_IS_FEATURE,
+ flags | FU_HID_DEVICE_FLAG_IS_FEATURE |
+ FU_HID_DEVICE_FLAG_RETRY_FAILURE,
error);
}
@@ -920,6 +921,7 @@ fu_wac_device_init(FuWacDevice *self)
fu_device_set_install_duration(FU_DEVICE(self), 10);
fu_device_set_remove_delay(FU_DEVICE(self), FU_DEVICE_REMOVE_DELAY_RE_ENUMERATE);
fu_device_set_firmware_gtype(FU_DEVICE(self), FU_TYPE_WAC_FIRMWARE);
+ fu_device_retry_set_delay(FU_DEVICE(self), 30); /* ms */
}
static void
--
2.39.1

View File

@ -10,7 +10,6 @@
%global libjcat_version 0.1.0
%global systemd_version 231
%global json_glib_version 1.1.1
%global fwupdplugin_version 5
# although we ship a few tiny python files these are utilities that 99.99%
# of users do not need -- use this to avoid dragging python onto CoreOS
@ -28,6 +27,11 @@
%global have_uefi 1
%endif
# gpio.h is only available on these arches
%ifarch x86_64 aarch64
%global have_gpio 1
%endif
# flashrom is only available on these arches
%ifarch i686 x86_64 armv7hl aarch64 ppc64le
%global have_flashrom 1
@ -42,6 +46,11 @@
%global have_dell 1
%endif
# Until we actually have seen it outside x86
%ifarch i686 x86_64
%global have_thunderbolt 1
%endif
# only available recently
%if 0%{?fedora} >= 30
%global have_modem_manager 1
@ -49,12 +58,20 @@
Summary: Firmware update daemon
Name: fwupd
Version: 1.7.9
Release: 1%{?dist}
Version: 1.8.10
Release: 2%{?dist}
License: LGPLv2+
URL: https://github.com/fwupd/fwupd
Source0: http://people.freedesktop.org/~hughsient/releases/%{name}-%{version}.tar.xz
Source2: http://people.freedesktop.org/~hughsient/releases/fwupd-efi-1.3.tar.xz
Source2: http://people.freedesktop.org/~hughsient/releases/fwupd-efi-1.4.tar.xz
Patch1: 0001-trivial-Fix-build-fix-when-using-ppc64le-system.patch
Patch2: 0001-Only-include-the-attribute-not-exported-warning-on-d.patch
Patch3: 0001-Do-not-make-any-of-the-HWIDs-setup-failures-fatal.patch
Patch4: 0001-modem-manager-remove-improper-use-of-assert.patch
Patch5: 0001-wacom-usb-Retry-set_report-on-failure.patch
Patch101: 0001-generate_binary-Add-NX-COMPAT-flag-manually-when-gen.patch
Source10: http://people.redhat.com/rhughes/dbx/DBXUpdate-20100307-x64.cab
Source11: http://people.redhat.com/rhughes/dbx/DBXUpdate-20140413-x64.cab
@ -62,6 +79,10 @@ Source12: http://people.redhat.com/rhughes/dbx/DBXUpdate-20160809-x64.cab
Source13: http://people.redhat.com/rhughes/dbx/DBXUpdate-20200729-aa64.cab
Source14: http://people.redhat.com/rhughes/dbx/DBXUpdate-20200729-ia32.cab
Source15: http://people.redhat.com/rhughes/dbx/DBXUpdate-20200729-x64.cab
Source16: http://people.redhat.com/rhughes/dbx/DBXUpdate-20210429-x64.cab
Source17: http://people.redhat.com/rhughes/dbx/DBXUpdate-20220812-aa64.cab
Source18: http://people.redhat.com/rhughes/dbx/DBXUpdate-20220812-ia32.cab
Source19: http://people.redhat.com/rhughes/dbx/DBXUpdate-20220812-x64.cab
# these are numbered high just to keep them wildly away from colliding with
# the real package sources, in order to reduce churn.
@ -89,7 +110,6 @@ BuildRequires: gcab
BuildRequires: valgrind
BuildRequires: valgrind-devel
%endif
BuildRequires: gtk-doc
BuildRequires: gnutls-devel
BuildRequires: gnutls-utils
BuildRequires: meson
@ -132,7 +152,6 @@ Requires(postun): systemd
Requires: glib2%{?_isa} >= %{glib2_version}
Requires: libxmlb%{?_isa} >= %{libxmlb_version}
Requires: libgusb%{?_isa} >= %{libgusb_version}
Requires: bubblewrap
Requires: shared-mime-info
Obsoletes: fwupd-sign < 0.1.6
@ -193,15 +212,23 @@ can be flashed using flashrom. It is probably not required on servers.
%endif
%prep
%autosetup -p1
%setup -q
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
mkdir -p subprojects/fwupd-efi
tar xfvs %{SOURCE2} -C subprojects/fwupd-efi --strip-components=1
cd subprojects/fwupd-efi
%patch101 -p1
cd -
%build
%meson \
-Ddocs=gtkdoc \
-Ddocs=disabled \
-Dlvfs=disabled \
%if 0%{?enable_tests}
-Dtests=true \
@ -214,19 +241,24 @@ tar xfvs %{SOURCE2} -C subprojects/fwupd-efi --strip-components=1
-Dplugin_dummy=false \
%endif
%if 0%{?have_flashrom}
-Dplugin_flashrom=true \
-Dplugin_flashrom=enabled \
%else
-Dplugin_flashrom=false \
-Dplugin_flashrom=disabled \
%endif
%if 0%{?have_msr}
-Dplugin_msr=true \
-Dplugin_msr=enabled \
%else
-Dplugin_msr=false \
-Dplugin_msr=disabled \
%endif
%if 0%{?have_gpio}
-Dplugin_gpio=enabled \
%else
-Dplugin_gpio=disabled \
%endif
-Dplugin_thunderbolt=true \
%if 0%{?have_uefi}
-Dplugin_uefi_capsule=true \
-Dplugin_uefi_pk=true \
-Dplugin_uefi_capsule=enabled \
-Dplugin_uefi_pk=enabled \
-Dplugin_tpm=enabled \
-Defi_os_dir=%{efi_vendor} \
%ifarch x86_64
-Dfwupd-efi:efi_sbat_distro_id="almalinux" \
@ -236,33 +268,34 @@ tar xfvs %{SOURCE2} -C subprojects/fwupd-efi --strip-components=1
-Dfwupd-efi:efi_sbat_distro_url="maito:security@almalinux.org" \
-Dfwupd-efi:efi-libdir="/usr/lib64" \
%endif
-Dplugin_tpm=true \
%else
-Dplugin_uefi_capsule=false \
-Dplugin_uefi_pk=false \
-Dplugin_tpm=false \
-Dplugin_uefi_capsule=disabled \
-Dplugin_uefi_pk=disabled \
-Dplugin_tpm=disabled \
%endif
%if 0%{?have_dell}
-Dplugin_dell=true \
-Dplugin_synaptics_mst=true \
-Dplugin_dell=enabled \
%else
-Dplugin_dell=false \
-Dplugin_synaptics_mst=false \
-Dplugin_dell=disabled \
%endif
%if 0%{?have_modem_manager}
-Dplugin_modem_manager=true \
-Dplugin_modem_manager=enabled \
%else
-Dplugin_modem_manager=false \
-Dplugin_modem_manager=disabled \
%endif
-Dplugin_logitech_bulkcontroller=false \
-Dman=true \
-Dbluez=false \
-Dplugin_cfu=false \
-Dplugin_mtd=false \
-Dplugin_powerd=false \
-Dplugin_uf2=false \
-Dplugin_gpio=false \
-Dsupported_build=true
-Dbluez=disabled \
-Dcbor=disabled \
-Dplugin_android_boot=disabled \
-Dplugin_cfu=disabled \
-Dplugin_igsc=disabled \
-Dplugin_intel_me=disabled \
-Dplugin_logitech_bulkcontroller=disabled \
-Dplugin_logitech_scribe=disabled \
-Dplugin_mtd=disabled \
-Dplugin_powerd=disabled \
-Dplugin_uf2=disabled \
-Dsupported_build=enabled
%meson_build
@ -276,7 +309,7 @@ tar xfvs %{SOURCE2} -C subprojects/fwupd-efi --strip-components=1
# on RHEL the LVFS is disabled by default
mkdir -p %{buildroot}/%{_datadir}/dbxtool
install %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} %{SOURCE15} %{buildroot}/%{_datadir}/dbxtool
install %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE17} %{SOURCE18} %{SOURCE19} %{buildroot}/%{_datadir}/dbxtool
# sign fwupd.efi loader
%ifarch x86_64
@ -319,7 +352,9 @@ done
%config(noreplace)%{_sysconfdir}/fwupd/uefi_capsule.conf
%endif
%config(noreplace)%{_sysconfdir}/fwupd/redfish.conf
%if 0%{?have_thunderbolt}
%config(noreplace)%{_sysconfdir}/fwupd/thunderbolt.conf
%endif
%dir %{_libexecdir}/fwupd
%{_libexecdir}/fwupd/fwupd
%ifarch i686 x86_64
@ -341,6 +376,8 @@ done
%{_bindir}/fwupdtool
%{_bindir}/fwupdagent
%dir %{_sysconfdir}/fwupd
%dir %{_sysconfdir}/fwupd/bios-settings.d
%{_sysconfdir}/fwupd/bios-settings.d/README.md
%dir %{_sysconfdir}/fwupd/remotes.d
%if 0%{?have_dell}
%config(noreplace)%{_sysconfdir}/fwupd/remotes.d/dell-esrt.conf
@ -376,6 +413,10 @@ done
%{_datadir}/dbxtool/DBXUpdate-20200729-aa64.cab
%{_datadir}/dbxtool/DBXUpdate-20200729-ia32.cab
%{_datadir}/dbxtool/DBXUpdate-20200729-x64.cab
%{_datadir}/dbxtool/DBXUpdate-20210429-x64.cab
%{_datadir}/dbxtool/DBXUpdate-20220812-aa64.cab
%{_datadir}/dbxtool/DBXUpdate-20220812-ia32.cab
%{_datadir}/dbxtool/DBXUpdate-20220812-x64.cab
%{_mandir}/man1/fwupdtool.1*
%{_mandir}/man1/fwupdagent.1*
%{_mandir}/man1/dfu-tool.1*
@ -401,111 +442,25 @@ done
%dir %{_localstatedir}/lib/fwupd
%dir %{_localstatedir}/cache/fwupd
%dir %{_datadir}/fwupd/quirks.d
%{_datadir}/fwupd/quirks.d/*.quirk
%{_datadir}/doc/fwupd/builder/README.md
%{_datadir}/fwupd/quirks.d/builtin.quirk.gz
%if 0%{?have_uefi}
%{_sysconfdir}/grub.d/35_fwupd
%endif
%{_libdir}/libfwupd.so.2*
%{_libdir}/libfwupdplugin.so.%{fwupdplugin_version}*
%{_libdir}/girepository-1.0/Fwupd-2.0.typelib
%{_libdir}/girepository-1.0/FwupdPlugin-1.0.typelib
/usr/lib/udev/rules.d/*.rules
/usr/lib/systemd/system-shutdown/fwupd.shutdown
%dir %{_libdir}/fwupd-plugins-%{fwupdplugin_version}
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_acpi_dmar.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_acpi_facp.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_acpi_phat.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_amt.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_analogix.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_ata.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_bcm57xx.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_ccgx.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_colorhug.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_cros_ec.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_cpu.so
%if 0%{?have_dell}
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_dell.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_dell_esrt.so
%endif
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_dell_dock.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_dfu.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_dfu_csr.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_ebitdo.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_elantp.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_elanfp.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_emmc.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_ep963x.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_fastboot.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_fresco_pd.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_genesys.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_hailuck.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_iommu.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_jabra.so
%if 0%{?have_uefi}
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_lenovo_thinklmi.so
%endif
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_linux_lockdown.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_linux_sleep.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_linux_swap.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_linux_tainted.so
%if 0%{?have_msr}
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_msr.so
%endif
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_nitrokey.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_nordic_hid.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_nvme.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_optionrom.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_parade_lspcon.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_pci_bcr.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_pci_mei.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_pixart_rf.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_realtek_mst.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_redfish.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_rts54hid.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_rts54hub.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_scsi.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_steelseries.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_superio.so
%if 0%{?have_dell}
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_synaptics_mst.so
%endif
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_synaptics_cape.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_synaptics_cxaudio.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_synaptics_prometheus.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_synaptics_rmi.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_system76_launch.so
%if 0%{?enable_dummy}
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_test.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_invalid.so
%endif
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_thelio_io.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_thunderbolt.so
%if 0%{?have_uefi}
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_tpm.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_bios.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_uefi_capsule.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_uefi_dbx.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_uefi_pk.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_uefi_recovery.so
%endif
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_usi_dock.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_logind.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_logitech_hidpp.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_upower.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_vli.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_wacom_raw.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_wacom_usb.so
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_goodixmoc.so
%dir %{_libdir}/fwupd-%{version}
%{_libdir}/fwupd-%{version}/libfwupd*.so
%ghost %{_localstatedir}/lib/fwupd/gnupg
%if 0%{?have_modem_manager}
%files plugin-modem-manager
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_modem_manager.so
%{_libdir}/fwupd-%{version}/libfu_plugin_modem_manager.so
%endif
%if 0%{?have_flashrom}
%files plugin-flashrom
%{_libdir}/fwupd-plugins-%{fwupdplugin_version}/libfu_plugin_flashrom.so
%{_libdir}/fwupd-%{version}/libfu_plugin_flashrom.so
%endif
%if 0%{?have_uefi}
%{_datadir}/fwupd/uefi-capsule-ux.tar.xz
@ -513,28 +468,29 @@ done
%files devel
%{_datadir}/gir-1.0/Fwupd-2.0.gir
%{_datadir}/gir-1.0/FwupdPlugin-1.0.gir
%{_datadir}/gtk-doc/html/fwupd
%{_datadir}/vala/vapi
%{_includedir}/fwupd-1
%{_libdir}/libfwupd*.so
%{_libdir}/pkgconfig/fwupd.pc
%{_libdir}/pkgconfig/fwupdplugin.pc
%if 0%{?have_uefi}
%{_libdir}/pkgconfig/fwupd-efi.pc
%endif
%files tests
%if 0%{?enable_tests}
%{_datadir}/fwupd/host-emulate.d/*.json.gz
%dir %{_datadir}/installed-tests/fwupd
%{_datadir}/installed-tests/fwupd/tests/*
%{_datadir}/installed-tests/fwupd/fwupd-tests.xml
%{_datadir}/installed-tests/fwupd/*.test
%{_datadir}/installed-tests/fwupd/*.cab
%{_datadir}/installed-tests/fwupd/*.sh
%{_datadir}/installed-tests/fwupd/*.zip
%if 0%{?have_uefi}
%{_datadir}/installed-tests/fwupd/efi
%endif
%{_datadir}/installed-tests/fwupd/chassis_type
%{_datadir}/installed-tests/fwupd/sys_vendor
%{_datadir}/fwupd/device-tests/*.json
%{_libexecdir}/installed-tests/fwupd/*
%dir %{_sysconfdir}/fwupd/remotes.d
@ -542,9 +498,24 @@ done
%endif
%changelog
* Fri Oct 14 2022 Eduard Abdullin <eabdullin@almalinux.org> - 1.7.9-1.alma
* Wed Mar 29 2023 Eduard Abdullin <eabdullin@almalinux.org> - 1.8.10-2.alma
- AlmaLinux changes
* Thu Feb 02 2023 Richard Hughes <richard@hughsie.com> 1.8.10-2
- Rebuild because distrobaker did entirely the wrong thing.
- Resolves: rhbz#2128384, needed for rhbz#2119436 and rhbz#2128384
* Fri Jan 27 2023 Richard Hughes <richard@hughsie.com> 1.8.10-1
- Rebase to latest upstream release to fix multiple ESP detection problems
- Resolves: rhbz#2128384, needed for rhbz#2119436 and rhbz#2128384
* Fri Sep 23 2022 Richard Hughes <richard@hughsie.com> 1.7.10-1
- New upstream release
- Resolves: rhbz#2129280
* Thu Sep 01 2022 Richard Hughes <rhughes@redhat.com> 1.7.9-2
- Include the new dbx updates on the filesystem; clients typically do not have LVFS enabled.
- Resolves: rhbz#2120708
* Mon Jul 25 2022 Richard Hughes <richard@hughsie.com> 1.7.8-1
- New upstream release
- Resolves: rhbz#2059075