Commit Graph

201 Commits

Author SHA1 Message Date
Richard Hughes
fe11927eef Use black to format python source in a consistent manner
No code changes.
2020-04-13 23:06:30 +01:00
Richard Hughes
d5e9f59804 trivial: Use the official libjcat packages in the Fedora CI 2020-04-09 09:40:38 +01:00
Mario Limonciello
22306055e3 trivial: enable libjcat from Debian & Ubuntu distro builds 2020-04-08 10:32:34 -05:00
Mario Limonciello
0c9d083d53 trivial: ci: drop unsupported lintian strings
'binary-is-wrong-architecture' was dropped from lintian 2.62.0
2020-04-06 09:24:11 -05:00
Richard Hughes
cf8095d5af Use a static version number
Getting the version string from git means the commit version changes each time
we commit any patch, which means we need to use --force to install firmware
when building fwupd against a version that should be compatible.

It is also very inconvenient not bumping the release version for git snapshots
as firmware can no longer depend on the "planned" release triplet.

tl;dr: A good idea for Flashrom, not so awesome for me.
2020-03-29 12:17:52 +01:00
Mario Limonciello
f35be1c393 trivial: ci: exclude ia64 for flashrom 2020-03-25 09:51:12 -05:00
Mario Limonciello
36ffd92695 trivial: fix ubuntu CI 2020-03-24 10:02:28 -05:00
Mario Limonciello
b963cb3678 Add a new ChromeOS CI target to build without GPG and PKCS7
This is actually built on Debian, but it's intended purpose is to
be able to check whether the package made bad assumptions for ChromeOS
2020-03-23 19:55:12 +00:00
Richard Hughes
d5aab65f30 Use Jcat files in firmware archives and for metadata
A Jcat file can be used to store GPG, PKCS-7 and SHA-256 checksums for multiple
files. This allows us to sign a firmware or metadata multiple times (perhaps
by the OEM and also then the LVFS) which further decentralizes the trust model
of the LVFS.

The Jcat format was chosen as the Microsoft catalog format is nonfree and not
documented. We also don't want to modify an existing .cat file created from WU
as this may make it unsuitable to use on Windows.

More information can be found here: https://github.com/hughsie/libjcat
2020-03-23 19:55:12 +00:00
Richard Hughes
86b0bae0c4 trivial: Do not use -Db_sanitize=address as it breaks g-ir-scanner
And nobody can figure out why!
2020-03-23 19:55:12 +00:00
Mario Limonciello
60f15fe426 trivial: ci: suppress binary-is-wrong-architecture as well 2020-03-20 16:10:28 -05:00
Mario Limonciello
75a3b17972 trivial: ci: suppress lintian error that is a lintian bug
This will be fixed in an updated lintian and is not a problem
for the fwupd packaging.
2020-03-20 16:10:28 -05:00
Mario Limonciello
16eea10554 ci: build Debian using libflashrom
The package is now in unstable in the 1.2-4 package.
2020-03-05 17:07:28 -06:00
Richard Hughes
e675a33f93 trivial: A new enough flashrom is available for Fedora now 2020-03-04 08:50:24 +00:00
Mario Limonciello
bf6d455687 Move fwupdtool and fwupdagent into bindir
These are intended to be executed by users (albeit for debugging and
advanced users) and shouldn't be left as an internal implementation
per FHS 3.0.
2020-02-20 09:02:11 -06:00
Richard Hughes
aac406270c Use the system provided flashrom on Fedora 2020-02-20 12:57:21 +00:00
Tomas Winkler
457a7c37ec ci: use standalone script to generate build dependencies
Sometimes it is desirable to create a build environment
outside of docker.
Move dependencies parser to a standalone python script
and call it from generate_docker.py

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
2020-02-18 17:40:39 -06:00
Mario Limonciello
af774426c7 trivial: add libglib2.0-doc to debian/ubuntu build dependencies 2020-02-18 11:22:58 -06:00
Tomas Winkler
2a026147ce ci: allow working with podman w/o aliases
Fedora doesn't distribute docker anymore, instead
it uses podman for the containers.
It is possible to alias podman to docker, but
it's less hassle if it will work just out of the box.

The fix here is simple the podman is a fallback if
docker is not found.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
2020-01-29 08:43:31 +00:00
Tomas Winkler
8a00dc898f ci: fedora: force correct rpm package version
RPM doesn't allow '-' in the version number,
so this must be fixed if also when building from
an untagged git tree.

sanitize_for_ci() from get-version.py
fixes it only when build is CI environment.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
2020-01-29 08:22:41 +00:00
Richard Hughes
83425f99af Generate a win32 setup binary
Fixes https://github.com/fwupd/fwupd/issues/1704
2020-01-16 12:23:08 -06:00
Mario Limonciello
b78b4fb1bf Revert "trivial: Attempt to fix Debian CI"
This reverts commit 9e8037483a.
2020-01-08 21:08:59 +00:00
Richard Hughes
603e4f6956 Shut down automatically when there is system memory pressure
We can just rescan hardware if required; near OOM it's just more important to
free what we can and get out of the way.
2020-01-07 12:29:07 +00:00
Richard Hughes
d7197d5319 trivial: Move the Fedora CI image to F31 2020-01-07 12:29:07 +00:00
Richard Hughes
eb9522f4d6 trivial: Don't build the Ubuntu CI with Werror 2020-01-02 12:52:51 +00:00
Richard Hughes
9e8037483a trivial: Attempt to fix Debian CI 2020-01-02 12:52:51 +00:00
Richard Hughes
fbb677bee2 Add a new plugin that exposes the system TPM device firmware version
This plugin does not yet allow the device to be upgraded, and is provided for
information only.
2019-12-05 21:05:17 +00:00
Richard Hughes
45a00738d8 Allow building on Windows with MinGW
Add various fixes to enable us to build a selection of useful USB plugins.
Also, skip tests that don't make sense on WIN32 or that will not work.

