Commit Graph

6390 Commits

Author SHA1 Message Date
Richard Hughes
5f01678daa Use -Doffline=false to reduce the install size by over 100Kb
If there's no SuperIO chip then there's no need to support this.
2021-11-12 21:06:34 +00:00
Richard Hughes
e840e9c23b Use -Dfish_completion=false to reduce the install size by a few more Kb 2021-11-12 21:06:34 +00:00
Richard Hughes
34d531074c Use -Dmetainfo=false to reduce the install size by over 100Kb 2021-11-12 21:06:34 +00:00
Richard Hughes
da4f50ccf0 dfu: Fix replugging when using dfu-tool to flash hardware
All kinds of things break when using more than one GUsbContext at the
same time.
2021-11-12 15:27:01 +00:00
Richard Hughes
f9cba32625 dfu: Fix critical warning when using dfu-tool
Actually connect to the correct object.

Fixes https://github.com/fwupd/fwupd/issues/3975
2021-11-12 15:27:01 +00:00
Richard Hughes
b87a909223 trivial: Do not show a critical warning is LANG is unset 2021-11-12 15:26:31 +00:00
Richard Hughes
2b37ec4afc Fix critical warning when /etc/machine-id does not exist 2021-11-12 12:45:52 +00:00
Richard Hughes
68722ec6e4 redfish: Set SSL_VERIFYHOST=0 to fix OpenBMC auth 2021-11-11 20:47:20 +00:00
Richard Hughes
5a95cf61d8 redfish: Fix crash when specifying a URL without a port 2021-11-11 20:47:20 +00:00
Crag Wang
23e194413a dell-dock: remove require-ac flag as dock supplies the power 2021-11-11 15:55:04 +00:00
Richard Hughes
4f3e2c3a57 Allow overriding HwId data from the config file
To use this on a immutable system like ChromeOS you can create a file
in /var/lib/fwupd/daemon.conf which is used as an override.
2021-11-10 17:59:52 +00:00
Richard Hughes
2c72b24978 thunderbolt: Use fu_device_inhibit() to correctly use UPDATABLE_HIDDEN
By not exposing either UPDATABLE or UPDATABLE_HIDDEN the device is
hidden in gnome-firmware. Do what all the other devices do.
2021-11-10 17:23:25 +00:00
Richard Hughes
c1f7ac47e8 tpm: Actually add the v1.2 device
Also, add end-to-end tests for this so it can never happen again.

Fixes https://github.com/fwupd/fwupd/issues/3972
2021-11-10 14:08:08 +00:00
Yehezkel Bernat
86286c3efd trivial: remove outdated comment
This comment became outdated with #3940, where the `NULL` check for `priv->ctx` that followed by early return was removed
2021-11-09 20:20:03 +00:00
Ross Burton
774a7098ad build: check that outb is present in io.h
The flashrom plugin can use inb/outb to do a CMOS reset. The build gates
this on whether io.h exists (since bc43ad) as with glibc if io.h exists,
inb/outb are defined. However on musl, io.h always exists but it may not
define inb/outb.

Thus, fwupd builds with musl on non-x86 platforms will fail to link. Fix
this by checking for both io.h and that outb() is defined.

Signed-off-by: Ross Burton <ross.burton@arm.com>
2021-11-09 14:13:03 -06:00
Richard Hughes
683fae6be3 nvme: Fix the Samsung vendor to avoid showing junk in the UI 2021-11-09 16:09:16 +00:00
Richard Hughes
ae278e1b80 Be case insensitive when fixing the device model 2021-11-09 16:09:16 +00:00
Richard Hughes
e87fc05ab9 Speed up the daemon startup by ~2% by doing dlsym much less
We were calling g_module_symbol() 2703 times, which is actually more
expensive than you'd think.

It also means the plugins are actually what we tell people they are:
A set of vfuncs that get run. The reality before that they were dlsym'd
functions that get called at pretty random times.
2021-11-09 12:02:07 +00:00
Richard Hughes
4d63d4ad7c Use g_subprocess_communicate() to fix IPFS downloads
Since switching to a custom GMainContext we broke reading the stream of
the GSubprocess.
2021-11-09 09:22:18 +00:00
Richard Hughes
09b946cb40 trivial: Fix ctrl+c when downloading with IPFS 2021-11-09 09:22:18 +00:00
Richard Hughes
eb508129a8 trivial: Remove devices already added on failed coldplug
Calling into the now-disabled makes things very tricky to debug.
2021-11-09 07:42:05 +00:00
Richard Hughes
bab0778e78 uefi-capsule: Skip devices that fail coldplug
This means that if the user has a single ESRT entry with a GUID of
00000000-0000-0000-0000-000000000000 then none of them work correctly.

