Unverified Commit 741e6152 authored by Gaetan Lepage's avatar Gaetan Lepage Committed by r-vdp
Browse files
parent 5ff356ea
Loading
Loading
Loading
Loading
+0 −5
Original line number Diff line number Diff line
@@ -207,8 +207,3 @@ index 2dfc4d2f0..e5ac73edd 100644
   )
 endif
 
@@ -146,4 +146,3 @@ summary({
   'capsule splash': get_option('plugin_uefi_capsule_splash'),
 }, section:'uefi capsule options')
 endif
-
+15 −6
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@
  gobject-introspection,
  meson,
  ninja,
  protobuf,
  protobufc,
  shared-mime-info,
  vala,
@@ -49,6 +50,7 @@
  libqmi,
  libuuid,
  libxmlb,
  libxml2,
  modemmanager,
  pango,
  polkit,
@@ -131,7 +133,7 @@ let
in
stdenv.mkDerivation (finalAttrs: {
  pname = "fwupd";
  version = "2.0.9";
  version = "2.0.12";

  # libfwupd goes to lib
  # daemon, plug-ins and libfwupdplugin go to out
@@ -149,7 +151,7 @@ stdenv.mkDerivation (finalAttrs: {
    owner = "fwupd";
    repo = "fwupd";
    tag = finalAttrs.version;
    hash = "sha256-Izh6PHMgUsOeez9uWSLoA2GhvawYQlEZo480vovxn38=";
    hash = "sha256-AYPrQzk28CS4Yhj2+KARt3b1SC02YifEftsSF+fKJ+Y=";
  };

  patches = [
@@ -170,14 +172,19 @@ stdenv.mkDerivation (finalAttrs: {

    # EFI capsule is located in fwupd-efi now.
    ./efi-app-path.patch

    # See https://github.com/fwupd/fwupd/pull/8959
    ./uefi-capsule-no-splash-fix-test.diff
  ];

  postPatch =
    ''
      patchShebangs \
        contrib/generate-version-script.py \
        contrib/generate-man.py \
        po/test-deps
        generate-build/generate-version-script.py \
        generate-build/generate-man.py \
        po/test-deps \
        plugins/uefi-capsule/tests/grub2-mkconfig \
        plugins/uefi-capsule/tests/grub2-reboot
    ''
    # in nixos test tries to chmod 0777 $out/share/installed-tests/fwupd/tests/redfish.conf
    + ''
@@ -202,10 +209,12 @@ stdenv.mkDerivation (finalAttrs: {
      gettext
      gi-docgen
      gobject-introspection
      libxml2
      meson
      ninja
      pkg-config
      protobufc # for protoc
      protobuf # for protoc
      protobufc # for protoc-gen-c
      shared-mime-info
      vala
      wrapGAppsNoGuiHook
+82 −0
Original line number Diff line number Diff line
commit 90d854ca68543ed117a5a49c28a027972088b568
Author: r-vdp <ramses@well-founded.dev>
Date:   Wed Jun 25 11:31:45 2025 +0200

    Fix uefi self-test when plugin_uefi_capsule_splash is disabled

diff --git a/meson.build b/meson.build
index 922e87c23..d36850422 100644
--- a/meson.build
+++ b/meson.build
@@ -564,6 +564,10 @@ conf.set_quoted('MOTD_DIR', motd_dir)
 
 conf.set_quoted('FU_DEFAULT_P2P_POLICY', get_option('p2p_policy'))
 
+if get_option('plugin_uefi_capsule_splash')
+  conf.set('FWUPD_UEFI_CAPSULE_SPLASH_ENABLED', '1')
+endif
+
 configure_file(
   output: 'config.h',
   configuration: conf
diff --git a/plugins/uefi-capsule/fu-self-test.c b/plugins/uefi-capsule/fu-self-test.c
index d8ffdd913..d99b72fc7 100644
--- a/plugins/uefi-capsule/fu-self-test.c
+++ b/plugins/uefi-capsule/fu-self-test.c
@@ -534,6 +534,7 @@ fu_uefi_plugin_nvram_func(void)
 	g_assert_no_error(error);
 	g_assert_true(ret);
 
+#ifdef FWUPD_UEFI_CAPSULE_SPLASH_ENABLED
 	/* check UX splash was created */
 	g_assert_true(fu_uefi_plugin_esp_file_exists(
 	    esp,
@@ -541,14 +542,17 @@ fu_uefi_plugin_nvram_func(void)
 	g_assert_true(fu_efivars_exists(fu_context_get_efivars(ctx),
 					FU_EFIVARS_GUID_FWUPDATE,
 					"fwupd-ux-capsule"));
+#endif
 
 	/* check FW was created */
 	g_assert_true(fu_uefi_plugin_esp_file_exists(
 	    esp,
 	    "EFI/" EFI_OS_DIR "/fw/fwupd-cc4cbfa9-bf9d-540b-b92b-172ce31013c1.cap"));
+#ifdef FWUPD_UEFI_CAPSULE_SPLASH_ENABLED
 	g_assert_true(fu_efivars_exists(fu_context_get_efivars(ctx),
 					FU_EFIVARS_GUID_FWUPDATE,
 					"fwupd-ux-capsule"));
+#endif
 	g_assert_true(fu_efivars_exists(fu_context_get_efivars(ctx),
 					FU_EFIVARS_GUID_FWUPDATE,
 					"fwupd-cc4cbfa9-bf9d-540b-b92b-172ce31013c1-0"));
diff --git a/plugins/uefi-capsule/fu-uefi-capsule-plugin.c b/plugins/uefi-capsule/fu-uefi-capsule-plugin.c
index 6623ccd06..419d86565 100644
--- a/plugins/uefi-capsule/fu-uefi-capsule-plugin.c
+++ b/plugins/uefi-capsule/fu-uefi-capsule-plugin.c
@@ -327,6 +327,7 @@ fu_uefi_capsule_plugin_add_security_attrs(FuPlugin *plugin, FuSecurityAttrs *att
 	fu_uefi_capsule_plugin_add_security_attrs_bootservices(plugin, attrs);
 }
 
+#ifdef FWUPD_UEFI_CAPSULE_SPLASH_ENABLED
 static GBytes *
 fu_uefi_capsule_plugin_get_splash_data(guint width, guint height, GError **error)
 {
@@ -544,6 +545,7 @@ fu_uefi_capsule_plugin_update_splash(FuPlugin *plugin, FuDevice *device, GError
 	/* perform the upload */
 	return fu_uefi_capsule_plugin_write_splash_data(self, device, image_bmp, error);
 }
+#endif // FWUPD_UEFI_CAPSULE_SPLASH_ENABLED
 
 static gboolean
 fu_uefi_capsule_plugin_write_firmware(FuPlugin *plugin,
@@ -583,8 +585,10 @@ fu_uefi_capsule_plugin_write_firmware(FuPlugin *plugin,
 
 	/* perform the update */
 	fu_progress_set_status(progress, FWUPD_STATUS_SCHEDULING);
+#ifdef FWUPD_UEFI_CAPSULE_SPLASH_ENABLED
 	if (!fu_uefi_capsule_plugin_update_splash(plugin, device, &error_splash))
 		g_info("failed to upload UEFI UX capsule text: %s", error_splash->message);
+#endif
 
 	return fu_device_write_firmware(device, firmware, progress, flags, error);
 }