With much help from Mario Limonciello <mario.limonciello@dell.com> -- Thanks!
2019-12-03 16:33:43 +00:00
Richard Hughes
297d1598ef trivial: Only dlopen the test plugin once
This causes problems in the self tests when not lazy-loading symbols.

Also use g_build_filename() for the paths to be more portable and readable.
2019-12-01 20:59:19 +00:00
Mario Limonciello
728f0f06c6 trivial: ci: don't let bad symlinks cause debian build failures 2019-11-30 18:43:24 -06:00
Mario Limonciello
f1a4d87063 Add missing documentation from the plugin interface
Also update the structure as the documentation doesn't only describe
libfwupd.
2019-11-26 06:31:57 +00:00
Mario Limonciello
9b36a370ae trivial: ci: pull lintian from unstable for now.
Fixes E: fwupd: library-not-linked-against-libc usr/lib/x86_64-linux-gnu/fwupd-plugins-3/libfu_plugin_upower.so

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=945276
2019-11-25 09:29:46 +00:00
Richard Hughes
ab902c0dd9 trivial: Fix Fedora CI build 2019-11-08 17:51:18 +00:00
Mario Limonciello
429a5128d3 Dynamically determine release version
This is inspired by a change in flashrom to read the version string for meson
dynamically.

No need for "post release version bump", this happens automatically from git
now by there being a dirty commit.
2019-11-08 09:52:02 -06:00
Mario Limonciello
d044dd3d71 trivial: contrib: don't require TSS for debian archs without EFI 2019-11-06 11:14:34 -06:00
Mario Limonciello
e6170ca6dd trivial: debian: only use mingw-w64-tools in archs with UEFI plugin 2019-11-05 11:46:15 -06:00
Richard Hughes
894ebf6ac7 trivial: Add all the _LAST enums that shouldn't be checked for ABI 2019-11-01 08:16:18 -05:00
Richard Hughes
51a869a01d Use XMLb to query quirks
During startup we do 1898 persistent allocations to load the quirk files, which
equates to ~90kb of RSS. Use libxmlb to create a mmap'able store we can query
with XPath queries at runtime.
2019-10-30 08:29:58 -05:00
Mario Limonciello
fe8888cc6f trivial: ci: disable pulling libxmlb from unstable 2019-10-30 08:29:58 -05:00
Mario Limonciello
ea10d7b14e trivial: debian: bump compat version 2019-10-28 10:43:43 -05:00
Mario Limonciello
e7b2ea02b9 uefi: use genpeimg to mark ASLR and DP/NX on EFI binary
If the tool is available at build time use it to this.
2019-10-26 12:59:11 -05:00
Mario Limonciello
0147583208 trivial: arch: ci: Wait some time for tpm_server to start up
Works around transient race conditions.
2019-10-15 09:10:15 -05:00
Mario Limonciello
ac97eca09e trivial: fix TPM2 simulator tests for arch
The simulator has PCR values that are not yet initialized.  So use the
Intel TPM tools to extend the PCR0 value before running test suite
2019-10-14 10:59:08 -05:00
Richard Hughes
3d6ff6e27e trivial: Fix Fedora CI 2019-09-30 17:13:07 +01:00
Richard Hughes
03ce21c61f Move to CI Fedora 30
Fedora 29 is EOL in just a few weeks.
2019-09-12 18:05:20 +01:00
Filipe Laíns
ccda6790f5 ci: arch: minor improvements
- Moved version discovery routine to PKGBUILD
- Set PKGEXT to .pkg.tar to avoid the package being compressed
- Added --needed to pacman arguments when installing the dependencies to
avoid reinstalling packages

Signed-off-by: Filipe Laíns <lains@archlinux.org>
2019-09-06 16:37:38 +02:00
Mario Limonciello
37a3ecf0ef trivial: add libtss2-dev into debian/control (Closes: #1324) 2019-08-29 10:27:41 -05:00
Jonas Witschel
5a7575d947 uefi: add test for TPM 2.0 PCR read function
The test is run if a physical TPM is available or if the environment
variable "TPM_SERVER_RUNNING" is set. In the latter case, the user is
expected to start a TPM simulator on their own, like we do in the Arch
Linux CI script here.
2019-08-27 06:23:42 -05:00
Jonas Witschel
1b5f1da202 uefi: use tpm2-tss library to read PCR values
Using the library instead of the command line tools provides a more
stable interface. This implementation only fetches PCR 0 for all
available hash algorithms since this is the only PCR that is actually
used in fwupd.
2019-08-27 06:23:42 -05:00
Mario Limonciello
805f7990f3 trivial: disable gtkdoc by default
Since https://fwupd.github.io is now a thing, people can be directed there
rather than relying upon locally built documentation by default.

Also this will mean one less dependency to install for people who build
from source.

Lastly this finally means that I can do this set of actions without failure:
```
meson build
ninja -C build
ninja -C build install (PK prompts for password)
rm -rf build
```

Previously gtkdoc stuff was built as root due to the PK prompt and removing
it would lead to stuff like this:
```
rm: cannot remove 'build/docs/libfwupd/html/libfwupd-FwupdClient.html': Permission denied
```
2019-08-23 10:54:54 -05:00