Commit Graph

170 Commits

Author SHA1 Message Date
Richard Hughes
7b32e5f01f trivial: post release version bump 2019-07-15 19:28:15 +01:00
Artur Raglis
13fd21d806 flashrom: Use libflashrom
This also means we now include a flashrom subproject as no distro currently has
a flashrom new enough to build the plugin.

Signed-off-by: Richard Hughes <richard@hughsie.com>
Signed-off-by: Artur Raglis <artur.raglis@3mdeb.com>
Signed-off-by: Maciej Pijanowski <maciej.pijanowski@3mdeb.com>
2019-06-28 08:28:51 +01:00
Mario Limonciello
057c67a830 trivial: fu-main: clarify missing PK file error
Point people to a wiki page to explain what is happening and how to fix it.
2019-05-23 11:11:04 -05:00
Richard Hughes
22fea218f9 trivial: post release version bump 2019-05-20 11:20:49 +01:00
Richard Hughes
59ea33de80 trivial: post release version bump 2019-04-23 10:31:07 +01:00
Richard Hughes
622e054d20 trivial: post release version bump 2019-04-12 10:40:55 +01:00
Richard Hughes
dce91204c9 Fix some typos spotted using codespell 2019-04-08 12:47:53 +01:00
Mario Limonciello
f981036e33 trivial: meson.build: bump libxmlb dep to 0.1.7
Shutdown activation for ATA disks doesn't work with older versions, and it's
not obvious how to debug or fix the problem.
2019-04-04 06:33:43 -05:00
Richard Hughes
a7deedea45 trivial: post release version bump 2019-03-26 10:55:44 +00:00
Richard Hughes
f28abe7fda Allow signing and verifying data using a PKCS-7 self-signed client certificate
This is a per-client certificate and private key that can be used to sign
metadata sent to remote servers, for instance success/failure reports.
2019-03-11 13:57:39 +00:00
Mario Limonciello
6db69de725 trivial: meson.build: bump libqmi runtime dep to 1.23.1
This is the minimum version needed for DW5821e, which is one of the
important devices that prompted MM support in the first place.
2019-02-27 16:09:13 +00:00
Mario Limonciello
386f05bea5 trivial: meson.build: bump modem manager dependencies
These match the absolute minimums needed to use MM support.
2019-02-27 16:09:13 +00:00
Aleksander Morgado
fc8093626c modem-manager: implement support for qmi-pdc
If a device reports that qmi-pdc is supported (e.g. DW5821e that
supports both fastboot and qmi-pdc), we'll end up first running the
fastboot installation before doing the qmi-pdc installation procedure.

These changes also make sure that the MM device inhibition is kept for
as long as the whole process is ongoing. Only after the last method is
run, the inhibition will be removed.

In order to handle devices being exposed in the system while the MM
inhibition is in place, e.g. to be able to run qmi-pdc after fastboot,
a simple udev based watcher is included, which will take care of
creating the FuMmDevice that is not associated to any modem currently
exposed by MM, but that shares all the details of the original device.

This new logic assumes that the devices don't change their USB layout
during a firmware upgrade, which is not a very good assumption, but it
works for the case at hand. If this is not the case, we may need to
end up doing some custom AT port probing instead of relying on the
original one reported by MM being still valid (note that we don't rely
on the device name, as that may change if some other device is plugged
in the system while we're doing the update, we rely on the USB
interface number).
2019-02-27 16:09:13 +00:00
Richard Hughes
ffa3b84706 Add a plugin to support ModemManager hardware 2019-02-27 16:09:13 +00:00
maxice8
c82a75fe96 meson: print stderr of python3 command instead of stdout 2019-02-25 17:01:13 -06:00
Marcin Sucharski
de2b70bc7d Add elogind support 2019-02-25 10:05:17 +00:00
Richard Hughes
a4873e9abc trivial: post release version bump 2019-02-25 09:52:15 +00:00
Richard Hughes
6b78d64987 Add fwupd_guid_from_string() to drop dep on uuid
This also allows us to write mixed-endian structures and adds tests. As part of
this commit we've also changed the API of something that's not yet been in any
tarball release, so no pitchforks please.
2019-02-06 14:48:04 +00:00
Richard Hughes
b8c30b8732 Do not use efivar just to print a mixed endian GUID 2019-02-04 15:19:57 +00:00
Mario Limonciello
b503aa8650 ata: Add support for detecting Dell GUIDs
Similar to NVME, ATA drives distributed by Dell have special values
that should be used to designate fwupd GUIDs and only run correct
firmware.

When detecting Dell GUIDs remove the standard fwupd GUIDs.  "Generic"
firmware targeted to those GUIDs will fail to install.
2019-02-04 10:39:20 +00:00
Richard Hughes
a039e72363 Disable -Wno-address-of-packed-member
It's incompatible with g_autoptr(), which is probably unintentional.
2019-02-01 16:38:14 +00:00
Richard Hughes
575eb71efc trivial: post release version bump 2019-02-01 14:31:46 +00:00
Richard Hughes
f425d29a28 Show a console warning if loading an out-of-tree plugin
Fixes https://github.com/hughsie/fwupd/issues/950
2019-01-19 07:26:20 +00:00
Richard Hughes
847959d89c trivial: post release version bump 2019-01-04 11:09:50 +00:00
Richard Hughes
fb0e10722a trivial: post release version bump 2018-12-30 15:23:27 +00:00
Richard Hughes
0e17e6d030 Fix building with -Wl,-z,defs
This allows us to find undefined references at compile time, not runtime.
2018-12-25 16:10:54 -06:00
Richard Hughes
6a53116fb5 trivial: post release version bump 2018-11-27 14:53:43 +00:00
Richard Hughes
634da03730 Create a silo index to speed up GUID queries
This speeds up matching for GUIDs by about 90%, taking the query from 3.17ms to
about 0.33ms on my Thinkpad. This is more important for slow ARM hardware,
where strcmp() is more expensive than on x64.
2018-11-21 18:51:07 +00:00
Mario Limonciello
7cff2dcb25 trivial: Bump meson dependency to 0.47.0
The current libxmlb dependency requires this and when run in subproject
mode will cause failures otherwise.

