summaryrefslogtreecommitdiffstats
path: root/recipes-extended/libvirt/libvirt_1.2.2.bb
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-extended/libvirt/libvirt_1.2.2.bb')
-rw-r--r--recipes-extended/libvirt/libvirt_1.2.2.bb216
1 files changed, 216 insertions, 0 deletions
diff --git a/recipes-extended/libvirt/libvirt_1.2.2.bb b/recipes-extended/libvirt/libvirt_1.2.2.bb
new file mode 100644
index 00000000..0cd6b990
--- /dev/null
+++ b/recipes-extended/libvirt/libvirt_1.2.2.bb
@@ -0,0 +1,216 @@
1DESCRIPTION = "A toolkit to interact with the virtualization capabilities of recent versions of Linux."
2HOMEPAGE = "http://libvirt.org"
3LICENSE = "LGPLv2.1+"
4LICENSE_${PN}-ptest = "GPLv2+ & LGPLv2.1"
5LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
6 file://COPYING.LESSER;md5=4fbd65380cdd255951079008b364516c"
7SECTION = "console/tools"
8PR = "r1"
9
10DEPENDS = "bridge-utils gnutls libxml2 lvm2 avahi parted curl libpcap util-linux e2fsprogs pm-utils \
11 iptables dnsmasq readline"
12
13# libvirt-guests.sh needs gettext.sh
14#
15RDEPENDS_${PN} = "gettext-runtime"
16
17RDEPENDS_${PN}-ptest += "make gawk"
18
19RDEPENDS_libvirt-libvirtd += "bridge-utils iptables pm-utils dnsmasq netcat-openbsd"
20RDEPENDS_libvirt-libvirtd_append_x86-64 = " dmidecode"
21RDEPENDS_libvirt-libvirtd_append_x86 = " dmidecode"
22
23#connman blocks the 53 port and libvirtd can't start its DNS service
24RCONFLICTS_${PN}_libvirtd = "connman"
25
26SRC_URI = "http://libvirt.org/sources/libvirt-${PV}.tar.gz;name=libvirt \
27 file://tools-add-libvirt-net-rpc-to-virt-host-validate-when.patch \
28 file://libvirtd.sh \
29 file://libvirtd.conf \
30 file://runptest.patch \
31 file://run-ptest \
32 "
33
34SRC_URI[libvirt.md5sum] = "592958ad1ddce7574d8cb0a31e635acd"
35SRC_URI[libvirt.sha256sum] = "a48377e307c5c21b67e43db99af909a23c33aff8cbbaa3361fd389eb047cbbc3"
36
37inherit autotools gettext update-rc.d pkgconfig ptest
38
39CACHED_CONFIGUREVARS += "\
40ac_cv_path_XMLLINT=/usr/bin/xmllint \
41ac_cv_path_XMLCATLOG=/usr/bin/xmlcatalog \
42ac_cv_path_AUGPARSE=/usr/bin/augparse \
43ac_cv_path_DNSMASQ=/usr/bin/dnsmasq \
44ac_cv_path_BRCTL=/usr/sbin/brctl \
45ac_cv_path_TC=/sbin/tc \
46ac_cv_path_UDEVADM=/sbin/udevadm \
47ac_cv_path_MODPROBE=/sbin/modprobe \
48ac_cv_path_IP_PATH=/bin/ip \
49ac_cv_path_IPTABLES_PATH=/usr/sbin/iptables \
50ac_cv_path_IP6TABLES_PATH=/usr/sbin/ip6tables \
51ac_cv_path_MOUNT=/bin/mount \
52ac_cv_path_UMOUNT=/bin/umount \
53ac_cv_path_MKFS=/usr/sbin/mkfs \
54ac_cv_path_SHOWMOUNT=/usr/sbin/showmount \
55ac_cv_path_PVCREATE=/usr/sbin/pvcreate \
56ac_cv_path_VGCREATE=/usr/sbin/vgcreate \
57ac_cv_path_LVCREATE=/usr/sbin/lvcreate \
58ac_cv_path_PVREMOVE=/usr/sbin/pvremove \
59ac_cv_path_VGREMOVE=/usr/sbin/vgremove \
60ac_cv_path_LVREMOVE=/usr/sbin/lvremove \
61ac_cv_path_LVCHANGE=/usr/sbin/lvchange \
62ac_cv_path_VGCHANGE=/usr/sbin/vgchange \
63ac_cv_path_VGSCAN=/usr/sbin/vgscan \
64ac_cv_path_PVS=/usr/sbin/pvs \
65ac_cv_path_VGS=/usr/sbin/vgs \
66ac_cv_path_LVS=/usr/sbin/lvs \
67ac_cv_path_PARTED=/usr/sbin/parted \
68ac_cv_path_DMSETUP=/usr/sbin/dmsetup"
69
70# Some other possible paths we are not yet setting
71#ac_cv_path_RPCGEN=
72#ac_cv_path_XSLTPROC=
73#ac_cv_path_RADVD=
74#ac_cv_path_UDEVSETTLE=
75#ac_cv_path_EBTABLES_PATH=
76#ac_cv_path_PKG_CONFIG=
77#ac_cv_path_ac_pt_PKG_CONFIG
78#ac_cv_path_PKCHECK_PATH=
79#ac_cv_path_POLKIT_AUTH=
80#ac_cv_path_DTRACE=
81#ac_cv_path_ISCSIADM=
82#ac_cv_path_MSGFMT=
83#ac_cv_path_GMSGFMT=
84#ac_cv_path_XGETTEXT=
85#ac_cv_path_MSGMERGE=
86#ac_cv_path_SCRUB=
87#ac_cv_path_PYTHON=
88
89ALLOW_EMPTY_${PN} = "1"
90
91PACKAGES =+ "${PN}-libvirtd ${PN}-virsh"
92
93ALLOW_EMPTY_${PN}-libvirtd = "1"
94
95FILES_${PN}-libvirtd = "${sysconfdir}/init.d \
96 ${sysconfdir}/sysctl.d \
97 ${sysconfdir}/logrotate.d \
98 ${sysconfdir}/libvirt/libvirtd.conf \
99 /usr/lib/sysctl.d/libvirtd.conf \
100 ${sbindir}/libvirtd"
101
102FILES_${PN}-virsh = "${bindir}/virsh"
103FILES_${PN} += "${libdir}/libvirt/connection-driver \
104 ${datadir}/augeas \
105 ${datadir}/polkit-1"
106
107FILES_${PN}-dbg += "${libdir}/libvirt/connection-driver/.debug ${libdir}/libvirt/lock-driver/.debug"
108FILES_${PN}-staticdev += "${libdir}/*.a ${libdir}/libvirt/connection-driver/*.a ${libdir}/libvirt/lock-driver/*.a"
109
110INITSCRIPT_PACKAGES = "${PN}-libvirtd"
111INITSCRIPT_NAME_${PN}-libvirtd = "libvirtd"
112INITSCRIPT_PARAMS_${PN}-libvirtd = "defaults 72"
113
114PRIVATE_LIBS_${PN}-ptest = " \
115 libvirt-lxc.so.0 \
116 libvirt.so.0 \
117 libvirt-qemu.so.0 \
118 lockd.so \
119 libvirt_driver_secret.so \
120 libvirt_driver_nodedev.so \
121 libvirt_driver_vbox.so \
122 libvirt_driver_interface.so \
123 libvirt_driver_uml.so \
124 libvirt_driver_network.so \
125 libvirt_driver_nwfilter.so \
126 libvirt_driver_qemu.so \
127 libvirt_driver_storage.so \
128 libvirt_driver_lxc.so \
129 "
130
131# xen-minimal config
132#PACKAGECONFIG ??= "xen libxl xen-inotify test remote libvirtd"
133
134# full config
135PACKAGECONFIG ??= "qemu yajl uml openvz vmware vbox esx iproute2 lxc test \
136 remote macvtap libvirtd netcf udev python ebtables \
137 ${@base_contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)} \
138 ${@base_contains('DISTRO_FEATURES', 'xen', 'xen libxl xen-inotify', '', d)} \
139 ${@base_contains('DISTRO_FEATURES', 'x11', 'polkit', '', d)} \
140 "
141
142# enable,disable,depends,rdepends
143#
144PACKAGECONFIG[qemu] = "--with-qemu,--without-qemu,qemu,"
145PACKAGECONFIG[yajl] = "--with-yajl,--without-yajl,yajl,yajl"
146PACKAGECONFIG[xen] = "--with-xen,--without-xen,xen,"
147PACKAGECONFIG[xenapi] = "--with-xenapi,--without-xenapi,,"
148PACKAGECONFIG[libxl] = "--with-libxl=${STAGING_DIR_TARGET}/lib,--without-libxl,libxl,"
149PACKAGECONFIG[xen-inotify] = "--with-xen-inotify,--without-xen-inotify,xen,"
150PACKAGECONFIG[uml] = "--with-uml, --without-uml,,"
151PACKAGECONFIG[openvz] = "--with-openvz,--without-openvz,,"
152PACKAGECONFIG[vmware] = "--with-vmware,--without-vmware,,"
153PACKAGECONFIG[phyp] = "--with-phyp,--without-phyp,,"
154PACKAGECONFIG[vbox] = "--with-vbox,--without-vbox,,"
155PACKAGECONFIG[esx] = "--with-esx,--without-esx,,"
156PACKAGECONFIG[hyperv] = "--with-hyperv,--without-hyperv,,"
157PACKAGECONFIG[polkit] = "--with-polkit,--without-polkit,polkit,polkit"
158PACKAGECONFIG[lxc] = "--with-lxc,--without-lxc, lxc,"
159PACKAGECONFIG[test] = "--with-test=yes,--with-test=no,,"
160PACKAGECONFIG[remote] = "--with-remote,--without-remote,,"
161PACKAGECONFIG[macvtap] = "--with-macvtap=yes,--with-macvtap=no,libnl,libnl"
162PACKAGECONFIG[libvirtd] = "--with-libvirtd,--without-libvirtd,,"
163PACKAGECONFIG[netcf] = "--with-netcf,--without-netcf,netcf,netcf"
164PACKAGECONFIG[dtrace] = "--with-dtrace,--without-dtrace,,"
165PACKAGECONFIG[udev] = "--with-udev --with-pciaccess,--without-udev,udev libpciaccess,"
166PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux,"
167PACKAGECONFIG[ebtables] = "ac_cv_path_EBTABLES_PATH=/sbin/ebtables,ac_cv_path_EBTABLES_PATH=,ebtables,ebtables"
168PACKAGECONFIG[python] = ",,python,"
169PACKAGECONFIG[sasl] = "--with-sasl,--without-sasl,cyrus-sasl,cyrus-sasl"
170PACKAGECONFIG[iproute2] = "ac_cv_path_IP_PATH=/sbin/ip,ac_cv_path_IP_PATH=,iproute2,iproute2"
171
172# Enable the Python tool support
173require libvirt-python.inc
174
175do_install_append() {
176 install -d ${D}/etc/init.d
177 install -d ${D}/etc/libvirt
178
179 install -m 0755 ${WORKDIR}/libvirtd.sh ${D}/etc/init.d/libvirtd
180 install -m 0644 ${WORKDIR}/libvirtd.conf ${D}/etc/libvirt/libvirtd.conf
181
182 # This will wind up in the libvirtd package, but will NOT be invoked by default.
183 #
184 mv ${D}/${libexecdir}/libvirt-guests.sh ${D}/${sysconfdir}/init.d
185
186 # The /var/run/libvirt directories created by the Makefile
187 # are wiped out in volatile, we need to create these at boot.
188 rm -rf ${D}${localstatedir}/run
189 install -d ${D}${sysconfdir}/default/volatiles
190 echo "d root root 0755 ${localstatedir}/run/libvirt none" \
191 > ${D}${sysconfdir}/default/volatiles/99_libvirt
192 echo "d root root 0755 ${localstatedir}/run/libvirt/lockd none" \
193 >> ${D}${sysconfdir}/default/volatiles/99_libvirt
194 echo "d root root 0755 ${localstatedir}/run/libvirt/lxc none" \
195 >> ${D}${sysconfdir}/default/volatiles/99_libvirt
196 echo "d root root 0755 ${localstatedir}/run/libvirt/network none" \
197 >> ${D}${sysconfdir}/default/volatiles/99_libvirt
198 echo "d root root 0755 ${localstatedir}/run/libvirt/qemu none" \
199 >> ${D}${sysconfdir}/default/volatiles/99_libvirt
200}
201
202EXTRA_OEMAKE = "BUILD_DIR=${B} DEST_DIR=${D}${PTEST_PATH} PTEST_DIR=${PTEST_PATH}"
203
204do_compile_ptest() {
205 oe_runmake -C tests buildtest-TESTS
206}
207
208do_install_ptest() {
209 oe_runmake -C tests install-ptest
210}
211
212pkg_postinst_libvirt() {
213 if [ -z "$D" ] && [ -e /etc/init.d/populate-volatile.sh ] ; then
214 /etc/init.d/populate-volatile.sh update
215 fi
216}