Richard Hughes
68cc00c7e9
Allow multiple checksums on devices and releases
...
Although we supported other hashes than SHA1 (which is now moderately unsafe)
we had to switch the metadata provider and daemon on some kind of flag day to
using SHA256. Since that's somewhat impractical, just allow multiple checksums
to be set on objects and just try to match whatever is given in preference
order.
This also means we can easily transition to other hash types in the future.
The removed API was never present in a tarball release, so not an API break.
2017-06-06 20:06:53 +01:00
Richard Hughes
812d1b708d
trivial: Spit out non-enum functionality into a common file
2017-06-06 16:27:47 +01:00
Richard Hughes
6b8528632c
trivial: Update the bump soname list
2017-06-06 12:26:43 +01:00
Richard Hughes
81c7649dd8
libfwupd: Add fwupd_client_get_devices_simple() to return us an array of devices, not results
2017-06-06 11:10:57 +01:00
Richard Hughes
45c1545b0a
Add a 'downgrade' command to fwupdmgr
...
This allows the user to downgrade the firmware on a device.
2017-06-06 09:44:47 +01:00
Richard Hughes
e4a100cfee
Add a GetReleases() D-Bus call to return all releases for a device
...
This allows us to downgrade firmware in the future.
2017-06-05 17:42:57 +01:00
Richard Hughes
fdce4f57a3
Remove deprecated API added since the last tarball release
2017-06-05 17:41:57 +01:00
Richard Hughes
1642b3b95a
Deprecate the old FwupdResult API
...
It will be removed next time we bump soname.
2017-06-05 17:41:11 +01:00
Richard Hughes
4db6c4a4b0
libfwupd: Split up FwupdResult into FwupdDevice and FwupdRelease
...
This retains the old API to avoid breaking ABI.
2017-06-05 17:34:36 +01:00
Richard Hughes
90bcd058f0
Return the remote ID when getting updates about hardware
2017-06-02 13:19:08 +01:00
Richard Hughes
1b50d960f2
Send the daemon the remote ID when sending updated firmware metadata
...
This allows us to 'tag' the components with the correct remote ID value, which
then means we can tell where the firmware information has come from when saving
a composite store. It also allows us use the correct username and password in
the future when downloading the firmware blob itself.
Keep the old D-Bus method around to preserve API for existing clients.
2017-06-02 13:19:05 +01:00
Richard Hughes
dfed515573
Allow downloading metadata from more than just the LVFS
...
Add the concept of 'remotes' that can dropped into /etc and used as firmware
metadata sources. This may be desirable when firmware is only accessable with
a valid support contract or from behind a VPN.
2017-06-02 13:19:05 +01:00
Richard Hughes
3f3cb69bb7
trivial: Generate the pkg-config files using meson
2017-04-20 08:07:38 +01:00
Richard Hughes
e1c9a5c476
trivial: Fix substitution of FWUPD_x_VERSION in fwupd-version.h
2017-04-19 10:15:16 +01:00
Richard Hughes
1fdb335025
Remove the automake build system
2017-04-13 18:42:08 +01:00
Richard Hughes
57746cb839
Add the Meson build system as an alternate to autotools
...
Automake and autoconf are impossible to fully understand and Meson now provides
everything we need for a much smaller, faster, and more understandable build.
See http://mesonbuild.com/ for more information.
2017-04-12 16:35:18 +01:00
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
29c220db9f
Add VerifyUpdate to update the device checksums server-side
2016-12-15 17:09:37 +00:00
Mario Limonciello
e781bb9b64
trivial: fix cosmetic fallout from provider -> plugin
...
some code (such as libfwupd) still internally refers to provider,
but this will need to be more carefully massaged
2016-12-13 12:25:09 -06:00
Richard Hughes
59a9344c1e
Move the UPower functionality to a plugin
2016-12-12 16:28:16 +00:00
Richard Hughes
102ddb8fda
trivial: Remove some code that cannot be reached
...
Found using Coverity.
2016-11-09 20:14:15 +00:00
Richard Hughes
dd7713d27d
trivial: Fix a tiny resource leak if the signature file cannot be opened
...
Found using Coverity.
2016-11-09 19:28:38 +00:00
Mario Limonciello
a91214f545
Enable hardening flags on more binaries
2016-10-14 12:43:02 -05:00
Richard Hughes
7d78347549
Fix libfwupd self tests when a host-provided fwupd is not available
...
Resolves: https://github.com/hughsie/fwupd/issues/64
2016-08-31 11:41:46 +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
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
abf42df355
Add fwupd_client_get_status()
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
adb7a4979b
Add FU_DEVICE_FLAG_NEEDS_BOOTLOADER
2016-08-17 17:46:15 +01:00
Richard Hughes
20003d1c88
Add fwupd_result_remove_device_flag()
2016-08-17 17:46:15 +01:00
Richard Hughes
c2651fb687
trivial: Do not timeout of very long firmware operations
2016-08-16 18:13:50 +01:00
Richard Hughes
33a518a615
Add another compile warning and fix up any build failures
2016-07-27 16:57:36 +01:00
Mario Limonciello
76e631825e
Only display flashes left in results output when it gets low.
2016-07-20 17:39:40 -05:00
Mario Limonciello
4a586715e1
in get-details output, display update_name rather than Unknown Device
2016-06-29 09:30:03 -05:00
Richard Hughes
ce38d94d5e
trivial: Get rid of useless internal-only gtk-doc markup
2016-06-29 11:25:25 +01:00
Richard Hughes
0e3aae27f8
trivial: Add a tiny doc explaining what to change next soname break
2016-05-29 09:57:24 +01: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
2c553607e3
trivial: Fix gtk-doc wording of the device flags
2016-05-17 16:05:49 +01:00
Richard Hughes
99147f180b
Allow devices to have multiple assigned GUIDs
2016-05-17 09:35:04 +01:00
Richard Hughes
2fc5b88503
trivial: Only show the trust flags when there is an update
2016-05-13 14:48:20 +01:00
Mario Limonciello
a1cebd6e67
trivial: treat flashes_left as an unsigned integer
2016-05-11 15:21:22 -05: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
Mario Limonciello
f81f42a84c
Add support for a new device field "Flashes Left".
...
For devices that can report the number of flash cycles supported this field can
be used to prevent allowing the device to be flashed again.
2016-05-10 12:21:09 -05:00
Richard Hughes
662920ccf7
Show 'Unknow Device' in fwupdmgr when a device name is not set
2016-04-28 18:28:16 +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
1773e83060
Add fwupd_client_connect()
...
This exposes the client connection functionality so we can watch for signals
without being forced to perform an action beforehand.
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
Mario Limonciello
72ec147259
Re-order output of get-devices to be easier to read
2016-04-14 13:10:34 -05:00
Richard Hughes
5ac25f32e0
Generate gtk-doc documentation for libfwupd
2016-04-01 11:22:31 +01:00
Richard Hughes
0195b86a1f
trivial: Use g_autoptr() when checking for the bus
2016-04-01 08:09:26 +01:00
Mario Limonciello
e6e445ee4c
Validate that the dbus system bus is available before running libfwupd tests
...
In a chroot (or buildd) environment dbus isn't necessarily available so this
test will always fail.
2016-03-31 17:27:58 -05:00
Richard Hughes
88492a3cd0
trivial: Add some more self tests for enums
2016-03-31 11:16:56 +01:00
Richard Hughes
12de5d8f23
Return errors of the correct type when using libfwupd
...
This also allows us to skip errors when doing 'make check' in a VM with no
hardware devices.
2016-03-31 11:04:49 +01:00
Richard Hughes
5bf2837485
Add fwupd_result_has_device_flag()
2016-03-29 19:18:52 +01:00
Richard Hughes
1f2f6ce1cd
Allow other checksum kinds in FwupdResult
...
SHA1 is still the default, but others are allowed as well.
2016-03-18 12:33:47 +00:00
Richard Hughes
f3c1b56e73
trivial: Fix a potential crash spotted with clang
2016-03-18 12:33:47 +00:00
Richard Hughes
bdea096742
trivial: Add asserts for valid cancellables and errors in FwupdClient
2016-03-18 12:33:47 +00:00
Richard Hughes
9d8126ec63
libfwup: Fix up some NULL/FALSE confusion
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
ac97288ddb
Emit a FwupdClient::changed when the daemon emits this signal
2016-03-17 13:10:16 +00:00
Richard Hughes
0f41340740
Add FwupdClient to libfwupd
...
This is a client-side object which can get results from the daemon.
2016-03-17 10:04:19 +00:00
Richard Hughes
7542c53749
Add a self test framework for libfwupd
2016-03-17 09:59:20 +00:00
Richard Hughes
1aec596e5f
Add FwupdResult to libfwupd
...
This is a client-side object representing a result from the daemon.
2016-03-17 09:57:48 +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
c1e3ded9a3
Add fwupd_trust_flag_to_string()
2016-03-17 09:43:04 +00:00
Richard Hughes
da887df142
trivial: Add note for next API break
2016-03-17 09:42:52 +00:00
Richard Hughes
2d041f370f
trivial: post branch version bump
2016-03-16 18:14:11 +00:00
Richard Hughes
23583f9d0b
Add fwupd_device_flag_to_string()
2016-03-15 16:31:47 +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
441785d215
trivial: Fix up some harmless lint, no code changes
2015-07-28 14:56:19 +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
046db72555
Add an UNKNOWN status so we can return meaningful enum values
2015-04-24 12:33:16 +01:00
Richard Hughes
8a08f9d8f3
Verify firmware if a detached signature is present
2015-04-14 15:41:44 +01:00
Richard Hughes
36a889034c
Add helper code to validate public key signatures
...
We'll use this in the future for checking device firmware.
2015-04-14 13:53:19 +01: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