Message ID | 1413382225-31276-1-git-send-email-swexru@gmail.com |
---|---|
State | Changes Requested |
Headers | show |
Alexey, All, On 2014-10-15 18:10 +0400, Alexey Mednyy spake thusly: > Signed-off-by: Alexey Mednyy <swexru@gmail.com> > --- > package/Config.in | 1 + > ...c-dependency-Werror-off-build-examples-of.patch | 49 ++++++++++++++++++++++ > package/ubus/Config.in | 14 +++++++ > package/ubus/ubus-01-json-definition-fix.patch | 27 ++++++++++++ > package/ubus/ubus.mk | 28 +++++++++++++ > 5 files changed, 119 insertions(+) > create mode 100644 package/ubus/0001-fixed-json-c-dependency-Werror-off-build-examples-of.patch > create mode 100644 package/ubus/Config.in > create mode 100644 package/ubus/ubus-01-json-definition-fix.patch > create mode 100644 package/ubus/ubus.mk Please, be consistent in the naming of the patches. The correct naming is: NNNN-title.patch So, your 0001 patch is correctly named, but your ubus-01 should be something like: 0002-fix-json-definition.patch Anyway, those two patches are incorrect (IMHO). I'd prefer you split them in semantically separated patches: - one to remove Werror - one to disable examples - one to fix cjson dependency - one to fix json definition Maybe patches 3 and 4 could be squashed into a single patch, since they both deal with some json stuff (but one is about 'cjson', the other about just 'json', so I don't know; exercise your neurons! ;-) ) [--SNIP--] > diff --git a/package/ubus/Config.in b/package/ubus/Config.in > new file mode 100644 > index 0000000..b0f5de9 > --- /dev/null > +++ b/package/ubus/Config.in > @@ -0,0 +1,14 @@ > +config BR2_PACKAGE_UBUS > + bool "ubus" > + select BR2_PACKAGE_LIBUBOX > + select BR2_PACKAGE_JSON_C > + depends on !BR2_PREFER_STATIC_LIB Unless ubus itself requires shared libraries, I'd state that the dependencies is inherited from libubox: depends on !BR2_PREFER_STATIC_LIB # libubox > diff --git a/package/ubus/ubus.mk b/package/ubus/ubus.mk > new file mode 100644 > index 0000000..7728a0c > --- /dev/null > +++ b/package/ubus/ubus.mk > @@ -0,0 +1,28 @@ > +################################################################################ > +# > +# UBUS > +# > +################################################################################ > + > +UBUS_VERSION = 4c4f35cf2230d70b9ddd87638ca911e8a563f2f3 > +UBUS_SITE = git://nbd.name/luci2/ubus.git We prefer http URLs, because the git protocol is often blocked by enterprise firewalls. Unfortunately, it looks like there is no http access to that repository. Sigh... :-( > +UBUS_LICENSE = LGPLv2.1 Indeed, that's LGPLv2.1, there is no 'or later'. Also, there is no license file. Regards, Yann E. MORIN.
Dear Alexey Mednyy, On Wed, 15 Oct 2014 18:10:25 +0400, Alexey Mednyy wrote: > ...c-dependency-Werror-off-build-examples-of.patch | 49 ++++++++++++++++++++++ > package/ubus/Config.in | 14 +++++++ > package/ubus/ubus-01-json-definition-fix.patch | 27 ++++++++++++ Your package does not build, as the two patches you've put in package/ubus/ conflict with each other: >>> ubus 4c4f35cf2230d70b9ddd87638ca911e8a563f2f3 Patching Applying 0001-fixed-json-c-dependency-Werror-off-build-examples-of.patch using patch: patching file CMakeLists.txt Applying ubus-01-json-definition-fix.patch using patch: patching file CMakeLists.txt Hunk #1 FAILED at 25. 1 out of 1 hunk FAILED -- saving rejects to file CMakeLists.txt.rej Patch failed! Please fix ubus-01-json-definition-fix.patch! make: *** [/home/thomas/projets/buildroot/output/build/ubus-4c4f35cf2230d70b9ddd87638ca911e8a563f2f3/.stamp_patched] Erreur 1 The two patches aren't identical, and I don't know which one to choose. > diff --git a/package/ubus/0001-fixed-json-c-dependency-Werror-off-build-examples-of.patch b/package/ubus/0001-fixed-json-c-dependency-Werror-off-build-examples-of.patch > new file mode 100644 > index 0000000..9c46a63 > --- /dev/null > +++ b/package/ubus/0001-fixed-json-c-dependency-Werror-off-build-examples-of.patch > @@ -0,0 +1,49 @@ > +From ea67d1fc6621abee5451e343e2d1a2303b4176f9 Mon Sep 17 00:00:00 2001 > +From: Alexey Mednyy <swexru@gmail.com> > +Date: Wed, 15 Oct 2014 03:58:17 +0400 > +Subject: [PATCH 1/1] fixed json-c dependency, Werror-off, build examples-off > + > +Signed-off-by: Alexey Mednyy <swexru@gmail.com> > +--- > + CMakeLists.txt | 14 ++++++++++---- > + 1 file changed, 10 insertions(+), 4 deletions(-) > + > +diff --git a/CMakeLists.txt b/CMakeLists.txt > +index cb2f420..bd47c37 100644 > +--- a/CMakeLists.txt > ++++ b/CMakeLists.txt > +@@ -1,10 +1,10 @@ > + cmake_minimum_required(VERSION 2.6) > + > + PROJECT(ubus C) > +-ADD_DEFINITIONS(-Os -Wall -Werror --std=gnu99 -g3 -Wmissing-declarations) > ++ADD_DEFINITIONS(-Os -Wall --std=gnu99 -g3 -Wmissing-declarations) > + > + OPTION(BUILD_LUA "build Lua plugin" ON) > +-OPTION(BUILD_EXAMPLES "build examples" ON) > ++OPTION(BUILD_EXAMPLES "build examples" OFF) This part is not needed, as the cmake-package infrastructure now passes -DBUILD_EXAMPLES=OFF (this is a recent change). > diff --git a/package/ubus/ubus.mk b/package/ubus/ubus.mk > new file mode 100644 > index 0000000..7728a0c > --- /dev/null > +++ b/package/ubus/ubus.mk > @@ -0,0 +1,28 @@ > +################################################################################ > +# > +# UBUS ubus, in small letters. > +# > +################################################################################ > + > +UBUS_VERSION = 4c4f35cf2230d70b9ddd87638ca911e8a563f2f3 > +UBUS_SITE = git://nbd.name/luci2/ubus.git > +UBUS_LICENSE = LGPLv2.1 > +UBUS_DEPENDENCIES = json-c libubox > + > +ifeq ($(BR2_PACKAGE_LUA_5_1),y) > +UBUS_DEPENDENCIES += lua > +UBUS_CONF_OPTS += -DLUAPATH=$(STAGING_DIR)/usr/lib/lua/5.1 \ > + -DLUA_CFLAGS=-I$(STAGING_DIR)/usr/include \ > + -DBUILD_LUA=ON > +else > +UBUS_CONF_OPTS += -DBUILD_LUA=OFF > +endif > + > +ifeq ($(BR2_PACKAGE_SYSTEMD),y) > +UBUS_DEPENDENCIES += systemd > +UBUS_CONF_OPTS += -DENABLE_SYSTEMD=ON > +else > +UBUS_CONF_OPTS += -DENABLE_SYSTEMD=OFF > +endif > + > +$(eval $(cmake-package)) Other than that, looks good to me. Can you resubmit an updated version that takes into account those comments? In the mean time, I'll mark your patch as "Changes Requested" in our patch tracking system. Thanks! Thomas
diff --git a/package/Config.in b/package/Config.in index 19bb9bf..16d4901 100644 --- a/package/Config.in +++ b/package/Config.in @@ -896,6 +896,7 @@ menu "Other" source "package/startup-notification/Config.in" source "package/tz/Config.in" source "package/tzdata/Config.in" + source "package/ubus/Config.in" endmenu menu "Security" diff --git a/package/ubus/0001-fixed-json-c-dependency-Werror-off-build-examples-of.patch b/package/ubus/0001-fixed-json-c-dependency-Werror-off-build-examples-of.patch new file mode 100644 index 0000000..9c46a63 --- /dev/null +++ b/package/ubus/0001-fixed-json-c-dependency-Werror-off-build-examples-of.patch @@ -0,0 +1,49 @@ +From ea67d1fc6621abee5451e343e2d1a2303b4176f9 Mon Sep 17 00:00:00 2001 +From: Alexey Mednyy <swexru@gmail.com> +Date: Wed, 15 Oct 2014 03:58:17 +0400 +Subject: [PATCH 1/1] fixed json-c dependency, Werror-off, build examples-off + +Signed-off-by: Alexey Mednyy <swexru@gmail.com> +--- + CMakeLists.txt | 14 ++++++++++---- + 1 file changed, 10 insertions(+), 4 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index cb2f420..bd47c37 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,10 +1,10 @@ + cmake_minimum_required(VERSION 2.6) + + PROJECT(ubus C) +-ADD_DEFINITIONS(-Os -Wall -Werror --std=gnu99 -g3 -Wmissing-declarations) ++ADD_DEFINITIONS(-Os -Wall --std=gnu99 -g3 -Wmissing-declarations) + + OPTION(BUILD_LUA "build Lua plugin" ON) +-OPTION(BUILD_EXAMPLES "build examples" ON) ++OPTION(BUILD_EXAMPLES "build examples" OFF) + OPTION(ENABLE_SYSTEMD "systemd support" ON) + + SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "") +@@ -25,10 +25,16 @@ TARGET_LINK_LIBRARIES(ubus ubox) + ADD_EXECUTABLE(ubusd ubusd.c ubusd_id.c ubusd_obj.c ubusd_proto.c ubusd_event.c) + TARGET_LINK_LIBRARIES(ubusd ubox) + +-find_library(json NAMES json-c json) ++ ++find_package(PkgConfig REQUIRED) ++PKG_CHECK_MODULES(JSONC REQUIRED json-c) ++ADD_DEFINITIONS(-DJSONC) ++INCLUDE_DIRECTORIES(${JSONC_INCLUDE_DIRS}) ++ ++ + ADD_EXECUTABLE(cli cli.c) + SET_TARGET_PROPERTIES(cli PROPERTIES OUTPUT_NAME ubus) +-TARGET_LINK_LIBRARIES(cli ubus ubox blobmsg_json ${json}) ++TARGET_LINK_LIBRARIES(cli ubus ubox blobmsg_json ${JSONC_LIBRARIES}) + + ADD_SUBDIRECTORY(lua) + ADD_SUBDIRECTORY(examples) +-- +1.9.1 + diff --git a/package/ubus/Config.in b/package/ubus/Config.in new file mode 100644 index 0000000..b0f5de9 --- /dev/null +++ b/package/ubus/Config.in @@ -0,0 +1,14 @@ +config BR2_PACKAGE_UBUS + bool "ubus" + select BR2_PACKAGE_LIBUBOX + select BR2_PACKAGE_JSON_C + depends on !BR2_PREFER_STATIC_LIB + help + OpenWrt micro bus architecture, project + provide communication between various + daemons and applications. + + http://wiki.openwrt.org/doc/techref/ubus + +comment "ubus needs toolchain w/ dynamic library" + depends on BR2_PREFER_STATIC_LIB diff --git a/package/ubus/ubus-01-json-definition-fix.patch b/package/ubus/ubus-01-json-definition-fix.patch new file mode 100644 index 0000000..50f9096 --- /dev/null +++ b/package/ubus/ubus-01-json-definition-fix.patch @@ -0,0 +1,27 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index cb2f420..86c4c4d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -25,10 +25,20 @@ TARGET_LINK_LIBRARIES(ubus ubox) + ADD_EXECUTABLE(ubusd ubusd.c ubusd_id.c ubusd_obj.c ubusd_proto.c ubusd_event.c) + TARGET_LINK_LIBRARIES(ubusd ubox) + +-find_library(json NAMES json-c json) ++ ++find_package(PkgConfig) ++PKG_CHECK_MODULES(JSONC json-c) ++IF(JSONC_FOUND) ++ ADD_DEFINITIONS(-DJSONC) ++ INCLUDE_DIRECTORIES(${JSONC_INCLUDE_DIRS}) ++ENDIF() ++ + ADD_EXECUTABLE(cli cli.c) + SET_TARGET_PROPERTIES(cli PROPERTIES OUTPUT_NAME ubus) +-TARGET_LINK_LIBRARIES(cli ubus ubox blobmsg_json ${json}) ++TARGET_LINK_LIBRARIES(cli ubus ubox blobmsg_json) ++IF(JSONC_FOUND) ++ TARGET_LINK_LIBRARIES(cli ${JSONC_LIBRARIES}) ++ENDIF() + + ADD_SUBDIRECTORY(lua) + ADD_SUBDIRECTORY(examples) diff --git a/package/ubus/ubus.mk b/package/ubus/ubus.mk new file mode 100644 index 0000000..7728a0c --- /dev/null +++ b/package/ubus/ubus.mk @@ -0,0 +1,28 @@ +################################################################################ +# +# UBUS +# +################################################################################ + +UBUS_VERSION = 4c4f35cf2230d70b9ddd87638ca911e8a563f2f3 +UBUS_SITE = git://nbd.name/luci2/ubus.git +UBUS_LICENSE = LGPLv2.1 +UBUS_DEPENDENCIES = json-c libubox + +ifeq ($(BR2_PACKAGE_LUA_5_1),y) +UBUS_DEPENDENCIES += lua +UBUS_CONF_OPTS += -DLUAPATH=$(STAGING_DIR)/usr/lib/lua/5.1 \ + -DLUA_CFLAGS=-I$(STAGING_DIR)/usr/include \ + -DBUILD_LUA=ON +else +UBUS_CONF_OPTS += -DBUILD_LUA=OFF +endif + +ifeq ($(BR2_PACKAGE_SYSTEMD),y) +UBUS_DEPENDENCIES += systemd +UBUS_CONF_OPTS += -DENABLE_SYSTEMD=ON +else +UBUS_CONF_OPTS += -DENABLE_SYSTEMD=OFF +endif + +$(eval $(cmake-package))
Signed-off-by: Alexey Mednyy <swexru@gmail.com> --- package/Config.in | 1 + ...c-dependency-Werror-off-build-examples-of.patch | 49 ++++++++++++++++++++++ package/ubus/Config.in | 14 +++++++ package/ubus/ubus-01-json-definition-fix.patch | 27 ++++++++++++ package/ubus/ubus.mk | 28 +++++++++++++ 5 files changed, 119 insertions(+) create mode 100644 package/ubus/0001-fixed-json-c-dependency-Werror-off-build-examples-of.patch create mode 100644 package/ubus/Config.in create mode 100644 package/ubus/ubus-01-json-definition-fix.patch create mode 100644 package/ubus/ubus.mk