Commit Graph

83 Commits

Author SHA1 Message Date
Richard Hughes
cfc44fa0ae Add a 'monitor' debugging command for fwupdmgr
This allows us to watch for signals from the daemon.
2016-04-28 16:56:23 +01:00
Richard Hughes
3c694baf2d trivial: Make it clear the version from get-updates is an update version 2016-04-25 12:28:08 +01:00
Richard Hughes
1d3567056c trivial: Fix alignment of multi-line update descriptions 2016-04-25 12:17:42 +01:00
Mario Limonciello
d9c234aeb3 trivial: update get-results error to be clearer 2016-04-14 13:44:01 -05: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
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
b8f6b737e6 Show the checksum kind in the fwupdmgr output 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
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
65dfbfe54f Do not use deprecated API from libappstream-glib 2016-03-02 13:43:21 +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
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
a2b2b1cc68 Export the AppStream ID when returning device results
This allows us to match up the AppStream data we've parsed in gnome-software and the firmware update we've got from fwupd. This means we can get access to some of the data that fwupd doesn't care about, for instance the how-to-upgrade screenshots.
2015-11-25 15:00:51 +00:00
Richard Hughes
b2fe639940 Use the correct user agent string for fwupdmgr 2015-11-05 08:48:48 +00:00
Richard Hughes
709d0114e3 Fix verify-update to produce components with the correct provide values 2015-10-09 12:17:08 +01:00
Richard Hughes
60f48c2013 trivial: Do no ship the old-style cleanup functions 2015-10-08 20:25:51 +01:00
Richard Hughes
2d32b8f0e9 trivial: Include the filename in the error when fwupd.conf is not found
This can happen if the user deletes it from /etc or is running inside a prefix
shell, e.g. jhbuild.
2015-09-28 13:56:42 +01:00
Richard Hughes
697eb60320 Ensure D-Bus remote errors are registered at fwupdmgr startup
Fixes: https://github.com/hughsie/fwupd/issues/31
2015-09-23 10:04:17 +01:00
Kalev Lember
1f819d7adc offline update: Use glib api for for reading symlinks
readlink() man page says that applications must not rely on it returning
null-terminated links. This commit switches it to use g_file_read_link()
instead that has much nicer API and shields us from readlink() oddities.
2015-09-18 13:54:34 +02:00
Richard Hughes
f00f1e90ea trivial: Do not show the D-Bus error prefix 2015-09-17 12:48:26 +01:00
Richard Hughes
c2da4b2580 Do not reboot if racing with the PackageKit offline update mechanism
The very first thing the PackageKit updater does is delete this symlink...
2015-09-14 12:15:41 +01:00
Richard Hughes
46832432ea Raise the dep on GLib to support and use g_autoptr() 2015-09-11 13:43:15 +01:00
Richard Hughes
2257cee8ee Simplify the version properties on devices to avoid complexity and bugs
This reduces the number of 'version' properties from 4 to 2... We can just use
these consistently to mean 'older' and 'newer'.
2015-09-08 16:53:49 +01:00
Richard Hughes
51f5083b09 Depend on appstream-glib >= 0.5.0 2015-09-08 16:53:49 +01:00
Richard Hughes
98dd640f41 Don't apply firmware if something else is processing the offline update
This also stops us rebooting the computer a few seconds into a PackageKit
offline update...
2015-08-25 14:07:48 +01:00
Richard Hughes
ac8b192033 Add a simple config file to store the correct LVFS download URI 2015-08-04 14:56:39 +01:00
Richard Hughes
c6ff8fa574 Move the verification and metadata matching phase to the daemon
This allows us to use the functionality in gnome-software or cockpit without
loading the system AppStream store.
2015-08-03 18:00:54 +01:00
Richard Hughes
9985a24a29 Fix validation of written firmware
It turns out comparing sha1{firmware.cab} and sha1{firmware.bin} doesn't match.
Require appstream-glib 0.5.x for the new API required to fix this.
2015-08-03 13:22:34 +01:00
Richard Hughes
d51173d448 Allow no arguments to 'fwupdmgr verify-update' and use sane defaults
Reading firmware from devices and writing to the default path will typically
require authentication.
2015-07-30 19:56:04 +01:00
Richard Hughes
40b6b3f597 Prefer the GUID from the firmware than the device
The firmware may be more generic, and it also allows us to match the GUID then
doing 'verify' on a device with a different device PID than the firmware
actually declares.
2015-07-30 18:41:39 +01:00
Richard Hughes
fe8b96e74e Do not pre-convert the update description from AppStream XML
This allows the text clients like fwupdmgr to convert to UTF-8 text, and
graphical clients can use the markdown target to ensure the links are made
clickable and paragraphs are presented in the right way.
2015-07-28 13:13:41 +01:00
Thomas Hindoe Paaboel Andersen
1058ce8155 trivial: remove unused variables 2015-07-27 00:24:01 +02:00
Mario Limonciello
a570bb5195 Fallback to offline install when calling the update argument.
The fallback support is currently only present in the regular
install argument.

