git: 9e777fa9dfe2 - main - sysutils/fwupd: Update to 2.1.8

From: Bernhard Froehlich <decke_at_FreeBSD.org>
Date: Sat, 26 Sep 2026 19:19:15 UTC
The branch main has been updated by decke:

URL: https://cgit.FreeBSD.org/ports/commit/?id=9e777fa9dfe2e4e83921b3f13fd6f8ef06f1298e

commit 9e777fa9dfe2e4e83921b3f13fd6f8ef06f1298e
Author:     Bernhard Froehlich <decke@FreeBSD.org>
AuthorDate: 2026-09-26 19:16:09 +0000
Commit:     Bernhard Froehlich <decke@FreeBSD.org>
CommitDate: 2026-09-26 19:16:09 +0000

    sysutils/fwupd: Update to 2.1.8
    
    This also fixes some failing testcases on FreeBSD and I've regenerated
    all patchfiles which is very noisy.
---
 sysutils/fwupd/Makefile                            |  5 +-
 sysutils/fwupd/distinfo                            |  6 +-
 .../files/patch-libfwupdplugin_fu-common-freebsd.c |  5 +-
 ...-libfwupdplugin_fu-efi-hard-drive-device-path.c |  4 +-
 .../patch-libfwupdplugin_fu-freebsd-efivars.c      | 41 +++++++++-
 .../fwupd/files/patch-libfwupdplugin_fu-kernel.c   |  4 +-
 .../files/patch-libfwupdplugin_fu-uefi-device.c    |  4 +-
 .../fwupd/files/patch-libfwupdplugin_meson.build   |  4 +-
 sysutils/fwupd/files/patch-meson.build             |  4 +-
 .../fwupd/files/patch-plugins_focal-fp_meson.build |  6 +-
 .../files/patch-plugins_nordic-hid_meson.build     |  6 +-
 .../fwupd/files/patch-src_fu-usb-backend-test.c    | 14 ++++
 sysutils/fwupd/pkg-plist                           | 92 ++++++++++++----------
 13 files changed, 128 insertions(+), 67 deletions(-)

diff --git a/sysutils/fwupd/Makefile b/sysutils/fwupd/Makefile
index 2dd3d73fe320..9ae5a6306ab2 100644
--- a/sysutils/fwupd/Makefile
+++ b/sysutils/fwupd/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	fwupd
-DISTVERSION=	2.1.7
+DISTVERSION=	2.1.8
 CATEGORIES=	sysutils
 
 MAINTAINER=	decke@FreeBSD.org
@@ -33,6 +33,9 @@ RUN_DEPENDS=	blkid:filesystems/libblkid \
 		${LOCALBASE}/libdata/pkgconfig/fwupd-efi.pc:sysutils/fwupd-efi \
 		valgrind>0:devel/valgrind
 
+NOT_FOR_ARCHS=	i386 powerpc powerpc64 powerpc64le
+NOT_FOR_ARCHS_REASON=	requires libefivar from base, which is not built on this architecture
+
 USES=		cmake:indirect cpe gettext gnome inotify libarchive meson pkgconfig python readline shebangfix sqlite vala:build
 USE_GITHUB=	yes
 USE_GNOME=	glib20 introspection:build
diff --git a/sysutils/fwupd/distinfo b/sysutils/fwupd/distinfo
index db58517ae778..2d5bae9c725e 100644
--- a/sysutils/fwupd/distinfo
+++ b/sysutils/fwupd/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1785496219
-SHA256 (fwupd-fwupd-2.1.7_GH0.tar.gz) = 338ea5b139f9a37447ff2215d0a8d2cf23851fb5a39fba7b1b0ded52a40240cc
-SIZE (fwupd-fwupd-2.1.7_GH0.tar.gz) = 7127883
+TIMESTAMP = 1790409835
+SHA256 (fwupd-fwupd-2.1.8_GH0.tar.gz) = 29ce4c6d7c5211f487474219474b422132b58f03adedf826816b9c8cce129274
+SIZE (fwupd-fwupd-2.1.8_GH0.tar.gz) = 7183659
diff --git a/sysutils/fwupd/files/patch-libfwupdplugin_fu-common-freebsd.c b/sysutils/fwupd/files/patch-libfwupdplugin_fu-common-freebsd.c
index 3cba70626651..6fa5bb0a96c8 100644
--- a/sysutils/fwupd/files/patch-libfwupdplugin_fu-common-freebsd.c
+++ b/sysutils/fwupd/files/patch-libfwupdplugin_fu-common-freebsd.c
@@ -1,4 +1,4 @@
---- libfwupdplugin/fu-common-freebsd.c.orig	2026-03-12 10:08:33 UTC
+--- libfwupdplugin/fu-common-freebsd.c.orig	2026-07-27 15:39:53 UTC
 +++ libfwupdplugin/fu-common-freebsd.c
 @@ -14,6 +14,7 @@
  
@@ -8,7 +8,7 @@
  
  /* bsdisks doesn't provide Manager object */
  #define UDISKS_DBUS_PATH	      "/org/freedesktop/UDisks2"
