Skip to contentSkip to conversation

Do not select providers of virtual packages (branch yem/dont-select-providers)

PATCH Superseded Yann E. MORIN 2 participants 6 messages Dec 17, 2015

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

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.  |
'------------------------------^-------^------------------^--------------------'
#1 lore raw

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.

Cc Thomas Petazzoni <[email protected]>

---
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
index 9e1c462..e8028d8 100644
@@ -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
#2 lore raw

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_LUA

package/dnsmasq/Config.in +2 -1
 	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"

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

PATCH 2/4 package/haserl: do not select Lua, depend on it

In reply to Yann E. MORIN

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.

cc Thomas Petazzoni <[email protected]>

---
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
index 1620d72..0d8f4e0 100644
@@ -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
#4 lore raw

PATCH 3/4 package/lighttpd: do not select Lua, depend on it

In reply to Yann E. MORIN

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.

Cc Thomas Petazzoni <[email protected]>

---
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
index 2c101e7..fbb9747 100644
@@ -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
#5 lore raw

PATCH 4/4 package/libedje: do not select Lua, depend on it

In reply to Yann E. MORIN

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; propagate the dependency.

Cc Thomas Petazzoni <[email protected]>

---
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
index b163508..5af0e1c 100644
@@ -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
index fcc7025..b4211e7 100644
@@ -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
index 3e9cbde..d88cf90 100644
@@ -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
index 9dad571..67e1dbc 100644
@@ -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