fwupd: 1.9.12 -> 1.9.13

Changelog: https://github.com/fwupd/fwupd/releases/tag/1.9.13

r-vdp 12de1b3a 6ddcfabd

Changed files
+22 -32
nixos
modules
services
hardware
tests
installed-tests
pkgs
+12 -11
nixos/modules/services/hardware/fwupd.nix
···
# to install it because it would create a cyclic dependency between
# the outputs. We also need to enable the remote,
# which should not be done by default.
-
lib.optionalAttrs cfg.enableTestRemote (enableRemote cfg.package.installedTests "fwupd-tests")
+
lib.optionalAttrs
+
(cfg.daemonSettings.TestDevices or false)
+
(enableRemote cfg.package.installedTests "fwupd-tests")
);
in {
···
'';
};
-
enableTestRemote = mkOption {
-
type = types.bool;
-
default = false;
-
description = lib.mdDoc ''
-
Whether to enable test remote. This is used by
-
[installed tests](https://github.com/fwupd/fwupd/blob/master/data/installed-tests/README.md).
-
'';
-
};
-
package = mkPackageOption pkgs "fwupd" { };
daemonSettings = mkOption {
···
or if this partition is not mounted at /boot/efi, /boot, or /efi
'';
};
+
+
TestDevices = mkOption {
+
type = types.bool;
+
default = false;
+
description = lib.mdDoc ''
+
Create virtual test devices and remote for validating daemon flows.
+
This is only intended for CI testing and development purposes.
+
'';
+
};
};
};
default = {};
···
config = mkIf cfg.enable {
# Disable test related plug-ins implicitly so that users do not have to care about them.
services.fwupd.daemonSettings = {
-
DisabledPlugins = cfg.package.defaultDisabledPlugins;
EspLocation = config.boot.loader.efi.efiSysMountPoint;
};
+5 -4
nixos/tests/installed-tests/fwupd.nix
···
-
{ pkgs, lib, makeInstalledTest, ... }:
+
{ pkgs, makeInstalledTest, ... }:
makeInstalledTest {
tested = pkgs.fwupd;
testConfig = {
-
services.fwupd.enable = true;
-
services.fwupd.daemonSettings.DisabledPlugins = lib.mkForce [ ]; # don't disable test plugin
-
services.fwupd.enableTestRemote = true;
+
services.fwupd = {
+
enable = true;
+
daemonSettings.TestDevices = true;
+
};
};
}
+1 -1
pkgs/by-name/fw/fwupd/add-option-for-installation-sysconfdir.patch
···
@@ -56,12 +56,12 @@ configure_file(
output: 'vendor.conf',
configuration: con2,
-
install: true,
+
install: get_option('vendor_metadata'),
- install_dir: join_paths(sysconfdir, 'fwupd', 'remotes.d'),
+ install_dir: join_paths(sysconfdir_install, 'fwupd', 'remotes.d'),
)
+1 -1
pkgs/by-name/fw/fwupd/installed-tests-path.patch
···
output: 'fwupd-tests.conf',
configuration: con2,
install: true,
-
- install_dir: join_paths(sysconfdir, 'fwupd', 'remotes.d'),
+
- install_dir: join_paths(datadir, 'fwupd', 'remotes.d'),
+ install_dir: join_paths(get_option('installed_test_prefix'), 'etc', 'fwupd', 'remotes.d'),
)
diff --git a/meson.build b/meson.build
+3 -15
pkgs/by-name/fw/fwupd/package.nix
···
, libdrm
, polkit
, libxmlb
-
, glib
, gusb
, sqlite
, libarchive
···
in
stdenv.mkDerivation (finalAttrs: {
pname = "fwupd";
-
version = "1.9.12";
+
version = "1.9.13";
# libfwupd goes to lib
# daemon, plug-ins and libfwupdplugin go to out
···
owner = "fwupd";
repo = "fwupd";
rev = finalAttrs.version;
-
hash = "sha256-hPRp61m/XTXFacYkBOb4SsG4fcFvWrdMfc+sxLk5/sQ=";
+
hash = "sha256-h2e9MFTb777xbNRlzKWXc5GUdu/BHSkJTaogEE5byjo=";
};
patches = [
···
"-Dsysconfdir_install=${placeholder "out"}/etc"
"-Defi_os_dir=nixos"
"-Dplugin_modem_manager=enabled"
+
"-Dvendor_metadata=true"
# We do not want to place the daemon into lib (cyclic reference)
"--libexecdir=${placeholder "out"}/libexec"
] ++ lib.optionals (!enablePassim) [
···
"grub.d/35_fwupd"
];
-
# DisabledPlugins key in fwupd/daemon.conf
-
defaultDisabledPlugins = [
-
"test"
-
"test_ble"
-
];
-
# For updating.
inherit test-firmware;
···
passthru_etc = set(${listToPy finalAttrs.passthru.filesInstalledToEtc})
assert len(package_etc - passthru_etc) == 0, f'fwupd package contains the following paths in /etc that are not listed in passthru.filesInstalledToEtc: {package_etc - passthru_etc}'
assert len(passthru_etc - package_etc) == 0, f'fwupd package lists the following paths in passthru.filesInstalledToEtc that are not contained in /etc: {passthru_etc - package_etc}'
-
-
config = configparser.RawConfigParser()
-
config.read('${finalAttrs.finalPackage}/etc/fwupd/fwupd.conf')
-
package_disabled_plugins = config.get('fwupd', 'DisabledPlugins').rstrip(';').split(';')
-
passthru_disabled_plugins = ${listToPy finalAttrs.passthru.defaultDisabledPlugins}
-
assert package_disabled_plugins == passthru_disabled_plugins, f'Default disabled plug-ins in the package {package_disabled_plugins} do not match those listed in passthru.defaultDisabledPlugins {passthru_disabled_plugins}'
pathlib.Path(os.getenv('out')).touch()
'';