diff mbox

[v4,2/2] libuci: new package

Message ID 1395266096-7649-2-git-send-email-yegorslists@googlemail.com
State Superseded
Headers show

Commit Message

Yegor Yefremov March 19, 2014, 9:54 p.m. UTC
Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
---
	v4: remove unneeded pkg-config macros
        v3: add Lua support

 package/Config.in        |  1 +
 package/libuci/Config.in |  9 +++++++++
 package/libuci/libuci.mk | 19 +++++++++++++++++++
 3 files changed, 29 insertions(+)
 create mode 100644 package/libuci/Config.in
 create mode 100644 package/libuci/libuci.mk

Comments

Thomas Petazzoni March 19, 2014, 10:23 p.m. UTC | #1
Dear Yegor Yefremov,

On Wed, 19 Mar 2014 22:54:56 +0100, Yegor Yefremov wrote:

> +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

What is a "device running OpenWrt" in the context of Buildroot ?

Thomas
Yegor Yefremov March 20, 2014, 8:17 a.m. UTC | #2
On Wed, Mar 19, 2014 at 11:23 PM, Thomas Petazzoni
<thomas.petazzoni@free-electrons.com> wrote:
> Dear Yegor Yefremov,
>
> On Wed, 19 Mar 2014 22:54:56 +0100, Yegor Yefremov wrote:
>
>> +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
>
> What is a "device running OpenWrt" in the context of Buildroot ?
>
> Thomas
> --
> Thomas Petazzoni, CTO, Free Electrons
> Embedded Linux, Kernel and Android engineering
> http://free-electrons.com

libuci provides just another config infrastructure. All config files
will be placed to /etc/config and you can read/write it's content via
libuci or UCI CLI. OpenWrt is using this approach and also develops
these packages. But it's usage is not limited to OpenWrt and can be
used by any distribution. See http://wiki.openwrt.org/doc/uci for more
details. I have found this tutorial for Ubunut:
http://www.wakoond.hu/2013/06/using-uci-on-ubuntu.html

I need these packages, because I have some programs I've developed for
OpenWrt, but would also like to use in BR. Another usage were to play
with swconfig (https://github.com/ringlej/swconfig). Of course you can
compile swconfig without uci support, but uci like config is much more
readable and handy: http://wiki.openwrt.org/doc/uci/network/switch.

And the real master plan were to port LuCI
(http://luci.subsignal.org/trac) or LuCI2 to BR, so that BR can get a
"standard" web-frontend.

I think OpenWrt is good tag for those familiar with this infrastructure.

Yegor
Thomas Petazzoni March 20, 2014, 2:51 p.m. UTC | #3
Dear Yegor Yefremov,

On Thu, 20 Mar 2014 09:17:55 +0100, Yegor Yefremov wrote:

> >> +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
> >
> > What is a "device running OpenWrt" in the context of Buildroot ?
> >
> > Thomas
> > --
> > Thomas Petazzoni, CTO, Free Electrons
> > Embedded Linux, Kernel and Android engineering
> > http://free-electrons.com
> 
> libuci provides just another config infrastructure. All config files
> will be placed to /etc/config and you can read/write it's content via
> libuci or UCI CLI. OpenWrt is using this approach and also develops
> these packages. But it's usage is not limited to OpenWrt and can be
> used by any distribution. See http://wiki.openwrt.org/doc/uci for more
> details. I have found this tutorial for Ubunut:
> http://www.wakoond.hu/2013/06/using-uci-on-ubuntu.html
> 
> I need these packages, because I have some programs I've developed for
> OpenWrt, but would also like to use in BR. Another usage were to play
> with swconfig (https://github.com/ringlej/swconfig). Of course you can
> compile swconfig without uci support, but uci like config is much more
> readable and handy: http://wiki.openwrt.org/doc/uci/network/switch.
> 
> And the real master plan were to port LuCI
> (http://luci.subsignal.org/trac) or LuCI2 to BR, so that BR can get a
> "standard" web-frontend.
> 
> I think OpenWrt is good tag for those familiar with this infrastructure.

Thanks for the explanation, but in fact I kind of knew all of this
already. My message was more that your Config.in help text is
misleading, as it doesn't really explain what libuci is, and it only
indicates that it is "for OpenWrt", which doesn't make sense in the
context of Buildroot. So I would rephrase the help text by indicating
something like: "This library originates from the OpenWrt project to
handle the configuration blablabla, but can also be used for the same
purposes in projects other than OpenWrt".

Thomas
Yegor Yefremov March 20, 2014, 3:04 p.m. UTC | #4
On Thu, Mar 20, 2014 at 3:51 PM, Thomas Petazzoni
<thomas.petazzoni@free-electrons.com> wrote:
> Dear Yegor Yefremov,
>
> On Thu, 20 Mar 2014 09:17:55 +0100, Yegor Yefremov wrote:
>
>> >> +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
>> >
>> > What is a "device running OpenWrt" in the context of Buildroot ?
>> >
>> > Thomas
>> > --
>> > Thomas Petazzoni, CTO, Free Electrons
>> > Embedded Linux, Kernel and Android engineering
>> > http://free-electrons.com
>>
>> libuci provides just another config infrastructure. All config files
>> will be placed to /etc/config and you can read/write it's content via
>> libuci or UCI CLI. OpenWrt is using this approach and also develops
>> these packages. But it's usage is not limited to OpenWrt and can be
>> used by any distribution. See http://wiki.openwrt.org/doc/uci for more
>> details. I have found this tutorial for Ubunut:
>> http://www.wakoond.hu/2013/06/using-uci-on-ubuntu.html
>>
>> I need these packages, because I have some programs I've developed for
>> OpenWrt, but would also like to use in BR. Another usage were to play
>> with swconfig (https://github.com/ringlej/swconfig). Of course you can
>> compile swconfig without uci support, but uci like config is much more
>> readable and handy: http://wiki.openwrt.org/doc/uci/network/switch.
>>
>> And the real master plan were to port LuCI
>> (http://luci.subsignal.org/trac) or LuCI2 to BR, so that BR can get a
>> "standard" web-frontend.
>>
>> I think OpenWrt is good tag for those familiar with this infrastructure.
>
> Thanks for the explanation, but in fact I kind of knew all of this
> already. My message was more that your Config.in help text is
> misleading, as it doesn't really explain what libuci is, and it only
> indicates that it is "for OpenWrt", which doesn't make sense in the
> context of Buildroot. So I would rephrase the help text by indicating
> something like: "This library originates from the OpenWrt project to
> handle the configuration blablabla, but can also be used for the same
> purposes in projects other than OpenWrt".

O.K. Thomas. I'll resend the patches with proper description.

Yegor
diff mbox

Patch

diff --git a/package/Config.in b/package/Config.in
index a2e859c..bc01d99 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -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"
diff --git a/package/libuci/Config.in b/package/libuci/Config.in
new file mode 100644
index 0000000..c1aba16
--- /dev/null
+++ b/package/libuci/Config.in
@@ -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
diff --git a/package/libuci/libuci.mk b/package/libuci/libuci.mk
new file mode 100644
index 0000000..8036cd2
--- /dev/null
+++ b/package/libuci/libuci.mk
@@ -0,0 +1,19 @@ 
+################################################################################
+#
+# 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
+else
+	LIBUCI_CONF_OPT = -DBUILD_LUA:BOOL=OFF
+endif
+
+$(eval $(cmake-package))