1
0
mirror of https://git.yoctoproject.org/poky synced 2026-05-09 05:29:32 +00:00

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

(From OE-Core rev: e0800be814c8f8adf8d6682aacea1d3ce9b14c9e)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Khem Raj
2012-06-04 15:06:52 -07:00
committed by Richard Purdie
parent bdc73dfc11
commit fd3e09c023
2 changed files with 35 additions and 0 deletions
@@ -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;
}
@@ -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"