summaryrefslogtreecommitdiffstats
path: root/recipes-extended/xen/xen-tools.inc
diff options
context:
space:
mode:
authorChristopher Clark <christopher.w.clark@gmail.com>2020-02-25 16:15:54 -0800
committerBruce Ashfield <bruce.ashfield@gmail.com>2020-02-27 16:59:23 -0500
commit545461ba2f97f065791e3d4ed22342eba2836d48 (patch)
tree68917fa8fed4b544b84e32d70470e5c47600f1a2 /recipes-extended/xen/xen-tools.inc
parente12b76773a874ea4454411aea564a3e9008c931b (diff)
downloadmeta-virtualization-545461ba2f97f065791e3d4ed22342eba2836d48.tar.gz
xen: separate recipes for hypervisor and tools; switch to git as source
This change changes the names of many packages produced: the xen-tools recipe now builds packages previous built by the xen recipe, so the package prefix changes from "xen-" to "xen-tools-". A temporary bbappend is provided for qemu to ease the transition. Multiple motivations for recipe separation: - improves efficiency of incremental build and development - supports building the hypervisor and tools with different toolchains and for different architectures Switch to using a git recipe on the Xen stable branch: - enables easier tracking of critical XSA security updates applied upstream by just advancing SRCREV along the branch Revision has been set to the tip of the stable-4.12 branch, which has the one XSA-312 patch applied on top of RELEASE-4.12.2. The recipe refactor externalizes the block tap components, to enable optional building of blktap in a separate recipe outside xen-tools, needed by OpenXT. xenstored is made a virtual package to support switching between alternative implementations (several exist). Update xen-image-minimal to install the xen-tools package, which replaces what was previously xen-base. Determine the flask policy filename, which is Xen-version specific, using the same method as the Xen build system. qemu: update PACKAGECONFIG[xen] for xen package renaming: allows builds to continue correctly in the meantime while openembedded core and poky are updated. OpenXT ticket reference: OXT-1694 Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Diffstat (limited to 'recipes-extended/xen/xen-tools.inc')
-rw-r--r--recipes-extended/xen/xen-tools.inc743
1 files changed, 743 insertions, 0 deletions
diff --git a/recipes-extended/xen/xen-tools.inc b/recipes-extended/xen/xen-tools.inc
new file mode 100644
index 00000000..f37968b5
--- /dev/null
+++ b/recipes-extended/xen/xen-tools.inc
@@ -0,0 +1,743 @@
1SUMMARY = "Xen hypervisor tools"
2DESCRIPTION = "Tools and utility software for the Xen hypervisor"
3
4inherit setuptools update-rc.d systemd deploy
5require xen-blktap.inc
6
7RDEPENDS_${PN} = "\
8 bash perl xz \
9 ${PN}-console \
10 ${PN}-libxenguest \
11 ${PN}-libxenlight \
12 ${PN}-libxenvchan \
13 ${PN}-libxenctrl \
14 ${PN}-libxlutil \
15 ${PN}-libxenstat \
16 ${PN}-libxenstore \
17 ${PN}-libfsimage \
18 ${PN}-fsimage \
19 ${PN}-scripts-block \
20 ${PN}-scripts-network \
21 ${PN}-xen-watchdog \
22 ${PN}-xencommons \
23 ${PN}-xendomains \
24 ${PN}-xenstore \
25 virtual/xenstored \
26 ${PN}-xl \
27 "
28
29RDEPENDS_${PN}-dev = ""
30
31RRECOMMENDS_${PN} = " \
32 ${@bb.utils.contains('PACKAGECONFIG', 'externalblktap', '', '${BLKTAP_RRECOMMENDS}', d)} \
33 ${PN}-flask \
34 ${PN}-hvmloader \
35 ${PN}-shim \
36 ${PN}-xenpaging \
37 "
38
39RDEPENDS_${PN}-devd = " \
40 ${PN}-xl \
41 "
42
43RDEPENDS_${PN}-fsimage = " \
44 libext2fs \
45 "
46
47RDEPENDS_${PN}-misc = " \
48 perl \
49 python \
50 "
51
52RDEPENDS_${PN}-python = " \
53 python \
54 "
55
56RDEPENDS_${PN}-pygrub = " \
57 ${PN}-python \
58 "
59
60RDEPENDS_${PN}-remus = " \
61 bash \
62 python \
63 "
64
65RDEPENDS_${PN}-scripts-block = "\
66 bash \
67 ${PN}-scripts-common \
68 ${PN}-volatiles \
69 "
70
71RDEPENDS_${PN}-scripts-common = "bash"
72
73RDEPENDS_${PN}-scripts-network = "\
74 bash \
75 bridge-utils \
76 ${PN}-scripts-common \
77 ${PN}-volatiles \
78 "
79
80RDEPENDS_${PN}-xencommons = "\
81 bash \
82 ${PN}-console \
83 ${PN}-xenstore \
84 virtual/xenstored \
85 ${PN}-xl \
86 ${PN}-scripts-common \
87 "
88
89RDEPENDS_${PN}-xendomains = "\
90 bash \
91 ${PN}-console \
92 ${PN}-scripts-block \
93 ${PN}-scripts-common \
94 virtual/xenstored \
95 "
96
97RDEPENDS_${PN}-xl = "libgcc"
98
99RDEPENDS_${PN}-xentrace = "python"
100
101RDEPENDS_${PN}-xen-watchdog = "bash"
102
103PACKAGES = " \
104 ${PN} \
105 ${@bb.utils.contains('PACKAGECONFIG', 'externalblktap', '', '${BLKTAP_PACKAGES}', d)} \
106 ${PN}-console \
107 ${PN}-cpuid \
108 ${PN}-dbg \
109 ${PN}-dev \
110 ${PN}-devd \
111 ${PN}-doc \
112 ${PN}-flask \
113 ${PN}-flask-tools \
114 ${PN}-fsimage \
115 ${PN}-gdbsx \
116 ${PN}-hvmloader \
117 ${PN}-init-xenstore-dom \
118 ${PN}-kdd \
119 ${PN}-libfsimage \
120 ${PN}-libfsimage-dev \
121 ${PN}-libxencall \
122 ${PN}-libxencall-dev \
123 ${PN}-libxenctrl \
124 ${PN}-libxenctrl-dev \
125 ${PN}-libxendevicemodel \
126 ${PN}-libxendevicemodel-dev \
127 ${PN}-libxenevtchn \
128 ${PN}-libxenevtchn-dev \
129 ${PN}-libxenforeignmemory \
130 ${PN}-libxenforeignmemory-dev \
131 ${PN}-libxengnttab \
132 ${PN}-libxengnttab-dev \
133 ${PN}-libxenguest \
134 ${PN}-libxenguest-dev \
135 ${PN}-libxenlight \
136 ${PN}-libxenlight-dev \
137 ${PN}-libxenstat \
138 ${PN}-libxenstat-dev \
139 ${PN}-libxenstore \
140 ${PN}-libxenstore-dev \
141 ${PN}-libxentoolcore \
142 ${PN}-libxentoolcore-dev \
143 ${PN}-libxentoollog \
144 ${PN}-libxentoollog-dev \
145 ${PN}-libxenvchan \
146 ${PN}-libxenvchan-dev \
147 ${PN}-libxlutil \
148 ${PN}-libxlutil-dev \
149 ${PN}-livepatch \
150 ${PN}-misc \
151 ${PN}-pygrub \
152 ${PN}-python \
153 ${PN}-remus \
154 ${PN}-scripts-block \
155 ${PN}-scripts-common \
156 ${PN}-scripts-network \
157 ${PN}-shim \
158 ${PN}-staticdev \
159 ${PN}-volatiles \
160 ${PN}-xcutils \
161 ${PN}-xencommons \
162 ${PN}-xend \
163 ${PN}-xend-examples \
164 ${PN}-xendomains \
165 ${PN}-xenmon \
166 ${PN}-xenpaging \
167 ${PN}-xenpmd \
168 ${PN}-xenstat \
169 ${PN}-xenstore \
170 ${PN}-xenstored \
171 ${PN}-xentrace \
172 ${PN}-xen-watchdog \
173 ${PN}-xl \
174 ${PN}-xl-examples \
175 ${PN}-xm \
176 ${PN}-xm-examples \
177 "
178
179PROVIDES =+ " \
180 virtual/xenstored \
181 ${@bb.utils.contains('PACKAGECONFIG', 'externalblktap', '', '${BLKTAP_PROVIDES}', d)} \
182 "
183
184# There are multiple implementations of the XenStore daemon, so we use a
185# virtual package to allow for substitution.
186RPROVIDES_${PN}-xenstored = "virtual/xenstored"
187
188FILES_${PN}-dbg += "\
189 ${libdir}/xen/bin/.debug \
190 ${libdir}/python2.7/site-packages/.debug \
191 ${libdir}/python2.7/site-packages/xen/lowlevel/.debug \
192 ${libdir}/fs/xfs/.debug \
193 ${libdir}/fs/ufs/.debug \
194 ${libdir}/fs/ext2fs-lib/.debug \
195 ${libdir}/fs/fat/.debug \
196 ${libdir}/fs/zfs/.debug \
197 ${libdir}/fs/reiserfs/.debug \
198 ${libdir}/fs/iso9660/.debug \
199 ${libdir}/fs/*/.debug \
200 ${sbindir}/.debug \
201 ${libdir}exec/.debug \
202 ${libdir}/xen/libexec/.debug \
203 ${bindir}/.debug \
204 ${libdir}/python2.7/dist-packages/.debug \
205 ${libdir}/python2.7/dist-packages/xen/lowlevel/.debug \
206 "
207
208FILES_${PN}-dev = "\
209 ${includedir} \
210 "
211
212FILES_${PN}-doc = "\
213 ${sysconfdir}/xen/README \
214 ${sysconfdir}/xen/README.incompatibilities \
215 ${datadir}/doc \
216 ${datadir}/man \
217 "
218
219FILES_${PN}-staticdev += "\
220 ${libdir}/libxenguest.a \
221 ${libdir}/libxenlight.a \
222 ${libdir}/libxenvchan.a \
223 ${libdir}/libxenctrl.a \
224 ${libdir}/libxlutil.a \
225 ${libdir}/libxenstat.a \
226 ${libdir}/libxenstore.a \
227 "
228
229FILES_${PN}-libxencall = "${libdir}/libxencall.so.*"
230FILES_${PN}-libxencall-dev = " \
231 ${libdir}/libxencall.so \
232 ${libdir}/pkgconfig/xencall.pc \
233 ${datadir}/pkgconfig/xencall.pc \
234 "
235
236FILES_${PN}-libxenctrl = "${libdir}/libxenctrl.so.*"
237FILES_${PN}-libxenctrl-dev = " \
238 ${libdir}/libxenctrl.so \
239 ${libdir}/pkgconfig/xencontrol.pc \
240 ${datadir}/pkgconfig/xencontrol.pc \
241 "
242
243FILES_${PN}-libxendevicemodel = "${libdir}/libxendevicemodel.so.*"
244FILES_${PN}-libxendevicemodel-dev = " \
245 ${libdir}/libxendevicemodel.so \
246 ${libdir}/pkgconfig/xendevicemodel.pc \
247 ${datadir}/pkgconfig/xendevicemodel.pc \
248 "
249
250FILES_${PN}-libxenevtchn = "${libdir}/libxenevtchn.so.*"
251FILES_${PN}-libxenevtchn-dev = " \
252 ${libdir}/libxenevtchn.so \
253 ${libdir}/pkgconfig/xenevtchn.pc \
254 ${datadir}/pkgconfig/xenevtchn.pc \
255 "
256
257FILES_${PN}-libxenforeignmemory = "${libdir}/libxenforeignmemory.so.*"
258FILES_${PN}-libxenforeignmemory-dev = " \
259 ${libdir}/libxenforeignmemory.so \
260 ${libdir}/pkgconfig/xenforeignmemory.pc \
261 ${datadir}/pkgconfig/xenforeignmemory.pc \
262 "
263
264FILES_${PN}-libxengnttab = "${libdir}/libxengnttab.so.*"
265FILES_${PN}-libxengnttab-dev = " \
266 ${libdir}/libxengnttab.so \
267 ${libdir}/pkgconfig/xengnttab.pc \
268 ${datadir}/pkgconfig/xengnttab.pc \
269 "
270
271FILES_${PN}-libxenguest = "${libdir}/libxenguest.so.*"
272FILES_${PN}-libxenguest-dev = " \
273 ${libdir}/libxenguest.so \
274 ${libdir}/pkgconfig/xenguest.pc \
275 ${datadir}/pkgconfig/xenguest.pc \
276 "
277
278FILES_${PN}-libxenlight = "${libdir}/libxenlight.so.*"
279FILES_${PN}-libxenlight-dev = " \
280 ${libdir}/libxenlight.so \
281 ${libdir}/pkgconfig/xenlight.pc \
282 ${datadir}/pkgconfig/xenlight.pc \
283 "
284
285FILES_${PN}-libxenstat = "${libdir}/libxenstat.so.*"
286FILES_${PN}-libxenstat-dev = " \
287 ${libdir}/libxenstat.so \
288 ${libdir}/pkgconfig/xenstat.pc \
289 ${datadir}/pkgconfig/xenstat.pc \
290 "
291
292FILES_${PN}-libxenstore = "${libdir}/libxenstore.so.*"
293FILES_${PN}-libxenstore-dev = " \
294 ${libdir}/libxenstore.so \
295 ${libdir}/pkgconfig/xenstore.pc \
296 ${datadir}/pkgconfig/xenstore.pc \
297 "
298
299FILES_${PN}-libxentoolcore = "${libdir}/libxentoolcore.so.*"
300FILES_${PN}-libxentoolcore-dev = " \
301 ${libdir}/libxentoolcore.so \
302 ${libdir}/pkgconfig/xentoolcore.pc \
303 ${datadir}/pkgconfig/xentoolcore.pc \
304 "
305
306FILES_${PN}-libxentoollog = "${libdir}/libxentoollog.so.*"
307FILES_${PN}-libxentoollog-dev = " \
308 ${libdir}/libxentoollog.so \
309 ${libdir}/pkgconfig/xentoollog.pc \
310 ${datadir}/pkgconfig/xentoollog.pc \
311 "
312
313FILES_${PN}-libxenvchan = "${libdir}/libxenvchan.so.*"
314FILES_${PN}-libxenvchan-dev = " \
315 ${libdir}/libxenvchan.so \
316 ${libdir}/pkgconfig/xenvchan.pc \
317 ${datadir}/pkgconfig/xenvchan.pc \
318 "
319
320FILES_${PN}-libxlutil = "${libdir}/libxlutil.so.*"
321FILES_${PN}-libxlutil-dev = " \
322 ${libdir}/libxlutil.so \
323 ${libdir}/pkgconfig/xlutil.pc \
324 ${datadir}/pkgconfig/xlutil.pc \
325 "
326FILES_${PN}-libvhd = "${libdir}/libvhd.so.*"
327FILES_${PN}-libvhd-dev = " \
328 ${libdir}/libvhd.so \
329 ${libdir}/pkgconfig/vhd.pc \
330 ${datadir}/pkgconfig/vhd.pc \
331 "
332
333FILES_${PN}-libfsimage = " \
334 ${libdir}/libfsimage.so.* \
335 ${libdir}/libxenfsimage.so.* \
336 "
337
338FILES_${PN}-libfsimage-dev = " \
339 ${libdir}/libfsimage.so \
340 ${libdir}/libxenfsimage.so \
341 ${libdir}/pkgconfig/fsimage.pc \
342 ${datadir}/pkgconfig/fsimage.pc \
343 ${libdir}/pkgconfig/xenfsimage.pc \
344 ${datadir}/pkgconfig/xenfsimage.pc \
345 "
346
347FILES_${PN}-fsimage = " \
348 ${libdir}/fs/*/*fsimage.so \
349 ${libdir}/xenfsimage/*/fsimage.so \
350 "
351
352FILES_${PN}-init-xenstore-dom = "${libdir}/xen/bin/init-xenstore-domain"
353
354FILES_${PN} = "\
355 ${sysconfdir}/xen/auto \
356 ${sysconfdir}/xen/cpupool \
357 ${localstatedir}/xen/dump \
358 "
359
360FILES_${PN}-console = "\
361 ${libdir}/xen/bin/xenconsole \
362 ${sbindir}/xenconsoled \
363 "
364
365FILES_${PN}-cpuid = "\
366 ${bindir}/xen-cpuid \
367 "
368
369FILES_${PN}-devd = "\
370 ${sysconfdir}/init.d/xendriverdomain \
371 ${systemd_unitdir}/system/xendriverdomain.service \
372 "
373
374FILES_${PN}-flask = "\
375 /boot/xenpolicy-* \
376 "
377
378FILES_${PN}-flask-tools = "\
379 ${sbindir}/flask-get-bool \
380 ${sbindir}/flask-getenforce \
381 ${sbindir}/flask-label-pci \
382 ${sbindir}/flask-loadpolicy \
383 ${sbindir}/flask-set-bool \
384 ${sbindir}/flask-setenforce \
385 "
386
387FILES_${PN}-gdbsx = "\
388 ${sbindir}/gdbsx \
389 "
390
391INSANE_SKIP_${PN}-hvmloader = "arch"
392FILES_${PN}-hvmloader = "\
393 ${libdir}/xen/boot/hvmloader \
394 "
395
396FILES_${PN}-kdd = "\
397 ${sbindir}/kdd \
398 ${sbindir}/xen-kdd \
399 "
400
401FILES_${PN}-livepatch += " \
402 ${sbindir}/xen-livepatch \
403 "
404
405FILES_${PN}-misc = "\
406 ${bindir}/xencons \
407 ${bindir}/xencov_split \
408 ${bindir}/xen-detect \
409 ${libdir}/xen/bin/xenpvnetboot \
410 ${libdir}/xen/bin/depriv-fd-checker \
411 ${sbindir}/gtracestat \
412 ${sbindir}/gtraceview \
413 ${sbindir}/xen-bugtool \
414 ${sbindir}/xencov \
415 ${sbindir}/xenperf \
416 ${sbindir}/xenpm \
417 ${sbindir}/xsview \
418 ${sbindir}/xen-diag \
419 ${sbindir}/xen-tmem-list-parse \
420 ${sbindir}/xen-python-path \
421 ${sbindir}/xen-ringwatch \
422 ${sbindir}/xen-hptool \
423 ${sbindir}/xen-hvmcrash \
424 ${sbindir}/xen-hvmctx \
425 ${sbindir}/xenlockprof \
426 ${sbindir}/xen-lowmemd \
427 ${sbindir}/xen-mfndump \
428 ${libdir}/xen/bin/verify-stream-v2 \
429 ${libdir}/xen/bin/convert-legacy-stream \
430 "
431
432FILES_${PN}-pygrub = "\
433 ${bindir}/pygrub \
434 ${libdir}/xen/bin/pygrub \
435 "
436
437FILES_${PN}-python = "\
438 ${libdir}/python2.7 \
439 "
440
441FILES_${PN}-remus = "\
442 ${bindir}/remus \
443 ${sysconfdir}/xen/scripts/remus-netbuf-setup \
444 "
445
446FILES_${PN}-scripts-network = " \
447 ${sysconfdir}/xen/scripts/colo-proxy-setup \
448 ${sysconfdir}/xen/scripts/network-bridge \
449 ${sysconfdir}/xen/scripts/network-nat \
450 ${sysconfdir}/xen/scripts/network-route \
451 ${sysconfdir}/xen/scripts/qemu-ifup \
452 ${sysconfdir}/xen/scripts/vif2 \
453 ${sysconfdir}/xen/scripts/vif-bridge \
454 ${sysconfdir}/xen/scripts/vif-common.sh \
455 ${sysconfdir}/xen/scripts/vif-nat \
456 ${sysconfdir}/xen/scripts/vif-openvswitch \
457 ${sysconfdir}/xen/scripts/vif-route \
458 ${sysconfdir}/xen/scripts/vif-setup \
459 "
460
461FILES_${PN}-scripts-block = " \
462 ${sysconfdir}/xen/scripts/blktap \
463 ${sysconfdir}/xen/scripts/block \
464 ${sysconfdir}/xen/scripts/block-common.sh \
465 ${sysconfdir}/xen/scripts/block-dummy \
466 ${sysconfdir}/xen/scripts/block-enbd \
467 ${sysconfdir}/xen/scripts/block-iscsi \
468 ${sysconfdir}/xen/scripts/block-nbd \
469 ${sysconfdir}/xen/scripts/block-drbd-probe \
470 ${sysconfdir}/xen/scripts/block-tap \
471 ${sysconfdir}/xen/scripts/vscsi \
472 "
473
474FILES_${PN}-scripts-common = " \
475 ${sysconfdir}/xen/scripts/external-device-migrate \
476 ${sysconfdir}/xen/scripts/hotplugpath.sh \
477 ${sysconfdir}/xen/scripts/locking.sh \
478 ${sysconfdir}/xen/scripts/logging.sh \
479 ${sysconfdir}/xen/scripts/xen-hotplug-cleanup \
480 ${sysconfdir}/xen/scripts/xen-hotplug-common.sh \
481 ${sysconfdir}/xen/scripts/xen-network-common.sh \
482 ${sysconfdir}/xen/scripts/xen-script-common.sh \
483 "
484
485INSANE_SKIP_${PN}-shim = "arch"
486FILES_${PN}-shim = " \
487 ${libdir}/xen/boot/xen-shim \
488 "
489
490FILES_${PN}-volatiles = "\
491 ${sysconfdir}/default/volatiles/99_xen \
492 ${sysconfdir}/tmpfiles.d/xen.conf \
493 "
494
495FILES_${PN}-xcutils = "\
496 ${libdir}/xen/bin/lsevtchn \
497 ${libdir}/xen/bin/readnotes \
498 ${libdir}/xen/bin/xc_restore \
499 ${libdir}/xen/bin/xc_save \
500 "
501
502FILES_${PN}-xend-examples = "\
503 ${sysconfdir}/xen/xend-config.sxp \
504 ${sysconfdir}/xen/xend-pci-permissive.sxp \
505 ${sysconfdir}/xen/xend-pci-quirks.sxp \
506 "
507
508FILES_${PN}-xenpaging = "\
509 ${libdir}/xen/bin/xenpaging \
510 ${localstatedir}/lib/xen/xenpaging \
511 "
512
513FILES_${PN}-xenpmd = "\
514 ${sbindir}/xenpmd \
515 "
516
517FILES_${PN}-xenstat = "\
518 ${sbindir}/xentop \
519 "
520
521FILES_${PN}-xenstore = "\
522 ${bindir}/xenstore \
523 ${bindir}/xenstore-chmod \
524 ${bindir}/xenstore-control \
525 ${bindir}/xenstore-exists \
526 ${bindir}/xenstore-list \
527 ${bindir}/xenstore-ls \
528 ${bindir}/xenstore-read \
529 ${bindir}/xenstore-rm \
530 ${bindir}/xenstore-watch \
531 ${bindir}/xenstore-write \
532 "
533
534FILES_${PN}-xenstored = "\
535 ${sbindir}/xenstored \
536 ${localstatedir}/lib/xenstored \
537 "
538
539FILES_${PN}-xentrace = "\
540 ${bindir}/xentrace \
541 ${bindir}/xentrace_format \
542 ${bindir}/xentrace_setsize \
543 ${libdir}/xen/bin/xenctx \
544 ${bindir}/xenalyze \
545 ${sbindir}/xentrace \
546 ${sbindir}/xentrace_setsize \
547 "
548
549FILES_${PN}-xen-watchdog = "\
550 ${sbindir}/xenwatchdogd \
551 ${sysconfdir}/init.d/xen-watchdog \
552 ${systemd_unitdir}/system/xen-watchdog.service \
553 "
554
555FILES_${PN}-xl = "\
556 ${sysconfdir}/bash_completion.d/xl.sh \
557 ${sysconfdir}/xen/xl.conf \
558 ${libdir}/xen/bin/libxl-save-helper \
559 ${sbindir}/xl \
560 ${libdir}/xen/bin/xen-init-dom0 \
561 "
562
563FILES_${PN}-xl-examples = "\
564 ${sysconfdir}/xen/xlexample.hvm \
565 ${sysconfdir}/xen/xlexample.pvlinux \
566 "
567
568FILES_${PN}-xm-examples = "\
569 ${sysconfdir}/xen/xmexample1 \
570 ${sysconfdir}/xen/xmexample2 \
571 ${sysconfdir}/xen/xmexample3 \
572 ${sysconfdir}/xen/xmexample.hvm \
573 ${sysconfdir}/xen/xmexample.hvm-stubdom \
574 ${sysconfdir}/xen/xmexample.nbd \
575 ${sysconfdir}/xen/xmexample.pv-grub \
576 ${sysconfdir}/xen/xmexample.vti \
577 "
578
579FILES_${PN}-xenmon = "\
580 ${sbindir}/xenbaked \
581 ${sbindir}/xentrace_setmask \
582 ${sbindir}/xenmon.py \
583 ${sbindir}/xenmon \
584 "
585
586FILES_${PN}-xm = "\
587 ${sysconfdir}/xen/xm-config.xml \
588 ${datadir}/xen/create.dtd \
589 ${sbindir}/xm \
590 "
591
592FILES_${PN}-xencommons += "\
593 ${sysconfdir}/default/xencommons \
594 ${sysconfdir}/init.d/xencommons \
595 ${sysconfdir}/xen/scripts/launch-xenstore \
596 ${systemd_unitdir}/modules-load.d/xen.conf \
597 ${systemd_unitdir}/system/proc-xen.mount \
598 ${systemd_unitdir}/system/xen-qemu-dom0-disk-backend.service \
599 ${systemd_unitdir}/system/xenconsoled.service \
600 ${systemd_unitdir}/system/xen-init-dom0.service \
601 ${systemd_unitdir}/system/xenstored.service \
602 ${systemd_unitdir}/system/var-lib-xenstored.mount \
603 "
604
605FILES_${PN}-xend += " \
606 ${sysconfdir}/init.d/xend \
607 ${sbindir}/xend \
608 "
609
610FILES_${PN}-xendomains += "\
611 ${libdir}/xen/bin/xendomains \
612 ${sysconfdir}/default/xendomains \
613 ${sysconfdir}/init.d/xendomains \
614 ${sysconfdir}/sysconfig/xendomains \
615 ${systemd_unitdir}/system/xendomains.service \
616 "
617
618INSANE_SKIP_${PN} = "already-stripped"
619
620# configure init.d scripts
621INITSCRIPT_PACKAGES = "${PN}-xend ${PN}-xencommons ${PN}-xen-watchdog ${PN}-xendomains ${PN}-devd"
622INITSCRIPT_NAME_${PN}-xencommons = "xencommons"
623INITSCRIPT_PARAMS_${PN}-xencommons = "defaults 80"
624INITSCRIPT_NAME_${PN}-xen-watchdog = "xen-watchdog"
625INITSCRIPT_PARAMS_${PN}-xen-watchdog = "defaults 81"
626INITSCRIPT_NAME_${PN}-xend = "xend"
627INITSCRIPT_PARAMS_${PN}-xend = "defaults 82"
628INITSCRIPT_NAME_${PN}-xendomains = "xendomains"
629INITSCRIPT_PARAMS_${PN}-xendomains = "defaults 83"
630INITSCRIPT_NAME_${PN}-devd = "xendriverdomain"
631INITSCRIPT_PARAMS_${PN}-devd = "defaults 82"
632
633# systemd packages
634SYSTEMD_PACKAGES = "${PN}-xen-watchdog ${PN}-xencommons ${PN}-xendomains ${PN}-devd"
635SYSTEMD_SERVICE_${PN}-devd = "xendriverdomain.service"
636SYSTEMD_SERVICE_${PN}-xen-watchdog = "xen-watchdog.service"
637SYSTEMD_SERVICE_${PN}-xencommons = " \
638 proc-xen.mount \
639 var-lib-xenstored.mount \
640 xen-qemu-dom0-disk-backend.service \
641 xenconsoled.service \
642 xen-init-dom0.service \
643 xenstored.service \
644 "
645SYSTEMD_SERVICE_${PN}-xendomains = "xendomains.service"
646
647do_configure() {
648 do_configure_common
649}
650
651do_stubs() {
652 # no stubs-32.h in our 64-bit sysroot - hack it into tools/include/gnu
653 if ! test -f ${STAGING_DIR_TARGET}/usr/include/gnu/stubs-32.h ; then
654 if test -f ${STAGING_DIR_TARGET}/usr/include/gnu/stubs-64.h ; then
655 test -d ${S}/tools/include/gnu || mkdir ${S}/tools/include/gnu
656 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
657 echo \#define __stub___kernel_cosl >> ${S}/tools/include/gnu/stubs-32.h
658 echo \#define __stub___kernel_sinl >> ${S}/tools/include/gnu/stubs-32.h
659 echo \#define __stub___kernel_tanl >> ${S}/tools/include/gnu/stubs-32.h
660 fi
661 fi
662}
663
664addtask stubs after do_configure before do_compile
665
666do_compile() {
667 oe_runmake tools
668}
669
670do_install() {
671 oe_runmake DESTDIR="${D}" install-tools
672
673 # remove installed volatiles
674 rm -rf ${D}${base_prefix}/run \
675 ${D}${localstatedir}/run \
676 ${D}${localstatedir}/lock \
677 ${D}${localstatedir}/log \
678 ${D}${localstatedir}/volatile \
679 ${D}${localstatedir}/lib/xen
680
681 VOLATILE_DIRS=" \
682 ${base_prefix}/run/xenstored \
683 ${base_prefix}/run/xend \
684 ${base_prefix}/run/xend/boot \
685 ${base_prefix}/run/xen \
686 ${localstatedir}/log/xen \
687 ${localstatedir}/lock/xen \
688 ${localstatedir}/lock/subsys \
689 ${localstatedir}/lib/xen \
690 "
691
692 # install volatiles using populate_volatiles mechanism
693 install -d ${D}${sysconfdir}/default/volatiles
694 for i in $VOLATILE_DIRS; do
695 echo "d root root 0755 $i none" >> ${D}${sysconfdir}/default/volatiles/99_xen
696 done
697
698 # workaround for xendomains script which searchs sysconfig if directory exists
699 install -d ${D}${sysconfdir}/sysconfig
700 ln -sf ${sysconfdir}/default/xendomains ${D}${sysconfdir}/sysconfig/xendomains
701
702 # systemd
703 if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
704 # install volatiles using systemd tmpfiles.d
705 install -d ${D}${sysconfdir}/tmpfiles.d
706 for i in $VOLATILE_DIRS; do
707 echo "d $i 0755 root root - -" >> ${D}${sysconfdir}/tmpfiles.d/xen.conf
708 done
709 fi
710
711 # fixup default path to qemu-system-i386
712 sed -i 's#\(test -z "$QEMU_XEN" && QEMU_XEN=\).*$#\1"/usr/bin/qemu-system-i386"#' ${D}/etc/init.d/xencommons
713
714 if [ -e ${D}${systemd_unitdir}/system/xen-qemu-dom0-disk-backend.service ]; then
715 sed -i 's#ExecStart=.*qemu-system-i386\(.*\)$#ExecStart=/usr/bin/qemu-system-i386\1#' \
716 ${D}${systemd_unitdir}/system/xen-qemu-dom0-disk-backend.service
717 fi
718}
719
720pkg_postinst_${PN}-volatiles() {
721 if [ -z "$D" ]; then
722 if command -v systemd-tmpfiles >/dev/null; then
723 systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/xen.conf
724 elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
725 ${sysconfdir}/init.d/populate-volatile.sh update
726 fi
727 fi
728}
729
730do_deploy() {
731 XEN_FULLVERSION=$(oe_runmake -C ${S}/xen xenversion --no-print-directory)
732 FLASK_POLICY_FILE="xenpolicy-${XEN_FULLVERSION}"
733
734 install -d ${DEPLOYDIR}
735
736 # Install the flask policy in the deploy directory if it exists
737 if [ -f ${D}/boot/${FLASK_POLICY_FILE} ]; then
738 install -m 0644 ${D}/boot/${FLASK_POLICY_FILE} ${DEPLOYDIR}
739 ln -sf ${FLASK_POLICY_FILE} ${DEPLOYDIR}/xenpolicy-${MACHINE}
740 fi
741}
742
743addtask deploy after do_populate_sysroot