Commit Graph

214 Commits

Author SHA1 Message Date
Richard Hughes
9d37e447a1 Convert the device test script to a fwupdmgr subcommand
This allows us to do a few things:

 * Remove the runtime dep on Python 3, which is tricky for ChromeOS
 * Test composite devices more efficiently, only writing once per test
 * Automatically upload signed reports for successful device tests.
2021-09-16 15:01:36 +01:00
Richard Hughes
a5a978b3f6 Rename some confusing API
More than one person has asked about 'why call fu_plugin_update() for a
reinstall or downgrade' and I didn't have a very good answer.

The plugin API is not officially stable, and we should fix things to be
less confusing. Use the same verbs as the FuDevice vfuncs instead.
2021-08-06 19:49:53 +01:00
Richard Hughes
65b3115b48 trivial: Move the builder docs to docdir
Fixes https://github.com/fwupd/fwupd/issues/3464
2021-07-09 16:40:36 +01:00
William Wilson
238e8b8781 Compile with the flashrom plugin in Ubuntu now that flashrom is being included in main (https://bugs.launchpad.net/ubuntu/+source/flashrom/+bug/1912371) 2021-07-01 17:45:32 +01:00
Mario Limonciello
1e17457b16 Allow building the documentation with gi-docgen and gtk-doc
Until gi-docgen is declared stable support either of them.
This effectively means that hand builds and CI builds will use
gi-docgen, but distro builds use gtk-doc-tools.
2021-06-09 22:21:53 +01:00
Mario Limonciello
6ab897f66b disable wrap mode for debian (if deps are missing we don't run packaging) 2021-06-09 21:21:06 +01:00
Richard Hughes
b94a7b507b trivial: Do not generate fwupdplugin.vapi
We don't want applications to use libfwupdplugin, and we don't want to
support plugins written in Vala either.
2021-05-17 09:27:54 +01:00
Mario Limonciello
99832622e1 uefi-capsule: Move EFI binary into a subproject
This will allow distributions to package and distribute the unsigned
EFI binary separately, similar to what has been done for GRUB.
2021-04-23 13:59:10 -05:00
Mario Limonciello
1f9c035788 trivial: fix some trailing whitespace problems across the project 2021-04-09 16:02:20 +01:00
Norbert Kamiński
60e84c617f contrib/qubes: Add Qubes wrapper source and create packages
This patch is adding the fwupd wrapper for Qubes.
The wrapper provides fwupd functionalities for Qubes R4.1.
It creates three packages (two RPMs and one Debian package):
fwupd-qubes-dom0 (RPM)
fwupd-qubes-vm (RPM)
fwupd-qubes-vm-whonix (deb)
More information about the wrapper could be found in the
contrib/qubes/README.md

Signed-off-by: Norbert Kamiński <norbert.kaminski@3mdeb.com>
2021-02-26 06:40:21 +00:00
Richard Hughes
a76de3279b Add a test BLE plugin for a demo 2021-02-22 16:53:41 +01:00
Mario Limonciello
c52079f3eb trivial: don't hardcode expected plugins list for CI
Let these get turned on no matter what we change in daemon.conf
2021-02-19 14:27:28 -06:00
Mario Limonciello
a862473928 trivial: debian: update signing template to match downstream 2021-02-16 08:05:49 -06:00
Richard Hughes
124f2295ee trivial: Untie efi_os_dir from the SBAT distro ID
We happily fallback with an unset -Defi_os_dir and it gets confusing explaining
why the EFI dir needs to be set on a non-supported system.

In practice they'll probably have the same eventual value on most supported
distributions.

Fixes https://github.com/fwupd/fwupd/issues/2873
2021-02-12 16:01:00 +00:00
Javier Martinez Canillas
378b00018b uefi-capsule: Add SBAT metadata to the fwupd EFI binary
The Secure Boot Advanced Targeting (SBAT) [0] is a Generation Number Based
Revocation mechanism that is meant to replace the DBX revocation file list.

Binaries must contain a .sbat data section that has a set entries, each of
them consisting of UTF-8 strings as comma separated values. Allow to embed
this information into the fwupd EFI binary at build time.

The SBAT metadata must contain at least two entries. One that defines the
SBAT version used and another one that defines the component generation.

Downstream users can add additional entries if have changes that make them
diverge from the upstream code and potentially add other vulnerabilities.

[0]: https://github.com/rhboot/shim/blob/sbat/SBAT.md
2021-02-10 16:40:59 +00:00
Mario Limonciello
c794b754a6 trivial: Make it easier to know what packages to install to let
helper scripts run.

Fixes: #2836
2021-02-01 16:13:32 -06:00
Mario Limonciello
fcc9dcc0e5 trivial: drop Jared from signing template uploaders 2021-01-25 20:23:47 -06:00
Simon McVittie
4289c1665c trivial: debian: Add trivial compile/link/run test for libfwupd-dev
Tests like these are a surprisingly effective way to detect packaging
mistakes.

Reproduces: #980691, #980684
2021-01-21 09:57:25 -06:00
Simon McVittie
fe36968d5e trivial: debian: d/control.in: Add missing -dev dependencies
Each -dev package needs to depend on all dependencies' -dev packages
that are required when linking against the included library with
pkg-config.

Closes: #980691, #980684
2021-01-21 09:57:14 -06:00
Mario Limonciello
5791b3df94 trivial: debian: remove ata.conf on upgrade (Closes: #980570) 2021-01-20 14:16:47 -06: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
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
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
Mario Limonciello
cf9a74ec35 trivial: debian: migrate uefi->uefi_capsule in uefi.conf
Fixes: #2748
2021-01-12 13:34:11 -06: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
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
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
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