From ed40ac76b125b1c3b2e2f8522d283b073c23bd3b Mon Sep 17 00:00:00 2001 From: Baruch Siach 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 --- 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