diff --git a/.fwupd.metadata b/.fwupd.metadata index 4e7622e..72774da 100644 --- a/.fwupd.metadata +++ b/.fwupd.metadata @@ -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 diff --git a/.gitignore b/.gitignore index b3b2db8..fbed8bc 100644 --- a/.gitignore +++ b/.gitignore @@ -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 diff --git a/SOURCES/0001-Do-not-make-any-of-the-HWIDs-setup-failures-fatal.patch b/SOURCES/0001-Do-not-make-any-of-the-HWIDs-setup-failures-fatal.patch new file mode 100644 index 0000000..9b7c50c --- /dev/null +++ b/SOURCES/0001-Do-not-make-any-of-the-HWIDs-setup-failures-fatal.patch @@ -0,0 +1,110 @@ +From 90e5a58736645cdd37bf4c63f9a4056951dfb3f2 Mon Sep 17 00:00:00 2001 +From: Richard Hughes +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 + diff --git a/SOURCES/0001-Only-include-the-attribute-not-exported-warning-on-d.patch b/SOURCES/0001-Only-include-the-attribute-not-exported-warning-on-d.patch new file mode 100644 index 0000000..65c2246 --- /dev/null +++ b/SOURCES/0001-Only-include-the-attribute-not-exported-warning-on-d.patch @@ -0,0 +1,60 @@ +From 19db23f9b8a64597564ce1b474eb6c384a57125f Mon Sep 17 00:00:00 2001 +From: Richard Hughes +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 + diff --git a/SOURCES/0001-generate_binary-Add-NX-COMPAT-flag-manually-when-gen.patch b/SOURCES/0001-generate_binary-Add-NX-COMPAT-flag-manually-when-gen.patch new file mode 100644 index 0000000..7a096b6 --- /dev/null +++ b/SOURCES/0001-generate_binary-Add-NX-COMPAT-flag-manually-when-gen.patch @@ -0,0 +1,91 @@ +From cfd61f6958a46d5e9687f87caf04c94680382a9f Mon Sep 17 00:00:00 2001 +From: Nicolas Frayer +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( ++ " +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 + diff --git a/SOURCES/0001-trivial-Fix-build-fix-when-using-ppc64le-system.patch b/SOURCES/0001-trivial-Fix-build-fix-when-using-ppc64le-system.patch new file mode 100644 index 0000000..5fb8fa3 --- /dev/null +++ b/SOURCES/0001-trivial-Fix-build-fix-when-using-ppc64le-system.patch @@ -0,0 +1,24 @@ +From 7f427d567d497048772bad59e098528605e563ce Mon Sep 17 00:00:00 2001 +From: Richard Hughes +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 + diff --git a/SOURCES/0001-wacom-usb-Retry-set_report-on-failure.patch b/SOURCES/0001-wacom-usb-Retry-set_report-on-failure.patch new file mode 100644 index 0000000..9fc7302 --- /dev/null +++ b/SOURCES/0001-wacom-usb-Retry-set_report-on-failure.patch @@ -0,0 +1,46 @@ +From 8076090a000d4adde59fddeadb17a6f769993d1e Mon Sep 17 00:00:00 2001 +From: Jason Gerecke +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 +--- + 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 + diff --git a/SPECS/fwupd.spec b/SPECS/fwupd.spec index fda4c23..18ce194 100644 --- a/SPECS/fwupd.spec +++ b/SPECS/fwupd.spec @@ -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 - 1.7.9-1.alma +* Wed Mar 29 2023 Eduard Abdullin - 1.8.10-2.alma - AlmaLinux changes +* Thu Feb 02 2023 Richard Hughes 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 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 1.7.10-1 +- New upstream release +- Resolves: rhbz#2129280 + +* Thu Sep 01 2022 Richard Hughes 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 1.7.8-1 - New upstream release - Resolves: rhbz#2059075