diff options
| author | Khem Raj <raj.khem@gmail.com> | 2018-06-14 20:31:06 -0700 |
|---|---|---|
| committer | Khem Raj <raj.khem@gmail.com> | 2018-06-16 08:51:38 -0700 |
| commit | 1d6ea95918d63e80851801fc0d12805eebd5788a (patch) | |
| tree | 322773869c0d4700f19dee44ccdfdfe45e481313 | |
| parent | c8f3816f826b305a7d1ec669c0ee9fdbbd945775 (diff) | |
| download | meta-openembedded-1d6ea95918d63e80851801fc0d12805eebd5788a.tar.gz | |
modemmanager: Fix build with musl provide canonicalize_file_name()
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Acked-by: Andreas Müller <schnitzeltony@gmail.com>
2 files changed, 69 insertions, 1 deletions
diff --git a/meta-oe/recipes-connectivity/modemmanager/modemmanager/0001-Add-configure-check-for-canonicalize_file_name-befor.patch b/meta-oe/recipes-connectivity/modemmanager/modemmanager/0001-Add-configure-check-for-canonicalize_file_name-befor.patch new file mode 100644 index 0000000000..f3cf3d639b --- /dev/null +++ b/meta-oe/recipes-connectivity/modemmanager/modemmanager/0001-Add-configure-check-for-canonicalize_file_name-befor.patch | |||
| @@ -0,0 +1,66 @@ | |||
| 1 | From 07f1eda630517816bfa900e811963745a149e57c Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Fri, 8 Jun 2018 20:38:30 -0700 | ||
| 4 | Subject: [PATCH] Add configure check for canonicalize_file_name() before use | ||
| 5 | |||
| 6 | Define canonicalize_file_name API if not provided by system C library | ||
| 7 | musl e.g. does not provide this API | ||
| 8 | |||
| 9 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 10 | --- | ||
| 11 | Upstream-Status: Pending | ||
| 12 | |||
| 13 | configure.ac | 2 ++ | ||
| 14 | src/kerneldevice/mm-kernel-device-generic.c | 18 ++++++++++++++++++ | ||
| 15 | 2 files changed, 20 insertions(+) | ||
| 16 | |||
| 17 | Index: ModemManager-1.7.991/configure.ac | ||
| 18 | =================================================================== | ||
| 19 | --- ModemManager-1.7.991.orig/configure.ac | ||
| 20 | +++ ModemManager-1.7.991/configure.ac | ||
| 21 | @@ -72,6 +72,8 @@ AC_SUBST(MM_GLIB_LT_CURRENT) | ||
| 22 | AC_SUBST(MM_GLIB_LT_REVISION) | ||
| 23 | AC_SUBST(MM_GLIB_LT_AGE) | ||
| 24 | |||
| 25 | +AC_CHECK_FUNCS([canonicalize_file_name]) | ||
| 26 | + | ||
| 27 | dnl----------------------------------------------------------------------------- | ||
| 28 | dnl Documentation | ||
| 29 | dnl | ||
| 30 | Index: ModemManager-1.7.991/src/kerneldevice/mm-kernel-device-generic.c | ||
| 31 | =================================================================== | ||
| 32 | --- ModemManager-1.7.991.orig/src/kerneldevice/mm-kernel-device-generic.c | ||
| 33 | +++ ModemManager-1.7.991/src/kerneldevice/mm-kernel-device-generic.c | ||
| 34 | @@ -21,6 +21,7 @@ | ||
| 35 | #define _LIBMM_INSIDE_MM | ||
| 36 | #include <libmm-glib.h> | ||
| 37 | |||
| 38 | +#include "config.h" | ||
| 39 | #include "mm-kernel-device-generic.h" | ||
| 40 | #include "mm-kernel-device-generic-rules.h" | ||
| 41 | #include "mm-log.h" | ||
| 42 | @@ -100,6 +101,24 @@ read_sysfs_property_as_string (const gch | ||
| 43 | return contents; | ||
| 44 | } | ||
| 45 | |||
| 46 | +#ifndef HAVE_CANONICALIZE_FILE_NAME | ||
| 47 | +#include <limits.h> | ||
| 48 | +#include <string.h> | ||
| 49 | +#include <stdlib.h> | ||
| 50 | +#include <stdio.h> | ||
| 51 | +static char * canonicalize_file_name(const char *path) | ||
| 52 | +{ | ||
| 53 | + char buf[PATH_MAX] = { }; | ||
| 54 | + | ||
| 55 | + snprintf(buf, sizeof(buf) - 1, "%s", path); | ||
| 56 | + | ||
| 57 | + if (!realpath(path, buf)) | ||
| 58 | + return NULL; | ||
| 59 | + | ||
| 60 | + return strdup(buf); | ||
| 61 | +} | ||
| 62 | +#endif | ||
| 63 | + | ||
| 64 | /*****************************************************************************/ | ||
| 65 | /* Load contents */ | ||
| 66 | |||
diff --git a/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.7.991.bb b/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.7.991.bb index b1a718dbfb..26b56d17d0 100644 --- a/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.7.991.bb +++ b/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.7.991.bb | |||
| @@ -11,7 +11,9 @@ inherit gnomebase gettext systemd vala gobject-introspection bash-completion | |||
| 11 | 11 | ||
| 12 | DEPENDS = "glib-2.0 libgudev dbus-glib intltool-native" | 12 | DEPENDS = "glib-2.0 libgudev dbus-glib intltool-native" |
| 13 | 13 | ||
| 14 | SRC_URI = "http://www.freedesktop.org/software/ModemManager/ModemManager-${PV}.tar.xz" | 14 | SRC_URI = "http://www.freedesktop.org/software/ModemManager/ModemManager-${PV}.tar.xz \ |
| 15 | file://0001-Add-configure-check-for-canonicalize_file_name-befor.patch \ | ||
| 16 | " | ||
| 15 | 17 | ||
| 16 | SRC_URI[md5sum] = "4efe6a240cef212bf8855c95424e7c7f" | 18 | SRC_URI[md5sum] = "4efe6a240cef212bf8855c95424e7c7f" |
| 17 | SRC_URI[sha256sum] = "4e366243bd4983f2e6efe35cb901cf5da51939307b5d6299fe622a9fcf411745" | 19 | SRC_URI[sha256sum] = "4e366243bd4983f2e6efe35cb901cf5da51939307b5d6299fe622a9fcf411745" |
