Richard Hughes
576c012d20
Do not dlclose modules when running under valgrind
...
Without this patch, unloading the module means we can't resolve the symbols
where the memory was leaked.
2017-02-24 09:47:00 +00:00
Richard Hughes
1b36055416
trivial: Fix example rpm spec file
2017-01-17 15:45:00 +00:00
Richard Hughes
b5574b463e
trivial: Fix example spec file
2017-01-10 22:10:50 +00:00
Richard Hughes
a59777ad8d
Add initial skeleton for Intel Thunderbolt support
2016-12-16 12:41:57 +00:00
Richard Hughes
59a9344c1e
Move the UPower functionality to a plugin
2016-12-12 16:28:16 +00:00
Richard Hughes
864363e139
Add support for Logitech Unifying devices
...
If you do not have Unifying hardware you can emulate writing firmware using:
$ fu-unifying-tool write file.hex -v --emulate=bootloader-nordic
2016-12-12 15:36:53 +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
319a6bab12
Move the plugins into plugin-specific directories
...
This will allow us to add further documentation here in the future.
2016-12-12 11:52:03 +00:00
Richard Hughes
28bbab532a
Unexport libebitdo
...
Nothing is ever going to use this except fwupd, so it makes no sense adding the
extra overhead.
2016-12-09 09:56:31 +00:00
Richard Hughes
bfef02dc43
trivial: Sync the example spec file with downstream
2016-10-31 08:40:23 +00:00
Richard Hughes
bef038b3a9
trivial: Update the reference spec file from downstream
2016-08-29 16:09:23 +01:00
Richard Hughes
67fd8006ba
trivial: Always build the gtk-doc for releases
2016-08-29 09:43:52 +01:00
Richard Hughes
fda7c3c3d9
trivial: Do not require libsmbios-devel on ARM
2016-08-29 09:43:27 +01:00
Richard Hughes
3667ee7b22
libdfu: Add initial ELF reading and writing support
2016-08-26 18:44:00 +01:00
Richard Hughes
923c827fba
trivial: Fix the ebitdo company name
2016-08-11 15:35:06 +01:00
Richard Hughes
f2fe6d1865
trivial: Fix up the example spec file
2016-07-27 16:57:36 +01:00
Richard Hughes
c042ff8490
Add a small library for talking with 0bitdo hardware
2016-07-27 13:54:51 +01:00
Richard Hughes
ffb99c6ff0
trivial: Add libsmbios-devel to the BRs in the example spec file
2016-07-13 12:30:32 -05:00
Richard Hughes
4eb527f873
Use a private gnupg key store
...
Although it's convenient that you can just log in as root and add another
trusted key, it makes the selinux developers unhappy. Use a private keystore
in /var/lib/fwupd/gnupg to avoid the possibility of a somehow hacked fwupd
being able to export the root gpg secrets if any happened to exist.
If you've trusted keys other than the LVFS for metadata or firmware you'll need
to re-import them into this new location.
See b7f12bd377
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1303531
2016-06-28 09:18:45 +01:00
Richard Hughes
5ac25f32e0
Generate gtk-doc documentation for libfwupd
2016-04-01 11:22:31 +01:00
Richard Hughes
f7c81e312a
Allow the test suite to run in %check
2016-04-01 10:25:05 +01:00
Richard Hughes
cf1767c5fa
Split out the libdfu-devel package
...
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1322589
2016-04-01 08:16:04 +01: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
bdb62db907
Install the hardcoded firmware AppStream file
...
This currently contains a few USB 3.0 chips which we know about, but can't
actually update ourselves.
2016-02-29 11:20:26 +00:00
Richard Hughes
e0b417e628
trivial: Update the example spec file to reflect reality
2015-12-07 16:59:21 +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
07abc45268
trivial: Fix the example spec file
2015-11-16 09:01:15 +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
f184d152ec
trivial: Sync example spec file with downstream
2015-09-21 08:45:22 +01:00
Richard Hughes
b6f9fbf1fe
Release fwupd 0.5.0
2015-09-15 11:06:08 +01:00
Richard Hughes
9d306b3c13
trivial: Update example spec file
2015-09-10 09:34:25 +01:00
Richard Hughes
5c35abb1a5
Remove fwsignd, we have the LVFS now
2015-08-27 14:45:42 +01:00
Richard Hughes
0e3dccd34b
trivial: Fix the example spec file
2015-08-20 08:09:00 +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
ac8b192033
Add a simple config file to store the correct LVFS download URI
2015-08-04 14:56:39 +01:00
Richard Hughes
e223577fac
trivial: Update spec file from downstream
2015-07-27 15:50:04 +01:00
Richard Hughes
ebaf7ba035
Allow running fwsignd as the non-root user
...
...however, most users will still want to use the root user so that the owner
and group are set correctly on the destination files.
2015-07-21 13:24:26 +01:00
Mario Limonciello
28b8151ca0
Don't call efibootmgr after fwupdate.
...
fwupdate will handle creating the appropriate BootNext entry.
No other changes are needed from fwupd.
Signed-off-by: Richard Hughes <richard@hughsie.com>
2015-07-20 16:21:24 +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
691e02d652
Add a simple signing server that operates on .cab files
2015-07-20 15:31:10 +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
274818a11e
trivial: Actually install the systemd service files
2015-04-27 11:10:03 +01:00
Richard Hughes
d8a02bfeeb
Run the offline actions using systemd when required
2015-04-25 17:14:20 +01:00
Richard Hughes
7cdbb17777
trivial: Use fwupdate-devel in the example spec file
2015-04-22 16:43:06 +01:00
Richard Hughes
2f2bee85bc
Release fwupd 0.1.2
2015-04-22 15:21:02 +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
8645ec9ad5
Create a libfwupd shared library
2015-03-19 10:54:05 +00:00
Richard Hughes
ac9721399a
Add a systemd service file
2015-03-16 13:07:31 +00:00
Richard Hughes
310419856b
trivial: Add some files ready for a first release
2015-03-16 12:51:04 +00:00
Richard Hughes
31ddb97066
trivial: Relax the BRs so we can build in Fedora 22
2015-03-16 11:38:03 +00:00
Richard Hughes
45255952b7
Use efibootmgr to automatically boot the UEFI firmware update process
2015-03-11 21:34:40 +00:00
Richard Hughes
d08dca72f6
Allow any admin users to install system firmware without a password
...
From a security point of view, this is no more scary than allowing admin users
to install a new kernel or glibc package.
2015-03-11 19:55:47 +00:00
Richard Hughes
18e7591104
Use fwup.h to actually implement the UEFI update
2015-03-05 13:56:56 +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
3e7b27184a
trivial: Fix the example spec file
2015-03-04 22:30:12 +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
8dbfb1c478
Add initial build files and enough code to launch a simple D-Bus daemon
2015-02-26 18:16:40 +00:00