[v2] libmbim: fix build with musl libc

Message ID 20170911085533.4340-1-aleksander@aleksander.es
State New
Headers show
Series
  • [v2] libmbim: fix build with musl libc
Related show

Commit Message

Aleksander Morgado Sept. 11, 2017, 8:55 a.m.
This is now failing because the libgudev dependency is optional and
the build will only use if it's found during the configure checks.

Imported the same patch that has been applied in the upstream libmbim
git repository:
  https://cgit.freedesktop.org/libmbim/libmbim/commit/?id=417b0b80023dc30d61c111ec0a54da2884d3a541

Signed-off-by: Aleksander Morgado <aleksander@aleksander.es>
---

v2 with Signed-off-by in the patch itself.

---
 ...-prefer-realpath-to-canonicalize_file_nam.patch | 37 ++++++++++++++++++++++
 1 file changed, 37 insertions(+)
 create mode 100644 package/libmbim/0001-mbim-device-prefer-realpath-to-canonicalize_file_nam.patch

--
2.13.1

Patch

diff --git a/package/libmbim/0001-mbim-device-prefer-realpath-to-canonicalize_file_nam.patch b/package/libmbim/0001-mbim-device-prefer-realpath-to-canonicalize_file_nam.patch
new file mode 100644
index 000000000..ff178dd61
--- /dev/null
+++ b/package/libmbim/0001-mbim-device-prefer-realpath-to-canonicalize_file_nam.patch
@@ -0,0 +1,37 @@ 
+From 6b043b9b676e88a80e3d4013863c5e970fdde1df Mon Sep 17 00:00:00 2001
+From: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon, 11 Sep 2017 09:31:03 +0200
+Subject: [PATCH] mbim-device: prefer realpath() to canonicalize_file_name()
+
+Usually the canonicalize_file_name() GNU extension is preferred to the
+POSIX realpath(), as it covers some of the limitations the latter has.
+But this extension isn't available in lots of platforms or in other
+c library implementations (e.g. musl), so just default to the POSIX
+method to improve portability.
+
+Note that the check for canonicalize_file_name() availability during
+configure isn't as trivial as adding a new AC_CHECK_FUNCS(), and
+importing a gnulib module seems overkill just for this one liner.
+
+(cherry picked from commit 417b0b80023dc30d61c111ec0a54da2884d3a541)
+Signed-off-by: Aleksander Morgado <aleksander@aleksander.es>
+---
+ src/libmbim-glib/mbim-device.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/libmbim-glib/mbim-device.c b/src/libmbim-glib/mbim-device.c
+index e1f32a6..20e64af 100644
+--- a/src/libmbim-glib/mbim-device.c
++++ b/src/libmbim-glib/mbim-device.c
+@@ -867,7 +867,7 @@ get_descriptors_filepath (MbimDevice *self)
+          *    /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5/2-1.5:2.0
+          */
+         tmp = g_strdup_printf ("/sys/class/%s/%s/device", subsystems[i], device_basename);
+-        path = canonicalize_file_name (tmp);
++        path = realpath (tmp, NULL);
+         g_free (tmp);
+
+         if (g_file_test (path, G_FILE_TEST_EXISTS)) {
+--
+2.13.1
+