Commit Graph

9646 Commits

Author SHA1 Message Date
Valentin David
af5c5a7d51 snap: Remove some unused/redundant dependencies 2023-02-23 13:04:11 -06:00
Valentin David
4664ff4305 snap: Remove dconf 2023-02-23 13:04:11 -06:00
Valentin David
988a6db20e snap: Add missing libraries 2023-02-23 13:04:11 -06:00
Valentin David
25dfb547c3 Optionally disable Polkit check with an environment variable
When running in a confined snap, it is not possible to check whether a
policies have been installed.
2023-02-23 13:04:11 -06:00
Valentin David
ff8b3d26a4 Allow overriding lock directory with an environment variable 2023-02-23 13:04:11 -06:00
Richard Hughes
450d8a02d4 dfu: Use more const buffer data when writing to AVR chips 2023-02-23 13:04:11 -06:00
Richard Hughes
10ffedbe7d dfu: Clear the buffer before getting the status
This makes emulation of DFU devices work as the control transfer data is then
predictable.
2023-02-23 13:04:11 -06:00
Richard Hughes
35000cd93b trivial: Enable USB debugging when backend debugging is enabled 2023-02-23 13:04:11 -06:00
Richard Hughes
13af5989b2 trivial: Use new API in libgusb to better detect USB replug 2023-02-23 13:04:11 -06:00
Richard Hughes
090a7c8b9a Add API to wait for a device
This allows us to ignore all the delays when the device is emulated, with the
idea being to do dozens of device emulations in the CI tests.

Also, do not call fu_progress_sleep() when the device is emulated.
2023-02-23 13:04:11 -06:00
Richard Hughes
11c4636984 Do not invalidate the probe for emulated devices
If the device does not replug, and we change the GUsbDevice because the phase
changed we don't want reprobe the hardware.

If we reprobe then the emulated device will request extra data compared to the
real device, which will cause emulation to fail.
2023-02-23 13:04:11 -06:00
Richard Hughes
bd99bccb1f trivial: Require --force to overwrite files with 'fwupdmgr download' 2023-02-23 13:04:11 -06:00
Richard Hughes
c3f7048e4a Return an error when the pending db could not be updated 2023-02-23 13:04:11 -06:00
dependabot[bot]
689fc23957 build(deps): bump docker/build-push-action from 3 to 4
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 3 to 4.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-23 13:04:11 -06:00
Richard Hughes
b41f145f00 trivial: Do not hardcode fwupdmgr as a binary name 2023-02-23 13:04:11 -06:00
Richard Hughes
ed81983520 trivial: Record the install phase for future functionality 2023-02-23 13:04:11 -06:00
Richard Hughes
4f3aad86e9 trivial: Do not inherit history from emulated devices 2023-02-23 13:04:11 -06:00
Richard Hughes
5f8d465e9b trivial: Remove some dead comments left in after debugging 2023-02-23 13:04:11 -06:00
Richard Hughes
a21e653161 Use indexes when building the quirk prepared queries
This can save 250us on each query (of which we do a *lot*), and reduces the
number of queries by about half if the user is using a libxmlb version that can
convert from `_BOUND_TEXT` to `_BOUND_INDEX_TEXT`.

