Commit Graph

222 Commits

Author SHA1 Message Date
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
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
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
Richard Hughes
194c76536e trivial: Use a non-obsolete font when building the UEFI splash images 2018-09-06 14:21:24 -05:00
Richard Hughes
cdb01590e0 nvme: Add a new plugin to update NVMe hardware 2018-08-26 19:42:28 +01:00
Mario Limonciello
00b8f150dd trivial: debian: disable test suite if fwupd is currently installed 2018-08-23 10:58:50 -05:00
Mario Limonciello
2a099494aa ci: enable synaptics plugin to run in more architectures
Although it's only used on Dell devices, those devices could potentially
be plugged in via a bus on a different architecture too.
2018-08-06 06:22:21 +01:00
Mario Limonciello
2f7669f278 contrib/debian: generate debian/copyright dynamically 2018-08-05 08:22:23 -05:00
Mario Limonciello
7154f63397 trivial: Adjust syntax of varying copyright holders to unify across project 2018-08-05 08:22:23 -05:00
Mario Limonciello
7beace3d9c trivial: ci: Only add gnu-efi to build-deps for supported architectures
For Debian/Ubuntu this was causing FTBFS (dep-wait) on any architectures
that didn't have gnu-efi.
2018-07-30 16:41:59 -05:00
Mario Limonciello
76397da55f trivial: ci: install bubblewrap in Fedora, Ubuntu, & Debian 2018-07-13 10:51:12 -05:00
Mario Limonciello
5eef1e83f7 trivial: fedora: fix missing libgcab1-devel 2018-07-12 14:24:48 -05:00
Mario Limonciello
bc5b496c61 trivial: debian: add gnu-efi to debian build deps 2018-07-12 14:24:48 -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
Richard Hughes
76447b2df4 trivial: Sign the Fedora fwup.efi loader 2018-06-29 08:58:12 +01:00
Mario Limonciello
b5845a8e93 Catch missing translation files in POTFILES.in 2018-06-29 06:43:06 +01:00
Richard Hughes
bf71ba6fb1 trivial: Use the address sanitizer when building the Fedora CI 2018-06-28 20:55:37 +01: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
b1e0ab98d1 uefi: Import the fwupd.efi sources from the fwupdate project 2018-06-28 15:51:11 +01:00
Richard Hughes
44367e707d trivial: Bump the required version of libsmbios_c
Also, disable the dell plugin for the CentOS build.
2018-06-28 15:51:11 +01:00
Richard Hughes
e1d65f3f5d trivial: Enable epel-testing for the Centos build 2018-06-27 16:48:35 +01:00
Richard Hughes
cd330b09d3 trivial: include libsmbios for the Arch CI build 2018-06-27 12:52:32 +01:00
Richard Hughes
aa05cdf92c trivial: Fix the flatpak build 2018-06-27 10:40:05 +01:00
Mario Limonciello
303cfe0294 Move Fedora CI to fedora 28
This is to easily get the updated efivar 33 dependency
2018-06-22 09:59:06 +01:00
Mario Limonciello
b1503e96da trivial: debian: Add bash-completion to debian/control 2018-06-07 09:35:44 -05:00
Richard Hughes
0b522aef96 colorhug: Do not require libcolorhug to build
Requiring colord to be built before fwupd makes it hard to build packages.

