From 4a93b8f72be21a91345285d6c10515184a3f3fe5 Mon Sep 17 00:00:00 2001 From: Peter Korsgaard Date: Tue, 25 Mar 2014 23:51:54 +0100 Subject: [PATCH] libubox: correct json-c handling Fixes http://autobuild.buildroot.net/results/5a8/5a85e0e132f38a4a1a42c2b041f66003b64e748a/ (and a bunch of similar failures) libubox has optional json-c handling, including the legacy version which used libjson.so. Unfortunately this support is buggy, so we end up with the wrong compiler flags, and more importantly it gets confused if libjson is enabled, as that also provides a (incompatible) libjson.so. Fix it by disabling the legacy handling. Signed-off-by: Peter Korsgaard --- .../libubox-01-drop-legacy-json-c.patch | 34 +++++++++++++++++++ package/libubox/libubox.mk | 1 + 2 files changed, 35 insertions(+) create mode 100644 package/libubox/libubox-01-drop-legacy-json-c.patch diff --git a/package/libubox/libubox-01-drop-legacy-json-c.patch b/package/libubox/libubox-01-drop-legacy-json-c.patch new file mode 100644 index 0000000000..84bd99a6e2 --- /dev/null +++ b/package/libubox/libubox-01-drop-legacy-json-c.patch @@ -0,0 +1,34 @@ +[PATCH] libubox: drop legacy json-c support + +The cmake logic is wrong (E.G. PKG_CHECK_FOR_MODULES fails unless all +modules are found), and the legacy libjson.so name is also used by the other +libjson (http://sourceforge.net/projects/libjson/) which provides an +incompatible API, so just drop it. + +Signed-off-by: Peter Korsgaard +--- + CMakeLists.txt | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +Index: libubox-bbd846ec2d72b2629758b69dc122ac0b0f2c3e4b/CMakeLists.txt +=================================================================== +--- libubox-bbd846ec2d72b2629758b69dc122ac0b0f2c3e4b.orig/CMakeLists.txt ++++ libubox-bbd846ec2d72b2629758b69dc122ac0b0f2c3e4b/CMakeLists.txt +@@ -13,7 +13,7 @@ + ENDIF() + + INCLUDE(FindPkgConfig) +-PKG_CHECK_MODULES(JSONC json-c json) ++PKG_CHECK_MODULES(JSONC json-c) + IF(JSONC_FOUND) + ADD_DEFINITIONS(-DJSONC) + INCLUDE_DIRECTORIES(${JSONC_INCLUDE_DIRS}) +@@ -42,7 +42,7 @@ + + ADD_SUBDIRECTORY(lua) + +-find_library(json NAMES json-c json) ++find_library(json NAMES json-c) + IF(EXISTS ${json}) + ADD_LIBRARY(blobmsg_json SHARED blobmsg_json.c) + TARGET_LINK_LIBRARIES(blobmsg_json ubox ${json}) diff --git a/package/libubox/libubox.mk b/package/libubox/libubox.mk index 0743acca1e..28d5c636a7 100644 --- a/package/libubox/libubox.mk +++ b/package/libubox/libubox.mk @@ -8,6 +8,7 @@ LIBUBOX_VERSION = bbd846ec2d72b2629758b69dc122ac0b0f2c3e4b LIBUBOX_SITE = git://nbd.name/luci2/libubox.git LIBUBOX_LICENSE = LGPLv2.1, GPLv2, BSD-3c, MIT LIBUBOX_INSTALL_STAGING = YES +LIBUBOX_DEPENDENCIES = host-pkgconf $(if $(BR2_PACKAGE_JSON_C),json-c) ifeq ($(BR2_PACKAGE_LUA),y) LIBUBOX_DEPENDENCIES += lua