浏览代码

package/libblockdev: fix build with libglib2 >= 2.69

Fix the following build failure raised since bump of libglib2 to version
2.70 in commit 079923d5fabf4f887bb140808cb16067ca08b19b:

exec.c: In function 'bd_utils_exec_and_report_status_error':
exec.c:239:5: error: 'g_spawn_check_exit_status' is deprecated: Use 'g_spawn_check_wait_status' instead [-Werror=deprecated-declarations]
  239 |     if (!g_spawn_check_exit_status (exit_status, error)) {
      |     ^~

Fixes:
 - http://autobuild.buildroot.org/results/8f9ca895cb07014804130a7ccbcb758b1d519470

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Fabrice Fontaine 3 年之前
父节点
当前提交
72b4229cfc
共有 1 个文件被更改,包括 32 次插入0 次删除
  1. 32 0
      package/libblockdev/0002-exec-Fix-deprecated-glib-function-call.patch

+ 32 - 0
package/libblockdev/0002-exec-Fix-deprecated-glib-function-call.patch

@@ -0,0 +1,32 @@
+From aad927a81fd9067865dc391c5bbff12ac51a0002 Mon Sep 17 00:00:00 2001
+From: Manuel Wassermann <manuel.wassermann97@gmail.com>
+Date: Thu, 1 Jul 2021 04:45:49 +0200
+Subject: [PATCH] exec: Fix deprecated glib function call Glib will rename
+ "g_spawn_check_exit_status()" to "g_spawn_check_wait_status()" in version
+ 2.69.
+
+[Retrieved from:
+https://github.com/storaged-project/libblockdev/commit/aad927a81fd9067865dc391c5bbff12ac51a0002]
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+---
+ src/utils/exec.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/src/utils/exec.c b/src/utils/exec.c
+index 317fb5525..8faeb289c 100644
+--- a/src/utils/exec.c
++++ b/src/utils/exec.c
+@@ -236,7 +236,12 @@ gboolean bd_utils_exec_and_report_status_error (const gchar **argv, const BDExtr
+     /* g_spawn_sync set the status in the same way waitpid() does, we need
+        to get the process exit code manually (this is similar to calling
+        WEXITSTATUS but also sets the error for terminated processes */
+-    if (!g_spawn_check_exit_status (exit_status, error)) {
++
++    #if !GLIB_CHECK_VERSION(2, 69, 0)
++    #define g_spawn_check_wait_status(x,y) (g_spawn_check_exit_status (x,y))
++    #endif
++
++    if (!g_spawn_check_wait_status (exit_status, error)) {
+         if (g_error_matches (*error, G_SPAWN_ERROR, G_SPAWN_ERROR_FAILED)) {
+             /* process was terminated abnormally (e.g. using a signal) */
+             g_free (stdout_data);