a17c456b2c
Commit 4dff1be05e
(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>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
99 lines
3.2 KiB
Plaintext
99 lines
3.2 KiB
Plaintext
config BR2_PACKAGE_LIBVIRT_ARCH_SUPPORTS
|
|
bool
|
|
default y if BR2_aarch64
|
|
default y if BR2_i386
|
|
default y if BR2_x86_64
|
|
depends on BR2_USE_MMU # fork()
|
|
|
|
comment "libvirt needs udev /dev management, a toolchain w/ threads, dynamic library, wchar, kernel headers >= 3.12 (4.11 for AArch64)"
|
|
depends on BR2_PACKAGE_LIBVIRT_ARCH_SUPPORTS
|
|
depends on !BR2_PACKAGE_HAS_UDEV || BR2_STATIC_LIBS || \
|
|
!BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR || \
|
|
!(BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 && \
|
|
(BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_11 || !BR2_aarch64))
|
|
|
|
config BR2_PACKAGE_LIBVIRT
|
|
bool "libvirt"
|
|
depends on BR2_PACKAGE_LIBVIRT_ARCH_SUPPORTS
|
|
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
|
|
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_11 || !BR2_aarch64
|
|
depends on BR2_PACKAGE_HAS_UDEV
|
|
depends on !BR2_STATIC_LIBS
|
|
depends on BR2_TOOLCHAIN_HAS_THREADS
|
|
depends on BR2_USE_WCHAR
|
|
select BR2_PACKAGE_GNUTLS
|
|
# configure: You must install the pciaccess module to build with udev
|
|
select BR2_PACKAGE_LIBPCIACCESS
|
|
select BR2_PACKAGE_LIBGLIB2
|
|
select BR2_PACKAGE_LIBTIRPC
|
|
select BR2_PACKAGE_LIBXML2
|
|
select BR2_PACKAGE_ZLIB
|
|
# run-time dependencies
|
|
select BR2_PACKAGE_CGROUPFS_MOUNT if !BR2_INIT_SYSTEMD
|
|
help
|
|
Libvirt is collection of software that provides a convenient
|
|
way to manage virtual machines and other virtualization
|
|
functionality, such as storage and network interface
|
|
management. These software pieces include an API library, a
|
|
daemon (libvirtd), and a command line utility (virsh).
|
|
|
|
https://libvirt.org/
|
|
|
|
if BR2_PACKAGE_LIBVIRT
|
|
|
|
config BR2_PACKAGE_LIBVIRT_DAEMON
|
|
bool "libvirtd"
|
|
default y
|
|
depends on BR2_INSTALL_LIBSTDCPP # nmap
|
|
select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
|
|
select BR2_PACKAGE_DNSMASQ
|
|
select BR2_PACKAGE_EBTABLES
|
|
select BR2_PACKAGE_IPTABLES
|
|
select BR2_PACKAGE_IPROUTE2
|
|
# These are required because there is no way to unequivocally select a modern netcat
|
|
select BR2_PACKAGE_NMAP if !BR2_PACKAGE_NETCAT_OPENBSD
|
|
select BR2_PACKAGE_NMAP_NCAT if !BR2_PACKAGE_NETCAT_OPENBSD
|
|
select BR2_PACKAGE_RADVD
|
|
help
|
|
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
|
|
|
|
config BR2_PACKAGE_LIBVIRT_QEMU
|
|
bool "qemu"
|
|
depends on BR2_PACKAGE_LIBSECCOMP_ARCH_SUPPORTS # libseccomp
|
|
depends on BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET
|
|
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # qemu
|
|
select BR2_PACKAGE_HWDATA # libpciaccess
|
|
select BR2_PACKAGE_HWDATA_PCI_IDS # libpciaccess
|
|
select BR2_PACKAGE_LIBSECCOMP
|
|
select BR2_PACKAGE_QEMU
|
|
select BR2_PACKAGE_QEMU_SYSTEM if BR2_PACKAGE_QEMU_CUSTOM_TARGETS = ""
|
|
select BR2_PACKAGE_YAJL
|
|
help
|
|
QEMU/KVM support
|
|
|
|
comment "qemu needs a toolchain with gcc >= 8"
|
|
depends on BR2_PACKAGE_LIBSECCOMP_ARCH_SUPPORTS
|
|
depends on BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET
|
|
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_8
|
|
|
|
config BR2_PACKAGE_LIBVIRT_LXC
|
|
bool "lxc"
|
|
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # lxc
|
|
select BR2_PACKAGE_LXC
|
|
help
|
|
Linux Container support
|
|
|
|
comment "lxc needs a toolchain w/ gcc >= 4.7"
|
|
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
|
|
|
|
endif
|
|
|
|
endif
|