Do not select providers of virtual packages (branch yem/dont-select-providers)
cover Do not select providers of virtual packages (branch yem/dont-select-providers)
Hello All!
This series fixes the selection of the Lua package, a sit is a provider for the virtual package lua-interpreter.
As explained in the manual, it is not allowed to select the provider of a virtual package. Quoting:
If your package really requires a specific provider, then you?ll have to make your package depends on this provider; you can not select a provider.
Followed by an explanations on the reasons this should not be done:
https://buildroot.org/downloads/manual/manual.html#_infrastructure_for_virtual_packages
This series just cleanups the situation with respect to the lua-interpreter virtual package. It has not been checked if we had other virtual packages for which providers were selected. This can be done in a later series.
Regards,
Yann E. MORIN.
The following changes since commit aee53f8b6f29916ca5d322f793828c24874459d5:
package/php: Always link with libpthread for static builds (2015-12-17 22:50:56 +0100)
are available in the git repository at:
git://git.busybox.net/~ymorin/git/buildroot yem/dont-select-providers
for you to fetch changes up to cb0f7634e0c32e0e383baa52e48047dc7a82b7ea:
package/libedje: do not select Lua, depend on it (2015-12-17 22:58:46 +0100)
----------------------------------------------------------------
Yann E. MORIN (4):
package/dnsmasq: do not select Lua, depend on it package/haserl: do not select Lua, depend on it package/lighttpd: do not select Lua, depend on it package/libedje: do not select Lua, depend on it
package/dnsmasq/Config.in | 5 ++++- package/efl/libedje/Config.in | 6 +++--- package/efl/libelementary/Config.in | 6 ++++-- package/efl/libethumb/Config.in | 5 +++-- package/enlightenment/Config.in | 6 ++++-- package/haserl/Config.in | 10 ++++++++-- package/lighttpd/Config.in | 5 ++++- 7 files changed, 30 insertions(+), 13 deletions(-)
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | 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. | '------------------------------^-------^------------------^--------------------'
PATCH 1/4 package/dnsmasq: do not select Lua, depend on it
Lua is a provider for the virtual package lua-interpreter, so it cannot be selected, as explained in the manual.
Turn the 'select' into a 'depends on'; add a comment when Lua is not enabled.
---
Note: I haven't check if dnsmasq could use luajit instead of Lua. This change is just a mechanical change.
--- package/dnsmasq/Config.in | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
package/dnsmasq/Config.in +4 -1
@@ -38,10 +38,13 @@ config BR2_PACKAGE_DNSMASQ_IDN config BR2_PACKAGE_DNSMASQ_LUA bool "Lua scripting support" - select BR2_PACKAGE_LUA + depends on BR2_PACKAGE_LUA help Enable Lua scripting for dnsmasq +comment "Lau scripting support needs the Lua interpreter" + depends on !BR2_PACKAGE_LUA + config BR2_PACKAGE_DNSMASQ_CONNTRACK bool "conntrack marking support" select BR2_PACKAGE_LIBNETFILTER_CONNTRACK
Signature · 1 line
1.9.1
PATCH 1/4 package/dnsmasq: do not select Lua, depend on it
Dear Yann E. MORIN,
package/dnsmasq/Config.in config BR2_PACKAGE_DNSMASQ_IDN · line 45
Quoted 8 lines · Yann E. MORIN
config
BR2_PACKAGE_DNSMASQ_LUApackage/dnsmasq/Config.in +2
-1bool "Lua scripting support" - select BR2_PACKAGE_LUA + depends on BR2_PACKAGE_LUA help Enable Lua scripting for dnsmasq +comment "Lau scripting support needs the Lua interpreter"
Lau -> Lua
But I believe this comment is useless. It is obvious that if we want to do Lua stuff, you must enable Lua.
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 2/4 package/haserl: do not select Lua, depend on it
In reply to Yann E. MORINLua is a provider for the virtual package lua-interpreter, so it cannot be selected, as explained in the manual.
Turn the 'select' into a 'depends on'; add a comment when Lua is not enabled.
---
Note: I haven't check if haserl could use luajit instead of Lua. This change is just a mechanical change.
--- package/haserl/Config.in | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)
package/haserl/Config.in +8 -2
@@ -8,9 +8,15 @@ config BR2_PACKAGE_HASERL http://haserl.sourceforge.net/ +if BR2_PACKAGE_HASERL + config BR2_PACKAGE_HASERL_WITH_LUA bool "Lua support" - depends on BR2_PACKAGE_HASERL - select BR2_PACKAGE_LUA + depends on BR2_PACKAGE_LUA help Enable Lua support for haserl + +comment "Lua support needs the Lua interpreter" + depends on !BR2_PACKAGE_LUA + +endif
Signature · 1 line
1.9.1
PATCH 3/4 package/lighttpd: do not select Lua, depend on it
In reply to Yann E. MORINLua is a provider for the virtual package lua-interpreter, so it cannot be selected, as explained in the manual.
Turn the 'select' into a 'depends on'; add a comment when Lua is not enabled.
---
Note: I haven't check if lighttpd could use luajit instead of Lua. This change is just a mechanical change.
--- package/lighttpd/Config.in | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
package/lighttpd/Config.in +4 -1
@@ -52,8 +52,11 @@ config BR2_PACKAGE_LIGHTTPD_WEBDAV config BR2_PACKAGE_LIGHTTPD_LUA bool "lua support" - select BR2_PACKAGE_LUA + depends on BR2_PACKAGE_LUA help Enable Lua support. Needed to support mod_magnet +comment "lua support needs the Lua interpreter" + depends on !BR2_PACKAGE_LUA + endif
Signature · 1 line
1.9.1
PATCH 4/4 package/libedje: do not select Lua, depend on it
In reply to Yann E. MORINLua is a provider for the virtual package lua-interpreter, so it cannot be selected, as explained in the manual.
Turn the 'select' into a 'depends on'; add a comment when Lua is not enabled; propagate the dependency.
---
Note: I haven't check if libedje could use luajit instead of Lua. This change is just a mechanical change. Also, libedje is slated for removal once we bump the EFL version to 1.15.x.
--- package/efl/libedje/Config.in | 6 +++--- package/efl/libelementary/Config.in | 6 ++++-- package/efl/libethumb/Config.in | 5 +++-- package/enlightenment/Config.in | 6 ++++-- 4 files changed, 14 insertions(+), 9 deletions(-)
package/efl/libedje/Config.in +3 -3
@@ -1,5 +1,5 @@ -comment "libedje needs a toolchain w/ threads" - depends on !BR2_TOOLCHAIN_HAS_THREADS +comment "libedje needs the Lua interpreter and a toolchain w/ threads" + depends on !BR2_PACKAGE_LUA || !BR2_TOOLCHAIN_HAS_THREADS config BR2_PACKAGE_LIBEDJE bool "libedje"
@@ -9,7 +9,7 @@ config BR2_PACKAGE_LIBEDJE select BR2_PACKAGE_LIBECORE_EVAS select BR2_PACKAGE_LIBEMBRYO select BR2_PACKAGE_LIBEVAS - select BR2_PACKAGE_LUA + depends on BR2_PACKAGE_LUA depends on BR2_TOOLCHAIN_HAS_THREADS # libevas help A graphical layout and animation library for animated
package/efl/libelementary/Config.in +4 -2
@@ -1,10 +1,12 @@ -comment "libelementary needs a toolchain w/ threads, dynamic library" - depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS +comment "libelementary needs the Lua interpreter an a toolchain w/ threads, dynamic library" + depends on !BR2_PACKAGE_LUA || !BR2_TOOLCHAIN_HAS_THREADS \ + || BR2_STATIC_LIBS config BR2_PACKAGE_LIBELEMENTARY bool "libelementary" depends on BR2_TOOLCHAIN_HAS_THREADS # libevas depends on !BR2_STATIC_LIBS + depends on BR2_PACKAGE_LUA # libedje select BR2_PACKAGE_LIBEINA select BR2_PACKAGE_LIBEVAS select BR2_PACKAGE_LIBECORE
package/efl/libethumb/Config.in +3 -2
@@ -1,5 +1,5 @@ -comment "libethumb needs a toolchain w/ threads" - depends on !BR2_TOOLCHAIN_HAS_THREADS +comment "libethumb needs the Lua interpreter and a toolchain w/ threads" + depends on !BR2_PACKAGE_LUA || !BR2_TOOLCHAIN_HAS_THREADS config BR2_PACKAGE_LIBETHUMB bool "libethumb"
@@ -9,6 +9,7 @@ config BR2_PACKAGE_LIBETHUMB select BR2_PACKAGE_LIBECORE_EVAS select BR2_PACKAGE_LIBEDJE depends on BR2_TOOLCHAIN_HAS_THREADS # libevas + depends on BR2_PACKAGE_LUA # libedje help Ethumb is a library for generating thumbnail images of documents.
package/enlightenment/Config.in +4 -2
@@ -11,6 +11,7 @@ config BR2_PACKAGE_ENLIGHTENMENT depends on BR2_PACKAGE_XORG7 # libevas-generic-loaders-svg -> librsvg -> pango -> cairo depends on BR2_ARCH_HAS_ATOMICS + depends on BR2_PACKAGE_LUA # libedje select BR2_PACKAGE_EFL select BR2_PACKAGE_LIBECORE select BR2_PACKAGE_LIBECORE_X
@@ -37,7 +38,8 @@ config BR2_PACKAGE_ENLIGHTENMENT http://www.enlightenment.org/ -comment "enlightenment needs a toolchain w/ wchar, C++, threads" +comment "enlightenment needs the Lua interpreter and a toolchain w/ wchar, C++, threads" depends on BR2_PACKAGE_XORG7 && BR2_USE_MMU - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP + depends on !BR2_PACKAGE_LUA || !BR2_USE_WCHAR \ + || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP depends on BR2_ARCH_HAS_ATOMICS
Signature · 1 line
1.9.1