Skip to contentSkip to conversation

libubox: new package

PATCH Superseded Yegor Yefremov 3 participants 6 messages Mar 18, 2014 – Mar 19, 2014

v3 of 5 Superseded Latest is v5 →

lore
Share & tools
lore
#0 lore raw

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
index f9c1b0b..a2e859c 100644
@@ -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
new file mode 100644
index 0000000..3fa78cf
@@ -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
new file mode 100644
index 0000000..effef9a
@@ -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
#1 lore raw

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
index a2e859c..bc01d99 100644
@@ -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
new file mode 100644
index 0000000..c1aba16
@@ -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
new file mode 100644
index 0000000..cba001d
@@ -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
#2 lore raw

PATCH v3 1/2 libubox: new package

In reply to Yegor Yefremov

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.

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
#3 lore raw

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

#4 lore raw

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
#5 lore raw

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.
In package/pkg-cmake.mk, PKG_CONFIG_SYSROOT_DIR is 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?