Also bump the snap to use meson 0.47.2 to fix snap build due to this
failure.
2018-11-07 11:40:26 -06:00
Richard Hughes
258aab19fa trivial: post release version bump 2018-11-07 11:25:11 +00:00
Richard Hughes
e4ad25044a Sort the firmware sack by component priority
This allows composite firmware to be ordered in an explicit way.
2018-10-23 09:20:02 +01:00
Richard Hughes
481aa2a923 Port from libappstream-glib to libxmlb
The libxmlb library is much faster to query, and does not require the daemon
to parse the XML metadata at startup. It's a zero-copy mmap design that is more
modern and less clunky.

RSS has reduced from 3Mb (peak 3.61Mb) to 1Mb (peak 1.07Mb) and the startup
time has gone from 280ms to 250ms.
2018-10-17 14:41:13 +01:00
Richard Hughes
5caffbfb9c Bump requirement to meson 0.46.0 2018-10-17 06:14:18 -05:00
Mario Limonciello
7e5c6eebfe meson: Bump dependency to 0.44 and adjust sysconfdir handling
Some code was put in place to workaround sysconfdir behavior of meson
0.43 and less.  This is no longer needed.
2018-10-16 08:21:24 +01:00
Mario Limonciello
c9a7541120 trivial: bump master to 1.2.0
This is a little unusual since 1.1.3 was never in master, only in
1_1_X.
2018-10-12 08:38:05 -05:00
Richard Hughes
c8faf5e69f trivial: Do not allow VLA features in plugins 2018-10-12 07:58:53 +01:00
Richard Hughes
8121daadd3 trivial: post release version bump 2018-09-10 17:37:56 +01:00
Richard Hughes
cdb01590e0 nvme: Add a new plugin to update NVMe hardware 2018-08-26 19:42:28 +01:00
Richard Hughes
95227a919d trivial: Move gudev to the core plugin deps 2018-08-26 19:38:58 +01:00
Richard Hughes
0971192575 trivial: Remove duplicate dependency() for json-glib 2018-08-21 09:43:08 +01:00
Mario Limonciello
669d4382a0 meson: Detect location of python3 interpreter
This fixes building UEFI labels on the snap build.
2018-08-16 13:37:54 -05:00
Richard Hughes
d61a18743c trivial: post release version bump 2018-08-13 12:46:50 +01:00
Richard Hughes
68f12ddb44 trivial: Do not define _GNU_SOURCE
It prevents coverity from running with gcc7.
2018-08-09 16:59:04 +01:00
Richard Hughes
aefe2d1e6f trivial: post release version bump 2018-07-11 20:09:10 +01:00
Mario Limonciello
10a4824cb0 trivial: Allow running on an older systemd
Build the path list dynamically based on enabled plugins and use options
that are compatible with older systemd when appropriate
2018-07-10 11:05:10 -05:00
Richard Hughes
ba103483fa redfish: Add a plugin that uses the Redfish API
Redfish is an open industry standard specification and schema that helps enable
simple and secure management of modern scalable platform hardware.

This has only ever been tested using an emulator and not on real hardware.
2018-06-29 20:17:45 +01:00
Mario Limonciello
7015899c31 Continue to allow building with older meson
Commit 83d46b0579 bumped the minimum meson version to 0.46.0
This makes building on current Ubuntu LTS release more difficult
as it contains 0.45.0.

Instead conditionalize the build to run that code when on newer
meson.

This commit can be reverted when it's appropriate to bump meson
build dependency.
2018-06-28 10:41:28 -05:00
Mario Limonciello
f771bde71f uefi: Merge plugin_uefi and plugin_uefi_labels configure options 2018-06-28 15:51:11 +01:00
Richard Hughes
ebbb13c2b4 Remove the libfwup dependency from fwupd
In Fedora the only user of libfwupdate is fwupd and the fwupdate command line
tool. It makes sense to absorb the libfwupdate library interface into the
uefi plugin in fwupd. Benefits I can see include:

* fwupd and fwupdate are very similar names; a lot of OEMs are confused

* fwupd already depends on efivar for other things

* We are maintaining an artificial library interface

* The CI and translation hooks are already in place for fwupd

* We don't need to check for features or versions in fwupd, we can just develop
the feature (e.g. BGRT) all in one place.
2018-06-28 15:51:11 +01:00
Richard Hughes
1ccf35a9e4 dell: Register devices with the uefi plugin rather than using libfwup directly
The device registration allows us to create a 'virtual' device that can accept
capsule updates that is not found in the ESRT.
2018-06-28 15:51:11 +01:00