Commit Graph

375 Commits

Author SHA1 Message Date
Richard Hughes
a08891b6cb trivial: Do not use the testing remote for the Fedora CI 2019-01-29 22:28:09 +00:00
Mario Limonciello
4f24d0bae3 When using directory remote type automatically generate metadata
The CAB files will be parsed upon `fwupd`/`fwupdtool` startup and
loaded into the daemon.
2019-01-29 09:21:54 -06:00
Richard Hughes
09cbacd771 trivial: Move Fedora CI to f29
We'll need this for some updated deps soon.
2019-01-28 15:42:30 +00:00
Richard Hughes
367f4590d6 wacom-raw: Add a plugin to update Wacom embedded EMR and AES panels 2019-01-24 10:18:40 +00:00
Richard Hughes
45bbfc9cae Check the device checksum as well as the content checksum during verify
Some firmware has a different on-device checksum to the hash of the firmware
file itself. This may be because:

 * The content is not a binary file, e.g. Intel HEX or SREC
 * Only part of the firmware is flashed, e.g. ignoring the bootloader section
 * The device checksum is calculated using another method entirely, e.g. PCR0

It's also made complicated as there may be more than one 'correct' device
checksum in some cases, but nothing that a union query can't solve.
2018-12-14 19:23:04 +00:00
Richard Hughes
b56015ed3f uefi: Add the PCR0 value as the device checksum for system firmware
We can't actually access the UEFI ROM from userspace, but the PCR0 is a hash
built from the ROM itself. We could use this value to ensure the firmware has
been written correctly, and that the PCR0 matches the expected value specified
in the metadata.
2018-12-14 19:23:04 +00:00
Richard Hughes
b4fd12a4c6 Add a plugin to update hardware that supports fastboot 2018-12-03 15:50:38 +00:00
Mario Limonciello
91a3eac28d contrib: Add a simple python3 client
The client uses GObject introspection to use the libfwupd2 library.

The client offers a reduced set of commands, but may be useful in some
environments.
2018-11-30 08:39:50 -06:00
Mario Limonciello
15e4b0caaf installed-tests: Adjust to actually use a remote for installed tests
By using a remote, this should allow using gnome-software to do the
installed tests without hacking around much.

Fixes: https://github.com/hughsie/fwupd/issues/862
Fixes: https://github.com/hughsie/fwupd/issues/809
2018-11-29 09:40:06 -06:00
Richard Hughes
57908bebc1 wacomhid: Rename to wacom-usb
We're adding another Wacom plugin soon, this one also using hidraw -- but the
new protocol uses a different 'raw' protocol and does not use USB.
2018-11-29 13:26:29 +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
Richard Hughes
8a2eaa5514 trivial: Move the release descriptions to the metainfo.xml file
This matches what a lot of other projects do, and means we can easily format
the release notes back into NEWS format, but also into HTML and Markdown.

This also means we can show the correct update description in gnome-software
when building a flatpak, rather than falling back to the generic project
description.
2018-11-16 21:52:41 -06:00
Mario Limonciello
4039001d25 trivial: ci: fix flatpak build
The submodules need to checkout the latest remote commit, not the latest
one that was recorded by git metadata.
2018-11-09 15:12:06 +00:00
Richard Hughes
9636f28095 trivial: Drop the libxmlb insertion into the flathub manifest
The 1.2.0 release is being built in Flathub now.
2018-11-09 15:12:06 +00:00
Richard Hughes
53a049fce8 trivial: Sync example spec file with downstream 2018-11-08 20:39:46 +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
Mario Limonciello
d22f215a70 contrib: Adjust flatpak build for moving to flathub
Pull the based json file from
https://github.com/flathub/org.freedesktop.fwupd

And modify it as necessary (for changes in master)
2018-11-01 06:51:23 -05:00
Mario Limonciello
355f5c12d6 firmware-packager: Make it clearer to use
1) Remove the confusing --firmware-id and build this field dynamically based on GUID and Developer name
2) Make developer name mandatory
3) Rename device-unique-id to device-guid to more closely reflect how fwupdmgr shows it
4) Allow running on Windows
2018-10-24 06:12:31 -05: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
72b7eab693 flatpak: Update gnu-efi to latest version 2018-10-23 09:20:02 +01:00
Mario Limonciello
2aaa38d77d trivial: debian: Make control file statement more generic (Closes: #911505) 2018-10-22 07:50:26 -05:00
Mario Limonciello
a8240caf2e trivial: snap: Use libxmlb subproject instead
This avoids having to bump the snap on libxmlb releases.
2018-10-18 21:25:56 +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
Mario Limonciello
802a279bd2 trivial: snap: drop the stable symlink
Leading to this problem:

Building fwupd-wrappers
Failed to copy '/build/fwupd/parts/fwupd-wrappers/build/snapcraft-stable.yaml': it's a symlink pointing outside the snap.
Fix it to be valid when snapped and try again.
Build failed
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/lpbuildd/target/build_snap.py", line 229, in run
    self.build()
  File "/usr/lib/python2.7/dist-packages/lpbuildd/target/build_snap.py", line 218, in build
    env=env)
  File "/usr/lib/python2.7/dist-packages/lpbuildd/target/build_snap.py", line 75, in run_build_command
    return self.backend.run(args, env=full_env, **kwargs)
  File "/usr/lib/python2.7/dist-packages/lpbuildd/target/lxd.py", line 460, in run
    subprocess.check_call(cmd, **kwargs)
  File "/usr/lib/python2.7/subprocess.py", line 541, in check_call
    raise CalledProcessError(retcode, cmd)

