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
6db2a4057c
debian: split out the test suite to it's own package
...
Most people won't be running the installed-tests, but make it
easy enough for them to get at them if they want to
2017-06-22 13:59:14 -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
Richard Hughes
62e7393edf
Add some installed tests which require specific hardware
2017-06-22 09:36:32 +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
Mario Limonciello
35aebc838f
trivial: fix typo in contrib/debian/rules:
...
Prevented Dell and Synaptics plugins from compiling
2017-06-19 10:22:59 -05:00
Richard Hughes
9b59676a24
Add a plugin to get the version of the AMT ME interface
2017-06-19 14:01:47 +01: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
Mario Limonciello
b692286690
deb packaging: cleaner locale fix
2017-06-15 17:09:42 -05:00
Richard Hughes
b7bf715435
Add an installed test for device update
...
This also moves the tests into one file as gnome-desktop-testing-runner
intentionally randomizes the order and runs them in parallel where allowed.
Since tests like get-updates have to be run after the metadata injection simply
put these into one test that calls a simple script.
2017-06-15 20:19:03 +01:00
Richard Hughes
ae7e0d21b2
Add an installed test for verification
2017-06-15 16:23:52 +01:00
Richard Hughes
038ab7dcb2
Add an AppStream metainfo file
...
This seems like the right thing to do, and also means we *could* move the NEWS
data in the future.
2017-06-15 12:53:33 +01:00
Richard Hughes
8d1054eaf1
trivial: Enable the tests in the reference spec file
2017-06-15 12:05:11 +01:00
Richard Hughes
2396b33573
trivial: Do not generate the UEFI labels if the architecture does not support UEFI
2017-06-15 10:58:23 +01:00
Richard Hughes
58de3dbe77
Run the installed tests in Travis CI
2017-06-14 17:34:10 -05:00
Mario Limonciello
3be2e295af
deb: Don't strip firmware-example.xml.gz in dh_strip_nondeterminism
2017-06-14 17:34:09 -05:00
Richard Hughes
bacbac1245
Add some installed tests that use the daemon
...
Functionality like this would have prevented the "(shh)" bug being included in
the last release.
2017-06-14 15:36:08 +01:00
Mario Limonciello
b9386372ca
Copy RPMs into build root when done
2017-06-13 17:56:57 -05:00
Mario Limonciello
5a286f86c8
Add information on how to generate deb and rpm using docker
2017-06-13 17:52:38 -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
Richard Hughes
1fd28050da
trivial: Fix typo in the example spec file
2017-06-07 17:08:23 +01:00
Richard Hughes
2ca22517e7
Release fwupd 0.9.3
2017-06-07 15:42:44 +01:00
Richard Hughes
605791d19e
trivial: Remove the libgcab1-dev dep, nothing actually requires it
2017-06-06 14:51:25 +01:00
Richard Hughes
dfed515573
Allow downloading metadata from more than just the LVFS
...
Add the concept of 'remotes' that can dropped into /etc and used as firmware
metadata sources. This may be desirable when firmware is only accessable with
a valid support contract or from behind a VPN.
2017-06-02 13:19:05 +01:00
Richard Hughes
5408985aef
trivial: Fix up the example spec file
2017-06-01 10:50:09 +01:00
Chris Mayo
f358837685
Make documentation and man pages optional
...
Reduce the minimum build-time dependencies.
2017-05-31 20:00:59 +01:00
Richard Hughes
a9a99bdb48
Actually use /usr/libexec/fwupd/fwupd
...
It appears the enormity of replacing a directory with a file is just too much
for package managers in 2017.
I guess we might ship other things in /usr/libexec/fwupd/ in the future.
2017-04-19 08:50:52 +01:00
Richard Hughes
22efc3b793
trivial: Workaround a bug in rpm using a pretrans script
2017-04-12 16:37:17 +01:00
Richard Hughes
57746cb839
Add the Meson build system as an alternate to autotools
...
Automake and autoconf are impossible to fully understand and Meson now provides
everything we need for a much smaller, faster, and more understandable build.
See http://mesonbuild.com/ for more information.
2017-04-12 16:35:18 +01:00
Richard Hughes
a1585c6b7f
Install the daemon in libexecdir
...
I know Debian doesn't use libexecdir, but most other distros do. On Fedora it's
really strange to see a binary in /usr/libexec/fwupd/fwupd and supporting this
not-quite-servicedir is causing confusion in the Makefiles and also problems in
other external tools.
Simply redefine libexecdir if you need the daemon binary to be installed
somewhere different.
2017-04-12 14:38:34 +01:00
Richard Hughes
c232db23df
Port away from intltool
2017-04-12 14:31:18 +01:00
Richard Hughes
e643fb283f
Create directories in /var/cache as required
...
These can be nuked at any time by users, so don't rely on the package manager
or installer to create these for us.
2017-04-12 14:09:06 +01:00
Richard Hughes
19b336ebc8
trivial: Sync example spec file with downstream
2017-02-28 21:45:34 +00:00
Richard Hughes
576c012d20
Do not dlclose modules when running under valgrind
...
Without this patch, unloading the module means we can't resolve the symbols
where the memory was leaked.
2017-02-24 09:47:00 +00:00
Richard Hughes
1b36055416
trivial: Fix example rpm spec file
2017-01-17 15:45:00 +00:00
Richard Hughes
b5574b463e
trivial: Fix example spec file
2017-01-10 22:10:50 +00:00
Richard Hughes
a59777ad8d
Add initial skeleton for Intel Thunderbolt support
2016-12-16 12:41:57 +00:00
Richard Hughes
59a9344c1e
Move the UPower functionality to a plugin
2016-12-12 16:28:16 +00:00
Richard Hughes
864363e139
Add support for Logitech Unifying devices
...
If you do not have Unifying hardware you can emulate writing firmware using:
$ fu-unifying-tool write file.hex -v --emulate=bootloader-nordic
2016-12-12 15:36:53 +00:00
Richard Hughes
cff38bcb3a
Convert the providers to plugins to simplify code and for future features
...
This is a large commit that removes all the providers and turns them into
plugins. I think having both providers _and_ plugins was super confusing.
Plugins are loaded at runtime so you could in theory develop a new plugin
without putting it in the fwupd source tree, although there are no installed
headers or PC files as I'm not sure it's a good idea at this stage.
This commit moves all the per-provider docs, tests, notes, debug dumps and test
data to plugin-specific directories -- these also allows the plugin author to
"own" more of the source tree so we don't enforce fu- prefixes and the style
guide everywhere.
This allows us to run the same action on all the plugins in the future, so we
could have a prepare(FuPlugin, FuDevice) and cleanup(FuPlugin, FuDevice) run
on *all* plugins, so doing an update using one plugin would allow us to work
around hardware quirks in other plugins.
If I've broken your out-of-tree provider it's trivial to port to the new API
with sed and a fixed up build file. If you need help please let me know.
2016-12-12 12:31:23 +00:00
Richard Hughes
319a6bab12
Move the plugins into plugin-specific directories
...
This will allow us to add further documentation here in the future.
2016-12-12 11:52:03 +00:00
Richard Hughes
28bbab532a
Unexport libebitdo
...
Nothing is ever going to use this except fwupd, so it makes no sense adding the
extra overhead.
2016-12-09 09:56:31 +00:00
Richard Hughes
bfef02dc43
trivial: Sync the example spec file with downstream
2016-10-31 08:40:23 +00:00
Richard Hughes
bef038b3a9
trivial: Update the reference spec file from downstream
2016-08-29 16:09:23 +01:00
Richard Hughes
67fd8006ba
trivial: Always build the gtk-doc for releases
2016-08-29 09:43:52 +01:00
Richard Hughes
fda7c3c3d9
trivial: Do not require libsmbios-devel on ARM
2016-08-29 09:43:27 +01:00
Richard Hughes
3667ee7b22
libdfu: Add initial ELF reading and writing support
2016-08-26 18:44:00 +01:00
Richard Hughes
923c827fba
trivial: Fix the ebitdo company name
2016-08-11 15:35:06 +01:00
Richard Hughes
f2fe6d1865
trivial: Fix up the example spec file
2016-07-27 16:57:36 +01:00
Richard Hughes
c042ff8490
Add a small library for talking with 0bitdo hardware
2016-07-27 13:54:51 +01:00
Richard Hughes
ffb99c6ff0
trivial: Add libsmbios-devel to the BRs in the example spec file
2016-07-13 12:30:32 -05:00
Richard Hughes
4eb527f873
Use a private gnupg key store
...
Although it's convenient that you can just log in as root and add another
trusted key, it makes the selinux developers unhappy. Use a private keystore
in /var/lib/fwupd/gnupg to avoid the possibility of a somehow hacked fwupd
being able to export the root gpg secrets if any happened to exist.
If you've trusted keys other than the LVFS for metadata or firmware you'll need
to re-import them into this new location.
See b7f12bd377
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1303531
2016-06-28 09:18:45 +01:00
Richard Hughes
5ac25f32e0
Generate gtk-doc documentation for libfwupd
2016-04-01 11:22:31 +01:00
Richard Hughes
f7c81e312a
Allow the test suite to run in %check
2016-04-01 10:25:05 +01:00
Richard Hughes
cf1767c5fa
Split out the libdfu-devel package
...
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1322589
2016-04-01 08:16:04 +01:00
Richard Hughes
d090514f15
Add a simple plugin infrastructure
...
This allows vendors to write small self-contained modules that can be used to
override the default behaviour in the various providers.
2016-03-13 09:52:55 +00:00
Richard Hughes
65dfbfe54f
Do not use deprecated API from libappstream-glib
2016-03-02 13:43:21 +00:00
Richard Hughes
bdb62db907
Install the hardcoded firmware AppStream file
...
This currently contains a few USB 3.0 chips which we know about, but can't
actually update ourselves.
2016-02-29 11:20:26 +00:00
Richard Hughes
e0b417e628
trivial: Update the example spec file to reflect reality
2015-12-07 16:59:21 +00:00
Richard Hughes
e7aaf39de2
libdfu: Fix multi-interface devices like the Neo Freerunner
...
The DFU specification specifies that only one of the DFU interfaces has to
export a functional descriptor; I assumed they all had to. Adding support
for this kind of device rapidly turned into a massive restructure and it was
all too complicated anyway.
Reorganise the code so that we can support these kinds of devices and clean up
the API so it's sane and easy to use. This also allows us to generate the
GObject introspection GIR and to also install libdfu as a shared library.
If you've got any comments about the API, please shout now as when 6.0 is
released it will become API and ABI stable.
2015-11-22 21:17:48 +00:00
Richard Hughes
07abc45268
trivial: Fix the example spec file
2015-11-16 09:01:15 +00:00
Richard Hughes
a3acd7f711
Add support for updating USB devices with DFU
...
This adds a private libdfu library and also a small utility program called
dfu-tool.
2015-11-12 17:32:48 +00:00
Richard Hughes
f184d152ec
trivial: Sync example spec file with downstream
2015-09-21 08:45:22 +01:00
Richard Hughes
b6f9fbf1fe
Release fwupd 0.5.0
2015-09-15 11:06:08 +01:00
Richard Hughes
9d306b3c13
trivial: Update example spec file
2015-09-10 09:34:25 +01:00
Richard Hughes
5c35abb1a5
Remove fwsignd, we have the LVFS now
2015-08-27 14:45:42 +01:00
Richard Hughes
0e3dccd34b
trivial: Fix the example spec file
2015-08-20 08:09:00 +01:00
Richard Hughes
25cf6ab53e
Add a Raspberry Pi firmware provider
...
This queries the current firmware version and also allows online or offline
updating.
2015-08-05 12:14:56 +01:00
Richard Hughes
ac8b192033
Add a simple config file to store the correct LVFS download URI
2015-08-04 14:56:39 +01:00
Richard Hughes
e223577fac
trivial: Update spec file from downstream
2015-07-27 15:50:04 +01:00
Richard Hughes
ebaf7ba035
Allow running fwsignd as the non-root user
...
...however, most users will still want to use the root user so that the owner
and group are set correctly on the destination files.
2015-07-21 13:24:26 +01:00
Mario Limonciello
28b8151ca0
Don't call efibootmgr after fwupdate.
...
fwupdate will handle creating the appropriate BootNext entry.
No other changes are needed from fwupd.
Signed-off-by: Richard Hughes <richard@hughsie.com>
2015-07-20 16:21:24 +01:00
Richard Hughes
c7cf166a2f
Automatically download metadata using fwupdmgr if required
...
Using no arguments to 'fwupdmgr update-metadata' means we use the network.
2015-07-20 16:19:20 +01:00
Richard Hughes
691e02d652
Add a simple signing server that operates on .cab files
2015-07-20 15:31:10 +01:00
Richard Hughes
ebb58a3495
Add a Udev firmware provider
...
This allows us to support showing firmware updates for VIA USB hubs
2015-06-29 12:53:01 +01:00
Richard Hughes
ae0efdc5a7
Provide a way for clients to add new firmware metadata to the system cache
...
This is only possible if the metadata has been signed by a key that we trust.
2015-06-25 09:59:53 +01:00
Richard Hughes
274818a11e
trivial: Actually install the systemd service files
2015-04-27 11:10:03 +01:00
Richard Hughes
d8a02bfeeb
Run the offline actions using systemd when required
2015-04-25 17:14:20 +01:00
Richard Hughes
7cdbb17777
trivial: Use fwupdate-devel in the example spec file
2015-04-22 16:43:06 +01:00
Richard Hughes
2f2bee85bc
Release fwupd 0.1.2
2015-04-22 15:21:02 +01:00
Richard Hughes
36a889034c
Add helper code to validate public key signatures
...
We'll use this in the future for checking device firmware.
2015-04-14 13:53:19 +01:00
Richard Hughes
8645ec9ad5
Create a libfwupd shared library
2015-03-19 10:54:05 +00:00
Richard Hughes
ac9721399a
Add a systemd service file
2015-03-16 13:07:31 +00:00
Richard Hughes
310419856b
trivial: Add some files ready for a first release
2015-03-16 12:51:04 +00:00
Richard Hughes
31ddb97066
trivial: Relax the BRs so we can build in Fedora 22
2015-03-16 11:38:03 +00:00
Richard Hughes
45255952b7
Use efibootmgr to automatically boot the UEFI firmware update process
2015-03-11 21:34:40 +00:00
Richard Hughes
d08dca72f6
Allow any admin users to install system firmware without a password
...
From a security point of view, this is no more scary than allowing admin users
to install a new kernel or glibc package.
2015-03-11 19:55:47 +00:00
Richard Hughes
18e7591104
Use fwup.h to actually implement the UEFI update
2015-03-05 13:56:56 +00:00
Richard Hughes
d1e823ccbf
Allow scheduling updates for later
...
Also add a update-prepared command to fwupdmgr to process the defered updates.
In the future we'll hook into the systemd early-boot code for this.
2015-03-05 11:15:36 +00:00
Richard Hughes
3e7b27184a
trivial: Fix the example spec file
2015-03-04 22:30:12 +00:00
Richard Hughes
72dff812c0
Add initial ColorHug support
...
This may be useful; more people have ColorHug devices than UEFI firmware that
supports system capsule updates.
2015-03-03 15:13:27 +00:00
Richard Hughes
67ec898265
Extract the .cab file and parse the .inf file
2015-03-03 11:41:01 +00:00
Richard Hughes
8dbfb1c478
Add initial build files and enough code to launch a simple D-Bus daemon
2015-02-26 18:16:40 +00:00