[arch-commits] Commit in fwupd/repos/community-x86_64 (6 files)

Bruno Pagani archange at archlinux.org
Mon Mar 12 15:01:15 UTC 2018


    Date: Monday, March 12, 2018 @ 15:01:15
  Author: archange
Revision: 306394

archrelease: copy trunk to community-x86_64

Added:
  fwupd/repos/community-x86_64/PKGBUILD
    (from rev 306393, fwupd/trunk/PKGBUILD)
  fwupd/repos/community-x86_64/capsule-changes.patch
    (from rev 306393, fwupd/trunk/capsule-changes.patch)
  fwupd/repos/community-x86_64/config-esp-path.patch
    (from rev 306393, fwupd/trunk/config-esp-path.patch)
Deleted:
  fwupd/repos/community-x86_64/PKGBUILD
  fwupd/repos/community-x86_64/capsule-changes.patch
  fwupd/repos/community-x86_64/config-esp-path.patch

-----------------------+
 PKGBUILD              |   82 +++-----
 capsule-changes.patch |  270 +++++++++++++-------------
 config-esp-path.patch |  484 ++++++++++++++++++++++++------------------------
 3 files changed, 413 insertions(+), 423 deletions(-)

Deleted: PKGBUILD
===================================================================
--- PKGBUILD	2018-03-12 15:00:53 UTC (rev 306393)
+++ PKGBUILD	2018-03-12 15:01:15 UTC (rev 306394)
@@ -1,46 +0,0 @@
-# $Id$
-# Maintainer: Bruno Pagani <archange at archlinux.org>
-# Contributor: Mirco Tischler <mt-ml at gmx dot de>
-
-pkgname=fwupd
-pkgver=1.0.5
-pkgrel=2
-pkgdesc='A simple daemon to allow session software to update firmware'
-arch=('x86_64')
-url='https://github.com/hughsie/fwupd'
-license=('GPL2')
-depends=('appstream-glib' 'fwupdate' 'colord' 'python')
-makedepends=('meson' 'valgrind' 'gtk-doc' 'help2man' 'python-pillow' 'gobject-introspection'
-             'python-cairo' 'ttf-dejavu' 'adobe-source-han-sans-cn-fonts' 'python-gobject')
-checkdepends=('umockdev')
-source=(${pkgname}-${pkgver}.tar.gz::"${url}/archive/${pkgver}.tar.gz"
-        'capsule-changes.patch'
-        'config-esp-path.patch')
-sha256sums=('236289aab278fc6611e0a425f7a186895d6755cfdbfd9f182c7bd4bb7fee0324'
-            '5361c6cfc2b7d0cb9a161b7082b780ba30b468347b6489dd32a83e7a376716ac'
-            '541b7d31eee9fc9386ad451bf92bb17f400216183bd76c554e7628c7006e90ba')
-
-prepare() {
-    cd ${pkgname}-${pkgver}
-    patch -p1 -i ../capsule-changes.patch
-    patch -p1 -i ../config-esp-path.patch
-}
-
-build() {
-    cd ${pkgname}-${pkgver}
-    arch-meson -D b_lto=false ../build
-    ninja -v -C ../build
-}
-
-check() {
-    cd build
-    meson test
-}
-
-package() {
-    DESTDIR="${pkgdir}" ninja -C build install
-    # Fixup mode to match polkit
-    install -d -o root -g 102 -m 750 "${pkgdir}/usr/share/polkit-1/rules.d"
-    # Remove the tests
-    rm -r ${pkgdir}/usr/share/installed-tests/
-}

Copied: fwupd/repos/community-x86_64/PKGBUILD (from rev 306393, fwupd/trunk/PKGBUILD)
===================================================================
--- PKGBUILD	                        (rev 0)
+++ PKGBUILD	2018-03-12 15:01:15 UTC (rev 306394)
@@ -0,0 +1,36 @@
+# $Id$
+# Maintainer: Bruno Pagani <archange at archlinux.org>
+# Contributor: Mirco Tischler <mt-ml at gmx dot de>
+
+pkgname=fwupd
+pkgver=1.0.6
+pkgrel=1
+pkgdesc='A simple daemon to allow session software to update firmware'
+arch=('x86_64')
+url='https://github.com/hughsie/fwupd'
+license=('GPL2')
+depends=('appstream-glib' 'fwupdate' 'colord' 'python')
+makedepends=('meson' 'valgrind' 'gtk-doc' 'help2man' 'python-pillow' 'gobject-introspection'
+             'python-cairo' 'ttf-dejavu' 'adobe-source-han-sans-cn-fonts' 'python-gobject' 'vala')
+checkdepends=('umockdev')
+source=(${pkgname}-${pkgver}.tar.gz::"${url}/archive/${pkgver}.tar.gz")
+sha256sums=('437017baf58a1aab3e63fd28264c05ab3ca1eaebc6295f959ae42338490d2223')
+
+build() {
+    cd ${pkgname}-${pkgver}
+    arch-meson -D b_lto=false ../build
+    ninja -v -C ../build
+}
+
+check() {
+    cd build
+    meson test
+}
+
+package() {
+    DESTDIR="${pkgdir}" ninja -C build install
+    # Fixup mode to match polkit
+    install -d -o root -g 102 -m 750 "${pkgdir}/usr/share/polkit-1/rules.d"
+    # Remove the tests
+    rm -r ${pkgdir}/usr/share/installed-tests/
+}

