Commit Graph

5082 Commits

Author SHA1 Message Date
Richard Hughes
3dbfc21171 trivial: Include the possible plugins in the FuDevice->to_string output 2020-12-01 14:15:33 +00:00
Richard Hughes
9d3605adad trivial: Allow dumping devices before matching possible plugins 2020-12-01 14:15:33 +00:00
Richard Hughes
70aca476d7 Add the serio->firmare_id for UDev devices
If set, it is a device-specified InstanceID specifying the firmware stream.
2020-12-01 14:15:33 +00:00
Richard Hughes
7a63a4c41c Export the driver name from FuUdevDevice
We have to supply it when using fu_device_bind_driver(), so we need to get the
old value for ->attach() to avoid guessing what driver was previously loaded.
2020-12-01 14:15:33 +00:00
Richard Hughes
419c04c504 trivial: Show the subsystem when calling FuUdevDevice->to_string() 2020-12-01 14:15:33 +00:00
Richard Hughes
8a9f1674a3 trivial: Show when there are no subsystem devices
If we asked for a subsystem, it's nice to know there are not actually any of the
supported devices.
2020-12-01 14:15:33 +00:00
Richard Hughes
8bcc5f3e80 Allow the client to send PKCS7 and GPG signatures
This restores compatibility when running with a new daemon and old remote files
and properly fixes all combinations of the regression casued by the commit
2f49da7f4e which appeared in the 1.5.2 release.
2020-11-30 15:16:39 +00:00
Richard Hughes
2bbb7d2b40 trivial: Merge some GtkDoc introspection fixes 2020-11-30 09:18:45 +00:00
Richard Hughes
6afc6542c1 trivial: Add a context to one translatable string 2020-11-30 09:03:04 +00:00
Richard Hughes
8735770f5c trivial: Update .gitignore 2020-11-30 09:00:14 +00:00
Richard Hughes
caa1be6a62 trivial: Add device test for Lenovo USB-C Dock Gen2 2020-11-30 08:59:46 +00:00
Richard Hughes
b0cb62fa49 trivial: Add device test for HP USB-C Dock G5 2020-11-30 08:58:18 +00:00
Richard Hughes
289a1eec83 trivial: Add a few things we're going to change when we break ABI 2020-11-29 10:18:06 +00:00
Richard Hughes
d1f901a012 trivial: Ensure old ODM remotes are fixed on upgrade 2020-11-29 07:24:33 +00:00
Richard Hughes
9ba348cd7a Force the remote kind to JCat server-side
We can't do this in the library as Ubuntu want to ship a new libfwupd with an
old daemon. The new daemon only understands jcat and does not know how to
determine the age of an .asc file.
2020-11-29 07:24:33 +00:00
Richard Hughes
ced512c71f Only parse the signature if the remote is JCat
This fixes a regression from 2f49da7f4e where we
tried to parse the GPG .asc file as a JcatFile even although the remote had
Keyring=gpg (which is the default for ODM accounts on the LVFS) which returned
the cryptic 'Invalid compressed data' message.

The workaround for 1.5.2 is to change the local remote.conf from 'Keyring=gpg'
to 'Keyring=jcat' and to save the file.
2020-11-29 07:24:33 +00:00
Marcus Comstedt
2bb19eae60 fu-main: Fix sender_features insert with wrong size 2020-11-29 07:15:15 +00:00
MisterGuinness
229bd1a0b5 Add quirk for Western Digital 2020-11-29 07:10:28 +00:00
Richard Hughes
c1e5f94e5c Mark more user-visible strings as translatable
Fixes https://github.com/fwupd/fwupd/issues/2616
2020-11-29 07:09:31 +00:00
Aleksander Morgado
512685fcb8 modem-manager: validate firmware update method combinations
The plugin currently supports Fastboot and QMI/PDC methods, but given
that QMI/PDC is exclusively used for carrier config installations,
there is no need for QMI/PDC-only updates, so make sure that
combination is right away forbidden.

This validation will also be useful when adding additional update
methods, as we'll be able to clearly specify which are the
combinations expcted.
2020-11-29 07:08:05 +00:00
Aleksander Morgado
c0fb40b7e8 modem-manager: remove unused byte counts in QMI/PDC update logic 2020-11-29 07:08:05 +00:00
Aleksander Morgado
fab3ee97c7 modem-manager: make sure the correct interface number is used for QMI
The upgrade process requires that the USB interface layout is not
changed between upgrades, something that we require for AT and we also
require now for QMI. We store the USB interface number of the QMI port
as soon as the device is probed, and we use it to match the interface
number once the Udev based device is created.

squash! modem-manager: make sure the correct interface number is used for QMI
2020-11-29 07:08:05 +00:00
Aleksander Morgado
da2d6f9c5a modem-manager: udev monitoring only if device switches layout
The built-in udev monitoring in the ModemManager plugin is only
required for those upgrade methods where the device switches into a
fully different port/interface layout. So far, we only expect this to
happen when the Fastboot update method is requested by the module.
2020-11-29 07:08:05 +00:00
Aleksander Morgado
b0418d7786 modem-manager: plug udev client leak
The GUdevClient is created when the ModemManager sysfs path is
inhibited; we need to make sure we destroy the object once
uninhibited, or we'll otherwise create a new one if we're running
an additional upgrade operation afterwards.
2020-11-29 07:08:05 +00:00
Richard Hughes
4cbe99c607 Restrict loading component types of firmware
This would allow us to add other component types in the future, for instance a
'generic' type that adds information to the composite device.

