diff options
| author | Khem Raj <raj.khem@gmail.com> | 2012-06-04 15:09:10 -0700 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-06-18 17:32:30 +0100 |
| commit | 83b53d32eb57c644d5a03a4b278d717a81ca7375 (patch) | |
| tree | 0e8ee7eb7dd6b0e37fe2a7dc8ff932fdadbb7e29 /meta/recipes-extended | |
| parent | de8b25deb349e55167deb9d1a0048681d6ed0612 (diff) | |
| download | poky-83b53d32eb57c644d5a03a4b278d717a81ca7375.tar.gz | |
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.
(From OE-Core rev: c9c74b1316aa671e7106962c9dae5b6046cd9946)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-extended')
| -rw-r--r-- | meta/recipes-extended/libzypp/libzypp/cstdio.patch | 49 | ||||
| -rw-r--r-- | meta/recipes-extended/libzypp/libzypp_git.bb | 10 |
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 @@ | |||
| 1 | include cstdio to get definitions of ::xxx functions which | ||
| 2 | are now reported by gcc-4.7 as wanrings and warnings are treated | ||
| 3 | as errors | ||
| 4 | |||
| 5 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 6 | Upstream-Status: Pending | ||
| 7 | |||
| 8 | Index: git/zypp/ExternalProgram.cc | ||
| 9 | =================================================================== | ||
| 10 | --- git.orig/zypp/ExternalProgram.cc 2012-06-01 16:25:17.098304709 -0700 | ||
| 11 | +++ git/zypp/ExternalProgram.cc 2012-06-01 16:25:37.254305681 -0700 | ||
| 12 | @@ -22,6 +22,7 @@ | ||
| 13 | #include <cstring> // strsignal | ||
| 14 | #include <iostream> | ||
| 15 | #include <sstream> | ||
| 16 | +#include <cstdio> | ||
| 17 | |||
| 18 | #include "zypp/base/Logger.h" | ||
| 19 | #include "zypp/base/String.h" | ||
| 20 | Index: git/zypp/PluginScript.cc | ||
| 21 | =================================================================== | ||
| 22 | --- git.orig/zypp/PluginScript.cc 2012-06-01 16:21:37.814294089 -0700 | ||
| 23 | +++ git/zypp/PluginScript.cc 2012-06-01 16:24:41.002302961 -0700 | ||
| 24 | @@ -14,6 +14,7 @@ | ||
| 25 | |||
| 26 | #include <iostream> | ||
| 27 | #include <sstream> | ||
| 28 | +#include <cstdio> | ||
| 29 | |||
| 30 | #include "zypp/base/LogTools.h" | ||
| 31 | #include "zypp/base/DefaultIntegral.h" | ||
| 32 | @@ -336,7 +337,7 @@ | ||
| 33 | if ( fd == -1 ) | ||
| 34 | ZYPP_THROW( PluginScriptException( "Bad file descriptor" ) ); | ||
| 35 | |||
| 36 | - ::clearerr( filep ); | ||
| 37 | + std::clearerr( filep ); | ||
| 38 | std::string data; | ||
| 39 | { | ||
| 40 | PluginDebugBuffer _debug( data ); // dump receive buffer if PLUGIN_DEBUG | ||
| 41 | @@ -370,7 +371,7 @@ | ||
| 42 | int retval = select( fd+1, &rfds, NULL, NULL, &tv ); | ||
| 43 | if ( retval > 0 ) // FD_ISSET( fd, &rfds ) will be true. | ||
| 44 | { | ||
| 45 | - ::clearerr( filep ); | ||
| 46 | + std::clearerr( filep ); | ||
| 47 | } | ||
| 48 | else if ( retval == 0 ) | ||
| 49 | { | ||
diff --git a/meta/recipes-extended/libzypp/libzypp_git.bb b/meta/recipes-extended/libzypp/libzypp_git.bb index 9375640a14..3a323e7e15 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" | |||
| 11 | S = "${WORKDIR}/git" | 11 | S = "${WORKDIR}/git" |
| 12 | SRCREV = "15b6c52260bbc52b3d8e585e271b67e10cc7c433" | 12 | SRCREV = "15b6c52260bbc52b3d8e585e271b67e10cc7c433" |
| 13 | PV = "0.0-git${SRCPV}" | 13 | PV = "0.0-git${SRCPV}" |
| 14 | PR = "r22" | 14 | PR = "r23" |
| 15 | 15 | ||
| 16 | SRC_URI = "git://github.com/openSUSE/libzypp.git;protocol=git \ | 16 | SRC_URI = "git://github.com/openSUSE/libzypp.git;protocol=git \ |
| 17 | file://no-doc.patch \ | 17 | file://no-doc.patch \ |
| @@ -24,6 +24,7 @@ SRC_URI = "git://github.com/openSUSE/libzypp.git;protocol=git \ | |||
| 24 | file://hardcode-lib-fix.patch \ | 24 | file://hardcode-lib-fix.patch \ |
| 25 | file://close.patch \ | 25 | file://close.patch \ |
| 26 | file://libzypp-rpm549.patch \ | 26 | file://libzypp-rpm549.patch \ |
| 27 | file://cstdio.patch \ | ||
| 27 | " | 28 | " |
| 28 | 29 | ||
| 29 | SRC_URI_append_mips = " file://mips-workaround-gcc-tribool-error.patch" | 30 | 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" | |||
| 32 | SRC_URI_append_arm = " file://arm-workaround-global-constructor.patch" | 33 | SRC_URI_append_arm = " file://arm-workaround-global-constructor.patch" |
| 33 | 34 | ||
| 34 | # rpmdb2solv from sat-solver is run from libzypp | 35 | # rpmdb2solv from sat-solver is run from libzypp |
| 35 | RDEPENDS_${PN} = "sat-solver rpm-libs gzip gnupg" | 36 | RDEPENDS_${PN} = "sat-solver rpm-libs gzip ${RDEPGNUPG}" |
| 37 | |||
| 38 | RDEPGNUPG = "gnupg" | ||
| 39 | RDEPGNUPG_libc-uclibc = "" | ||
| 36 | 40 | ||
| 37 | PACKAGES =+ "${PN}-pkgmgt" | 41 | PACKAGES =+ "${PN}-pkgmgt" |
| 38 | 42 | ||
| @@ -47,6 +51,8 @@ FILES_${PN}-pkgmgt = "${bindir}/package-manager \ | |||
| 47 | EXTRA_OECMAKE += " -DLIB=${@os.path.basename('${libdir}')}" | 51 | EXTRA_OECMAKE += " -DLIB=${@os.path.basename('${libdir}')}" |
| 48 | OECMAKE_CXX_LINK_FLAGS_libc-uclibc += "-pthread" | 52 | OECMAKE_CXX_LINK_FLAGS_libc-uclibc += "-pthread" |
| 49 | 53 | ||
| 54 | LDFLAGS += "-lpthread" | ||
| 55 | |||
| 50 | PACKAGE_ARCH = "${MACHINE_ARCH}" | 56 | PACKAGE_ARCH = "${MACHINE_ARCH}" |
| 51 | 57 | ||
| 52 | AVOID_CONSTRUCTOR = "" | 58 | AVOID_CONSTRUCTOR = "" |
