Compare commits

...

2 Commits

Author SHA1 Message Date
Eduard Abdullin 837ef2387d Bump release 2024-03-07 12:06:33 +03:00
Eduard Abdullin a61b029e3d Sync with stable 2024-03-07 12:06:02 +03:00
9 changed files with 43 additions and 295 deletions

View File

@ -8,5 +8,8 @@ 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
1f06b0f236377e5100815d1367954c6bf263f4e4 SOURCES/DBXUpdate-20230509-aa64.cab
6fc53ba85dc791f16235e851f4693c6c49fbf38d SOURCES/DBXUpdate-20230509-ia32.cab
93470ea2546e4c794b5fd74ee4dd8e536420144e SOURCES/DBXUpdate-20230509-x64.cab
0abed3cf70b97366f77616b908af66f7b4ac6f1f SOURCES/fwupd-1.8.16.tar.xz
147b36f75fca288fd01d9ed4150866344d57df27 SOURCES/fwupd-efi-1.4.tar.xz

5
.gitignore vendored
View File

@ -8,5 +8,8 @@ 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/DBXUpdate-20230509-aa64.cab
SOURCES/DBXUpdate-20230509-ia32.cab
SOURCES/DBXUpdate-20230509-x64.cab
SOURCES/fwupd-1.8.16.tar.xz
SOURCES/fwupd-efi-1.4.tar.xz

View File

@ -1,110 +0,0 @@
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

@ -1,60 +0,0 @@
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

@ -1,28 +0,0 @@
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

@ -1,24 +0,0 @@
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

@ -1,46 +0,0 @@
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

Binary file not shown.

View File

