From ed40ac76b125b1c3b2e2f8522d283b073c23bd3b Mon Sep 17 00:00:00 2001
From: Baruch Siach <baruch@tkos.co.il>
Date: Fri, 15 Jun 2018 06:25:46 +0300
Subject: [PATCH] kerneldevice: fix build with musl libc

musl libc does not implement the canonicalize_file_name() GNU extension.
Use the POSIX standard realpath() instead.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
---
Upstream status: sent to modemmanager-devel@lists.freedesktop.org

 src/kerneldevice/mm-kernel-device-generic.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/kerneldevice/mm-kernel-device-generic.c b/src/kerneldevice/mm-kernel-device-generic.c
index 6b0f072402ff..885bef171f5d 100644
--- a/src/kerneldevice/mm-kernel-device-generic.c
+++ b/src/kerneldevice/mm-kernel-device-generic.c
@@ -120,7 +120,7 @@ preload_sysfs_path (MMKernelDeviceGeneric *self)
                            mm_kernel_event_properties_get_subsystem (self->priv->properties),
                            mm_kernel_event_properties_get_name      (self->priv->properties));
 
-    self->priv->sysfs_path = canonicalize_file_name (tmp);
+    self->priv->sysfs_path = realpath (tmp, NULL);
     if (!self->priv->sysfs_path || !g_file_test (self->priv->sysfs_path, G_FILE_TEST_EXISTS)) {
         mm_warn ("Invalid sysfs path read for %s/%s",
                  mm_kernel_event_properties_get_subsystem (self->priv->properties),
@@ -163,7 +163,7 @@ preload_interface_sysfs_path (MMKernelDeviceGeneric *self)
      * The correct parent dir we want to have is the first one with "usb" subsystem.
      */
     aux = g_strdup_printf ("%s/device", self->priv->sysfs_path);
-    dirpath = canonicalize_file_name (aux);
+    dirpath = realpath (aux, NULL);
     g_free (aux);
 
     while (dirpath) {
@@ -179,7 +179,7 @@ preload_interface_sysfs_path (MMKernelDeviceGeneric *self)
             gchar *canonicalized_subsystem;
             gchar *subsystem_name;
 
-            canonicalized_subsystem = canonicalize_file_name (subsystem_filepath);
+            canonicalized_subsystem = realpath (subsystem_filepath, NULL);
             g_free (subsystem_filepath);
 
             subsystem_name = g_path_get_basename (canonicalized_subsystem);
@@ -239,7 +239,7 @@ preload_driver (MMKernelDeviceGeneric *self)
         gchar *tmp2;
 
         tmp = g_strdup_printf ("%s/driver", self->priv->interface_sysfs_path);
-        tmp2 = canonicalize_file_name (tmp);
+        tmp2 = realpath (tmp, NULL);
         if (tmp2 && g_file_test (tmp2, G_FILE_TEST_EXISTS))
             self->priv->driver = g_path_get_basename (tmp2);
         g_free (tmp2);
@@ -308,7 +308,7 @@ preload_physdev_subsystem (MMKernelDeviceGeneric *self)
         gchar *subsyspath;
 
         aux = g_strdup_printf ("%s/subsystem", self->priv->physdev_sysfs_path);
-        subsyspath = canonicalize_file_name (aux);
+        subsyspath = realpath (aux, NULL);
         self->priv->physdev_subsystem = g_path_get_dirname (subsyspath);
         g_free (subsyspath);
         g_free (aux);
-- 
2.17.1

