Commit Graph

374 Commits

Author SHA1 Message Date
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
Richard Hughes
d3a371bf8e trivial: post release version bump 2022-05-27 12:16:46 +01:00
Mario Limonciello
ef282b699f trivial: don't require libgusb when building as a subproject on Windows 2022-05-25 07:58:20 +01:00
Richard Hughes
15add57746 Do not run some tests using -Db_sanitize=address 2022-05-24 08:24:24 +01:00
Gaël PORTAY
e6b01cbb18 archive: Add writing support 2022-05-21 08:21:55 -04:00
Richard Hughes
77bb1ff479 Switch the Windows installer from NSIS to MSI
This means we get a few bugs fixed:

 * We appear in the Add/Remove Programs UI
 * We have an uninstaller that works on Windows 10
 * The installation is pretty, and scriptable
 * We actually install the translations
2022-05-09 15:49:40 +01:00
Mario Limonciello
532dfd54b1 trivial: install fwupd.exe into bindir for Windows
In Windows we'll be placing everything in the same directory so that
libraries can be resolved.
2022-05-05 15:38:43 -05:00
Richard Hughes
e803ed30f5 trivial: post release version bump 2022-04-28 15:59:12 +01:00
Richard Hughes
945bb32b35 trivial: Ignore GCC-specific pragmas when using clang 2022-04-23 10:28:16 +01: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
200302bbc6 redfish: Remove some logically dead code 2022-04-13 15:08:12 +01:00
Richard Hughes
945002f7a3 Fix build for MacOS
This is more for curiosity than anything else.
2022-03-15 14:37:28 +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
Richard Hughes
7043826336 trivial: post branch version bump 2022-03-04 10:03:46 +00:00
Mario Limonciello
5bc5462213 trivial: redfish: use the configured prefix to determine if it's an installed test
fixes: #3880
2022-02-28 13:36:49 -06:00
Mario Limonciello
13551d2d3f trivial: fix a meson build system failure with systemd 2022-02-28 09:16:40 -06:00
Mario Limonciello
8281e17a4b trivial: update variable reading to the method in meson 0.56 or later 2022-02-28 08:34:48 -06:00
Mario Limonciello
6896e0ab52 trivial: switch from meson.source_root to meson.project_source_root
The former is deprecated in meson 0.56 or later.
2022-02-28 08:34:48 -06: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
ea9963e28f trivial: set makensis as mandatory for windows 2022-02-28 08:34:48 -06:00
Mario Limonciello
cdd599c8d9 trivial: simplify error message for gidocgen needing introspection 2022-02-28 08:34:48 -06:00
Mario Limonciello
d96ee25bbf trivial: drop unnecessary HAVE_THUNDERBOLT config 2022-02-28 08:34:48 -06:00
Richard Hughes
2cd58847fc trivial: post release version bump 2022-02-25 13:40:28 +00:00
Richard Hughes
7157ca79e4 Require libjcat 0.1.4
Although we can compile against older versions, we can't actually work
as current firmware.jcat metadata from the LVFS needs these commits:

109399e1f2
583df67e3e

If it helps, 0.1.4 was released in October *2020*.
2022-02-22 13:28:06 +00:00
Richard Hughes
9e7cc4dc97 trivial: post release version bump
This fixes the incomplete a436feb8a9.
2022-02-16 15:52:21 +00:00
Richard Hughes
c71ca76235 Add a plugin to set GPIOs for the duration of an update 2022-02-16 14:01:07 +00:00
Richard Hughes
7180c8993e trivial: Turn off -fanalyzer by default
This has several false positives in Fedora 36 and also slows down the
build considerably.
2022-01-31 15:17:27 +00:00
Richard Hughes
1e8b46321b Use GCC static analysis when available 2022-01-20 16:00:13 +00:00
Richard Hughes
e74d38bfd3 Fix compiling with new versions of efivar
Fixes https://github.com/fwupd/fwupd/issues/4181
2022-01-17 15:27:05 +00:00
Richard Hughes
f56eec47b4 trivial: post release version bump 2022-01-13 13:29:53 +00:00
Richard Hughes
6591871192 trivial: Fix compiling with -Dbuild=library 2021-12-21 10:04:48 +00:00
Richard Hughes
ec5d35ca8c trivial: post release version bump 2021-12-13 12:18:10 +00:00
Richard Hughes
46d06bf42a Fixup the GLib error message when inotify/max_user_instances is too low
This can be reproduced using sysctl fs.inotify.max_user_instances=25
and then running the daemon.
2021-12-07 18:51:11 +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
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
Richard Hughes
6aedaa816c trivial: post release version bump 2021-11-19 09:56:50 +00:00
Richard Hughes
9ef27052d5 altos: Remove support for the ChaosKey
The hardware is discontinued, and no further update from 1.6.7 was ever
supplied.
2021-11-15 15:17:38 +00:00
Richard Hughes
64d1a01d42 trivial: Downgrade a configure error() to a warning() 2021-11-15 15:01:22 +00:00
Richard Hughes
5f01678daa Use -Doffline=false to reduce the install size by over 100Kb
If there's no SuperIO chip then there's no need to support this.
2021-11-12 21:06:34 +00:00
Ross Burton
774a7098ad build: check that outb is present in io.h
The flashrom plugin can use inb/outb to do a CMOS reset. The build gates
this on whether io.h exists (since bc43ad) as with glibc if io.h exists,
inb/outb are defined. However on musl, io.h always exists but it may not
define inb/outb.

Thus, fwupd builds with musl on non-x86 platforms will fail to link. Fix
this by checking for both io.h and that outb() is defined.

Signed-off-by: Ross Burton <ross.burton@arm.com>
2021-11-09 14:13:03 -06:00
Richard Hughes
e87fc05ab9 Speed up the daemon startup by ~2% by doing dlsym much less
We were calling g_module_symbol() 2703 times, which is actually more
expensive than you'd think.

It also means the plugins are actually what we tell people they are:
A set of vfuncs that get run. The reality before that they were dlsym'd
functions that get called at pretty random times.
2021-11-09 12:02:07 +00:00
Richard Hughes
36d7077f65 Add a new plugin to handle MTD devices 2021-11-05 20:01:51 +00:00
Richard Hughes
23b1d20294 trivial: post release version bump 2021-11-01 11:57:50 +00: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
3fc635e144 Remove honggfuzz support
This has not worked well in some time, and nobody noticed. The
alternative Google clusterfuzz support is better in every way and gets
run as part of CI.
2021-10-19 19:20:05 +01:00
Richard Hughes
bc43adf020 Fix build error when sys/io.h is not available 2021-10-06 20:38:43 +01:00
Richard Hughes
07b4bb4d10 trivial: post release version bump 2021-10-06 16:13:24 +01:00
Richard Hughes
88b1b35a72 trivial: Use new libgcab API where possible
This is new in version 1.5, but may be backported.
2021-10-05 18:15:37 +01:00
Daniel Campello
4fa2a7604a trivial: workaround for ERROR: Unknown variable "gcab"
This change enables the use of tests in Chrome OS. Fixes #3270
2021-09-24 17:15:33 +01:00