Commit Graph

247 Commits

Author SHA1 Message Date
Richard Hughes
7ceb318a27 Add fwupd_result_get_device_version_bootloader()
This functionality is required so that AppStream metadata can check the fwupd
version, the firmware version, bootloader version or a combination of all three.
2016-12-23 11:21:22 +00:00
Richard Hughes
404cc51be3 Allow the metadata to match a version of fwupd and the existing fw version
This allows us to have new markup specified in the MetaInfo or AppStream XML:

  <requires>
    <id compare="ge" version="0.8.1">org.freedesktop.fwupd</id>
    <firmware compare="ge" version="0.1.2"/>
  </requires>

This means that only updates that match these versions will be shown.
2016-12-21 16:16:18 +00:00
Richard Hughes
2d744f5571 trivial: Fix critical warning when policykit rules are not installed 2016-12-20 09:07:37 +00:00
Richard Hughes
29c220db9f Add VerifyUpdate to update the device checksums server-side 2016-12-15 17:09:37 +00:00
Richard Hughes
74d95ab988 trivial: Find the release when verifying and there is no version 2016-12-15 12:55:21 +00:00
Richard Hughes
4232185bec trivial: Remove some false-positive messages when using clang 2016-12-13 16:01:52 +00:00
Richard Hughes
59a9344c1e Move the UPower functionality to a plugin 2016-12-12 16:28:16 +00:00
Richard Hughes
e8fb74a341 Return the pending UEFI update when not on AC power
The user will not be notified about firmware security updates all the time they
are on battery power. It's better to handle this in the client prompting the
user to connect the AC power source.
2016-12-12 16:17:38 +00:00
Richard Hughes
7b8b202786 Add a set of vfuncs that are run before and after a device update 2016-12-12 16:15:03 +00:00
Richard Hughes
31bfba3d1b trivial: Fix an error path when getting firmware results 2016-12-12 15:14:12 +00:00
Richard Hughes
cff38bcb3a Convert the providers to plugins to simplify code and for future features
This is a large commit that removes all the providers and turns them into
plugins. I think having both providers _and_ plugins was super confusing.

Plugins are loaded at runtime so you could in theory develop a new plugin
without putting it in the fwupd source tree, although there are no installed
headers or PC files as I'm not sure it's a good idea at this stage.

This commit moves all the per-provider docs, tests, notes, debug dumps and test
data to plugin-specific directories -- these also allows the plugin author to
"own" more of the source tree so we don't enforce fu- prefixes and the style
guide everywhere.

This allows us to run the same action on all the plugins in the future, so we
could have a prepare(FuPlugin, FuDevice) and cleanup(FuPlugin, FuDevice) run
on *all* plugins, so doing an update using one plugin would allow us to work
around hardware quirks in other plugins.

If I've broken your out-of-tree provider it's trivial to port to the new API
with sed and a fixed up build file. If you need help please let me know.
2016-12-12 12:31:23 +00:00
Richard Hughes
bc93e4ab6e Make all providers and plugins share a GUsbContext
This means we don't have more that one thread just watching for the USB
hotplug events. To achieve this split up the coldplug into setup and coldplug
phases and run the enumerate just once in the daemon.
2016-12-08 19:51:55 +00:00
Richard Hughes
7419e9624a trivial: Use the correct index value when getting the local file descriptor
I assume GLib in F25 is more strict about invalid values.
2016-11-22 19:48:06 +00:00
Philip Withnall
bc339aa657 Fix redeclaration of polkit autocleanup functions
ifdef cannot be used to determine if a C symbol is defined, as it’s
evaluated by the preprocessor, before symbols are parsed. Instead, try
to detect whether polkit.h is suitably recent enough to define its own
auto-cleanup functions.