Fixes https://github.com/fwupd/fwupd/issues/3950
2021-11-09 07:42:05 +00:00
Richard Hughes
37a5787229 logitech-hidpp: Set the vendor name in more places 2021-11-08 15:56:17 +00:00
Richard Hughes
764df76d34 Allow overriding the firmware GType from a quirk file
This also allows us to remove quite a lot of boilerplate from plugins.
2021-11-08 15:53:41 +00:00
Richard Hughes
36d7077f65 Add a new plugin to handle MTD devices 2021-11-05 20:01:51 +00:00
Richard Hughes
54f1557a81 trivial: Add some Impact sections to HSI attributes 2021-11-05 16:54:17 +00:00
Richard Hughes
ed419416d5 Allow setting the FuUdevDevice bind-id at runtime 2021-11-05 15:00:10 +00:00
Richard Hughes
e452f46309 trivial: Fix version typo in HSI specification 2021-11-05 14:53:11 +00:00
Richard Hughes
15d41d10ed trivial: Use more standard English in the HSI specification 2021-11-05 14:53:11 +00:00
Richard Hughes
448772b73e Wait for device reboot when using fwupdtool detach 2021-11-05 14:47:11 +00:00
Ross Burton
a346c582cc installed-tests: use sh instead of bash
fwupdmgr.sh uses [[ ]] tests, but none of the functionality offered by
them.

Use traditional [ ] tests, and switch the interpreter to /bin/sh.
2021-11-05 12:16:23 +00:00
Ross Burton
3147fef735 uefi-capsule: use /bin/sh in grub hook
Use . instead of source as source is a bashism.

Use /bin/sh as the interpretter as there are no strict bashisms in the
hook.

Ideally the shell expansion using `` is changed to $(), but the escaping
behaviour is complex and dash/busybox sh both support ``.
2021-11-05 12:16:23 +00:00
Richard Hughes
1507055849 trivial: Use GObject notify when modifying the proxy 2021-11-05 12:00:48 +00:00
Richard Hughes
c33483a279 vli: Fix a tiny memory leak on idle exit 2021-11-05 12:00:42 +00:00
Richard Hughes
ba2d82cb1d uefi-recovery: Set the device context to remove a daemon warning 2021-11-05 12:00:35 +00:00
Richard Hughes
02222a58c8 trivial: Add FU_UDEV_DEVICE_FLAG_OPEN_SYNC for future code 2021-11-05 08:01:25 +00:00
Richard Hughes
0fb2ef3aae trivial: Add fu_udev_device_seek() for future code 2021-11-05 08:01:25 +00:00
Richard Hughes
fe180cbf5d trivial: Add fu_udev_device_get_sysfs_attr_uint64() for future code 2021-11-05 08:01:25 +00:00
Richard Hughes
5dd2453012 Use a prepared query to improve startup speed by another 5% 2021-11-04 15:08:05 +00:00
Richard Hughes
9d6f862e14 trivial: Search all the GUIDs just once to speed up startup by 2%
We have to do a 2nd pass of all devices if the metadata or config file
changed, but we don't need to requery the silo at startup.
2021-11-04 15:08:05 +00:00
Richard Hughes
a32773efab Use indexes with the XPath query to speed up startup by 2% 2021-11-04 10:09:17 +00:00
Richard Hughes
1687513271 Do not sign dummy data at startup to speed up startup by ~6%
Also requires https://github.com/hughsie/libjcat/pull/54 to skip the
expensive GnuTLS signing operation for no data payload.
2021-11-04 10:09:17 +00:00
Richard Hughes
04d9f8c722 Use prepared queries for quirk lookup to speed up startup by 5%
We were already using xb_value_bindings_bind_str(), but recreating the
query object each time -- which kinda defeats the purpose...
2021-11-04 10:09:17 +00:00
Richard Hughes
eef0e079ab Speed up daemon startup by ~2%
We populate the plugin name hash table, but we forgot to use it.
2021-11-04 10:09:17 +00:00
Richard Hughes
5e895b89c9 Use pre-computed namespace GUIDs to load 0.3% faster
This should also help memory fragmentation at startup too as we were
splitting a lot of very small strings.
2021-11-03 21:51:45 +00:00
Richard Hughes
81d0216d14 trivial: Make checking a GUID faster to speed up startup by 0.23%
We call this 570 times at startup, and it makes up a non-trivial amount
of the daemon startup time...
2021-11-03 21:51:45 +00:00
Alexey Zapparov
f6b6d77eed Build logind plugin for elogind-enabled systems 2021-11-03 10:08:34 -05:00
Mario Limonciello
e873cf7dd7 trivial: ci: try to fix "Resource not accessible by integration"
See https://github.com/actions/first-interaction/issues/10 for more
2021-11-03 09:56:46 -05:00
Richard Hughes
ebf1fe19e8 trivial: Fix several broken links in the HSI specification
Fixes https://github.com/fwupd/fwupd/issues/3941
2021-11-03 13:45:08 +00:00
Richard Hughes
1a077289bc Speed up daemon startup by 15%
During my fwupd startup fu_plugin_has_custom_flag gets called 21 times
which causes all HWIDs to be enumerated with 346 calls to the quite
expensive fu_context_lookup_quirk_by_id() function.

Move the flag to a private hashset and enumerate the HWIDs only during
startup. There's nothing plugin specific about them anyway...
2021-11-03 07:14:37 +00:00