Commit Graph

74 Commits

Author SHA1 Message Date
Richard Hughes
0e39ff0ef8 trivial: Add a section on using a compat layers in fwupd 2020-03-12 11:44:51 +00:00
Richard Hughes
3ed2ac8315 trivial: Unexport fu_test_get_filename()
We don't actually need either of the things it provides (looking up in source
and built, and converting to an absolute path) so just replace it with
g_build_filename() instead.

This also has the advantage that it does the right thing on Windows.
2019-11-27 12:45:35 +00:00
Mario Limonciello
6b0e66354b Convert libfwupdprivate to a shared library libfwupdplugin 2019-11-27 11:32:43 +00:00
Richard Hughes
f0f504c740 trivial: Do not use FuProgressbar in dfu-tool
This is a debug-only command line program, and we don't want plugins to have
access to the animated progressbar header in the future.
2019-11-26 17:15:18 +00:00
Richard Hughes
019a1bc2b0 trivial: Untangle FuHistory from FuPlugin
This will allow us to export FuPlugin in the future without dragging in the
private fu-history.h too.
2019-11-26 14:14:27 +00:00
Mario Limonciello
f1a4d87063 Add missing documentation from the plugin interface
Also update the structure as the documentation doesn't only describe
libfwupd.
2019-11-26 06:31:57 +00:00
Mario Limonciello
d454485be3 trivial: remove version-format.md
It's not being kept up to date, and superceded by
https://fwupd.org/lvfs/docs/metainfo/version
2019-11-23 20:17:22 +00:00
Mario Limonciello
5123d4333e Rename unifying plugin to logitech-hidpp (Fixes: #1329) 2019-11-04 13:35:36 -06:00
Richard Hughes
7301d06f23 dfu: Remove support for the Metadata Store Proposal
This was never adopted, and firmware now indicates the license in the metainfo
file rather than the DFU file itself.
2019-10-09 20:56:38 +01:00
Richard Hughes
dce91204c9 Fix some typos spotted using codespell 2019-04-08 12:47:53 +01:00
Richard Hughes
89ab873f72 trivial: Add yet another version encoding
This variant is a quad-style, but with the Microsoft style 4 digit BuildVer.
2018-10-18 19:31:04 +01:00
Richard Hughes
828c039c00 trivial: Fix up some gtk-doc warnings 2018-09-04 08:22:39 -05:00
Richard Hughes
d625eca20a trivial: Fix some spelling in the architecture plan
Also, add the LVFS and drag the graphics into the 20th century.
2018-07-15 10:09:02 +01:00
Mario Limonciello
db419f066c trivial: Make gtkdoc-scan a build dependency when docs are on
Fixes #575
2018-06-28 08:54:22 -05:00
Richard Hughes
d0cff7caec Remove autoconf-isms from the meson configure options
See https://wiki.gnome.org/Initiatives/GnomeGoals/MesonPorting
2017-11-27 18:07:53 +00:00
Richard Hughes
29a524fdfb Add FuUsbDevice helper object
This allows us to move a lot of duplicated functionality out of each plugin.
2017-11-24 14:04:51 +00:00
Richard Hughes
49fafec020 Set environment variables to allow easy per-plugin debugging
This allows end-users testing a specific plugin to start fwupd with an extra
command line parameter, e.g. `--plugin-verbose=unifying` to output a lot of
debugging information to the console for that specific plugin.

This replaces a lot of ad-hoc environment variables with different naming
conventions.
2017-11-14 14:22:02 +00:00
Richard Hughes
0d7fdb3110 Split out the update detach and attach phases as explicit optional vfuncs
This allows us to do two things:

* Attach after a failed update, so the user isn't left with 'dead' hardware
* Split the detach and attach actions into different plugins in the future

This also allows us to have a separate vfunc to get the new version number
after flashing the firmware, as this may be handled in a different plugin to
the detach phase.
2017-11-14 10:49:43 +00:00
Richard Hughes
9c028f06b5 Move the database of supported devices out into runtime loaded files
When fwupd is installed in long-term support distros it's very hard to backport
new versions as new hardware is released.

There are several reasons why we can't just include the mapping and quirk
information in the AppStream metadata:

 * The extra data is hugely specific to the installed fwupd plugin versions
 * The device-id is per-device, and the mapping is usually per-plugin
 * Often the information is needed before the FuDevice is created
 * There are security implications in allowing plugins to handle new devices

The idea with quirks is that the end user can drop an additional (or replace
an existing) file in a .d director with a simple format and the hardware will
magically start working. This assumes no new quirks are required, as this would
obviously need code changes, but allows us to get most existing devices working
in an easy way without the user compiling anything.

This allows us to fix issues like https://github.com/hughsie/fwupd/issues/265
2017-11-02 19:08:51 +00:00
Richard Hughes
839099418f trivial: Add the start of a plugin tutorial 2017-10-12 22:07:44 +01:00
Richard Hughes
cd0d72abbe trivial: Move the man pages to the source locations
This should make it easier to keep them in sync.
2017-10-09 09:59:52 +01:00
Richard Hughes
deae3a779d Add the plugin documentation to the main gtk-doc
It's only small, and trivial to include. In the future we can include a plugin
tutorial and some more examples.
2017-10-05 10:32:05 +01:00
Richard Hughes
80893e29fe trivial: Remove FwupdResult from libfwupd 2017-09-28 09:23:52 +01:00
Richard Hughes
68480a2069 trivial: Move the libdfu sources to the dfu plugin 2017-09-07 18:39:23 +01:00
Richard Hughes
4022700bc8 Do not install the libdfu helper library
In reality fwupd is the only user and we don't want to hold this library to the
same kind of API and ABI guarantees of libfwupd.
2017-09-06 16:21:32 +01:00
Richard Hughes
492131daa5 trivial: Include all the GTypes in the generated docs 2017-07-10 21:02:52 +01:00
Chris Mayo
f358837685 Make documentation and man pages optional
Reduce the minimum build-time dependencies.
2017-05-31 20:00:59 +01:00
Mario Limonciello
e55f52de09 fix man page installation location
docbook2man's --output argument is expecting a directory
feeding it the location of the man page just puts the man page
under a directory with the same name in the build directory.
2017-04-28 15:27:59 -05: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
82dcdfeec6 trivial: Don't change the documentation output every time the version changes
This was added for cosmetic reasons, and including the version makes the
generated html documentation change every release even if there were no API
changes.
2017-04-12 14:53:55 +01:00
Richard Hughes
a985781308 trivial: No not list the API version indexes
We've been really bad at keeping these up to date, so just drop them.
2017-04-12 14:53:55 +01:00
Richard Hughes
16e2b4cc0f trivial: Do not try to load tree_index.sgml in the documentation
We don't have a hierarchy file, so it's somewhat of a mystery how this ever was
generated.
2017-04-12 14:53:54 +01:00
Richard Hughes
0e94553fb0 Revert "Make it compile with docbook2X"
This reverts commit 0e8f5d93ae.
2017-02-16 10:47:35 +00:00
Kai Krakow
ce2c41a11e Do not hardcode docbook2man path
In docbook2X, the command is docbook2man.pl instead of docbook2man
2017-02-13 08:51:10 +00:00
Kai Krakow
0e8f5d93ae Make it compile with docbook2X
Gentoo ships with docbook2X which doesn't accept the format of the SGML
file due to incomplete DOCTYPE settings.
2017-02-13 08:51:10 +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
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