Commit Graph

5517 Commits

Author SHA1 Message Date
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
Mario Limonciello
5258f33585 trivial: fix ppc64le autopkgtest failure
nvme-self-test only runs if nvme is compiled, which it isn't for
ppc64le.
2020-11-18 08:21:00 +00:00
Richard Hughes
02e7fb527a trivial: Ensure the user called fwupd_client_set_user_agent() as asked 2020-11-18 08:17:28 +00:00
Richard Hughes
56fcdd2776 libfwupd: Add fwupd_client_download_file()
I'm porting gnome-software to use this new API and this would be a very useful
thing to provide. No async API as we want to avoid writing temp files in most
cases -- this is just for legacy apps.
2020-11-18 08:17:28 +00:00
Richard Hughes
eba28b6520 libfwupd: Add fwupd_client_get_user_agent()
If we set a property, we should probably have a way to read it back...
2020-11-17 21:10:10 +00:00
Richard Hughes
42577728bb Only download the remote metadata as required
Moving to the async libfwupd library design meant this optimization was lost.
2020-11-17 12:14:30 -06:00
Mario Limonciello
f5583481bf trivial: debian: disable downloading from LVFS in autopkgtest
There are two ways to go:
1. Enable `needs-internet` in the test bed
2. Skip these tests

Per https://salsa.debian.org/ci-team/autopkgtest/blob/master/doc/README.package-tests.rst
the testing should avoid having to download from remote services to
keep the testing more deterministic and reliable.
2020-11-16 17:06:34 -06:00
Mario Limonciello
5b3eb78d5b trivial: uefi: don't let user's environment fail UEFI/Dell test suite
Comment from https://github.com/fwupd/fwupd/issues/2553#issuecomment-728218741
makes it clear that test suite should ignore some of environment.
2020-11-16 14:56:22 -06:00
Mario Limonciello
103ce59922 trivial: debian: add git to fwupdate-tests dependencies
this is needed for autopkgtest now
2020-11-16 10:45:01 -06:00
Mario Limonciello
2222efc297 Add breaks for fwupdate 12-7 (Closes: #960688) 2020-11-16 10:45:01 -06:00
tinywrkb
07d5aef247 Install modules-load configs in the correct directory
Signed-off-by: Richard Hughes <richard@hughsie.com>
2020-11-16 15:27:13 +00:00
Jessica Clarke
646f23edd5 debian: Add quotes around glob 2020-11-16 08:06:48 -06:00
Jessica Clarke
99c37df81c debian: Remove unnecessary ./ use 2020-11-16 08:06:48 -06:00
Jessica Clarke
f6b1ff0409 debian: Avoid looking like a set -e is missing
The exit code for an if is the final command's so single-command if
statements are safe. However, this is rather subtle and could easily be
accidentally overlooked when making future changes. We could add a set
-e to be defensive, but instead let's use the idiomatic way of doing
one-line if statements in shell that always yield the right exit code.
2020-11-16 08:06:48 -06:00
Jessica Clarke
e36ecb42ed debian: Use uniform spacing around semicolons 2020-11-16 08:06:48 -06:00
Jessica Clarke
ae4ee910b9 debian: Fix another dangerous missing set -e 2020-11-16 08:06:48 -06:00