* [Buildroot] [PATCH 1/1 v3] ubus: new package
@ 2014-10-14 9:46 Alexey Mednyy
2014-10-14 19:22 ` Samuel Martin
2014-10-14 21:33 ` Arnout Vandecappelle
0 siblings, 2 replies; 5+ messages in thread
From: Alexey Mednyy @ 2014-10-14 9:46 UTC (permalink / raw)
To: buildroot
Signed-off-by: Alexey Mednyy <swexru@gmail.com>
---
package/Config.in | 1 +
package/ubus/Config.in | 14 +++++++++++++
package/ubus/ubus-01-json-definition-fix.patch | 27 +++++++++++++++++++++++++
package/ubus/ubus.mk | 28 ++++++++++++++++++++++++++
4 files changed, 70 insertions(+)
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/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..652ab48
--- /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_USE_MMU)$(BR2_PACKAGE_LUA_5_1),yy)
+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_CONF_OPTS += systemd \
+ -DENABLE_SYSTEMD=ON
+else
+UBUS_CONF_OPTS += -DENABLE_SYSTEMD=OFF
+endif
+
+$(eval $(cmake-package))
--
1.9.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH 1/1 v3] ubus: new package
2014-10-14 9:46 [Buildroot] [PATCH 1/1 v3] ubus: new package Alexey Mednyy
@ 2014-10-14 19:22 ` Samuel Martin
2014-10-15 12:05 ` Alexey Mednyy
2014-10-14 21:33 ` Arnout Vandecappelle
1 sibling, 1 reply; 5+ messages in thread
From: Samuel Martin @ 2014-10-14 19:22 UTC (permalink / raw)
To: buildroot
Hi Alexey,
On Tue, Oct 14, 2014 at 11:46 AM, Alexey Mednyy <swexru@gmail.com> wrote:
> Signed-off-by: Alexey Mednyy <swexru@gmail.com>
> ---
> package/Config.in | 1 +
> package/ubus/Config.in | 14 +++++++++++++
> package/ubus/ubus-01-json-definition-fix.patch | 27 +++++++++++++++++++++++++
> package/ubus/ubus.mk | 28 ++++++++++++++++++++++++++
> 4 files changed, 70 insertions(+)
> 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/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)
Here, PkgConfig is mandatory, so add REQUIRED to the find_package args.
> ++PKG_CHECK_MODULES(JSONC json-c)
Here, json-c is mandatory, so add REQUIRED to the pkg_check_modules args.
> ++IF(JSONC_FOUND)
> ++ ADD_DEFINITIONS(-DJSONC)
> ++ INCLUDE_DIRECTORIES(${JSONC_INCLUDE_DIRS})
> ++ENDIF()
Since json-c in mandatory, there is no need for conditional actions
about json-c, so just remove the if() and endif() lines.
Sorry, I didn't notice that in the previous review. :-s
> ++
> + 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)
I didn't check in the previous review, but blobmsg_json is provided by
another project, so either it is a required dependency that should be
integrated in Buildroot too, or this is an optional dependency and you
should disable it (something similar to what you've done for json-c,
but always forcing its option to OFF in the _CONF_OPTS).
> ++IF(JSONC_FOUND)
> ++ TARGET_LINK_LIBRARIES(cli ${JSONC_LIBRARIES})
> ++ENDIF()
Same here (no if/endif lines). So, ${JSONC_LIBRARIES} can go back with
the others libs (in the first targte_link_library call.
> +
> + ADD_SUBDIRECTORY(lua)
> + ADD_SUBDIRECTORY(examples)
Also, while checking the upstream project, I noticed that:
- "-Werror" is added to the cflags.
Please remove it, otherwise it may/will fail in a number of build
configuration.
Usually, -Werror is good during the development but bad/PITA for integration.
- BUILD_EXAMPLES is ON by default, consider disabling it or add an
option driving it.
> diff --git a/package/ubus/ubus.mk b/package/ubus/ubus.mk
> new file mode 100644
> index 0000000..652ab48
> --- /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_USE_MMU)$(BR2_PACKAGE_LUA_5_1),yy)
Why BR2_USE_MMU?
> +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_CONF_OPTS += systemd \
> + -DENABLE_SYSTEMD=ON
should be:
UBUS_DEPENDENCIES += systemd
UBUS_CONF_OPTS += -DENABLE_SYSTEMD=ON
> +else
> +UBUS_CONF_OPTS += -DENABLE_SYSTEMD=OFF
> +endif
> +
> +$(eval $(cmake-package))
> --
> 1.9.1
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
Regards,
--
Samuel
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH 1/1 v3] ubus: new package
2014-10-14 9:46 [Buildroot] [PATCH 1/1 v3] ubus: new package Alexey Mednyy
2014-10-14 19:22 ` Samuel Martin
@ 2014-10-14 21:33 ` Arnout Vandecappelle
1 sibling, 0 replies; 5+ messages in thread
From: Arnout Vandecappelle @ 2014-10-14 21:33 UTC (permalink / raw)
To: buildroot
On 14/10/14 11:46, Alexey Mednyy wrote:
> Signed-off-by: Alexey Mednyy <swexru@gmail.com>
> ---
> package/Config.in | 1 +
> package/ubus/Config.in | 14 +++++++++++++
> package/ubus/ubus-01-json-definition-fix.patch | 27 +++++++++++++++++++++++++
> package/ubus/ubus.mk | 28 ++++++++++++++++++++++++++
> 4 files changed, 70 insertions(+)
> 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/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 @@
In addition to Samuel's comments, a path should have a description and a
Signed-off-by line, just like if it was an actual commit (see [1]). We would
anyway like you to upstream this patch to OpenWRT, so you'll need that commit
message and SoB there anyway.
> +diff --git a/CMakeLists.txt b/CMakeLists.txt
> +index cb2f420..86c4c4d 100644
> +--- a/CMakeLists.txt
> ++++ b/CMakeLists.txt
[snip]
Regards,
Arnout
[1]
http://nightly.buildroot.org/manual.html#_format_and_licensing_of_the_package_patches
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH 1/1 v3] ubus: new package
2014-10-14 19:22 ` Samuel Martin
@ 2014-10-15 12:05 ` Alexey Mednyy
2014-10-15 12:08 ` Samuel Martin
0 siblings, 1 reply; 5+ messages in thread
From: Alexey Mednyy @ 2014-10-15 12:05 UTC (permalink / raw)
To: buildroot
Thank you for reviews!
On 10/14/2014 11:22 PM, Samuel Martin wrote:
>> ++
>> + 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)
> I didn't check in the previous review, but blobmsg_json is provided by
> another project, so either it is a required dependency that should be
> integrated in Buildroot too, or this is an optional dependency and you
> should disable it (something similar to what you've done for json-c,
> but always forcing its option to OFF in the _CONF_OPTS).
>
No, blobmsg_json provided by libubox which already in Buildroot.
>> ++IF(JSONC_FOUND)
>> ++ TARGET_LINK_LIBRARIES(cli ${JSONC_LIBRARIES})
>> ++ENDIF()
> Same here (no if/endif lines). So, ${JSONC_LIBRARIES} can go back with
> the others libs (in the first targte_link_library call.
>
>> +
>> + ADD_SUBDIRECTORY(lua)
>> + ADD_SUBDIRECTORY(examples)
> Also, while checking the upstream project, I noticed that:
> - "-Werror" is added to the cflags.
> Please remove it, otherwise it may/will fail in a number of build
> configuration.
> Usually, -Werror is good during the development but bad/PITA for integration.
> - BUILD_EXAMPLES is ON by default, consider disabling it or add an
> option driving it.
>
>> diff --git a/package/ubus/ubus.mk b/package/ubus/ubus.mk
>> new file mode 100644
>> index 0000000..652ab48
>> --- /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_USE_MMU)$(BR2_PACKAGE_LUA_5_1),yy)
> Why BR2_USE_MMU?
Not sure, just took it from libubox.mk which is mandatory dependency.. I
think I must disable it. There is no such requirement.
--
_________________________________
Best regards, Mednyy Alexey.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH 1/1 v3] ubus: new package
2014-10-15 12:05 ` Alexey Mednyy
@ 2014-10-15 12:08 ` Samuel Martin
0 siblings, 0 replies; 5+ messages in thread
From: Samuel Martin @ 2014-10-15 12:08 UTC (permalink / raw)
To: buildroot
Hi Alexey,
On Wed, Oct 15, 2014 at 2:05 PM, Alexey Mednyy <swexru@gmail.com> wrote:
> Thank you for reviews!
>
> On 10/14/2014 11:22 PM, Samuel Martin wrote:
>>> ++
>>> + 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)
>> I didn't check in the previous review, but blobmsg_json is provided by
>> another project, so either it is a required dependency that should be
>> integrated in Buildroot too, or this is an optional dependency and you
>> should disable it (something similar to what you've done for json-c,
>> but always forcing its option to OFF in the _CONF_OPTS).
>>
> No, blobmsg_json provided by libubox which already in Buildroot.
Ok, my bad, i didn't look at libubox.
>>> ++IF(JSONC_FOUND)
>>> ++ TARGET_LINK_LIBRARIES(cli ${JSONC_LIBRARIES})
>>> ++ENDIF()
>> Same here (no if/endif lines). So, ${JSONC_LIBRARIES} can go back with
>> the others libs (in the first targte_link_library call.
>>
>>> +
>>> + ADD_SUBDIRECTORY(lua)
>>> + ADD_SUBDIRECTORY(examples)
>> Also, while checking the upstream project, I noticed that:
>> - "-Werror" is added to the cflags.
>> Please remove it, otherwise it may/will fail in a number of build
>> configuration.
>> Usually, -Werror is good during the development but bad/PITA for integration.
>> - BUILD_EXAMPLES is ON by default, consider disabling it or add an
>> option driving it.
>>
>>> diff --git a/package/ubus/ubus.mk b/package/ubus/ubus.mk
>>> new file mode 100644
>>> index 0000000..652ab48
>>> --- /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_USE_MMU)$(BR2_PACKAGE_LUA_5_1),yy)
>> Why BR2_USE_MMU?
> Not sure, just took it from libubox.mk which is mandatory dependency.. I
> think I must disable it. There is no such requirement.
Then the dependency should be put in the Config.in, not in the *.mk
file (check how it's done for other packages, there are plenty of them
depending on !BR2_USE_MMU)
Regards,
>
> --
> _________________________________
> Best regards, Mednyy Alexey.
>
--
Samuel
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2014-10-15 12:08 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-14 9:46 [Buildroot] [PATCH 1/1 v3] ubus: new package Alexey Mednyy
2014-10-14 19:22 ` Samuel Martin
2014-10-15 12:05 ` Alexey Mednyy
2014-10-15 12:08 ` Samuel Martin
2014-10-14 21:33 ` Arnout Vandecappelle
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox