Commit Graph

732 Commits

Author SHA1 Message Date
Richard Hughes
11603b3e06 Install the UX data into a single .tar.xz file
This allows much better compression (-60%) than gziping them individually and
also allows us to build the capsule UX images as part of the build stage.

Also add more popular screen resolutions for laptops you can buy in 2021.
2021-01-20 11:03:20 +00:00
Mario Limonciello
ac5d2c5370 trivial: debian: fwupd.postinst: Adjust to read /etc/os-release instead
`/etc/lsb-release` isn't in modern debian installations
2021-01-19 15:47:50 -06:00
Richard Hughes
6101067f03 coreboot: Remove plugin and instead add metadata to flashrom devices
The coreboot plugin never actually gained the ability to write. As it stands a
coreboot system now adds *two* system-firmware devices (from both flashrom and
coreboot) which isn't ideal.

Just allow flashrom to enumerate quirked devices and add coreboot-specific
metadata as required. If we require some kind of cbfs parsing then we can do
that in FuFlashromDevice->prepare_firmware().
2021-01-19 21:32:59 +00:00
Mario Limonciello
5c04b4f4bd trivial: debian: read /etc/lsb-release instead of dpkg-dev (Closes: #977860, #977861, #970783) 2021-01-19 12:47:46 -06:00
Richard Hughes
eb4dcefbc6 Make the null-false-returns script also process return type
And fix up the rather disapointing single place we got it wrong...
2021-01-14 14:22:15 +00:00
Mario Limonciello
924c7080fc trivial: debian: add dbus to recommends (Closes: #980049) 2021-01-13 14:16:00 -06:00
Mario Limonciello
dcd154881a trivial: debian: fix modules-load.d directory
Fixes: #2755
2021-01-13 11:46:07 -06:00
Richard Hughes
2551862c81 trivial: Blacken Python source files 2021-01-12 22:05:21 +00:00
Richard Hughes
7013c41bb4 trivial: Remove unused Python script 2021-01-12 22:05:21 +00:00
Richard Hughes
a75ef53eaf trivial: Rename the meson option for plugin_synaptics_mst 2021-01-12 21:32:12 +00:00
Richard Hughes
5c915eef1e Check the return values of g_return_val_if_fail() in CI 2021-01-12 20:31:47 +00:00
Mario Limonciello
cf9a74ec35 trivial: debian: migrate uefi->uefi_capsule in uefi.conf
Fixes: #2748
2021-01-12 13:34:11 -06:00
Richard Hughes
c8b259c923 trivial: Use shellcheck to check for bash errors 2021-01-12 16:54:37 +00:00
Richard Hughes
e93810202d trivial: Do not install uefi-pk for non-UEFI machines 2021-01-08 18:27:28 +00:00
Richard Hughes
a18399e523 trivial: Ensure critical warnings are fatal in CI 2021-01-07 16:39:08 +00:00
Richard Hughes
5c9b1fcc81 Only include the start year in the copyright header
The end year is legally and functionally redundant, and more importantly causes
cherry-pick conflicts when trying to maintain old branches. Use git for history.
2021-01-07 14:48:16 +00:00
Richard Hughes
cf100293b5 Do not export useless device attributes to the client
That giant uint64_t isn't looking so big now, and we'll want to add even more
to it in the future. Split out some private flags that are never useful to the
client, although the #defines will have to remain until we break API again.
2021-01-06 14:36:23 +00:00
Richard Hughes
104459bd10 Check the AMI test key if not installed for HSI-1
Fixes https://github.com/fwupd/fwupd/issues/2695
2021-01-05 17:09:02 +00:00
Richard Hughes
ee2e2c3674 uefi: Rename to uefi-capsule
Rename the plugin to make it clearer of the scope.

Based on a patch from Mario Limonciello <mario.limonciello@dell.com>
2021-01-05 15:31:22 +00:00
Richard Hughes
eddaed0c11 Allow specifying more than one VendorID for a device
Asking the user for the UID mapping isn't working very well, as it requires lots
of manual handholding. It also doesn't work very well when the device vendor
does not actually have a PCI ID or if the vendor has split into two entities.

Just use the OUI address as an additional VendorID and match any of the device
IDs against any of the metadata-supplied values.
2021-01-04 22:30:20 +00:00
Jimmy Yu
23cd466ef1 Add plugin to update PixArt RF devices
Signed-off-by: Richard Hughes <richard@hughsie.com>
2021-01-04 17:20:13 +00:00
Richard Hughes
c4ca8e25d1 Use honggfuzz to fuzz firmware rather than AFL
This has better multi-core performance and can run in persistent mode -- which
allows us to construct a test harness of all the parsers (which takes time) and
then just reuse the process for lots of different data.
2020-12-11 09:37:42 +00:00
Mario Limonciello
9547d7a4b3 trivial: debian: only install fwupd-msr.conf if needed
Fix FTBFS on !x86
2020-12-08 10:47:46 -06:00
Mario Limonciello
4036d4f9e2 trivial: debian: migrate modules-load.d files to correct location
They shouldn't be conffiles.
Fixes: #2592
2020-12-08 09:42:54 -06:00
Mario Limonciello
c36d2f2959 Migrate debian/fwupd.preinst content to debian/fwupd.maintscript 2020-12-08 09:42:54 -06:00
Richard Hughes
f475b48718 trivial: post release version bump 2020-12-08 10:17:13 +00:00
Mario Limonciello
d432161143 Add a CI tester for running libfwupd with QT threads
This only runs on Arch to avoid giving the extra dependencies to all
the distro CI builds.
2020-12-07 09:18:18 -06:00
Richard Hughes
00640f42f2 Lower the CURL version required to fix build in RHEL
Some vendors really really want 1.5.x in newer RHEL versions, but the version
of curl is too old. Add #ifdefs so that we can emulate (somewhat imperfectly)
the 'new' CURLU functonality.
2020-12-07 14:17:22 +00:00
Mario Limonciello
a13ba4e8a1 trivial: simple_client: add a refresh metadata function 2020-12-07 13:29:42 +00:00
Bruno Pagani
014e5526ff contrib/ci: Fix Arch cache issues
Update cache (which also requires to update the system) to avoid cache issues like the one seen in https://github.com/fwupd/fwupd/pull/2633
2020-12-03 07:57:16 -06:00
Mario Limonciello
5198bdcde2 trivial: make platform integrity plugin optional and disabled by default
Fixes: #2634
When it's upstream, we may consider to change this for some distros.
2020-12-03 09:07:49 +00:00
Richard Hughes
d1f901a012 trivial: Ensure old ODM remotes are fixed on upgrade 2020-11-29 07:24:33 +00:00
Richard Hughes
6b57229def trivial: Add Recommends udisks2 to the example spec file 2020-11-23 16:03:48 +00:00
Richard Hughes
173d389fa5 Register the SoupSession gtype when required
This allows old gnome-software clients to work with new fwupd versions.
2020-11-19 19:39:37 +00:00
Mario Limonciello
487a391c47 trivial: add libsoup in for ABI checking
This patch should be reverted after switching from libcurl to
libsoup
2020-11-19 19:39:37 +00:00
Richard Hughes
3a73c342ba Switch from libsoup to libcurl
The former drags on glib-networking and then gsettings-desktop-schemas, which
add over 5Mb to the minimal IoT and CoreOS composes. Everything already uses
libcurl (even NetworkManager!) and so this is an easy way to reduce image size.
2020-11-19 19:39:37 +00:00
Richard Hughes
a6e6085365 trivial: Use a non-obsolete Fedora version for the Windows build 2020-11-19 19:39:37 +00:00
Mario Limonciello
423270e98b trivial: explicitly install missing dependencies in ubuntu.sh
If a new dependency is added but not present in the container,
`debian.sh` will abort trying to use packaging, which will cause
`ubuntu.sh` to executed.  Rather than fail the build, try to
install anything missing.

This helps with the split CI where the containers are re-generated
nightly.
2020-11-18 12:34:19 -06:00
Mario Limonciello
afc2220005 trivial: drop stale Dockerfiles 2020-11-18 06:47:57 -06:00
Mario Limonciello
7fbab31609 trivial: ci: drop chromeos target
this doesn't accurately cover chromeos, as they now use jcat in
the build with pkcs7 support.

a chromeos target may come later with #2141
2020-11-18 06:47:57 -06:00
Mario Limonciello
07be134dca trivial: Github actions: Split up container creation 2020-11-18 06:47:57 -06:00
Mario Limonciello
0b64457256 Move ABI check to Github actions 2020-11-18 06:47:57 -06:00
Mario Limonciello
fa36c88514 trivial: fedora: switch back to defaults for redfish and nvme plugins 2020-11-18 08:21:00 +00:00
Mario Limonciello
16566cec64 trivial: debian: switch back to defaults for nvme and redfish
these plugins don't require efivar anymore
2020-11-18 08:21:00 +00:00
Mario Limonciello
f5583481bf trivial: debian: disable downloading from LVFS in autopkgtest
There are two ways to go:
1. Enable `needs-internet` in the test bed
2. Skip these tests

Per https://salsa.debian.org/ci-team/autopkgtest/blob/master/doc/README.package-tests.rst
the testing should avoid having to download from remote services to
keep the testing more deterministic and reliable.
2020-11-16 17:06:34 -06:00
Mario Limonciello
103ce59922 trivial: debian: add git to fwupdate-tests dependencies
this is needed for autopkgtest now
2020-11-16 10:45:01 -06:00
Mario Limonciello
2222efc297 Add breaks for fwupdate 12-7 (Closes: #960688) 2020-11-16 10:45:01 -06:00
tinywrkb
07d5aef247 Install modules-load configs in the correct directory
Signed-off-by: Richard Hughes <richard@hughsie.com>
2020-11-16 15:27:13 +00:00
Jessica Clarke
646f23edd5 debian: Add quotes around glob 2020-11-16 08:06:48 -06:00
Jessica Clarke
99c37df81c debian: Remove unnecessary ./ use 2020-11-16 08:06:48 -06:00
Jessica Clarke
f6b1ff0409 debian: Avoid looking like a set -e is missing
The exit code for an if is the final command's so single-command if
statements are safe. However, this is rather subtle and could easily be
accidentally overlooked when making future changes. We could add a set
-e to be defensive, but instead let's use the idiomatic way of doing
one-line if statements in shell that always yield the right exit code.
2020-11-16 08:06:48 -06:00
Jessica Clarke
e36ecb42ed debian: Use uniform spacing around semicolons 2020-11-16 08:06:48 -06:00
Jessica Clarke
ae4ee910b9 debian: Fix another dangerous missing set -e 2020-11-16 08:06:48 -06:00
Jessica Clarke
f69931032e debian: Build up CONFARGS list rather than individual variables
This avoids having a silly line length for the dh_auto_configure
invocation.
2020-11-16 08:06:48 -06:00
Jessica Clarke
227e281cf9 debian: Fix another instance of unusual ifeq syntax 2020-11-16 08:06:48 -06:00
Jessica Clarke
474e4135e8 debian: Fix dangerous lack of set -e
Also split the long line whilst here.
2020-11-16 08:06:48 -06:00
Jessica Clarke
8218923985 debian: Check for valgrind in Makefile not shell and don't hard-code path 2020-11-16 08:06:48 -06:00
Jessica Clarke
65b4f61110 debian: Drop pointless dh_shlibdeps override
There's no other mention of DHSLIBS in the entire tree so it'll always
be empty.
2020-11-16 08:06:48 -06:00
Jessica Clarke
4b2d77bbe9 debian: Use if/else rather than overriding default values
This makes the code easier to follow.

Whilst here use DEB_HOST_ARCH_CPU for the ia64 and use the more
conventional syntax.
2020-11-16 08:06:48 -06:00
Jessica Clarke
43d7c50609 debian: Prefer Makefile substitution over shell substitution
This makes the output show what is being run and avoids ugly multi-line
shell commands. It also avoids needlessly polluting the environment.
2020-11-16 08:06:48 -06:00
Jessica Clarke
de55495d95 debian: Check DEB_HOST_ARCH_CPU not DEB_HOST_ARCH for MSR plugin
The plugin is CPU-dependent, not kernel, ABI or libc dependent.

This makes x32 build the plugin again.
2020-11-16 08:06:48 -06:00
Mario Limonciello
e6154b3425 trivial: debian: disable msr plugin on all !x86
Fixes build failure on arm64 and armhf
2020-11-14 00:00:11 -06:00
Mario Limonciello
80212a3d0b trivial: debian: don't hardcode paths in libexec
Some architectures won't have `fwupd-detect-cet` and this causes
build failures for those architectures

Fixes build failures on:
ppc64, risvc64, sparc64, powerpc, m68k, ia64, hppa, alpha, s390x,
mipsel, mips64el, armel
2020-11-14 00:00:11 -06:00
Mario Limonciello
bdaa080be3 trivial: disable bios plugin outside of systems with uefi
Fixes: #2576
2020-11-13 08:19:30 +00:00
Mario Limonciello
bd60de12be Add a flag to indicate if packages are supported
Anyone can easily add this, but it makes it clearer that by default hand
build, snap, and flatpak are not checked by anyone.
2020-11-11 14:34:59 -06:00
Richard Hughes
e29294d7f2 trivial: Add systemd-devel to fwupd BRs 2020-11-10 20:35:55 +00:00
Richard Hughes
db4894e863 hailuck: Add an plugin for the Pinebook Pro laptop
This is not complete enough for LVFS-usage, but good enough to use with commands
such as fwupdtool. It's likely newer kbd and tp firmware will be required to
integrate with the fwupd in all required ways.
2020-11-09 16:17:34 +00:00
Hsieh-Tseng Shen
c7e58784c7 trivial: make dbxtool executable to fix snap build 2020-11-05 13:00:33 +00:00
Richard Hughes
a053134504 Notify the service manager when idle-quitting
This makes sure that the main process won't get SIGTERM on shutdown.

Inspired from a patch by Jonathan Kang <jonathankang@gnome.org>
2020-11-04 14:45:59 +00:00
Thierry Vignaud
aa52c0cc64 trivial: Use proper %{_mandir} macro
Signed-off-by: Richard Hughes <richard@hughsie.com>
2020-11-04 08:21:32 +00:00
Richard Hughes
203ed841da trivial: Codespell fixes 2020-11-02 14:26:26 +00:00
Richard Hughes
bde99ef4bc trivial: Fix Debian CI failure 2020-11-02 14:22:37 +00:00
Jonas Witschel
267dbd1612 contrib/ci: switch TPM simulator from ibmswtpm to swtpm
Upstream tpm2-tss is moving from ibmswtpm to swtpm as the default TPM
simulator. ibmswtpm still works fine and will be kept around for the
foreseeable future, but adapt to the upstream decision in case ibmswtpm should
ever get dropped from the official Arch Linux repositories (currently there are
no plans to do so).
2020-10-28 07:50:11 -05:00
Mario Limonciello
11b71f4978 Offer to compile daemon without polkit support
Based on a patch from Daniel Campello at
https://chromium-review.googlesource.com/c/chromiumos/third_party/fwupd/+/2354521
2020-10-14 07:58:16 -05:00
Tomas Winkler
f994813858 contrib: fwupd.spec : install tests only when enabled.
Install tests in the rpm package only when tests are enabled.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
2020-10-13 11:51:19 -05:00
Richard Hughes
e8e7a16c2e trivial: Fix aarch64 Fedora build 2020-10-12 09:17:47 +01:00
Richard Hughes
4123885c81 bcm57xx: Add a plugin that can update the BCM5719 network adapter 2020-10-08 16:49:07 +01:00
Richard Hughes
a1bc349dba spec: Split out a fwupd-plugin-flashrom subpackage
This is installed by default, but means it can be excluded from the minimal
CoreOS image. It's highly unlikely that anything running CoreOS has anything
unlocked that can be flashed using flashrom.

This drops inclusion of dmidecode, libftdi, pciutils-libs and flashrom as hard
dependencies from the package set.
2020-10-07 13:08:54 +01:00
Richard Hughes
8d850db5cd spec: Split out a fwupd-plugin-modem-manager subpackage
This is installed by default, but means it can be excluded from the minimal
CoreOS image. It's highly unlikely that anything running CoreOS has mobile
broadband hardware attached.

This drops inclusion of libmbim, libqmi and ModemManager-glib as hard
dependencies from the package set.
2020-10-07 13:08:54 +01:00
boger.wang
4986e0f020 Add plugin for goodix fingerprint sensors
Support updating firmware for Goodix MOC fingerprint sensors.
2020-09-28 12:43:49 +01:00
Richard Hughes
13bae744be platform-integrity: Use the BCR values provided by the kernel class
This requires the new kernel driver by Daniel Gutson.
2020-09-14 16:18:12 +01:00
Mario Limonciello
258177472f trivial: debian/rules: disable flashrom for ia64 2020-09-11 13:58:11 -05:00
Mario Limonciello
eb4472a479 trivial: debian: add udisks2 to recommends
(Closes: #970054)
2020-09-10 17:31:10 -05:00
Mario Limonciello
110eb286bc Make TPM more optional (Fixes: #2360)
- Rename the `plugin_tpm` option to `tpm` and when it's disabled
remove TPM support from all plugins
- If enabled then require the TSS to be installed
2020-09-08 15:16:58 -05:00
Richard Hughes
840e84bcf2 elantp: Add a plugin to update Elan Touchpads using HID 2020-09-01 12:17:44 +01:00
Benson Leung
c0fcd64b4a Bump libgusb-devel version to 0.3.5 for debian 2020-08-28 10:48:03 -07:00
Benson Leung
40efe471c4 Disable gusb:tests 2020-08-28 10:48:03 -07:00
Benson Leung
96bad357ad Require libgusb 0.3.5
Newer version of libgusb has g_usb_device_get_configuration_index which
will be used by cros-ec plugin.

Skip bumping this dependency on Debian and Ubuntu as of this commit date,
they don't know about 0.3.5 yet.
2020-08-28 10:48:03 -07:00
Mario Limonciello
58eeeff9a8 trivial: only run scan-build if compiler is clang 2020-08-28 12:12:23 -05:00
Mario Limonciello
6f4b72cea5 trivial: disable gusb self tests for ubuntu 2020-08-28 11:51:23 -05:00
Richard Hughes
019c096fcc trivial: Fix Fedora s390x build 2020-08-28 16:58:08 +01:00
Richard Hughes
439945c71c trivial: Do not require and obsolete dbxtool 2020-08-28 16:58:08 +01:00
Mario Limonciello
ac4444b528 trivial: debian ci: don't use packaging when subproject active
This prevents carrying hacks in the packaging specific to CI things
that will never actually land in Debian.

This will keep CI availability high while new packages are not yet
actually landed into Debian.
2020-08-28 10:56:20 -05:00
Mario Limonciello
c76775641b Revert "trivial: debian: don't fail CI for subprojects"
This reverts commit fc9cb560eb.
2020-08-28 10:56:20 -05:00
Mario Limonciello
5de5dd3582 Install the installed tests
Move binaries out of fwupd tree to https://github.com/fwupd/fwupd-test-firmware

Fixes some of https://github.com/fwupd/fwupd/issues/1956
2020-08-28 10:10:43 -05:00
Richard Hughes
8819ee54f3 trivial: Update the CI to Fedora 32 and drop various workarounds 2020-08-26 16:42:46 +01:00
Mario Limonciello
fc9cb560eb trivial: debian: don't fail CI for subprojects 2020-08-26 10:14:41 -05:00
Mario Limonciello
82c3e3471d Remove support for UEFI dbx security attribute
This is no longer relevant as fwupd is providing dbxtool now.
2020-08-19 07:38:51 +01:00
Richard Hughes
58ba785915 Install the new dbx utility as fwupdbxtool 2020-08-18 17:34:26 +01:00
Mario Limonciello
f79680bfd1 trivial: move ubuntu ci to clang 10 2020-08-10 10:33:31 -05:00