Commit Graph

354 Commits

Author SHA1 Message Date
Crag Wang
1be055fb1e trivial: check-license: exclude files from build directory earlier 2021-10-29 12:21:55 +08:00
Richard Hughes
28678235cd Move the fuzzing files into the plugin directories
We only had to pile everything into the src/fuzzing/firmware directory
because honggfuzz could not cope with more than one input path.

This way each plugin is self contained and easy to copy.
Also, install the fuzzing builder objects as this fixes the installed
tests when srcdir does not exist.

Based on a patch by Jan Tojnar <jtojnar@gmail.com>, many thanks.
2021-10-22 15:24:05 +01:00
Richard Hughes
2d00cda464 Remove PLUGINBUILDDIR and use G_TEST_SRCDIR and G_TEST_BUILDDIR instead
This allows us to override the location we load data files from, which
allows us to do more kinds of installed tests in the future.

Also, move the global data/tests content into the place that it is used
as it was getting impossible to manage.
2021-10-21 18:36:22 +01:00
Richard Hughes
a5ef3629d4 trivial: Build the fuzzers with -g to get stacktraces 2021-10-18 20:02:03 +01:00
Richard Hughes
7f5b0c0b60 Rename the development branch from master to main
Fixes https://github.com/fwupd/fwupd/issues/3799
2021-09-24 14:20:24 -05:00
michaelcheng04
10549674b1 Add a plugin to flash Elan fingerprint reader hardware 2021-09-23 10:41:00 +01:00
Mario Limonciello
cc8eb5ca8c trivial: Merge python steps from contrib/setup into helper script
This avoids having to hardcode profile targets in multiple places
and also fixes the confusing entry points into scripts both by
arguments and environment variables.

It also makes the setup script a lot more debuggable and scalable.

OS detection is a lot more robust, where it will try to use pip to
set up the distro python package, and if pip is missing try to install
it.

