Mario Limonciello
e3016602f8
Include serial number in daemon device output when trusted
...
This moves the storing of the serial number into the daemon and
when the calling process is UID 0 includes it in device output
2018-09-06 13:34:28 -05:00
Mario Limonciello
9c3a6fd60f
Add a new device flag "ignore-validation" that will override validation checks
...
This flag isn't really intended for production, but more for development
to allow setting a quirk for a device during a transition period.
2018-09-05 08:03:28 -05:00
Richard Hughes
3a8d532855
Allow the device list to take care of waiting for the device replug
...
This means that individual plugins do not have to manage thier own GUsbDevice
lifecycle and no longer have to call g_usb_context_wait_for_replug().
2018-08-31 16:41:40 +01:00
Richard Hughes
49a56a4436
trivial: Add exported fwupd_device_compare() for future use
2018-08-10 14:50:43 +01:00
Richard Hughes
02c90d8a03
Remove the unused Emacs indenting headers from all source files
...
Fixes https://github.com/hughsie/fwupd/issues/636
2018-08-09 12:48:04 +01:00
Richard Hughes
70c9ab0288
Do not use /usr/bin/env in the shebang line
...
According to Fedora policy env must not be used as it could be overridden by
values in the PATH.
For details, https://fedoraproject.org/wiki/Packaging:Guidelines#Shebang_lines
2018-07-12 07:08:53 -05:00
Richard Hughes
e0cd6e0667
Add fwupd_device_incorporate()
...
This allows us to copy properties from a donor object.
2018-06-28 15:51:11 +01:00
Richard Hughes
eeb8017a29
trivial: Remove unused variable in private struct
2018-06-21 21:43:21 +01:00
Richard Hughes
7a874176ff
trivial: Add a FuDevice flag to show the device is in bootloader mode
...
This is useful to present to the user using the command line, and means each
FuDevice-deriving object does not have to handle this.
2018-05-31 18:50:19 +01:00
Richard Hughes
fe221dc13d
trivial: Fix up some NULL/FALSE confusion
2018-05-29 09:33:44 +01:00
Mario Limonciello
51308e648a
Adjust all licensing to LGPL 2.1+ ( Closes : #526 )
2018-05-29 09:03:13 +01:00
Richard Hughes
76e0f94c86
Allow the client tools to avoid writing the history database
2018-05-14 18:54:15 +01:00
Richard Hughes
d5982a1144
trivial: Use bitshifts when defining FwupdInstallFlags
2018-05-14 18:54:15 +01:00
Richard Hughes
9f86ade6bf
Allow plugins to define the order composite firmwares are installed
2018-05-12 20:46:02 +01:00
Richard Hughes
5a878b2a08
libfwupd: Fix a crash in get-details where no device ID is set
...
Fixes https://github.com/hughsie/fwupd/issues/494
2018-05-04 20:44:29 +01:00
Richard Hughes
5e447293fa
Add the concept of logical mappings between different devices
...
This allows us to find out the logical parent device, for instance in composite
devices with more than one firmware image for a single device.
We also allow lazily specifying the device parent using a GUID and the engine
then automatically sets the parent object when the GUIDs match, which allows
children and parents to exist in different plugins.
2018-05-03 08:07:04 +01:00
Richard Hughes
8aa7239240
trivial: Fix some Gtk-Doc mistakes
...
Fixes https://github.com/hughsie/fwupd/issues/487
2018-05-02 08:39:36 +01: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
a98df55d82
Disable -Wunused-function on clang builds ( Closes #467 )
...
GLib creates two static inline functions for paramaters that may
not be used that set off warnings in clang but not gcc.
Ignore these on clang builds everywhere that
G_DEFINE_AUTOPTR_CLEANUP_FUNC is used.
2018-04-17 10:10:43 +01:00
Richard Hughes
1fd3ecf7a3
Export fwupd_remote_get_agreement()
...
We need to show this agreement text in every fwupd frontend and exporting a
helper function allows us to do two things:
* Share the semi-complicated code (and fallback) to avoid copy and pasting
* Easily change the code in the future, for instance allowing merging Metainfo
and AppStream metadata without updating all the front ends with new logic.
2018-04-16 16:44:27 +01:00
Richard Hughes
d17dc0616f
trivial: Export fwupd_get_os_release()
...
We need this for future client functionality and it seems a sane thing to
share.
2018-04-11 09:48:02 +01:00
Richard Hughes
86fdd975ad
Prevent a client crash if the daemon somehow sends invalid data
...
Fixes: https://bugs.launchpad.net/ubuntu/+source/fwupd/+bug/1762617
2018-04-10 11:59:36 +01:00
Robert Ancell
911e40f1aa
Fix Vala bindings:
...
- Name the bindings the same as the pkgconfig file
- Update the GIR bindings to include the appropriate header file which updates
the Vala bindings
2018-03-07 09:21:31 +00:00
Richard Hughes
8e883407c0
Fix running the self tests when no fwupd is installed
...
Fixes https://github.com/hughsie/fwupd/issues/409
2018-02-27 14:30:28 -06:00
Robert Ancell
5c535a53ce
Generate Vala bindings
2018-02-26 06:04:27 +00:00
Richard Hughes
fbf17e9c85
Allow devices to use the runtime version when in bootloader mode
...
Some devices like the Nitrokey use a generic DFU bootloader that reports a
version number unrelated to the version number of the runtime. Add a flag so
that we can set the correct version when switching plugins during detach and
attach.
2018-02-16 18:23:07 +00:00
Mario Limonciello
bd60825749
libfwupd: Allow skipping machine ID self test ( Fixes #403 )
...
Some sandbox environments won't allow creating this file, so skip
this test.
We're still running it on all Travis CI test cases though.
2018-02-14 07:00:36 +00:00
Richard Hughes
ad54f65f05
Add FWUPD_DEVICE_FLAG_NOTIFIED
...
This allows us to record whether we've shown the user a notification (either in
the terminal or in a GUI) that an update failed or was successful.
This can't be done in the session otherwise we'd get a notification for every
different user on the system. Notifying also isn't the same as reporting,
although one can certainly follow on from the latter.
2018-02-01 14:01:18 +00:00
Richard Hughes
03fa8c1002
trivial: Don't upload the DeviceID when sharing history
...
We don't use it on the LVFS, and it's not useful for debugging problems.
2018-01-26 09:30:49 +00:00
Richard Hughes
b58104895d
trivial: Add fwupd_build_history_report_json() for future use
2018-01-11 21:28:22 +00:00
Richard Hughes
d0adb23968
Allow adding metadata to the FwupdRelease
2018-01-11 20:52:58 +00:00
Richard Hughes
d29df0819f
Allow specifying the reporting server in the remote key files
2018-01-11 20:20:00 +00:00
Richard Hughes
ae142a411f
trivial: Parse the os-release file in a more useful way
...
This allows us to use the other keys for future use.
2018-01-11 10:30:39 +00:00
Richard Hughes
6b22295cf0
Add a D-Bus method to modify a historical device
...
This allows us to set specific flags on the device stored in the database.
2018-01-11 10:20:48 +00:00
Richard Hughes
d0d2c8b84e
trivial: Add FWUPD_DEVICE_FLAG_REPORTED
...
This flag is present in the history database when a report has been uploaded.
2018-01-11 10:18:37 +00:00
Richard Hughes
476363ac19
Add a D-Bus method to get the history information
2018-01-11 10:08:58 +00:00
Richard Hughes
bc3a4e1f57
Store firmware update success and failure to a local database
...
Rename FuPending to FuHistory to better represent what the object is now doing.
Also, while we're here, switch to using SQLite prepared statements to avoid a
possible invalid read on i386 hardware.
2018-01-11 09:59:34 +00:00
Richard Hughes
b73e70b205
trivial: Use the shared fu_test_compare_lines() in the dfu plugin
2018-01-11 09:59:34 +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
Richard Hughes
8f89cf04fb
Add more metadata to the user-agent string
2017-12-21 08:25:29 +00:00
Richard Hughes
ec2df91c15
Support AppStream metadata with relative <location> URLs
...
If a remote like LVFS outputs <location>foo.cab</location> without a prepended
hostname and path then we should use the metadata URI hostname and path instead.
This allows us to trivially mirror a firmware repository, although clients using
older versions of libfwupd will not work without this patch. We should encourage
people to use `FirmwareBaseURI` for a long time yet.
2017-12-04 15:46:54 +00: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
95ca91a515
trivial: Clarify two gtk-doc comments to explain the flags better
2017-11-11 21:06:14 +00:00
Richard Hughes
8175f6d136
libfwupd: Remove a pointless call to fwupd_remote_build_uri()
2017-11-09 12:15:30 +00:00
Richard Hughes
98a8046d7b
trivial: Fix a tiny memory leak when processing signals from the daemon
2017-10-19 17:13:19 +01:00
Richard Hughes
f50eca4f55
trivial: Add FWUPD_STATUS_DEVICE_BUSY
...
This is when we're waiting for the device, but we don't know why.
2017-10-12 12:43:25 +01:00
Richard Hughes
f497dac356
trivial: Skip some self tests if the running fwupd is too old
2017-10-05 21:18:15 +01:00
Richard Hughes
e9c0a3c8cd
trivial: Fix up some gtk-doc introspection issues in libfwupd
2017-10-05 10:32:05 +01:00
Richard Hughes
87f8a4a284
Add a waiting-for-auth daemon state
...
Using IDLE for this isn't right as we're basically blocked on the user.
2017-10-02 14:50:26 +01:00
Richard Hughes
7f6d78fb1b
Add fwupd_remote_get_checksum() to use in client programs
2017-09-28 09:23:52 +01:00