Commit Graph

248 Commits

Author SHA1 Message Date
Richard Hughes
fc3cfbad92 Do not check the build hash of modular plugins
We removed the abilty to easily build modular plugins, and so we don't need to
worry so much about random 3rd party modules being loaded.
2022-09-30 14:19:56 +01:00
Mario Limonciello
56adf2473b trivial: debian: fix building fwupd-tests package 2022-09-29 15:59:33 -05:00
Mario Limonciello
ec0496b47a Make libfwupdplugin an internal library instead
This drops the requirement on us being so strict on a particular ABI version,
and also more strongly discourages out of tree plugin development.

We should still strive to keep API stable, and as such keep a symbol map still.

Use rpath instead for the static plugins, and set the plugin install directory
to just fwupd-$ABI$ as we're storing more than just plugins here now.
2022-09-28 10:04:12 +01:00
Mario Limonciello
5c284e911a trivial: debian: drop unused lintian override 2022-09-22 11:43:01 -05:00
Mario Limonciello
24a4b322fd trivial: debian: Don't invoke systemd directly for fwupd.postinst 2022-09-22 11:43:01 -05:00
Mario Limonciello
70d34a2fe2 trivial: debian/control: Add explicit depends on adduser
W: fwupd: maintainer-script-needs-depends-on-adduser adduser (does not satisfy adduser) [postinst:91]
2022-09-22 11:43:01 -05:00
Mario Limonciello
8586e25177 trivial: debian: Add symlinks for devhelp to work
Fixes https://www.mit.edu/afs.new/sipb/project/debathena/lintian/www/tags/package-contains-devhelp-file-without-symlink.html
2022-09-22 11:43:01 -05:00
Mario Limonciello
f535bc4bd3 trivial: debian: conditionally install quirks.d 2022-09-05 07:09:05 -05:00
Mario Limonciello
20eb0ff32e trivial: debian: Add support for Build-Profile nodoc
Link: https://wiki.debian.org/BuildProfileSpec
2022-09-05 07:09:05 -05:00
Mario Limonciello
a0eb3bc73d trivial: fix a docs directory check inversion
Fixes: a19b6f23e ("trivial: ci: debian: Use helper script to install dependencies instead. (#4906)")
2022-08-05 11:45:19 -05:00
Mario Limonciello
a19b6f23e5
trivial: ci: debian: Use helper script to install dependencies instead. (#4906)
* trivial: ci: debian: Use helper script to install dependencies instead.

Should fix building Debian stable containers
Fixes: #4901

* trivial: debian: ci: only populate fwupd-doc if dependencies are met

* trivial: ci: debian: generate control file using fwupd_setup_helpers
2022-08-05 08:43:13 +01:00
Mario Limonciello
7a9fffe3a6 Enable protobuf-c (and relevant plugins) based on them in Ubuntu
an MIR has been completed in Ubuntu for this.

https://bugs.launchpad.net/ubuntu/+source/protobuf-c/+bug/1956617
2022-07-13 14:38:04 -05:00
Mario Limonciello
9b30739d76 trivial: change docs to a meson feature (Fixes: #4791) 2022-07-01 10:56:12 +01:00
Richard Hughes
06a2dcf62b Remove gtkdoc build option
We've seen that gi-docgen is active and other projects are switching to
it. Remove the legacy (and slow) gtk-doc build support.
2022-06-11 21:26:46 +01:00
Richard Hughes
cfd128a649 Break libfwupdplugin ABI so we can tidy up some vfuncs and symbols 2022-06-03 13:47:11 -05:00
Lukas Märdian
8702600928 debian: debci: don't stderr-fail the autopkgtest on modprobe error
it's optional as tests can be skipped, if mtdram module isn't there

Signed-off-by: Lukas Märdian <slyon@ubuntu.com>
2022-05-18 06:56:02 -05:00
Lukas Märdian
16ef6a3a4a debian: debci: load the 'mtdram' module, to make it execute the mtd-self-test 2022-05-17 08:57:05 -05:00
Mario Limonciello
f818404d81 trivial: debian: set up fwupd-refresh.service/fwupd-refresh.timer
Create a dedicated user account for these to use, and set the preset
to leave it as enabled by default.

Fixes: https://github.com/fwupd/fwupd/issues/3037
2022-04-25 14:06:04 -05:00
Richard Hughes
2d5186622c Add FuProgress to ->prepare and ->cleanup
Some plugins were creating local versions (which were not attached to
the daemon progress in any way) as a workaround as they needed to do
actions that took a long time to complete.
2022-04-15 16:50:06 +01:00
Richard Hughes
92515d193a Add coSWID and uSWID parsers to libfwupdplugin
These parse the structures as defined in:

 * https://datatracker.ietf.org/doc/draft-ietf-sacm-coswid/
 * https://github.com/hughsie/python-uswid
2022-03-15 14:37:02 +00:00
Mario Limonciello
661990ed98 Convert build system to use meson tristate features
tristate features will automatically disable if dependencies marked
as required are missing.

Packagers can manually override using `auto_features`.

Link: https://mesonbuild.com/Build-options.html#features
2022-02-28 08:34:48 -06:00
Mario Limonciello
cc19be590a trivial: allow fwupd.service to be run in containers for autopkgtest
Generally we don't want this - but for the autopkgtest case it's OK.
Fixes: #4299
2022-02-19 06:56:24 -06:00
Yuan-Chen Cheng
4642e7694e fall back to signed EFI app as secure boot is off.
Some distribution hopes to not install the not-signed EFI app by default.
However, for the corner case, the user might still want to use not-signed
one (maybe to work around bugs or do testing). This implements
a logic that uses the not-signed EFI app as the secure boot is off, and
if it does not exist, then we fall back to using the signed one.

Also drop fwupd-unsigned from Recommends of fwupd in debian/control.
2022-02-15 08:15:56 -06:00
henry-nicolas
a89e4ae2fc debian/rules: enable modem-manager plugin support 2022-01-31 10:18:46 +00:00
Crag Wang
fbcc031ae4 trivial: refresh bash completion to reflect recent changes 2022-01-17 13:41:20 -06:00
Mario Limonciello
c1b2377782 trivial: disable logitech bulk controller on ubuntu by default
It needs to go through a MIR
2022-01-06 10:52:10 -06:00
Mario Limonciello
ab7a5fc569 trvial:debian: Add Rules-Requires-Root clause 2022-01-04 14:38:16 -06:00
Mario Limonciello
12fed692e3 trivial: debian: drop unused debian/source/include-binaries 2022-01-04 14:38:16 -06:00
Mario Limonciello
07623cafa3 trivial: debian: use wildcards in lintian override for library-not-linked-against-libc 2022-01-04 14:38:16 -06:00
Mario Limonciello
7c3c796d3a trivial: debian: drop lintian overrides for EFI binary, gone from the split 2022-01-04 14:38:16 -06:00
Mario Limonciello
312ac307cb trivial: debian: Update symbols and shared library name 2022-01-04 14:38:16 -06:00
Mario Limonciello
0f35f44cb2 trivial: debian: ignore subprojects and build directory from upstream builds in same folder 2022-01-04 14:38:16 -06:00
Mario Limonciello
eff0b60b98 trivial: debian: fix my uploader email address 2022-01-04 14:38:16 -06:00
Richard Hughes
3291bd40ce Make Upower and powerd support optional
In some cases you really know that the daemon is never going to exist.
2021-11-27 18:46:27 +00:00
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