Signed-off-by: Richard Hughes <richard@hughsie.com>
2016-11-22 16:13:33 +00:00
Richard Hughes
fec2480330 trivial: Fix a critical warning on shutdown 2016-11-04 09:30:14 +00:00
Mario Limonciello
54a5a21757 Show a different error when checking for updates while on battery power (#68) 2016-10-19 14:29:53 -05:00
Mario Limonciello
3ef952fcea Verify devices support updating in mode they are called.
Providers that have both online and offline update methods don't
do verification that the device actually supports that mode.

This caused problems for Dell TPM devices where if you called
$ fwupdmgr install tpm.cab

It would attempt to use the online stub added in 1d97c8b5.
This would of course fall over requiring you to call with
$ fwupdmgr install tpm.cab --allow-offline

This fix will guarantee that the current install fallback
logic takes into account both device and provider support
for online/offline.
2016-09-20 12:34:42 -05:00
Richard Hughes
27aad5ac1f Add a fallback for older appstream-glib releases
Fixes: https://github.com/hughsie/fwupd/issues/62
2016-08-29 16:12:26 +01:00
Richard Hughes
4ced466f95 trivial: Fix two more compile warnings 2016-08-26 17:33:10 +01:00
Richard Hughes
2db526d178 Save the unique ID in the pending database
Also, generate something sensible if we're reading the status of an old task.
2016-08-25 15:07:25 +01:00
Richard Hughes
fdf46169f3 Ignore devices that do not add at least one GUID 2016-08-25 13:05:18 +01:00
Richard Hughes
644562e291 Use the correct define prefix for FwupdDeviceFlags
Also, add the compat flags so we don't break API.
2016-08-22 10:30:24 +01:00
Richard Hughes
5c066adf29 Use the SHA1 hash of the local file data as the component origin
This means we have a different cache-id for locally modified .cab files.
This allows us to update the text in the metadata without reloading the client.
2016-08-18 18:38:33 +01:00
Richard Hughes
fa782a3915 Add fwupd_result_get_unique_id()
This allows us to have a unique string that identifies the component and can be
used as a cache key.
2016-08-18 18:36:11 +01:00
Richard Hughes
060af614a5 trivial: Ensure the daemon always returns to IDLE 2016-08-17 17:46:15 +01:00
Richard Hughes
14d176499d Handle the 8Bitdo bootloader in a better way 2016-08-17 17:46:15 +01:00
Richard Hughes
876c007b1a Allow providers to export percentage completion 2016-08-17 17:46:15 +01:00
Richard Hughes
ae87438781 trivial: Don't show the current release in the fwupdmgr get-updates output 2016-08-17 17:46:15 +01:00
Richard Hughes
01b9a838b4 Show the vendor flashing instructions when installing 2016-08-16 17:59:32 +01:00
Richard Hughes
4fd38c8f1b trivial: Only show the device error when no devices are due to be updated
Showing a 'no attached hardware matched' then a large list of GUIDs isn't
super helpful.
2016-08-16 17:57:49 +01:00
Richard Hughes
0bda054f63 trivial: Show a warning when a requested plugin is not loaded 2016-08-11 15:35:30 +01:00
Richard Hughes
33a518a615 Add another compile warning and fix up any build failures 2016-07-27 16:57:36 +01:00
Richard Hughes
f192bf025a trivial: Switch to compiling with C99 by default
We're already using non-MSVC features like g_autoptr().
2016-07-22 08:41:59 +01:00
Richard Hughes
9a52c5ed2c Allow blacklisting devices by their GUID
Fixes: https://github.com/hughsie/fwupd/issues/10#issuecomment-233207616
2016-07-18 09:17:02 +01:00
Mario Limonciello
958ead697b Add Dell TPM and TB15/WD15 support via new Dell provider.
This provider will provide support for items that can be flashed
as capsules but aren't present in the ESRT table.

The MST hub and TBT NVM are not yet updatable, but GUIDs are
created to represent them when they are.
2016-07-13 12:30:25 -05:00
Richard Hughes
c8646aff32 Show a more detailed error when installing firmware on the wildcard
Based on a patch by Mario Limonciello, many thanks.
2016-07-04 13:06:17 +01:00
Richard Hughes
bd40528575 Don't make failures critical while checking versions or locked state
Based on a patch by Mario Limonciello, many thanks.
2016-07-04 13:00:54 +01:00
Richard Hughes
3ab17e63dd trivial: Refactor the update helper
No logic changes.
2016-07-04 12:37:22 +01:00
Richard Hughes
346ea88135 trivial: Move a conditional out of the way 2016-07-04 12:31:06 +01:00
Richard Hughes
ce38d94d5e trivial: Get rid of useless internal-only gtk-doc markup 2016-06-29 11:25:25 +01:00
Richard Hughes
a4a2c18ac8 Use the correct firmware blob when installing a composite device update 2016-06-29 11:08:29 +01:00
Richard Hughes
fe5cc9021c Add support for installing against multiple devices from a CAB file
Based on a set of patches from Mario Limonciello <mario_limonciello@dell.com>,
many thanks.
2016-06-29 11:08:29 +01:00
Richard Hughes
db468eef67 trivial: Explicitly tag downgrades in the helper 2016-06-29 10:11:53 +01:00
Richard Hughes
4921bd9770 Ensure the update ID is set when getting local firmware details 2016-06-27 11:17:43 +01:00
Mario Limonciello
8eaadd09d8 In get-details output, display the blob filename
This makes it easier to debug issues with CAB files with multiple
payloads
2016-06-22 15:01:09 -05:00
Mario Limonciello
c2cbd1ab6f trivial: s,cd_,fu_, in a few places in fu-main 2016-06-22 14:59:42 -05:00
Richard Hughes
7289a6b5f0 Add a GetDetailsLocal() method to eventually replace GetDetails()
This allows us to return multiple results from one file, for instance where the
firmware.cab file contains multiple metainfo.xml files.

This allows us to show all the entries in the firmware file, rather than
searching for the installed device that matches and falling back to just the
first listed item.
2016-05-29 09:57:24 +01:00
Richard Hughes
8ac07dcd1c trivial: Modularize the GetDetails call 2016-05-29 09:27:56 +01:00
Richard Hughes
c1a08c75d8 Support returning multiple GUIDs from GetDetails 2016-05-25 09:47:40 +01:00
Mario Limonciello
ff94ccde59 Enforce allowing providers to take away flash abilities
The flags for ALLOW_OFFLINE and ALLOW_ONLINE aren't currently used to
block a provider from flashing a file by hand.
2016-05-18 00:38:08 -05:00
Mario Limonciello
3321d7ea09 Test for a locked device when trying to install firmware update
Although other checks may also fail, the error shown when trying
to install a CAB that matches a GUID on the system that is locked
should be a message to unlock the device.
2016-05-18 00:37:59 -05:00
Richard Hughes
6561c8daf7 Only return updatable devices from GetDevices()
Fixes some of https://github.com/hughsie/fwupd/pull/47
2016-05-17 16:24:09 +01:00
Richard Hughes
99147f180b Allow devices to have multiple assigned GUIDs 2016-05-17 09:35:04 +01:00
Mario Limonciello
71a5b98d30 Add support for a --force flag to override provider warnings
Under some circumstances a provider may want to prevent a user from
performing a flash without additional user interaction.

Providers can opt into this behavior by checking for
FWUPD_INSTALL_FLAG_FORCE in the update routine.
2016-05-10 15:41:16 -05:00
Richard Hughes
21542abb0a Set the device description when parsing local firmware files
We were overwriting the update description, so we never noticed before.
2016-04-29 10:55:16 +01:00
Richard Hughes
dde7a2f6e6 Re-match devices when the AppStream metadata is updated
This allows us to notify clients watching for the 'supported' property for
new devices added to the LVFS.
2016-04-28 16:56:23 +01:00
Richard Hughes
422e866bc8 Match the AppStream metadata after a device has been adedd
This allows us to match specific properties by watching the ::DeviceChanged()
signal.
2016-04-28 16:56:23 +01:00
Richard Hughes
8ca33784ec Add device-added, device-removed and device-changed signals
This allows us to watch a specific device from client code without
re-requesting the device list on every Changed() signal.
2016-04-28 16:56:23 +01:00
Richard Hughes
4f4e1f3478 Add a 'supported' flag to the FuDevice
This is TRUE when the device has been found in the LVFS metadata.
2016-04-28 16:56:23 +01:00
Richard Hughes
37e9d777e5 Fix a critical warning when restarting the daemon
Emit the Status property with the correct type
2016-04-28 16:56:23 +01:00
Richard Hughes
654f6b82f3 Return all update descriptions newer than the installed version
Fixes: https://github.com/hughsie/fwupd/issues/45
2016-04-25 12:30:49 +01: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
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
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
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
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
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
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
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
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
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
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
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
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
5d057a8fce Split out the DFU provider as a new file 2015-11-25 10:27:36 +00:00
Richard Hughes
a3a8f5039c Emit the changed signal after doing an update
This allows the UI to re-request the update list.
2015-11-24 12:35:22 +00:00
Richard Hughes
bb840ceaff Do not assume that the compressed XML data will be NUL terminated
In most cases this is out of chance, but in some random cases the gzip
decompressor decides to reuse the input buffer as a decompression buffer,
which means we get junk data after the decompressed text.

To solve this, just truncate the data at the reported size, and then feed this
into the XML parser.

Fixes: https://github.com/hughsie/fwupd/issues/36
2015-10-30 08:47:28 +00:00
Richard Hughes
f2fca01989 Avoid seeking when reading the file magic during refresh 2015-10-30 08:44:44 +00:00
Richard Hughes
727664fa20 Clear the in-memory firmware store only after parsing a valid XML file
If we send junk to UpdateMetadata() the deamon did something like this:

* Clear existing entries from memory
* Try to load junk file into memory -> error

This left us with no entries in the in-memory store, which required the user to
either keep retrying the 'fwupdmgr update' until it worked or just forced them
to restart fwupd so it loaded the old valid store from the cache file.

Now, only clear the in-memory store and add the new firmware entries when
we know the file has been parsed correctly.

Fixes: https://github.com/hughsie/fwupd/issues/35
2015-10-27 09:56:13 +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
3f23650f15 Add profiling data to debug slow startup times 2015-10-08 20:11:57 +01:00
Richard Hughes
d449447fc8 Add the update description to the GetDetails results 2015-10-08 20:11:34 +01:00
Richard Hughes
5d14deff4a Support cabinet archives files with more than one firmware
This allows a vendor to upload a single file that targets different versions of
the same hardware. If this feature is used, the metainfo.xml files *must* have
something like <checksum target="content" filename="firmware2.rom"/> inside the
latest <release> tag.
2015-10-07 17:45:11 +01:00
Richard Hughes
9d76a877db Fix the error message when no devices can be updated
Fixes: https://github.com/hughsie/fwupd/issues/30
2015-09-17 12:49:07 +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
033ccba050 Do not merge the existing firmware metadata with the submitted files
This just causes confusion and makes things hard to debug.
2015-09-10 15:06:26 +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
82856d9843 Add application metadata when getting the updates list 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
ba14582ef4 Use the AppStream 0.9 firmware specification by default 2015-08-11 14:34:08 +01:00
Richard Hughes
25cf6ab53e Add a Raspberry Pi firmware provider
This queries the current firmware version and also allows online or offline
updating.
2015-08-05 12:14:56 +01:00
Richard Hughes
804c075fee Make parsing the option ROM runtime optional
On devices with a lot of PCI devices this can take a couple of seconds per
device, and if this feature is not desired then disabling it saves system
resources.
2015-08-04 14:56:39 +01:00
Richard Hughes
e00d70dabe trivial: Fix compile with AppStreamGlib git master 2015-08-04 14:44:37 +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
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
3ed5447c92 Reload appstream data after refreshing. 2015-07-23 19:01:15 -05: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
2b60a33c8f Do not merge existing LVFS metadata
If we change the filenames or hash values we don't want duplicate locations.
2015-07-21 17:19:54 +01:00
Richard Hughes
1a886b1b76 Allow cab files to be saved
This means reworking the way we load the file as we have to keep the full
filelist in case we have to re-extract and save each and every file.
2015-07-20 15:31:05 +01:00
Thomas Hindoe Paaboel Andersen
80b85676bb remove unused variables 2015-06-30 20:47:15 +02: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
ebb58a3495 Add a Udev firmware provider
This allows us to support showing firmware updates for VIA USB hubs
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
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
fd4688408d Coldplug the devices before acquiring the well known name
This prevents getting no added devices when 'fwupdmgr get-devices' autostarts
the fwupd process.
2015-04-22 16:44:10 +01:00
Richard Hughes
63bbbf544f Only allow signed firmware to be upgraded without a password
This does not affect UEFI capsule updates as the signing is checked by the
machine itself. We don't know anything about the trust level at all because
NIST SP800-147 pretty much says we're not allowed to.

For BIOS or ColorHug updates however we really do need to request authentication
before downgrading or installing non-signed code.

At the moment only the Hughski Limited key is trusted for firmware, although I
hope in the future we can also include Red Hat, Microsoft, Intel, AMD and other
hardware vendors in that list too.

Fixes: https://github.com/hughsie/fwupd/issues/5
2015-04-14 16:19:39 +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
9a38c03fe2 Do not crash when there are no devices to return 2015-03-17 20:58:46 +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
d7022b50e6 Emit ::Changed() when devices are added or removed
This allows clients to reget any available updates.
2015-03-11 19:47:08 +00:00
Richard Hughes
3bf9480d34 Parse the firmware name when exploding the cab file 2015-03-10 15:57:30 +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
184232918d Do not require authentication to update devices when the root user 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
18e7591104 Use fwup.h to actually implement the UEFI update 2015-03-05 13:56:56 +00:00
Richard Hughes
3c99ba4d3c Make both the ColorHug and UEFI support optional 2015-03-05 12:17:48 +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
e7c1264f3b Add a --force option to fwupdmgr to allow installing old firmware 2015-03-04 22:30:12 +00:00
Richard Hughes
def3175655 Compare the specified and installed firmare versions 2015-03-04 19:26:54 +00:00
Richard Hughes
a2288a3fce trivial: Fix build after the ColorHug rename 2015-03-04 18:45:15 +00:00
Richard Hughes
72dff812c0 Add initial ColorHug support
This may be useful; more people have ColorHug devices than UEFI firmware that
supports system capsule updates.
2015-03-03 15:13:27 +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