summaryrefslogtreecommitdiffstats
path: root/recipes-extended/xen/xen.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.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.inc')
-rw-r--r--recipes-extended/xen/xen.inc842
1 files changed, 5 insertions, 837 deletions
diff --git a/recipes-extended/xen/xen.inc b/recipes-extended/xen/xen.inc
index 2aed677a..b2af8aa7 100644
--- a/recipes-extended/xen/xen.inc
+++ b/recipes-extended/xen/xen.inc
@@ -1,13 +1,10 @@
1DESCRIPTION = "Xen hypervisor"
2HOMEPAGE = "http://xen.org" 1HOMEPAGE = "http://xen.org"
3LICENSE = "GPLv2" 2LICENSE = "GPLv2"
4SECTION = "console/tools" 3SECTION = "console/tools"
5 4
6LIC_FILES_CHKSUM = "file://COPYING;md5=bbb4b1bdc2c3b6743da3c39d03249095"
7
8COMPATIBLE_HOST = '(x86_64.*).*-linux|aarch64.*-linux|arm-.*-linux-gnueabi' 5COMPATIBLE_HOST = '(x86_64.*).*-linux|aarch64.*-linux|arm-.*-linux-gnueabi'
9 6
10inherit autotools-brokensep setuptools3 update-rc.d systemd deploy 7inherit autotools-brokensep
11 8
12require xen-arch.inc 9require xen-arch.inc
13 10
@@ -17,12 +14,11 @@ PACKAGECONFIG ??= " \
17 ${@bb.utils.contains('XEN_TARGET_ARCH', 'x86_64', 'hvm', '', d)} \ 14 ${@bb.utils.contains('XEN_TARGET_ARCH', 'x86_64', 'hvm', '', d)} \
18 " 15 "
19 16
20FLASK_POLICY_FILE ?= "xenpolicy-${PV}"
21
22PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,virtual/libsdl," 17PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,virtual/libsdl,"
23PACKAGECONFIG[xsm] = "--enable-xsmpolicy,--disable-xsmpolicy,checkpolicy-native," 18PACKAGECONFIG[xsm] = "--enable-xsmpolicy,--disable-xsmpolicy,checkpolicy-native,"
24PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd," 19PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd,"
25PACKAGECONFIG[hvm] = "--with-system-seabios="/usr/share/firmware/bios.bin",--disable-seabios,seabios ipxe vgabios," 20PACKAGECONFIG[hvm] = "--with-system-seabios="/usr/share/firmware/bios.bin",--disable-seabios,seabios ipxe vgabios,"
21PACKAGECONFIG[externalblktap] = ",,,"
26 22
27DEPENDS = " \ 23DEPENDS = " \
28 ${@bb.utils.contains('XEN_TARGET_ARCH', 'x86_64', 'dev86-native', '', d)} \ 24 ${@bb.utils.contains('XEN_TARGET_ARCH', 'x86_64', 'dev86-native', '', d)} \
@@ -57,699 +53,6 @@ DEPENDS = " \
57 gnu-efi \ 53 gnu-efi \
58 " 54 "
59 55
60# inherit setuptools adds python to RDEPENDS, override it
61RDEPENDS_${PN} = ""
62
63RDEPENDS_${PN}-base = "\
64 bash perl xz \
65 ${PN}-console \
66 ${PN}-libxenguest \
67 ${PN}-libxenlight \
68 ${PN}-libxenvchan \
69 ${PN}-libxenctrl \
70 ${PN}-libxlutil \
71 ${PN}-libxenstat \
72 ${PN}-libxenstore \
73 ${PN}-libfsimage \
74 ${PN}-fsimage \
75 ${PN}-scripts-block \
76 ${PN}-scripts-network \
77 ${PN}-xen-watchdog \
78 ${PN}-xencommons \
79 ${PN}-xendomains \
80 ${PN}-xenstore \
81 ${PN}-xenstored \
82 ${PN}-xl \
83 "
84
85RDEPENDS_${PN}-dev = ""
86
87RRECOMMENDS_${PN}-base = " \
88 ${PN}-blktap \
89 ${PN}-libblktap \
90 ${PN}-libblktapctl \
91 ${PN}-libvhd \
92 ${PN}-flask \
93 ${PN}-hvmloader \
94 ${PN}-shim \
95 ${PN}-xenpaging \
96 "
97
98RDEPENDS_${PN}-devd = " \
99 ${PN}-xl \
100 "
101
102RDEPENDS_${PN}-fsimage = " \
103 libext2fs \
104 "
105
106RDEPENDS_${PN}-misc = " \
107 perl \
108 python \
109 "
110
111RDEPENDS_${PN}-python = " \
112 python \
113 "
114
115RDEPENDS_${PN}-pygrub = " \
116 ${PN}-python \
117 "
118
119RDEPENDS_${PN}-remus = " \
120 bash \
121 python \
122 "
123
124RDEPENDS_${PN}-scripts-block = "\
125 bash \
126 ${PN}-scripts-common \
127 ${PN}-volatiles \
128 "
129
130RDEPENDS_${PN}-scripts-common = "bash"
131
132RDEPENDS_${PN}-scripts-network = "\
133 bash \
134 bridge-utils \
135 ${PN}-scripts-common \
136 ${PN}-volatiles \
137 "
138
139RDEPENDS_${PN}-xencommons = "\
140 bash \
141 ${PN}-console \
142 ${PN}-xenstore \
143 ${PN}-xenstored \
144 ${PN}-xl \
145 ${PN}-scripts-common \
146 "
147
148RDEPENDS_${PN}-xendomains = "\
149 bash \
150 ${PN}-console \
151 ${PN}-scripts-block \
152 ${PN}-scripts-common \
153 ${PN}-xenstored \
154 "
155
156RDEPENDS_${PN}-xl = "libgcc"
157
158RDEPENDS_${PN}-xentrace = "python"
159
160RDEPENDS_${PN}-xen-watchdog = "bash"
161
162PACKAGES = "\
163 ${PN}-base \
164 ${PN}-blktap \
165 ${PN}-console \
166 ${PN}-cpuid \
167 ${PN}-dbg \
168 ${PN}-dev \
169 ${PN}-devd \
170 ${PN}-doc \
171 ${PN}-efi \
172 ${PN}-flask \
173 ${PN}-flask-tools \
174 ${PN}-fsimage \
175 ${PN}-gdbsx \
176 ${PN}-hvmloader \
177 ${PN}-hypervisor \
178 ${PN}-init-xenstore-dom \
179 ${PN}-kdd \
180 ${PN}-libblktap \
181 ${PN}-libblktapctl \
182 ${PN}-libblktapctl-dev \
183 ${PN}-libblktap-dev \
184 ${PN}-libfsimage \
185 ${PN}-libfsimage-dev \
186 ${PN}-libvhd \
187 ${PN}-libvhd-dev \
188 ${PN}-libxencall \
189 ${PN}-libxencall-dev \
190 ${PN}-libxenctrl \
191 ${PN}-libxenctrl-dev \
192 ${PN}-libxendevicemodel \
193 ${PN}-libxendevicemodel-dev \
194 ${PN}-libxenevtchn \
195 ${PN}-libxenevtchn-dev \
196 ${PN}-libxenforeignmemory \
197 ${PN}-libxenforeignmemory-dev \
198 ${PN}-libxengnttab \
199 ${PN}-libxengnttab-dev \
200 ${PN}-libxenguest \
201 ${PN}-libxenguest-dev \
202 ${PN}-libxenlight \
203 ${PN}-libxenlight-dev \
204 ${PN}-libxenstat \
205 ${PN}-libxenstat-dev \
206 ${PN}-libxenstore \
207 ${PN}-libxenstore-dev \
208 ${PN}-libxentoolcore \
209 ${PN}-libxentoolcore-dev \
210 ${PN}-libxentoollog \
211 ${PN}-libxentoollog-dev \
212 ${PN}-libxenvchan \
213 ${PN}-libxenvchan-dev \
214 ${PN}-libxlutil \
215 ${PN}-libxlutil-dev \
216 ${PN}-livepatch \
217 ${PN}-misc \
218 ${PN}-pygrub \
219 ${PN}-python \
220 ${PN}-remus \
221 ${PN}-scripts-block \
222 ${PN}-scripts-common \
223 ${PN}-scripts-network \
224 ${PN}-shim \
225 ${PN}-staticdev \
226 ${PN}-volatiles \
227 ${PN}-xcutils \
228 ${PN}-xencommons \
229 ${PN}-xend \
230 ${PN}-xend-examples \
231 ${PN}-xendomains \
232 ${PN}-xenmon \
233 ${PN}-xenpaging \
234 ${PN}-xenpmd \
235 ${PN}-xenstat \
236 ${PN}-xenstore \
237 ${PN}-xenstored \
238 ${PN}-xentrace \
239 ${PN}-xen-watchdog \
240 ${PN}-xl \
241 ${PN}-xl-examples \
242 ${PN}-xm \
243 ${PN}-xm-examples \
244 "
245
246FILES_${PN}-dbg += "\
247 ${libdir}/.debug \
248 ${libdir}/debug/* \
249 ${libdir}/xen/bin/.debug \
250 ${libdir}/python2.7/site-packages/.debug \
251 ${libdir}/python2.7/site-packages/xen/lowlevel/.debug \
252 ${libdir}/fs/xfs/.debug \
253 ${libdir}/fs/ufs/.debug \
254 ${libdir}/fs/ext2fs-lib/.debug \
255 ${libdir}/fs/fat/.debug \
256 ${libdir}/fs/zfs/.debug \
257 ${libdir}/fs/reiserfs/.debug \
258 ${libdir}/fs/iso9660/.debug \
259 ${libdir}/fs/*/.debug \
260 ${sbindir}/.debug \
261 ${libdir}exec/.debug \
262 ${libdir}/xen/libexec/.debug \
263 ${bindir}/.debug \
264 ${libdir}/python2.7/dist-packages/.debug \
265 ${libdir}/python2.7/dist-packages/xen/lowlevel/.debug \
266 "
267
268FILES_${PN}-dev = "\
269 ${includedir} \
270 "
271
272FILES_${PN}-doc = "\
273 ${sysconfdir}/xen/README \
274 ${sysconfdir}/xen/README.incompatibilities \
275 ${datadir}/doc \
276 ${datadir}/man \
277 "
278
279FILES_${PN}-staticdev += "\
280 ${libdir}/libblktapctl.a \
281 ${libdir}/libxenguest.a \
282 ${libdir}/libxenlight.a \
283 ${libdir}/libxenvchan.a \
284 ${libdir}/libxenctrl.a \
285 ${libdir}/libxlutil.a \
286 ${libdir}/libvhd.a \
287 ${libdir}/libxenstat.a \
288 ${libdir}/libxenstore.a \
289 ${libdir}/libblktap.a \
290 "
291
292FILES_${PN}-libblktapctl = "${libdir}/libblktapctl.so.*"
293FILES_${PN}-libblktapctl-dev = " \
294 ${libdir}/libblktapctl.so \
295 ${libdir}/pkgconfig/xenblktapctl.pc \
296 ${datadir}/pkgconfig/xenblktapctl.pc \
297 "
298
299FILES_${PN}-libxencall = "${libdir}/libxencall.so.*"
300FILES_${PN}-libxencall-dev = " \
301 ${libdir}/libxencall.so \
302 ${libdir}/pkgconfig/xencall.pc \
303 ${datadir}/pkgconfig/xencall.pc \
304 "
305
306FILES_${PN}-libxenctrl = "${libdir}/libxenctrl.so.*"
307FILES_${PN}-libxenctrl-dev = " \
308 ${libdir}/libxenctrl.so \
309 ${libdir}/pkgconfig/xencontrol.pc \
310 ${datadir}/pkgconfig/xencontrol.pc \
311 "
312
313FILES_${PN}-libxendevicemodel = "${libdir}/libxendevicemodel.so.*"
314FILES_${PN}-libxendevicemodel-dev = " \
315 ${libdir}/libxendevicemodel.so \
316 ${libdir}/pkgconfig/xendevicemodel.pc \
317 ${datadir}/pkgconfig/xendevicemodel.pc \
318 "
319
320FILES_${PN}-libxenevtchn = "${libdir}/libxenevtchn.so.*"
321FILES_${PN}-libxenevtchn-dev = " \
322 ${libdir}/libxenevtchn.so \
323 ${libdir}/pkgconfig/xenevtchn.pc \
324 ${datadir}/pkgconfig/xenevtchn.pc \
325 "
326
327FILES_${PN}-libxenforeignmemory = "${libdir}/libxenforeignmemory.so.*"
328FILES_${PN}-libxenforeignmemory-dev = " \
329 ${libdir}/libxenforeignmemory.so \
330 ${libdir}/pkgconfig/xenforeignmemory.pc \
331 ${datadir}/pkgconfig/xenforeignmemory.pc \
332 "
333
334FILES_${PN}-libxengnttab = "${libdir}/libxengnttab.so.*"
335FILES_${PN}-libxengnttab-dev = " \
336 ${libdir}/libxengnttab.so \
337 ${libdir}/pkgconfig/xengnttab.pc \
338 ${datadir}/pkgconfig/xengnttab.pc \
339 "
340
341FILES_${PN}-libxenguest = "${libdir}/libxenguest.so.*"
342FILES_${PN}-libxenguest-dev = " \
343 ${libdir}/libxenguest.so \
344 ${libdir}/pkgconfig/xenguest.pc \
345 ${datadir}/pkgconfig/xenguest.pc \
346 "
347
348FILES_${PN}-libxenlight = "${libdir}/libxenlight.so.*"
349FILES_${PN}-libxenlight-dev = " \
350 ${libdir}/libxenlight.so \
351 ${libdir}/pkgconfig/xenlight.pc \
352 ${datadir}/pkgconfig/xenlight.pc \
353 "
354
355FILES_${PN}-libxenstat = "${libdir}/libxenstat.so.*"
356FILES_${PN}-libxenstat-dev = " \
357 ${libdir}/libxenstat.so \
358 ${libdir}/pkgconfig/xenstat.pc \
359 ${datadir}/pkgconfig/xenstat.pc \
360 "
361
362FILES_${PN}-libxenstore = "${libdir}/libxenstore.so.*"
363FILES_${PN}-libxenstore-dev = " \
364 ${libdir}/libxenstore.so \
365 ${libdir}/pkgconfig/xenstore.pc \
366 ${datadir}/pkgconfig/xenstore.pc \
367 "
368
369FILES_${PN}-libxentoolcore = "${libdir}/libxentoolcore.so.*"
370FILES_${PN}-libxentoolcore-dev = " \
371 ${libdir}/libxentoolcore.so \
372 ${libdir}/pkgconfig/xentoolcore.pc \
373 ${datadir}/pkgconfig/xentoolcore.pc \
374 "
375
376FILES_${PN}-libxentoollog = "${libdir}/libxentoollog.so.*"
377FILES_${PN}-libxentoollog-dev = " \
378 ${libdir}/libxentoollog.so \
379 ${libdir}/pkgconfig/xentoollog.pc \
380 ${datadir}/pkgconfig/xentoollog.pc \
381 "
382
383FILES_${PN}-libxenvchan = "${libdir}/libxenvchan.so.*"
384FILES_${PN}-libxenvchan-dev = " \
385 ${libdir}/libxenvchan.so \
386 ${libdir}/pkgconfig/xenvchan.pc \
387 ${datadir}/pkgconfig/xenvchan.pc \
388 "
389
390FILES_${PN}-libxlutil = "${libdir}/libxlutil.so.*"
391FILES_${PN}-libxlutil-dev = " \
392 ${libdir}/libxlutil.so \
393 ${libdir}/pkgconfig/xlutil.pc \
394 ${datadir}/pkgconfig/xlutil.pc \
395 "
396FILES_${PN}-libvhd = "${libdir}/libvhd.so.*"
397FILES_${PN}-libvhd-dev = " \
398 ${libdir}/libvhd.so \
399 ${libdir}/pkgconfig/vhd.pc \
400 ${datadir}/pkgconfig/vhd.pc \
401 "
402
403FILES_${PN}-libblktap = "${libdir}/libblktap.so.*"
404FILES_${PN}-libblktap-dev = " \
405 ${libdir}/libblktap.so \
406 ${libdir}/pkgconfig/blktap.pc \
407 ${datadir}/pkgconfig/blktap.pc \
408 "
409
410FILES_${PN}-libfsimage = " \
411 ${libdir}/libfsimage.so.* \
412 ${libdir}/libxenfsimage.so.* \
413 "
414FILES_${PN}-libfsimage-dev = " \
415 ${libdir}/libfsimage.so \
416 ${libdir}/libxenfsimage.so \
417 ${libdir}/pkgconfig/fsimage.pc \
418 ${datadir}/pkgconfig/fsimage.pc \
419 ${libdir}/pkgconfig/xenfsimage.pc \
420 ${datadir}/pkgconfig/xenfsimage.pc \
421 "
422
423FILES_${PN}-fsimage = " \
424 ${libdir}/fs/*/*fsimage.so \
425 ${libdir}/xenfsimage/*/fsimage.so \
426 "
427
428FILES_${PN}-hypervisor = "\
429 /boot/xen-* \
430 /boot/xen \
431 /boot/xen-*.gz \
432 /boot/xen.gz \
433 /boot/xen-syms-* \
434 "
435
436FILES_${PN}-init-xenstore-dom = "${libdir}/xen/bin/init-xenstore-domain"
437
438FILES_${PN}-efi = "\
439 /boot/xen.efi \
440 ${exec_prefix}/lib64/efi/xen* \
441 "
442
443FILES_${PN}-base = "\
444 ${sysconfdir}/xen/auto \
445 ${sysconfdir}/xen/cpupool \
446 ${localstatedir}/xen/dump \
447 "
448
449FILES_${PN}-blktap = "\
450 ${sbindir}/blktapctrl \
451 ${sbindir}/img2qcow \
452 ${sbindir}/lock-util \
453 ${sbindir}/qcow2raw \
454 ${sbindir}/qcow-create \
455 ${sbindir}/tap-ctl \
456 ${sbindir}/tapdisk \
457 ${sbindir}/tapdisk2 \
458 ${sbindir}/tapdisk-client \
459 ${sbindir}/tapdisk-diff \
460 ${sbindir}/tapdisk-stream \
461 ${sbindir}/td-util \
462 ${sbindir}/vhd-update \
463 ${sbindir}/vhd-util \
464 "
465
466FILES_${PN}-console = "\
467 ${libdir}/xen/bin/xenconsole \
468 ${sbindir}/xenconsoled \
469 "
470
471FILES_${PN}-cpuid = "\
472 ${bindir}/xen-cpuid \
473 "
474
475FILES_${PN}-devd = "\
476 ${sysconfdir}/init.d/xendriverdomain \
477 ${systemd_unitdir}/system/xendriverdomain.service \
478 "
479
480FILES_${PN}-flask = "\
481 /boot/${FLASK_POLICY_FILE} \
482 "
483
484FILES_${PN}-flask-tools = "\
485 ${sbindir}/flask-get-bool \
486 ${sbindir}/flask-getenforce \
487 ${sbindir}/flask-label-pci \
488 ${sbindir}/flask-loadpolicy \
489 ${sbindir}/flask-set-bool \
490 ${sbindir}/flask-setenforce \
491 "
492
493FILES_${PN}-gdbsx = "\
494 ${sbindir}/gdbsx \
495 "
496
497INSANE_SKIP_${PN}-hvmloader = "arch"
498FILES_${PN}-hvmloader = "\
499 ${libdir}/xen/boot/hvmloader \
500 "
501
502FILES_${PN}-kdd = "\
503 ${sbindir}/kdd \
504 ${sbindir}/xen-kdd \
505 "
506
507FILES_${PN}-livepatch += " \
508 ${sbindir}/xen-livepatch \
509 "
510
511FILES_${PN}-misc = "\
512 ${bindir}/xencons \
513 ${bindir}/xencov_split \
514 ${bindir}/xen-detect \
515 ${libdir}/xen/bin/xenpvnetboot \
516 ${libdir}/xen/bin/depriv-fd-checker \
517 ${sbindir}/gtracestat \
518 ${sbindir}/gtraceview \
519 ${sbindir}/xen-bugtool \
520 ${sbindir}/xencov \
521 ${sbindir}/xenperf \
522 ${sbindir}/xenpm \
523 ${sbindir}/xsview \
524 ${sbindir}/xen-diag \
525 ${sbindir}/xen-tmem-list-parse \
526 ${sbindir}/xen-python-path \
527 ${sbindir}/xen-ringwatch \
528 ${sbindir}/xen-hptool \
529 ${sbindir}/xen-hvmcrash \
530 ${sbindir}/xen-hvmctx \
531 ${sbindir}/xenlockprof \
532 ${sbindir}/xen-lowmemd \
533 ${sbindir}/xen-mfndump \
534 ${libdir}/xen/bin/verify-stream-v2 \
535 ${libdir}/xen/bin/convert-legacy-stream \
536 "
537
538FILES_${PN}-pygrub = "\
539 ${bindir}/pygrub \
540 ${libdir}/xen/bin/pygrub \
541 "
542
543FILES_${PN}-python = "\
544 ${libdir}/python2.7 \
545 "
546
547INSANE_SKIP_${PN} = "already-stripped"
548
549FILES_${PN}-remus = "\
550 ${bindir}/remus \
551 ${sysconfdir}/xen/scripts/remus-netbuf-setup \
552 "
553
554FILES_${PN}-scripts-network = " \
555 ${sysconfdir}/xen/scripts/colo-proxy-setup \
556 ${sysconfdir}/xen/scripts/network-bridge \
557 ${sysconfdir}/xen/scripts/network-nat \
558 ${sysconfdir}/xen/scripts/network-route \
559 ${sysconfdir}/xen/scripts/qemu-ifup \
560 ${sysconfdir}/xen/scripts/vif2 \
561 ${sysconfdir}/xen/scripts/vif-bridge \
562 ${sysconfdir}/xen/scripts/vif-common.sh \
563 ${sysconfdir}/xen/scripts/vif-nat \
564 ${sysconfdir}/xen/scripts/vif-openvswitch \
565 ${sysconfdir}/xen/scripts/vif-route \
566 ${sysconfdir}/xen/scripts/vif-setup \
567 "
568
569FILES_${PN}-scripts-block = " \
570 ${sysconfdir}/xen/scripts/blktap \
571 ${sysconfdir}/xen/scripts/block \
572 ${sysconfdir}/xen/scripts/block-common.sh \
573 ${sysconfdir}/xen/scripts/block-dummy \
574 ${sysconfdir}/xen/scripts/block-enbd \
575 ${sysconfdir}/xen/scripts/block-iscsi \
576 ${sysconfdir}/xen/scripts/block-nbd \
577 ${sysconfdir}/xen/scripts/block-drbd-probe \
578 ${sysconfdir}/xen/scripts/block-tap \
579 ${sysconfdir}/xen/scripts/vscsi \
580 "
581
582FILES_${PN}-scripts-common = " \
583 ${sysconfdir}/xen/scripts/external-device-migrate \
584 ${sysconfdir}/xen/scripts/hotplugpath.sh \
585 ${sysconfdir}/xen/scripts/locking.sh \
586 ${sysconfdir}/xen/scripts/logging.sh \
587 ${sysconfdir}/xen/scripts/xen-hotplug-cleanup \
588 ${sysconfdir}/xen/scripts/xen-hotplug-common.sh \
589 ${sysconfdir}/xen/scripts/xen-network-common.sh \
590 ${sysconfdir}/xen/scripts/xen-script-common.sh \
591 "
592
593INSANE_SKIP_${PN}-shim = "arch"
594FILES_${PN}-shim = " \
595 ${libdir}/xen/boot/xen-shim \
596 "
597
598FILES_${PN}-volatiles = "\
599 ${sysconfdir}/default/volatiles/99_xen \
600 ${sysconfdir}/tmpfiles.d/xen.conf \
601 "
602
603FILES_${PN}-xcutils = "\
604 ${libdir}/xen/bin/lsevtchn \
605 ${libdir}/xen/bin/readnotes \
606 ${libdir}/xen/bin/xc_restore \
607 ${libdir}/xen/bin/xc_save \
608 "
609
610FILES_${PN}-xend-examples = "\
611 ${sysconfdir}/xen/xend-config.sxp \
612 ${sysconfdir}/xen/xend-pci-permissive.sxp \
613 ${sysconfdir}/xen/xend-pci-quirks.sxp \
614 "
615
616FILES_${PN}-xenpaging = "\
617 ${libdir}/xen/bin/xenpaging \
618 ${localstatedir}/lib/xen/xenpaging \
619 "
620
621FILES_${PN}-xenpmd = "\
622 ${sbindir}/xenpmd \
623 "
624
625FILES_${PN}-xenstat = "\
626 ${sbindir}/xentop \
627 "
628
629FILES_${PN}-xenstore = "\
630 ${bindir}/xenstore \
631 ${bindir}/xenstore-chmod \
632 ${bindir}/xenstore-control \
633 ${bindir}/xenstore-exists \
634 ${bindir}/xenstore-list \
635 ${bindir}/xenstore-ls \
636 ${bindir}/xenstore-read \
637 ${bindir}/xenstore-rm \
638 ${bindir}/xenstore-watch \
639 ${bindir}/xenstore-write \
640 "
641
642FILES_${PN}-xenstored = "\
643 ${sbindir}/xenstored \
644 ${localstatedir}/lib/xenstored \
645 "
646
647FILES_${PN}-xentrace = "\
648 ${bindir}/xentrace \
649 ${bindir}/xentrace_format \
650 ${bindir}/xentrace_setsize \
651 ${libdir}/xen/bin/xenctx \
652 ${bindir}/xenalyze \
653 ${sbindir}/xentrace \
654 ${sbindir}/xentrace_setsize \
655 "
656
657FILES_${PN}-xen-watchdog = "\
658 ${sbindir}/xenwatchdogd \
659 ${sysconfdir}/init.d/xen-watchdog \
660 ${systemd_unitdir}/system/xen-watchdog.service \
661 "
662
663FILES_${PN}-xl = "\
664 ${sysconfdir}/bash_completion.d/xl.sh \
665 ${sysconfdir}/xen/xl.conf \
666 ${libdir}/xen/bin/libxl-save-helper \
667 ${sbindir}/xl \
668 ${libdir}/xen/bin/xen-init-dom0 \
669 "
670
671FILES_${PN}-xl-examples = "\
672 ${sysconfdir}/xen/xlexample.hvm \
673 ${sysconfdir}/xen/xlexample.pvlinux \
674 "
675
676FILES_${PN}-xm-examples = "\
677 ${sysconfdir}/xen/xmexample1 \
678 ${sysconfdir}/xen/xmexample2 \
679 ${sysconfdir}/xen/xmexample3 \
680 ${sysconfdir}/xen/xmexample.hvm \
681 ${sysconfdir}/xen/xmexample.hvm-stubdom \
682 ${sysconfdir}/xen/xmexample.nbd \
683 ${sysconfdir}/xen/xmexample.pv-grub \
684 ${sysconfdir}/xen/xmexample.vti \
685 "
686
687FILES_${PN}-xenmon = "\
688 ${sbindir}/xenbaked \
689 ${sbindir}/xentrace_setmask \
690 ${sbindir}/xenmon.py \
691 ${sbindir}/xenmon \
692 "
693
694FILES_${PN}-xm = "\
695 ${sysconfdir}/xen/xm-config.xml \
696 ${datadir}/xen/create.dtd \
697 ${sbindir}/xm \
698 "
699
700FILES_${PN}-xencommons += "\
701 ${sysconfdir}/default/xencommons \
702 ${sysconfdir}/init.d/xencommons \
703 ${sysconfdir}/xen/scripts/launch-xenstore \
704 ${systemd_unitdir}/modules-load.d/xen.conf \
705 ${systemd_unitdir}/system/proc-xen.mount \
706 ${systemd_unitdir}/system/xen-qemu-dom0-disk-backend.service \
707 ${systemd_unitdir}/system/xenconsoled.service \
708 ${systemd_unitdir}/system/xen-init-dom0.service \
709 ${systemd_unitdir}/system/xenstored.service \
710 ${systemd_unitdir}/system/var-lib-xenstored.mount \
711 "
712
713FILES_${PN}-xend += " \
714 ${sysconfdir}/init.d/xend \
715 ${sbindir}/xend \
716 "
717
718FILES_${PN}-xendomains += "\
719 ${libdir}/xen/bin/xendomains \
720 ${sysconfdir}/default/xendomains \
721 ${sysconfdir}/init.d/xendomains \
722 ${sysconfdir}/sysconfig/xendomains \
723 ${systemd_unitdir}/system/xendomains.service \
724 "
725
726# configure init.d scripts
727INITSCRIPT_PACKAGES = "${PN}-xend ${PN}-xencommons ${PN}-xen-watchdog ${PN}-xendomains ${PN}-devd"
728INITSCRIPT_NAME_${PN}-xencommons = "xencommons"
729INITSCRIPT_PARAMS_${PN}-xencommons = "defaults 80"
730INITSCRIPT_NAME_${PN}-xen-watchdog = "xen-watchdog"
731INITSCRIPT_PARAMS_${PN}-xen-watchdog = "defaults 81"
732INITSCRIPT_NAME_${PN}-xend = "xend"
733INITSCRIPT_PARAMS_${PN}-xend = "defaults 82"
734INITSCRIPT_NAME_${PN}-xendomains = "xendomains"
735INITSCRIPT_PARAMS_${PN}-xendomains = "defaults 83"
736INITSCRIPT_NAME_${PN}-devd = "xendriverdomain"
737INITSCRIPT_PARAMS_${PN}-devd = "defaults 82"
738
739# systemd packages
740SYSTEMD_PACKAGES = "${PN}-xen-watchdog ${PN}-xencommons ${PN}-xendomains ${PN}-devd"
741SYSTEMD_SERVICE_${PN}-devd = "xendriverdomain.service"
742SYSTEMD_SERVICE_${PN}-xen-watchdog = "xen-watchdog.service"
743SYSTEMD_SERVICE_${PN}-xencommons = " \
744 proc-xen.mount \
745 var-lib-xenstored.mount \
746 xen-qemu-dom0-disk-backend.service \
747 xenconsoled.service \
748 xen-init-dom0.service \
749 xenstored.service \
750 "
751SYSTEMD_SERVICE_${PN}-xendomains = "xendomains.service"
752
753#### REQUIRED ENVIRONMENT VARIABLES #### 56#### REQUIRED ENVIRONMENT VARIABLES ####
754export BUILD_SYS 57export BUILD_SYS
755export HOST_SYS 58export HOST_SYS
@@ -896,21 +199,6 @@ do_post_patch_append_arm() {
896 199
897addtask post_patch after do_patch before do_configure 200addtask post_patch after do_patch before do_configure
898 201
899do_stubs() {
900 # no stubs-32.h in our 64-bit sysroot - hack it into tools/include/gnu
901 if ! test -f ${STAGING_DIR_TARGET}/usr/include/gnu/stubs-32.h ; then
902 if test -f ${STAGING_DIR_TARGET}/usr/include/gnu/stubs-64.h ; then
903 test -d ${S}/tools/include/gnu || mkdir ${S}/tools/include/gnu
904 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
905 echo \#define __stub___kernel_cosl >> ${S}/tools/include/gnu/stubs-32.h
906 echo \#define __stub___kernel_sinl >> ${S}/tools/include/gnu/stubs-32.h
907 echo \#define __stub___kernel_tanl >> ${S}/tools/include/gnu/stubs-32.h
908 fi
909 fi
910}
911
912addtask stubs after do_configure before do_compile
913
914# Allow all hypervisor settings in a defconfig 202# Allow all hypervisor settings in a defconfig
915EXTRA_OEMAKE += "XEN_CONFIG_EXPERT=y" 203EXTRA_OEMAKE += "XEN_CONFIG_EXPERT=y"
916# Build release versions always. Technically since we track release 204# Build release versions always. Technically since we track release
@@ -918,7 +206,7 @@ EXTRA_OEMAKE += "XEN_CONFIG_EXPERT=y"
918# from staging that reverts this 206# from staging that reverts this
919EXTRA_OEMAKE += "debug=n" 207EXTRA_OEMAKE += "debug=n"
920 208
921do_configure() { 209do_configure_common() {
922 210
923 #./configure --enable-xsmpolicy does not set XSM_ENABLE must be done manually 211 #./configure --enable-xsmpolicy does not set XSM_ENABLE must be done manually
924 if [ "${XSM_ENABLED}" = "1" ]; then 212 if [ "${XSM_ENABLED}" = "1" ]; then
@@ -940,134 +228,14 @@ do_configure() {
940 fi 228 fi
941} 229}
942 230
943do_compile() { 231do_compile_prepend() {
944 # workaround for build bug when CFLAGS is exported 232 # workaround for build bug when CFLAGS is exported
945 # https://www.mail-archive.com/xen-devel@lists.xen.org/msg67822.html 233 # https://www.mail-archive.com/xen-devel@lists.xen.org/msg67822.html
946 unset CFLAGS 234 unset CFLAGS
947
948 # Workaround for parallel build bug: build xen first.
949 # https://lists.xenproject.org/archives/html/xen-devel/2018-07/msg02551.html
950 oe_runmake xen
951 oe_runmake
952} 235}
953 236
954do_install() { 237do_install_prepend() {
955 # CFLAGS is used to set PY_CFLAGS which affects the pygrub install 238 # CFLAGS is used to set PY_CFLAGS which affects the pygrub install
956 # so also need to unset CFLAGS here: 239 # so also need to unset CFLAGS here:
957 unset CFLAGS 240 unset CFLAGS
958 oe_runmake DESTDIR="${D}" install
959
960 # remove installed volatiles
961 rm -rf ${D}${base_prefix}/run \
962 ${D}${localstatedir}/run \
963 ${D}${localstatedir}/lock \
964 ${D}${localstatedir}/log \
965 ${D}${localstatedir}/volatile \
966 ${D}${localstatedir}/lib/xen
967
968 VOLATILE_DIRS=" \
969 ${base_prefix}/run/xenstored \
970 ${base_prefix}/run/xend \
971 ${base_prefix}/run/xend/boot \
972 ${base_prefix}/run/xen \
973 ${localstatedir}/log/xen \
974 ${localstatedir}/lock/xen \
975 ${localstatedir}/lock/subsys \
976 ${localstatedir}/lib/xen \
977 "
978
979 # install volatiles using populate_volatiles mechanism
980 install -d ${D}${sysconfdir}/default/volatiles
981 for i in $VOLATILE_DIRS; do
982 echo "d root root 0755 $i none" >> ${D}${sysconfdir}/default/volatiles/99_xen
983 done
984
985 # workaround for xendomains script which searchs sysconfig if directory exists
986 install -d ${D}${sysconfdir}/sysconfig
987 ln -sf ${sysconfdir}/default/xendomains ${D}${sysconfdir}/sysconfig/xendomains
988
989 # systemd
990 if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
991 # install volatiles using systemd tmpfiles.d
992 install -d ${D}${sysconfdir}/tmpfiles.d
993 for i in $VOLATILE_DIRS; do
994 echo "d $i 0755 root root - -" >> ${D}${sysconfdir}/tmpfiles.d/xen.conf
995 done
996 fi
997
998 # fixup default path to qemu-system-i386
999 sed -i 's#\(test -z "$QEMU_XEN" && QEMU_XEN=\).*$#\1"/usr/bin/qemu-system-i386"#' ${D}/etc/init.d/xencommons
1000
1001 if [ -e ${D}${systemd_unitdir}/system/xen-qemu-dom0-disk-backend.service ]; then
1002 sed -i 's#ExecStart=.*qemu-system-i386\(.*\)$#ExecStart=/usr/bin/qemu-system-i386\1#' \
1003 ${D}${systemd_unitdir}/system/xen-qemu-dom0-disk-backend.service
1004 fi
1005}
1006
1007pkg_postinst_${PN}-volatiles() {
1008 if [ -z "$D" ]; then
1009 if command -v systemd-tmpfiles >/dev/null; then
1010 systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/xen.conf
1011 elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
1012 ${sysconfdir}/init.d/populate-volatile.sh update
1013 fi
1014 fi
1015}
1016
1017do_deploy() {
1018 install -d ${DEPLOYDIR}
1019
1020 if [ -f ${D}/boot/xen ]; then
1021 install -m 0644 ${D}/boot/xen ${DEPLOYDIR}/xen-${MACHINE}
1022 fi
1023
1024 if [ -f ${D}/boot/xen.gz ]; then
1025 install -m 0644 ${D}/boot/xen.gz ${DEPLOYDIR}/xen-${MACHINE}.gz
1026 fi
1027
1028 if [ -f ${D}/usr/lib64/efi/xen.efi ]; then
1029 install -m 0644 ${D}/usr/lib64/efi/xen.efi ${DEPLOYDIR}/xen-${MACHINE}.efi
1030 fi
1031
1032 # Install the flask policy in the deploy directory if it exists
1033 if [ -f ${D}/boot/${FLASK_POLICY_FILE} ]; then
1034 install -m 0644 ${D}/boot/${FLASK_POLICY_FILE} ${DEPLOYDIR}
1035 ln -sf ${FLASK_POLICY_FILE} ${DEPLOYDIR}/xenpolicy-${MACHINE}
1036 fi
1037}
1038
1039addtask deploy after do_populate_sysroot
1040
1041# Enable use of menuconfig directly from bitbake and also within the devshell
1042OE_TERMINAL_EXPORTS += "HOST_EXTRACFLAGS HOSTLDFLAGS TERMINFO"
1043HOST_EXTRACFLAGS = "${BUILD_CFLAGS} ${BUILD_LDFLAGS}"
1044HOSTLDFLAGS = "${BUILD_LDFLAGS}"
1045TERMINFO = "${STAGING_DATADIR_NATIVE}/terminfo"
1046do_devshell[depends] += "ncurses-native:do_populate_sysroot"
1047
1048KCONFIG_CONFIG_COMMAND ??= "menuconfig"
1049python do_menuconfig() {
1050 import shutil
1051
1052 try:
1053 mtime = os.path.getmtime("xen/.config")
1054 shutil.copy("xen/.config", "xen/.config.orig")
1055 except OSError:
1056 mtime = 0
1057
1058 oe_terminal("${SHELL} -c \"cd xen; XEN_CONFIG_EXPERT=y make %s; if [ \$? -ne 0 ]; then echo 'Command failed.'; printf 'Press any key to continue... '; read r; fi\"" % d.getVar('KCONFIG_CONFIG_COMMAND'),
1059 d.getVar('PN') + ' Configuration', d)
1060
1061 try:
1062 newmtime = os.path.getmtime("xen/.config")
1063 except OSError:
1064 newmtime = 0
1065
1066 if newmtime > mtime:
1067 bb.note("Configuration changed, recompile will be forced")
1068 bb.build.write_taint('do_compile', d)
1069} 241}
1070do_menuconfig[depends] += "ncurses-native:do_populate_sysroot"
1071do_menuconfig[nostamp] = "1"
1072do_menuconfig[dirs] = "${B}"
1073addtask menuconfig after do_configure