Commit Graph

163 Commits

Author SHA1 Message Date
Mario Limonciello
2df922c23d Move the core built-in 'fwupd' remote over to the dell-esrt plugin
This metadata is useless to other systems, so if compiling a custom
fwupd without -Dplugin_dell=true it shouldn't be included.
2019-04-02 07:18:29 -05:00
Steve McIntyre
c8de6b6398 trivial: debian: Update the format of the json metadata to match new requirements
* Move all the data under a new top-level "packages" key
* Add an empty "trusted_certs" key - our binaries do not do any
  further verification with an embedded key.
2019-03-11 17:06:21 -05:00
Richard Hughes
4499d19ba3 Move out the offline update functionality to a new binary
The offline updates environment is special, and we have to be careful to delete
the trigger before doing anything that can fail to avoid boot loops.

For this reason, split it out to a simple self-contained binary that is easy to
understand.
2019-03-08 09:45:30 -06:00
Richard Hughes
5806867ebe Add the fwupdagent binary for use in shell scripts
This currently just outputs the current list of devices with releases and makes
it possible to integrate firmware version reporting with other tools like mgmt.
2019-03-06 13:15:55 +00:00
Richard Hughes
ffa3b84706 Add a plugin to support ModemManager hardware 2019-02-27 16:09:13 +00:00
Mario Limonciello
96a0dd5606 Add a support for delayed activation
This is intended for devices that it is not safe to immediately activate
the firmware.  It may be called at a more convenient time instead.

Both fwupdmgr and fwupdtool support the feature.

- if called at runtime with fwupdmgr it uses the daemon
- during shutdown fwupdtool uses the pending.db to perform this feature.
2019-02-27 09:04:54 +00:00
Mario Limonciello
dc845bec2b trivial: debian: override newer lintian for missing ASLR on PE executable 2019-02-25 16:59:29 -06:00
Richard Hughes
97293c4560 Show in Flathub correctly
For this we need to register as a console application (which fwupdtool is, I
suppose) and also supply a usable icon.

I've used the new GNOME icon theme guidelines so please add a drop shadow
before using: https://gitlab.gnome.org/GNOME/Initiatives/issues/2
2019-02-15 12:32:46 +00:00
Mario Limonciello
9772f8aca6 debian: explicitly depend on shared-mime-info
This helps autopkgtest issue:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=922331
2019-02-14 21:34:43 -06:00
Mario Limonciello
e8bb4e0e34 trivial: debian: bump to debhelper 11 2019-02-07 07:33:33 -06:00
Mario Limonciello
377918d422 trivial: debian: bump to newer standards version 2019-02-07 07:33:33 -06:00
Mario Limonciello
3a7899eb3f trivial: contrib/debian: remove custom compression 2019-02-07 07:33:33 -06:00
Mario Limonciello
83241fd25c trivial: contrib/debian: Add a lintian override for EFI applications 2019-02-07 07:33:33 -06:00
Mario Limonciello
a1e5fa6594 trivial: contrib/debian: use libxmlb from Debian archives 2019-02-07 07:33:33 -06:00
Mario Limonciello
39ddd968b8 trivial: contrib: debian: Don't allow -Wl,-Bsymbolic-functions
This linker flag is used by Ubuntu by default for packages.
It however doesn't work when compiled with `-Wl,-z,defs` which is
the default behavior since 0e17e6d030.

