Commit Graph

221 Commits

Author SHA1 Message Date
Mario Limonciello
661cd75b41 Allow overriding the location of the provider offline files for test suite 2016-03-31 13:41:14 -05:00
Mario Limonciello
5c1999b4ec Allow overridding the location of the pending database for test suite 2016-03-31 13:37:33 -05:00
Richard Hughes
2a1a9b61cc trivial: Use g_autoptr() in FuProviderUefi 2016-03-31 11:35:05 +01:00
Richard Hughes
7105e42af8 trivial: Do not show the argument list for an internal error 2016-03-31 11:23:04 +01:00
Richard Hughes
77df553db7 trivial: Be more explicit about testing for import success 2016-03-31 09:08:28 +01:00
Richard Hughes
fe490ebb80 Use g_auto() in FuKeyring
This simplifies function cleanup.
2016-03-31 09:00:16 +01:00
Mario Limonciello
c5e8921dfd Test that GPG key import actually was successful (or didn't change a key already in the keyring) 2016-03-30 23:59:48 -05:00
Richard Hughes
9559bbe42d Connect to UPower at startup 2016-03-29 19:18:52 +01:00
Richard Hughes
53ec7ea39e Do not return updates that require AC when on battery
This prevents us showing updates in GNOME Software that can't actually be
installed without an error.
2016-03-29 19:18:52 +01:00
Richard Hughes
5bf2837485 Add fwupd_result_has_device_flag() 2016-03-29 19:18:52 +01:00
Richard Hughes
b8956d41ee Do not use /tmp for downloaded files
The files are signed but downloading into user-cachedir is probably safer.
2016-03-29 19:18:18 +01:00
Richard Hughes
e4141f4f23 trivial: Print the fingerprint of the sig used for verification 2016-03-29 11:26:51 +01:00
Mario Limonciello
bb49bd52b9 Add Alienware to the version quirk table 2016-03-21 08:56:52 -05:00
Richard Hughes
b8f6b737e6 Show the checksum kind in the fwupdmgr output 2016-03-18 12:33:47 +00:00
Richard Hughes
af2f3f9288 Allow SHA-256 hashes when verifying
Although, stick to the old default of SHA-1 for now.
2016-03-18 12:33:47 +00:00
Richard Hughes
48a5117fde trivial: Allow different checksum types in FuRom 2016-03-18 12:33:47 +00:00
Richard Hughes
2d6e186800 Rename some of the new libfwupd API to align with the D-Bus names 2016-03-18 09:20:40 +00:00
Richard Hughes
c8a60c9073 trivial: Squash a warning when compiling the self tests 2016-03-17 13:09:51 +00:00
Richard Hughes
8e9762d174 Use libfwupd inside the daemon
This also entailed writing some compat defines to work on FuDevices without
casting each one to a FwupdResult.
2016-03-17 10:14:17 +00:00
Richard Hughes
cb07a3eb3f Use FwupdClient from libfwupd in fwupdmgr 2016-03-17 10:09:03 +00:00
Richard Hughes
b94f2f0488 Export FwupdUpdateFlags in libfwupd 2016-03-17 09:52:00 +00:00
Richard Hughes
a475eecda2 Export FwupdUpdateState in libfwupd 2016-03-17 09:48:34 +00:00
Richard Hughes
6d39d37039 Show device flags in 'fwupdmgr get-devices' 2016-03-15 21:40:36 +00:00
Richard Hughes
16d8f6212d Return the device flags when getting firmware details
This allows us to see if a local firmware file can be installed on the local
machine, and crucially, whether it has to be installed on or off-line.
2016-03-15 21:40:36 +00:00
Richard Hughes
5883ccae57 Add a plugin for SteelSeries hardware 2016-03-14 14:56:11 +00:00
Richard Hughes
dad1e193cd Run vendor plugins as required
This allows us to run plugins from AppStream metadata values.
2016-03-14 14:54:21 +00:00
Richard Hughes
80a77bcfd8 Use g_usb_context_wait_for_replug() 2016-03-14 14:47:44 +00:00
Richard Hughes
d090514f15 Add a simple plugin infrastructure
This allows vendors to write small self-contained modules that can be used to
override the default behaviour in the various providers.
2016-03-13 09:52:55 +00:00
Richard Hughes
ffa323b231 Revert "Allow defining update vfuncs with no runtime support"
This reverts commit 780a3e59ff.
2016-03-11 08:48:58 +00:00
Richard Hughes
780a3e59ff Allow defining update vfuncs with no runtime support
This allows providers to decide at runtime if a device can be updated online.
2016-03-11 08:21:22 +00:00
Richard Hughes
935769bf4d trivial: Fix comment header 2016-03-11 08:21:10 +00:00
Richard Hughes
da9804d8be Show ignored DFU devices in dfu-util, but not in fwupd
This allows desktop software to ignore the device, but leaves the device
controllable by the dfu-tool command line client.
2016-03-07 08:47:11 +00:00
Mario Limonciello
7ebdc1b148 trivial: Adjust ESRT enable function to match fwupdate change.
This was changed to have a fwup_ prefix and be clearer:
b817715900
2016-03-02 10:23:34 -06:00
Richard Hughes
65dfbfe54f Do not use deprecated API from libappstream-glib 2016-03-02 13:43:21 +00:00
Richard Hughes
aaa0772618 Only read PCI OptionROM firmware when devices are manually unlocked
This allows us to do two things:

 * Start up much faster, now typically under 150ms on fast machines
 * Stop hard-locking machines with dodgy hardware or non-free kernel drivers

The last point in particular was causing gnome-software a bad reputation, as
fwupd was only auto-started the when gnome-software was launched, which read
the Option ROM which then hardlocked some machines.

Note: We still unconditionally read the Option ROM when verifying, although
this is a seldom used feature, and easier to correlate with hard lockups on
faulty hardware.
2016-03-02 10:17:02 +00:00
Mario Limonciello
29a7f95beb Add ESRT enable method into UEFI provider. 2016-03-02 10:17:02 +00:00
Richard Hughes
9a410ce459 Add an unlock method for devices
This is based on an idea from Mario Limonciello which can be used to enable a
PCI OptionROM read, or possibly enable ESRT functionality.
2016-03-02 10:17:02 +00:00
Richard Hughes
b75c92db47 Require AC power before scheduling some types of firmware update
Fixes half of https://github.com/hughsie/fwupd/issues/42
2016-02-20 20:25:56 +00:00
Richard Hughes
750ef0f2f4 trivial: Fix 'make distcheck' 2016-02-03 20:14:55 +00:00
Mario Limonciello
918f3939a4 Move quirks directly into a single table and file.
This will make it easier for other quirks to be added later without
needing to remember to poke through all the code to find everywhere
they were mentioned.
2016-02-03 12:47:23 -06:00
Richard Hughes
df7950b8f3 Support vendor-specific UEFI version encodings
This allows vendors such as Dell to use encodings such as AA.BB.CC.DD rather
than the default of AA.BB.CCDD which is used by Intel and Microsoft.

Existing metainfo.xml files with version numbers prefixed with '0x' are
automatically converted to the new scheme.

Based on a patch Mario Limonciello, many thanks.
2016-02-03 08:52:34 +00:00
Mario Limonciello
92f903823d Fix get-results for UEFI provider.
Even though fwupd doesn't display any information about when,
libfwup will fail to return data unless it gets a pointer.
2016-02-02 09:08:15 -06:00
Richard Hughes
1d96633198 Add 'Created' and 'Modified' properties on managed devices
This allows us to show suitable UI in GNOME Software when reporting historical
firmware updates.
2016-01-27 13:25:45 +00:00
Richard Hughes
0a36f44bc7 trivial: Fix a debug statement when no devices are detected 2016-01-06 14:57:20 +00:00
Richard Hughes
b1b59d83cb Do not misdetect different ColorHug devices
Allow devices to have a specific device ID, which also matches other equivalent
IDs from other providers

This allows the user to plug in one type of device, and not match a different
cached device that also matches the same provider.
2016-01-06 13:20:58 +00:00
Richard Hughes
9a6a9c8b20 Always persist ColorHug devices after replug
We need this to happen no matter the method of getting the version number else
the reconnection idle loops do not work correctly.
2016-01-06 13:12:56 +00:00
Richard Hughes
2a1e75da72 Only dump the profiling data when run with --verbose
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1292059
2015-12-18 17:42:53 +00:00
Mario Limonciello
7df2c4c2e9 trivial: fu-provider-udev: Remove dead debug code 2015-12-08 13:39:54 -06:00
Richard Hughes
f4e8fe0763 trivial: Fix several trivial warnings on ARM 2015-12-06 17:51:10 +00:00
Richard Hughes
832c334548 Fix compile with --disable-shared 2015-12-01 11:41:16 +00:00