[OE-core] [PATCH 5/9] sat-solver: Fix build on uclibc

Richard Purdie richard.purdie at linuxfoundation.org
Fri Jun 15 12:55:54 UTC 2012


On Thu, 2012-06-14 at 23:12 -0700, Khem Raj wrote:
> futimes is not available on uclibc so use utimes
> qsort is also not as expected by sat-solver therefore
> for uclibc we resort to using internal version of
> qsort
> 
> Signed-off-by: Khem Raj <raj.khem at gmail.com>
> ---
>  .../sat-solver/sat-solver/futimes.patch            |   32 ++++++++++++++++++++
>  meta/recipes-extended/sat-solver/sat-solver_git.bb |    3 ++
>  2 files changed, 35 insertions(+), 0 deletions(-)
>  create mode 100644 meta/recipes-extended/sat-solver/sat-solver/futimes.patch
> 
> diff --git a/meta/recipes-extended/sat-solver/sat-solver/futimes.patch b/meta/recipes-extended/sat-solver/sat-solver/futimes.patch
> new file mode 100644
> index 0000000..b24d852
> --- /dev/null
> +++ b/meta/recipes-extended/sat-solver/sat-solver/futimes.patch
> @@ -0,0 +1,32 @@
> +This patch uses utimes instead of futimes for uclibc
> +since futimes is not available
> +
> +Upstream-Status: Pending
> +Signed-off-by: Khem Raj <raj.khem at gmail.com>
> +
> +Index: git/examples/solv.c
> +===================================================================
> +--- git.orig/examples/solv.c	2012-06-01 12:06:22.041552848 -0700
> ++++ git/examples/solv.c	2012-06-01 12:49:17.417677449 -0700
> +@@ -1027,7 +1027,8 @@
> +   int flags;
> + 
> +   cinfo = repo->appdata;
> +-  if (!(fp = fopen(calccachepath(repo, repoext), "r")))
> ++  const char* fname = calccachepath(repo, repoext);
> ++  if (!(fp = fopen(fname, "r")))
> +     return 0;
> +   if (fseek(fp, -sizeof(mycookie), SEEK_END) || fread(mycookie, sizeof(mycookie), 1, fp) != 1)
> +     {
> +@@ -1068,7 +1069,11 @@
> +       memcpy(cinfo->extcookie, myextcookie, sizeof(myextcookie));
> +     }
> +   if (mark)
> ++#ifdef __UCLIBC__
> ++    utimes(fname, 0);	/* try to set modification time */
> ++#else
> +     futimes(fileno(fp), 0);	/* try to set modification time */
> ++#endif
> +   fclose(fp);
> +   return 1;
> + }
> diff --git a/meta/recipes-extended/sat-solver/sat-solver_git.bb b/meta/recipes-extended/sat-solver/sat-solver_git.bb
> index b0382f6..b0daa6a 100644
> --- a/meta/recipes-extended/sat-solver/sat-solver_git.bb
> +++ b/meta/recipes-extended/sat-solver/sat-solver_git.bb
> @@ -20,6 +20,7 @@ SRC_URI = "git://github.com/openSUSE/sat-solver.git;protocol=git \
>             file://sat-solver_core.patch \
>             file://fix_gcc-4.6.0_compile_issue.patch \
>             file://0001-sat_xfopen.c-Forward-port-to-zlib-1.2.6-gzFile.patch \
> +           file://futimes.patch \
>            "
>  
>  S = "${WORKDIR}/git"
> @@ -28,6 +29,8 @@ EXTRA_OECMAKE += "-DRPM5=RPM5 -DOE_CORE=OE_CORE"
>  
>  EXTRA_OECMAKE += " -DLIB=${@os.path.basename('${libdir}')}"
>  
> +TUNE_CCARGS_libc-uclibc_append = " -DUSE_OWN_QSORT=1 "
> +

I suspect you mean TUNE_CCARGS_append_libc-uclibc here?

Cheers,

Richard





More information about the Openembedded-core mailing list