Change:
Describe the bug As I am trying to upgrade my XPS 13, fwupd can't find To Reproduce Expected behavior Update completes Additional context I am using nixos-unstable Metadata system: host os: multi-user?: sandbox: version: channels(root): nixpkgs:
Looking back at this patch that's probably not right. Probably all calls to need to be removed and it should just be a string to the executable.
If we're already wrapping the executables with , why not set the instead of patching?

Discussion:
]; patches = [ <del> (substituteAll { src = ./fix-paths.patch; inherit flashrom efibootmgr bubblewrap; tpm2_tools = "${tpm2-tools}"; }) </del> <ins> ./fix-paths.patch </ins> ./add-option-for-installation-sysconfdir.patch # installed tests are installed to different output

# doCheck = true; preFixup = '' <del> gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "${shared-mime-info}/share") </del> <ins> gappsWrapperArgs+=( --prefix XDG_DATA_DIRS : "${shared-mime-info}/share" # See programs reached with fu_common_find_program_in_path in source --prefix PATH : "${stdenv.lib.makeBinPath [ flashrom efibootmgr bubblewrap tpm2-tools ]}" ) </ins> ''; mesonFlags = [

-    echo 'Creating stateful directory' -    mkdir -p ${DESTDIR}${LOCALSTATEDIR}/lib/fwupd #fi <del> diff --git a/plugins/flashrom/fu-plugin-flashrom.c b/plugins/flashrom/fu-plugin-flashrom.c index 598e0c42..a0a2c4a7 100644 --- a/plugins/flashrom/fu-plugin-flashrom.c +++ b/plugins/flashrom/fu-plugin-flashrom.c @@ -52,7 +52,7 @@ fu_plugin_startup (FuPlugin *plugin, GError **error) g_autoptr(GError) error_local = NULL; /* we need flashrom from the host system */ -	data->flashrom_fn = fu_common_find_program_in_path ("flashrom", &error_local); +	data->flashrom_fn = fu_common_find_program_in_path ("@flashrom@/bin/flashrom", &error_local); /* search for devices */ hwids = fu_plugin_get_hwids (plugin); diff --git a/plugins/uefi/fu-plugin-uefi.c b/plugins/uefi/fu-plugin-uefi.c index 9293715c..e2e77c58 100644 --- a/plugins/uefi/fu-plugin-uefi.c +++ b/plugins/uefi/fu-plugin-uefi.c @@ -416,7 +416,7 @@ fu_plugin_update (FuPlugin *plugin, fu_plugin_add_report_metadata (plugin, "MissingCapsuleHeader", str); /* record boot information to system log for future debugging */ -	efibootmgr_path = fu_common_find_program_in_path ("efibootmgr", NULL); +	efibootmgr_path = fu_common_find_program_in_path ("@efibootmgr@/bin/efibootmgr", NULL); if (efibootmgr_path != NULL) { if (!g_spawn_command_line_sync ("efibootmgr -v", &boot_variables, NULL, NULL, error)) diff --git a/plugins/uefi/fu-uefi-pcrs.c b/plugins/uefi/fu-uefi-pcrs.c index 5c7e5239..01acbf7f 100644 --- a/plugins/uefi/fu-uefi-pcrs.c +++ b/plugins/uefi/fu-uefi-pcrs.c @@ -147,7 +147,7 @@ fu_uefi_pcrs_setup (FuUefiPcrs *self, GError **error) /* old name, then new name */ argv0 = fu_common_find_program_in_path ("tpm2_listpcrs", NULL); if (argv0 == NULL) -			argv0 = fu_common_find_program_in_path ("tpm2_pcrlist", error); +			argv0 = fu_common_find_program_in_path ("@tpm2_tools@/bin/tpm2_pcrlist", error); if (argv0 == NULL) return FALSE; if (!fu_uefi_pcrs_setup_tpm20 (self, argv0, error)) diff --git a/src/fu-common.c b/src/fu-common.c index bd6faeef..45ba2a60 100644 --- a/src/fu-common.c +++ b/src/fu-common.c @@ -436,7 +436,7 @@ fu_common_firmware_builder (GBytes *bytes, g_return_val_if_fail (error == NULL || *error == NULL, NULL); /* find bwrap in the path */ -	bwrap_fn = fu_common_find_program_in_path ("bwrap", error); +	bwrap_fn = fu_common_find_program_in_path ("@bubblewrap@/bin/bwrap", error); if (bwrap_fn == NULL) return NULL; </del>