If OS detection fails now, a user can use --os on contrib/setup for
specifying it.
2021-09-17 10:59:35 -05:00
Mario Limonciello
349975bb70 trivial: setup: drop the special case for python3-venv
Install it via dependencies.xml like the rest
2021-09-17 10:59:35 -05:00
Mario Limonciello
24970acf4a trivial: generate_dependencies: add variant to OS strings that are generated 2021-09-16 06:43:55 -05:00
Mario Limonciello
15f0029624 trivial: generate_dependencies: fallback to "like" distros
This should cause linuxmint to run the Ubuntu dependency resolution.
2021-09-16 06:43:55 -05:00
Mario Limonciello
0c77e34c73 trivial: drop the flatpak target
We don't use it for dependency building at all.
2021-09-16 06:43:55 -05:00
Mario Limonciello
05a3ee1fc8 trivial: generate_dependencies: use distro.id() to better find defaults 2021-09-16 06:43:55 -05:00
dkwo
d6645e1447 update void linux ci target 2021-09-14 16:07:10 -05:00
Simon Ho
5e67108ab8
plugins: add new plugin for Synaptics CAPE devices (#3746)
CAPE family is Audio DSP for a board range of applications in IOT, PC
and mobile can be interfaced via I2C, UART or USB interface. This patch
is only for CX31993 and CX31988 chips, there is not immediate plans is
to add support to other CAPE devices.

CX31993 have two separate firmware .hid file for for each partition. It
need to convert two .hid files into a .fw file for fwupd tool to
consume.

Currently, this patch is only support for EPOS headsets with basic
firmware update feature. Either new code singing or manifest.xml are
unsupported yet.

The code has been tested with CX31993 EVK board.

A test firmware file is put at 'src/fuzzing/firmware/synaptics-cape.fw'

synaptics-cape: Port to new FuProgress API and style fixups

synaptics-cape: Fix compile errors and add missing test fw file

Signed-off-by: Simon Ho <simon.ho@synaptics.com>

synaptics-cape: Fix fuzzer test

Signed-off-by: Simon Ho <simon.ho@synaptics.com>

synaptics-cape: Fix progress bar number

Signed-off-by: Simon Ho <simon.ho@synaptics.com>

synaptics-cape: Mark the fuzzing target

trivial: Use a stable GLib branch for fuzzing

synaptics-cape: Fix progress bar number

Signed-off-by: Simon Ho <simon.ho@synaptics.com>

synaptics-cape: Fix readme

synaptics-cape: Style fixups

synaptics-cape: Fix progress bar percentage

synaptics-cape: Style fixups
2021-09-15 03:42:07 +08:00
Mario Limonciello
113c784ce4 trivial: run Ubuntu CI target tests with "nobody" user account
This should ensure that self tests are never trying to access or
create things they shouldn't be.
2021-09-03 15:10:38 -05:00
Sean Rhodes
42136840bd contri/ci: Add dependancies for flashrom
Add libpci-dev for Ubuntu and Debian as it's required for flashrom
2021-09-03 12:49:57 -05:00
Sanjay Sheth
b6ff1ea40e Add support for devices supporting the Logitech bulk controller protocol 2021-08-29 20:33:16 +01:00
Mario Limonciello
55de39c077 trivial: reformat the whole tree to match new format 2021-08-24 11:18:40 -05:00
Richard Hughes
c1ff02f055 trivial: Make the quirk style more consistent 2021-08-23 18:10:12 +01:00
Richard Hughes
6a8f285ee2 Check the quirk format as part of precommit 2021-08-23 18:10:12 +01:00
Norbert Kamiński
3fe782cddd build_freebsd_package.sh: Build package with generated pkg-plist
Signed-off-by: Norbert Kamiński <norbert.kaminski@3mdeb.com>
2021-08-18 08:39:11 -05:00
Norbert Kamiński
c1f06b6b82 freebsd-ci: Change FreeBSD artifact extension
Signed-off-by: Norbert Kamiński <norbert.kaminski@3mdeb.com>
2021-08-18 08:39:11 -05:00
Mario Limonciello
684bc03813 trivial: fix various shellcheck warnings 2021-08-18 07:58:17 -05:00
Mario Limonciello
682f962006 trivial: move clone firmware shell code into common script 2021-08-18 07:58:17 -05:00
Mario Limonciello
cfd584f26b trivial: build-windows: fix some shellcheck warnings 2021-08-18 07:58:17 -05:00
Mario Limonciello
4f36ec32e8 trivial: freebsd: remove unused variable
found by codacity
2021-08-18 07:58:17 -05:00
Mario Limonciello
a1b746d276 trivial: don't use built-in types
found by codacity
2021-08-18 07:58:17 -05:00
Mario Limonciello
0114c9ada7 trivial: check-license: ignore subprojects too 2021-08-08 19:44:33 -05:00
Mario Limonciello
1384e94c64 trivial: check-license: detect and ignore build directory
Find the build directory by finding `config.h`
2021-08-08 15:41:43 -05:00
Mario Limonciello
28a04c7c78 trivial: check-license: rename license variable to lic
license is a built-in.
caught by codacity.
2021-08-08 15:41:43 -05:00
Mario Limonciello
915916e22a Add a pre-commit rule to verify a SPDX license header is present 2021-08-08 14:43:21 -05:00
Mario Limonciello
9c35617b54 trivial: out-of-tree: add SPDX license headers 2021-08-08 14:43:21 -05: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
Mario Limonciello
89e975490e trivial: try again to fix void docker creation 2021-07-31 13:17:05 -05:00
Mario Limonciello
192083479e trivial: fix void container build 2021-07-29 19:56:19 -05:00
Mario Limonciello
9233ceb8d4 trivial: fix void docker container creation 2021-07-28 21:42:54 -05:00
Mario Limonciello
a7cfe67cfe Add VOID CI target 2021-07-28 11:29:44 -05:00
Mario Limonciello
bb202244e3 trivial: add clang-format into dependencies 2021-07-24 20:56:26 -05:00
Mario Limonciello
798d1ed3ee trivial: update markdown for pre-commit style 2021-07-18 14:42:47 -05:00
Richard Hughes
19abf996c7 Allow the daemon to request interactive action from the end user
The "return error and hope the client resubmits the firmware again"
pattern is clunky. There are two plugins doing this now, and about to
be one more.

This adds FwupdRequest which provides a structured way of asking the
user to perform an action, e.g. to replug the device or to press a
special key or button.

This replaces much of the UpdateMessage and UpdateImage API although
it is still used internally. Clients capable of processing the new
DeviceRequest signal should add REQUESTS to their feature flags.

Also, this allows us go back to the old meaning of _NEEDS_BOOTLOADER,
which was "needs rebooting into a bootloader mode" rather than the
slightly weird "user needs to do something and resubmit request".
2021-07-14 17:03:50 +01:00
Richard Hughes
a564e458d2 trivial: Fix Python linting issue spotted by Codacy 2021-07-14 15:20:57 +01:00
Peter Marheine
a12d715038 New plugin: parade-lspcon 2021-07-14 06:40:38 +01:00
Richard Hughes
e4aeb99296 trivial: Fix oss-fuzz by installing missing deps 2021-07-12 10:33:38 +01:00
Richard Hughes
488f2e1f37 Export the EFI and IFD parsers
We'll need to use this from another plugin soon.
2021-07-12 10:33:38 +01:00
Richard Hughes
a923ae2804 redfish: Refactor plugin and add some unit tests 2021-07-08 15:35:02 +01:00
Richard Hughes
562dfb3bc6 trivial: Use the upstream Makefile to disable plugins for FreeBSD 2021-06-28 07:06:27 -05:00
Jarvis Jiang
6b79e9201d modem-manager: Add MBIM QDU support for firmware downloading in the MM plugin
Add the mbim-qdu support for firmware downloading, it will be used for T99W175 module of Foxconn.

Signed-off-by: Jarvis Jiang <jarvis.w.jiang@gmail.com>
2021-06-28 10:11:15 +01:00
Peter Marheine
8db9a0f3c3 realtek_mst: new plugin supporting RTD2142 2021-06-28 10:09:52 +01:00
Richard Hughes
6ff0ae2bc4 redfish: Split out the SMBIOS table parsing
This makes it more robust against corrupted data, and also adds support
for fuzzing.
2021-06-25 19:55:19 +01:00
Mario Limonciello
1e06c12e99 trivial: ci: Check for inclusion of private headers during pre-commit
This will improve the pre-commit hook coverage.

For dfu: waive pre-commit checks for internal header file
This is internal to the plugin not to the library.
2021-06-16 08:32:29 -05:00