fwupd: 1.9.12 -> 1.9.13

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

r-vdp 12de1b3a 6ddcfabd

+22 -32
+12 -11
nixos/modules/services/hardware/fwupd.nix
··· 51 # to install it because it would create a cyclic dependency between 52 # the outputs. We also need to enable the remote, 53 # which should not be done by default. 54 - lib.optionalAttrs cfg.enableTestRemote (enableRemote cfg.package.installedTests "fwupd-tests") 55 ); 56 57 in { ··· 86 ''; 87 }; 88 89 - enableTestRemote = mkOption { 90 - type = types.bool; 91 - default = false; 92 - description = lib.mdDoc '' 93 - Whether to enable test remote. This is used by 94 - [installed tests](https://github.com/fwupd/fwupd/blob/master/data/installed-tests/README.md). 95 - ''; 96 - }; 97 - 98 package = mkPackageOption pkgs "fwupd" { }; 99 100 daemonSettings = mkOption { ··· 128 or if this partition is not mounted at /boot/efi, /boot, or /efi 129 ''; 130 }; 131 }; 132 }; 133 default = {}; ··· 159 config = mkIf cfg.enable { 160 # Disable test related plug-ins implicitly so that users do not have to care about them. 161 services.fwupd.daemonSettings = { 162 - DisabledPlugins = cfg.package.defaultDisabledPlugins; 163 EspLocation = config.boot.loader.efi.efiSysMountPoint; 164 }; 165
··· 51 # to install it because it would create a cyclic dependency between 52 # the outputs. We also need to enable the remote, 53 # which should not be done by default. 54 + lib.optionalAttrs 55 + (cfg.daemonSettings.TestDevices or false) 56 + (enableRemote cfg.package.installedTests "fwupd-tests") 57 ); 58 59 in { ··· 88 ''; 89 }; 90 91 package = mkPackageOption pkgs "fwupd" { }; 92 93 daemonSettings = mkOption { ··· 121 or if this partition is not mounted at /boot/efi, /boot, or /efi 122 ''; 123 }; 124 + 125 + TestDevices = mkOption { 126 + type = types.bool; 127 + default = false; 128 + description = lib.mdDoc '' 129 + Create virtual test devices and remote for validating daemon flows. 130 + This is only intended for CI testing and development purposes. 131 + ''; 132 + }; 133 }; 134 }; 135 default = {}; ··· 161 config = mkIf cfg.enable { 162 # Disable test related plug-ins implicitly so that users do not have to care about them. 163 services.fwupd.daemonSettings = { 164 EspLocation = config.boot.loader.efi.efiSysMountPoint; 165 }; 166
+5 -4
nixos/tests/installed-tests/fwupd.nix
··· 1 - { pkgs, lib, makeInstalledTest, ... }: 2 3 makeInstalledTest { 4 tested = pkgs.fwupd; 5 6 testConfig = { 7 - services.fwupd.enable = true; 8 - services.fwupd.daemonSettings.DisabledPlugins = lib.mkForce [ ]; # don't disable test plugin 9 - services.fwupd.enableTestRemote = true; 10 }; 11 }
··· 1 + { pkgs, makeInstalledTest, ... }: 2 3 makeInstalledTest { 4 tested = pkgs.fwupd; 5 6 testConfig = { 7 + services.fwupd = { 8 + enable = true; 9 + daemonSettings.TestDevices = true; 10 + }; 11 }; 12 }
+1 -1
pkgs/by-name/fw/fwupd/add-option-for-installation-sysconfdir.patch
··· 80 @@ -56,12 +56,12 @@ configure_file( 81 output: 'vendor.conf', 82 configuration: con2, 83 - install: true, 84 - install_dir: join_paths(sysconfdir, 'fwupd', 'remotes.d'), 85 + install_dir: join_paths(sysconfdir_install, 'fwupd', 'remotes.d'), 86 )
··· 80 @@ -56,12 +56,12 @@ configure_file( 81 output: 'vendor.conf', 82 configuration: con2, 83 + install: get_option('vendor_metadata'), 84 - install_dir: join_paths(sysconfdir, 'fwupd', 'remotes.d'), 85 + install_dir: join_paths(sysconfdir_install, 'fwupd', 'remotes.d'), 86 )
+1 -1
pkgs/by-name/fw/fwupd/installed-tests-path.patch
··· 6 output: 'fwupd-tests.conf', 7 configuration: con2, 8 install: true, 9 - - install_dir: join_paths(sysconfdir, 'fwupd', 'remotes.d'), 10 + install_dir: join_paths(get_option('installed_test_prefix'), 'etc', 'fwupd', 'remotes.d'), 11 ) 12 diff --git a/meson.build b/meson.build
··· 6 output: 'fwupd-tests.conf', 7 configuration: con2, 8 install: true, 9 + - install_dir: join_paths(datadir, 'fwupd', 'remotes.d'), 10 + install_dir: join_paths(get_option('installed_test_prefix'), 'etc', 'fwupd', 'remotes.d'), 11 ) 12 diff --git a/meson.build b/meson.build
+3 -15
pkgs/by-name/fw/fwupd/package.nix
··· 11 , libdrm 12 , polkit 13 , libxmlb 14 - , glib 15 , gusb 16 , sqlite 17 , libarchive ··· 121 in 122 stdenv.mkDerivation (finalAttrs: { 123 pname = "fwupd"; 124 - version = "1.9.12"; 125 126 # libfwupd goes to lib 127 # daemon, plug-ins and libfwupdplugin go to out ··· 132 owner = "fwupd"; 133 repo = "fwupd"; 134 rev = finalAttrs.version; 135 - hash = "sha256-hPRp61m/XTXFacYkBOb4SsG4fcFvWrdMfc+sxLk5/sQ="; 136 }; 137 138 patches = [ ··· 214 "-Dsysconfdir_install=${placeholder "out"}/etc" 215 "-Defi_os_dir=nixos" 216 "-Dplugin_modem_manager=enabled" 217 # We do not want to place the daemon into lib (cyclic reference) 218 "--libexecdir=${placeholder "out"}/libexec" 219 ] ++ lib.optionals (!enablePassim) [ ··· 341 "grub.d/35_fwupd" 342 ]; 343 344 - # DisabledPlugins key in fwupd/daemon.conf 345 - defaultDisabledPlugins = [ 346 - "test" 347 - "test_ble" 348 - ]; 349 - 350 # For updating. 351 inherit test-firmware; 352 ··· 371 passthru_etc = set(${listToPy finalAttrs.passthru.filesInstalledToEtc}) 372 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}' 373 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}' 374 - 375 - config = configparser.RawConfigParser() 376 - config.read('${finalAttrs.finalPackage}/etc/fwupd/fwupd.conf') 377 - package_disabled_plugins = config.get('fwupd', 'DisabledPlugins').rstrip(';').split(';') 378 - passthru_disabled_plugins = ${listToPy finalAttrs.passthru.defaultDisabledPlugins} 379 - 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}' 380 381 pathlib.Path(os.getenv('out')).touch() 382 '';
··· 11 , libdrm 12 , polkit 13 , libxmlb 14 , gusb 15 , sqlite 16 , libarchive ··· 120 in 121 stdenv.mkDerivation (finalAttrs: { 122 pname = "fwupd"; 123 + version = "1.9.13"; 124 125 # libfwupd goes to lib 126 # daemon, plug-ins and libfwupdplugin go to out ··· 131 owner = "fwupd"; 132 repo = "fwupd"; 133 rev = finalAttrs.version; 134 + hash = "sha256-h2e9MFTb777xbNRlzKWXc5GUdu/BHSkJTaogEE5byjo="; 135 }; 136 137 patches = [ ··· 213 "-Dsysconfdir_install=${placeholder "out"}/etc" 214 "-Defi_os_dir=nixos" 215 "-Dplugin_modem_manager=enabled" 216 + "-Dvendor_metadata=true" 217 # We do not want to place the daemon into lib (cyclic reference) 218 "--libexecdir=${placeholder "out"}/libexec" 219 ] ++ lib.optionals (!enablePassim) [ ··· 341 "grub.d/35_fwupd" 342 ]; 343 344 # For updating. 345 inherit test-firmware; 346 ··· 365 passthru_etc = set(${listToPy finalAttrs.passthru.filesInstalledToEtc}) 366 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}' 367 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}' 368 369 pathlib.Path(os.getenv('out')).touch() 370 '';