Commit Graph

1384 Commits

Author SHA1 Message Date
Richard Hughes
daa341720f trivial: Show the interface size for an invalid DFU device 2017-09-18 11:06:29 +01:00
Richard Hughes
4c95f8973a trivial: Fix build deps to fix ppc64le build 2017-09-17 11:00:19 +01:00
Richard Hughes
c07ac39ad1 trivial: Return a better error for keyring set up failure 2017-09-17 09:33:53 +01:00
Richard Hughes
b5b4beb472 Fix various printing issues with the progressbar
Specifically, fix the progressbar to:

 * Print at 100% after an 'unknown' percentage task has completed
 * Refresh the progressbar if being called without a main loop running
 * Allow the progressbar to start with a h-offset without moving 'left'
 * Don't cause high CPU load when calling fu_progressbar_update() ever few us

Also, add some unit tests to discover all the issues.
2017-09-17 08:56:05 +01:00
Richard Hughes
4f98fe89ba trivial: Use a different SYSCONFDIR for self tests 2017-09-17 08:38:43 +01:00
Richard Hughes
84bf038a52 trivial: Do not log to the journal when calling GetDetails 2017-09-16 18:52:51 +01:00
Richard Hughes
9decf17d82 dell: Fix a trivial whitespace issue 2017-09-16 18:52:44 +01:00
Richard Hughes
882ab6b4d0 trivial: Add a self tests for the broken metadata bug 2017-09-16 17:53:16 +01:00
Richard Hughes
820dac7fde trivial: Use a different SYSFSFIRMWAREDIR for self tests
This means we can drop some self-test specific code in fu_smbios_setup().
2017-09-16 17:46:41 +01:00
Richard Hughes
e7c6bcab3a trivial: Use a different PLUGINDIR for self tests 2017-09-16 17:44:38 +01:00
Richard Hughes
49938e6a07 trivial: Skip non-conf files when searching for remotes 2017-09-16 13:24:50 +01:00
Richard Hughes
068d34307a Do not fail to load the daemon if cached metadata is invalid
Fixes: https://github.com/hughsie/fwupd/issues/257
2017-09-16 08:26:46 +01:00
Richard Hughes
fe09a0010f trivial: Allow adding more than one FwupdRelease to a FwupdDevice 2017-09-15 20:09:03 +01:00
Fred Deschenes
e74892fca1 Add issue template 2017-09-15 08:40:53 -07:00
Richard Hughes
93b1576bef trivial: Add helpers that can be used for returning local files
This also allows us to drop the use of FwupdResult in the daemon.
2017-09-15 14:12:18 +01:00
Richard Hughes
cc3de2efa4 Do not store the newest release as part of the FuDevice object 2017-09-15 14:12:18 +01:00
Richard Hughes
e7fd8eb81f trivial: Simplify the check for supported devices 2017-09-15 14:12:18 +01:00
Richard Hughes
f11fa3caac trivial: Use the new fwupd_client_get_upgrades() in fwupdmgr 2017-09-15 14:12:18 +01:00
Richard Hughes
a96413a368 Add a method to return a list of upgrades for a specific device 2017-09-15 14:12:18 +01:00
Richard Hughes
97284b1ad8 Move the downgrade calculation to the daemon 2017-09-15 14:12:18 +01:00
Richard Hughes
68982c6624 Make FuDevice derive from FwupdDevice rather than FwupdResult
We're aiming for a model where devices can have multiple releases and we can
nuke FwupdResult completely.
2017-09-15 14:12:18 +01:00
Richard Hughes
b3ca245b74 Move the release trust information to FwupdRelease
It only remained on FwupdResult because I couldn't make up my mind about whether
it was a property of the device, or the firmware release. It's more logically
the latter, as you could have a .cab file with multiple versions of the
firmware and only the first being signed.
2017-09-15 11:31:01 +01:00
Richard Hughes
6ab53111db Never fallback to an offline update from client code
UEFI updates don't need to be retried since a785a1c. If the call to Install()
failed with NOT_SUPPORTED we can just show the error rather than doing the
little dance and involving the offline pending database for no reason.

Fixes some of https://github.com/hughsie/fwupd/issues/255
2017-09-15 09:35:27 +01:00
Richard Hughes
31bbd1691b Add a command 'clear-offline' to fwupdmgr
This allows us to 'unschedule' any offline updates.
2017-09-15 09:33:06 +01:00
Richard Hughes
f6e4d723ca Do not store the AppStream ID in the pending database
We don't actually need it for anything and it complicates future functionality.
2017-09-14 11:45:06 +01:00
Richard Hughes
27e5df2fe7 trivial: Fix a tiny leak in the daemon 2017-09-14 11:28:50 +01:00
Richard Hughes
ba15eebabb trivial: Show the RemoteID when printing available releases 2017-09-14 10:26:15 +01:00
Richard Hughes
d140210b4f trivial: Fix up the hex version numbers when adding to the store
This means we show the 'human readable' version numbers in the debug UI.
2017-09-14 10:26:15 +01:00
Richard Hughes
bd4d2856dd Merge releases where multiple remotes provide the same firmware
For a few months the lvfs-testing remote has not included firmware already
present in the stable lvfs remote. This means if you enable the testing remote
then components in the stable remote are not available to fwupd.

