summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2012-06-04 15:06:52 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-06-15 15:54:18 +0100
commite0800be814c8f8adf8d6682aacea1d3ce9b14c9e (patch)
treed37ed4752f9866758cddee62f468c5a04a6bf4d7
parent492297fce0b80547d3dac9f611f463c6cc95160b (diff)
downloadopenembedded-core-e0800be814c8f8adf8d6682aacea1d3ce9b14c9e.tar.gz
openembedded-core-e0800be814c8f8adf8d6682aacea1d3ce9b14c9e.tar.bz2
openembedded-core-e0800be814c8f8adf8d6682aacea1d3ce9b14c9e.zip
sat-solver: Fix build on uclibc
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@gmail.com>
-rw-r--r--meta/recipes-extended/sat-solver/sat-solver/futimes.patch32
-rw-r--r--meta/recipes-extended/sat-solver/sat-solver_git.bb3
2 files changed, 35 insertions, 0 deletions
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 0000000000..b24d852ae7
--- /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@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 b0382f6af0..e1054e9e22 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_append_libc-uclibc = " -DUSE_OWN_QSORT=1 "
+
inherit cmake pkgconfig
RDEPENDS_${PN} = "rpm-libs"