[meta-virtualization] [PATCHv3 13/14] Upgraded to libvirt 1.0.0, and added a more detailed packageconfig

Bruce Ashfield bruce.ashfield at gmail.com
Thu Dec 6 06:26:21 PST 2012


On Thu, Dec 6, 2012 at 9:03 AM, <david.c.nystrom at gmail.com> wrote:

> From: David Nyström <david.nystrom at enea.com>
>
> ---
>  recipes-extended/libvirt/libvirt_1.0.0.bb |  139
> +++++++++++++++++++++++++++++
>  1 file changed, 139 insertions(+)
>  create mode 100644 recipes-extended/libvirt/libvirt_1.0.0.bb
>
> diff --git a/recipes-extended/libvirt/libvirt_1.0.0.bbb/recipes-extended/libvirt/
> libvirt_1.0.0.bb
> new file mode 100644
> index 0000000..45b460a
> --- /dev/null
> +++ b/recipes-extended/libvirt/libvirt_1.0.0.bb
> @@ -0,0 +1,139 @@
> +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=fb919cc88dbe06ec0b0bd50e001ccf1f"
> +SECTION = "console/tools"
> +PR = "r2"
> +
> +DEPENDS = "bridge-utils gnutls libxml2 lvm2 avahi parted curl libpcap
> util-linux e2fsprogs pm-utils \
> +          iptables ebtables dnsmasq readline"
> +
> +# These might be included by PACKAGECONFIG
> +#RRECOMMENDS+= "polkit qemu yajl libnl lxc netcf"
> +
> +RDEPENDS_libvirt-libvirtd += "bridge-utils iptables pm-utils dnsmasq
> openbsd-netcat"
> +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 \
> +       file://libvirtd.sh \
> +       file://libvirtd.conf"
> +
> +SRC_URI[md5sum] = "7c8b006de7338e30866bb56738803b21"
> +SRC_URI[sha256sum] =
> "14c8a30ebfb939c82cab5f759a95d09646b43b4210e45490e92459ae65123076"
> +
> +inherit autotools gettext update-rc.d
> +
> +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"
> +
> +FILES_${PN}-libvirtd = "${sysconfdir}/init.d \
> +       ${sysconfdir}/sysctl.d \
> +       ${sysconfdir}/logrotate.d \
> +       ${sysconfdir}/libvirt/libvirtd.conf \
> +       ${sbindir}/libvirtd"
>

What happens if libvirtd is disabled via:

 PACKAGECONFIG[libvirtd] = "--with-libvirtd,--without-libvirtd"

I haven't tried it to see, but on a glance, it looks like some missing files
and packaging issues.

Cheers,

Bruce

+
> +FILES_${PN}-virsh = "${bindir}/virsh"
> +FILES_${PN} += "${libdir}/libvirt/connection-driver \
> +           ${datadir}/augeas \
> +           ${datadir}/polkit-1"
> +
> +FILES_${PN}-dbg += "${libdir}/libvirt/connection-driver/.debug"
> +FILES_${PN}-staticdev += "${libdir}/*.a
> ${libdir}/libvirt/connection-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 \
> +                  polkit lxc test remote macvtap libvirtd netcf"
> +
> +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,xen"
> +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"
>

Another random questions. I've got some other libvirt recipes kicking
around, and
is it generally frowned upon to trigger options via DISTRO_FEATURES vs
PACKAGECONFIG ? I'm thinking of bigger scale features like selinux, which
are
decided on a distro basis.

Cheers,

Bruce


> +
> +# 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
> +}
> --
> 1.7.9.5
>
> _______________________________________________
> meta-virtualization mailing list
> meta-virtualization at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-virtualization
>



-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await thee
at its end"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/meta-virtualization/attachments/20121206/0926b203/attachment.html>


More information about the meta-virtualization mailing list