The more devices detected, the bigger the difference, and without this patch
fixing libxmlb would break fwupd as we'e been searching with an index, but not
actually providing one.
2023-02-23 13:04:11 -06:00
Richard Hughes
210b9c4353 trivial: Add FuProgress to fu_context_load_hwinfo()
TIL: fu_bios_settings_setup() takes over 50ms (10%!) at startup.
2023-02-23 13:04:11 -06:00
Richard Hughes
f204bb256b trivial: Remove duplicate call to fu_engine_ensure_device_supported()
This is moderately expensive to call as it processes each requirement on each
release on each device, so the last thing we want to do is call it *twice*.
2023-02-23 13:04:11 -06:00
Richard Hughes
601fc544d2 trivial: Update all fixes using markdownlint 2023-02-23 13:04:11 -06:00
Richard Hughes
4586a3d465 trivial: Update all fixes using codespell 2023-02-23 13:04:11 -06:00
Richard Hughes
d4821886f5 Use a more compact JSON format using precommit 2023-02-23 13:04:11 -06:00
Richard Hughes
5ddaf0f610 Remove unused API for setting backend tags
It turns out we do not want to know the current phase of the device, and we can
achieve the same thing tagging the GUsbDevice manually and clearing the events
at exactly the correct time.
2023-02-23 13:04:11 -06:00
Richard Hughes
7a619d0841 ti-tps6598x: Assign the DMC as the proxy rather than just the parent
We 'write through' the parent, and by telling fwupd this we can make better
decisions when emulating.
2023-02-23 13:04:10 -06:00
Richard Hughes
c907d77608 Copy some flags from the proxy to the logical device 2023-02-23 13:04:10 -06:00
Mario Limonciello
794cbee9da trivial: update fwupd-efi to 1.4
fwupd-efi 1.4 enforces that NX bit is set by default.
This won't affect most users, it should only affect those that compile
by hand and don't have fwupd-efi installed already.
2023-02-23 13:04:10 -06:00
Richard Hughes
16a3856b3a trivial: Do not ask for polkit auth if the device is emulated 2023-02-23 13:04:10 -06:00
Richard Hughes
7277a4dd3c trivial: Do not wait for the acquiesce delay if emulated 2023-02-23 13:04:10 -06:00
Frédéric Danis
084874d198 Propagate device tag to parent device 2023-02-23 13:04:10 -06:00
Richard Hughes
465052fec8 trivial: Correctly compress zip files in FuArchive 2023-02-23 13:04:10 -06:00
Richard Hughes
409586cbca Ensure the new GUsbDevice is assigned in subclasses of FuUsbDevice
Re-incorporate the emulated USB devices when the backend device changes.
2023-02-23 13:04:10 -06:00
Richard Hughes
f2cf09ba13 trivial: Fix critical warning in future code
Both types need to be FuUdevDevice to compare the sysfs paths.
2023-02-23 13:04:10 -06:00
Richard Hughes
1a65617ac6 Do not return emulated devices from GetHistory 2023-02-23 13:04:10 -06:00
Richard Hughes
4dc7c5ff61 trivial: Add fu_device_has_problem() to be consistent and hide details 2023-02-23 13:04:10 -06:00
Richard Hughes
d3f4a7032d Remove duplicate calls to fu_device_list_wait_for_replug()
The fu_engine_get_device() function is called at the start of each phase,
which calls fu_device_list_wait_for_replug() a second time.

Duplicate calls are at best confusing, and at worst could cause a 'device
failed to come back' failure.
2023-02-23 13:04:10 -06:00
Richard Hughes
5da8e1c760 Add a device problem for 'update-in-progress'
We already had this as an inhibit, but this was not translated client-side.

We also need to propagate the problem to the bootloader device if the device
replugs during firmware update.
2023-02-23 13:04:10 -06:00
Richard Hughes
3d56ac8a90 colorhug: Show the flash success value in debugging 2023-02-23 13:04:10 -06:00
Mario Limonciello
01d82b5538 Add python3-pefile/python-pefile to CI build deps
This is so that it can be used by subproject fwupd-efi
2023-02-23 13:04:10 -06:00
Richard Hughes
3b1400c4be Fix hotplug events when emulating devices 2023-02-23 13:04:10 -06:00
Ivan Mikhanchuk
af74423ba5 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.
2023-02-23 13:04:10 -06:00
Jason Gerecke
9bfab134ca 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>
2023-02-23 13:04:10 -06:00
Richard Hughes
85c26e17c0 trivial: Fix tests to include 'emulated' 2023-02-23 13:04:10 -06:00
Richard Hughes
83c6b33778 Add fu_device_remove_backend_tag() for future use 2023-02-23 13:04:10 -06:00
Richard Hughes
8f4604a14a trivial: Proxy the _SAVE_EVENTS flag even if set at runtime 2023-02-23 13:04:10 -06:00
Richard Hughes
772f9db7ae Use the new GUsb API for loading by tag
Based on a patch by frederic.danis@collabora.com, many thanks.
2023-02-23 13:04:10 -06:00
Richard Hughes
3c51604ab8 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
2023-02-23 13:04:10 -06:00
Richard Hughes
7d5f0e3e3f trivial: Add a device flag specifying it is emulated 2023-02-23 13:04:10 -06:00
Richard Hughes
746f1bbaac trivial: Fix fuzzing with libxmlb from main, harder 2023-02-23 13:04:10 -06:00