summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--recipes-extended/xen/xen.inc632
-rw-r--r--recipes-extended/xen/xen_4.3.1.bb636
2 files changed, 635 insertions, 633 deletions
diff --git a/recipes-extended/xen/xen.inc b/recipes-extended/xen/xen.inc
new file mode 100644
index 00000000..fff3dc17
--- /dev/null
+++ b/recipes-extended/xen/xen.inc
@@ -0,0 +1,632 @@
1DESCRIPTION = "Xen hypervisor"
2HOMEPAGE = "http://xen.org"
3LICENSE = "GPLv2"
4SECTION = "console/tools"
5PR = "r0"
6
7LIC_FILES_CHKSUM = "file://COPYING;md5=e0f0f3ac55608719a82394cc353928df"
8
9COMPATIBLE_HOST = '(x86_64.*).*-linux'
10
11inherit autotools gettext setuptools update-rc.d
12
13PACKAGECONFIG ??= " \
14 sdl \
15"
16
17PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,virtual/libsdl,"
18PACKAGECONFIG[xsm] = "--enable-xsmpolicy,--disable-xsmpolicy,checkpolicy-native,"
19
20DEPENDS = "util-linux util-linux-native file-native zlib ncurses openssl bison-native flex-native gettext dev86-native iasl-native pciutils bridge-utils iproute2 procps yajl pixman python python-setuptools-native xz xz-native glib-2.0"
21
22# inherit setuptools adds python to RDEPENDS, override it
23RDEPENDS_${PN} = ""
24
25RDEPENDS_${PN}-base = "\
26 libgcc udev bash perl xz \
27 ${PN}-blktap \
28 ${PN}-console \
29 ${PN}-libblktapctl \
30 ${PN}-libxenguest \
31 ${PN}-libxenlight \
32 ${PN}-libxenvchan \
33 ${PN}-libxenctrl \
34 ${PN}-libxlutil \
35 ${PN}-libvhd \
36 ${PN}-libxenstat \
37 ${PN}-libxenstore \
38 ${PN}-libblktap \
39 ${PN}-libfsimage \
40 ${PN}-flask \
41 ${PN}-fsimage \
42 ${PN}-hvmloader \
43 ${PN}-scripts-block \
44 ${PN}-scripts-network \
45 ${PN}-udev \
46 ${PN}-xenpaging \
47 ${PN}-xen-watchdog \
48 ${PN}-xencommons \
49 ${PN}-xendomains \
50 ${PN}-xenstore \
51 ${PN}-xenstored \
52 ${PN}-xl \
53 "
54
55RDEPENDS_${PN}-scripts-block = "\
56 ${PN}-scripts-common \
57 ${PN}-udev \
58 "
59
60RDEPENDS_${PN}-scripts-network = "\
61 bridge-utils \
62 ${PN}-scripts-common \
63 ${PN}-udev \
64 "
65
66PACKAGES = "\
67 ${PN}-base \
68 ${PN}-blktap \
69 ${PN}-console \
70 ${PN}-dbg \
71 ${PN}-dev \
72 ${PN}-doc \
73 ${PN}-flask \
74 ${PN}-fsimage \
75 ${PN}-gdbsx \
76 ${PN}-hvmloader \
77 ${PN}-hypervisor \
78 ${PN}-kdd \
79 ${PN}-libblktap \
80 ${PN}-libblktapctl \
81 ${PN}-libblktapctl-dev \
82 ${PN}-libblktap-dev \
83 ${PN}-libfsimage \
84 ${PN}-libfsimage-dev \
85 ${PN}-libvhd \
86 ${PN}-libvhd-dev \
87 ${PN}-libxenctrl \
88 ${PN}-libxenctrl-dev \
89 ${PN}-libxenguest \
90 ${PN}-libxenguest-dev \
91 ${PN}-libxenlight \
92 ${PN}-libxenlight-dev \
93 ${PN}-libxenstat \
94 ${PN}-libxenstat-dev \
95 ${PN}-libxenstore \
96 ${PN}-libxenstore-dev \
97 ${PN}-libxenvchan \
98 ${PN}-libxenvchan-dev \
99 ${PN}-libxlutil \
100 ${PN}-libxlutil-dev \
101 ${PN}-misc \
102 ${PN}-pygrub \
103 ${PN}-python \
104 ${PN}-qemu \
105 ${PN}-remus \
106 ${PN}-scripts-block \
107 ${PN}-scripts-common \
108 ${PN}-scripts-network \
109 ${PN}-staticdev \
110 ${PN}-udev \
111 ${PN}-xcutils \
112 ${PN}-xencommons \
113 ${PN}-xend \
114 ${PN}-xend-examples \
115 ${PN}-xendomains \
116 ${PN}-xenmon \
117 ${PN}-xenpaging \
118 ${PN}-xenpmd \
119 ${PN}-xenstat \
120 ${PN}-xenstore \
121 ${PN}-xenstored \
122 ${PN}-xentrace \
123 ${PN}-xen-watchdog \
124 ${PN}-xl \
125 ${PN}-xl-examples \
126 ${PN}-xm \
127 ${PN}-xm-examples \
128 "
129
130FILES_${PN}-dbg += "\
131 ${libdir}/.debug \
132 ${libdir}/xen/bin/.debug \
133 ${libdir}/python2.7/site-packages/.debug \
134 ${libdir}/python2.7/site-packages/xen/lowlevel/.debug \
135 ${libdir}/fs/xfs/.debug \
136 ${libdir}/fs/ufs/.debug \
137 ${libdir}/fs/ext2fs-lib/.debug \
138 ${libdir}/fs/fat/.debug \
139 ${libdir}/fs/zfs/.debug \
140 ${libdir}/fs/reiserfs/.debug \
141 ${libdir}/fs/iso9660/.debug \
142 ${sbindir}/.debug \
143 ${libdir}exec/.debug \
144 ${bindir}/.debug \
145 ${libdir}/python2.7/dist-packages/.debug \
146 ${libdir}/python2.7/dist-packages/xen/lowlevel/.debug \
147 "
148
149FILES_${PN}-dev = "\
150 ${includedir} \
151 "
152
153FILES_${PN}-doc = "\
154 ${sysconfdir}/xen/README \
155 ${sysconfdir}/xen/README.incompatibilities \
156 ${datadir}/doc \
157 ${datadir}/man \
158 "
159
160FILES_${PN}-staticdev += "\
161 ${libdir}/libblktapctl.a \
162 ${libdir}/libxenguest.a \
163 ${libdir}/libxenlight.a \
164 ${libdir}/libxenvchan.a \
165 ${libdir}/libxenctrl.a \
166 ${libdir}/libxlutil.a \
167 ${libdir}/libvhd.a \
168 ${libdir}/libxenstat.a \
169 ${libdir}/libxenstore.a \
170 ${libdir}/libblktap.a \
171 "
172
173FILES_${PN}-libblktapctl = "${libdir}/libblktapctl.so.*"
174FILES_${PN}-libblktapctl-dev = "${libdir}/libblktapctl.so"
175
176FILES_${PN}-libxenguest = "${libdir}/libxenguest.so.*"
177FILES_${PN}-libxenguest-dev = "${libdir}/libxenguest.so"
178
179FILES_${PN}-libxenlight = "${libdir}/libxenlight.so.*"
180FILES_${PN}-libxenlight-dev = "${libdir}/libxenlight.so"
181
182FILES_${PN}-libxenvchan = "${libdir}/libxenvchan.so.*"
183FILES_${PN}-libxenvchan-dev = "${libdir}/libxenvchan.so"
184
185FILES_${PN}-libxenctrl = "${libdir}/libxenctrl.so.*"
186FILES_${PN}-libxenctrl-dev = "${libdir}/libxenctrl.so"
187
188FILES_${PN}-libxlutil = "${libdir}/libxlutil.so.*"
189FILES_${PN}-libxlutil-dev = "${libdir}/libxlutil.so"
190
191FILES_${PN}-libvhd = "${libdir}/libvhd.so.*"
192FILES_${PN}-libvhd-dev = "${libdir}/libvhd.so"
193
194FILES_${PN}-libxenstat = "${libdir}/libxenstat.so.*"
195FILES_${PN}-libxenstat-dev = "${libdir}/libxenstat.so"
196
197FILES_${PN}-libxenstore = "${libdir}/libxenstore.so.*"
198FILES_${PN}-libxenstore-dev = "${libdir}/libxenstore.so"
199
200FILES_${PN}-libblktap = "${libdir}/libblktap.so.*"
201FILES_${PN}-libblktap-dev = "${libdir}/libblktap.so"
202
203FILES_${PN}-libfsimage = "${libdir}/libfsimage.so.*"
204FILES_${PN}-libfsimage-dev = "${libdir}/libfsimage.so"
205
206FILES_${PN}-fsimage = "${libdir}/fs/*/*fsimage.so"
207
208FILES_${PN}-hypervisor = "\
209 /boot/xen-*.gz \
210 /boot/xen.gz \
211 /boot/xen-syms-* \
212 "
213
214FILES_${PN}-base = "\
215 ${sysconfdir}/default/volatiles/99_xen \
216 ${sysconfdir}/default/xencommons \
217 ${sysconfdir}/default/xendomains \
218 ${sysconfdir}/xen/auto \
219 ${sysconfdir}/xen/cpupool \
220 ${sysconfdir}/sysconfig/xendomains \
221 ${localstatedir}/xen/dump \
222 "
223
224FILES_${PN}-blktap = "\
225 ${sbindir}/blktapctrl \
226 ${sbindir}/img2qcow \
227 ${sbindir}/lock-util \
228 ${sbindir}/qcow2raw \
229 ${sbindir}/qcow-create \
230 ${sbindir}/tap-ctl \
231 ${sbindir}/tapdisk \
232 ${sbindir}/tapdisk2 \
233 ${sbindir}/tapdisk-client \
234 ${sbindir}/tapdisk-diff \
235 ${sbindir}/tapdisk-stream \
236 ${sbindir}/td-util \
237 ${sbindir}/vhd-update \
238 ${sbindir}/vhd-util \
239 "
240
241FILES_${PN}-console = "\
242 ${libdir}/xen/bin/xenconsole \
243 ${sbindir}/xenconsoled \
244 "
245
246FILES_${PN}-flask = "\
247 ${sbindir}/flask-get-bool \
248 ${sbindir}/flask-getenforce \
249 ${sbindir}/flask-label-pci \
250 ${sbindir}/flask-loadpolicy \
251 ${sbindir}/flask-set-bool \
252 ${sbindir}/flask-setenforce \
253 /boot/xenpolicy.24 \
254 "
255
256FILES_${PN}-gdbsx = "\
257 ${sbindir}/gdbsx \
258 "
259
260INSANE_SKIP_${PN}-hvmloader = "arch"
261FILES_${PN}-hvmloader = "\
262 ${libdir}/xen/boot/hvmloader \
263 "
264
265FILES_${PN}-kdd = "\
266 ${sbindir}/kdd \
267 "
268
269FILES_${PN}-misc = "\
270 ${bindir}/xencons \
271 ${bindir}/xencov_split \
272 ${bindir}/xen-detect \
273 ${libdir}/xen/bin/xenpvnetboot \
274 ${sbindir}/gtracestat \
275 ${sbindir}/gtraceview \
276 ${sbindir}/xen-bugtool \
277 ${sbindir}/xencov \
278 ${sbindir}/xenperf \
279 ${sbindir}/xenpm \
280 ${sbindir}/xsview \
281 ${sbindir}/xen-tmem-list-parse \
282 ${sbindir}/xen-python-path \
283 ${sbindir}/xen-ringwatch \
284 ${sbindir}/xen-hptool \
285 ${sbindir}/xen-hvmcrash \
286 ${sbindir}/xen-hvmctx \
287 ${sbindir}/xenlockprof \
288 ${sbindir}/xen-lowmemd \
289 "
290
291FILES_${PN}-pygrub = "\
292 ${bindir}/pygrub \
293 ${libdir}/xen/bin/pygrub \
294 "
295
296FILES_${PN}-python = "\
297 ${libdir}/python2.7 \
298 "
299
300INSANE_SKIP_${PN} = "already-stripped"
301INSANE_SKIP_${PN}-qemu = "arch"
302FILES_${PN}-qemu = " \
303 ${datadir}/xen/qemu \
304 ${libdir}/xen/bin/qemu-system-i386 \
305 ${libdir}/xen/bin/qemu-system-x86_64 \
306 ${libdir}/xen/bin/qemu-img \
307 ${libdir}/xen/bin/qemu-nbd \
308 ${libdir}/xen/bin/qemu-ga \
309 ${libdir}/xen/bin/qemu-io \
310 ${libdir}/xen/bin/qemu-dm \
311 ${libdir}/xen/bin/virtfs-proxy-helper \
312 /usr/libexec/qemu-bridge-helper \
313 /usr/etc/qemu \
314 /usr/etc/qemu/target-x86_64.conf \
315 ${datadir}/qemu-xen \
316 ${datadir}/qemu-xen/qemu \
317 ${datadir}/qemu-xen/qemu/bamboo.dtb \
318 ${datadir}/qemu-xen/qemu/pxe-pcnet.rom \
319 ${datadir}/qemu-xen/qemu/vgabios-vmware.bin \
320 ${datadir}/qemu-xen/qemu/pxe-eepro100.rom \
321 ${datadir}/qemu-xen/qemu/pxe-e1000.rom \
322 ${datadir}/qemu-xen/qemu/openbios-ppc \
323 ${datadir}/qemu-xen/qemu/multiboot.bin \
324 ${datadir}/qemu-xen/qemu/vgabios-cirrus.bin \
325 ${datadir}/qemu-xen/qemu/bios.bin \
326 ${datadir}/qemu-xen/qemu/vgabios-stdvga.bin \
327 ${datadir}/qemu-xen/qemu/palcode-clipper \
328 ${datadir}/qemu-xen/qemu/pxe-ne2k_pci.rom \
329 ${datadir}/qemu-xen/qemu/spapr-rtas.bin \
330 ${datadir}/qemu-xen/qemu/slof.bin \
331 ${datadir}/qemu-xen/qemu/vgabios-qxl.bin \
332 ${datadir}/qemu-xen/qemu/pxe-rtl8139.rom \
333 ${datadir}/qemu-xen/qemu/openbios-sparc64 \
334 ${datadir}/qemu-xen/qemu/pxe-virtio.rom \
335 ${datadir}/qemu-xen/qemu/kvmvapic.bin \
336 ${datadir}/qemu-xen/qemu/openbios-sparc32 \
337 ${datadir}/qemu-xen/qemu/petalogix-s3adsp1800.dtb \
338 ${datadir}/qemu-xen/qemu/sgabios.bin \
339 ${datadir}/qemu-xen/qemu/linuxboot.bin \
340 ${datadir}/qemu-xen/qemu/qemu-icon.bmp \
341 ${datadir}/qemu-xen/qemu/ppc_rom.bin \
342 ${datadir}/qemu-xen/qemu/vgabios.bin \
343 ${datadir}/qemu-xen/qemu/s390-zipl.rom \
344 ${datadir}/qemu-xen/qemu/petalogix-ml605.dtb \
345 ${datadir}/qemu-xen/qemu/keymaps \
346 ${datadir}/qemu-xen/qemu/keymaps/common \
347 ${datadir}/qemu-xen/qemu/keymaps/th \
348 ${datadir}/qemu-xen/qemu/keymaps/is \
349 ${datadir}/qemu-xen/qemu/keymaps/en-gb \
350 ${datadir}/qemu-xen/qemu/keymaps/ar \
351 ${datadir}/qemu-xen/qemu/keymaps/fr-be \
352 ${datadir}/qemu-xen/qemu/keymaps/ru \
353 ${datadir}/qemu-xen/qemu/keymaps/hu \
354 ${datadir}/qemu-xen/qemu/keymaps/de-ch \
355 ${datadir}/qemu-xen/qemu/keymaps/no \
356 ${datadir}/qemu-xen/qemu/keymaps/fr \
357 ${datadir}/qemu-xen/qemu/keymaps/pl \
358 ${datadir}/qemu-xen/qemu/keymaps/fr-ca \
359 ${datadir}/qemu-xen/qemu/keymaps/de \
360 ${datadir}/qemu-xen/qemu/keymaps/fr-ch \
361 ${datadir}/qemu-xen/qemu/keymaps/bepo \
362 ${datadir}/qemu-xen/qemu/keymaps/lv \
363 ${datadir}/qemu-xen/qemu/keymaps/ja \
364 ${datadir}/qemu-xen/qemu/keymaps/da \
365 ${datadir}/qemu-xen/qemu/keymaps/lt \
366 ${datadir}/qemu-xen/qemu/keymaps/hr \
367 ${datadir}/qemu-xen/qemu/keymaps/es \
368 ${datadir}/qemu-xen/qemu/keymaps/modifiers \
369 ${datadir}/qemu-xen/qemu/keymaps/sl \
370 ${datadir}/qemu-xen/qemu/keymaps/it \
371 ${datadir}/qemu-xen/qemu/keymaps/nl \
372 ${datadir}/qemu-xen/qemu/keymaps/fo \
373 ${datadir}/qemu-xen/qemu/keymaps/mk \
374 ${datadir}/qemu-xen/qemu/keymaps/pt-br \
375 ${datadir}/qemu-xen/qemu/keymaps/tr \
376 ${datadir}/qemu-xen/qemu/keymaps/sv \
377 ${datadir}/qemu-xen/qemu/keymaps/fi \
378 ${datadir}/qemu-xen/qemu/keymaps/en-us \
379 ${datadir}/qemu-xen/qemu/keymaps/et \
380 ${datadir}/qemu-xen/qemu/keymaps/nl-be \
381 ${datadir}/qemu-xen/qemu/keymaps/pt \
382 ${bindir}/qemu-nbd-xen \
383 ${bindir}/qemu-img-xen \
384 "
385
386FILES_${PN}-remus = "\
387 ${bindir}/remus \
388 "
389
390FILES_${PN}-scripts-network = " \
391 ${sysconfdir}/xen/scripts/network-bridge \
392 ${sysconfdir}/xen/scripts/network-nat \
393 ${sysconfdir}/xen/scripts/network-route \
394 ${sysconfdir}/xen/scripts/qemu-ifup \
395 ${sysconfdir}/xen/scripts/vif2 \
396 ${sysconfdir}/xen/scripts/vif-bridge \
397 ${sysconfdir}/xen/scripts/vif-common.sh \
398 ${sysconfdir}/xen/scripts/vif-nat \
399 ${sysconfdir}/xen/scripts/vif-openvswitch \
400 ${sysconfdir}/xen/scripts/vif-route \
401 ${sysconfdir}/xen/scripts/vif-setup \
402 "
403
404FILES_${PN}-scripts-block = " \
405 ${sysconfdir}/xen/scripts/blktap \
406 ${sysconfdir}/xen/scripts/block \
407 ${sysconfdir}/xen/scripts/block-common.sh \
408 ${sysconfdir}/xen/scripts/block-enbd \
409 ${sysconfdir}/xen/scripts/block-iscsi \
410 ${sysconfdir}/xen/scripts/block-nbd \
411 ${sysconfdir}/xen/scripts/vscsi \
412 "
413
414FILES_${PN}-scripts-common = " \
415 ${sysconfdir}/xen/scripts/external-device-migrate \
416 ${sysconfdir}/xen/scripts/hotplugpath.sh \
417 ${sysconfdir}/xen/scripts/locking.sh \
418 ${sysconfdir}/xen/scripts/logging.sh \
419 ${sysconfdir}/xen/scripts/xen-hotplug-cleanup \
420 ${sysconfdir}/xen/scripts/xen-hotplug-common.sh \
421 ${sysconfdir}/xen/scripts/xen-network-common.sh \
422 ${sysconfdir}/xen/scripts/xen-script-common.sh \
423 "
424
425FILES_${PN}-udev = "\
426 ${sysconfdir}/udev/rules.d/xen-backend.rules \
427 ${sysconfdir}/udev/rules.d/xend.rules \
428 "
429
430FILES_${PN}-xcutils = "\
431 ${libdir}/xen/bin/lsevtchn \
432 ${libdir}/xen/bin/readnotes \
433 ${libdir}/xen/bin/xc_restore \
434 ${libdir}/xen/bin/xc_save \
435 "
436
437FILES_${PN}-xend-examples = "\
438 ${sysconfdir}/xen/xend-config.sxp \
439 ${sysconfdir}/xen/xend-pci-permissive.sxp \
440 ${sysconfdir}/xen/xend-pci-quirks.sxp \
441 "
442
443FILES_${PN}-xenpaging = "\
444 ${libdir}/xen/bin/xenpaging \
445 ${localstatedir}/lib/xen/xenpaging \
446 "
447
448FILES_${PN}-xenpmd = "\
449 ${sbindir}/xenpmd \
450 "
451
452FILES_${PN}-xenstat = "\
453 ${sbindir}/xentop \
454 "
455
456FILES_${PN}-xenstore = "\
457 ${bindir}/xenstore \
458 ${bindir}/xenstore-chmod \
459 ${bindir}/xenstore-control \
460 ${bindir}/xenstore-exists \
461 ${bindir}/xenstore-list \
462 ${bindir}/xenstore-ls \
463 ${bindir}/xenstore-read \
464 ${bindir}/xenstore-rm \
465 ${bindir}/xenstore-watch \
466 ${bindir}/xenstore-write \
467 "
468
469FILES_${PN}-xenstored = "\
470 ${sbindir}/xenstored \
471 ${localstatedir}/lib/xenstored \
472 "
473
474FILES_${PN}-xentrace = "\
475 ${bindir}/xentrace \
476 ${bindir}/xentrace_format \
477 ${bindir}/xentrace_setsize \
478 ${libdir}/xen/bin/xenctx \
479 "
480
481FILES_${PN}-xen-watchdog = "\
482 ${sbindir}/xenwatchdogd \
483 "
484
485FILES_${PN}-xl = "\
486 ${sysconfdir}/bash_completion.d/xl.sh \
487 ${sysconfdir}/xen/xl.conf \
488 ${libdir}/xen/bin/libxl-save-helper \
489 ${sbindir}/xl \
490 "
491
492FILES_${PN}-xl-examples = "\
493 ${sysconfdir}/xen/xlexample.hvm \
494 ${sysconfdir}/xen/xlexample.pvlinux \
495 "
496
497FILES_${PN}-xm-examples = "\
498 ${sysconfdir}/xen/xmexample1 \
499 ${sysconfdir}/xen/xmexample2 \
500 ${sysconfdir}/xen/xmexample3 \
501 ${sysconfdir}/xen/xmexample.hvm \
502 ${sysconfdir}/xen/xmexample.hvm-stubdom \
503 ${sysconfdir}/xen/xmexample.nbd \
504 ${sysconfdir}/xen/xmexample.pv-grub \
505 ${sysconfdir}/xen/xmexample.vti \
506 "
507
508FILES_${PN}-xenmon = "\
509 ${sbindir}/xenbaked \
510 ${sbindir}/xentrace_setmask \
511 ${sbindir}/xenmon.py \
512 "
513
514FILES_${PN}-xm = "\
515 ${sysconfdir}/xen/xm-config.xml \
516 ${datadir}/xen/create.dtd \
517 ${sbindir}/xm \
518 "
519
520FILES_${PN}-xencommons += "${sysconfdir}/init.d/xencommons"
521FILES_${PN}-xend += " \
522 ${sysconfdir}/init.d/xend \
523 ${sbindir}/xend \
524 "
525FILES_${PN}-xendomains += "${sysconfdir}/init.d/xendomains"
526FILES_${PN}-xen-watchdog += "${sysconfdir}/init.d/xen-watchdog"
527
528# configure init.d scripts
529INITSCRIPT_PACKAGES = "${PN}-xend ${PN}-xencommons ${PN}-xen-watchdog ${PN}-xendomains"
530INITSCRIPT_NAME_${PN}-xencommons = "xencommons"
531INITSCRIPT_PARAMS_${PN}-xencommons = "defaults 80"
532INITSCRIPT_NAME_${PN}-xen-watchdog = "xen-watchdog"
533INITSCRIPT_PARAMS_${PN}-xen-watchdog = "defaults 81"
534INITSCRIPT_NAME_${PN}-xend = "xend"
535INITSCRIPT_PARAMS_${PN}-xend = "defaults 82"
536INITSCRIPT_NAME_${PN}-xendomains = "xendomains"
537INITSCRIPT_PARAMS_${PN}-xendomains = "defaults 83"
538
539#### REQUIRED ENVIRONMENT VARIABLES ####
540export BUILD_SYS
541export HOST_SYS
542export STAGING_INCDIR
543export STAGING_LIBDIR
544
545# specify xen hypervisor to target x86_64 (x86_32 not supported)
546export XEN_TARGET_ARCH="x86_64"
547export XEN_COMPILE_ARCH="x86_64"
548
549# this is used for the header (#!${bindir}/python) of the install python scripts
550export PYTHONPATH="${bindir}/python"
551
552# seabios forcefully sets HOSTCC to CC - fixup to allow it to build native conf executable
553export HOSTCC="${BUILD_CC}"
554
555# make xen requires CROSS_COMPILE set by hand as it does not abide by ./configure
556export CROSS_COMPILE="${TARGET_PREFIX}"
557
558# overide LDFLAGS to allow xen to build without: "x86_64-oe-linux-ld: unrecognized option '-Wl,-O1'"
559export LDFLAGS=""
560
561EXTRA_OECONF += " \
562 --exec-prefix=/usr \
563 --prefix=/usr \
564 --host=${HOST_SYS} \
565 --disable-stubdom \
566 --disable-ioemu-stubdom \
567 --disable-pv-grub \
568 --disable-xenstore-stubdom \
569"
570
571do_configure() {
572 # no stubs-32.h in our 64-bit sysroot - hack it into tools/include/gnu
573 test -d ${S}/tools/include/gnu || mkdir ${S}/tools/include/gnu
574 if ! test -f ${STAGING_DIR_TARGET}/usr/include/gnu/stubs-32.h ; then
575 cat ${STAGING_DIR_TARGET}/usr/include/gnu/stubs-64.h | grep -v stub_bdflush | grep -v stub_getmsg | grep -v stub_putmsg > ${S}/tools/include/gnu/stubs-32.h
576 echo \#define __stub___kernel_cosl >> ${S}/tools/include/gnu/stubs-32.h
577 echo \#define __stub___kernel_sinl >> ${S}/tools/include/gnu/stubs-32.h
578 echo \#define __stub___kernel_tanl >> ${S}/tools/include/gnu/stubs-32.h
579 fi
580
581 # do configure
582 oe_runconf
583
584 # seabios needs a patch to specify correct compiler - pull and patch Makefile
585 make -C ${S}/tools/firmware seabios-dir
586 sed -i 's/export HOSTCC.*$(CC)/export HOSTCC ?= $(CC)/g' ${S}/tools/firmware/seabios-dir/Makefile
587}
588
589do_compile() {
590 oe_runmake
591}
592
593do_install() {
594 oe_runmake DESTDIR="${D}" install
595
596 # remove installed volatiles
597 rm -rf ${D}${localstatedir}/run ${D}${localstatedir}/lock ${D}${localstatedir}/log ${D}${localstatedir}/volatile
598
599 # install volatiles using populate_volatiles mechanism
600 install -d ${D}${sysconfdir}/default/volatiles
601 echo "d root root 0755 ${localstatedir}/run/xenstored none" \
602 > ${D}${sysconfdir}/default/volatiles/99_xen
603 echo "d root root 0755 ${localstatedir}/run/xend none" \
604 >> ${D}${sysconfdir}/default/volatiles/99_xen
605 echo "d root root 0755 ${localstatedir}/run/xend/boot none" \
606 >> ${D}${sysconfdir}/default/volatiles/99_xen
607 echo "d root root 0755 ${localstatedir}/run/xen none" \
608 >> ${D}${sysconfdir}/default/volatiles/99_xen
609 echo "d root root 0755 ${localstatedir}/log/xen none" \
610 >> ${D}${sysconfdir}/default/volatiles/99_xen
611 echo "d root root 0755 ${localstatedir}/lock/xen none" \
612 >> ${D}${sysconfdir}/default/volatiles/99_xen
613 echo "d root root 0755 ${localstatedir}/lock/subsys none" \
614 >> ${D}${sysconfdir}/default/volatiles/99_xen
615
616 # workaround for xendomains script which searchs sysconfig if directory exists
617 install -d ${D}${sysconfdir}/sysconfig
618 ln -sf ${sysconfdir}/default/xendomains ${D}${sysconfdir}/sysconfig/xendomains
619}
620
621pkg_postinst_${PN}-base() {
622 if [ -z "$D" ] && [ -e ${sysconfdir}/init.d/populate-volatile.sh ] ; then
623 ${sysconfdir}/init.d/populate-volatile.sh update
624 fi
625}
626
627sysroot_stage_all_append() {
628 sysroot_stage_dir ${D}/boot ${SYSROOT_DESTDIR}/kernel
629
630 install -d ${DEPLOY_DIR_IMAGE}
631 install -m 0644 ${D}/boot/xen.gz ${DEPLOY_DIR_IMAGE}/xen-${MACHINE}.gz
632}
diff --git a/recipes-extended/xen/xen_4.3.1.bb b/recipes-extended/xen/xen_4.3.1.bb
index f28fd795..46563cea 100644
--- a/recipes-extended/xen/xen_4.3.1.bb
+++ b/recipes-extended/xen/xen_4.3.1.bb
@@ -1,10 +1,4 @@
1DESCRIPTION = "Xen hypervisor" 1require xen.inc
2HOMEPAGE = "http://xen.org"
3LICENSE = "GPLv2"
4SECTION = "console/tools"
5PR = "r0"
6
7LIC_FILES_CHKSUM = "file://COPYING;md5=e0f0f3ac55608719a82394cc353928df"
8 2
9SRC_URI = " \ 3SRC_URI = " \
10 http://bits.xensource.com/oss-xen/release/${PV}/xen-${PV}.tar.gz \ 4 http://bits.xensource.com/oss-xen/release/${PV}/xen-${PV}.tar.gz \
@@ -16,634 +10,10 @@ SRC_URI[sha256sum] = "3b5b7cc508b1739753585b5c25635471cdcef680e8770a78bf6ef9333d
16 10
17S = "${WORKDIR}/xen-${PV}" 11S = "${WORKDIR}/xen-${PV}"
18 12
19COMPATIBLE_HOST = '(x86_64.*).*-linux' 13do_configure_prepend() {
20 14 # fixup qemu-xen-traditional pciutils check hardcoded to test /usr/include/pci
21inherit autotools gettext setuptools update-rc.d
22
23PACKAGECONFIG ??= " \
24 sdl \
25"
26PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,virtual/libsdl,"
27PACKAGECONFIG[xsm] = "--enable-xsmpolicy,--disable-xsmpolicy,checkpolicy-native,"
28
29DEPENDS = "util-linux util-linux-native file-native zlib ncurses openssl bison-native flex-native gettext dev86-native iasl-native pciutils bridge-utils iproute2 procps yajl pixman python python-setuptools-native xz xz-native glib-2.0"
30
31# inherit setuptools adds python to RDEPENDS, override it
32RDEPENDS_${PN} = ""
33
34RDEPENDS_${PN}-base = "\
35 libgcc udev bash perl xz \
36 ${PN}-blktap \
37 ${PN}-console \
38 ${PN}-libblktapctl \
39 ${PN}-libxenguest \
40 ${PN}-libxenlight \
41 ${PN}-libxenvchan \
42 ${PN}-libxenctrl \
43 ${PN}-libxlutil \
44 ${PN}-libvhd \
45 ${PN}-libxenstat \
46 ${PN}-libxenstore \
47 ${PN}-libblktap \
48 ${PN}-libfsimage \
49 ${PN}-flask \
50 ${PN}-fsimage \
51 ${PN}-hvmloader \
52 ${PN}-scripts-block \
53 ${PN}-scripts-network \
54 ${PN}-udev \
55 ${PN}-xenpaging \
56 ${PN}-xen-watchdog \
57 ${PN}-xencommons \
58 ${PN}-xendomains \
59 ${PN}-xenstore \
60 ${PN}-xenstored \
61 ${PN}-xl \
62 "
63
64RDEPENDS_${PN}-scripts-block = "\
65 ${PN}-scripts-common \
66 ${PN}-udev \
67 "
68
69RDEPENDS_${PN}-scripts-network = "\
70 bridge-utils \
71 ${PN}-scripts-common \
72 ${PN}-udev \
73 "
74
75PACKAGES = "\
76 ${PN}-base \
77 ${PN}-blktap \
78 ${PN}-console \
79 ${PN}-dbg \
80 ${PN}-dev \
81 ${PN}-doc \
82 ${PN}-flask \
83 ${PN}-fsimage \
84 ${PN}-gdbsx \
85 ${PN}-hvmloader \
86 ${PN}-hypervisor \
87 ${PN}-kdd \
88 ${PN}-libblktap \
89 ${PN}-libblktapctl \
90 ${PN}-libblktapctl-dev \
91 ${PN}-libblktap-dev \
92 ${PN}-libfsimage \
93 ${PN}-libfsimage-dev \
94 ${PN}-libvhd \
95 ${PN}-libvhd-dev \
96 ${PN}-libxenctrl \
97 ${PN}-libxenctrl-dev \
98 ${PN}-libxenguest \
99 ${PN}-libxenguest-dev \
100 ${PN}-libxenlight \
101 ${PN}-libxenlight-dev \
102 ${PN}-libxenstat \
103 ${PN}-libxenstat-dev \
104 ${PN}-libxenstore \
105 ${PN}-libxenstore-dev \
106 ${PN}-libxenvchan \
107 ${PN}-libxenvchan-dev \
108 ${PN}-libxlutil \
109 ${PN}-libxlutil-dev \
110 ${PN}-misc \
111 ${PN}-pygrub \
112 ${PN}-python \
113 ${PN}-qemu \
114 ${PN}-remus \
115 ${PN}-scripts-block \
116 ${PN}-scripts-common \
117 ${PN}-scripts-network \
118 ${PN}-staticdev \
119 ${PN}-udev \
120 ${PN}-xcutils \
121 ${PN}-xencommons \
122 ${PN}-xend \
123 ${PN}-xend-examples \
124 ${PN}-xendomains \
125 ${PN}-xenmon \
126 ${PN}-xenpaging \
127 ${PN}-xenpmd \
128 ${PN}-xenstat \
129 ${PN}-xenstore \
130 ${PN}-xenstored \
131 ${PN}-xentrace \
132 ${PN}-xen-watchdog \
133 ${PN}-xl \
134 ${PN}-xl-examples \
135 ${PN}-xm \
136 ${PN}-xm-examples \
137 "
138
139FILES_${PN}-dbg += "\
140 ${libdir}/.debug \
141 ${libdir}/xen/bin/.debug \
142 ${libdir}/python2.7/site-packages/.debug \
143 ${libdir}/python2.7/site-packages/xen/lowlevel/.debug \
144 ${libdir}/fs/xfs/.debug \
145 ${libdir}/fs/ufs/.debug \
146 ${libdir}/fs/ext2fs-lib/.debug \
147 ${libdir}/fs/fat/.debug \
148 ${libdir}/fs/zfs/.debug \
149 ${libdir}/fs/reiserfs/.debug \
150 ${libdir}/fs/iso9660/.debug \
151 ${sbindir}/.debug \
152 ${libdir}exec/.debug \
153 ${bindir}/.debug \
154 ${libdir}/python2.7/dist-packages/.debug \
155 ${libdir}/python2.7/dist-packages/xen/lowlevel/.debug \
156 "
157
158FILES_${PN}-dev = "\
159 ${includedir} \
160 "
161
162FILES_${PN}-doc = "\
163 ${sysconfdir}/xen/README \
164 ${sysconfdir}/xen/README.incompatibilities \
165 ${datadir}/doc \
166 ${datadir}/man \
167 "
168
169FILES_${PN}-staticdev += "\
170 ${libdir}/libblktapctl.a \
171 ${libdir}/libxenguest.a \
172 ${libdir}/libxenlight.a \
173 ${libdir}/libxenvchan.a \
174 ${libdir}/libxenctrl.a \
175 ${libdir}/libxlutil.a \
176 ${libdir}/libvhd.a \
177 ${libdir}/libxenstat.a \
178 ${libdir}/libxenstore.a \
179 ${libdir}/libblktap.a \
180 "
181
182FILES_${PN}-libblktapctl = "${libdir}/libblktapctl.so.*"
183FILES_${PN}-libblktapctl-dev = "${libdir}/libblktapctl.so"
184
185FILES_${PN}-libxenguest = "${libdir}/libxenguest.so.*"
186FILES_${PN}-libxenguest-dev = "${libdir}/libxenguest.so"
187
188FILES_${PN}-libxenlight = "${libdir}/libxenlight.so.*"
189FILES_${PN}-libxenlight-dev = "${libdir}/libxenlight.so"
190
191FILES_${PN}-libxenvchan = "${libdir}/libxenvchan.so.*"
192FILES_${PN}-libxenvchan-dev = "${libdir}/libxenvchan.so"
193
194FILES_${PN}-libxenctrl = "${libdir}/libxenctrl.so.*"
195FILES_${PN}-libxenctrl-dev = "${libdir}/libxenctrl.so"
196
197FILES_${PN}-libxlutil = "${libdir}/libxlutil.so.*"
198FILES_${PN}-libxlutil-dev = "${libdir}/libxlutil.so"
199
200FILES_${PN}-libvhd = "${libdir}/libvhd.so.*"
201FILES_${PN}-libvhd-dev = "${libdir}/libvhd.so"
202
203FILES_${PN}-libxenstat = "${libdir}/libxenstat.so.*"
204FILES_${PN}-libxenstat-dev = "${libdir}/libxenstat.so"
205
206FILES_${PN}-libxenstore = "${libdir}/libxenstore.so.*"
207FILES_${PN}-libxenstore-dev = "${libdir}/libxenstore.so"
208
209FILES_${PN}-libblktap = "${libdir}/libblktap.so.*"
210FILES_${PN}-libblktap-dev = "${libdir}/libblktap.so"
211
212FILES_${PN}-libfsimage = "${libdir}/libfsimage.so.*"
213FILES_${PN}-libfsimage-dev = "${libdir}/libfsimage.so"
214
215FILES_${PN}-fsimage = "${libdir}/fs/*/*fsimage.so"
216
217FILES_${PN}-hypervisor = "\
218 /boot/xen-4.3.1.gz \
219 /boot/xen-4.3.gz \
220 /boot/xen-4.gz \
221 /boot/xen.gz \
222 /boot/xen-syms-4.3.1 \
223 "
224
225FILES_${PN}-base = "\
226 ${sysconfdir}/default/volatiles/99_xen \
227 ${sysconfdir}/default/xencommons \
228 ${sysconfdir}/default/xendomains \
229 ${sysconfdir}/xen/auto \
230 ${sysconfdir}/xen/cpupool \
231 ${sysconfdir}/sysconfig/xendomains \
232 ${localstatedir}/xen/dump \
233 "
234
235FILES_${PN}-blktap = "\
236 ${sbindir}/blktapctrl \
237 ${sbindir}/img2qcow \
238 ${sbindir}/lock-util \
239 ${sbindir}/qcow2raw \
240 ${sbindir}/qcow-create \
241 ${sbindir}/tap-ctl \
242 ${sbindir}/tapdisk \
243 ${sbindir}/tapdisk2 \
244 ${sbindir}/tapdisk-client \
245 ${sbindir}/tapdisk-diff \
246 ${sbindir}/tapdisk-stream \
247 ${sbindir}/td-util \
248 ${sbindir}/vhd-update \
249 ${sbindir}/vhd-util \
250 "
251
252FILES_${PN}-console = "\
253 ${libdir}/xen/bin/xenconsole \
254 ${sbindir}/xenconsoled \
255 "
256
257FILES_${PN}-flask = "\
258 ${sbindir}/flask-get-bool \
259 ${sbindir}/flask-getenforce \
260 ${sbindir}/flask-label-pci \
261 ${sbindir}/flask-loadpolicy \
262 ${sbindir}/flask-set-bool \
263 ${sbindir}/flask-setenforce \
264 /boot/xenpolicy.24 \
265 "
266
267FILES_${PN}-gdbsx = "\
268 ${sbindir}/gdbsx \
269 "
270
271INSANE_SKIP_${PN}-hvmloader = "arch"
272FILES_${PN}-hvmloader = "\
273 ${libdir}/xen/boot/hvmloader \
274 "
275
276FILES_${PN}-kdd = "\
277 ${sbindir}/kdd \
278 "
279
280FILES_${PN}-misc = "\
281 ${bindir}/xencons \
282 ${bindir}/xencov_split \
283 ${bindir}/xen-detect \
284 ${libdir}/xen/bin/xenpvnetboot \
285 ${sbindir}/gtracestat \
286 ${sbindir}/gtraceview \
287 ${sbindir}/xen-bugtool \
288 ${sbindir}/xencov \
289 ${sbindir}/xenperf \
290 ${sbindir}/xenpm \
291 ${sbindir}/xsview \
292 ${sbindir}/xen-tmem-list-parse \
293 ${sbindir}/xen-python-path \
294 ${sbindir}/xen-ringwatch \
295 ${sbindir}/xen-hptool \
296 ${sbindir}/xen-hvmcrash \
297 ${sbindir}/xen-hvmctx \
298 ${sbindir}/xenlockprof \
299 ${sbindir}/xen-lowmemd \
300 "
301
302FILES_${PN}-pygrub = "\
303 ${bindir}/pygrub \
304 ${libdir}/xen/bin/pygrub \
305 "
306
307FILES_${PN}-python = "\
308 ${libdir}/python2.7 \
309 "
310
311INSANE_SKIP_${PN} = "already-stripped"
312INSANE_SKIP_${PN}-qemu = "arch"
313FILES_${PN}-qemu = " \
314 ${datadir}/xen/qemu \
315 ${libdir}/xen/bin/qemu-system-i386 \
316 ${libdir}/xen/bin/qemu-system-x86_64 \
317 ${libdir}/xen/bin/qemu-img \
318 ${libdir}/xen/bin/qemu-nbd \
319 ${libdir}/xen/bin/qemu-ga \
320 ${libdir}/xen/bin/qemu-io \
321 ${libdir}/xen/bin/qemu-dm \
322 ${libdir}/xen/bin/virtfs-proxy-helper \
323 /usr/libexec/qemu-bridge-helper \
324 /usr/etc/qemu \
325 /usr/etc/qemu/target-x86_64.conf \
326 ${datadir}/qemu-xen \
327 ${datadir}/qemu-xen/qemu \
328 ${datadir}/qemu-xen/qemu/bamboo.dtb \
329 ${datadir}/qemu-xen/qemu/pxe-pcnet.rom \
330 ${datadir}/qemu-xen/qemu/vgabios-vmware.bin \
331 ${datadir}/qemu-xen/qemu/pxe-eepro100.rom \
332 ${datadir}/qemu-xen/qemu/pxe-e1000.rom \
333 ${datadir}/qemu-xen/qemu/openbios-ppc \
334 ${datadir}/qemu-xen/qemu/multiboot.bin \
335 ${datadir}/qemu-xen/qemu/vgabios-cirrus.bin \
336 ${datadir}/qemu-xen/qemu/bios.bin \
337 ${datadir}/qemu-xen/qemu/vgabios-stdvga.bin \
338 ${datadir}/qemu-xen/qemu/palcode-clipper \
339 ${datadir}/qemu-xen/qemu/pxe-ne2k_pci.rom \
340 ${datadir}/qemu-xen/qemu/spapr-rtas.bin \
341 ${datadir}/qemu-xen/qemu/slof.bin \
342 ${datadir}/qemu-xen/qemu/vgabios-qxl.bin \
343 ${datadir}/qemu-xen/qemu/pxe-rtl8139.rom \
344 ${datadir}/qemu-xen/qemu/openbios-sparc64 \
345 ${datadir}/qemu-xen/qemu/pxe-virtio.rom \
346 ${datadir}/qemu-xen/qemu/kvmvapic.bin \
347 ${datadir}/qemu-xen/qemu/openbios-sparc32 \
348 ${datadir}/qemu-xen/qemu/petalogix-s3adsp1800.dtb \
349 ${datadir}/qemu-xen/qemu/sgabios.bin \
350 ${datadir}/qemu-xen/qemu/linuxboot.bin \
351 ${datadir}/qemu-xen/qemu/qemu-icon.bmp \
352 ${datadir}/qemu-xen/qemu/ppc_rom.bin \
353 ${datadir}/qemu-xen/qemu/vgabios.bin \
354 ${datadir}/qemu-xen/qemu/s390-zipl.rom \
355 ${datadir}/qemu-xen/qemu/petalogix-ml605.dtb \
356 ${datadir}/qemu-xen/qemu/keymaps \
357 ${datadir}/qemu-xen/qemu/keymaps/common \
358 ${datadir}/qemu-xen/qemu/keymaps/th \
359 ${datadir}/qemu-xen/qemu/keymaps/is \
360 ${datadir}/qemu-xen/qemu/keymaps/en-gb \
361 ${datadir}/qemu-xen/qemu/keymaps/ar \
362 ${datadir}/qemu-xen/qemu/keymaps/fr-be \
363 ${datadir}/qemu-xen/qemu/keymaps/ru \
364 ${datadir}/qemu-xen/qemu/keymaps/hu \
365 ${datadir}/qemu-xen/qemu/keymaps/de-ch \
366 ${datadir}/qemu-xen/qemu/keymaps/no \
367 ${datadir}/qemu-xen/qemu/keymaps/fr \
368 ${datadir}/qemu-xen/qemu/keymaps/pl \
369 ${datadir}/qemu-xen/qemu/keymaps/fr-ca \
370 ${datadir}/qemu-xen/qemu/keymaps/de \
371 ${datadir}/qemu-xen/qemu/keymaps/fr-ch \
372 ${datadir}/qemu-xen/qemu/keymaps/bepo \
373 ${datadir}/qemu-xen/qemu/keymaps/lv \
374 ${datadir}/qemu-xen/qemu/keymaps/ja \
375 ${datadir}/qemu-xen/qemu/keymaps/da \
376 ${datadir}/qemu-xen/qemu/keymaps/lt \
377 ${datadir}/qemu-xen/qemu/keymaps/hr \
378 ${datadir}/qemu-xen/qemu/keymaps/es \
379 ${datadir}/qemu-xen/qemu/keymaps/modifiers \
380 ${datadir}/qemu-xen/qemu/keymaps/sl \
381 ${datadir}/qemu-xen/qemu/keymaps/it \
382 ${datadir}/qemu-xen/qemu/keymaps/nl \
383 ${datadir}/qemu-xen/qemu/keymaps/fo \
384 ${datadir}/qemu-xen/qemu/keymaps/mk \
385 ${datadir}/qemu-xen/qemu/keymaps/pt-br \
386 ${datadir}/qemu-xen/qemu/keymaps/tr \
387 ${datadir}/qemu-xen/qemu/keymaps/sv \
388 ${datadir}/qemu-xen/qemu/keymaps/fi \
389 ${datadir}/qemu-xen/qemu/keymaps/en-us \
390 ${datadir}/qemu-xen/qemu/keymaps/et \
391 ${datadir}/qemu-xen/qemu/keymaps/nl-be \
392 ${datadir}/qemu-xen/qemu/keymaps/pt \
393 ${bindir}/qemu-nbd-xen \
394 ${bindir}/qemu-img-xen \
395 "
396
397FILES_${PN}-remus = "\
398 ${bindir}/remus \
399 "
400
401FILES_${PN}-scripts-network = " \
402 ${sysconfdir}/xen/scripts/network-bridge \
403 ${sysconfdir}/xen/scripts/network-nat \
404 ${sysconfdir}/xen/scripts/network-route \
405 ${sysconfdir}/xen/scripts/qemu-ifup \
406 ${sysconfdir}/xen/scripts/vif2 \
407 ${sysconfdir}/xen/scripts/vif-bridge \
408 ${sysconfdir}/xen/scripts/vif-common.sh \
409 ${sysconfdir}/xen/scripts/vif-nat \
410 ${sysconfdir}/xen/scripts/vif-openvswitch \
411 ${sysconfdir}/xen/scripts/vif-route \
412 ${sysconfdir}/xen/scripts/vif-setup \
413 "
414
415FILES_${PN}-scripts-block = " \
416 ${sysconfdir}/xen/scripts/blktap \
417 ${sysconfdir}/xen/scripts/block \
418 ${sysconfdir}/xen/scripts/block-common.sh \
419 ${sysconfdir}/xen/scripts/block-enbd \
420 ${sysconfdir}/xen/scripts/block-iscsi \
421 ${sysconfdir}/xen/scripts/block-nbd \
422 ${sysconfdir}/xen/scripts/vscsi \
423 "
424
425FILES_${PN}-scripts-common = " \
426 ${sysconfdir}/xen/scripts/external-device-migrate \
427 ${sysconfdir}/xen/scripts/hotplugpath.sh \
428 ${sysconfdir}/xen/scripts/locking.sh \
429 ${sysconfdir}/xen/scripts/logging.sh \
430 ${sysconfdir}/xen/scripts/xen-hotplug-cleanup \
431 ${sysconfdir}/xen/scripts/xen-hotplug-common.sh \
432 ${sysconfdir}/xen/scripts/xen-network-common.sh \
433 ${sysconfdir}/xen/scripts/xen-script-common.sh \
434 "
435
436FILES_${PN}-udev = "\
437 ${sysconfdir}/udev/rules.d/xen-backend.rules \
438 ${sysconfdir}/udev/rules.d/xend.rules \
439 "
440
441FILES_${PN}-xcutils = "\
442 ${libdir}/xen/bin/lsevtchn \
443 ${libdir}/xen/bin/readnotes \
444 ${libdir}/xen/bin/xc_restore \
445 ${libdir}/xen/bin/xc_save \
446 "
447
448FILES_${PN}-xend-examples = "\
449 ${sysconfdir}/xen/xend-config.sxp \
450 ${sysconfdir}/xen/xend-pci-permissive.sxp \
451 ${sysconfdir}/xen/xend-pci-quirks.sxp \
452 "
453
454FILES_${PN}-xenpaging = "\
455 ${libdir}/xen/bin/xenpaging \
456 ${localstatedir}/lib/xen/xenpaging \
457 "
458
459FILES_${PN}-xenpmd = "\
460 ${sbindir}/xenpmd \
461 "
462
463FILES_${PN}-xenstat = "\
464 ${sbindir}/xentop \
465 "
466
467FILES_${PN}-xenstore = "\
468 ${bindir}/xenstore \
469 ${bindir}/xenstore-chmod \
470 ${bindir}/xenstore-control \
471 ${bindir}/xenstore-exists \
472 ${bindir}/xenstore-list \
473 ${bindir}/xenstore-ls \
474 ${bindir}/xenstore-read \
475 ${bindir}/xenstore-rm \
476 ${bindir}/xenstore-watch \
477 ${bindir}/xenstore-write \
478 "
479
480FILES_${PN}-xenstored = "\
481 ${sbindir}/xenstored \
482 ${localstatedir}/lib/xenstored \
483 "
484
485FILES_${PN}-xentrace = "\
486 ${bindir}/xentrace \
487 ${bindir}/xentrace_format \
488 ${bindir}/xentrace_setsize \
489 ${libdir}/xen/bin/xenctx \
490 "
491
492FILES_${PN}-xen-watchdog = "\
493 ${sbindir}/xenwatchdogd \
494 "
495
496FILES_${PN}-xl = "\
497 ${sysconfdir}/bash_completion.d/xl.sh \
498 ${sysconfdir}/xen/xl.conf \
499 ${libdir}/xen/bin/libxl-save-helper \
500 ${sbindir}/xl \
501 "
502
503FILES_${PN}-xl-examples = "\
504 ${sysconfdir}/xen/xlexample.hvm \
505 ${sysconfdir}/xen/xlexample.pvlinux \
506 "
507
508FILES_${PN}-xm-examples = "\
509 ${sysconfdir}/xen/xmexample1 \
510 ${sysconfdir}/xen/xmexample2 \
511 ${sysconfdir}/xen/xmexample3 \
512 ${sysconfdir}/xen/xmexample.hvm \
513 ${sysconfdir}/xen/xmexample.hvm-stubdom \
514 ${sysconfdir}/xen/xmexample.nbd \
515 ${sysconfdir}/xen/xmexample.pv-grub \
516 ${sysconfdir}/xen/xmexample.vti \
517 "
518
519FILES_${PN}-xenmon = "\
520 ${sbindir}/xenbaked \
521 ${sbindir}/xentrace_setmask \
522 ${sbindir}/xenmon.py \
523 "
524
525FILES_${PN}-xm = "\
526 ${sysconfdir}/xen/xm-config.xml \
527 ${datadir}/xen/create.dtd \
528 ${sbindir}/xm \
529 "
530
531FILES_${PN}-xencommons += "${sysconfdir}/init.d/xencommons"
532FILES_${PN}-xend += " \
533 ${sysconfdir}/init.d/xend \
534 ${sbindir}/xend \
535 "
536FILES_${PN}-xendomains += "${sysconfdir}/init.d/xendomains"
537FILES_${PN}-xen-watchdog += "${sysconfdir}/init.d/xen-watchdog"
538
539# configure init.d scripts
540INITSCRIPT_PACKAGES = "${PN}-xend ${PN}-xencommons ${PN}-xen-watchdog ${PN}-xendomains"
541INITSCRIPT_NAME_${PN}-xencommons = "xencommons"
542INITSCRIPT_PARAMS_${PN}-xencommons = "defaults 80"
543INITSCRIPT_NAME_${PN}-xen-watchdog = "xen-watchdog"
544INITSCRIPT_PARAMS_${PN}-xen-watchdog = "defaults 81"
545INITSCRIPT_NAME_${PN}-xend = "xend"
546INITSCRIPT_PARAMS_${PN}-xend = "defaults 82"
547INITSCRIPT_NAME_${PN}-xendomains = "xendomains"
548INITSCRIPT_PARAMS_${PN}-xendomains = "defaults 83"
549
550#### REQUIRED ENVIRONMENT VARIABLES ####
551export BUILD_SYS
552export HOST_SYS
553export STAGING_INCDIR
554export STAGING_LIBDIR
555
556# specify xen hypervisor to target x86_64 (x86_32 not supported)
557export XEN_TARGET_ARCH="x86_64"
558export XEN_COMPILE_ARCH="x86_64"
559
560# this is used for the header (#!${bindir}/python) of the install python scripts
561export PYTHONPATH="${bindir}/python"
562
563# seabios forcefully sets HOSTCC to CC - fixup to allow it to build native conf executable
564export HOSTCC="${BUILD_CC}"
565
566# make xen requires CROSS_COMPILE set by hand as it does not abide by ./configure
567export CROSS_COMPILE="${TARGET_PREFIX}"
568
569# overide LDFLAGS to allow xen to build without: "x86_64-oe-linux-ld: unrecognized option '-Wl,-O1'"
570export LDFLAGS=""
571
572EXTRA_OECONF += " \
573 --exec-prefix=/usr \
574 --prefix=/usr \
575 --host=${HOST_SYS} \
576 --disable-stubdom \
577 --disable-ioemu-stubdom \
578 --disable-pv-grub \
579 --disable-xenstore-stubdom \
580"
581
582do_configure() {
583 # fixup qemu-xen-traditional pciutils check hardcoded to test ${includedir}/pci
584 sed -i 's/\/usr\/include\/pci/$(STAGING_INCDIR)\/pci/g' ${S}/tools/qemu-xen-traditional/xen-hooks.mak 15 sed -i 's/\/usr\/include\/pci/$(STAGING_INCDIR)\/pci/g' ${S}/tools/qemu-xen-traditional/xen-hooks.mak
585 16
586 # fixup for qemu to cross compile 17 # fixup for qemu to cross compile
587 sed -i 's/configure --d/configure --cross-prefix=${TARGET_PREFIX} --d/g' ${S}/tools/qemu-xen-traditional/xen-setup 18 sed -i 's/configure --d/configure --cross-prefix=${TARGET_PREFIX} --d/g' ${S}/tools/qemu-xen-traditional/xen-setup
588
589 # no stubs-32.h in our 64-bit sysroot - hack it into tools/include/gnu
590 test -d ${S}/tools/include/gnu || mkdir ${S}/tools/include/gnu
591 if ! test -f ${STAGING_DIR_TARGET}/usr/include/gnu/stubs-32.h ; then
592 cat ${STAGING_DIR_TARGET}/usr/include/gnu/stubs-64.h | grep -v stub_bdflush | grep -v stub_getmsg | grep -v stub_putmsg > ${S}/tools/include/gnu/stubs-32.h
593 echo \#define __stub___kernel_cosl >> ${S}/tools/include/gnu/stubs-32.h
594 echo \#define __stub___kernel_sinl >> ${S}/tools/include/gnu/stubs-32.h
595 echo \#define __stub___kernel_tanl >> ${S}/tools/include/gnu/stubs-32.h
596 fi
597
598 # do configure
599 oe_runconf
600
601 # seabios needs a patch to specify correct compiler - pull and patch Makefile
602 make -C ${S}/tools/firmware seabios-dir
603 sed -i 's/export HOSTCC.*$(CC)/export HOSTCC ?= $(CC)/g' ${S}/tools/firmware/seabios-dir/Makefile
604}
605
606do_compile() {
607 oe_runmake
608}
609
610do_install() {
611 oe_runmake DESTDIR="${D}" install
612
613 # remove installed volatiles
614 rm -rf ${D}${localstatedir}/run ${D}${localstatedir}/lock ${D}${localstatedir}/log ${D}${localstatedir}/volatile
615
616 # install volatiles using populate_volatiles mechanism
617 install -d ${D}${sysconfdir}/default/volatiles
618 echo "d root root 0755 ${localstatedir}/run/xenstored none" \
619 > ${D}${sysconfdir}/default/volatiles/99_xen
620 echo "d root root 0755 ${localstatedir}/run/xend none" \
621 >> ${D}${sysconfdir}/default/volatiles/99_xen
622 echo "d root root 0755 ${localstatedir}/run/xend/boot none" \
623 >> ${D}${sysconfdir}/default/volatiles/99_xen
624 echo "d root root 0755 ${localstatedir}/run/xen none" \
625 >> ${D}${sysconfdir}/default/volatiles/99_xen
626 echo "d root root 0755 ${localstatedir}/log/xen none" \
627 >> ${D}${sysconfdir}/default/volatiles/99_xen
628 echo "d root root 0755 ${localstatedir}/lock/xen none" \
629 >> ${D}${sysconfdir}/default/volatiles/99_xen
630 echo "d root root 0755 ${localstatedir}/lock/subsys none" \
631 >> ${D}${sysconfdir}/default/volatiles/99_xen
632
633 # workaround for xendomains script which searchs sysconfig if directory exists
634 install -d ${D}${sysconfdir}/sysconfig
635 ln -sf ${sysconfdir}/default/xendomains ${D}${sysconfdir}/sysconfig/xendomains
636}
637
638pkg_postinst_${PN}-base() {
639 if [ -z "$D" ] && [ -e ${sysconfdir}/init.d/populate-volatile.sh ] ; then
640 ${sysconfdir}/init.d/populate-volatile.sh update
641 fi
642}
643
644sysroot_stage_all_append() {
645 sysroot_stage_dir ${D}/boot ${SYSROOT_DESTDIR}/kernel
646
647 install -d ${DEPLOY_DIR_IMAGE}
648 install -m 0644 ${D}/boot/xen.gz ${DEPLOY_DIR_IMAGE}/xen-${MACHINE}.gz
649} 19}