From c78b65c4f161ec101ff02880788ef22eb7c87d76 Mon Sep 17 00:00:00 2001 From: Matt Weber Date: Mon, 1 May 2017 20:29:06 -0500 Subject: [PATCH] libqmi: musl compat canonicalize_file_name Adds an inline equivalent of canonicalize_file_name using realpath(). Bug report (origin of this patch): https://bugs.freedesktop.org/show_bug.cgi?id=99944 Resolves: http://autobuild.buildroot.net/results/afa/afa4b97e012586585b11be1e70ed3c63a7c48a4d/ CCLD test-generated CCLD test-utils CCLD test-message ../../../src/libqmi-glib/.libs/libqmi-glib.so: undefined reference to `canonicalize_file_name' collect2: error: ld returned 1 exit status Makefile:440: recipe for target 'test-generated' failed Signed-off-by: Matthew Weber Signed-off-by: Thomas Petazzoni --- ...1-musl-compat-canonicalize_file_name.patch | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 package/libqmi/0001-musl-compat-canonicalize_file_name.patch diff --git a/package/libqmi/0001-musl-compat-canonicalize_file_name.patch b/package/libqmi/0001-musl-compat-canonicalize_file_name.patch new file mode 100644 index 0000000000..5656d55fc1 --- /dev/null +++ b/package/libqmi/0001-musl-compat-canonicalize_file_name.patch @@ -0,0 +1,48 @@ +From 2f44edc9fbcbf2202174aec723e8a8d191c13d2f Mon Sep 17 00:00:00 2001 +From: Matt Weber +Date: Mon, 1 May 2017 19:55:07 -0500 +Subject: [PATCH] musl compat canonicalize_file_name() + +Adds an inline equivalent of canonicalize_file_name +using realpath(). + +Bug report (origin of this patch): +https://bugs.freedesktop.org/show_bug.cgi?id=99944 + +Signed-off-by: Matthew Weber +--- + src/libqmi-glib/qmi-utils.h | 18 ++++++++++++++++++ + 1 file changed, 18 insertions(+) + +diff --git a/src/libqmi-glib/qmi-utils.h b/src/libqmi-glib/qmi-utils.h +index 4fd5199..4869da5 100644 +--- a/src/libqmi-glib/qmi-utils.h ++++ b/src/libqmi-glib/qmi-utils.h +@@ -29,6 +29,24 @@ + #error "Only can be included directly." + #endif + ++#ifndef HAVE_CANONICALIZE_FILE_NAME ++#include ++#include ++#include ++#include ++static char * canonicalize_file_name(const char *path) ++{ ++ char buf[PATH_MAX] = { }; ++ ++ snprintf(buf, sizeof(buf) - 1, "%s", path); ++ ++ if (!realpath(path, buf)) ++ return NULL; ++ ++ return strdup(buf); ++} ++#endif ++ + #include + + G_BEGIN_DECLS +-- +1.9.1 + -- 2.30.2