mirror of
git://git.yoctoproject.org/meta-virtualization.git
synced 2025-07-19 20:59:41 +02:00

Since python support is separate from the main libvirt build, we no longer need to trigger configuration options when python packageconfig support is added, we simply need to add python to the package depends. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
181 lines
7.0 KiB
BlitzBasic
181 lines
7.0 KiB
BlitzBasic
DESCRIPTION = "A toolkit to interact with the virtualization capabilities of recent versions of Linux."
|
|
HOMEPAGE = "http://libvirt.org"
|
|
LICENSE = "GPLv2+"
|
|
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
|
|
SECTION = "console/tools"
|
|
PR = "r1"
|
|
|
|
DEPENDS = "bridge-utils gnutls libxml2 lvm2 avahi parted curl libpcap util-linux e2fsprogs pm-utils \
|
|
iptables dnsmasq readline"
|
|
|
|
# libvirt-guests.sh needs gettext.sh
|
|
#
|
|
RDEPENDS_${PN} = "gettext-runtime"
|
|
|
|
RDEPENDS_libvirt-libvirtd += "bridge-utils iptables pm-utils dnsmasq netcat-openbsd"
|
|
RDEPENDS_libvirt-libvirtd_append_x86-64 = " dmidecode"
|
|
RDEPENDS_libvirt-libvirtd_append_x86 = " dmidecode"
|
|
|
|
#connman blocks the 53 port and libvirtd can't start its DNS service
|
|
RCONFLICTS_${PN}_libvirtd = "connman"
|
|
|
|
SRC_URI = "http://libvirt.org/sources/libvirt-${PV}.tar.gz;name=libvirt \
|
|
file://tools-add-libvirt-net-rpc-to-virt-host-validate-when.patch \
|
|
file://libvirtd.sh \
|
|
file://libvirtd.conf"
|
|
|
|
SRC_URI[libvirt.md5sum] = "cce374220f67895afb6331bd2ddedbfd"
|
|
SRC_URI[libvirt.sha256sum] = "bc29b5751bf36753c17e2fdbb75e70c7b07df3d9527586d3426e90f5f4abb898"
|
|
|
|
inherit autotools gettext update-rc.d pkgconfig
|
|
|
|
CACHED_CONFIGUREVARS += "\
|
|
ac_cv_path_XMLLINT=/usr/bin/xmllint \
|
|
ac_cv_path_XMLCATLOG=/usr/bin/xmlcatalog \
|
|
ac_cv_path_AUGPARSE=/usr/bin/augparse \
|
|
ac_cv_path_DNSMASQ=/usr/bin/dnsmasq \
|
|
ac_cv_path_BRCTL=/usr/sbin/brctl \
|
|
ac_cv_path_TC=/sbin/tc \
|
|
ac_cv_path_UDEVADM=/sbin/udevadm \
|
|
ac_cv_path_MODPROBE=/sbin/modprobe \
|
|
ac_cv_path_IP_PATH=/bin/ip \
|
|
ac_cv_path_IPTABLES_PATH=/usr/sbin/iptables \
|
|
ac_cv_path_IP6TABLES_PATH=/usr/sbin/ip6tables \
|
|
ac_cv_path_MOUNT=/bin/mount \
|
|
ac_cv_path_UMOUNT=/bin/umount \
|
|
ac_cv_path_MKFS=/usr/sbin/mkfs \
|
|
ac_cv_path_SHOWMOUNT=/usr/sbin/showmount \
|
|
ac_cv_path_PVCREATE=/usr/sbin/pvcreate \
|
|
ac_cv_path_VGCREATE=/usr/sbin/vgcreate \
|
|
ac_cv_path_LVCREATE=/usr/sbin/lvcreate \
|
|
ac_cv_path_PVREMOVE=/usr/sbin/pvremove \
|
|
ac_cv_path_VGREMOVE=/usr/sbin/vgremove \
|
|
ac_cv_path_LVREMOVE=/usr/sbin/lvremove \
|
|
ac_cv_path_LVCHANGE=/usr/sbin/lvchange \
|
|
ac_cv_path_VGCHANGE=/usr/sbin/vgchange \
|
|
ac_cv_path_VGSCAN=/usr/sbin/vgscan \
|
|
ac_cv_path_PVS=/usr/sbin/pvs \
|
|
ac_cv_path_VGS=/usr/sbin/vgs \
|
|
ac_cv_path_LVS=/usr/sbin/lvs \
|
|
ac_cv_path_PARTED=/usr/sbin/parted \
|
|
ac_cv_path_DMSETUP=/usr/sbin/dmsetup"
|
|
|
|
# Some other possible paths we are not yet setting
|
|
#ac_cv_path_RPCGEN=
|
|
#ac_cv_path_XSLTPROC=
|
|
#ac_cv_path_RADVD=
|
|
#ac_cv_path_UDEVSETTLE=
|
|
#ac_cv_path_EBTABLES_PATH=
|
|
#ac_cv_path_PKG_CONFIG=
|
|
#ac_cv_path_ac_pt_PKG_CONFIG
|
|
#ac_cv_path_PKCHECK_PATH=
|
|
#ac_cv_path_POLKIT_AUTH=
|
|
#ac_cv_path_DTRACE=
|
|
#ac_cv_path_ISCSIADM=
|
|
#ac_cv_path_MSGFMT=
|
|
#ac_cv_path_GMSGFMT=
|
|
#ac_cv_path_XGETTEXT=
|
|
#ac_cv_path_MSGMERGE=
|
|
#ac_cv_path_SCRUB=
|
|
#ac_cv_path_PYTHON=
|
|
|
|
ALLOW_EMPTY_${PN} = "1"
|
|
|
|
PACKAGES =+ "${PN}-libvirtd ${PN}-virsh"
|
|
|
|
ALLOW_EMPTY_${PN}-libvirtd = "1"
|
|
|
|
FILES_${PN}-libvirtd = "${sysconfdir}/init.d \
|
|
${sysconfdir}/sysctl.d \
|
|
${sysconfdir}/logrotate.d \
|
|
${sysconfdir}/libvirt/libvirtd.conf \
|
|
/usr/lib/sysctl.d/libvirtd.conf \
|
|
${sbindir}/libvirtd"
|
|
|
|
FILES_${PN}-virsh = "${bindir}/virsh"
|
|
FILES_${PN} += "${libdir}/libvirt/connection-driver \
|
|
${datadir}/augeas \
|
|
${datadir}/polkit-1"
|
|
|
|
FILES_${PN}-dbg += "${libdir}/libvirt/connection-driver/.debug ${libdir}/libvirt/lock-driver/.debug"
|
|
FILES_${PN}-staticdev += "${libdir}/*.a ${libdir}/libvirt/connection-driver/*.a ${libdir}/libvirt/lock-driver/*.a"
|
|
|
|
INITSCRIPT_PACKAGES = "${PN}-libvirtd"
|
|
INITSCRIPT_NAME_${PN}-libvirtd = "libvirtd"
|
|
INITSCRIPT_PARAMS_${PN}-libvirtd = "defaults 72"
|
|
|
|
# xen-minimal config
|
|
#PACKAGECONFIG ??= "xen libxl xen-inotify test remote libvirtd"
|
|
|
|
# full config
|
|
PACKAGECONFIG ??= "qemu yajl xen libxl xen-inotify uml openvz vmware vbox esx iproute2 \
|
|
polkit lxc test remote macvtap libvirtd netcf udev python ebtables \
|
|
{@base_contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)} \
|
|
"
|
|
|
|
# enable,disable,depends,rdepends
|
|
#
|
|
PACKAGECONFIG[qemu] = "--with-qemu,--without-qemu,qemu,"
|
|
PACKAGECONFIG[yajl] = "--with-yajl,--without-yajl,yajl,yajl"
|
|
PACKAGECONFIG[xen] = "--with-xen,--without-xen,xen,"
|
|
PACKAGECONFIG[xenapi] = "--with-xenapi,--without-xenapi,,"
|
|
PACKAGECONFIG[libxl] = "--with-libxl=${STAGING_DIR_TARGET}/lib,--without-libxl,libxl,"
|
|
PACKAGECONFIG[xen-inotify] = "--with-xen-inotify,--without-xen-inotify,xen,"
|
|
PACKAGECONFIG[uml] = "--with-uml, --without-uml,,"
|
|
PACKAGECONFIG[openvz] = "--with-openvz,--without-openvz,,"
|
|
PACKAGECONFIG[vmware] = "--with-vmware,--without-vmware,,"
|
|
PACKAGECONFIG[phyp] = "--with-phyp,--without-phyp,,"
|
|
PACKAGECONFIG[vbox] = "--with-vbox,--without-vbox,,"
|
|
PACKAGECONFIG[esx] = "--with-esx,--without-esx,,"
|
|
PACKAGECONFIG[hyperv] = "--with-hyperv,--without-hyperv,,"
|
|
PACKAGECONFIG[polkit] = "--with-polkit,--without-polkit,polkit,polkit"
|
|
PACKAGECONFIG[lxc] = "--with-lxc,--without-lxc, lxc,"
|
|
PACKAGECONFIG[test] = "--with-test=yes,--with-test=no,,"
|
|
PACKAGECONFIG[remote] = "--with-remote,--without-remote,,"
|
|
PACKAGECONFIG[macvtap] = "--with-macvtap=yes,--with-macvtap=no,libnl,libnl"
|
|
PACKAGECONFIG[libvirtd] = "--with-libvirtd,--without-libvirtd,,"
|
|
PACKAGECONFIG[netcf] = "--with-netcf,--without-netcf,netcf,netcf"
|
|
PACKAGECONFIG[dtrace] = "--with-dtrace,--without-dtrace,,"
|
|
PACKAGECONFIG[udev] = "--with-udev --with-pciaccess,--without-udev,udev libpciaccess,"
|
|
PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux,"
|
|
PACKAGECONFIG[ebtables] = "ac_cv_path_EBTABLES_PATH=/sbin/ebtables,ac_cv_path_EBTABLES_PATH=,ebtables,ebtables"
|
|
PACKAGECONFIG[python] = ",,python,"
|
|
PACKAGECONFIG[sasl] = "--with-sasl,--without-sasl,cyrus-sasl,cyrus-sasl"
|
|
PACKAGECONFIG[iproute2] = "ac_cv_path_IP_PATH=/sbin/ip,ac_cv_path_IP_PATH=,iproute2,iproute2"
|
|
|
|
# Enable the Python tool support
|
|
require libvirt-python.inc
|
|
|
|
do_install_append() {
|
|
install -d ${D}/etc/init.d
|
|
install -d ${D}/etc/libvirt
|
|
|
|
install -m 0755 ${WORKDIR}/libvirtd.sh ${D}/etc/init.d/libvirtd
|
|
install -m 0644 ${WORKDIR}/libvirtd.conf ${D}/etc/libvirt/libvirtd.conf
|
|
|
|
# This will wind up in the libvirtd package, but will NOT be invoked by default.
|
|
#
|
|
mv ${D}/${libexecdir}/libvirt-guests.sh ${D}/${sysconfdir}/init.d
|
|
|
|
# The /var/run/libvirt directories created by the Makefile
|
|
# are wiped out in volatile, we need to create these at boot.
|
|
rm -rf ${D}${localstatedir}/run
|
|
install -d ${D}${sysconfdir}/default/volatiles
|
|
echo "d root root 0755 ${localstatedir}/run/libvirt none" \
|
|
> ${D}${sysconfdir}/default/volatiles/99_libvirt
|
|
echo "d root root 0755 ${localstatedir}/run/libvirt/lockd none" \
|
|
>> ${D}${sysconfdir}/default/volatiles/99_libvirt
|
|
echo "d root root 0755 ${localstatedir}/run/libvirt/lxc none" \
|
|
>> ${D}${sysconfdir}/default/volatiles/99_libvirt
|
|
echo "d root root 0755 ${localstatedir}/run/libvirt/network none" \
|
|
>> ${D}${sysconfdir}/default/volatiles/99_libvirt
|
|
echo "d root root 0755 ${localstatedir}/run/libvirt/qemu none" \
|
|
>> ${D}${sysconfdir}/default/volatiles/99_libvirt
|
|
}
|
|
|
|
pkg_postinst_libvirt() {
|
|
if [ -z "$D" ] && [ -e /etc/init.d/populate-volatile.sh ] ; then
|
|
/etc/init.d/populate-volatile.sh update
|
|
fi
|
|
}
|