-@@ -122,9 +123,49 @@ fu_common_get_olson_timezone_id_impl(FuPathStore *psto
+@@ -122,9 +123,50 @@ fu_common_get_olson_timezone_id_impl(FuPathStore *psto
  gchar *
  fu_common_get_olson_timezone_id_impl(FuPathStore *pstore, GError **error)
  {
@@ -21,6 +21,7 @@
 +
 +	/* use the last two sections of the symlink target */
 +	g_debug("looking for timezone file %s", fn_localtime);
++	file_localtime = g_file_new_for_path(fn_localtime);
 +	if (g_file_query_file_type(file_localtime, G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, NULL) ==
 +	    G_FILE_TYPE_SYMBOLIC_LINK) {
 +		const gchar *target;
diff --git a/sysutils/fwupd/files/patch-libfwupdplugin_fu-efi-hard-drive-device-path.c b/sysutils/fwupd/files/patch-libfwupdplugin_fu-efi-hard-drive-device-path.c
index 2570fd064433..d1b0ec53e769 100644
--- a/sysutils/fwupd/files/patch-libfwupdplugin_fu-efi-hard-drive-device-path.c
+++ b/sysutils/fwupd/files/patch-libfwupdplugin_fu-efi-hard-drive-device-path.c
@@ -1,6 +1,6 @@
---- libfwupdplugin/fu-efi-hard-drive-device-path.c.orig	2026-03-12 10:08:33 UTC
+--- libfwupdplugin/fu-efi-hard-drive-device-path.c.orig	2026-07-27 15:39:53 UTC
 +++ libfwupdplugin/fu-efi-hard-drive-device-path.c
-@@ -379,8 +379,10 @@ fu_efi_hard_drive_device_path_new_from_volume(FuVolume
+@@ -380,8 +380,10 @@ fu_efi_hard_drive_device_path_new_from_volume(FuVolume
  				    "partition UUID required");
  		return NULL;
  	}
diff --git a/sysutils/fwupd/files/patch-libfwupdplugin_fu-freebsd-efivars.c b/sysutils/fwupd/files/patch-libfwupdplugin_fu-freebsd-efivars.c
index 9dd1cd80c9f8..c835bb38a3d2 100644
--- a/sysutils/fwupd/files/patch-libfwupdplugin_fu-freebsd-efivars.c
+++ b/sysutils/fwupd/files/patch-libfwupdplugin_fu-freebsd-efivars.c
@@ -1,4 +1,4 @@
---- libfwupdplugin/fu-freebsd-efivars.c.orig	2026-03-12 10:08:33 UTC
+--- libfwupdplugin/fu-freebsd-efivars.c.orig	2026-07-27 15:39:53 UTC
 +++ libfwupdplugin/fu-freebsd-efivars.c
 @@ -17,6 +17,7 @@
  
@@ -8,7 +8,42 @@
  
  struct _FuFreebsdEfivars {
  	FuEfivars parent_instance;
-@@ -104,8 +105,45 @@ fu_freebsd_efivars_get_data(FuEfivars *efivars,
+@@ -62,21 +63,27 @@ fu_freebsd_efivars_delete_with_glob(FuEfivars *efivars
+ {
+ 	efi_guid_t *guidt = NULL;
+ 	gchar *name = NULL;
+-	gboolean rv = FALSE;
+ 	efi_guid_t guid_to_delete;
+ 
+-	efi_str_to_guid(guid, &guid_to_delete);
++	if (efi_str_to_guid(guid, &guid_to_delete) < 0) {
++		g_set_error(error,
++			    FWUPD_ERROR,
++			    FWUPD_ERROR_INVALID_DATA,
++			    "failed to parse GUID %s",
++			    guid);
++		return FALSE;
++	}
+ 
+ 	while (efi_get_next_variable_name(&guidt, &name) == 1) {
+ 		if (memcmp(&guid_to_delete, guidt, sizeof(guid_to_delete)) != 0)
+ 			continue;
+-		if (!g_pattern_match_simple(name, name_glob))
++		if (!g_pattern_match_simple(name_glob, name))
+ 			continue;
+-		rv = fu_freebsd_efivars_delete(efivars, guid, name, error);
+-		if (!rv)
+-			break;
++		if (!fu_freebsd_efivars_delete(efivars, guid, name, error))
++			return FALSE;
+ 	}
+-	return rv;
++
++	return TRUE;
+ }
+ 
+ static gboolean
+@@ -104,8 +111,45 @@ fu_freebsd_efivars_get_data(FuEfivars *efivars,
  			    GError **error)
  {
  	efi_guid_t guidt;
@@ -55,7 +90,7 @@
  }
  
  static gboolean
-@@ -182,7 +220,7 @@ fu_freebsd_efivars_set_data(FuEfivars *efivars,
+@@ -182,7 +226,7 @@ fu_freebsd_efivars_set_data(FuEfivars *efivars,
  	efi_guid_t guidt;
  	efi_str_to_guid(guid, &guidt);
  
diff --git a/sysutils/fwupd/files/patch-libfwupdplugin_fu-kernel.c b/sysutils/fwupd/files/patch-libfwupdplugin_fu-kernel.c
index eed373544c88..c2aa5dbcdc44 100644
--- a/sysutils/fwupd/files/patch-libfwupdplugin_fu-kernel.c
+++ b/sysutils/fwupd/files/patch-libfwupdplugin_fu-kernel.c
@@ -1,6 +1,6 @@
---- libfwupdplugin/fu-kernel.c.orig	2026-03-12 10:08:33 UTC
+--- libfwupdplugin/fu-kernel.c.orig	2026-07-27 15:39:53 UTC
 +++ libfwupdplugin/fu-kernel.c
-@@ -342,6 +342,9 @@ fu_kernel_get_cmdline(GError **error)
+@@ -343,6 +343,9 @@ fu_kernel_get_cmdline(GError **error)
  	if (!g_file_get_contents("/proc/cmdline", &buf, &bufsz, error))
  		return NULL;
  	return fu_kernel_parse_cmdline(buf, bufsz);
diff --git a/sysutils/fwupd/files/patch-libfwupdplugin_fu-uefi-device.c b/sysutils/fwupd/files/patch-libfwupdplugin_fu-uefi-device.c
index 0be5f688db34..94457c8d8217 100644
--- a/sysutils/fwupd/files/patch-libfwupdplugin_fu-uefi-device.c
+++ b/sysutils/fwupd/files/patch-libfwupdplugin_fu-uefi-device.c
@@ -1,6 +1,6 @@
---- libfwupdplugin/fu-uefi-device.c.orig	2026-03-12 10:08:33 UTC
+--- libfwupdplugin/fu-uefi-device.c.orig	2026-07-27 15:39:53 UTC
 +++ libfwupdplugin/fu-uefi-device.c
-@@ -281,7 +281,7 @@ fu_uefi_device_probe(FuDevice *device, GError **error)
+@@ -320,7 +320,7 @@ fu_uefi_device_probe(FuDevice *device, GError **error)
  		return FALSE;
  	return fu_device_build_instance_id_full(device,
  						FU_DEVICE_INSTANCE_FLAG_QUIRKS,
diff --git a/sysutils/fwupd/files/patch-libfwupdplugin_meson.build b/sysutils/fwupd/files/patch-libfwupdplugin_meson.build
index ad8c1d4278df..6c5acde7478b 100644
--- a/sysutils/fwupd/files/patch-libfwupdplugin_meson.build
+++ b/sysutils/fwupd/files/patch-libfwupdplugin_meson.build
@@ -1,6 +1,6 @@
---- libfwupdplugin/meson.build.orig	2026-05-29 14:57:39 UTC
+--- libfwupdplugin/meson.build.orig	2026-07-27 15:39:53 UTC
 +++ libfwupdplugin/meson.build
-@@ -425,6 +425,7 @@ fwupdplugin = library(
+@@ -438,6 +438,7 @@ fwupdplugin = library(
    include_directories: [root_incdir, fwupd_incdir],
    dependencies: [library_deps],
    link_with: [fwupd],
diff --git a/sysutils/fwupd/files/patch-meson.build b/sysutils/fwupd/files/patch-meson.build
index c244da6b2e22..5c916f10893c 100644
--- a/sysutils/fwupd/files/patch-meson.build
+++ b/sysutils/fwupd/files/patch-meson.build
@@ -1,6 +1,6 @@
---- meson.build.orig	2026-05-29 14:57:39 UTC
+--- meson.build.orig	2026-07-27 15:39:53 UTC
 +++ meson.build
-@@ -475,7 +475,7 @@ if get_option('default_library') != 'static'
+@@ -484,7 +484,7 @@ if get_option('default_library') != 'static'
      platform_deps += cc.find_library('shlwapi')
    endif
    if host_machine.system() == 'freebsd'
diff --git a/sysutils/fwupd/files/patch-plugins_focal-fp_meson.build b/sysutils/fwupd/files/patch-plugins_focal-fp_meson.build
index c54d02c5aea0..2956223d0bbe 100644
--- a/sysutils/fwupd/files/patch-plugins_focal-fp_meson.build
+++ b/sysutils/fwupd/files/patch-plugins_focal-fp_meson.build
@@ -1,8 +1,8 @@
---- plugins/focal-fp/meson.build.orig	2026-03-12 10:08:33 UTC
+--- plugins/focal-fp/meson.build.orig	2026-07-27 15:39:53 UTC
 +++ plugins/focal-fp/meson.build
 @@ -1,4 +1,4 @@
--host_machine.system() == 'linux' or subdir_done()
-+host_machine.system() in ['linux', 'freebsd'] or subdir_done()
+-host_machine.system() in ['linux', 'android'] or subdir_done()
++host_machine.system() in ['linux', 'android', 'freebsd'] or subdir_done()
  
  cargs = ['-DG_LOG_DOMAIN="FuPluginFocalFp"']
  plugins += {meson.current_source_dir().split('/')[-1]: true}
diff --git a/sysutils/fwupd/files/patch-plugins_nordic-hid_meson.build b/sysutils/fwupd/files/patch-plugins_nordic-hid_meson.build
index b43cef4e3624..3d6a3882da77 100644
--- a/sysutils/fwupd/files/patch-plugins_nordic-hid_meson.build
+++ b/sysutils/fwupd/files/patch-plugins_nordic-hid_meson.build
@@ -1,8 +1,8 @@
---- plugins/nordic-hid/meson.build.orig	2025-09-12 09:55:19 UTC
+--- plugins/nordic-hid/meson.build.orig	2026-07-27 15:39:53 UTC
 +++ plugins/nordic-hid/meson.build
 @@ -1,4 +1,4 @@
--host_machine.system() == 'linux' or subdir_done()
-+host_machine.system() in ['linux', 'freebsd'] or subdir_done()
+-host_machine.system() in ['linux', 'android'] or subdir_done()
++host_machine.system() in ['linux', 'android', 'freebsd'] or subdir_done()
  
  cargs = ['-DG_LOG_DOMAIN="FuPluginNordicHid"']
  plugins += {meson.current_source_dir().split('/')[-1]: true}
diff --git a/sysutils/fwupd/files/patch-src_fu-usb-backend-test.c b/sysutils/fwupd/files/patch-src_fu-usb-backend-test.c
new file mode 100644
index 000000000000..eaeafd3cd6b5
--- /dev/null
+++ b/sysutils/fwupd/files/patch-src_fu-usb-backend-test.c
@@ -0,0 +1,14 @@
+Fix USB testscase for platforms without HAVE_UDEV
+
+This uses the same FWUPD_SELF_TEST guard that to skip enumeration
+as the other self tests do.
+--- src/fu-usb-backend-test.c.orig	2026-07-27 15:39:53 UTC
++++ src/fu-usb-backend-test.c
+@@ -241,6 +241,7 @@ main(int argc, char **argv)
+ main(int argc, char **argv)
+ {
+ 	(void)g_setenv("G_TEST_SRCDIR", SRCDIR, FALSE);
++	(void)g_setenv("FWUPD_SELF_TEST", "1", TRUE);
+ 	g_test_init(&argc, &argv, NULL);
+ 	g_test_add_func("/fwupd/usb-backend", fu_usb_backend_func);
+ 	g_test_add_func("/fwupd/usb-backend/invalid", fu_usb_backend_invalid_func);
diff --git a/sysutils/fwupd/pkg-plist b/sysutils/fwupd/pkg-plist
index ab8d7cae6887..d036868c1d63 100644
--- a/sysutils/fwupd/pkg-plist
+++ b/sysutils/fwupd/pkg-plist
@@ -60,9 +60,9 @@ include/fwupd-3/libfwupd/fwupd-security-attr-struct.h
 include/fwupd-3/libfwupd/fwupd-security-attr.h
 include/fwupd-3/libfwupd/fwupd-variant.h
 include/fwupd-3/libfwupd/fwupd-version.h
-lib/fwupd-2.1.7/libfwupdengine.so
-lib/fwupd-2.1.7/libfwupdplugin.so
-lib/fwupd-2.1.7/libfwupdutil.so
+lib/fwupd-2.1.8/libfwupdengine.so
+lib/fwupd-2.1.8/libfwupdplugin.so
+lib/fwupd-2.1.8/libfwupdutil.so
 lib/girepository-1.0/Fwupd-2.0.typelib
 lib/libfwupd.so
 lib/libfwupd.so.3
@@ -73,6 +73,7 @@ libexec/fwupd/fwupd
 %%TEST%%libexec/installed-tests/fwupd/ccgx-dmc-self-test
 %%TEST%%libexec/installed-tests/fwupd/ccgx-self-test
 %%TEST%%libexec/installed-tests/fwupd/elantp-self-test
+%%TEST%%libexec/installed-tests/fwupd/focal-moc-self-test
 %%TEST%%libexec/installed-tests/fwupd/fu-amd-gpu-uma-test
 %%TEST%%libexec/installed-tests/fwupd/fu-dfu-self-test
 %%TEST%%libexec/installed-tests/fwupd/fwupdplugin-backend-test
@@ -1284,12 +1285,6 @@ share/dbus-1/system.d/org.freedesktop.fwupd.conf
 %%PORTDOCS%%share/doc/libfwupdplugin/algoltek-usb-README.html
 %%PORTDOCS%%share/doc/libfwupdplugin/algoltek-usbcr-README.html
 %%PORTDOCS%%share/doc/libfwupdplugin/alias.EndianType.html
-%%PORTDOCS%%share/doc/libfwupdplugin/alias.FileInputStream.html
-%%PORTDOCS%%share/doc/libfwupdplugin/alias.FileInputStreamClass.html
-%%PORTDOCS%%share/doc/libfwupdplugin/alias.InputStream.html
-%%PORTDOCS%%share/doc/libfwupdplugin/alias.InputStreamClass.html
-%%PORTDOCS%%share/doc/libfwupdplugin/alias.MemoryInputStream.html
-%%PORTDOCS%%share/doc/libfwupdplugin/alias.MemoryInputStreamClass.html
 %%PORTDOCS%%share/doc/libfwupdplugin/amd-gpu-README.html
 %%PORTDOCS%%share/doc/libfwupdplugin/amd-kria-README.html
 %%PORTDOCS%%share/doc/libfwupdplugin/amd-pmc-README.html
@@ -1305,6 +1300,7 @@ share/dbus-1/system.d/org.freedesktop.fwupd.conf
 %%PORTDOCS%%share/doc/libfwupdplugin/bios-settings.html
 %%PORTDOCS%%share/doc/libfwupdplugin/blestech-tp-README.html
 %%PORTDOCS%%share/doc/libfwupdplugin/bnr-dp-README.html
+%%PORTDOCS%%share/doc/libfwupdplugin/bootupd-README.html
 %%PORTDOCS%%share/doc/libfwupdplugin/building.html
 %%PORTDOCS%%share/doc/libfwupdplugin/callback.ContextLookupIter.html
 %%PORTDOCS%%share/doc/libfwupdplugin/callback.CoswidItemFunc.html
@@ -1366,6 +1362,7 @@ share/dbus-1/system.d/org.freedesktop.fwupd.conf
 %%PORTDOCS%%share/doc/libfwupdplugin/class.ElfFirmware.html
 %%PORTDOCS%%share/doc/libfwupdplugin/class.FdtFirmware.html
 %%PORTDOCS%%share/doc/libfwupdplugin/class.FdtImage.html
+%%PORTDOCS%%share/doc/libfwupdplugin/class.FileInputStream.html
 %%PORTDOCS%%share/doc/libfwupdplugin/class.Firmware.html
 %%PORTDOCS%%share/doc/libfwupdplugin/class.FitFirmware.html
 %%PORTDOCS%%share/doc/libfwupdplugin/class.FmapFirmware.html
@@ -1384,6 +1381,7 @@ share/dbus-1/system.d/org.freedesktop.fwupd.conf
 %%PORTDOCS%%share/doc/libfwupdplugin/class.IfwiCpdImage.html
 %%PORTDOCS%%share/doc/libfwupdplugin/class.IfwiFptFirmware.html
 %%PORTDOCS%%share/doc/libfwupdplugin/class.IhexFirmware.html
+%%PORTDOCS%%share/doc/libfwupdplugin/class.InputStream.html
 %%PORTDOCS%%share/doc/libfwupdplugin/class.IntelMeDevice.html
 %%PORTDOCS%%share/doc/libfwupdplugin/class.IntelThunderboltFirmware.html
 %%PORTDOCS%%share/doc/libfwupdplugin/class.IntelThunderboltNvm.html
@@ -1392,6 +1390,7 @@ share/dbus-1/system.d/org.freedesktop.fwupd.conf
 %%PORTDOCS%%share/doc/libfwupdplugin/class.KernelSearchPathLocker.html
 %%PORTDOCS%%share/doc/libfwupdplugin/class.LinearFirmware.html
 %%PORTDOCS%%share/doc/libfwupdplugin/class.MeiDevice.html
+%%PORTDOCS%%share/doc/libfwupdplugin/class.MemoryInputStream.html
 %%PORTDOCS%%share/doc/libfwupdplugin/class.MsgpackItem.html
 %%PORTDOCS%%share/doc/libfwupdplugin/class.OpromDevice.html
 %%PORTDOCS%%share/doc/libfwupdplugin/class.OpromFirmware.html
@@ -1623,7 +1622,6 @@ share/dbus-1/system.d/org.freedesktop.fwupd.conf
 %%PORTDOCS%%share/doc/libfwupdplugin/const.FIT_FIRMWARE_ATTR_VERSION.html
 %%PORTDOCS%%share/doc/libfwupdplugin/const.FIT_FIRMWARE_ID_CONFIGURATIONS.html
 %%PORTDOCS%%share/doc/libfwupdplugin/const.FIT_FIRMWARE_ID_IMAGES.html
-%%PORTDOCS%%share/doc/libfwupdplugin/const.FMAP_FIRMWARE_STRLEN.html
 %%PORTDOCS%%share/doc/libfwupdplugin/const.GB.html
 %%PORTDOCS%%share/doc/libfwupdplugin/const.HECI_DEVICE_UUID_FWUPDATE.html
 %%PORTDOCS%%share/doc/libfwupdplugin/const.HECI_DEVICE_UUID_MCHI.html
@@ -1753,6 +1751,9 @@ share/dbus-1/system.d/org.freedesktop.fwupd.conf
 %%PORTDOCS%%share/doc/libfwupdplugin/ctor.ChunkArray.new_from_bytes.html
 %%PORTDOCS%%share/doc/libfwupdplugin/ctor.ChunkArray.new_from_stream.html
 %%PORTDOCS%%share/doc/libfwupdplugin/ctor.ChunkArray.new_virtual.html
+%%PORTDOCS%%share/doc/libfwupdplugin/ctor.CompositeInputStream.new.html
+%%PORTDOCS%%share/doc/libfwupdplugin/ctor.CompressorStream.new_compress.html
+%%PORTDOCS%%share/doc/libfwupdplugin/ctor.CompressorStream.new_decompress.html
 %%PORTDOCS%%share/doc/libfwupdplugin/ctor.Config.new.html
 %%PORTDOCS%%share/doc/libfwupdplugin/ctor.Context.new.html
 %%PORTDOCS%%share/doc/libfwupdplugin/ctor.Context.new_full.html
@@ -1808,6 +1809,8 @@ share/dbus-1/system.d/org.freedesktop.fwupd.conf
 %%PORTDOCS%%share/doc/libfwupdplugin/ctor.IntelThunderboltNvm.new.html
 %%PORTDOCS%%share/doc/libfwupdplugin/ctor.KernelSearchPathLocker.new.html
 %%PORTDOCS%%share/doc/libfwupdplugin/ctor.LinearFirmware.new.html
+%%PORTDOCS%%share/doc/libfwupdplugin/ctor.MemoryInputStream.new_from_bytes.html
+%%PORTDOCS%%share/doc/libfwupdplugin/ctor.MemoryInputStream.new_from_data.html
 %%PORTDOCS%%share/doc/libfwupdplugin/ctor.MsgpackItem.new_array.html
 %%PORTDOCS%%share/doc/libfwupdplugin/ctor.MsgpackItem.new_binary.html
 %%PORTDOCS%%share/doc/libfwupdplugin/ctor.MsgpackItem.new_binary_stream.html
@@ -1818,6 +1821,7 @@ share/dbus-1/system.d/org.freedesktop.fwupd.conf
 %%PORTDOCS%%share/doc/libfwupdplugin/ctor.MsgpackItem.new_nil.html
 %%PORTDOCS%%share/doc/libfwupdplugin/ctor.MsgpackItem.new_string.html
 %%PORTDOCS%%share/doc/libfwupdplugin/ctor.OpromFirmware.new.html
+%%PORTDOCS%%share/doc/libfwupdplugin/ctor.PartialInputStream.new.html
 %%PORTDOCS%%share/doc/libfwupdplugin/ctor.PathStore.new.html
 %%PORTDOCS%%share/doc/libfwupdplugin/ctor.PefileFirmware.new.html
 %%PORTDOCS%%share/doc/libfwupdplugin/ctor.Pkcs7.new.html
@@ -2008,6 +2012,7 @@ share/dbus-1/system.d/org.freedesktop.fwupd.conf
 %%PORTDOCS%%share/doc/libfwupdplugin/flags.UtfConvertFlags.html
 %%PORTDOCS%%share/doc/libfwupdplugin/flags.ZipFlags.html
 %%PORTDOCS%%share/doc/libfwupdplugin/focal-fp-README.html
+%%PORTDOCS%%share/doc/libfwupdplugin/focal-moc-README.html
 %%PORTDOCS%%share/doc/libfwupdplugin/focal-touch-README.html
 %%PORTDOCS%%share/doc/libfwupdplugin/fonts.css
 %%PORTDOCS%%share/doc/libfwupdplugin/fpc-README.html
@@ -2015,10 +2020,6 @@ share/dbus-1/system.d/org.freedesktop.fwupd.conf
 %%PORTDOCS%%share/doc/libfwupdplugin/fresco-pd-README.html
 %%PORTDOCS%%share/doc/libfwupdplugin/func.BIT_CLEAR.html
 %%PORTDOCS%%share/doc/libfwupdplugin/func.BIT_SET.html
-%%PORTDOCS%%share/doc/libfwupdplugin/func.FILE_INPUT_STREAM.html
-%%PORTDOCS%%share/doc/libfwupdplugin/func.FILE_INPUT_STREAM_CLASS.html
-%%PORTDOCS%%share/doc/libfwupdplugin/func.MEMORY_INPUT_STREAM.html
-%%PORTDOCS%%share/doc/libfwupdplugin/func.MEMORY_INPUT_STREAM_CLASS.html
 %%PORTDOCS%%share/doc/libfwupdplugin/func.base64_encode.html
 %%PORTDOCS%%share/doc/libfwupdplugin/func.byte_array_align_up.html
 %%PORTDOCS%%share/doc/libfwupdplugin/func.byte_array_append_array.html
@@ -2180,33 +2181,12 @@ share/dbus-1/system.d/org.freedesktop.fwupd.conf
 %%PORTDOCS%%share/doc/libfwupdplugin/func.efi_variable_store_state_to_string.html
 %%PORTDOCS%%share/doc/libfwupdplugin/func.elf_section_header_type_to_string.html
 %%PORTDOCS%%share/doc/libfwupdplugin/func.error_convert.html
-%%PORTDOCS%%share/doc/libfwupdplugin/func.file_input_stream_from_file.html
-%%PORTDOCS%%share/doc/libfwupdplugin/func.file_input_stream_query_info.html
 %%PORTDOCS%%share/doc/libfwupdplugin/func.hid_bus_type_to_string.html
 %%PORTDOCS%%share/doc/libfwupdplugin/func.hid_item_kind_to_string.html
 %%PORTDOCS%%share/doc/libfwupdplugin/func.hid_item_tag_from_string.html
 %%PORTDOCS%%share/doc/libfwupdplugin/func.hid_item_tag_to_string.html
 %%PORTDOCS%%share/doc/libfwupdplugin/func.ifd_access_to_string.html
 %%PORTDOCS%%share/doc/libfwupdplugin/func.ifd_region_to_string.html
-%%PORTDOCS%%share/doc/libfwupdplugin/func.input_stream_chunkify.html
-%%PORTDOCS%%share/doc/libfwupdplugin/func.input_stream_compute_checksum.html
-%%PORTDOCS%%share/doc/libfwupdplugin/func.input_stream_compute_crc16.html
-%%PORTDOCS%%share/doc/libfwupdplugin/func.input_stream_compute_crc32.html
-%%PORTDOCS%%share/doc/libfwupdplugin/func.input_stream_compute_sum16.html
-%%PORTDOCS%%share/doc/libfwupdplugin/func.input_stream_compute_sum32.html
-%%PORTDOCS%%share/doc/libfwupdplugin/func.input_stream_compute_sum8.html
-%%PORTDOCS%%share/doc/libfwupdplugin/func.input_stream_find.html
-%%PORTDOCS%%share/doc/libfwupdplugin/func.input_stream_from_path.html
-%%PORTDOCS%%share/doc/libfwupdplugin/func.input_stream_read_byte_array.html
-%%PORTDOCS%%share/doc/libfwupdplugin/func.input_stream_read_bytes.html
-%%PORTDOCS%%share/doc/libfwupdplugin/func.input_stream_read_safe.html
-%%PORTDOCS%%share/doc/libfwupdplugin/func.input_stream_read_string.html
-%%PORTDOCS%%share/doc/libfwupdplugin/func.input_stream_read_u16.html
-%%PORTDOCS%%share/doc/libfwupdplugin/func.input_stream_read_u24.html
-%%PORTDOCS%%share/doc/libfwupdplugin/func.input_stream_read_u32.html
-%%PORTDOCS%%share/doc/libfwupdplugin/func.input_stream_read_u64.html
-%%PORTDOCS%%share/doc/libfwupdplugin/func.input_stream_read_u8.html
-%%PORTDOCS%%share/doc/libfwupdplugin/func.input_stream_size.html
 %%PORTDOCS%%share/doc/libfwupdplugin/func.intel_me_family_to_string.html
 %%PORTDOCS%%share/doc/libfwupdplugin/func.intel_me_issue_to_string.html
 %%PORTDOCS%%share/doc/libfwupdplugin/func.kenv_get_string.html
@@ -2227,9 +2207,6 @@ share/dbus-1/system.d/org.freedesktop.fwupd.conf
 %%PORTDOCS%%share/doc/libfwupdplugin/func.memcpy_safe.html
 %%PORTDOCS%%share/doc/libfwupdplugin/func.memdup_safe.html
 %%PORTDOCS%%share/doc/libfwupdplugin/func.memmem_safe.html
-%%PORTDOCS%%share/doc/libfwupdplugin/func.memory_input_stream_new.html
-%%PORTDOCS%%share/doc/libfwupdplugin/func.memory_input_stream_new_from_bytes.html
-%%PORTDOCS%%share/doc/libfwupdplugin/func.memory_input_stream_new_from_data.html
 %%PORTDOCS%%share/doc/libfwupdplugin/func.memread_string_safe.html
 %%PORTDOCS%%share/doc/libfwupdplugin/func.memread_uint16.html
 %%PORTDOCS%%share/doc/libfwupdplugin/func.memread_uint16_safe.html
@@ -2909,6 +2886,7 @@ share/dbus-1/system.d/org.freedesktop.fwupd.conf
 %%PORTDOCS%%share/doc/libfwupdplugin/method.FdtImage.set_attr_strlist.html
 %%PORTDOCS%%share/doc/libfwupdplugin/method.FdtImage.set_attr_uint32.html
 %%PORTDOCS%%share/doc/libfwupdplugin/method.FdtImage.set_attr_uint64.html
+%%PORTDOCS%%share/doc/libfwupdplugin/method.FileInputStream.get_file_size.html
 %%PORTDOCS%%share/doc/libfwupdplugin/method.Firmware.add_chunk.html
 %%PORTDOCS%%share/doc/libfwupdplugin/method.Firmware.add_flag.html
 %%PORTDOCS%%share/doc/libfwupdplugin/method.Firmware.add_image.html
@@ -2970,6 +2948,7 @@ share/dbus-1/system.d/org.freedesktop.fwupd.conf
 %%PORTDOCS%%share/doc/libfwupdplugin/method.Firmware.to_string.html
 %%PORTDOCS%%share/doc/libfwupdplugin/method.Firmware.tokenize.html
 %%PORTDOCS%%share/doc/libfwupdplugin/method.Firmware.write.html
+%%PORTDOCS%%share/doc/libfwupdplugin/method.Firmware.write_array.html
 %%PORTDOCS%%share/doc/libfwupdplugin/method.Firmware.write_chunk.html
 %%PORTDOCS%%share/doc/libfwupdplugin/method.Firmware.write_file.html
 %%PORTDOCS%%share/doc/libfwupdplugin/method.FitFirmware.get_timestamp.html
@@ -3023,6 +3002,27 @@ share/dbus-1/system.d/org.freedesktop.fwupd.conf
 %%PORTDOCS%%share/doc/libfwupdplugin/method.IfdImage.set_access.html
 %%PORTDOCS%%share/doc/libfwupdplugin/method.IhexFirmware.get_records.html
 %%PORTDOCS%%share/doc/libfwupdplugin/method.IhexFirmware.set_padding_value.html
+%%PORTDOCS%%share/doc/libfwupdplugin/method.InputStream.as_g_input_stream.html
+%%PORTDOCS%%share/doc/libfwupdplugin/method.InputStream.chunkify.html
+%%PORTDOCS%%share/doc/libfwupdplugin/method.InputStream.compute_checksum.html
+%%PORTDOCS%%share/doc/libfwupdplugin/method.InputStream.compute_crc16.html
+%%PORTDOCS%%share/doc/libfwupdplugin/method.InputStream.compute_crc32.html
+%%PORTDOCS%%share/doc/libfwupdplugin/method.InputStream.compute_sum16.html
+%%PORTDOCS%%share/doc/libfwupdplugin/method.InputStream.compute_sum32.html
+%%PORTDOCS%%share/doc/libfwupdplugin/method.InputStream.compute_sum8.html
+%%PORTDOCS%%share/doc/libfwupdplugin/method.InputStream.find.html
+%%PORTDOCS%%share/doc/libfwupdplugin/method.InputStream.read.html
+%%PORTDOCS%%share/doc/libfwupdplugin/method.InputStream.read_all.html
+%%PORTDOCS%%share/doc/libfwupdplugin/method.InputStream.read_byte_array.html
+%%PORTDOCS%%share/doc/libfwupdplugin/method.InputStream.read_bytes.html
+%%PORTDOCS%%share/doc/libfwupdplugin/method.InputStream.read_safe.html
+%%PORTDOCS%%share/doc/libfwupdplugin/method.InputStream.read_string.html
+%%PORTDOCS%%share/doc/libfwupdplugin/method.InputStream.read_u16.html
+%%PORTDOCS%%share/doc/libfwupdplugin/method.InputStream.read_u24.html
+%%PORTDOCS%%share/doc/libfwupdplugin/method.InputStream.read_u32.html
+%%PORTDOCS%%share/doc/libfwupdplugin/method.InputStream.read_u64.html
+%%PORTDOCS%%share/doc/libfwupdplugin/method.InputStream.read_u8.html
+%%PORTDOCS%%share/doc/libfwupdplugin/method.InputStream.size.html
 %%PORTDOCS%%share/doc/libfwupdplugin/method.IntelMeDevice.get_family.html
 %%PORTDOCS%%share/doc/libfwupdplugin/method.IntelMeDevice.get_hfsts.html
 %%PORTDOCS%%share/doc/libfwupdplugin/method.IntelMeDevice.get_issue.html
@@ -4498,6 +4498,7 @@ share/dbus-1/system.d/org.freedesktop.fwupd.conf
 %%PORTDOCS%%share/doc/libfwupdplugin/method.Volume.is_mounted.html
 %%PORTDOCS%%share/doc/libfwupdplugin/method.Volume.mount.html
 %%PORTDOCS%%share/doc/libfwupdplugin/method.Volume.unmount.html
+%%PORTDOCS%%share/doc/libfwupdplugin/method.Volume.write_file.html
 %%PORTDOCS%%share/doc/libfwupdplugin/method.VolumeLocker.close.html
 %%PORTDOCS%%share/doc/libfwupdplugin/method.X509Certificate.get_activation_time.html
 %%PORTDOCS%%share/doc/libfwupdplugin/method.X509Certificate.get_issuer.html
@@ -4582,6 +4583,7 @@ share/dbus-1/system.d/org.freedesktop.fwupd.conf
 %%PORTDOCS%%share/doc/libfwupdplugin/signal.BluezDevice.changed.html
 %%PORTDOCS%%share/doc/libfwupdplugin/signal.Config.changed.html
 %%PORTDOCS%%share/doc/libfwupdplugin/signal.Config.loaded.html
+%%PORTDOCS%%share/doc/libfwupdplugin/signal.Context.esp-write.html
 %%PORTDOCS%%share/doc/libfwupdplugin/signal.Context.housekeeping.html
 %%PORTDOCS%%share/doc/libfwupdplugin/signal.Context.security-changed.html
 %%PORTDOCS%%share/doc/libfwupdplugin/signal.Device.child-added.html
@@ -4595,6 +4597,7 @@ share/dbus-1/system.d/org.freedesktop.fwupd.conf
 %%PORTDOCS%%share/doc/libfwupdplugin/signal.Progress.percentage-changed.html
 %%PORTDOCS%%share/doc/libfwupdplugin/signal.Progress.status-changed.html
 %%PORTDOCS%%share/doc/libfwupdplugin/signal.UdevDevice.changed.html
+%%PORTDOCS%%share/doc/libfwupdplugin/signal.Volume.write-file.html
 %%PORTDOCS%%share/doc/libfwupdplugin/snapd-uefi-README.html
 %%PORTDOCS%%share/doc/libfwupdplugin/solarized-dark.css
 %%PORTDOCS%%share/doc/libfwupdplugin/solarized-light.css
@@ -4754,9 +4757,6 @@ share/dbus-1/system.d/org.freedesktop.fwupd.conf
 %%PORTDOCS%%share/doc/libfwupdplugin/type_func.ChunkArray.mutable_new.html
 %%PORTDOCS%%share/doc/libfwupdplugin/type_func.ChunkArray.new.html
 %%PORTDOCS%%share/doc/libfwupdplugin/type_func.ChunkArray.to_string.html
-%%PORTDOCS%%share/doc/libfwupdplugin/type_func.CompositeInputStream.new.html
-%%PORTDOCS%%share/doc/libfwupdplugin/type_func.CompressorStream.new_compress.html
-%%PORTDOCS%%share/doc/libfwupdplugin/type_func.CompressorStream.new_decompress.html
 %%PORTDOCS%%share/doc/libfwupdplugin/type_func.Context.flag_from_string.html
 %%PORTDOCS%%share/doc/libfwupdplugin/type_func.Device.find_private_flag.html
 %%PORTDOCS%%share/doc/libfwupdplugin/type_func.Device.instance_flags_to_string.html
@@ -4774,6 +4774,7 @@ share/dbus-1/system.d/org.freedesktop.fwupd.conf
 %%PORTDOCS%%share/doc/libfwupdplugin/type_func.EfiSignature.kind_to_string.html
 %%PORTDOCS%%share/doc/libfwupdplugin/type_func.EfiVolume.ext_entry_type_to_string.html
 %%PORTDOCS%%share/doc/libfwupdplugin/type_func.ErrorMapEntry.to_gerror.html
+%%PORTDOCS%%share/doc/libfwupdplugin/type_func.FileInputStream.from_file.html
 %%PORTDOCS%%share/doc/libfwupdplugin/type_func.Firmware.add_image_gtype.html
 %%PORTDOCS%%share/doc/libfwupdplugin/type_func.Firmware.flags_to_string.html
 %%PORTDOCS%%share/doc/libfwupdplugin/type_func.Firmware.roundtrip_from_filename.html
@@ -4786,6 +4787,7 @@ share/dbus-1/system.d/org.freedesktop.fwupd.conf
 %%PORTDOCS%%share/doc/libfwupdplugin/type_func.Firmware.strparse_uint4_safe.html
 %%PORTDOCS%%share/doc/libfwupdplugin/type_func.Firmware.strparse_uint8_safe.html
 %%PORTDOCS%%share/doc/libfwupdplugin/type_func.IOChannel.open_flags_to_string.html
+%%PORTDOCS%%share/doc/libfwupdplugin/type_func.InputStream.from_path.html
 %%PORTDOCS%%share/doc/libfwupdplugin/type_func.IntelThunderboltNvm.family_from_string.html
 %%PORTDOCS%%share/doc/libfwupdplugin/type_func.IntelThunderboltNvm.family_to_string.html
 %%PORTDOCS%%share/doc/libfwupdplugin/type_func.IntelThunderboltNvm.section_to_string.html
@@ -4806,7 +4808,6 @@ share/dbus-1/system.d/org.freedesktop.fwupd.conf
 %%PORTDOCS%%share/doc/libfwupdplugin/type_func.MkhiReadFileRequest.new.html
 %%PORTDOCS%%share/doc/libfwupdplugin/type_func.MkhiReadFileResponse.parse.html
 %%PORTDOCS%%share/doc/libfwupdplugin/type_func.MsgpackItem.kind_to_string.html
-%%PORTDOCS%%share/doc/libfwupdplugin/type_func.PartialInputStream.new.html
 %%PORTDOCS%%share/doc/libfwupdplugin/type_func.Plugin.guess_name_from_fn.html
 %%PORTDOCS%%share/doc/libfwupdplugin/type_func.Plugin.register_private_flag.html
 %%PORTDOCS%%share/doc/libfwupdplugin/type_func.SecurityAttr.add_bios_target_value.html
@@ -5032,6 +5033,7 @@ share/dbus-1/system.d/org.freedesktop.fwupd.conf
 %%PORTDOCS%%share/doc/libfwupdplugin/vfunc.CfiDevice.send_command.html
 %%PORTDOCS%%share/doc/libfwupdplugin/vfunc.Context.housekeeping.html
 %%PORTDOCS%%share/doc/libfwupdplugin/vfunc.Context.security_changed.html
+%%PORTDOCS%%share/doc/libfwupdplugin/vfunc.Context.volume_write.html
 %%PORTDOCS%%share/doc/libfwupdplugin/vfunc.Efivars.delete.html
 %%PORTDOCS%%share/doc/libfwupdplugin/vfunc.Efivars.delete_with_glob.html
 %%PORTDOCS%%share/doc/libfwupdplugin/vfunc.Efivars.exists.html
@@ -5053,6 +5055,10 @@ share/dbus-1/system.d/org.freedesktop.fwupd.conf
 %%PORTDOCS%%share/doc/libfwupdplugin/vfunc.Firmware.tokenize.html
 %%PORTDOCS%%share/doc/libfwupdplugin/vfunc.Firmware.validate.html
 %%PORTDOCS%%share/doc/libfwupdplugin/vfunc.Firmware.write.html
+%%PORTDOCS%%share/doc/libfwupdplugin/vfunc.InputStream.can_seek.html
+%%PORTDOCS%%share/doc/libfwupdplugin/vfunc.InputStream.read_fn.html
+%%PORTDOCS%%share/doc/libfwupdplugin/vfunc.InputStream.seek.html
+%%PORTDOCS%%share/doc/libfwupdplugin/vfunc.InputStream.tell.html
 %%PORTDOCS%%share/doc/libfwupdplugin/vfunc.Plugin._check_supported.html
 %%PORTDOCS%%share/doc/libfwupdplugin/vfunc.Plugin._device_added.html
 %%PORTDOCS%%share/doc/libfwupdplugin/vfunc.Plugin._device_register.html
@@ -5148,6 +5154,7 @@ share/icons/hicolor/scalable/apps/org.freedesktop.fwupd.svg
 %%TEST%%share/installed-tests/fwupd/device-tests/elan-i2c-tp.json
 %%TEST%%share/installed-tests/fwupd/device-tests/elan-kbd.json
 %%TEST%%share/installed-tests/fwupd/device-tests/elan-p1515e.json
+%%TEST%%share/installed-tests/fwupd/device-tests/focal-moc.json
 %%TEST%%share/installed-tests/fwupd/device-tests/fpc-lenfy-moh.json
 %%TEST%%share/installed-tests/fwupd/device-tests/framework-hdmi.json
 %%TEST%%share/installed-tests/fwupd/device-tests/framework-qmk.json
@@ -5190,6 +5197,7 @@ share/icons/hicolor/scalable/apps/org.freedesktop.fwupd.svg
 %%TEST%%share/installed-tests/fwupd/device-tests/lenovo-accessory-700-keyboard.json
 %%TEST%%share/installed-tests/fwupd/device-tests/lenovo-accessory-700-mouse-receiver.json
 %%TEST%%share/installed-tests/fwupd/device-tests/lenovo-accessory-700-mouse.json
+%%TEST%%share/installed-tests/fwupd/device-tests/lenovo-accessory-ai-mouse.json
 %%TEST%%share/installed-tests/fwupd/device-tests/lenovo-accessory-receiver.json
 %%TEST%%share/installed-tests/fwupd/device-tests/lenovo-dock.json
 %%TEST%%share/installed-tests/fwupd/device-tests/lenovo-nano-g1.json