Instead of a simplistic check on the component ID, add the missing releases
no matter the ordering of the remotes.
2017-09-14 10:26:15 +01:00
Richard Hughes
fc0d170334 trivial: Show the available release versions in the daemon debug output
Also, truncate the output when there are lots of versions available.
2017-09-14 10:26:15 +01:00
Richard Hughes
225f3a98fe trivial: Sort the releases returned by GetReleases() 2017-09-13 19:38:51 +01:00
Richard Hughes
30dbf0d7d0 Remove the UniqueID property
This was only ever added for gnome-software, and is too inflexible for anything
else. It turns out we don't even need it in GNOME, as we can construct a
suitable ID ourselves using the existing values.

It was also ambiguous whether the unique ID was in reference to the device
or release -- and for gnome-software we need both.
2017-09-13 15:28:33 +01:00
Richard Hughes
8cee383f65 trivial: Add the missing functionality to proxy the update error string 2017-09-13 14:59:32 +01:00
Richard Hughes
9dde04fbda trivial: Split out some functionality not to be used by plugins 2017-09-13 14:59:32 +01:00
Richard Hughes
a1aab517d1 Move the update state to FwupdDevice
It only remained on FwupdResult because I couldn't make up my mind about whether
it was a property of the device, or the firmware release. It's more logically
the former, and that's how plugins are using it.
2017-09-13 14:59:32 +01:00
Richard Hughes
c8d028207f uefi: Do not set the release version
Instead, put the failing version number in the error message where it belongs.
2017-09-13 14:05:50 +01:00
Richard Hughes
0de86eca3d udev: Do not match USB devices, even with a GUID set
Prevents a warning about PRODUCT not existing when the usb plugin is disabled.
2017-09-13 14:05:46 +01:00
Mario Limonciello
8f17e1ccf4 Use the intel-wmi-thunderbolt kernel module to force power
When available on a system this module will allow force powering a TBT device with nothing plugged in.
2017-09-13 03:12:50 +08:00
Mario Limonciello
9d84b22d7b dell: drop thunderbolt force power code
This is replaced by the WMI force power interface.
2017-09-13 03:12:50 +08:00
Richard Hughes
d3b93f83ed trivial: Fix a small memory leak in fwupd_device_to_string() 2017-09-12 19:57:08 +01:00
Richard Hughes
de0f50110f Create CONTRIBUTING.md 2017-09-12 19:37:35 +01:00
Richard Hughes
539a830a36 trivial: Fix a tiny memory leak when setting the summary 2017-09-12 19:34:51 +01:00
Richard Hughes
d2b4fc5e00 trivial: Set the AppStream ID when returning results from GetReleases
We need this for GUI software.
2017-09-12 16:42:46 +01:00
Richard Hughes
f966e3f2a4 unifying: Add hardcoded summaries for peripheral kinds 2017-09-12 16:40:40 +01:00
Richard Hughes
5e3c19092f trivial: Do not print (null) for the new Unifying feature index 2017-09-12 16:36:19 +01:00
Richard Hughes
365380efed Create CODE_OF_CONDUCT.md 2017-09-12 15:26:14 +01:00
Richard Hughes
499d9f39a5 Fix a GObject registration problem on Debian
Do not link the static library with libfwupdprivate, instead do it in the
target executable.

Fixes https://github.com/hughsie/fwupd/issues/244
2017-09-12 09:34:51 +01:00
Mario Limonciello
4d3025a108 Generate dockerfiles dynamically (#238) 2017-09-11 13:39:40 -05:00
Richard Hughes
c1c2fec6f5 Add optional icons to each device
This allows us to show the devices in a GUI with a nice icon. Some of the icon
mappings are not perfect and I'll be asking the GNOME designers for some
additions to the icon specification.

Custom vendor icons can also be specified, and /usr/share/fwupd/icons would be
a good place to put them. If vendor icons are used they should show a physical
device with the branding, rather than just the vendor logo.
2017-09-11 17:27:35 +01:00
Richard Hughes
9bfcfd88cf Ensure more devices set the device summary
This helps users identify what the device actually does.
2017-09-11 15:10:50 +01:00