Commit Graph

313 Commits

Author SHA1 Message Date
Mario Limonciello
783b6a2bbc trivial: drop optional codespell meson target
As we already run pre-commit hooks, no need to also run in meson.
2021-06-16 06:41:46 -05:00
Sergii Dmytruk
c0d0ce4e1a Switch from sysctl to ioctl for ESRT on FreeBSD
Initial version of the patch was rejected and rewritten.

Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
2021-06-15 17:25:16 +01:00
Sergii Dmytruk
c16602d688 Corrections for fu-efivar-freebsd.c
There were some compilation warnings (one actual error) and possibility
to use incorrect efivar library.

Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
2021-06-15 17:25:16 +01:00
Mario Limonciello
ed51779598 trivial: fix a regression in Gentoo detecting python versions 2021-06-15 08:22:40 -05:00
Mario Limonciello
00cc29c3af Revert "meson.build: Change python version check order"
This reverts commit 1b396215d9.
2021-06-15 08:22:40 -05:00
Mario Limonciello
34a6dac830 trivial: fix unclear build failure for introspection off with docgen
GI-Docgen requires introspection data to generate documentation.
Show a clearer error about this (Fixes: #3355)
2021-06-15 07:03:05 -05:00
Richard Hughes
39b3140ed3 trivial: post release version bump 2021-06-14 14:46:05 +01:00
Richard Hughes
7b40a84f24 trivial: Check for python3-markdown >= 3.3.4 for gi-docgen 2021-06-11 09:39:11 +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
Michał Kopeć
d678b755d0 libfwupdplugin: Implement fu-efivar-freebsd.c
Signed-off-by: Richard Hughes <richard@hughsie.com>
2021-06-09 15:22:58 +01:00
Norbert Kamiński
1b396215d9 meson.build: Change python version check order
Signed-off-by: Norbert Kamiński <norbert.kaminski@3mdeb.com>
2021-06-05 11:05:33 -05:00
Richard Hughes
82cb7acb13 trivial: The BSD define is dunder, e.g. two underscores 2021-05-26 16:00:32 +01:00
Richard Hughes
18333da698 trivial: Add _BSD_VISIBLE to use memmem on FreeBSD 2021-05-21 17:23:11 +01:00
Norbert Kamiński
80ba3f07f2 fu-smbios.c: Add kenv support
Signed-off-by: Norbert Kamiński <norbert.kaminski@3mdeb.com>
2021-05-18 14:32:07 +01:00
Aleksander Morgado
3bcd4cf44a trivial: remove QMI_REQUIRED_VERSION
We use MM_REQUIRED_VERSION to compare the running ModemManager version
with the one we require. But we don't need QMI_REQUIRED_VERSION for
anything, just remove it.

These symbols were similar to GLIB_REQUIRED_VERSION, but neither
ModemManager nor libqmi implement them in the same way as GLib does.
For the purpose of skipping deprecated APIs, ModemManager and libqmi
use the older MM_DISABLE_DEPRECATED and QMI_DISABLE_DEPRECATED macros.
2021-05-14 14:08:44 +02:00
Aleksander Morgado
dcbd979b8f trivial: fix libqmi build dependency
The build dependency of libqmi was attempted to be updated in
commit 6db69de725, but wasn't properly done, as
only the QMI_REQUIRED_VERSION symbol was updated, not the actual
pkgconfig required version.
2021-05-14 14:08:44 +02:00
Jan Blechta
197d3dc3b9 Fix regression in build system
Reverts small part of 99832622e1.
EFI_APP_LOCATION conf var (or FWUPD_EFIAPPDIR env var) is needed for

  fu_common_get_path (FU_KIND_PATH_EFIAPPDIR)

to function properly
2021-04-28 18:07:56 +01:00
Richard Hughes
fdd507957a Switch from libproxy to GProxyResolver
GProxyResolver will use libproxy only when required. TIL.
2021-04-28 15:52:45 +01:00
Richard Hughes
f992fb75cd Use libproxy to get the system proxy setting for a given URL 2021-04-26 16:30:13 +01:00
Richard Hughes
19e77ba445 trivial: post release version bump 2021-04-26 11:03:20 +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
Norbert Kamiński
58fbbc2939 fu-tool.c: Use traditional UNIX record locks if OFD is not available
Open file description locks are Linux-specific. If fwupd is not built
for Linux, it should use the traditional UNIX record locks (F_SETLK).

Signed-off-by: Norbert Kamiński <norbert.kaminski@3mdeb.com>
2021-04-19 12:42:37 +01:00
Richard Hughes
9cf5f8f7ff Use an OFD lock to prevent more than one fwupdtool process
Fixes https://github.com/fwupd/fwupd/issues/3019
2021-04-15 08:34:55 +01:00
Ross Burton
57961cddac Add option to disable the UEFI capsule splash screen generation
The dependencies to generate the "updating..." splash screen are non-trivial, and
pointless in headless systems.  Add an option to disable the generation entirely.
2021-04-13 12:31:17 +01:00
Ross Burton
db09147679 Don't check for native dependencies as target dependencies
Don't look for cairo, fontconfig, and freetype libraries as this will
look for *target* libraries. The presence of these libraries is used as
a proxy for the gobject-introspection libraries being available for
the make-images.py script, but as this runs at build time we don't care
about target libraries at all.

Luckily there's another script, test-deps.py, which looks for the g-i
libraries so these dependencies can be removed.
2021-04-13 12:31:17 +01:00
Ross Burton
4e6cb21aaf trivial: Remove unused readelf dep
readelf isn't used by anything, so there's no need to look for it.
2021-04-13 12:31:17 +01:00
Érico Nogueira
391647f55e Fix build on musl.
malloc_trim isn't a linux function, it's a GNU extension to malloc.  We
can check for it in meson.build, which avoids hardcoding platform
knowledge.
2021-03-29 18:58:56 +01:00
Richard Hughes
276baf12f9 trivial: Rename spi to intel-spi as it's all Intel specific
If we need to export the EFI symbols into libfwupdplugin for other plugins we
can do that when we need them.
2021-03-20 12:24:27 +00:00
Norbert Kamiński
76e19930a8 fwupd port for BSD distros
Signed-off-by: Norbert Kamiński <norbert.kaminski@3mdeb.com>
2021-03-19 17:05:09 +00:00
Richard Hughes
a5966f7085 trivial: Codespell fixes 2021-03-19 16:42:33 +00:00
Richard Hughes
52441f28a4 Allow objects to deserialize to XML
This makes a lot more sense; we can parse a firmware and export the same XML
we would use in a .builder.xml file. This allows us to two two things:

 * Check we can round trip from XML -> binary -> XML

 * Using a .builder.xml file we can check ->write() is endian safe
2021-03-15 12:07:30 +00:00
Richard Hughes
278c3998a5 Parse the IFD BIOS section into EFI FV and FFS2 sections 2021-03-15 10:46:39 +00:00
Richard Hughes
70904ba820 trivial: Actually print the po/test-deps failure on the console 2021-03-12 18:21:04 +00:00
Richard Hughes
2d84386034 Remove unused, unsafe and deprecated functions from libfwupdplugin
Keeping *internal* API and ABI compatibility makes working with an already
complex codebase more mentally demanding than it needs to be.

Remember: plugins should be in-tree and upstream! If your out of tree plugin
stops working then it should be upstream.

The public-facing libfwupd will remain API and ABI stable for obvious reasons.
2021-03-09 15:47:56 +00:00
Richard Hughes
2e629313bf trivial: post branch version bump 2021-03-09 15:35:29 +00:00
Richard Hughes
cc5cea1be6 trivial: post release version bump 2021-02-23 14:57:22 +00:00
Ricardo Cañuelo
536fb85e21 Add initial support for Bluez bluetooth devices
Bare skeleton for what will be the Bluez backend and the base bluetooth
device class.
2021-02-22 16:53:41 +01:00
Mario Limonciello
d2130f73a3 trivial: Rename meson option tpm->plugin_tpm 2021-02-18 14:46:20 +00:00
Richard Hughes
e5d33b0d01 trivial: post release version bump 2021-02-16 12:16:22 +00:00
Richard Hughes
c3ecec575b fmap: Use memmem to find the FMAP signature
Trust glibc to optimize for the binary search, removing a oss-fuzz detected
crash with our bad pointer maths.
2021-02-11 20:27:20 +00:00
Richard Hughes
9b3f7aba82 trivial: Remove unused -Dlink_language support 2021-02-07 16:59:57 +00:00
Javier Martinez Canillas
fde4b1676a uefi: Rewrite generate_binary.sh script in Python
The generate_binary.sh is a script that calls the objcopy tool and
genpeimg in the case of Windows, to generate a PE binary file.

But doesn't have to be a shell script and could be rewritten as a
python script. This will make this code to generate a PE binary
easier to extend if needed.

Also, the only reason that's a template is to define the objcopy
tool used, but this can also be passed as a positional argument.
2021-02-04 12:51:05 +00:00
Richard Hughes
8e7a0dce4a trivial: Do not use deprecated symbols internally
This means shuffling things around a little, but no logic changes.
2021-01-26 14:25:56 +00:00
Mario Limonciello
75835b4a0b Use FWUPD_COMPILATION define to indicate an in tree build
When this is done, include:
* Including the hash
* Including anything that is not ABI stable in plugins yet

Suggested-by: Simon McVittie <smcv@debian.org>
2021-01-22 14:01:25 -06:00
Richard Hughes
edc0c08065 synaptics-rmi: Support parsing and writing signed firmware
Validate the firmware signature if provided
2021-01-18 21:18:02 +00:00
Richard Hughes
0d634fe81e Allow more than one plugin to use GnuTLS directly 2021-01-18 21:18:02 +00:00
Richard Hughes
1a3d3b338e Make GUsb optional for fuzzing 2021-01-14 14:23:12 +00:00
Richard Hughes
5add3a75dd Make libarchive optional for fuzzing 2021-01-13 20:12:37 +00:00
Richard Hughes
a75ef53eaf trivial: Rename the meson option for plugin_synaptics_mst 2021-01-12 21:32:12 +00:00
Richard Hughes
96c079d9f0 trivial: post release version bump 2021-01-11 10:20:48 +00:00