Scanning for processes to kill in build SNAPBUILD-351860
2018-10-12 11:59:04 -05:00
Mario Limonciello
3e54789ee3 trivial: snap: Swap the type of snap/snapcraft.yaml to be a real file
Workaround for https://bugs.launchpad.net/launchpad/+bug/1797366

It was previously a symlink to contrib/snap/snapcraft-stable.yaml
however infrastructure changes in launchpad have caused this to break
automatic snap builds.
2018-10-12 08:41:41 -05:00
Mario Limonciello
558055c9b7 Add a plugin for an upcoming Dell USB-C dock
This plugin requires infrastructure introduced in fwupd 1.1.3
and can not be backported to earlier versions of fwupd.

It works together with the Synaptics and Thunderbolt plugins to
coordinate the proper flashing procedure for devices in this dock.
2018-10-12 07:58:29 +01:00
Mario Limonciello
2ea87013cd contrib: Add information on how to use debugging scripts
At least for me it was a challenge to get the debugger properly
configured to allow debugging fwupd when built in tree.

This should allow very simple debugging.
2018-10-11 07:43:56 -05:00
Richard Hughes
e3a2e95628 trivial: Sync the flatpak manifest with the one from flathub 2018-10-05 07:59:59 +01:00
Richard Hughes
9a9cb9e179 trivial: Be more explicit when building the snap packages 2018-10-04 18:38:12 +01:00
Richard Hughes
3c186ce3cf trivial: Include libuuid specifically on Centos
This is seemingly not in the default buildroot.
2018-10-04 18:38:12 +01:00
Richard Hughes
19c56436b1 trivial: Be more explicit when building on Centos
Newer versions of appstream-glib do not depend on libgcab and so it has to be
installed manually to ensure the CI still passes.
2018-10-04 18:38:12 +01:00
Richard Hughes
70df6d1144 trivial: Be more explicit when building the Arch package 2018-10-04 18:38:12 +01:00
Mario Limonciello
7cc7b04d67 ci: Run clang static analysis for Ubuntu build rather than just clang compiler 2018-09-21 07:35:08 +01:00
Mario Limonciello
f7d8250e9d trivial: standalone: Check argument make sense with command 2018-09-20 11:56:42 -05:00
Mario Limonciello
e25675de04 trivial: standalone: If missing flatpak dependencies, download them
Most distros don't enable flathub by default, so enable it when
running the tool if the deps are missing and pull the Gnome SDK from
there.
2018-09-20 11:56:42 -05:00
Mario Limonciello
2d12a24234 contrib: Add a standalone installer creation script
This is meant to produce standalone installer binaries that can operate
on machines without current tools or internet access.

It works by wrapping around the container technologies snap and flatpak
and putting all the pieces together.
2018-09-14 12:34:09 -05:00
Richard Hughes
35a0a456e2 rts54hid: Add support for Realtek USB devices using vendor HID commands 2018-09-14 12:40:20 +01:00
Richard Hughes
161eee23ca rts54hub: Add support for Realtek USB devices using vendor HUB commands 2018-09-12 14:18:55 +01:00
Mario Limonciello
b41b2d7061 trivial: snap: fix TLS communications in classic snap 2018-09-10 21:05:06 -05:00
Mario Limonciello
9ac08995d8 trivial: snap: sync up some missing changes in master snap 2018-09-10 21:05:06 -05:00
Mario Limonciello
db9a13c5bb trivial: snap: Correct bash completion path 2018-09-10 13:21:29 -05:00
Mario Limonciello
c60012c784 trivial: snap: Install dbus service in classic snap
This should be reverted if switching to a devmode or confined snap.
2018-09-10 13:21:12 -05:00
Mario Limonciello
2da1aca6e3 trivial: snap: tear out slots as well for classic snap
Classic snaps don't allow slots either.  When switching to a confined
or devmode snap, revert this commit.
2018-09-10 08:27:15 -05:00
Mario Limonciello
8511cc54bb trivial: snap: adjust efivar prefixes to be same on all archs
Snaps aren't multiarch, so this should help snap builds on !x86_64
potentially that have FTBFS thus far.
2018-09-09 23:09:21 -05:00
Mario Limonciello
05cc3f5956 trivial: snap: disable use of plugs for classic snap
This should be reverted if switching back to devmode or confined
snap.
2018-09-09 21:52:28 -05:00
Mario Limonciello
78bc800396 trivial: snap: Add python3-apt to build-deps for signed 2018-09-09 12:46:40 -05:00
Mario Limonciello
3514a5ea84 snap: Remove setting LD_LIBRARY_PATH
When working with classic snap this causes gpg to stop working.
If switching to devmode revert this fix.
2018-09-08 08:34:36 -05:00
Mario Limonciello
e7e569255f snap: Adjust grade to stable
The snap itself is in good shape now and should be able to migrate to
stable channels as needed.
2018-09-08 08:34:36 -05:00
Mario Limonciello
2e22d316eb snap: Move fwupd to / rather than /usr 2018-09-08 08:34:36 -05:00
Mario Limonciello
e9a3a0b925 snap: Enable builds for the daemon
This requires a newer version of gettext than is in Ubuntu 16.04
in order to support GETTEXTDATADIRS
2018-09-08 08:34:36 -05:00