Signed-off-by: Richard Hughes <richard@hughsie.com>
2015-07-23 20:40:52 +01:00
Richard Hughes
e97261ab3d trivial: rename 'update-metadata' to 'refresh' now we have an 'update' command 2015-07-22 10:36:00 +01:00
Richard Hughes
777917ef21 Add a 'fwupdmgr update' command to update all devices to latest versions
This downloads the latest version of the firmware and applies it to any
matching hardware. e.g.

$ fwupdmgr update
Downloading 1.2.3 for ColorHug...
Updating 1.2.3 on ColorHug...
 * Loading firmware
 * Decompressing firmware
 * Restarting device
 * Writing firmware to device
 * Verifying firmware from device
 * Restarting device
Done!
2015-07-22 10:36:00 +01:00
Richard Hughes
ade063b0df Allow installing an offline UEFI update without --offline
The way this works is we try with the user settings, and if this fails with
NotSupported and the offline flag is unset then we retry the action with a
warning and the flag manually set.

I chose to do this in the client rather than the daemon as I don't want to
encode too many magic rules when we don't know the kind of devices that will
appear in the future.

Fixes the other half of https://github.com/hughsie/fwupd/pull/23
2015-07-22 10:36:00 +01:00
Richard Hughes
63a407ab34 Change the DBus method for installing firmware to 'Install'
It seems a little odd to call it 'Update' when it's being used for downgrading
and reinstalling as well.

As we're making things simpler, just use a single 'install' action in fwupdmgr
rather than 'install', 'update-online', 'update-offline'. We can use the flags
and fallbacks to do the right thing in all cases, and make the typical case
(installing a local file to any matching hardware) simple.

Fixes half of https://github.com/hughsie/fwupd/pull/23
2015-07-22 10:36:00 +01:00
Richard Hughes
7708a0f3fd Move GetUpdates to the daemon
This only returns the latest version, if you actually need to know details
about all versions including downgrades then you still need to load the
AppStream metadata and match devices manually.
2015-07-22 10:35:05 +01:00
Richard Hughes
0b8d461099 trivial: Use the correct error codes when failing to download metadata 2015-07-21 13:27:10 +01:00
Richard Hughes
c7cf166a2f Automatically download metadata using fwupdmgr if required
Using no arguments to 'fwupdmgr update-metadata' means we use the network.
2015-07-20 16:19:20 +01:00
Richard Hughes
8ffbd403cb Fix ROM PPID searching to work for all ROMs 2015-07-08 14:28:53 +01:00
Richard Hughes
fe68ff584f Make the version parsing more resilient to corrupt firmware 2015-07-03 12:37:56 +01:00
Richard Hughes
5dc6f5ccfc Add a 'verify-update' command to fwupdmgr
This allows us to do something like:

    $ fwupdmgr verify
    e9b8eebd-b5f8-18d4-9fbd-d7da7711985c	f21e1d2c969dedbefcf5acfdab4fa0c5ff111a57	No metadata
    $ find /sys/devices -name rom -exec sudo fwupdmgr verify-update /var/cache/app-info/xmls/fwupd-verify.xml {} \;
    $ fwupdmgr verify
    e9b8eebd-b5f8-18d4-9fbd-d7da7711985c	f21e1d2c969dedbefcf5acfdab4fa0c5ff111a57	OK
    $ # flash the firmware
    $ fwupdmgr verify
    e9b8eebd-b5f8-18d4-9fbd-d7da7711985c	5c946b3950deaf7b102e75be488052afd4dcf16	        Failed: for v013.012.000.019.000000 expected f21e1d2c969dedbefcf5acfdab4fa0c5ff111a57
2015-07-01 12:16:09 +01:00
Richard Hughes
826a5698e3 trivial: Always return the verification hash for the first verify run
The property is being cached, so re-request the list of devices.
2015-07-01 12:07:07 +01:00
Richard Hughes
5e33bccd54 Accept multiple files at one time when using fwupdmgr dump-rom 2015-07-01 11:53:33 +01:00
Thomas Hindoe Paaboel Andersen
80b85676bb remove unused variables 2015-06-30 20:47:15 +02:00