diff mbox series

[v3,2/2] package/libvirt: fix libvirtd dependency

Message ID 20220814182734.2878423-2-fontaine.fabrice@gmail.com
State Accepted
Headers show
Series [v3,1/2] Revert "package/libvirtd: fix recursive dependency in Kconfig" | expand

Commit Message

Fabrice Fontaine Aug. 14, 2022, 6:27 p.m. UTC
Commit 4dff1be05e90 (package/libvirt: libvirtd needs C++ for nmap-ncat)
introduce a recursive dependency (really: a circular dependency):

    package/busybox/Config.in:33:error: recursive dependency detected!
    package/busybox/Config.in:33:   symbol BR2_PACKAGE_BUSYBOX_SHOW_OTHERS is selected by BR2_PACKAGE_EBTABLES_UTILS_SAVE
    package/ebtables/Config.in:11:  symbol BR2_PACKAGE_EBTABLES_UTILS_SAVE depends on BR2_PACKAGE_EBTABLES
    package/ebtables/Config.in:1:   symbol BR2_PACKAGE_EBTABLES is selected by BR2_PACKAGE_LIBVIRT_DAEMON
    package/libvirt/Config.in:44:   symbol BR2_PACKAGE_LIBVIRT_DAEMON depends on BR2_PACKAGE_NETCAT_OPENBSD
    package/netcat-openbsd/Config.in:1:     symbol BR2_PACKAGE_NETCAT_OPENBSD depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS

We can't drop the C++ dependency and switch the netcat-openbsd and
nmap-ncat dependencies conditions without adding a glibc dependency.

So always mandate C++ even if is only needed by nmap and not
netcat-openbsd

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
Changes v2 -> v3 (after review of Thomas Petazzoni):
 - Always mandate C++ instead of glibc
 
Changes v1 -> v2 (after review of Yann E. Morin):
 - Fix patch (rebase on top of current master)

 package/libvirt/Config.in | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

Comments

Yann E. MORIN Aug. 15, 2022, 9:42 a.m. UTC | #1
Fabrice, All,

On 2022-08-14 20:27 +0200, Fabrice Fontaine spake thusly:
> Commit 4dff1be05e90 (package/libvirt: libvirtd needs C++ for nmap-ncat)
> introduce a recursive dependency (really: a circular dependency):
> 
>     package/busybox/Config.in:33:error: recursive dependency detected!
>     package/busybox/Config.in:33:   symbol BR2_PACKAGE_BUSYBOX_SHOW_OTHERS is selected by BR2_PACKAGE_EBTABLES_UTILS_SAVE
>     package/ebtables/Config.in:11:  symbol BR2_PACKAGE_EBTABLES_UTILS_SAVE depends on BR2_PACKAGE_EBTABLES
>     package/ebtables/Config.in:1:   symbol BR2_PACKAGE_EBTABLES is selected by BR2_PACKAGE_LIBVIRT_DAEMON
>     package/libvirt/Config.in:44:   symbol BR2_PACKAGE_LIBVIRT_DAEMON depends on BR2_PACKAGE_NETCAT_OPENBSD
>     package/netcat-openbsd/Config.in:1:     symbol BR2_PACKAGE_NETCAT_OPENBSD depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
> 
> We can't drop the C++ dependency and switch the netcat-openbsd and
> nmap-ncat dependencies conditions without adding a glibc dependency.
> 
> So always mandate C++ even if is only needed by nmap and not

*if it is...

> netcat-openbsd
> 
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>

Acked-by: Yann E. MORIN <yann.morin.1998@free.fr>

Regards,
Yann E. MORIN.

