summaryrefslogtreecommitdiffstats
path: root/recipes-extended/libvirt
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-extended/libvirt')
-rw-r--r--recipes-extended/libvirt/libvirt/tools-add-libvirt-net-rpc-to-virt-host-validate-when.patch127
-rw-r--r--recipes-extended/libvirt/libvirt_1.1.1.bb180
2 files changed, 307 insertions, 0 deletions
diff --git a/recipes-extended/libvirt/libvirt/tools-add-libvirt-net-rpc-to-virt-host-validate-when.patch b/recipes-extended/libvirt/libvirt/tools-add-libvirt-net-rpc-to-virt-host-validate-when.patch
new file mode 100644
index 00000000..821af909
--- /dev/null
+++ b/recipes-extended/libvirt/libvirt/tools-add-libvirt-net-rpc-to-virt-host-validate-when.patch
@@ -0,0 +1,127 @@
1From 70700ad6bf2db2ba8e169168f225458743b90f86 Mon Sep 17 00:00:00 2001
2From: Bruce Ashfield <bruce.ashfield@windriver.com>
3Date: Fri, 2 Aug 2013 11:38:43 -0400
4Subject: [PATCH] tools: add libvirt-net-rpc to virt-host-validate when TLS is
5 enabled
6
7When gnu-tls is enabled for libvirt references to virNetTLSInit are
8generated in libvirt. Any binaries linking against libvirt, must also
9link against libvirt-net-rpc which provides the implementation.
10
11Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
12---
13 examples/domain-events/events-c/Makefile.am | 6 ++++++
14 examples/dominfo/Makefile.am | 7 +++++++
15 examples/domsuspend/Makefile.am | 7 +++++++
16 examples/hellolibvirt/Makefile.am | 7 +++++++
17 examples/openauth/Makefile.am | 6 ++++++
18 tools/Makefile.am | 13 +++++++++++++
19 6 files changed, 46 insertions(+)
20
21diff --git a/examples/domain-events/events-c/Makefile.am b/examples/domain-events/events-c/Makefile.am
22index 0646aee..6b2f5bd 100644
23--- a/examples/domain-events/events-c/Makefile.am
24+++ b/examples/domain-events/events-c/Makefile.am
25@@ -21,3 +21,9 @@ event_test_CFLAGS = $(WARN_CFLAGS)
26 event_test_SOURCES = event-test.c
27 event_test_LDADD = $(top_builddir)/src/libvirt.la \
28 $(top_builddir)/gnulib/lib/libgnu.la
29+
30+if WITH_GNUTLS
31+event_test_LDADD += ../../../src/libvirt-net-rpc.la \
32+ ../../../gnulib/lib/libgnu.la
33+endif
34+
35diff --git a/examples/dominfo/Makefile.am b/examples/dominfo/Makefile.am
36index 4a30c77..99b3e17 100644
37--- a/examples/dominfo/Makefile.am
38+++ b/examples/dominfo/Makefile.am
39@@ -23,3 +23,10 @@ noinst_PROGRAMS=info1
40 info1_SOURCES=info1.c
41 info1_LDFLAGS=
42 info1_LDADD= $(LDADDS)
43+
44+if WITH_GNUTLS
45+info1_LDADD += $(top_builddir)/src/libvirt-net-rpc.la \
46+ $(top_builddir)/gnulib/lib/libgnu.la \
47+ $(NULL)
48+endif
49+
50diff --git a/examples/domsuspend/Makefile.am b/examples/domsuspend/Makefile.am
51index d0d9368..e368ffa 100644
52--- a/examples/domsuspend/Makefile.am
53+++ b/examples/domsuspend/Makefile.am
54@@ -23,3 +23,10 @@ noinst_PROGRAMS=suspend
55 suspend_SOURCES=suspend.c
56 suspend_LDFLAGS=
57 suspend_LDADD= $(LDADDS)
58+
59+if WITH_GNUTLS
60+suspend_LDADD += $(top_builddir)/src/libvirt-net-rpc.la \
61+ $(top_builddir)/gnulib/lib/libgnu.la \
62+ $(NULL)
63+endif
64+
65diff --git a/examples/hellolibvirt/Makefile.am b/examples/hellolibvirt/Makefile.am
66index 060cc71..d6ff30a 100644
67--- a/examples/hellolibvirt/Makefile.am
68+++ b/examples/hellolibvirt/Makefile.am
69@@ -19,3 +19,10 @@ noinst_PROGRAMS = hellolibvirt
70 hellolibvirt_CFLAGS = $(WARN_CFLAGS)
71 hellolibvirt_SOURCES = hellolibvirt.c
72 hellolibvirt_LDADD = $(top_builddir)/src/libvirt.la
73+
74+if WITH_GNUTLS
75+hellolibvirt_LDADD += $(top_builddir)/src/libvirt-net-rpc.la \
76+ $(top_builddir)/gnulib/lib/libgnu.la \
77+ $(NULL)
78+endif
79+
80diff --git a/examples/openauth/Makefile.am b/examples/openauth/Makefile.am
81index 1eb23fc..4d076f1 100644
82--- a/examples/openauth/Makefile.am
83+++ b/examples/openauth/Makefile.am
84@@ -19,3 +19,9 @@ noinst_PROGRAMS = openauth
85 openauth_CFLAGS = $(WARN_CFLAGS)
86 openauth_SOURCES = openauth.c
87 openauth_LDADD = $(top_builddir)/src/libvirt.la
88+if WITH_GNUTLS
89+openauth_LDADD += $(top_builddir)/src/libvirt-net-rpc.la \
90+ $(top_builddir)/gnulib/lib/libgnu.la \
91+ $(NULL)
92+endif
93+
94diff --git a/tools/Makefile.am b/tools/Makefile.am
95index 1dac7c1..c4c6f72 100644
96--- a/tools/Makefile.am
97+++ b/tools/Makefile.am
98@@ -121,6 +121,13 @@ virt_host_validate_LDADD = \
99 ../gnulib/lib/libgnu.la \
100 $(NULL)
101
102+if WITH_GNUTLS
103+virt_host_validate_LDADD += ../src/libvirt-net-rpc.la \
104+ ../gnulib/lib/libgnu.la \
105+ $(NULL)
106+endif
107+
108+
109 virt_host_validate_CFLAGS = \
110 $(WARN_CFLAGS) \
111 $(PIE_CFLAGS) \
112@@ -162,6 +169,12 @@ virsh_CFLAGS = \
113 $(READLINE_CFLAGS)
114 BUILT_SOURCES =
115
116+if WITH_GNUTLS
117+virsh_LDADD += ../src/libvirt-net-rpc.la \
118+ ../gnulib/lib/libgnu.la \
119+ $(NULL)
120+endif
121+
122 if WITH_WIN_ICON
123 virsh_LDADD += virsh_win_icon.$(OBJEXT)
124
125--
1261.7.10.4
127
diff --git a/recipes-extended/libvirt/libvirt_1.1.1.bb b/recipes-extended/libvirt/libvirt_1.1.1.bb
new file mode 100644
index 00000000..4502e852
--- /dev/null
+++ b/recipes-extended/libvirt/libvirt_1.1.1.bb
@@ -0,0 +1,180 @@
1DESCRIPTION = "A toolkit to interact with the virtualization capabilities of recent versions of Linux."
2HOMEPAGE = "http://libvirt.org"
3LICENSE = "GPLv2+"
4LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
5SECTION = "console/tools"
6PR = "r0"
7
8DEPENDS = "bridge-utils gnutls libxml2 lvm2 avahi parted curl libpcap util-linux e2fsprogs pm-utils \
9 iptables dnsmasq readline"
10
11# These might be included by PACKAGECONFIG
12#RRECOMMENDS+= "polkit qemu yajl libnl lxc netcf"
13
14# libvirt-guests.sh needs gettext.sh
15#
16RDEPENDS_${PN} = "gettext-runtime"
17
18RDEPENDS_libvirt-libvirtd += "bridge-utils iptables pm-utils dnsmasq netcat-openbsd"
19RDEPENDS_libvirt-libvirtd_append_x86-64 = " dmidecode"
20RDEPENDS_libvirt-libvirtd_append_x86 = " dmidecode"
21
22#connman blocks the 53 port and libvirtd can't start its DNS service
23RCONFLICTS_${PN}_libvirtd = "connman"
24
25SRC_URI = "http://libvirt.org/sources/libvirt-${PV}.tar.gz \
26 file://tools-add-libvirt-net-rpc-to-virt-host-validate-when.patch \
27 file://libvirtd.sh \
28 file://libvirtd.conf"
29
30SRC_URI[md5sum] = "632f30a2f22fbb404b8e10702d7f55ca"
31SRC_URI[sha256sum] = "dc6f1e1e15b9b190eaa706e76edabcfc94b239c012f5afc22b22357a4b3b22c2"
32
33inherit autotools gettext update-rc.d
34
35CACHED_CONFIGUREVARS += "\
36ac_cv_path_XMLLINT=/usr/bin/xmllint \
37ac_cv_path_XMLCATLOG=/usr/bin/xmlcatalog \
38ac_cv_path_AUGPARSE=/usr/bin/augparse \
39ac_cv_path_DNSMASQ=/usr/bin/dnsmasq \
40ac_cv_path_BRCTL=/usr/sbin/brctl \
41ac_cv_path_TC=/sbin/tc \
42ac_cv_path_UDEVADM=/sbin/udevadm \
43ac_cv_path_MODPROBE=/sbin/modprobe \
44ac_cv_path_IP_PATH=/bin/ip \
45ac_cv_path_IPTABLES_PATH=/usr/sbin/iptables \
46ac_cv_path_IP6TABLES_PATH=/usr/sbin/ip6tables \
47ac_cv_path_MOUNT=/bin/mount \
48ac_cv_path_UMOUNT=/bin/umount \
49ac_cv_path_MKFS=/usr/sbin/mkfs \
50ac_cv_path_SHOWMOUNT=/usr/sbin/showmount \
51ac_cv_path_PVCREATE=/usr/sbin/pvcreate \
52ac_cv_path_VGCREATE=/usr/sbin/vgcreate \
53ac_cv_path_LVCREATE=/usr/sbin/lvcreate \
54ac_cv_path_PVREMOVE=/usr/sbin/pvremove \
55ac_cv_path_VGREMOVE=/usr/sbin/vgremove \
56ac_cv_path_LVREMOVE=/usr/sbin/lvremove \
57ac_cv_path_LVCHANGE=/usr/sbin/lvchange \
58ac_cv_path_VGCHANGE=/usr/sbin/vgchange \
59ac_cv_path_VGSCAN=/usr/sbin/vgscan \
60ac_cv_path_PVS=/usr/sbin/pvs \
61ac_cv_path_VGS=/usr/sbin/vgs \
62ac_cv_path_LVS=/usr/sbin/lvs \
63ac_cv_path_PARTED=/usr/sbin/parted \
64ac_cv_path_DMSETUP=/usr/sbin/dmsetup"
65
66# Some other possible paths we are not yet setting
67#ac_cv_path_RPCGEN=
68#ac_cv_path_XSLTPROC=
69#ac_cv_path_RADVD=
70#ac_cv_path_UDEVSETTLE=
71#ac_cv_path_EBTABLES_PATH=
72#ac_cv_path_PKG_CONFIG=
73#ac_cv_path_ac_pt_PKG_CONFIG
74#ac_cv_path_PKCHECK_PATH=
75#ac_cv_path_POLKIT_AUTH=
76#ac_cv_path_DTRACE=
77#ac_cv_path_ISCSIADM=
78#ac_cv_path_MSGFMT=
79#ac_cv_path_GMSGFMT=
80#ac_cv_path_XGETTEXT=
81#ac_cv_path_MSGMERGE=
82#ac_cv_path_SCRUB=
83#ac_cv_path_PYTHON=
84
85ALLOW_EMPTY_${PN} = "1"
86
87PACKAGES =+ "${PN}-libvirtd ${PN}-virsh"
88
89ALLOW_EMPTY_${PN}-libvirtd = "1"
90
91FILES_${PN}-libvirtd = "${sysconfdir}/init.d \
92 ${sysconfdir}/sysctl.d \
93 ${sysconfdir}/logrotate.d \
94 ${sysconfdir}/libvirt/libvirtd.conf \
95 /usr/lib/sysctl.d/libvirtd.conf \
96 ${sbindir}/libvirtd"
97
98FILES_${PN}-virsh = "${bindir}/virsh"
99FILES_${PN} += "${libdir}/libvirt/connection-driver \
100 ${datadir}/augeas \
101 ${datadir}/polkit-1"
102
103FILES_${PN}-dbg += "${libdir}/libvirt/connection-driver/.debug ${libdir}/libvirt/lock-driver/.debug"
104FILES_${PN}-staticdev += "${libdir}/libvirt ${libdir}/*.a ${libdir}/libvirt/connection-driver/*.a ${libdir}/libvirt/lock-driver/*.a"
105
106INITSCRIPT_PACKAGES = "${PN}-libvirtd"
107INITSCRIPT_NAME_${PN}-libvirtd = "libvirtd"
108INITSCRIPT_PARAMS_${PN}-libvirtd = "defaults 72"
109
110# xen-minimal config
111#PACKAGECONFIG ??= "xen libxl xen-inotify test remote libvirtd"
112
113# full config
114PACKAGECONFIG ??= "qemu yajl xen libxl xen-inotify uml openvz vmware vbox esx \
115 polkit lxc test remote macvtap libvirtd netcf udev python \
116 ${@base_contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)} \
117 ebtables"
118
119# enable,disable,depends,rdepends
120#
121PACKAGECONFIG[qemu] = "--with-qemu,--without-qemu,qemu,"
122PACKAGECONFIG[yajl] = "--with-yajl,--without-yajl,yajl,yajl"
123PACKAGECONFIG[xen] = "--with-xen,--without-xen,xen,"
124PACKAGECONFIG[xenapi] = "--with-xenapi,--without-xenapi,,"
125PACKAGECONFIG[libxl] = "--with-libxl=${STAGING_DIR_TARGET}/lib,--without-libxl,xen,"
126PACKAGECONFIG[xen-inotify] = "--with-xen-inotify,--without-xen-inotify,xen,"
127PACKAGECONFIG[uml] = "--with-uml, --without-uml,,"
128PACKAGECONFIG[openvz] = "--with-openvz,--without-openvz,,"
129PACKAGECONFIG[vmware] = "--with-vmware,--without-vmware,,"
130PACKAGECONFIG[phyp] = "--with-phyp,--without-phyp,,"
131PACKAGECONFIG[vbox] = "--with-vbox,--without-vbox,,"
132PACKAGECONFIG[esx] = "--with-esx,--without-esx,,"
133PACKAGECONFIG[hyperv] = "--with-hyperv,--without-hyperv,,"
134PACKAGECONFIG[polkit] = "--with-polkit,--without-polkit,polkit,polkit"
135PACKAGECONFIG[lxc] = "--with-lxc,--without-lxc, lxc,"
136PACKAGECONFIG[test] = "--with-test=yes,--with-test=no,,"
137PACKAGECONFIG[remote] = "--with-remote,--without-remote,,"
138PACKAGECONFIG[macvtap] = "--with-macvtap=yes,--with-macvtap=no,libnl,libnl"
139PACKAGECONFIG[libvirtd] = "--with-libvirtd,--without-libvirtd,,"
140PACKAGECONFIG[netcf] = "--with-netcf,--without-netcf,netcf,netcf"
141PACKAGECONFIG[dtrace] = "--with-dtrace,--without-dtrace,,"
142PACKAGECONFIG[udev] = "--with-udev --with-pciaccess,--without-udev,udev libpciaccess,"
143PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux,"
144PACKAGECONFIG[ebtables] = "ac_cv_path_EBTABLES_PATH=/sbin/ebtables,ac_cv_path_EBTABLES_PATH=,ebtables,ebtables"
145
146# Enable the Python tool support
147require libvirt-python.inc
148
149do_install_append() {
150 install -d ${D}/etc/init.d
151 install -d ${D}/etc/libvirt
152
153 install -m 0755 ${WORKDIR}/libvirtd.sh ${D}/etc/init.d/libvirtd
154 install -m 0644 ${WORKDIR}/libvirtd.conf ${D}/etc/libvirt/libvirtd.conf
155
156 # This will wind up in the libvirtd package, but will NOT be invoked by default.
157 #
158 mv ${D}/${libexecdir}/libvirt-guests.sh ${D}/${sysconfdir}/init.d
159
160 # The /var/run/libvirt directories created by the Makefile
161 # are wiped out in volatile, we need to create these at boot.
162 rm -rf ${D}${localstatedir}/run
163 install -d ${D}${sysconfdir}/default/volatiles
164 echo "d root root 0755 ${localstatedir}/run/libvirt none" \
165 > ${D}${sysconfdir}/default/volatiles/99_libvirt
166 echo "d root root 0755 ${localstatedir}/run/libvirt/lockd none" \
167 >> ${D}${sysconfdir}/default/volatiles/99_libvirt
168 echo "d root root 0755 ${localstatedir}/run/libvirt/lxc none" \
169 >> ${D}${sysconfdir}/default/volatiles/99_libvirt
170 echo "d root root 0755 ${localstatedir}/run/libvirt/network none" \
171 >> ${D}${sysconfdir}/default/volatiles/99_libvirt
172 echo "d root root 0755 ${localstatedir}/run/libvirt/qemu none" \
173 >> ${D}${sysconfdir}/default/volatiles/99_libvirt
174}
175
176pkg_postinst_libvirt() {
177 if [ -z "$D" ] && [ -e /etc/init.d/populate-volatile.sh ] ; then
178 /etc/init.d/populate-volatile.sh update
179 fi
180}