Commit Graph

924 Commits

Author SHA1 Message Date
Richard Hughes
8a349e17af Include macos-10.15 and macos-11 in CI builds 2022-03-22 14:57:08 +00:00
Richard Hughes
4074150d21 trivial: Convert the FreeBSD cbor requirement to a LIB depends 2022-03-17 13:19:43 +00: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
513e75b628 trivial: Add libqrtr-glib-dev to build dependencies
It's needed in debian unstable now for Modem Manager plugin
2022-02-28 06:53:19 -06:00
Richard Hughes
a3efbe51f6 scsi: Add a simple plugin to enumerate SCSI hardware
We might want this to tag insecure or broken SAS drives, cough.
2022-02-24 17:21:51 +00:00
Richard Hughes
da90fca348 trivial: Turn off GPIO support by default
We can swap the default to auto-detection once the auto-features branch
has landed.
2022-02-21 20:37:30 +00:00
Ricardo Cañuelo
9466e778f5 Add a new plugin to handle HP M2xfd monitors
Added support for genesys logic devices.
2022-02-21 08:30:43 +00: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
Mario Limonciello
53a49b4ac1 Restore AMD SME check
Starting with linux kernel 5.18 the SME flag will be removed from
/proc/cpuinfo when it's not activated.

Link: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=08f253ec3767bcfafc5d32617a92cee57c63968e
2022-02-17 10:08:33 -06:00
Richard Hughes
c71ca76235 Add a plugin to set GPIOs for the duration of an update 2022-02-16 14:01:07 +00: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
Richard Hughes
02f003a195 trivial: Build pcre when building static CI tools 2022-02-09 11:58:50 +00:00
Richard Hughes
740bddf7dd trivial: Do not use use sudo to use firmware-build
It's not needed anymore.
2022-02-09 11:58:50 +00:00
Richard Hughes
dc7dc77095 Fix install_dell_bios_exe.py by removing extraneous code
See https://github.com/fwupd/fwupd/issues/3644 for details.

Fixes https://github.com/fwupd/firmware-dell/issues/105
2022-01-31 13:05:53 +00:00
Richard Hughes
20a357a551 trivial: Fix the OpenBMC example 2022-01-31 10:54:04 +00:00
henry-nicolas
a89e4ae2fc debian/rules: enable modem-manager plugin support 2022-01-31 10:18:46 +00:00
Eli Schwartz
7126fb4597 trivial: Drop the use of setuptools for regenerating ld version file
setuptools is the only import that is not part of the python stdlib.
2022-01-31 09:32:58 +00:00
Richard Hughes
c716cac45c trivial: Move the CI to Fedora 35 2022-01-30 20:02:32 +00:00
Mario Limonciello
e742e4fc10 trivial: ci: fix ubuntu ci 2022-01-27 15:02:19 -06:00
Norbert Kamiński
a580de81ba freebsd/Makefile: Disable gudev based plugins
Signed-off-by: Norbert Kamiński <norbert.kaminski@3mdeb.com>
2022-01-21 16:24:37 +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
Mario Limonciello
8918a4f168 trivial: ci: don't enable debian unstable apt pins 2022-01-02 12:28:54 -06:00
Richard Hughes
60d266cbc6 Add support for UF2 devices
A UF2 device exposes a VFAT block device (sometimes called a Mass
Storage Device) which has a virtual file called `INFO_UF2.TXT` where
metadata can be read. It may also have a the current firmware exported
as a file called `CURRENT.UF2` which is in a 512 byte-block UF2 format.

Writing any file to the MSD will cause the firmware to be written.
Sometimes the device will restart and the volume will be unmounted
and then mounted again. In some cases the volume may not “come back”
until the user manually puts the device back in programming mode.

Match the block devices using the VID*PID, UUID or label, and then
create a UF2 device which can be used to flash firmware.

Note: We only read metadata from allow-listed IDs to avoid causing
regressions on non-UF2 volumes. To get the UUID and label you can
use commands like:

    udisksctl info -b /dev/sda1