@ -1,3 +1,7 @@
%global efi_vendor almalinux
%global efidir almalinux
%global efi_esp_dir /boot/efi/EFI/%{efidir}
%global glib2_version 2.45.8
%global libxmlb_version 0.1.3
%global libgusb_version 0.3.5
@ -53,19 +57,13 @@
Summary: Firmware update daemon
Name: fwupd
Version: 1.8.10
Release: 2%{?dist}.alma
Version: 1.8.16
Release: 1%{?dist}.alma.2
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.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
@ -78,7 +76,16 @@ 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
Source20: http://people.redhat.com/rhughes/dbx/DBXUpdate-20230509-aa64.cab
Source21: http://people.redhat.com/rhughes/dbx/DBXUpdate-20230509-ia32.cab
Source22: http://people.redhat.com/rhughes/dbx/DBXUpdate-20230509-x64.cab
# these are numbered high just to keep them wildly away from colliding with
# the real package sources, in order to reduce churn.
Source300: almalinuxsecurebootca0.cer
Source301: almalinuxsecurebootca0.cer
Source500: almalinuxsecurebootca0.cer
Source503: almalinuxsecurebootca0.cer
BuildRequires: gettext
BuildRequires: glib2-devel >= %{glib2_version}
@ -202,11 +209,6 @@ can be flashed using flashrom. It is probably not required on servers.
%prep
%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
@ -254,7 +256,7 @@ cd -
-Dfwupd-efi:efi_sbat_distro_summary="AlmaLinux" \
-Dfwupd-efi:efi_sbat_distro_pkgname="%{name}" \
-Dfwupd-efi:efi_sbat_distro_version="%{version}" \
-Dfwupd-efi:efi_sbat_distro_url="security@almalinux.org" \
-Dfwupd-efi:efi_sbat_distro_url="maito:security@almalinux.org" \
-Dfwupd-efi:efi-libdir="/usr/lib64" \
%endif
%else
@ -273,6 +275,7 @@ cd -
-Dplugin_modem_manager=disabled \
%endif
-Dman=true \
-Dcompat_cli=true \
-Dbluez=disabled \
-Dcbor=disabled \
-Dplugin_android_boot=disabled \
@ -298,16 +301,18 @@ cd -
# on RHEL the LVFS is disabled by default
mkdir -p %{buildroot}/%{_datadir}/dbxtool
install %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE17} %{SOURCE18} %{SOURCE19} %{buildroot}/%{_datadir}/dbxtool
install \
%{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} %{SOURCE15} \
%{SOURCE16} %{SOURCE17} %{SOURCE18} %{SOURCE19} %{SOURCE20} %{SOURCE21} %{SOURCE22} \
%{buildroot}/%{_datadir}/dbxtool
# sign fwupd.efi loader
%ifarch x86_64
%global efiarch x64
%global fwup_efi_fn $RPM_BUILD_ROOT%{_libexecdir}/fwupd/efi/fwupd%{efiarch}.efi
%pesign -s -i %{fwup_efi_fn} -o %{fwup_efi_fn}.tmp
%define __pesign_client_cert fwupd-signer
%pesign -s -i %{fwup_efi_fn}.tmp -o %{fwup_efi_fn}.signed
rm -vf %{fwup_efi_fn}.tmp
%pesign -s -i %{fwup_efi_fn} -o %{fwup_efi_fn}.tmp -a %{SOURCE300} -c %{SOURCE301} -n almalinuxsecurebootca0
%pesign -s -i %{fwup_efi_fn}.tmp -o %{fwup_efi_fn}.signed -a %{SOURCE500} -c %{SOURCE503} -n almalinuxsecurebootca0
rm -fv %{fwup_efi_fn}.tmp
%endif
mkdir -p --mode=0700 $RPM_BUILD_ROOT%{_localstatedir}/lib/fwupd/gnupg
@ -335,7 +340,7 @@ done
%systemd_postun_with_restart pesign.service
%files -f %{name}.lang
%doc README.md AUTHORS
%doc README.md
%license COPYING
%config(noreplace)%{_sysconfdir}/fwupd/daemon.conf
%if 0%{?have_uefi}
@ -385,7 +390,6 @@ done
%{_datadir}/dbus-1/system.d/org.freedesktop.fwupd.conf
%{_datadir}/bash-completion/completions/fwupdmgr
%{_datadir}/bash-completion/completions/fwupdtool
%{_datadir}/bash-completion/completions/fwupdagent
%{_datadir}/fish/vendor_completions.d/fwupdmgr.fish
%{_datadir}/fwupd/metainfo/org.freedesktop.fwupd*.metainfo.xml
%if 0%{?have_dell}
@ -407,6 +411,9 @@ done
%{_datadir}/dbxtool/DBXUpdate-20220812-aa64.cab
%{_datadir}/dbxtool/DBXUpdate-20220812-ia32.cab
%{_datadir}/dbxtool/DBXUpdate-20220812-x64.cab
%{_datadir}/dbxtool/DBXUpdate-20230509-aa64.cab
%{_datadir}/dbxtool/DBXUpdate-20230509-ia32.cab
%{_datadir}/dbxtool/DBXUpdate-20230509-x64.cab
%{_mandir}/man1/fwupdtool.1*
%{_mandir}/man1/fwupdagent.1*
%{_mandir}/man1/dfu-tool.1*
@ -434,7 +441,7 @@ done
%dir %{_datadir}/fwupd/quirks.d
%{_datadir}/fwupd/quirks.d/builtin.quirk.gz
%if 0%{?have_uefi}
%{_sysconfdir}/grub.d/35_fwupd
%config(noreplace)%{_sysconfdir}/grub.d/35_fwupd
%endif
%{_libdir}/libfwupd.so.2*
%{_libdir}/girepository-1.0/Fwupd-2.0.typelib
@ -481,15 +488,18 @@ done
%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
%config(noreplace)%{_sysconfdir}/fwupd/remotes.d/fwupd-tests.conf
%endif
%changelog
* Tue May 09 2023 Eduard Abdullin <eabdullin@almalinux.org> - 1.8.10-2.alma
- AlmaLinux changes
* Mon Oct 09 2023 Eduard Abdullin <eabdullin@almalinux.org> - 1.8.16-1.alma.1
- Use AlmaLinux cert
* Fri Jun 09 2023 Richard Hughes <richard@hughsie.com> 1.8.16-1
- Update to latest stable upstream version.
- Resolves: rhbz#2209944
* Thu Feb 02 2023 Richard Hughes <richard@hughsie.com> 1.8.10-2
- Rebuild because distrobaker did entirely the wrong thing.