* [Buildroot] [PATCH 1/1 v4] ubus: new package
@ 2014-10-15 14:10 Alexey Mednyy
2014-10-19 10:18 ` Yann E. MORIN
2014-10-27 21:46 ` Thomas Petazzoni
0 siblings, 2 replies; 3+ messages in thread
From: Alexey Mednyy @ 2014-10-15 14:10 UTC (permalink / raw)
To: buildroot
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
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))
--
1.9.1
^ permalink raw reply related [flat|nested] 3+ messages in thread* [Buildroot] [PATCH 1/1 v4] ubus: new package
2014-10-15 14:10 [Buildroot] [PATCH 1/1 v4] ubus: new package Alexey Mednyy
@ 2014-10-19 10:18 ` Yann E. MORIN
2014-10-27 21:46 ` Thomas Petazzoni
1 sibling, 0 replies; 3+ messages in thread
From: Yann E. MORIN @ 2014-10-19 10:18 UTC (permalink / raw)
To: buildroot
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.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 3+ messages in thread* [Buildroot] [PATCH 1/1 v4] ubus: new package
2014-10-15 14:10 [Buildroot] [PATCH 1/1 v4] ubus: new package Alexey Mednyy
2014-10-19 10:18 ` Yann E. MORIN
@ 2014-10-27 21:46 ` Thomas Petazzoni
1 sibling, 0 replies; 3+ messages in thread
From: Thomas Petazzoni @ 2014-10-27 21:46 UTC (permalink / raw)
To: buildroot
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
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2014-10-27 21:46 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-15 14:10 [Buildroot] [PATCH 1/1 v4] ubus: new package Alexey Mednyy
2014-10-19 10:18 ` Yann E. MORIN
2014-10-27 21:46 ` Thomas Petazzoni
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox