Richard Hughes
ebbb13c2b4
Remove the libfwup dependency from fwupd
...
In Fedora the only user of libfwupdate is fwupd and the fwupdate command line
tool. It makes sense to absorb the libfwupdate library interface into the
uefi plugin in fwupd. Benefits I can see include:
* fwupd and fwupdate are very similar names; a lot of OEMs are confused
* fwupd already depends on efivar for other things
* We are maintaining an artificial library interface
* The CI and translation hooks are already in place for fwupd
* We don't need to check for features or versions in fwupd, we can just develop
the feature (e.g. BGRT) all in one place.
2018-06-28 15:51:11 +01:00
Richard Hughes
1ccf35a9e4
dell: Register devices with the uefi plugin rather than using libfwup directly
...
The device registration allows us to create a 'virtual' device that can accept
capsule updates that is not found in the ESRT.
2018-06-28 15:51:11 +01:00
Richard Hughes
dd23871698
uefi: Do not link against libfwup
2018-06-28 15:51:11 +01:00
Richard Hughes
a80f79cb4d
uefi: Upload the firmware capsule without using libfwup
2018-06-28 15:51:11 +01:00
Richard Hughes
11d62030a3
uefi: Upload the historical result without using libfwup
2018-06-28 15:51:11 +01:00
Richard Hughes
b157d6eff9
uefi: Unlock the ESRT without using libfwup
...
This will be handled by a Dell-specific plugin instead.
2018-06-28 15:51:11 +01:00
Richard Hughes
cff980cfda
uefi: Do not get the custom ESP location from libfwup
2018-06-28 15:51:11 +01:00
Richard Hughes
fb0e94857f
uefi: Upload the UX bitmap without using libfwup
2018-06-28 15:51:11 +01:00
Richard Hughes
f3f4ca0320
uefi: Clear the device status without using libfwup
2018-06-28 15:51:11 +01:00
Richard Hughes
5585b00892
uefi: Access /sys/firmware/efi/efivars directly rather than using efivars
...
This allows us to redirect the functions for our self tests.
2018-06-28 15:51:11 +01:00
Mario Limonciello
411952700c
Download latest signed version of fwupx64.efi during snap build
...
This might not match the version that's in the snap, but if someone
is booted in secure boot, it's better completely failing.
2018-06-28 15:51:11 +01:00
Mario Limonciello
cfc22a8b90
uefi: Detect the EFI system partition location at runtime
...
Check across a list of common EFI system partition locations for a mounted
location before starting fwupd.
This also will cause the plugin to not initialize if the EFI system partition
is not mounted.
2018-06-28 15:51:11 +01:00
Richard Hughes
ca5b4a7c97
uefi: Do not use libfwupdate to get the list of resources
2018-06-28 15:51:11 +01:00
Richard Hughes
ae47a347e0
uefi: Do not enable the plugin if efivars are not available
...
If the user is using some super-old kernel or broken system we want to return
early with an error rather than try to catch each way this can fail at runtime.
2018-06-28 15:51:11 +01:00
Richard Hughes
af5ec20004
uefi: Get the framebuffer without calling into libfwupdate
2018-06-28 15:51:11 +01:00
Richard Hughes
d7cdf9fb67
uefi: Use FuUefiBgrt from the plugin code
2018-06-28 15:51:11 +01:00
Richard Hughes
b1e0ab98d1
uefi: Import the fwupd.efi sources from the fwupdate project
2018-06-28 15:51:11 +01:00
Richard Hughes
44367e707d
trivial: Bump the required version of libsmbios_c
...
Also, disable the dell plugin for the CentOS build.
2018-06-28 15:51:11 +01:00
Richard Hughes
ca851f5ab4
trivial: Add fu_device_incorporate()
...
This allows us to copy properties from a donor object.
2018-06-28 15:51:11 +01:00
Richard Hughes
62ba9a6f2f
uefi: Check the flashes left before installing firmware
2018-06-28 15:51:11 +01:00
Richard Hughes
83390f6556
uefi: Add functionality to parse the EFI framebuffer size
2018-06-28 15:51:11 +01:00
Richard Hughes
f758e7b73a
uefi: Add functionality to parse the BGRT table supported
2018-06-28 15:51:11 +01:00
Richard Hughes
a593447695
uefi: Add functionality to get a bitmap size
2018-06-28 15:51:11 +01:00
Richard Hughes
6b8235660b
trivial: Move getting the secure boot status to the common file
2018-06-28 15:51:11 +01:00
Richard Hughes
2b1fcfd662
trivial: Use FuUefiDeviceStatus in preference to the defines from fwupdate
2018-06-28 15:51:11 +01:00
Richard Hughes
25509c01ce
trivial: Use FuUefiDeviceKind in preference to the defines from fwupdate
2018-06-28 15:51:11 +01:00
Richard Hughes
0766857407
uefi: Read the ESRT entries from a directory in sysfs
2018-06-28 15:51:11 +01:00
Richard Hughes
bd80edd6be
uefi: Add a device superclass to model each ESRT entry
2018-06-28 15:51:11 +01:00
Richard Hughes
282b10dbbf
trivial: Allow using a custom firmware location in the self tests
2018-06-28 15:51:11 +01:00
Richard Hughes
1a1d135b13
trivial: Add UTF8 to UCS2 helpers from the fwupdate project
2018-06-28 15:51:11 +01:00
Richard Hughes
e0cd6e0667
Add fwupd_device_incorporate()
...
This allows us to copy properties from a donor object.
2018-06-28 15:51:11 +01:00
Richard Hughes
c43a9e9024
trivial: Fix the Since lines for the equivalent_id functions
2018-06-28 15:51:11 +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
Mario Limonciello
4eff978638
trivial: make gcab a build dependency
...
Fixes #574
2018-06-28 08:54:22 -05:00
Richard Hughes
87fb9ff447
Change the quirk file structure to be more efficient
...
This pivots the data storage so that the group is used as the preconditon
and the key name is used as the parameter to change. This allows a more natural
data flow, where a new device needs one new group and a few few keys, rather
than multiple groups, each with one key.
This also allows us to remove the key globbing when matching the version format
which is often a source of confusion.
Whilst changing all the quirk files, change the key prefixes to be more familiar
to Windows users (e.g. Hwid -> Smbios, and FuUsbDevice -> DeviceInstanceId)
who have to use the same IDs in Windows Update.
This also allows us to pre-match the desired plugin, rather than calling the
probe() function on each plugin.
2018-06-28 13:32:30 +01:00
Richard Hughes
411fcbde43
trivial: Add a hardware test for the AIAIAI H05
2018-06-28 13:29:37 +01:00
Richard Hughes
e4ad057553
trivial: Add a hardware test for the 8Bitdo SF30 Pro hamepad
2018-06-28 13:29:37 +01:00
Richard Hughes
51345edf24
trivial: Rename the wacom quirk file
...
It's not Intuos specific at all.
2018-06-28 12:21:36 +01:00
Richard Hughes
a39d6a52b5
trivial: Skip plugins that require the 'Plugin' quirk is set
2018-06-28 12:17:15 +01:00
Richard Hughes
6dbe8fef34
Allow devices to assign a plugin from the quirk subsystem
...
Not calling dozens of ->probe() functions is dramatically more efficient when
there are a large number of USB devices attached.
This requires plugins to 'opt-in' to the new behaviour, and also to supply
quirks that match all devices.
2018-06-28 12:16:31 +01:00
Richard Hughes
5f3a56b0fa
Add fu_plugin_has_rule()
...
This allows us to check if a specific name exists for a given rule type.
2018-06-28 12:13:59 +01:00
Richard Hughes
9ecde4a38a
trivial: Allow setting standard FwupdDeviceFlags when getting quirk data
2018-06-28 12:08:01 +01:00
Richard Hughes
ac11be65f3
trivial: Add fu_device_has_custom_flag()
...
This splits the custom flags and checks if one of them exists.
2018-06-28 12:07:13 +01:00
Richard Hughes
63b173046d
trivial: Rename the 'plugin-hints' functionality to 'custom-flags'
...
They will be used as actual flags in the future.
2018-06-28 12:07:13 +01:00
Richard Hughes
e1d65f3f5d
trivial: Enable epel-testing for the Centos build
2018-06-27 16:48:35 +01:00
Richard Hughes
83d46b0579
Fix linker argument checks
...
Meson 0.46.0 adds has_link_argument to compiler objects, and we should use it
instead of has_argument when checking linker arguments.
2018-06-27 16:48:35 +01:00
Richard Hughes
7e43ed191d
trivial: Use the correct metainfo ID in the static metadata
...
This isn't important, but it makes it easier to understand in gnome-software.
2018-06-27 14:07:27 +01:00
Richard Hughes
83cd57f095
Fix downgrading older releases to devices
...
The requirement filter needs to be relaxed when getting the available releases
for a device when not used to install the firmware.
2018-06-27 14:07:23 +01:00
Richard Hughes
8848675f9b
trivial: Show supported device without using --show-all-devices
...
In the case of a device that is unlockable, but is not updatable we want to
show it by default.
2018-06-27 14:07:11 +01:00
Richard Hughes
cd330b09d3
trivial: include libsmbios for the Arch CI build
2018-06-27 12:52:32 +01:00