Commit Graph

1075 Commits

Author SHA1 Message Date
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
Richard Hughes
72975f0077 unifying: Only mark the device as active once the probe has completed 2017-06-24 07:40:38 +01:00
Richard Hughes
765c679498 unifying: Only detach the device if required 2017-06-24 07:24:15 +01: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
25f6a42f26 trivial: Fix the location of the hardware installed test cache 2017-06-22 19:03:52 +01: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
ed34991bd8 Do not unlock devices when doing VerifyUpdate
We used to do this dance to avoid reading the Option ROM on hardware by default
(some faulty hardware would crash...) but now we're doing the verify update in
the daemon there's no need to split this into two steps.

Fixes: https://github.com/hughsie/fwupd/issues/149
2017-06-22 10:37:10 +01:00
Richard Hughes
b9bddfd7ac trivial: Ensure the verify component is replaced on veriy-update, not merged 2017-06-22 10:34:18 +01:00
Richard Hughes
08f12de44c trivial: Avoid warning when doing verify-update multiple times
Applications always need a valid source with newer appstream-glib versions;
even in this case where the source is the hardware itself.
2017-06-22 10:33:32 +01:00
Richard Hughes
3045d1ca3f unifying: Do not poll when we're waiting for device replug
If we happen to poll when the device is in the *process* of closing then the
open() fails in a weird way. If we're flashing it's probably a good idea to not
be too clever anyway...
2017-06-22 09:38:10 +01:00
Richard Hughes
7048044156 trivial: Fix up an error message in the unifying code 2017-06-22 09:38:10 +01:00
Richard Hughes
a42dae927c unifying: Wait for device to re-appear in runtime after attaching
This ensures we can flash multiple versions of firmware without an artificial
delay. Also raise the timeout to cope with chains of slow hubs.
2017-06-22 09:37:48 +01:00
Richard Hughes
22c88de8e4 trivial: Increase the warning level when a plugin adds a device twice 2017-06-22 09:36:32 +01:00
Richard Hughes
97fd762b47 unifying: Never allow the USB plugin to claim devices 2017-06-22 09:36:32 +01:00
Richard Hughes
0be13c038a unifying: Allow a response from CMD_REBOOT
It's a race afterall, so some hardware is faster than others...
2017-06-22 09:36:32 +01:00
Richard Hughes
62e7393edf Add some installed tests which require specific hardware 2017-06-22 09:36:32 +01:00
Richard Hughes
e0d84c536f libdfu: Do not check the runtime release if device is in bootloader mode 2017-06-21 15:32:08 +01:00
Richard Hughes
7ee053df51 trivial: Actually generate complete GObjectIntrospection data 2017-06-21 15:32:08 +01:00
Richard Hughes
943d2c9bb5 trivial: Split out some common functionality from fu-engine.c 2017-06-21 09:04:39 +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
1499892173 Test for python dependencies before building (#147) 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
Richard Hughes
9bb940d40d trivial: Try to enable the valgrind support with newer meson versions 2017-06-20 09:25:25 +01: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
a5bb4d8428 trivial: Fix a missing signal causing a warning in the recent refactor 2017-06-19 20:22:25 +01:00
Richard Hughes
166d42cada amt: Fix up a small memory leak and remove some goto's 2017-06-19 20:19:32 +01: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
0eaca2da65 trivial: Fix test failure with de5dd8f3 2017-06-19 14:01:27 +01:00
Richard Hughes
b53ad36012 trivial: Fix up a number of FALSE/NULL return issues 2017-06-19 13:50:42 +01:00
Richard Hughes
d60421a5fa trivial: Ensure all source files include config.h 2017-06-19 13:50:42 +01:00
Richard Hughes
9945edbe74 Split up the daemon into the loader and an engine object
The idea here is that we move a lot of the 'meat' out of fu-main into the
engine. This also lets us simplify a lot of things and ensures the user
authentication is simple and easy to audit.
2017-06-19 13:50:38 +01:00
Richard Hughes
de5dd8f33d trivial: Include the name in fwupd_device_to_string() 2017-06-19 13:26:47 +01:00
Richard Hughes
5475427ca9 Remove the UpdateMetadata D-Bus method as the fallback is done client-side 2017-06-19 09:58:11 +01:00
Richard Hughes
1f162e2f16 Implement the GetDetails->GetDetailsLocal fallback client side
This allows us to get rid of some more complex daemon code.
2017-06-19 09:56:43 +01:00
Richard Hughes
cda1cdf606 Also watch the metadata cache filename for changes
If something changes the cache behind our back (e.g. deleting or updating the
file) we need to reload the list of remotes so that the age is correctly shown.
2017-06-16 21:49:37 +01:00
Richard Hughes
feb8027ee3 Show the age of the remote metadata in 'fwupdmgr get-remotes'
Note: we have to transfer the mtime (not the age) when creating the GVariant,
as we want calls to fwupd_remote_get_age() to update the value without getting
the remote from the daemon each time.
2017-06-16 20:24:41 +01:00
Richard Hughes
71e73ca048 trivial: Fix the installed tests
We ony want to replace the fake LVFS metadata with the real data after we've
downgraded the dummy device.
2017-06-16 17:21:17 +01:00
Richard Hughes
83fb8d95f4 Do not fall back to the default release when verifying
This is never going to be valid. What we want is to try and get a new AsApp and
AsRelease from the system store, not the verification store.
2017-06-16 17:13:05 +01:00
Richard Hughes
4a2e915e9a unifying: Use the UFY DeviceID prefix as the PID is not 'USB PIDs' at all.
Resolves: https://github.com/hughsie/fwupd/issues/144
2017-06-16 16:45:42 +01:00
Richard Hughes
0a87f6fb03 Store the metadata files rather than merging to one store
Now we have multiple remotes that can be enabled or changed at runtime we need
to do several things better:

* Only load components from remotes that are enabled

* Only load a component if a higher priority remote has not already added it

Rather than just appending all recieved metadata into one big XML file, save
the original metadata .xml.gz files in /var/lib/fwupd/remotes.d and only load
them in the correct priority order if the remote is known and enabled.

Remove the old /var/cache/app-info/xmls/fwupd.xml file, also noting it wasn't
really a cache file at all but actually something quite important.
2017-06-16 16:43:13 +01:00
Richard Hughes
5935ebda5a Check the remote exists and is enabled when using UpdateMetadataWithId 2017-06-16 15:40:31 +01:00
Richard Hughes
4c36970445 Move the remotes parsing from the client to the server
This allows us to load the metadata stores in a more sensible way in the future.
2017-06-16 15:31:40 +01:00
Richard Hughes
f0bde3e4af Add a get-remotes command to fwupdmgr
This allows the user to show the configured remotes.
2017-06-16 14:31:20 +01:00
Richard Hughes
980ef147eb Move the config file parsing out to a new object
This will allow us to move the remote parsing here soon.
2017-06-16 12:46:40 +01:00