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