summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2012-06-04 15:09:10 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-06-15 15:54:18 +0100
commitc9c74b1316aa671e7106962c9dae5b6046cd9946 (patch)
tree5ea2373728c8d6aed6dd9ba26c820113f5ad4d77
parente0800be814c8f8adf8d6682aacea1d3ce9b14c9e (diff)
downloadopenembedded-core-c9c74b1316aa671e7106962c9dae5b6046cd9946.tar.gz
openembedded-core-c9c74b1316aa671e7106962c9dae5b6046cd9946.tar.bz2
openembedded-core-c9c74b1316aa671e7106962c9dae5b6046cd9946.zip
libzypp: Fix build with uclibc
cstdio is included indrectly with eglibc based systems but not with uclibc based systems and use of functions like ::eof are then reported as warnings. Therefore we include cstdio explicitly. Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--meta/recipes-extended/libzypp/libzypp/cstdio.patch49
-rw-r--r--meta/recipes-extended/libzypp/libzypp_git.bb10
2 files changed, 57 insertions, 2 deletions
diff --git a/meta/recipes-extended/libzypp/libzypp/cstdio.patch b/meta/recipes-extended/libzypp/libzypp/cstdio.patch
new file mode 100644
index 0000000000..a021d589d3
--- /dev/null
+++ b/meta/recipes-extended/libzypp/libzypp/cstdio.patch
@@ -0,0 +1,49 @@
+include cstdio to get definitions of ::xxx functions which
+are now reported by gcc-4.7 as wanrings and warnings are treated
+as errors
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+
+Index: git/zypp/ExternalProgram.cc
+===================================================================
+--- git.orig/zypp/ExternalProgram.cc 2012-06-01 16:25:17.098304709 -0700
++++ git/zypp/ExternalProgram.cc 2012-06-01 16:25:37.254305681 -0700
+@@ -22,6 +22,7 @@
+ #include <cstring> // strsignal
+ #include <iostream>
+ #include <sstream>
++#include <cstdio>
+
+ #include "zypp/base/Logger.h"
+ #include "zypp/base/String.h"
+Index: git/zypp/PluginScript.cc
+===================================================================
+--- git.orig/zypp/PluginScript.cc 2012-06-01 16:21:37.814294089 -0700
++++ git/zypp/PluginScript.cc 2012-06-01 16:24:41.002302961 -0700
+@@ -14,6 +14,7 @@
+
+ #include <iostream>
+ #include <sstream>
++#include <cstdio>
+
+ #include "zypp/base/LogTools.h"
+ #include "zypp/base/DefaultIntegral.h"
+@@ -336,7 +337,7 @@
+ if ( fd == -1 )
+ ZYPP_THROW( PluginScriptException( "Bad file descriptor" ) );
+
+- ::clearerr( filep );
++ std::clearerr( filep );
+ std::string data;
+ {
+ PluginDebugBuffer _debug( data ); // dump receive buffer if PLUGIN_DEBUG
+@@ -370,7 +371,7 @@
+ int retval = select( fd+1, &rfds, NULL, NULL, &tv );
+ if ( retval > 0 ) // FD_ISSET( fd, &rfds ) will be true.
+ {
+- ::clearerr( filep );
++ std::clearerr( filep );
+ }
+ else if ( retval == 0 )
+ {
diff --git a/meta/recipes-extended/libzypp/libzypp_git.bb b/meta/recipes-extended/libzypp/libzypp_git.bb
index 90ee8c4a56..ca32e7304e 100644
--- a/meta/recipes-extended/libzypp/libzypp_git.bb
+++ b/meta/recipes-extended/libzypp/libzypp_git.bb
@@ -11,7 +11,7 @@ DEPENDS = "rpm boost curl libxml2 zlib sat-solver expat openssl udev libproxy"
S = "${WORKDIR}/git"
SRCREV = "15b6c52260bbc52b3d8e585e271b67e10cc7c433"
PV = "0.0-git${SRCPV}"
-PR = "r22"
+PR = "r23"
SRC_URI = "git://github.com/openSUSE/libzypp.git;protocol=git \
file://no-doc.patch \
@@ -24,6 +24,7 @@ SRC_URI = "git://github.com/openSUSE/libzypp.git;protocol=git \
file://hardcode-lib-fix.patch \
file://close.patch \
file://libzypp-rpm549.patch \
+ file://cstdio.patch \
"
SRC_URI_append_mips = " file://mips-workaround-gcc-tribool-error.patch"
@@ -32,7 +33,10 @@ SRC_URI_append_mips = " file://mips-workaround-gcc-tribool-error.patch"
SRC_URI_append_arm = " file://arm-workaround-global-constructor.patch"
# rpmdb2solv from sat-solver is run from libzypp
-RDEPENDS_${PN} = "sat-solver rpm-libs gzip gnupg"
+RDEPENDS_${PN} = "sat-solver rpm-libs gzip ${RDEPGNUPG}"
+
+RDEPGNUPG = "gnupg"
+RDEPGNUPG_libc-uclibc = ""
PACKAGES =+ "${PN}-pkgmgt"
@@ -46,6 +50,8 @@ FILES_${PN}-pkgmgt = "${bindir}/package-manager \
EXTRA_OECMAKE += " -DLIB=${@os.path.basename('${libdir}')}"
+LDFLAGS += "-lpthread"
+
PACKAGE_ARCH = "${MACHINE_ARCH}"
AVOID_CONSTRUCTOR = ""