We need to keep the passthru.filesInstalledToEtc and passthru.defaultBlacklistedPlugins in sync with the package contents so let's add a test to enforce that.
The fwupd service was failing on aarch64 with:
fwupd: Failed to load engine: Failed to load remotes: failed to load /etc/fwupd/remotes.d/dell-esrt.conf: No such file or directory
The /etc/fwupd/remotes.d/dell-esrt.conf symlink existed but it pointed to a non-existent file.
invalid test was introduced in 297d1598ef
and it is disabled in the shipped daemon.conf.
I forgot to reflect that in the module, which caused the daemon to print the following on start-up:
FuEngine invalid has incorrect built version invalid
and the command to warn:
WARNING: The daemon has loaded 3rd party code and is no longer supported by the upstream developers!
To reduce the change of this happening in the future, I moved the list of default disabled plug-ins to the package expression.
I also set the value of the NixOS module option in the config section of the module instead of the default value used previously,
which will allow users to not care about these plug-ins.
In 1.3.5, fwupdprivate library was made into a shared fwupdplugin library.
This library is considered semi-private and is used by fwupd daemon and
fwupd plug-ins and now possibly third party plug-ins.
The fwupdplugin library refers to the plug-in directory in fwupd.out
causing a dependency cycle. For that reason we need to move it to out.
Changelogs:
* 342a38b432
* 713d20f79f
* 1ac566bc09
* ca3cdaef43
Notably:
* libfwupdplugin was factored out of the binary, introducing irreconcilable dependency cycle between `out` and `lib` outputs.
It's no longer propagated so we need to add it.
Was failing like:
FAILED: libfwupd/fwupd.map
/build/fwupd-1.2.10/libfwupd/generate-version-script.py LIBFWUPD libfwupd/Fwupd-2.0.gir libfwupd/fwupd.map
Traceback (most recent call last):
File "/build/fwupd-1.2.10/libfwupd/generate-version-script.py", line 11, in <module>
from pkg_resources import parse_version
ModuleNotFoundError: No module named 'pkg_resources'
Don't add the testing "webcam" device,
which is unexpected to see when querying
what devices fwupd believes exist :).
Won't change behavior for anyone defining
the blacklistPlugin option already,
but doesn't seem worth making more complicated.
We override the ESP mount point in the config file /etc/fwupd/uefi.conf
(available since version 1.0.6), as it is set to a path in the nix store
during build time.
Tests are disabled as it needs /etc/os-release, which is not available
when building with sandboxing enabled.