> ---
> Changes v2 -> v3 (after review of Thomas Petazzoni):
>  - Always mandate C++ instead of glibc
>  
> Changes v1 -> v2 (after review of Yann E. Morin):
>  - Fix patch (rebase on top of current master)
> 
>  package/libvirt/Config.in | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/package/libvirt/Config.in b/package/libvirt/Config.in
> index afd2372d0e..c404d1b0e2 100644
> --- a/package/libvirt/Config.in
> +++ b/package/libvirt/Config.in
> @@ -38,7 +38,7 @@ if BR2_PACKAGE_LIBVIRT
>  config BR2_PACKAGE_LIBVIRT_DAEMON
>  	bool "libvirtd"
>  	default y
> -	depends on BR2_INSTALL_LIBSTDCPP || BR2_PACKAGE_NETCAT_OPENBSD # nmap
> +	depends on BR2_INSTALL_LIBSTDCPP # nmap
>  	select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
>  	select BR2_PACKAGE_DNSMASQ
>  	select BR2_PACKAGE_EBTABLES
> @@ -52,6 +52,9 @@ config BR2_PACKAGE_LIBVIRT_DAEMON
>  	  Build the libvirt daemon (libvirtd) otherwise build only the
>  	  utility programs.
>  
> +comment "libvirtd needs a toolchain w/ C++"
> +	depends on !BR2_INSTALL_LIBSTDCPP
> +
>  # Stateful drivers are useful only when building the daemon.
>  if BR2_PACKAGE_LIBVIRT_DAEMON
>  
> -- 
> 2.35.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
Peter Korsgaard Sept. 16, 2022, 12:04 p.m. UTC | #2
>>>>> "Fabrice" == Fabrice Fontaine <fontaine.fabrice@gmail.com> writes:

 > Commit 4dff1be05e90 (package/libvirt: libvirtd needs C++ for nmap-ncat)
 > introduce a recursive dependency (really: a circular dependency):

 >     package/busybox/Config.in:33:error: recursive dependency detected!
 >     package/busybox/Config.in:33:   symbol BR2_PACKAGE_BUSYBOX_SHOW_OTHERS is selected by BR2_PACKAGE_EBTABLES_UTILS_SAVE
 >     package/ebtables/Config.in:11:  symbol BR2_PACKAGE_EBTABLES_UTILS_SAVE depends on BR2_PACKAGE_EBTABLES
 >     package/ebtables/Config.in:1:   symbol BR2_PACKAGE_EBTABLES is selected by BR2_PACKAGE_LIBVIRT_DAEMON
 >     package/libvirt/Config.in:44:   symbol BR2_PACKAGE_LIBVIRT_DAEMON depends on BR2_PACKAGE_NETCAT_OPENBSD
 >     package/netcat-openbsd/Config.in:1:     symbol BR2_PACKAGE_NETCAT_OPENBSD depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS

 > We can't drop the C++ dependency and switch the netcat-openbsd and
 > nmap-ncat dependencies conditions without adding a glibc dependency.

 > So always mandate C++ even if is only needed by nmap and not
 > netcat-openbsd

 > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
 > ---
 > Changes v2 -> v3 (after review of Thomas Petazzoni):
 >  - Always mandate C++ instead of glibc
 
 > Changes v1 -> v2 (after review of Yann E. Morin):
 >  - Fix patch (rebase on top of current master)

Committed to 2022.05.x and 2022.02.x, thanks.
diff mbox series

Patch

diff --git a/package/libvirt/Config.in b/package/libvirt/Config.in
index afd2372d0e..c404d1b0e2 100644
--- a/package/libvirt/Config.in
+++ b/package/libvirt/Config.in
@@ -38,7 +38,7 @@  if BR2_PACKAGE_LIBVIRT
 config BR2_PACKAGE_LIBVIRT_DAEMON
 	bool "libvirtd"
 	default y
-	depends on BR2_INSTALL_LIBSTDCPP || BR2_PACKAGE_NETCAT_OPENBSD # nmap
+	depends on BR2_INSTALL_LIBSTDCPP # nmap
 	select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
 	select BR2_PACKAGE_DNSMASQ
 	select BR2_PACKAGE_EBTABLES
@@ -52,6 +52,9 @@  config BR2_PACKAGE_LIBVIRT_DAEMON
 	  Build the libvirt daemon (libvirtd) otherwise build only the
 	  utility programs.
 
+comment "libvirtd needs a toolchain w/ C++"
+	depends on !BR2_INSTALL_LIBSTDCPP
+
 # Stateful drivers are useful only when building the daemon.
 if BR2_PACKAGE_LIBVIRT_DAEMON