Recommended-by: Aleksander Morgado <aleksander@aleksander.es>
Signed-off-by: Mario Limonciello <mario.limonciello@dell.com>
2019-02-04 08:56:43 -06: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
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
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
2aaa38d77d trivial: debian: Make control file statement more generic (Closes: #911505) 2018-10-22 07:50:26 -05: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
30407537ff trivial: debian: Add Recommends for bolt
Newer versions of bolt provide a superior experience when using
Thunderbolt force power rather than directly using the kernel.

Pull bolt in when installing fwupd to take advantage of this.
2018-08-28 10:38:00 -05:00
Richard Hughes
cdb01590e0 nvme: Add a new plugin to update NVMe hardware 2018-08-26 19:42:28 +01:00
Mario Limonciello
840920e928 trivial: debian: Add some signing bits that were missed (Closes: #906599) 2018-08-22 23:09:45 -05:00
Mario Limonciello
3d62c8f8f9 trivial: debian: Pass -a into dh_missing (Closes: #906357)
dpkg-buildpackage -A does the architecture independent builds and
is failing due to mistakingly seeing a file that is not installed.
2018-08-17 11:58:47 -05:00
Mario Limonciello
1058c7fb4f trivial: debian: use a virtual package to resolve the signed package
On Debian this will be fwupd-$ARCH-signed, on Ubuntu it's a real package
called fwupd-signed.
2018-08-09 12:41:44 -05:00
Mario Limonciello
7984859062 trivial: debian: Recommends the signed packages
This will cause fwupd to pull them in by default for the appropriate
architectures.
2018-08-09 10:46:01 -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
5b57d7fcd3 trivial: debian: correct another syntax error in SB signing template 2018-08-05 08:33:20 -05: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
67604eab64 trivial: debian: correct secure boot signing template name (Closes: #905471) 2018-08-05 00:05:23 -05:00
Mario Limonciello
54b0e239bd trivial: debian: refresh debian/copyright (Closes: #904671) 2018-08-04 22:31:32 -05:00
Mario Limonciello
df12c14032 trivial: debian: Fix secure boot signing template (Closes: #905468) 2018-08-04 22:25:36 -05:00
Mario Limonciello
0ad1185aa9 trivial: debian: make sure EFI binaries are in correct binary package 2018-08-04 19:49:47 -05:00
Mario Limonciello
607597d2d8 trivial: debian/rules: dynamically install EFI binaries 2018-08-04 19:40:31 -05:00
Mario Limonciello
20c0234086 trivial: debian: use pkg-config to determine when to turn on redfish and UEFI
Fixes FTBFS in Debian due to Redfish not working on !x86
2018-08-04 16:57:50 -05:00
Mario Limonciello
7769304c7b trivial: debian: fix the filename of the signed archive used for secure boot
In the process of bringing over from fwupdate this line was missed
from debian/rules.
2018-07-23 13:26:45 -05:00
Mario Limonciello
df6b0c1491 trivial: add make to depends for the template 2018-07-12 14:24:48 -05:00
Mario Limonciello
08efb277a1 Update the template building service for the move to fwupd
Since the EFI binary copied to fwupd the signing service will
also need to use templates from fwupd.
2018-07-12 14:24:48 -05:00
Steve McIntyre
d819ebf18f Initial support for UEFI Secure Boot in Debian infrastructure
(Hopefully without breaking the Ubuntu packaging!)

When building, also generate a fwupdate-$ARCH-signed-template package
which contains metadata needed by the Debian signing service. This
will end up being turned into a new source package including a signed
version of the fwupdate binary.

Update the existing debian packaging files for fwupdate to do this,
and also add the core of the template in the debian/signing-template
directory. Also add a couple of helper scripts to drive things, and
update our README.Debian.
2018-07-12 14:24:48 -05:00
Richard Hughes
57df956d7b uefi: Add a libexec tool to mimic the original fwupdate CLI interface 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
Mario Limonciello
0fdf5aec81 trivial: debian: Correct debian copyright for license changes 2018-06-07 09:35:40 -05:00
Richard Hughes
b597683113 Add a low-level firmware diagnostic tool
This is designed to be run as root accessing the hardware directly rather than
using the daemon. This would allow a snap or flatpak package to write firmware
even when the host fwupd daemon is too old.

Also, move the SMBIOS parsing code here as this is not needed in fwupdmgr.
2018-05-18 10:08:10 +01:00
Mario Limonciello
8600b644df trivial: debian: ignore library-not-linked-against-libc
lintian is showing false positives.  See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=896012
for more details.
2018-04-23 10:29:48 -05:00
Mario Limonciello
59e6440dd5 trivial: debian: Remove unused override in debian/lintian/fwupd 2018-04-16 10:54:44 -05:00
Mario Limonciello
0a94c6d34a trivial: debian: rename tag for debian/source/lintian-overrides 2018-04-16 10:54:44 -05:00
Mario Limonciello
05c5b8de20 trivial: debian: Adjust to use https in debian/copyright 2018-04-16 10:54:44 -05:00
Mario Limonciello
6babe0fb40 trivial: debian: Bump debian/compat to 10 2018-04-16 10:54:44 -05:00
Mario Limonciello
f94b2f8c17 trivial: debian: Update control version 2018-04-16 10:54:44 -05:00
Mario Limonciello
ce5ed9ce58 Add bash completion for fwupdmgr 2018-02-28 06:40:59 -06:00
Robert Ancell
5c535a53ce Generate Vala bindings 2018-02-26 06:04:27 +00:00
Mario Limonciello
7f458e67dd Update VCS URL for debian packaging 2018-02-14 16:01:10 -06:00
Mario Limonciello
14c5607dd3 trivial: contrib/debian: update standards version 2018-01-29 16:33:29 -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
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
3744e614a9 debian: debci: remove unnecessary dbus start command
Shouldn't be needed as depending on dbus-x11 depends on dbus
which should get the daemon up and running.
2017-11-09 16:36:28 -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
8b2fbb2664 trivial: debian: debci: shuffle dependency location 2017-10-26 15:44:12 -05:00
Mario Limonciello
cc9cfbc74a debian/debci: add explicit dependency on policykit-1 for the test 2017-10-25 09:12:14 -05:00
Mario Limonciello
d00b05959d debian: update standards version 2017-10-24 16:21:35 -05: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
e1ab2e8818 debian: explicitly depend on umockdev in build depends
The previous problem for umockdev wasn't caught in debian buildds
with umockdev 0.9.4 due to they weren't installing the umockdev
package.
2017-10-19 08:40:08 -05:00
Mario Limonciello
69b2133def debci: use the needs-root restriction 2017-10-18 14:01:43 -05:00
Mario Limonciello
7f4104176b don't use dpkg-reconfigure in CI script 2017-10-18 11:12:35 -05:00
Mario Limonciello
a46c01905b run systemd in postinst (Closes: #877991) 2017-10-09 10:08:25 -05:00
Mario Limonciello
0bc77d0658 trivial: debian: explicitly set section for libfwupd2 2017-09-28 10:15:40 -04:00
Mario Limonciello
0a06270d0e trivial: debian: update standards version 2017-09-28 10:10:13 -04:00
Mario Limonciello
e17c060925 trivial: Drop the Debian symbols file
This will stay on the debian packaging tree this is based off of.
It's really not useful in an upstream context.
2017-09-28 09:23:52 +01: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
a790c1d360 trivial: update debci configuration 2017-09-26 08:44:52 -04:00
Mario Limonciello
d7b37c8667 trivial: fix missing-call-to-dpkg-maintscript-helper 2017-09-25 15:14:37 -05:00
Mario Limonciello
1e4f512118 debian: remove /etc/fwupd.conf on upgrade 2017-09-19 14:25:25 -05: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
Richard Hughes
e8c3ce249c trivial: Bump the plugin location after the FwupdResult change 2017-09-19 09:55:28 +01:00
Richard Hughes
53237d26a1 Remove the ELF support from libdfu and move the code to the altos plugin
This was a mistake originally for two reasons:

 * The only device to use ELF as a deliverable is the altos devices
 * ELF has nothing to do with the DFU specification

This moves the code to where it belongs.
2017-09-07 18:39:23 +01: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
Mario Limonciello
8e9e61c6f6 trivial: debian: try to fix debci 2017-09-07 10:43:52 -05:00
Mario Limonciello
c791d5ba92 trivial: drop libebitdo transitional packages 2017-09-07 10:43:52 -05: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
Mario Limonciello
614908d08b trivial: debian: only modify /etc/fwupd.conf in CI context
This satisfies piuparts not modifying the system automatically.
2017-08-24 15:05:08 -05:00
Mario Limonciello
3ed043abb2 trivial: debian: update for --enable-synaptics 2017-08-23 13:29:58 -05:00
Christian Kellner
81dd85f6d1 tbtfwu: remove legacy thunderbolt plugin
Replaced by the "thunderbolt" plugin.
2017-08-21 12:12:55 -05:00
Max Ehrlich
6d0fc42685 Add a python script to create fwupd compatible cab files from Microsoft .exe files 2017-08-17 17:10:23 -05:00
Mario Limonciello
ea0e9cec50 trivial: debian: add autopkgtest tests to run the CI suite 2017-08-17 13:19:58 -05:00
Mario Limonciello
97ebd16e16 trivial: fix some insignificant debian linitan warnings 2017-08-17 13:19:08 -05:00
Mario Limonciello
aa20ca2e7a trivial: debian: clarify why installed tests get installed in a generic directory (Closes: #872458) 2017-08-17 12:05: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
Richard Hughes
2d95a71a0c Support embedded devices with local firmware metadata
In this mode, both the metadata and firmware is stored on the local filesystem
and distributed using a distribution system like OSTree.

Fixes https://github.com/hughsie/fwupd/issues/162
2017-07-28 17:41:24 +01:00
Mario Limonciello
24add2222b trivial: debian: correct duplicate descriptions in control file 2017-07-21 13:16:15 -05:00
Mario Limonciello
f6005940e6 debian: enable test suite via /etc/fwupd.conf 2017-07-17 14:46:50 -05:00
Mario Limonciello
531a223b80 trivial: debian: recusively cleanup on purge 2017-07-17 12:34:08 -05:00
Mario Limonciello
ed8e4a54cf trivial: debian: remove transient items on purge (Closes: #868464, #868465) 2017-07-17 12:15:28 -05:00
Mario Limonciello
531f6a210a trivial: debian: update standards version 2017-07-17 12:15:28 -05:00
Mario Limonciello
b036d0c4ad trivial: debian: add missing dh-strip-nondeterminism dependency 2017-07-17 12:15:28 -05:00
Mario Limonciello
5ad8555f46 trivial: debian: correct some linitian errors about fwupd-tests 2017-07-17 12:15:28 -05:00
Mario Limonciello
92be642cb4 trivial: debian: move DFU introspection to it's own package 2017-07-17 12:15:22 -05:00