The HID-based flashing protocol is stable and documented, so there's no need
to use an external library for this now.
2018-06-02 21:43:20 +01:00
Richard Hughes
5171a64a33 flatpak: Use the local directory when building fwupd 2018-06-02 21:05:14 +01:00
Richard Hughes
121aa439b9 trivial: Use the correct branch when building a flatpak bundle 2018-06-01 15:56:12 +01:00
Mario Limonciello
0238a9b2f2 Add support for creating snaps
They can be built one of three ways:
* Through Travis CI (Add to the OS matrix)
* Through build.snapcraft.io
* Locally (snapcraft cleanbuild)
2018-05-31 14:12:06 -05:00
Richard Hughes
89239b35b6 Add support for building a flatpak bundle 2018-05-31 13:54:45 +01:00
Mario Limonciello
51308e648a Adjust all licensing to LGPL 2.1+ (Closes: #526) 2018-05-29 09:03:13 +01:00
Mario Limonciello
f6949b4911 Look up bash-completion paths using pkg-config 2018-05-01 16:21:31 -05:00
Mario Limonciello
58fc7d7467 trivial: debian: Don't require valgrind on more arch ports (Closes: #896148)
ia64, risvc64 and x32 aren't likely to get valgrind soon, so turn off self
tests on them and remove the dependency.
2018-04-20 09:10:34 -05:00
Mario Limonciello
078078d20e Don't build UEFI in CentOS (it doesn't have fwupdate 10 yet 2018-04-20 09:05:17 -05:00
Mario Limonciello
693497b961 Update Fedora dockerfile to pull from Fedora 27 2018-04-20 09:05:17 -05:00
Mario Limonciello
ed1ac2a74b Enable CentOS 7 for CI
There are a lot of hacks here;
 * Pulling newer libappstream-glib from Fedora
 * Pulling a systemd backport
 * Manually installing pillow and pygobject
 * PKCS7 is turned off (gnutls is too old)
2018-04-18 10:25:22 -05:00
Mario Limonciello
3a00164d9a trivial: Support setting a proxy while building docker container 2018-04-18 10:25:22 -05:00
Mario Limonciello
6a650193b0 trivial: debian: Reset clang to run in Ubuntu
This was accidentally dropped in a previous CI rework.
2018-04-16 10:54:44 -05:00
Sjoerd Simons
0a4409f231 contrib/ci: Fix synapticmst test under arch ci build
The synaptic mst test wants to open its test files as r/w, however as the
arch build runs as user nobody that won't work unless the test files are
also owned by user nobody. To make that happen, copy the source tree
rather then symlinking it

Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
2018-04-12 20:31:30 -05:00
Robert Ancell
5c535a53ce Generate Vala bindings 2018-02-26 06:04:27 +00:00
Mario Limonciello
a0f9f619ca contrib: Don't declare OS variable in docker run command (Fixes: #413)
Since the containers are ephemeral just declare directly in the Dockerfile
This also simplifies the run command for users building fwupd
2018-02-21 13:30:12 -06:00
Mario Limonciello
d0b4898912 Rename ubuntu-clang to ubuntu-x86_64
Although it's built with clang, it's the x86_64 variant.
2018-02-21 13:30:12 -06:00
Mario Limonciello
2de274fada contrib/ci: Detect machine type when generating debian/control 2018-02-21 13:30:12 -06:00
Mario Limonciello
1d2a243978 contrib/ci: explicitly require at least fwupdate 10-3 to build
efivar 34-1 is needed to fix the ux_capsule_guid symbol
2018-02-14 16:00:10 -06:00
Mario Limonciello
ef5305ddeb contrib/ci: Place all build results in dist/ 2018-02-14 09:12:55 -06:00
Mario Limonciello
238d14669f ci: Drop unneeded perl-sgmls dependency 2018-02-13 14:13:49 -06:00
Mario Limonciello
a9d7c365d7 contrib: Install new arch keyring package immediately (Fixes #399)
Fixes problems with umockdev package signed with a key not in base.
2018-02-13 14:13:49 -06:00
Mario Limonciello
1b907a7d25 Drop docbook dependencies 2018-02-09 17:26:18 +00:00
Mario Limonciello
95e75c1f4d contrib/ci: Simplify docker matrix
Building:
The Dockerfile really is just an intermediary file.  While building it the
container can be built too all in one shot. No need to git ignore the
intermediary file any more as a result.

Running:
Dockerfiles support default entry points which means one docker command
can be used for starting all of them.
2018-02-02 19:55:36 +00:00
Mario Limonciello
b0398b00cf Revert "ubuntu: depend on appstream-glib 0.7.4 too"
This reverts commit 47ff62b986.

This lets master build on Ubuntu 17.10.
Ubuntu 17.10 doesn't have the newer appstream-glib, so reverting
this commit means Ubuntu 17.10 can't use the HWID's stuff from
b8f8db2082
without a manual backport.

Ubuntu 18.04 and later already have the newer appstream-glib
though, so they will get the HWIDs functionality
2018-01-12 09:55:24 -06:00
Richard Hughes
b58104895d trivial: Add fwupd_build_history_report_json() for future use 2018-01-11 21:28:22 +00:00
Richard Hughes
f1ed711c7e trivial: Add fwupd_build_machine_id()
This allows us to identify a specific machine using the machine-id.
2018-01-11 08:16:55 +00:00
Mario Limonciello
110accb395 debian: if OS environment variable isn't set, try to guess it 2018-01-04 00:02:52 -06:00
Igor Gnatenko
0ffc2448c0 ci: mesonintrospect -> meson introspect
Plan is to remove "old" name at some point (1.0?).
2017-12-13 11:08:45 -06:00
Mario Limonciello
eb737f15f5 fix CI builds with -Werror
Switching to build in -werror in 4016c839a8
was not working properly.  Adjust the CI builds to use --werror instead.

Also while doing this, enable -werror in clang builds.
2017-11-30 16:42:26 -06:00
Mario Limonciello
47ff62b986 ubuntu: depend on appstream-glib 0.7.4 too 2017-11-28 15:20:32 -06:00
Mario Limonciello
7823ca8241 Bump minimum appstream-glib version to 0.7.4 2017-11-28 14:17:25 -06:00
Richard Hughes
d0cff7caec Remove autoconf-isms from the meson configure options
See https://wiki.gnome.org/Initiatives/GnomeGoals/MesonPorting
2017-11-27 18:07:53 +00:00
Richard Hughes
4016c839a8 trivial: Use the built-in -werror from Meson 2017-11-27 18:07:53 +00:00
Mario Limonciello
ce051b8da5 debian: only do libsmbios on supported architectures 2017-11-09 18:53:46 -06:00
Mario Limonciello
4c6667a46e contrib/debian: dynamically generate control file
All the information necessary to generate a debian control file
is now in the XML file.  Use it rather than hardcoding in multiple
places.
2017-11-07 16:39:28 -06:00
Mario Limonciello
d607817af4 contrib: Move dependencies into XML file
Monster CSV file is a little wild.  This is more readable and
will make adding new distros and dependencies easier later.
2017-11-07 16:39:28 -06:00
Richard Hughes
3b84753769 Use help2man to generate the man page at build time
The man pages are always old and out-of-sync with the actual tool, so just
generate them using the output of --help.

Fixes https://github.com/hughsie/fwupd/issues/285
2017-10-23 16:47:08 +01:00
Mario Limonciello
f7dc2faf20 Add a 32 bit debian build to CI (#273) 2017-10-12 07:02:43 +01:00
Richard Hughes
b27f99ac22 trivial: Don't run from the cache when installing CI targets 2017-10-08 11:26:32 +01:00
Mario Limonciello
fa2d5f60e4 trival: debian: filter no-symbols-control-file during build for CI
e17c06 intentionally dropped this - it will be stored in
the debian branch based on when things land in debian
2017-09-28 10:17:33 -04:00
Richard Hughes
94110f5983 Remove some deprecated #define names and bump the soname
Also, bump soname as we're going to clean up a lot of things now.

Many thanks to Mario Limonciello for all the Debian-specific changes.
2017-09-28 09:23:52 +01:00
Mario Limonciello
3bc46392d0 add ubuntu CI 2017-09-25 15:14:37 -05:00
Mario Limonciello
feb038099b trivial: test if running in a container in build scripts
This allows people to build without docker without root.
2017-09-21 21:52:06 +08:00
Mario Limonciello
3b55a06fec trivial: switch CI to debian testing
testing should shield CI from migrations happening in unstable
can switch back to unstable as needed in future
2017-09-20 13:53:13 +08:00
Richard Hughes
34e25a0cc5 trivial: Remove EnableTestSuite from daemon.conf
The same thing can be done using BlacklistPlugins=test
2017-09-19 20:06:44 +01:00
Richard Hughes
c2af1964b9 trivial: Move /etc/fwupd.conf to /etc/fwupd/daemon.conf 2017-09-19 20:06:44 +01:00
Mario Limonciello
4d3025a108 Generate dockerfiles dynamically (#238) 2017-09-11 13:39:40 -05:00
Mario Limonciello
eba19fb94d Introduce an s390x cross compile target to CI 2017-09-08 09:24:54 +01:00
Mario Limonciello
abdd612722 Add a test target for Debian build, but compiled under clang 2017-09-07 19:18:04 -05:00
Mario Limonciello
b59d6a1f33 Add a README about CI 2017-09-07 19:18:04 -05:00
Richard Hughes
2a533b8de2 Use -Werror when building in Travis CI
Do NOT do this for normal package builds.

With much help from Mario Limonciello, many thanks.
2017-09-07 18:25:48 +01:00
Richard Hughes
4022700bc8 Do not install the libdfu helper library
In reality fwupd is the only user and we don't want to hold this library to the
same kind of API and ABI guarantees of libfwupd.
2017-09-06 16:21:32 +01:00
Yehezkel Bernat
859f0f0fe8 Enable Thunderbolt plugin in CI and RPM packaging
Signed-off-by: Yehezkel Bernat <yehezkel.bernat@intel.com>
2017-08-30 12:03:03 +01:00
Jaroslav Lichtblau
6637f74161 thunderbolt plugin can be now tested on Arch Linux
umockdev package is now available in the community repository
of Arch Linux

https://github.com/hughsie/fwupd/issues/187
2017-08-24 11:21:55 +01:00
Mario Limonciello
7f1ed952f2 trivial: update ubuntu dockerfile
Syncs with changes from Debian and sets it up for rolling with devel
release name changes
2017-08-22 13:50:25 -05:00
Christian Kellner
73ba7ee82c thunderbolt: plugin for new tbt kernel interface
Thunderbolt has a new kernel interface starting from version 4.13,
which simplifies updating the host controller and devices: the
kernel now exposes a sysfs interface for the non-volatile memory
as a device node. This can be used to write the new firmware blob.
Updates are then triggered also via a simple write to a sysfs
file (nvm_authenticate), which in turn is also used for error
reporting.
The plugin should be functionally, but a few items are missing:
 - image verification
 - safe mode handling
2017-08-21 17:05:44 +01:00
Mario Limonciello
d3f304c0f1 trivial: ci: build deb package with hardlinks instaed of symlinks 2017-08-17 12:41:06 -05:00
Matthias Klumpp
919e4ec61d ci: Echo shell commands, explicitly set error
By echoing the commands it is way easier to spot what the CI was doing
when a command failed. Setting fail-on-error mode explicitly makes sure
we always run with it, even if someone invokes the script with `bash
<scriptname>`
2017-08-16 23:00:29 -05:00
Matthias Klumpp
8a6337f146 trivial: Some small tweaks to the Debian CI
- Enable echoing in the CI script
- Use debuild
- Show info/experimental/pedantic lintian hints
- Use service instead of invoking an init script directly
2017-08-16 23:00:29 -05:00
Richard Hughes
7403dc505f Optionally use GnuTLS to verify PKCS7 certificates
We can use this as an alternative for GPG. No PKCS7 certificates are currently
installed by fwupd and it's expected that the LVFS will still only provide GPG
detached signatures.

If an OEM distributor wants to sign firmware with a PKCS7 and the corresponding
certificate is provided then the firmware will be marked as valid.

Only firmware shipping with a .p7b file will use the PKCS7 functionality,
similarly remote metadata validation will default to GPG unless Keyring=pkcs7
is specified in the config file.
2017-08-14 09:42:48 +01:00
Mario Limonciello
465f223710 ci: switch to debian unstable
appstream-glib was uploaded to unstable so now CI can run on that.
https://tracker.debian.org/news/860552
2017-08-04 09:53:53 -05:00
Richard Hughes
7664fa7251 trivial: Target Fedora 26 for CI 2017-08-03 11:52:35 +01:00
Mario Limonciello
47c2e9b6a8 rpm: enable test suite via /etc/fwupd.conf 2017-07-17 14:46:32 -05:00
Mario Limonciello
a8a3c6f6b6 debian: run lintian as part of CI
If any new changes are introduced that break plicy, this should
catch them much sooner.
2017-07-17 14:35:20 -05:00
Mario Limonciello
c9ff8f1e33 trivial: Add a Dockerfile for Ubuntu zesty (17.04)
This won't be run through CI (already have Debian coverage)
but it should make it easier to check Ubuntu/Debian deviations
in the future
2017-07-10 16:30:24 -05:00
Mario Limonciello
d97eb03b6b trivial: debian: calculate version number using git describe again
This will be more representative of what the build actually is
rather than a mismarked tag.

If the checkout doesn't include a tag, fallback to parsing meson.build
though.
2017-06-26 13:01:29 -05:00
Mario Limonciello
3db79f2ec2 trivial: Fixup the arch build to work on Travis
* Use sed to adjust package version while running script rather than `makepkg`
* Run script as root so it can modify `/build`
* Run `makepkg` as nobody rather than "build"
* Separate build/install steps
2017-06-26 12:57:55 -05:00
Bruno Pagani
1cc7d8d271 Add Arch Linux to CI 2017-06-26 09:50:11 -05:00
Mario Limonciello
db42f2bd27 trivial: don't pull debhelper from experimental on debian CI anymore
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=865363 has been
fixed
2017-06-26 08:55:49 -05:00
Mario Limonciello
43775d03f9 debian: use dpkg-divert to adjust the launch script for CI testing
This means that if someone wants to use the test inteface with
packages, no hacky launching needed.

Just:
2017-06-22 14:44:58 -05:00
Mario Limonciello
cca4297153 trivial: Switch installedtests from python2 to python3 2017-06-22 13:42:59 -05:00
Richard Hughes
2877237f8a trivial: Fix CI harder 2017-06-22 15:49:40 +01:00
Richard Hughes
5d9e9f4a36 trivial: Fix the CI build for the new hardware installed tests 2017-06-22 11:21:03 +01:00
Mario Limonciello
c5300df799 Drop additions to /etc/apt/sources.list for Debian
The docker base images include these already
2017-06-20 14:45:23 -05:00
Mario Limonciello
9a33ea6e06 Adjust debian dependencies
They were a little bit overzealous.
2017-06-20 14:17:49 -05:00
Mario Limonciello
f3f4390155 Only use the test runner plugin when CI is set in the env (#148)
This prevents an installed system from showing FakeDevices but
still allows exercising every commit with Travis CI
2017-06-20 13:56:13 -05:00
Mario Limonciello
b4208bb577 Adjust Debian version detection to just parse meson.build 2017-06-20 13:54:52 -05:00
Mario Limonciello
2c9a09f767 Add texlive-fonts-recommended to Debian container
Since the container is installed with --no-install-recommends
it isn't coming in by default.  Without it this bug occurs:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=865217
2017-06-19 16:04:12 -05:00
Richard Hughes
19fdebf4f4 trivial: Install two extra packages for the fedora Travis build 2017-06-16 07:59:02 +01:00
Mario Limonciello
4ba3d25ba1 Drop the locale hack on the Debian docker file 2017-06-15 17:09:42 -05:00
Richard Hughes
ae7e0d21b2 Add an installed test for verification 2017-06-15 16:23:52 +01:00
Richard Hughes
8d1054eaf1 trivial: Enable the tests in the reference spec file 2017-06-15 12:05:11 +01:00
Richard Hughes
58de3dbe77 Run the installed tests in Travis CI 2017-06-14 17:34:10 -05:00
Mario Limonciello
b9386372ca Copy RPMs into build root when done 2017-06-13 17:56:57 -05:00
Mario Limonciello
0ff9d5307b drop travis CI generic build and test case (it's implied by testing packaging) 2017-06-13 15:35:45 -05:00
Mario Limonciello
ab6884f44a enable tests in Travis CI for fedora 2017-06-13 15:35:45 -05:00
Mario Limonciello
0c50ed1af3 Generate deb & RPM packages as part of CI build (#134) 2017-06-13 15:35:45 -05:00
Mario Limonciello
d3c355e464 Add debian packaging 2017-06-13 15:35:45 -05:00
Mario Limonciello
3d77bd4ab4 Set Dockerfiles to UTF-8
Should resolve failed CI builds
2017-06-12 16:50:24 -05:00
Peter Jones
2297c09f81 Generate a pile of images for status messages during system firmware update. (#133)
This generates a pile of .bmp files to use as our status messages.

Signed-off-by: Peter Jones <pjones@redhat.com>
2017-06-12 13:11:22 -05:00
Mario Limonciello
825e881864 get debian travis builds working too
For now they'll need to build with debian experimental until
appstream-glib 0.6.13 flows up to unstable (probably after
stretch releases)
2017-06-08 09:09:32 -05:00
Richard Hughes
871618ae1b Enable Travis CI for Fedora 25
Debian Unstable is currently disabled as it does not work.
2017-06-08 12:36:41 +01:00