libubox: new package
PATCH v3 1/2 libubox: new package
---
Changes:
v3: add Lua support
v2: make package description more informative and fix license information
package/Config.in | 1 + package/libubox/Config.in | 7 +++++++ package/libubox/libubox.mk | 21 +++++++++++++++++++++ 3 files changed, 29 insertions(+) create mode 100644 package/libubox/Config.in create mode 100644 package/libubox/libubox.mk
package/Config.in +1 -0
@@ -784,6 +784,7 @@ source "package/libsigc/Config.in" source "package/libsigsegv/Config.in" source "package/libtasn1/Config.in" source "package/libtpl/Config.in" +source "package/libubox/Config.in" source "package/libunwind/Config.in" source "package/liburcu/Config.in" source "package/linux-pam/Config.in"
package/libubox/Config.in new file +7 -0
@@ -0,0 +1,7 @@ +config BR2_PACKAGE_LIBUBOX + bool "libubox" + help + Small utility library for OpenWrt. It is a dependency of + libuci, that manages configuration files infrastructure. + + http://nbd.name/gitweb.cgi?p=luci2/libubox.git;a=summary
package/libubox/libubox.mk new file +21 -0
@@ -0,0 +1,21 @@ +################################################################################ +# +# libubox +# +################################################################################ + +LIBUBOX_VERSION = bbd846ec2d72b2629758b69dc122ac0b0f2c3e4b +LIBUBOX_SITE = git://nbd.name/luci2/libubox.git +LIBUBOX_LICENSE = LGPLv2.1, GPLv2, BSD-3c, MIT +LIBUBOX_INSTALL_STAGING = YES + +ifeq ($(BR2_PACKAGE_LUA),y) + LIBUBOX_DEPENDENCIES = lua + LIBUBOX_MAKE_ENV = \ + PKG_CONFIG_SYSROOT_DIR="$(STAGING_DIR)" \ + PKG_CONFIG_PATH="$(STAGING_DIR)/usr/lib/pkgconfig" +else + LIBUBOX_CONF_OPT = -DBUILD_LUA:BOOL=OFF +endif + +$(eval $(cmake-package))
Signature · 1 line
1.8.3.2
PATCH v3 2/2 libuci: new package
---
Changes:
v3: add Lua support
package/Config.in | 1 + package/libuci/Config.in | 9 +++++++++ package/libuci/libuci.mk | 22 ++++++++++++++++++++++ 3 files changed, 32 insertions(+) create mode 100644 package/libuci/Config.in create mode 100644 package/libuci/libuci.mk
package/Config.in +1 -0
@@ -785,6 +785,7 @@ source "package/libsigsegv/Config.in" source "package/libtasn1/Config.in" source "package/libtpl/Config.in" source "package/libubox/Config.in" +source "package/libuci/Config.in" source "package/libunwind/Config.in" source "package/liburcu/Config.in" source "package/linux-pam/Config.in"
package/libuci/Config.in new file +9 -0
@@ -0,0 +1,9 @@ +config BR2_PACKAGE_LIBUCI + bool "libuci" + select BR2_PACKAGE_LIBUBOX + help + libuci is intended to centralize the whole configuration + of a device running OpenWrt. This package will also install + CLI tool uci. + + http://wiki.openwrt.org/doc/techref/uci
package/libuci/libuci.mk new file +22 -0
@@ -0,0 +1,22 @@ +################################################################################ +# +# libuci +# +################################################################################ + +LIBUCI_VERSION = 262fede3e8c8c08c1eb0d1be9bf102232fb86cb9 +LIBUCI_SITE = git://nbd.name/uci.git +LIBUCI_LICENSE = LGPLv2.1 +LIBUCI_INSTALL_STAGING = YES +LIBUCI_DEPENDENCIES = libubox + +ifeq ($(BR2_PACKAGE_LUA),y) + LIBUCI_DEPENDENCIES += lua + LIBUCI_MAKE_ENV = \ + PKG_CONFIG_SYSROOT_DIR="$(STAGING_DIR)" \ + PKG_CONFIG_PATH="$(STAGING_DIR)/usr/lib/pkgconfig" +else + LIBUCI_CONF_OPT = -DBUILD_LUA:BOOL=OFF +endif + +$(eval $(cmake-package))
Signature · 1 line
1.8.3.2
PATCH v3 1/2 libubox: new package
In reply to Yegor YefremovDear Yegor Yefremov,
package/libubox/libubox.mk line 16
Quoted 10 lines · Yegor Yefremov
package/libubox/libubox.mk new file +10
-0+LIBUBOX_VERSION = bbd846ec2d72b2629758b69dc122ac0b0f2c3e4b +LIBUBOX_SITE = git://nbd.name/luci2/libubox.git +LIBUBOX_LICENSE = LGPLv2.1, GPLv2, BSD-3c, MIT +LIBUBOX_INSTALL_STAGING = YES + +ifeq ($(BR2_PACKAGE_LUA),y) + LIBUBOX_DEPENDENCIES = lua + LIBUBOX_MAKE_ENV = \ + PKG_CONFIG_SYSROOT_DIR="$(STAGING_DIR)" \ + PKG_CONFIG_PATH="$(STAGING_DIR)/usr/lib/pkgconfig"
No. These variables should I believe not be necessary. The cmake-package infrastructure should simply use PATH=$(TARGET_PATH) so that when a CMake package is built, $(HOST_DIR)/usr/bin/pkg-config is used, and this pkg-config variant already knows the right path and sysroot for the .pc files.
I believe Samuel Martin has already sent a patch doing this for the CMake package infrastructure.
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v3 1/2 libubox: new package
Quoted 21 lines · Thomas Petazzoni
Dear Yegor Yefremov,
package/libubox/libubox.mk line 16
Quoted 10 lines · Yegor Yefremov
package/libubox/libubox.mk new file +10
-0+LIBUBOX_VERSION = bbd846ec2d72b2629758b69dc122ac0b0f2c3e4b +LIBUBOX_SITE = git://nbd.name/luci2/libubox.git +LIBUBOX_LICENSE = LGPLv2.1, GPLv2, BSD-3c, MIT +LIBUBOX_INSTALL_STAGING = YES + +ifeq ($(BR2_PACKAGE_LUA),y) + LIBUBOX_DEPENDENCIES = lua + LIBUBOX_MAKE_ENV = \ + PKG_CONFIG_SYSROOT_DIR="$(STAGING_DIR)" \ + PKG_CONFIG_PATH="$(STAGING_DIR)/usr/lib/pkgconfig"No. These variables should I believe not be necessary. The cmake-package infrastructure should simply use PATH=$(TARGET_PATH) so that when a CMake package is built, $(HOST_DIR)/usr/bin/pkg-config is used, and this pkg-config variant already knows the right path and sysroot for the .pc files.
Quoted 2 lines
I believe Samuel Martin has already sent a patch doing this for the CMake package infrastructure.
Samuel could you point me to the right package with the proper example?
Yegor
PATCH v3 1/2 libubox: new package
Hi Yegor, all,
Quoted 6 lines · Yegor Yefremov
Quoted 4 lines · Thomas Petazzoni
Dear Yegor Yefremov,
On Tue, 18 Mar 2014 21:01:38 +0100, Yegor Yefremov wrote:
Quoted 10 lines
Quoted 10 lines
package/libubox/libubox.mk line 16
Quoted 10 lines
package/libubox/libubox.mk new file +10
-0+LIBUBOX_VERSION = bbd846ec2d72b2629758b69dc122ac0b0f2c3e4b +LIBUBOX_SITE = git://nbd.name/luci2/libubox.git +LIBUBOX_LICENSE = LGPLv2.1, GPLv2, BSD-3c, MIT +LIBUBOX_INSTALL_STAGING = YES + +ifeq ($(BR2_PACKAGE_LUA),y) + LIBUBOX_DEPENDENCIES = lua + LIBUBOX_MAKE_ENV = \ + PKG_CONFIG_SYSROOT_DIR="$(STAGING_DIR)" \ + PKG_CONFIG_PATH="$(STAGING_DIR)/usr/lib/pkgconfig"
This should be added in the cmake infrastructure.
In package/pkg-cmake.mk, PKG_CONFIG_SYSROOT_DIR is already correctly set:
http://git.buildroot.net/buildroot/tree/package/pkg-cmake.mk#n173
I'm a bit dubious about the need for PKG_CONFIG_PATH, this is already a standard location in which pkg-config looks for (according to man). I would expect this variable to be set in the $(HOST_DIR)/usr/bin/pkg-config wrapper, but AFAICS it's not :-/
BTW, what error are you facing without these variables set in configure env.? Could you pastebin the error logs?
Quoted 7 lines
Quoted 7 lines
No. These variables should I believe not be necessary. The cmake-package infrastructure should simply use PATH=$(TARGET_PATH) so that when a CMake package is built, $(HOST_DIR)/usr/bin/pkg-config is used, and this pkg-config variant already knows the right path and sysroot for the .pc files.
Quoted 6 lines
Quoted 2 lines
I believe Samuel Martin has already sent a patch doing this for the CMake package infrastructure.
Samuel could you point me to the right package with the proper example?
Yegor
Regards,
Signature · 1 line
Samuel
PATCH v3 1/2 libubox: new package
Quoted 25 lines · Samuel Martin
Hi Yegor, all,
Quoted 6 lines · Yegor Yefremov
Quoted 4 lines · Thomas Petazzoni
Dear Yegor Yefremov,
On Tue, 18 Mar 2014 21:01:38 +0100, Yegor Yefremov wrote:
Quoted 10 lines
Quoted 10 lines
package/libubox/libubox.mk line 16
Quoted 10 lines
package/libubox/libubox.mk new file +10
-0+LIBUBOX_VERSION = bbd846ec2d72b2629758b69dc122ac0b0f2c3e4b +LIBUBOX_SITE = git://nbd.name/luci2/libubox.git +LIBUBOX_LICENSE = LGPLv2.1, GPLv2, BSD-3c, MIT +LIBUBOX_INSTALL_STAGING = YES + +ifeq ($(BR2_PACKAGE_LUA),y) + LIBUBOX_DEPENDENCIES = lua + LIBUBOX_MAKE_ENV = \ + PKG_CONFIG_SYSROOT_DIR="$(STAGING_DIR)" \ + PKG_CONFIG_PATH="$(STAGING_DIR)/usr/lib/pkgconfig"This should be added in the cmake infrastructure.
Inpackage/pkg-cmake.mk,PKG_CONFIG_SYSROOT_DIRis already correctly set:
http://git.buildroot.net/buildroot/tree/package/pkg-cmake.mk#n173
Quoted 7 lines
I'm a bit dubious about the need for
PKG_CONFIG_PATH, this is already a standard location in which pkg-config looks for (according to man). I would expect this variable to be set in the $(HOST_DIR)/usr/bin/pkg-config wrapper, but AFAICS it's not :-/BTW, what error are you facing without these variables set in configure env.? Could you pastebin the error logs?
Strange. I've removed the statements and I have no problems. As I started with my development, CMake complained about not finding Lua via pkg-config and it worked only after I've added these PATHs. I'll this at home, where I've encountered this issue and then resend the patches.
Quoted 10 lines
Quoted 10 lines
Quoted 8 lines
No. These variables should I believe not be necessary. The cmake-package infrastructure should simply use PATH=$(TARGET_PATH) so that when a CMake package is built, $(HOST_DIR)/usr/bin/pkg-config is used, and this pkg-config variant already knows the right path and sysroot for the .pc files.
I believe Samuel Martin has already sent a patch doing this for the CMake package infrastructure.
Samuel could you point me to the right package with the proper example?