2021-12-21 10:06:18 +00:00
Richard Hughes
56f6f99633 usi-dock: Add support for various TBT4 docks for Lenovo and HP
With much help from Victor Cheng <victor_cheng@usiglobal.com>
2021-12-21 10:04:12 +00:00
Mario Limonciello
1b9bdb1659 trivial: snap: don't try to copy /var if it's not in the snap 2021-12-17 11:05:05 -06:00
Mario Limonciello
db94a995bd trivial: contrib/setup: if markdown isn't installed don't show an error
```
Install developer-friendly **unsafe** PolicyKit rules into /etc/polkit-1/rules.d? (y/N) n
Traceback (most recent call last):
  File "/home/supermario/fwupd/./contrib/ci/fwupd_setup_helpers.py", line 154, in <module>
    test_markdown()
  File "/home/supermario/fwupd/./contrib/ci/fwupd_setup_helpers.py", line 34, in test_markdown
    import markdown
ModuleNotFoundError: No module named 'markdown'
Collecting markdown
  Downloading Markdown-3.3.6-py3-none-any.whl (97 kB)
     |████████████████████████████████| 97 kB 1.1 MB/s
Collecting importlib-metadata>=4.4
  Downloading importlib_metadata-4.8.2-py3-none-any.whl (17 kB)
Collecting zipp>=0.5
  Downloading zipp-3.6.0-py3-none-any.whl (5.3 kB)
Installing collected packages: zipp, importlib-metadata, markdown
Successfully installed importlib-metadata-4.8.2 markdown-3.3.6 zipp-3.6.0
```
2021-12-16 07:07:33 -06:00
Mario Limonciello
b92fe4a760 trivial: allow wildcard so same build script works on older fedora 2021-12-15 06:46:27 -06:00
Mario Limonciello
9e02ee590f trivial: win32: bump to fedora 35 2021-12-15 06:46:27 -06:00
Mario Limonciello
bba3cd79de trivial: win32: include and enable curl support
This is needed for LVFS refreshes to work.

* Install curl binary
* Install ca-certs bundle
* Install gspawn helpers
* Reference ca-certs bundle on Win32
2021-12-15 06:46:27 -06:00
Mario Limonciello
dabfac661e trivial: win32: disable motd writing by default 2021-12-15 06:46:27 -06:00
Mario Limonciello
54b61c2027 trivial: win32: install the lvfs remote 2021-12-15 06:46:27 -06:00
Richard Hughes
251f6348aa trivial: Add the missing plugin_cpu
I think using the plugin_uefi_pk option was probably a typo.
2021-12-10 12:00:33 +00:00
Denis Pynkin
4fbe1c58c7 plugins/nordic-hid: added initial version
The plugin is using Nordic Semiconductor HID config channel to perform
devices update directly atteched via USB and BLE.
Current implementation supports FW images compatible with the nRF Secure
Immutable Bootloader.
This version has been tested with nRF52840-DK board.

Signed-off-by: Denis Pynkin <denis.pynkin@collabora.com>
Signed-off-by: Ricardo Cañuelo <ricardo.canuelo@collabora.com>
Signed-off-by: Richard Hughes <richard@hughsie.com>
2021-12-07 08:19:29 +00:00
Richard Hughes
c47446c411 trivial: Add liblzma-dev the deps in case we're building a subproject 2021-12-06 17:57:23 +00:00
Richard Hughes
02eac5c75f Make more plugins optional 2021-11-29 09:30:57 +00:00
Richard Hughes
dc1d5de057 Make the HSI tests optional for embedded targets
70% of the plugins installed on OpenBMC are not being used...
2021-11-29 09:30:57 +00: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
71d93a65fb Make sqlite optional
This isn't required when fwupd is installed on targets like a BMC.
2021-11-23 15:09:05 +00:00
Gabriel Kerneis
93aae762a6 Offer to run tests before pushing in contrib/setup
Also make clearer that the default choice is "no" for interactive
prompts.
2021-11-23 15:41:46 +01:00
Richard Hughes
6ac7b93d70 trivial: Remove the libelf dep for CI
Fixes https://github.com/fwupd/fwupd/issues/4009
2021-11-19 11:03:24 +00:00
Richard Hughes
a4c79aac3a trivial: Fix the example spec file to work on s390x 2021-11-19 11:03:24 +00:00