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
Richard Hughes
174211b979
Provide a way to dump the option ROM using the command line
...
This allows someone to do:
$ find /sys/devices -name rom -exec sudo fwupdmgr dump-rom {} \;
...and get a nice summary of the option roms installed.
2015-06-30 15:40:46 +01:00
Richard Hughes
a043c2e376
Add a 'verify' command that verifies the cryptographic hash of device firmware
...
Goes some way towards fixing https://github.com/hughsie/fwupd/issues/15
2015-06-29 12:53:01 +01:00
Richard Hughes
ae0efdc5a7
Provide a way for clients to add new firmware metadata to the system cache
...
This is only possible if the metadata has been signed by a key that we trust.
2015-06-25 09:59:53 +01:00
Richard Hughes
f0d6c86df2
trivial: Print the command message even for internal error
2015-05-21 13:42:10 +01:00
Richard Hughes
d7dba98e68
Move boolean properties on the device to a set of flags
...
This is much less boilerplate and allows us to expand in the future.
2015-05-05 16:02:20 +01:00
Richard Hughes
c89c1b0e9b
Support OpenHardware devices using the fwupd vendor extensions
...
We won't be able to update these devices ourself, but we can detect if there
are updates available.
2015-05-05 15:22:00 +01:00
Richard Hughes
d8a02bfeeb
Run the offline actions using systemd when required
2015-04-25 17:14:20 +01:00
Richard Hughes
d8fa049693
Show the firmware trust status when doing GetDetails()
2015-04-14 15:57:08 +01:00
Richard Hughes
8818151196
Export the status as an enumerated value rather than a string
2015-03-19 10:57:44 +00:00
Richard Hughes
f910ac9541
trivial: Also export the status enum codes
2015-03-19 10:54:06 +00:00
Richard Hughes
8645ec9ad5
Create a libfwupd shared library
2015-03-19 10:54:05 +00:00
Richard Hughes
0e883ee815
Add and document the offline-update lifecycle
...
Also allow providers to override getting and clearing the last update status.
2015-03-19 10:31:23 +00:00
Richard Hughes
871e017bdb
Add a 'get-updates' command to fwupdmgr
...
This matches the devices from the AppStream metadata and displays new releases.
2015-03-17 21:00:21 +00:00
Richard Hughes
7c3485bc1b
trivial: Make a translated string a little clearer
2015-03-17 07:56:31 +00:00
Richard Hughes
8ded6ca0f1
trivial: Mark some more strings as translatable
...
Also fix up some translator comments.
2015-03-16 12:51:43 +00:00
Richard Hughes
bbac6d7932
Return some more fields when returning data about firmware files
2015-03-12 11:41:20 +00:00
Richard Hughes
773ce988e8
Add a 'Status' property which is updated when the daemon is active
2015-03-09 22:43:25 +00:00
Richard Hughes
a8e8394b70
Do not require the root password to update removable devices
2015-03-09 22:43:25 +00:00
Richard Hughes
cccc775b60
Add a method to get details about a firmware file
2015-03-09 11:04:32 +00:00
Richard Hughes
d079b1a6ca
Allow installing firmware without a specified device ID
2015-03-06 10:09:55 +00:00
Richard Hughes
412034adaa
Add actual error codes for failure
2015-03-05 11:30:58 +00:00
Richard Hughes
d1e823ccbf
Allow scheduling updates for later
...
Also add a update-prepared command to fwupdmgr to process the defered updates.
In the future we'll hook into the systemd early-boot code for this.
2015-03-05 11:15:36 +00:00
Richard Hughes
9849d2bb61
Register the local error codes with D-Bus to return a nice error message
2015-03-04 22:30:12 +00:00
Richard Hughes
d3d0165259
trivial: Strip the D-Bus error before showing to the user
2015-03-04 22:30:12 +00:00
Richard Hughes
1b5ea3517d
Add an OnlyOffline property for devices that cannot do online updates
2015-03-04 22:30:12 +00:00
Richard Hughes
e7c1264f3b
Add a --force option to fwupdmgr to allow installing old firmware
2015-03-04 22:30:12 +00:00
Richard Hughes
81e8d799f7
trivial: Pad out the properties when doing GetDevices
2015-03-03 15:11:22 +00:00
Richard Hughes
67ec898265
Extract the .cab file and parse the .inf file
2015-03-03 11:41:01 +00:00
Richard Hughes
1ffde6cd72
Return the device properties when calling GetDevices()
...
This allows us to discover a version number, and other things.
2015-03-02 22:44:58 +00:00
Richard Hughes
74cc217f9d
Support online updates
...
This doesn't make sense for UEFI firmware, but allows us to support other
future usecases.
2015-03-01 20:33:54 +00:00
Richard Hughes
f508e76a7a
Use PolicyKit to check the authorisation of the firmware update
2015-02-27 12:49:36 +00:00
Richard Hughes
8bbfdf49a8
Flesh out the provider interface and allow offline updates
2015-02-27 08:29:13 +00:00
Richard Hughes
8dbfb1c478
Add initial build files and enough code to launch a simple D-Bus daemon
2015-02-26 18:16:40 +00:00