Any generic components would need to have a requirement of 1.5.2 to avoid
showing a runtime warning when trying to get the local file details.
2020-11-29 07:06:29 +00:00
Mario Limonciello
6f43c50e93 trivial: snap: correct install hook
Fixes: #2619
2020-11-28 17:23:34 -06:00
Richard Hughes
cf575bd783 trivial: Fix several nonprefixed bare errors 2020-11-25 14:13:25 +00:00
Richard Hughes
6b57229def trivial: Add Recommends udisks2 to the example spec file 2020-11-23 16:03:48 +00:00
Richard Hughes
e8fda7bc5a trivial: post release version bump 2020-11-23 15:51:51 +00:00
Richard Hughes
c21cff1c04 Release fwupd 1.5.2 2020-11-23 15:49:53 +00:00
Renaud Métrich
31a0bc7daf ata: Add OUI quirk for Toshiba 2020-11-21 08:47:23 -06:00
Mario Limonciello
2f49da7f4e libfwupd: Restore recognizing gpg and pkcs7 types still
The snap-store intends to ship an updated libfwupd library but
to use it with whatever version daemon is on the host system.

This means that the library needs to still work with older metadata
signing types.

This fixes the following error in that scenario:
```Failed to update metadata for lvfs: Keyring kind jcat not supported```
2020-11-21 07:37:36 -06:00
Richard Hughes
23f9cca6b4 trivial: Fix regression on uploading reports without a signature 2020-11-20 10:44:54 +00:00
Richard Hughes
8b035b01fe trivial: Add device tests for the Dell KH08P 2020-11-20 09:59:15 +00:00
Richard Hughes
d99f74f0b7 Revert "bcm57xx: Use PCI function 1 as 0 does not work with the Dell KH08P"
This reverts commit b5eddee5f6.

Using pci function 0 works on my Lenovo P50 but not my Lenovo X1. Don't break
machines where we are shipping the chip rather than ones where we probably are
not, especially when it's probably a kernel bug somewhere.

Fixes https://github.com/fwupd/fwupd/issues/2608
2020-11-20 09:54:34 +00:00
Richard Hughes
173d389fa5 Register the SoupSession gtype when required
This allows old gnome-software clients to work with new fwupd versions.
2020-11-19 19:39:37 +00:00
Mario Limonciello
487a391c47 trivial: add libsoup in for ABI checking
This patch should be reverted after switching from libcurl to
libsoup
2020-11-19 19:39:37 +00:00
Richard Hughes
3a73c342ba Switch from libsoup to libcurl
The former drags on glib-networking and then gsettings-desktop-schemas, which
add over 5Mb to the minimal IoT and CoreOS composes. Everything already uses
libcurl (even NetworkManager!) and so this is an easy way to reduce image size.
2020-11-19 19:39:37 +00:00
Richard Hughes
a6e6085365 trivial: Use a non-obsolete Fedora version for the Windows build 2020-11-19 19:39:37 +00:00
Richard Hughes
1a14d2be00 Fix sync method when called from threads without a context
Set the thread-default context for the current thread before performing the
async operation.

Hopefully fixes https://github.com/fwupd/fwupd/issues/2600
2020-11-19 16:12:52 +00:00
Mario Limonciello
423270e98b trivial: explicitly install missing dependencies in ubuntu.sh
If a new dependency is added but not present in the container,
`debian.sh` will abort trying to use packaging, which will cause
`ubuntu.sh` to executed.  Rather than fail the build, try to
install anything missing.

This helps with the split CI where the containers are re-generated
nightly.
2020-11-18 12:34:19 -06:00
Mario Limonciello
ddfde41784 trivial: bind mount checkout for ubuntu build 2020-11-18 06:47:57 -06:00
Mario Limonciello
afc2220005 trivial: drop stale Dockerfiles 2020-11-18 06:47:57 -06:00
Mario Limonciello
7fbab31609 trivial: ci: drop chromeos target
this doesn't accurately cover chromeos, as they now use jcat in
the build with pkcs7 support.

a chromeos target may come later with #2141
2020-11-18 06:47:57 -06:00
Mario Limonciello
07be134dca trivial: Github actions: Split up container creation 2020-11-18 06:47:57 -06:00
Mario Limonciello
0b64457256 Move ABI check to Github actions 2020-11-18 06:47:57 -06:00
Mario Limonciello
0073dd0570 trivial: Disable Travis CI 2020-11-18 06:47:57 -06:00
Mario Limonciello
a6606fee3a Enable github workflows 2020-11-18 06:47:57 -06:00
Mario Limonciello
fa36c88514 trivial: fedora: switch back to defaults for redfish and nvme plugins 2020-11-18 08:21:00 +00:00
Mario Limonciello
16566cec64 trivial: debian: switch back to defaults for nvme and redfish
these plugins don't require efivar anymore
2020-11-18 08:21:00 +00:00