Deleted: capsule-changes.patch
===================================================================
--- capsule-changes.patch	2018-03-12 15:00:53 UTC (rev 306393)
+++ capsule-changes.patch	2018-03-12 15:01:15 UTC (rev 306394)
@@ -1,135 +0,0 @@
-From 02c469052f56dc088705484cbb9f0b788df23b08 Mon Sep 17 00:00:00 2001
-From: Mario Limonciello <mario.limonciello at dell.com>
-Date: Mon, 19 Feb 2018 13:11:27 -0600
-Subject: [PATCH] uefi: Report if UX capsule was supported in the report
- metadata
-
----
- plugins/uefi/fu-plugin-uefi.c | 47 +++++++++++++++++++------------------------
- 1 file changed, 21 insertions(+), 26 deletions(-)
-
-diff --git a/plugins/uefi/fu-plugin-uefi.c b/plugins/uefi/fu-plugin-uefi.c
-index 1f59a99c..87950d7c 100644
---- a/plugins/uefi/fu-plugin-uefi.c
-+++ b/plugins/uefi/fu-plugin-uefi.c
-@@ -29,6 +29,10 @@
- #include "fu-plugin.h"
- #include "fu-plugin-vfuncs.h"
- 
-+struct FuPluginData {
-+	gboolean	ux_capsule;
-+};
-+
- /* drop when upgrading minimum required version of efivar to 33 */
- #if !defined (efi_guid_ux_capsule)
- #define efi_guid_ux_capsule EFI_GUID(0x3b8c8162,0x188c,0x46a4,0xaec9,0xbe,0x43,0xf1,0xd6,0x56,0x97)
-@@ -37,6 +41,8 @@
- void
- fu_plugin_init (FuPlugin *plugin)
- {
-+	FuPluginData *data = fu_plugin_alloc_data (plugin, sizeof (FuPluginData));
-+	data->ux_capsule = FALSE;
- 	fu_plugin_add_rule (plugin, FU_PLUGIN_RULE_RUN_AFTER, "upower");
- 	fu_plugin_add_report_metadata (plugin, "FwupdateVersion", LIBFWUP_LIBRARY_VERSION);
- 	fu_plugin_add_report_metadata (plugin, "EfivarVersion", EFIVAR_LIBRARY_VERSION);
-@@ -89,22 +95,6 @@ fu_plugin_uefi_find (fwup_resource_iter *iter, const gchar *guid_str, GError **e
- 	return re_matched;
- }
- 
--static fwup_resource *
--fu_plugin_uefi_find_raw (fwup_resource_iter *iter, efi_guid_t *guid)
--{
--	fwup_resource *re_matched = NULL;
--	fwup_resource *re = NULL;
--	while (fwup_resource_iter_next (iter, &re) > 0) {
--		efi_guid_t *guid_tmp;
--		fwup_get_guid (re, &guid_tmp);
--		if (efi_guid_cmp (guid_tmp, guid) == 0) {
--			re_matched = re;
--			break;
--		}
--	}
--	return re_matched;
--}
--
- static void
- _fwup_resource_iter_free (fwup_resource_iter *iter)
- {
-@@ -317,12 +307,6 @@ fu_plugin_uefi_update_splash (GError **error)
- 		{ 0, 0 }
- 	};
- 
--	/* is this supported? */
--	fwup_resource_iter_create (&iter);
--	re = fu_plugin_uefi_find_raw (iter, &efi_guid_ux_capsule);
--	if (re == NULL)
--		return TRUE;
--
- 	/* get the boot graphics resource table data */
- #ifdef HAVE_FWUP_GET_BGRT_INFO
- 	rc = fwup_get_ux_capsule_info (&screen_width, &screen_height);
-@@ -381,6 +365,7 @@ fu_plugin_update (FuPlugin *plugin,
- 		  FwupdInstallFlags flags,
- 		  GError **error)
- {
-+	FuPluginData *data = fu_plugin_get_data (plugin);
- 	fwup_resource *re = NULL;
- 	guint64 hardware_instance = 0;	/* FIXME */
- 	g_autoptr(fwup_resource_iter) iter = NULL;
-@@ -402,9 +387,12 @@ fu_plugin_update (FuPlugin *plugin,
- 	/* perform the update */
- 	g_debug ("Performing UEFI capsule update");
- 	fu_device_set_status (device, FWUPD_STATUS_SCHEDULING);
--	if (!fu_plugin_uefi_update_splash (&error_splash)) {
--		g_warning ("failed to upload BGRT splash text: %s",
--			   error_splash->message);
-+
-+	if (data->ux_capsule) {
-+		if (!fu_plugin_uefi_update_splash (&error_splash)) {
-+			g_warning ("failed to upload UEFI UX capsule text: %s",
-+				   error_splash->message);
-+		}
- 	}
- 	if (!fu_plugin_uefi_update_resource (re, hardware_instance, blob_fw, error))
- 		return FALSE;
-@@ -508,6 +496,7 @@ fu_plugin_uefi_get_name_for_type (FuPlugin *plugin, guint32 uefi_type)
- static void
- fu_plugin_uefi_coldplug_resource (FuPlugin *plugin, fwup_resource *re)
- {
-+	FuPluginData *data = fu_plugin_get_data (plugin);
- 	AsVersionParseFlag parse_flags;
- 	efi_guid_t *guid_raw;
- 	guint32 uefi_type;
-@@ -523,7 +512,7 @@ fu_plugin_uefi_coldplug_resource (FuPlugin *plugin, fwup_resource *re)
- 	/* detect the fake GUID used for uploading the image */
- 	fwup_get_guid (re, &guid_raw);
- 	if (efi_guid_cmp (guid_raw, &efi_guid_ux_capsule) == 0) {
--		g_debug ("skipping entry, detected fake BGRT");
-+		data->ux_capsule = TRUE;
- 		return;
- 	}
- 
-@@ -596,10 +585,12 @@ fu_plugin_uefi_test_secure_boot (FuPlugin *plugin)
- gboolean
- fu_plugin_coldplug (FuPlugin *plugin, GError **error)
- {
-+	FuPluginData *data = fu_plugin_get_data (plugin);
- 	fwup_resource *re;
- 	gint supported;
- 	g_autoptr(fwup_resource_iter) iter = NULL;
- 	g_autofree gchar *name = NULL;
-+	const gchar *ux_capsule_str = "Disabled";
- 
- 	/* supported = 0 : ESRT unspported
- 	   supported = 1 : unlocked, ESRT supported
-@@ -645,6 +636,10 @@ fu_plugin_coldplug (FuPlugin *plugin, GError **error)
- 
- 	/* for debugging problems later */
- 	fu_plugin_uefi_test_secure_boot (plugin);
-+	if (data->ux_capsule)
-+		ux_capsule_str = "Enabled";
-+	g_debug ("UX Capsule support : %s", ux_capsule_str);
-+	fu_plugin_add_report_metadata (plugin, "UEFIUXCapsule", ux_capsule_str);
- 
- 	return TRUE;
- }

Copied: fwupd/repos/community-x86_64/capsule-changes.patch (from rev 306393, fwupd/trunk/capsule-changes.patch)
===================================================================
--- capsule-changes.patch	                        (rev 0)
+++ capsule-changes.patch	2018-03-12 15:01:15 UTC (rev 306394)
@@ -0,0 +1,135 @@
+From 02c469052f56dc088705484cbb9f0b788df23b08 Mon Sep 17 00:00:00 2001
+From: Mario Limonciello <mario.limonciello at dell.com>
+Date: Mon, 19 Feb 2018 13:11:27 -0600
+Subject: [PATCH] uefi: Report if UX capsule was supported in the report
+ metadata
+
+---
+ plugins/uefi/fu-plugin-uefi.c | 47 +++++++++++++++++++------------------------
+ 1 file changed, 21 insertions(+), 26 deletions(-)
+
+diff --git a/plugins/uefi/fu-plugin-uefi.c b/plugins/uefi/fu-plugin-uefi.c
+index 1f59a99c..87950d7c 100644
+--- a/plugins/uefi/fu-plugin-uefi.c
++++ b/plugins/uefi/fu-plugin-uefi.c
+@@ -29,6 +29,10 @@
+ #include "fu-plugin.h"
+ #include "fu-plugin-vfuncs.h"
+ 
++struct FuPluginData {
++	gboolean	ux_capsule;
++};
++
+ /* drop when upgrading minimum required version of efivar to 33 */
+ #if !defined (efi_guid_ux_capsule)
+ #define efi_guid_ux_capsule EFI_GUID(0x3b8c8162,0x188c,0x46a4,0xaec9,0xbe,0x43,0xf1,0xd6,0x56,0x97)
+@@ -37,6 +41,8 @@
+ void
+ fu_plugin_init (FuPlugin *plugin)
+ {
++	FuPluginData *data = fu_plugin_alloc_data (plugin, sizeof (FuPluginData));
++	data->ux_capsule = FALSE;
+ 	fu_plugin_add_rule (plugin, FU_PLUGIN_RULE_RUN_AFTER, "upower");
+ 	fu_plugin_add_report_metadata (plugin, "FwupdateVersion", LIBFWUP_LIBRARY_VERSION);
+ 	fu_plugin_add_report_metadata (plugin, "EfivarVersion", EFIVAR_LIBRARY_VERSION);
+@@ -89,22 +95,6 @@ fu_plugin_uefi_find (fwup_resource_iter *iter, const gchar *guid_str, GError **e
+ 	return re_matched;
+ }
+ 
+-static fwup_resource *
+-fu_plugin_uefi_find_raw (fwup_resource_iter *iter, efi_guid_t *guid)
+-{
+-	fwup_resource *re_matched = NULL;
+-	fwup_resource *re = NULL;
+-	while (fwup_resource_iter_next (iter, &re) > 0) {
+-		efi_guid_t *guid_tmp;
+-		fwup_get_guid (re, &guid_tmp);
+-		if (efi_guid_cmp (guid_tmp, guid) == 0) {
+-			re_matched = re;
+-			break;
+-		}
+-	}
+-	return re_matched;
+-}
+-
+ static void
+ _fwup_resource_iter_free (fwup_resource_iter *iter)
+ {
+@@ -317,12 +307,6 @@ fu_plugin_uefi_update_splash (GError **error)
+ 		{ 0, 0 }
+ 	};
+ 
+-	/* is this supported? */
+-	fwup_resource_iter_create (&iter);
+-	re = fu_plugin_uefi_find_raw (iter, &efi_guid_ux_capsule);
+-	if (re == NULL)
+-		return TRUE;
+-
+ 	/* get the boot graphics resource table data */
+ #ifdef HAVE_FWUP_GET_BGRT_INFO
+ 	rc = fwup_get_ux_capsule_info (&screen_width, &screen_height);
+@@ -381,6 +365,7 @@ fu_plugin_update (FuPlugin *plugin,
+ 		  FwupdInstallFlags flags,
+ 		  GError **error)
+ {
++	FuPluginData *data = fu_plugin_get_data (plugin);
+ 	fwup_resource *re = NULL;
+ 	guint64 hardware_instance = 0;	/* FIXME */
+ 	g_autoptr(fwup_resource_iter) iter = NULL;
+@@ -402,9 +387,12 @@ fu_plugin_update (FuPlugin *plugin,
+ 	/* perform the update */
+ 	g_debug ("Performing UEFI capsule update");
+ 	fu_device_set_status (device, FWUPD_STATUS_SCHEDULING);
+-	if (!fu_plugin_uefi_update_splash (&error_splash)) {
+-		g_warning ("failed to upload BGRT splash text: %s",
+-			   error_splash->message);
++
++	if (data->ux_capsule) {
++		if (!fu_plugin_uefi_update_splash (&error_splash)) {
++			g_warning ("failed to upload UEFI UX capsule text: %s",
++				   error_splash->message);
++		}
+ 	}
+ 	if (!fu_plugin_uefi_update_resource (re, hardware_instance, blob_fw, error))
+ 		return FALSE;
+@@ -508,6 +496,7 @@ fu_plugin_uefi_get_name_for_type (FuPlugin *plugin, guint32 uefi_type)
+ static void
+ fu_plugin_uefi_coldplug_resource (FuPlugin *plugin, fwup_resource *re)
+ {
++	FuPluginData *data = fu_plugin_get_data (plugin);
+ 	AsVersionParseFlag parse_flags;
+ 	efi_guid_t *guid_raw;
+ 	guint32 uefi_type;
+@@ -523,7 +512,7 @@ fu_plugin_uefi_coldplug_resource (FuPlugin *plugin, fwup_resource *re)
+ 	/* detect the fake GUID used for uploading the image */
+ 	fwup_get_guid (re, &guid_raw);
+ 	if (efi_guid_cmp (guid_raw, &efi_guid_ux_capsule) == 0) {
+-		g_debug ("skipping entry, detected fake BGRT");
++		data->ux_capsule = TRUE;
+ 		return;
+ 	}
+ 
+@@ -596,10 +585,12 @@ fu_plugin_uefi_test_secure_boot (FuPlugin *plugin)
+ gboolean
+ fu_plugin_coldplug (FuPlugin *plugin, GError **error)
+ {
++	FuPluginData *data = fu_plugin_get_data (plugin);
+ 	fwup_resource *re;
+ 	gint supported;
+ 	g_autoptr(fwup_resource_iter) iter = NULL;
+ 	g_autofree gchar *name = NULL;
++	const gchar *ux_capsule_str = "Disabled";
+ 
+ 	/* supported = 0 : ESRT unspported
+ 	   supported = 1 : unlocked, ESRT supported
+@@ -645,6 +636,10 @@ fu_plugin_coldplug (FuPlugin *plugin, GError **error)
+ 
+ 	/* for debugging problems later */
+ 	fu_plugin_uefi_test_secure_boot (plugin);
++	if (data->ux_capsule)
++		ux_capsule_str = "Enabled";
++	g_debug ("UX Capsule support : %s", ux_capsule_str);
++	fu_plugin_add_report_metadata (plugin, "UEFIUXCapsule", ux_capsule_str);
+ 
+ 	return TRUE;
+ }

Deleted: config-esp-path.patch
===================================================================
--- config-esp-path.patch	2018-03-12 15:00:53 UTC (rev 306393)
+++ config-esp-path.patch	2018-03-12 15:01:15 UTC (rev 306394)
@@ -1,242 +0,0 @@
-From 963dc4245c5b2e1a70fff23e388541badd15d9bb Mon Sep 17 00:00:00 2001
-From: Mario Limonciello <superm1 at gmail.com>
-Date: Tue, 27 Feb 2018 14:26:58 -0600
-Subject: [PATCH] uefi: Allow overriding ESP mount point via conf file (Fixes:
- #421) (#422)
-
-* uefi: Allow overriding ESP mount point via conf file (Fixes: #421)
----
- contrib/fwupd.spec.in         |  1 +
- meson.build                   |  1 +
- plugins/uefi/README.md        | 13 +++++++++++++
- plugins/uefi/fu-plugin-uefi.c | 42 ++++++++++++++++++++++++++++++++++++++++++
- plugins/uefi/meson.build      |  4 ++++
- plugins/uefi/uefi.conf        |  5 +++++
- src/fu-plugin.c               | 29 +++++++++++++++++++++++++++++
- src/fu-plugin.h               |  3 ++-
- src/meson.build               |  1 +
- 9 files changed, 98 insertions(+), 1 deletion(-)
- create mode 100644 plugins/uefi/uefi.conf
-
-diff --git a/contrib/fwupd.spec.in b/contrib/fwupd.spec.in
-index 8116f153..54a597b4 100644
---- a/contrib/fwupd.spec.in
-+++ b/contrib/fwupd.spec.in
-@@ -187,6 +187,7 @@ mkdir -p --mode=0700 $RPM_BUILD_ROOT%{_localstatedir}/lib/fwupd/gnupg
- %doc README.md AUTHORS NEWS
- %license COPYING
- %config(noreplace)%{_sysconfdir}/fwupd/daemon.conf
-+%config(noreplace)%{_sysconfdir}/fwupd/uefi.conf
- %dir %{_libexecdir}/fwupd
- %{_libexecdir}/fwupd/fwupd
- %{_bindir}/dfu-tool
-diff --git a/meson.build b/meson.build
-index c9a52b22..6fb5332f 100644
---- a/meson.build
-+++ b/meson.build
-@@ -199,6 +199,7 @@ if get_option('plugin_uefi')
-   fwup = dependency('fwup', version : '>= 5')
-   if fwup.version().version_compare('>= 10')
-     conf.set('HAVE_FWUP_GET_BGRT_INFO', '1')
-+    conf.set('HAVE_FWUP_CUSTOM_ESP', '1')
-   endif
-   efivar = dependency('efivar')
-   conf.set_quoted('EFIVAR_LIBRARY_VERSION', efivar.version())
-diff --git a/plugins/uefi/README.md b/plugins/uefi/README.md
-index bdae04ba..28fb587b 100644
---- a/plugins/uefi/README.md
-+++ b/plugins/uefi/README.md
-@@ -30,3 +30,16 @@ and compiling it with libsmbios support.
- 
- When fwupd and fwupdate have been compiled with this support you will
- be able to enable UEFI support on the device by using the `unlock` command.
-+
-+Custom EFI System Partition location
-+---------------------
-+`fwupdate` 10 and later allow using an EFI system partition location
-+at runtime that is different than the location compiled into the library.
-+
-+fwupd 1.0.6 and later can take advantage of this feature by allowing
-+users to modify `/etc/fwupd/uefi.conf`.
-+
-+An option titled *OverrideESPMountPoint* is available that can be
-+uncommented and set to any valid directory on the system.
-+
-+Setting an invalid directory will disable the fwupd plugin.
-diff --git a/plugins/uefi/fu-plugin-uefi.c b/plugins/uefi/fu-plugin-uefi.c
-index 87950d7c..1ecd5484 100644
---- a/plugins/uefi/fu-plugin-uefi.c
-+++ b/plugins/uefi/fu-plugin-uefi.c
-@@ -31,6 +31,7 @@
- 
- struct FuPluginData {
- 	gboolean	ux_capsule;
-+	gchar		*esp_path;
- };
- 
- /* drop when upgrading minimum required version of efivar to 33 */
-@@ -43,11 +44,19 @@ fu_plugin_init (FuPlugin *plugin)
- {
- 	FuPluginData *data = fu_plugin_alloc_data (plugin, sizeof (FuPluginData));
- 	data->ux_capsule = FALSE;
-+	data->esp_path = NULL;
- 	fu_plugin_add_rule (plugin, FU_PLUGIN_RULE_RUN_AFTER, "upower");
- 	fu_plugin_add_report_metadata (plugin, "FwupdateVersion", LIBFWUP_LIBRARY_VERSION);
- 	fu_plugin_add_report_metadata (plugin, "EfivarVersion", EFIVAR_LIBRARY_VERSION);
- }
- 
-+void
-+fu_plugin_destroy (FuPlugin *plugin)
-+{
-+        FuPluginData *data = fu_plugin_get_data (plugin);
-+        g_free (data->esp_path);
-+}
-+
- static gchar *
- fu_plugin_uefi_guid_to_string (efi_guid_t *guid_raw)
- {
-@@ -388,6 +397,10 @@ fu_plugin_update (FuPlugin *plugin,
- 	g_debug ("Performing UEFI capsule update");
- 	fu_device_set_status (device, FWUPD_STATUS_SCHEDULING);
- 
-+#ifdef HAVE_FWUP_CUSTOM_ESP
-+	if (data->esp_path != NULL)
-+		fwup_set_esp_mountpoint (data->esp_path);
-+#endif
- 	if (data->ux_capsule) {
- 		if (!fu_plugin_uefi_update_splash (&error_splash)) {
- 			g_warning ("failed to upload UEFI UX capsule text: %s",
-@@ -582,6 +595,31 @@ fu_plugin_uefi_test_secure_boot (FuPlugin *plugin)
- 	fu_plugin_add_report_metadata (plugin, "SecureBoot", result_str);
- }
- 
-+static gboolean load_custom_esp (FuPlugin *plugin, GError **error)
-+{
-+	FuPluginData *data = fu_plugin_get_data (plugin);
-+	const gchar *key = "OverrideESPMountPoint";
-+
-+	data->esp_path = fu_plugin_get_config_value (plugin, key);
-+	if (data->esp_path != NULL) {
-+		if (!g_file_test (data->esp_path, G_FILE_TEST_IS_DIR)) {
-+			g_set_error (error,
-+				     FWUPD_ERROR,
-+				     FWUPD_ERROR_INVALID_FILE,
-+				     "Invalid %s specified in %s config: %s",
-+				     fu_plugin_get_name (plugin), key,
-+				     data->esp_path);
-+
-+			return FALSE;
-+		}
-+		g_debug ("%s set to %s", key, data->esp_path);
-+		fu_plugin_add_report_metadata (plugin, key,
-+					       data->esp_path);
-+	}
-+
-+	return TRUE;
-+}
-+
- gboolean
- fu_plugin_coldplug (FuPlugin *plugin, GError **error)
- {
-@@ -634,6 +672,10 @@ fu_plugin_coldplug (FuPlugin *plugin, GError **error)
- 	while (fwup_resource_iter_next (iter, &re) > 0)
- 		fu_plugin_uefi_coldplug_resource (plugin, re);
- 
-+	/* load any overriden options */
-+	if (!load_custom_esp (plugin, error))
-+		return FALSE;
-+
- 	/* for debugging problems later */
- 	fu_plugin_uefi_test_secure_boot (plugin);
- 	if (data->ux_capsule)
-diff --git a/plugins/uefi/meson.build b/plugins/uefi/meson.build
-index f30543e5..d5e03a77 100644
---- a/plugins/uefi/meson.build
-+++ b/plugins/uefi/meson.build
-@@ -1,5 +1,9 @@
- cargs = ['-DG_LOG_DOMAIN="FuPluginUefi"']
- 
-+install_data(['uefi.conf'],
-+  install_dir : join_paths(sysconfdir, 'fwupd')
-+)
-+
- shared_module('fu_plugin_uefi',
-   sources : [
-     'fu-plugin-uefi.c',
-diff --git a/plugins/uefi/uefi.conf b/plugins/uefi/uefi.conf
-new file mode 100644
-index 00000000..3a7982cf
---- /dev/null
-+++ b/plugins/uefi/uefi.conf
-@@ -0,0 +1,5 @@
-+[uefi]
-+
-+# For fwupdate 10+ allow overriding
-+# the compiled EFI system partition path
-+#OverrideESPMountPoint=
-diff --git a/src/fu-plugin.c b/src/fu-plugin.c
-index 0c226cf6..f3cb3303 100644
---- a/src/fu-plugin.c
-+++ b/src/fu-plugin.c
-@@ -1422,6 +1422,35 @@ fu_plugin_get_report_metadata (FuPlugin *plugin)
- 	return priv->report_metadata;
- }
- 
-+/**
-+ * fu_plugin_get_config_value:
-+ * @plugin: a #FuPlugin
-+ * @key: A settings key
-+ *
-+ * Return the value of a key if it's been configured
-+ *
-+ * Since: 1.0.6
-+ **/
-+gchar *
-+fu_plugin_get_config_value (FuPlugin *plugin, const gchar *key)
-+{
-+	g_autofree gchar *conf_file = NULL;
-+	g_autofree gchar *conf_path = NULL;
-+	g_autoptr(GKeyFile) keyfile = NULL;
-+	const gchar *plugin_name;
-+
-+	plugin_name = fu_plugin_get_name (plugin);
-+	conf_file = g_strdup_printf ("%s.conf", plugin_name);
-+	conf_path = g_build_filename (FWUPDCONFIGDIR, conf_file,  NULL);
-+	if (!g_file_test (conf_path, G_FILE_TEST_IS_REGULAR))
-+		return NULL;
-+	keyfile = g_key_file_new ();
-+	if (!g_key_file_load_from_file (keyfile, conf_path,
-+					G_KEY_FILE_NONE, NULL))
-+		return NULL;
-+	return g_key_file_get_string (keyfile, plugin_name, key, NULL);
-+}
-+
- static void
- fu_plugin_class_init (FuPluginClass *klass)
- {
-diff --git a/src/fu-plugin.h b/src/fu-plugin.h
-index 61f56b72..700076fb 100644
---- a/src/fu-plugin.h
-+++ b/src/fu-plugin.h
-@@ -147,7 +147,8 @@ const gchar	*fu_plugin_lookup_quirk_by_usb_device	(FuPlugin	*plugin,
- void		 fu_plugin_add_report_metadata		(FuPlugin	*plugin,
- 							 const gchar	*key,
- 							 const gchar	*value);
--
-+gchar		*fu_plugin_get_config_value		(FuPlugin	*plugin,
-+							 const gchar	*key);
- G_END_DECLS
- 
- #endif /* __FU_PLUGIN_H */
-diff --git a/src/meson.build b/src/meson.build
-index 4d044aa4..66c4037c 100644
---- a/src/meson.build
-+++ b/src/meson.build
-@@ -53,6 +53,7 @@ libfwupdprivate = static_library(
-     '-DLOCALSTATEDIR="' + localstatedir + '"',
-     '-DSYSFSFIRMWAREDIR="/sys/firmware"',
-     '-DFWUPDDATADIR="' + join_paths(datadir, 'fwupd') + '"',
-+    '-DFWUPDCONFIGDIR="' + join_paths(default_sysconfdir, 'fwupd') + '"',
-     '-DFU_OFFLINE_DESTDIR=""',
-   ],
- )

Copied: fwupd/repos/community-x86_64/config-esp-path.patch (from rev 306393, fwupd/trunk/config-esp-path.patch)
===================================================================
--- config-esp-path.patch	                        (rev 0)
+++ config-esp-path.patch	2018-03-12 15:01:15 UTC (rev 306394)
@@ -0,0 +1,242 @@
+From 963dc4245c5b2e1a70fff23e388541badd15d9bb Mon Sep 17 00:00:00 2001
+From: Mario Limonciello <superm1 at gmail.com>
+Date: Tue, 27 Feb 2018 14:26:58 -0600
+Subject: [PATCH] uefi: Allow overriding ESP mount point via conf file (Fixes:
+ #421) (#422)
+
+* uefi: Allow overriding ESP mount point via conf file (Fixes: #421)
+---
+ contrib/fwupd.spec.in         |  1 +
+ meson.build                   |  1 +
+ plugins/uefi/README.md        | 13 +++++++++++++
+ plugins/uefi/fu-plugin-uefi.c | 42 ++++++++++++++++++++++++++++++++++++++++++
+ plugins/uefi/meson.build      |  4 ++++
+ plugins/uefi/uefi.conf        |  5 +++++
+ src/fu-plugin.c               | 29 +++++++++++++++++++++++++++++
+ src/fu-plugin.h               |  3 ++-
+ src/meson.build               |  1 +
+ 9 files changed, 98 insertions(+), 1 deletion(-)
+ create mode 100644 plugins/uefi/uefi.conf
+
+diff --git a/contrib/fwupd.spec.in b/contrib/fwupd.spec.in
+index 8116f153..54a597b4 100644
+--- a/contrib/fwupd.spec.in
++++ b/contrib/fwupd.spec.in
+@@ -187,6 +187,7 @@ mkdir -p --mode=0700 $RPM_BUILD_ROOT%{_localstatedir}/lib/fwupd/gnupg
+ %doc README.md AUTHORS NEWS
+ %license COPYING
+ %config(noreplace)%{_sysconfdir}/fwupd/daemon.conf
++%config(noreplace)%{_sysconfdir}/fwupd/uefi.conf
+ %dir %{_libexecdir}/fwupd
+ %{_libexecdir}/fwupd/fwupd
+ %{_bindir}/dfu-tool
+diff --git a/meson.build b/meson.build
+index c9a52b22..6fb5332f 100644
+--- a/meson.build
++++ b/meson.build
+@@ -199,6 +199,7 @@ if get_option('plugin_uefi')
+   fwup = dependency('fwup', version : '>= 5')
+   if fwup.version().version_compare('>= 10')
+     conf.set('HAVE_FWUP_GET_BGRT_INFO', '1')
++    conf.set('HAVE_FWUP_CUSTOM_ESP', '1')
+   endif
+   efivar = dependency('efivar')
+   conf.set_quoted('EFIVAR_LIBRARY_VERSION', efivar.version())
+diff --git a/plugins/uefi/README.md b/plugins/uefi/README.md
+index bdae04ba..28fb587b 100644
+--- a/plugins/uefi/README.md
++++ b/plugins/uefi/README.md
+@@ -30,3 +30,16 @@ and compiling it with libsmbios support.
+ 
+ When fwupd and fwupdate have been compiled with this support you will
+ be able to enable UEFI support on the device by using the `unlock` command.
++
++Custom EFI System Partition location
++---------------------
++`fwupdate` 10 and later allow using an EFI system partition location
++at runtime that is different than the location compiled into the library.
++
++fwupd 1.0.6 and later can take advantage of this feature by allowing
++users to modify `/etc/fwupd/uefi.conf`.
++
++An option titled *OverrideESPMountPoint* is available that can be
++uncommented and set to any valid directory on the system.
++
++Setting an invalid directory will disable the fwupd plugin.
+diff --git a/plugins/uefi/fu-plugin-uefi.c b/plugins/uefi/fu-plugin-uefi.c
+index 87950d7c..1ecd5484 100644
+--- a/plugins/uefi/fu-plugin-uefi.c
++++ b/plugins/uefi/fu-plugin-uefi.c
+@@ -31,6 +31,7 @@
+ 
+ struct FuPluginData {
+ 	gboolean	ux_capsule;
++	gchar		*esp_path;
+ };
+ 
+ /* drop when upgrading minimum required version of efivar to 33 */
+@@ -43,11 +44,19 @@ fu_plugin_init (FuPlugin *plugin)
+ {
+ 	FuPluginData *data = fu_plugin_alloc_data (plugin, sizeof (FuPluginData));
+ 	data->ux_capsule = FALSE;
++	data->esp_path = NULL;
+ 	fu_plugin_add_rule (plugin, FU_PLUGIN_RULE_RUN_AFTER, "upower");
+ 	fu_plugin_add_report_metadata (plugin, "FwupdateVersion", LIBFWUP_LIBRARY_VERSION);
+ 	fu_plugin_add_report_metadata (plugin, "EfivarVersion", EFIVAR_LIBRARY_VERSION);
+ }
+ 
++void
++fu_plugin_destroy (FuPlugin *plugin)
++{
++        FuPluginData *data = fu_plugin_get_data (plugin);
++        g_free (data->esp_path);
++}
++
+ static gchar *
+ fu_plugin_uefi_guid_to_string (efi_guid_t *guid_raw)
+ {
+@@ -388,6 +397,10 @@ fu_plugin_update (FuPlugin *plugin,
+ 	g_debug ("Performing UEFI capsule update");
+ 	fu_device_set_status (device, FWUPD_STATUS_SCHEDULING);
+ 
++#ifdef HAVE_FWUP_CUSTOM_ESP
++	if (data->esp_path != NULL)
++		fwup_set_esp_mountpoint (data->esp_path);
++#endif
+ 	if (data->ux_capsule) {
+ 		if (!fu_plugin_uefi_update_splash (&error_splash)) {
+ 			g_warning ("failed to upload UEFI UX capsule text: %s",
+@@ -582,6 +595,31 @@ fu_plugin_uefi_test_secure_boot (FuPlugin *plugin)
+ 	fu_plugin_add_report_metadata (plugin, "SecureBoot", result_str);
+ }
+ 
++static gboolean load_custom_esp (FuPlugin *plugin, GError **error)
++{
++	FuPluginData *data = fu_plugin_get_data (plugin);
++	const gchar *key = "OverrideESPMountPoint";
++
++	data->esp_path = fu_plugin_get_config_value (plugin, key);
++	if (data->esp_path != NULL) {
++		if (!g_file_test (data->esp_path, G_FILE_TEST_IS_DIR)) {
++			g_set_error (error,
++				     FWUPD_ERROR,
++				     FWUPD_ERROR_INVALID_FILE,
++				     "Invalid %s specified in %s config: %s",
++				     fu_plugin_get_name (plugin), key,
++				     data->esp_path);
++
++			return FALSE;
++		}
++		g_debug ("%s set to %s", key, data->esp_path);
++		fu_plugin_add_report_metadata (plugin, key,
++					       data->esp_path);
++	}
++
++	return TRUE;
++}
++
+ gboolean
+ fu_plugin_coldplug (FuPlugin *plugin, GError **error)
+ {
+@@ -634,6 +672,10 @@ fu_plugin_coldplug (FuPlugin *plugin, GError **error)
+ 	while (fwup_resource_iter_next (iter, &re) > 0)
+ 		fu_plugin_uefi_coldplug_resource (plugin, re);
+ 
++	/* load any overriden options */
++	if (!load_custom_esp (plugin, error))
++		return FALSE;
++
+ 	/* for debugging problems later */
+ 	fu_plugin_uefi_test_secure_boot (plugin);
+ 	if (data->ux_capsule)
+diff --git a/plugins/uefi/meson.build b/plugins/uefi/meson.build
+index f30543e5..d5e03a77 100644
+--- a/plugins/uefi/meson.build
++++ b/plugins/uefi/meson.build
+@@ -1,5 +1,9 @@
+ cargs = ['-DG_LOG_DOMAIN="FuPluginUefi"']
+ 
++install_data(['uefi.conf'],
++  install_dir : join_paths(sysconfdir, 'fwupd')
++)
++
+ shared_module('fu_plugin_uefi',
+   sources : [
+     'fu-plugin-uefi.c',
+diff --git a/plugins/uefi/uefi.conf b/plugins/uefi/uefi.conf
+new file mode 100644
+index 00000000..3a7982cf
+--- /dev/null
++++ b/plugins/uefi/uefi.conf
+@@ -0,0 +1,5 @@
++[uefi]
++
++# For fwupdate 10+ allow overriding
++# the compiled EFI system partition path
++#OverrideESPMountPoint=
+diff --git a/src/fu-plugin.c b/src/fu-plugin.c
+index 0c226cf6..f3cb3303 100644
+--- a/src/fu-plugin.c
++++ b/src/fu-plugin.c
+@@ -1422,6 +1422,35 @@ fu_plugin_get_report_metadata (FuPlugin *plugin)
+ 	return priv->report_metadata;
+ }
+ 
++/**
++ * fu_plugin_get_config_value:
++ * @plugin: a #FuPlugin
++ * @key: A settings key
++ *
++ * Return the value of a key if it's been configured
++ *
++ * Since: 1.0.6
++ **/
++gchar *
++fu_plugin_get_config_value (FuPlugin *plugin, const gchar *key)
++{
++	g_autofree gchar *conf_file = NULL;
++	g_autofree gchar *conf_path = NULL;
++	g_autoptr(GKeyFile) keyfile = NULL;
++	const gchar *plugin_name;
++
++	plugin_name = fu_plugin_get_name (plugin);
++	conf_file = g_strdup_printf ("%s.conf", plugin_name);
++	conf_path = g_build_filename (FWUPDCONFIGDIR, conf_file,  NULL);
++	if (!g_file_test (conf_path, G_FILE_TEST_IS_REGULAR))
++		return NULL;
++	keyfile = g_key_file_new ();
++	if (!g_key_file_load_from_file (keyfile, conf_path,
++					G_KEY_FILE_NONE, NULL))
++		return NULL;
++	return g_key_file_get_string (keyfile, plugin_name, key, NULL);
++}
++
+ static void
+ fu_plugin_class_init (FuPluginClass *klass)
+ {
+diff --git a/src/fu-plugin.h b/src/fu-plugin.h
+index 61f56b72..700076fb 100644
+--- a/src/fu-plugin.h
++++ b/src/fu-plugin.h
+@@ -147,7 +147,8 @@ const gchar	*fu_plugin_lookup_quirk_by_usb_device	(FuPlugin	*plugin,
+ void		 fu_plugin_add_report_metadata		(FuPlugin	*plugin,
+ 							 const gchar	*key,
+ 							 const gchar	*value);
+-
++gchar		*fu_plugin_get_config_value		(FuPlugin	*plugin,
++							 const gchar	*key);
+ G_END_DECLS
+ 
+ #endif /* __FU_PLUGIN_H */
+diff --git a/src/meson.build b/src/meson.build
+index 4d044aa4..66c4037c 100644
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -53,6 +53,7 @@ libfwupdprivate = static_library(
+     '-DLOCALSTATEDIR="' + localstatedir + '"',
+     '-DSYSFSFIRMWAREDIR="/sys/firmware"',
+     '-DFWUPDDATADIR="' + join_paths(datadir, 'fwupd') + '"',
++    '-DFWUPDCONFIGDIR="' + join_paths(default_sysconfdir, 'fwupd') + '"',
+     '-DFU_OFFLINE_DESTDIR=""',
+   ],
+ )



More information about the arch-commits mailing list