[Buildroot] [PATCH 1/1] libqmi: move canonicalize_file_name()
Vicente Olivert Riera
Vincent.Riera at imgtec.com
Mon May 15 09:59:59 UTC 2017
Hello Matt,
On 15/05/17 03:26, Matt Weber wrote:
> Previously was defined in qmi-util.h to fix musl
> compatibility. It was missed that this is a shared
> header which causes other dependent package builds
> to fail, so the static definition was moved into the
> implementation where it was used.
>
> Upstream bug report has been updated and this resolves
> the following autobuilder related failures.
>
> http://autobuild.buildroot.net/results/fe9b6b1b1399a4e8aafc6a326c81ec97c2480025
> http://autobuild.buildroot.net/results/40eef797b4d8d53fc6e10f2048316d63549caf6d
>
> test-pkg testing was performed against 10 random toolchains
>
> ++ Config snippet ++
> BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
> BR2_PACKAGE_MODEM_MANAGER_LIBQMI=y
> BR2_PACKAGE_MODEM_MANAGER=y
> BR2_PACKAGE_LIBQMI=y
>
> ++ Tested Toolchains ++ (Verified I hit all libc varients)
> br-arm-cortex-a9-musl
> br-arm-full-static
> br-m68k-68040-full (uclibc)
> br-mips32r6-el-hf-glibc
> br-mips64-n64-full
> br-mips64r6-el-hf-glibc
> br-mipsel-o32-full
> br-sparc64-glibc
> linaro-arm
> sourcery-arm
>
> Signed-off-by: Matthew Weber <matthew.weber at rockwellcollins.com>
Tested-by: Vicente Olivert Riera <Vincent.Riera at imgtec.com>
Tested with the following defconfig which was failing before this patch:
BR2_mipsel=y
BR2_mips_32r2=y
# BR2_MIPS_SOFT_FLOAT is not set
BR2_TOOLCHAIN_EXTERNAL=y
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
BR2_PACKAGE_MODEM_MANAGER=y
BR2_PACKAGE_MODEM_MANAGER_LIBQMI=y
# BR2_TARGET_ROOTFS_TAR is not set
Regards,
Vincent
> ---
> .../0001-musl-compat-canonicalize_file_name.patch | 37 +++++++++++-----------
> 1 file changed, 18 insertions(+), 19 deletions(-)
>
> diff --git a/package/libqmi/0001-musl-compat-canonicalize_file_name.patch b/package/libqmi/0001-musl-compat-canonicalize_file_name.patch
> index fd606d8..3ae1c2e 100644
> --- a/package/libqmi/0001-musl-compat-canonicalize_file_name.patch
> +++ b/package/libqmi/0001-musl-compat-canonicalize_file_name.patch
> @@ -1,22 +1,24 @@
> -From 85863c9e051fe59add4e47dbfcb37072234f0110 Mon Sep 17 00:00:00 2001
> +From 8f6181b6f8dd82aa1ab1288cc7f2fd05d4a2519f Mon Sep 17 00:00:00 2001
> From: Matt Weber <matthew.weber at rockwellcollins.com>
> Date: Mon, 1 May 2017 19:55:07 -0500
> Subject: [PATCH] musl compat canonicalize_file_name()
>
> -Adds an inline equivalent of canonicalize_file_name
> +Adds an equivalent of canonicalize_file_name
> using realpath().
>
> Bug report (origin of this patch):
> https://bugs.freedesktop.org/show_bug.cgi?id=99944
>
> +Bug report has been updated with suggestion to not use inline.
> +
> Signed-off-by: Matthew Weber <matthew.weber at rockwellcollins.com>
> ---
> configure.ac | 2 ++
> - src/libqmi-glib/qmi-utils.h | 18 ++++++++++++++++++
> - 2 files changed, 20 insertions(+)
> + src/libqmi-glib/qmi-utils.c | 15 +++++++++++++++
> + 2 files changed, 17 insertions(+)
>
> diff --git a/configure.ac b/configure.ac
> -index 162d5ae..9cb82fd 100644
> +index c56fa3e..d835db4 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -80,6 +80,8 @@ AC_SUBST(GLIB_LIBS)
> @@ -28,19 +30,16 @@ index 162d5ae..9cb82fd 100644
> dnl qmi-firmware-update is optional, enabled by default
> AC_ARG_ENABLE([firmware-update],
> AS_HELP_STRING([--enable-firmware-update],
> -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 <libqmi-glib.h> can be included directly."
> - #endif
> +diff --git a/src/libqmi-glib/qmi-utils.c b/src/libqmi-glib/qmi-utils.c
> +index 29e5f22..26aff9e 100644
> +--- a/src/libqmi-glib/qmi-utils.c
> ++++ b/src/libqmi-glib/qmi-utils.c
> +@@ -34,6 +34,21 @@
> + #include "qmi-utils.h"
> + #include "qmi-error-types.h"
>
> +#ifndef HAVE_CANONICALIZE_FILE_NAME
> +#include <limits.h>
> -+#include <string.h>
> -+#include <stdlib.h>
> -+#include <stdio.h>
> +static char * canonicalize_file_name(const char *path)
> +{
> + char buf[PATH_MAX] = { };
> @@ -54,9 +53,9 @@ index 4fd5199..4869da5 100644
> +}
> +#endif
> +
> - #include <glib.h>
> -
> - G_BEGIN_DECLS
> + /**
> + * SECTION:qmi-utils
> + * @title: Common utilities
> --
> -2.7.4
> +1.9.1
>
>
More information about the buildroot
mailing list