Commit Graph

38 Commits

Author SHA1 Message Date
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
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
Mario Limonciello
11dee100af Clarify the test in --help and man page related to offline (#69) 2016-10-19 15:56:48 -05:00
Ting-Wei Lan
9b928832c3 build: Fix gtk-doc build when srcdir != builddir 2016-08-01 12:02:03 +08:00
Mario Limonciello
961a0e70e0 Update fwupdmgr manpage for new commands and arguments 2016-07-29 13:25:05 -05:00
Mario Limonciello
308d8dd348 Embed fwupd version in generated libfwupd and libdfu documentation 2016-07-29 13:25:05 -05:00
Mario Limonciello
ef54a14d98 trivial: Include dell-provider.md in docs EXTRA_DIST 2016-07-29 13:25:05 -05: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
21a09f09fa trivial: Add extra documentation for Dell provider 2016-07-20 11:30:33 -05:00
Ting-Wei Lan
da63e94199 build: Fix gtk-doc build when srcdir != builddir 2016-06-14 10:47:32 +08:00
Richard Hughes
5ac25f32e0 Generate gtk-doc documentation for libfwupd 2016-04-01 11:22:31 +01:00
Richard Hughes
2ba4ef2dc2 trivial: Remove a boilerplate gtk-doc message 2016-04-01 08:16:04 +01:00
Richard Hughes
2aa112465d trivial: Add actual example in the DFU metadata spec document 2015-12-08 08:59:29 +00:00
Richard Hughes
9c598d32db trivial: Fix up the man page with corrections from Bastian Ilso 2015-12-07 17:06:51 +00:00
Richard Hughes
c6519ea4e8 trivial: Add more detail to the man page
Lets face it, flashing firmware is kinda scary so we want to read a bit about
what a command is really going to do before we do anything.
2015-12-07 10:47:17 +00:00
Richard Hughes
f908669642 trivial: Write a proper dfu-tool man page 2015-12-06 20:18:47 +00:00
Richard Hughes
7c37e55459 libdfu: Add support for the draft 'DFU Metadata Table Specification' 2015-12-04 16:01:40 +00:00
Richard Hughes
ef617dbbc8 trivial: Add DfuContext to the gtk-doc documentation 2015-11-26 12:24:43 +00:00
Richard Hughes
d3afaaab9f libdfu: Add a context object to handle device hotplug
Also, add a 'watch' command to dfu-tool to test this.
2015-11-23 13:53:06 +00:00
Richard Hughes
e7aaf39de2 libdfu: Fix multi-interface devices like the Neo Freerunner
The DFU specification specifies that only one of the DFU interfaces has to
export a functional descriptor; I assumed they all had to. Adding support
for this kind of device rapidly turned into a massive restructure and it was
all too complicated anyway.

Reorganise the code so that we can support these kinds of devices and clean up
the API so it's sane and easy to use. This also allows us to generate the
GObject introspection GIR and to also install libdfu as a shared library.

If you've got any comments about the API, please shout now as when 6.0 is
released it will become API and ABI stable.
2015-11-22 21:17:48 +00:00
Richard Hughes
e7ba943cf5 libdfu: Support download and upload to ST DfuSe devices
Also, simplify the general download and upload API now we can deal with
element data in chunks.
2015-11-20 14:14:05 +00:00
Richard Hughes
cfd399498d libdfu: Use a custom error domain 2015-11-14 17:34:08 +00:00
Richard Hughes
6d79834c55 libdfu: Generate gtk-doc documentation 2015-11-14 16:51:53 +00:00
Richard Hughes
a3acd7f711 Add support for updating USB devices with DFU
This adds a private libdfu library and also a small utility program called
dfu-tool.
2015-11-12 17:32:48 +00:00
Richard Hughes
3b9f0b2dfe trivial: Remove the website
This needs to be in it's own repo to be useful for OpenShift.
2015-08-20 08:08:56 +01:00
Richard Hughes
ba14582ef4 Use the AppStream 0.9 firmware specification by default 2015-08-11 14:34:08 +01:00
Richard Hughes
6064c2ef88 Add the ability to remove a vendor on the LVFS site 2015-07-31 07:55:31 +01:00
Richard Hughes
1e9adee499 trivial: Add a simple style guide for firmware descriptions 2015-07-28 13:13:49 +01:00
Richard Hughes
69fa1d37e9 trivial: Prepend the SHA hash to the uploaded firmware file
We don't want to enforce a filename policy on vendors.
2015-07-23 10:36:49 +01:00
Richard Hughes
152670a371 Increase the size limit of firmware to 50Mb 2015-07-23 09:13:58 +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
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
0daed7c259 Do not use the file hash when storing the LVFS submitted firmwares
This means we can't easily map between the MetaInfo entry and the file itself.
2015-07-22 10:03:36 +01:00
Richard Hughes
0bdd5cbcb8 Use the actual LVFS GPG key 2015-07-21 13:24:26 +01:00
Richard Hughes
b48e385922 Associate the contact email address directly with the vendor key
Also add a page to add and deactivate vendors.

Fixes: https://github.com/hughsie/fwupd/issues/25
2015-07-20 21:48:55 +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
60a7210318 Move the LVFS website to the fwupd project 2015-07-20 15:07:24 +01:00