package/libvirt: new package
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). http://libvirt.org/ Signed-off-by: Jared Bents <jared.bents@rockwellcollins.com> [Arnout: - Re-introduce BR2_PACKAGE_LIBVIRT_ARCH_SUPPORTS - Put all Config.in comments on one line - Put the comment before the option itself (makes sure sub-option indention is good) - Remove spurious BR2_PACKAGE_NETCAT dependency - Alphabetically order dependencies in Config.in - Add select of libglib2 - Alphabetically order CONF_OPTS ] Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
This commit is contained in:
parent
6d4c9437c6
commit
ccfc90e101
@ -1268,6 +1268,9 @@ F: package/sysrepo/
|
||||
N: Jan Pedersen <jp@jp-embedded.com>
|
||||
F: package/zip/
|
||||
|
||||
N: Jared Bents <jared.bents@rockwellcollins.com>
|
||||
F: package/libvirt/
|
||||
|
||||
N: Jarkko Sakkinen <jarkko.sakkinen@intel.com>
|
||||
F: package/quota/
|
||||
|
||||
|
@ -2474,6 +2474,7 @@ menu "System tools"
|
||||
source "package/kmod/Config.in"
|
||||
source "package/kvmtool/Config.in"
|
||||
source "package/libostree/Config.in"
|
||||
source "package/libvirt/Config.in"
|
||||
source "package/lxc/Config.in"
|
||||
source "package/makedumpfile/Config.in"
|
||||
source "package/mender/Config.in"
|
||||
|
1
package/libvirt/90-kvm.rules
Normal file
1
package/libvirt/90-kvm.rules
Normal file
@ -0,0 +1 @@
|
||||
KERNEL=="kvm", OWNER="root", GROUP="kvm", MODE="0660"
|
39
package/libvirt/Config.in
Normal file
39
package/libvirt/Config.in
Normal file
@ -0,0 +1,39 @@
|
||||
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, kernel headers >= 3.12"
|
||||
depends on BR2_PACKAGE_LIBVIRT_ARCH_SUPPORTS
|
||||
depends on !BR2_PACKAGE_HAS_UDEV || BR2_STATIC_LIBS || !BR2_USE_MMU || \
|
||||
!BR2_TOOLCHAIN_HAS_THREADS || \
|
||||
!BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
|
||||
|
||||
config BR2_PACKAGE_LIBVIRT
|
||||
bool "libvirt"
|
||||
depends on BR2_PACKAGE_LIBVIRT_ARCH_SUPPORTS
|
||||
depends on BR2_PACKAGE_HAS_UDEV
|
||||
depends on !BR2_STATIC_LIBS
|
||||
depends on BR2_USE_WCHAR
|
||||
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/
|
||||
|
3
package/libvirt/libvirt.hash
Normal file
3
package/libvirt/libvirt.hash
Normal file
@ -0,0 +1,3 @@
|
||||
# locally computed
|
||||
sha256 b366d73dee6ce77a226bedef592e0620ceb8e22e5998f60768017f79fc4ead26 libvirt-7.4.0.tar.xz
|
||||
sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING
|
213
package/libvirt/libvirt.mk
Normal file
213
package/libvirt/libvirt.mk
Normal file
@ -0,0 +1,213 @@
|
||||
################################################################################
|
||||
#
|
||||
# libvirt
|
||||
#
|
||||
################################################################################
|
||||
|
||||
LIBVIRT_VERSION = 7.4.0
|
||||
LIBVIRT_SITE = https://libvirt.org/sources
|
||||
LIBVIRT_SOURCE = libvirt-$(LIBVIRT_VERSION).tar.xz
|
||||
LIBVIRT_LICENSE = LGPL-2.1+
|
||||
LIBVIRT_LICENSE_FILES = COPYING
|
||||
LIBVIRT_DEPENDENCIES = host-nfs-utils host-pkgconf host-python-docutils \
|
||||
gnutls libglib2 libpciaccess libtirpc libxml2 udev zlib
|
||||
|
||||
LIBVIRT_CONF_ENV += \
|
||||
CFLAGS="$(TARGET_CFLAGS) `$(PKG_CONFIG_HOST_BINARY) --cflags libtirpc`" \
|
||||
LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs libtirpc`"
|
||||
|
||||
LIBVIRT_CONF_OPTS = \
|
||||
-Drpath=disabled \
|
||||
-Dapparmor=disabled \
|
||||
-Ddriver_bhyve=disabled \
|
||||
-Ddriver_esx=disabled \
|
||||
-Ddriver_hyperv=disabled \
|
||||
-Ddriver_interface=enabled \
|
||||
-Ddriver_libxl=disabled \
|
||||
-Ddriver_lxc=disabled \
|
||||
-Ddriver_network=disabled \
|
||||
-Ddriver_openvz=disabled \
|
||||
-Ddriver_qemu=disabled \
|
||||
-Ddriver_remote=enabled \
|
||||
-Ddriver_secrets=enabled \
|
||||
-Ddriver_vbox=disabled \
|
||||
-Ddriver_vmware=disabled \
|
||||
-Ddriver_vz=disabled \
|
||||
-Ddtrace=disabled \
|
||||
-Dfirewalld=disabled \
|
||||
-Dfirewalld_zone=disabled \
|
||||
-Dglusterfs=disabled \
|
||||
-Dhost_validate=enabled \
|
||||
-Dinit_script=$(if $(BR2_INIT_SYSTEMD),systemd,none) \
|
||||
-Dlibssh=disabled \
|
||||
-Dlibvirtd=disabled \
|
||||
-Dlogin_shell=disabled \
|
||||
-Dnetcf=disabled \
|
||||
-Dnss=disabled \
|
||||
-Dnumad=disabled \
|
||||
-Dopenwsman=disabled \
|
||||
-Dpciaccess=enabled \
|
||||
-Dpm_utils=disabled \
|
||||
-Dsanlock=disabled \
|
||||
-Dsasl=disabled \
|
||||
-Dsecdriver_apparmor=disabled \
|
||||
-Dssh2=disabled \
|
||||
-Dstorage_iscsi=disabled \
|
||||
-Dstorage_iscsi_direct=disabled \
|
||||
-Dstorage_mpath=disabled \
|
||||
-Dsysctl_config=enabled \
|
||||
-Dtest_coverage=false \
|
||||
-Dudev=enabled \
|
||||
-Dwireshark_dissector=disabled
|
||||
|
||||
ifeq ($(BR2_PACKAGE_ATTR),y)
|
||||
LIBVIRT_CONF_OPTS += -Dattr=enabled
|
||||
LIBVIRT_DEPENDENCIES += attr
|
||||
else
|
||||
LIBVIRT_CONF_OPTS += -Dattr=disabled
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_AUDIT),y)
|
||||
LIBVIRT_CONF_OPTS += -Daudit=enabled
|
||||
LIBVIRT_DEPENDENCIES += audit
|
||||
else
|
||||
LIBVIRT_CONF_OPTS += -Daudit=disabled
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_BASH_COMPLETION),y)
|
||||
LIBVIRT_CONF_OPTS += -Dbash_completion=enabled
|
||||
LIBVIRT_DEPENDENCIES += bash-completion
|
||||
else
|
||||
LIBVIRT_CONF_OPTS += -Dbash_completion=disabled
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBBLKID),y)
|
||||
LIBVIRT_CONF_OPTS += -Dblkid=enabled
|
||||
LIBVIRT_DEPENDENCIES += util-linux
|
||||
else
|
||||
LIBVIRT_CONF_OPTS += -Dblkid=disabled
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBCAP_NG),y)
|
||||
LIBVIRT_CONF_OPTS += -Dcapng=enabled
|
||||
LIBVIRT_DEPENDENCIES += libcap-ng
|
||||
else
|
||||
LIBVIRT_CONF_OPTS += -Dcapng=disabled
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBCURL),y)
|
||||
LIBVIRT_CONF_OPTS += -Dcurl=enabled
|
||||
LIBVIRT_DEPENDENCIES += libcurl
|
||||
else
|
||||
LIBVIRT_CONF_OPTS += -Dcurl=disabled
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBFUSE),y)
|
||||
LIBVIRT_CONF_OPTS += -Dfuse=enabled
|
||||
LIBVIRT_DEPENDENCIES += libfuse
|
||||
else
|
||||
LIBVIRT_CONF_OPTS += -Dfuse=disabled
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBISCSI),y)
|
||||
LIBVIRT_CONF_OPTS += -Dlibiscsi=enabled
|
||||
LIBVIRT_DEPENDENCIES += libiscsi
|
||||
else
|
||||
LIBVIRT_CONF_OPTS += -Dlibiscsi=disabled
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBPCAP),y)
|
||||
LIBVIRT_CONF_OPTS += -Dlibpcap=enabled
|
||||
LIBVIRT_DEPENDENCIES += libpcap
|
||||
else
|
||||
LIBVIRT_CONF_OPTS += -Dlibpcap=disabled
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_NUMACTL),y)
|
||||
LIBVIRT_CONF_OPTS += -Dnumactl=enabled
|
||||
LIBVIRT_DEPENDENCIES += numactl
|
||||
else
|
||||
LIBVIRT_CONF_OPTS += -Dnumactl=disabled
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_POLKIT),y)
|
||||
LIBVIRT_CONF_OPTS += -Dpolkit=enabled
|
||||
LIBVIRT_DEPENDENCIES += polkit
|
||||
else
|
||||
LIBVIRT_CONF_OPTS += -Dpolkit=disabled
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_READLINE),y)
|
||||
LIBVIRT_CONF_OPTS += -Dreadline=enabled
|
||||
LIBVIRT_DEPENDENCIES += readline
|
||||
else
|
||||
LIBVIRT_CONF_OPTS += -Dreadline=disabled
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBSELINUX),y)
|
||||
LIBVIRT_CONF_OPTS += -Dselinux=enabled -Dsecdriver_selinux=enabled \
|
||||
-Dselinux_mount=/sys/fs/selinux
|
||||
LIBVIRT_DEPENDENCIES += libselinux
|
||||
else
|
||||
LIBVIRT_CONF_OPTS += -Dselinux=disabled -Dsecdriver_selinux=disabled
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LVM2),y)
|
||||
LIBVIRT_CONF_OPTS += -Dstorage_lvm=enabled
|
||||
LIBVIRT_DEPENDENCIES += lvm2
|
||||
else
|
||||
LIBVIRT_CONF_OPTS += -Dstorage_lvm=disabled
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_YAJL),y)
|
||||
LIBVIRT_CONF_OPTS += -Dyajl=enabled
|
||||
LIBVIRT_DEPENDENCIES += yajl
|
||||
else
|
||||
LIBVIRT_CONF_OPTS += -Dyajl=disabled
|
||||
endif
|
||||
|
||||
define LIBVIRT_INSTALL_UDEV_RULES
|
||||
$(INSTALL) -D -m 644 package/libvirt/90-kvm.rules \
|
||||
$(TARGET_DIR)/etc/udev/rules.d/90-kvm.rules
|
||||
endef
|
||||
LIBVIRT_POST_INSTALL_TARGET_HOOKS += LIBVIRT_INSTALL_UDEV_RULES
|
||||
|
||||
# Adjust directory ownerships and permissions. Notice /var/log is a symlink to
|
||||
# /tmp in the default sysvinit skeleton, so some directories may disappear at
|
||||
# run-time. Set the permissions anyway, since they are valid for the default
|
||||
# systemd skeleton.
|
||||
define LIBVIRT_PERMISSIONS
|
||||
/etc/libvirt d 700 root root - - - - -
|
||||
/etc/libvirt/nwfilter d 700 root root - - - - -
|
||||
/var/lib/libvirt d 755 root root - - - - -
|
||||
/var/lib/libvirt/boot d 711 root root - - - - -
|
||||
/var/lib/libvirt/dnsmasq d 755 root root - - - - -
|
||||
/var/lib/libvirt/filesystems d 711 root root - - - - -
|
||||
/var/lib/libvirt/images d 711 root root - - - - -
|
||||
/var/lib/libvirt/network d 700 root root - - - - -
|
||||
/var/lib/libvirt/secrets d 700 root root - - - - -
|
||||
/var/lib/libvirt/storage d 755 root root - - - - -
|
||||
/var/lib/libvirt/storage/autostart d 755 root root - - - - -
|
||||
/var/cache/libvirt d 711 root root - - - - -
|
||||
/var/log/libvirt d 700 root root - - - - -
|
||||
/var/log/swtpm d 755 root root - - - - -
|
||||
/var/log/swtpm/libvirt d 755 root root - - - - -
|
||||
endef
|
||||
|
||||
# libvirt may need to create persistent files (e.g. VM definitions) in these
|
||||
# directories. Move them to /var/lib because /etc may be on a read-only or
|
||||
# volatile (initramfs) filesystem. We could tweak the code to change these
|
||||
# paths but the patch would be large and would break compatibility with
|
||||
# ordinary installations and with the documentation.
|
||||
define LIBVIRT_CREATE_SYMLINKS
|
||||
$(INSTALL) -m 700 -d $(TARGET_DIR)/etc/libvirt
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)/var/lib/libvirt
|
||||
$(INSTALL) -m 700 -d $(TARGET_DIR)/var/lib/libvirt/secrets
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)/var/lib/libvirt/storage
|
||||
ln -s -f ../../var/lib/libvirt/secrets $(TARGET_DIR)/etc/libvirt/
|
||||
ln -s -f ../../var/lib/libvirt/storage $(TARGET_DIR)/etc/libvirt/
|
||||
endef
|
||||
|
||||
LIBVIRT_PRE_INSTALL_TARGET_HOOKS += LIBVIRT_CREATE_SYMLINKS
|
||||
|
||||
$(eval $(meson-package))
|
Loading…
Reference in New Issue
Block a user