diff options
author | Christopher Clark <christopher.w.clark@gmail.com> | 2020-02-25 16:15:54 -0800 |
---|---|---|
committer | Bruce Ashfield <bruce.ashfield@gmail.com> | 2020-02-27 16:59:23 -0500 |
commit | 545461ba2f97f065791e3d4ed22342eba2836d48 (patch) | |
tree | 68917fa8fed4b544b84e32d70470e5c47600f1a2 /recipes-extended/xen/xen-tools.inc | |
parent | e12b76773a874ea4454411aea564a3e9008c931b (diff) | |
download | meta-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.inc | 743 |
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 @@ | |||
1 | SUMMARY = "Xen hypervisor tools" | ||
2 | DESCRIPTION = "Tools and utility software for the Xen hypervisor" | ||
3 | |||
4 | inherit setuptools update-rc.d systemd deploy | ||
5 | require xen-blktap.inc | ||
6 | |||
7 | RDEPENDS_${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 | |||
29 | RDEPENDS_${PN}-dev = "" | ||
30 | |||
31 | RRECOMMENDS_${PN} = " \ | ||
32 | ${@bb.utils.contains('PACKAGECONFIG', 'externalblktap', '', '${BLKTAP_RRECOMMENDS}', d)} \ | ||
33 | ${PN}-flask \ | ||
34 | ${PN}-hvmloader \ | ||
35 | ${PN}-shim \ | ||
36 | ${PN}-xenpaging \ | ||
37 | " | ||
38 | |||
39 | RDEPENDS_${PN}-devd = " \ | ||
40 | ${PN}-xl \ | ||
41 | " | ||
42 | |||
43 | RDEPENDS_${PN}-fsimage = " \ | ||
44 | libext2fs \ | ||
45 | " | ||
46 | |||
47 | RDEPENDS_${PN}-misc = " \ | ||
48 | perl \ | ||
49 | python \ | ||
50 | " | ||
51 | |||
52 | RDEPENDS_${PN}-python = " \ | ||
53 | python \ | ||
54 | " | ||
55 | |||
56 | RDEPENDS_${PN}-pygrub = " \ | ||
57 | ${PN}-python \ | ||
58 | " | ||
59 | |||
60 | RDEPENDS_${PN}-remus = " \ | ||
61 | bash \ | ||
62 | python \ | ||
63 | " | ||
64 | |||
65 | RDEPENDS_${PN}-scripts-block = "\ | ||
66 | bash \ | ||
67 | ${PN}-scripts-common \ | ||
68 | ${PN}-volatiles \ | ||
69 | " | ||
70 | |||
71 | RDEPENDS_${PN}-scripts-common = "bash" | ||
72 | |||
73 | RDEPENDS_${PN}-scripts-network = "\ | ||
74 | bash \ | ||
75 | bridge-utils \ | ||
76 | ${PN}-scripts-common \ | ||
77 | ${PN}-volatiles \ | ||
78 | " | ||
79 | |||
80 | RDEPENDS_${PN}-xencommons = "\ | ||
81 | bash \ | ||
82 | ${PN}-console \ | ||
83 | ${PN}-xenstore \ | ||
84 | virtual/xenstored \ | ||
85 | ${PN}-xl \ | ||
86 | ${PN}-scripts-common \ | ||
87 | " | ||
88 | |||
89 | RDEPENDS_${PN}-xendomains = "\ | ||
90 | bash \ | ||
91 | ${PN}-console \ | ||
92 | ${PN}-scripts-block \ | ||
93 | ${PN}-scripts-common \ | ||
94 | virtual/xenstored \ | ||
95 | " | ||
96 | |||
97 | RDEPENDS_${PN}-xl = "libgcc" | ||
98 | |||
99 | RDEPENDS_${PN}-xentrace = "python" | ||
100 | |||
101 | RDEPENDS_${PN}-xen-watchdog = "bash" | ||
102 | |||
103 | PACKAGES = " \ | ||
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 | |||
179 | PROVIDES =+ " \ | ||
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. | ||
186 | RPROVIDES_${PN}-xenstored = "virtual/xenstored" | ||
187 | |||
188 | FILES_${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 | |||
208 | FILES_${PN}-dev = "\ | ||
209 | ${includedir} \ | ||
210 | " | ||
211 | |||
212 | FILES_${PN}-doc = "\ | ||
213 | ${sysconfdir}/xen/README \ | ||
214 | ${sysconfdir}/xen/README.incompatibilities \ | ||
215 | ${datadir}/doc \ | ||
216 | ${datadir}/man \ | ||
217 | " | ||
218 | |||
219 | FILES_${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 | |||
229 | FILES_${PN}-libxencall = "${libdir}/libxencall.so.*" | ||
230 | FILES_${PN}-libxencall-dev = " \ | ||
231 | ${libdir}/libxencall.so \ | ||
232 | ${libdir}/pkgconfig/xencall.pc \ | ||
233 | ${datadir}/pkgconfig/xencall.pc \ | ||
234 | " | ||
235 | |||
236 | FILES_${PN}-libxenctrl = "${libdir}/libxenctrl.so.*" | ||
237 | FILES_${PN}-libxenctrl-dev = " \ | ||
238 | ${libdir}/libxenctrl.so \ | ||
239 | ${libdir}/pkgconfig/xencontrol.pc \ | ||
240 | ${datadir}/pkgconfig/xencontrol.pc \ | ||
241 | " | ||
242 | |||
243 | FILES_${PN}-libxendevicemodel = "${libdir}/libxendevicemodel.so.*" | ||
244 | FILES_${PN}-libxendevicemodel-dev = " \ | ||
245 | ${libdir}/libxendevicemodel.so \ | ||
246 | ${libdir}/pkgconfig/xendevicemodel.pc \ | ||
247 | ${datadir}/pkgconfig/xendevicemodel.pc \ | ||
248 | " | ||
249 | |||
250 | FILES_${PN}-libxenevtchn = "${libdir}/libxenevtchn.so.*" | ||
251 | FILES_${PN}-libxenevtchn-dev = " \ | ||
252 | ${libdir}/libxenevtchn.so \ | ||
253 | ${libdir}/pkgconfig/xenevtchn.pc \ | ||
254 | ${datadir}/pkgconfig/xenevtchn.pc \ | ||
255 | " | ||
256 | |||
257 | FILES_${PN}-libxenforeignmemory = "${libdir}/libxenforeignmemory.so.*" | ||
258 | FILES_${PN}-libxenforeignmemory-dev = " \ | ||
259 | ${libdir}/libxenforeignmemory.so \ | ||
260 | ${libdir}/pkgconfig/xenforeignmemory.pc \ | ||
261 | ${datadir}/pkgconfig/xenforeignmemory.pc \ | ||
262 | " | ||
263 | |||
264 | FILES_${PN}-libxengnttab = "${libdir}/libxengnttab.so.*" | ||
265 | FILES_${PN}-libxengnttab-dev = " \ | ||
266 | ${libdir}/libxengnttab.so \ | ||
267 | ${libdir}/pkgconfig/xengnttab.pc \ | ||
268 | ${datadir}/pkgconfig/xengnttab.pc \ | ||
269 | " | ||
270 | |||
271 | FILES_${PN}-libxenguest = "${libdir}/libxenguest.so.*" | ||
272 | FILES_${PN}-libxenguest-dev = " \ | ||
273 | ${libdir}/libxenguest.so \ | ||
274 | ${libdir}/pkgconfig/xenguest.pc \ | ||
275 | ${datadir}/pkgconfig/xenguest.pc \ | ||
276 | " | ||
277 | |||
278 | FILES_${PN}-libxenlight = "${libdir}/libxenlight.so.*" | ||
279 | FILES_${PN}-libxenlight-dev = " \ | ||
280 | ${libdir}/libxenlight.so \ | ||
281 | ${libdir}/pkgconfig/xenlight.pc \ | ||
282 | ${datadir}/pkgconfig/xenlight.pc \ | ||
283 | " | ||
284 | |||
285 | FILES_${PN}-libxenstat = "${libdir}/libxenstat.so.*" | ||
286 | FILES_${PN}-libxenstat-dev = " \ | ||
287 | ${libdir}/libxenstat.so \ | ||
288 | ${libdir}/pkgconfig/xenstat.pc \ | ||
289 | ${datadir}/pkgconfig/xenstat.pc \ | ||
290 | " | ||
291 | |||
292 | FILES_${PN}-libxenstore = "${libdir}/libxenstore.so.*" | ||
293 | FILES_${PN}-libxenstore-dev = " \ | ||
294 | ${libdir}/libxenstore.so \ | ||
295 | ${libdir}/pkgconfig/xenstore.pc \ | ||
296 | ${datadir}/pkgconfig/xenstore.pc \ | ||
297 | " | ||
298 | |||
299 | FILES_${PN}-libxentoolcore = "${libdir}/libxentoolcore.so.*" | ||
300 | FILES_${PN}-libxentoolcore-dev = " \ | ||
301 | ${libdir}/libxentoolcore.so \ | ||
302 | ${libdir}/pkgconfig/xentoolcore.pc \ | ||
303 | ${datadir}/pkgconfig/xentoolcore.pc \ | ||
304 | " | ||
305 | |||
306 | FILES_${PN}-libxentoollog = "${libdir}/libxentoollog.so.*" | ||
307 | FILES_${PN}-libxentoollog-dev = " \ | ||
308 | ${libdir}/libxentoollog.so \ | ||
309 | ${libdir}/pkgconfig/xentoollog.pc \ | ||
310 | ${datadir}/pkgconfig/xentoollog.pc \ | ||
311 | " | ||
312 | |||
313 | FILES_${PN}-libxenvchan = "${libdir}/libxenvchan.so.*" | ||
314 | FILES_${PN}-libxenvchan-dev = " \ | ||
315 | ${libdir}/libxenvchan.so \ | ||
316 | ${libdir}/pkgconfig/xenvchan.pc \ | ||
317 | ${datadir}/pkgconfig/xenvchan.pc \ | ||
318 | " | ||
319 | |||
320 | FILES_${PN}-libxlutil = "${libdir}/libxlutil.so.*" | ||
321 | FILES_${PN}-libxlutil-dev = " \ | ||
322 | ${libdir}/libxlutil.so \ | ||
323 | ${libdir}/pkgconfig/xlutil.pc \ | ||
324 | ${datadir}/pkgconfig/xlutil.pc \ | ||
325 | " | ||
326 | FILES_${PN}-libvhd = "${libdir}/libvhd.so.*" | ||
327 | FILES_${PN}-libvhd-dev = " \ | ||
328 | ${libdir}/libvhd.so \ | ||
329 | ${libdir}/pkgconfig/vhd.pc \ | ||
330 | ${datadir}/pkgconfig/vhd.pc \ | ||
331 | " | ||
332 | |||
333 | FILES_${PN}-libfsimage = " \ | ||
334 | ${libdir}/libfsimage.so.* \ | ||
335 | ${libdir}/libxenfsimage.so.* \ | ||
336 | " | ||
337 | |||
338 | FILES_${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 | |||
347 | FILES_${PN}-fsimage = " \ | ||
348 | ${libdir}/fs/*/*fsimage.so \ | ||
349 | ${libdir}/xenfsimage/*/fsimage.so \ | ||
350 | " | ||
351 | |||
352 | FILES_${PN}-init-xenstore-dom = "${libdir}/xen/bin/init-xenstore-domain" | ||
353 | |||
354 | FILES_${PN} = "\ | ||
355 | ${sysconfdir}/xen/auto \ | ||
356 | ${sysconfdir}/xen/cpupool \ | ||
357 | ${localstatedir}/xen/dump \ | ||
358 | " | ||
359 | |||
360 | FILES_${PN}-console = "\ | ||
361 | ${libdir}/xen/bin/xenconsole \ | ||
362 | ${sbindir}/xenconsoled \ | ||
363 | " | ||
364 | |||
365 | FILES_${PN}-cpuid = "\ | ||
366 | ${bindir}/xen-cpuid \ | ||
367 | " | ||
368 | |||
369 | FILES_${PN}-devd = "\ | ||
370 | ${sysconfdir}/init.d/xendriverdomain \ | ||
371 | ${systemd_unitdir}/system/xendriverdomain.service \ | ||
372 | " | ||
373 | |||
374 | FILES_${PN}-flask = "\ | ||
375 | /boot/xenpolicy-* \ | ||
376 | " | ||
377 | |||
378 | FILES_${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 | |||
387 | FILES_${PN}-gdbsx = "\ | ||
388 | ${sbindir}/gdbsx \ | ||
389 | " | ||
390 | |||
391 | INSANE_SKIP_${PN}-hvmloader = "arch" | ||
392 | FILES_${PN}-hvmloader = "\ | ||
393 | ${libdir}/xen/boot/hvmloader \ | ||
394 | " | ||
395 | |||
396 | FILES_${PN}-kdd = "\ | ||
397 | ${sbindir}/kdd \ | ||
398 | ${sbindir}/xen-kdd \ | ||
399 | " | ||
400 | |||
401 | FILES_${PN}-livepatch += " \ | ||
402 | ${sbindir}/xen-livepatch \ | ||
403 | " | ||
404 | |||
405 | FILES_${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 | |||
432 | FILES_${PN}-pygrub = "\ | ||
433 | ${bindir}/pygrub \ | ||
434 | ${libdir}/xen/bin/pygrub \ | ||
435 | " | ||
436 | |||
437 | FILES_${PN}-python = "\ | ||
438 | ${libdir}/python2.7 \ | ||
439 | " | ||
440 | |||
441 | FILES_${PN}-remus = "\ | ||
442 | ${bindir}/remus \ | ||
443 | ${sysconfdir}/xen/scripts/remus-netbuf-setup \ | ||
444 | " | ||
445 | |||
446 | FILES_${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 | |||
461 | FILES_${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 | |||
474 | FILES_${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 | |||
485 | INSANE_SKIP_${PN}-shim = "arch" | ||
486 | FILES_${PN}-shim = " \ | ||
487 | ${libdir}/xen/boot/xen-shim \ | ||
488 | " | ||
489 | |||
490 | FILES_${PN}-volatiles = "\ | ||
491 | ${sysconfdir}/default/volatiles/99_xen \ | ||
492 | ${sysconfdir}/tmpfiles.d/xen.conf \ | ||
493 | " | ||
494 | |||
495 | FILES_${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 | |||
502 | FILES_${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 | |||
508 | FILES_${PN}-xenpaging = "\ | ||
509 | ${libdir}/xen/bin/xenpaging \ | ||
510 | ${localstatedir}/lib/xen/xenpaging \ | ||
511 | " | ||
512 | |||
513 | FILES_${PN}-xenpmd = "\ | ||
514 | ${sbindir}/xenpmd \ | ||
515 | " | ||
516 | |||
517 | FILES_${PN}-xenstat = "\ | ||
518 | ${sbindir}/xentop \ | ||
519 | " | ||
520 | |||
521 | FILES_${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 | |||
534 | FILES_${PN}-xenstored = "\ | ||
535 | ${sbindir}/xenstored \ | ||
536 | ${localstatedir}/lib/xenstored \ | ||
537 | " | ||
538 | |||
539 | FILES_${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 | |||
549 | FILES_${PN}-xen-watchdog = "\ | ||
550 | ${sbindir}/xenwatchdogd \ | ||
551 | ${sysconfdir}/init.d/xen-watchdog \ | ||
552 | ${systemd_unitdir}/system/xen-watchdog.service \ | ||
553 | " | ||
554 | |||
555 | FILES_${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 | |||
563 | FILES_${PN}-xl-examples = "\ | ||
564 | ${sysconfdir}/xen/xlexample.hvm \ | ||
565 | ${sysconfdir}/xen/xlexample.pvlinux \ | ||
566 | " | ||
567 | |||
568 | FILES_${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 | |||
579 | FILES_${PN}-xenmon = "\ | ||
580 | ${sbindir}/xenbaked \ | ||
581 | ${sbindir}/xentrace_setmask \ | ||
582 | ${sbindir}/xenmon.py \ | ||
583 | ${sbindir}/xenmon \ | ||
584 | " | ||
585 | |||
586 | FILES_${PN}-xm = "\ | ||
587 | ${sysconfdir}/xen/xm-config.xml \ | ||
588 | ${datadir}/xen/create.dtd \ | ||
589 | ${sbindir}/xm \ | ||
590 | " | ||
591 | |||
592 | FILES_${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 | |||
605 | FILES_${PN}-xend += " \ | ||
606 | ${sysconfdir}/init.d/xend \ | ||
607 | ${sbindir}/xend \ | ||
608 | " | ||
609 | |||
610 | FILES_${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 | |||
618 | INSANE_SKIP_${PN} = "already-stripped" | ||
619 | |||
620 | # configure init.d scripts | ||
621 | INITSCRIPT_PACKAGES = "${PN}-xend ${PN}-xencommons ${PN}-xen-watchdog ${PN}-xendomains ${PN}-devd" | ||
622 | INITSCRIPT_NAME_${PN}-xencommons = "xencommons" | ||
623 | INITSCRIPT_PARAMS_${PN}-xencommons = "defaults 80" | ||
624 | INITSCRIPT_NAME_${PN}-xen-watchdog = "xen-watchdog" | ||
625 | INITSCRIPT_PARAMS_${PN}-xen-watchdog = "defaults 81" | ||
626 | INITSCRIPT_NAME_${PN}-xend = "xend" | ||
627 | INITSCRIPT_PARAMS_${PN}-xend = "defaults 82" | ||
628 | INITSCRIPT_NAME_${PN}-xendomains = "xendomains" | ||
629 | INITSCRIPT_PARAMS_${PN}-xendomains = "defaults 83" | ||
630 | INITSCRIPT_NAME_${PN}-devd = "xendriverdomain" | ||
631 | INITSCRIPT_PARAMS_${PN}-devd = "defaults 82" | ||
632 | |||
633 | # systemd packages | ||
634 | SYSTEMD_PACKAGES = "${PN}-xen-watchdog ${PN}-xencommons ${PN}-xendomains ${PN}-devd" | ||
635 | SYSTEMD_SERVICE_${PN}-devd = "xendriverdomain.service" | ||
636 | SYSTEMD_SERVICE_${PN}-xen-watchdog = "xen-watchdog.service" | ||
637 | SYSTEMD_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 | " | ||
645 | SYSTEMD_SERVICE_${PN}-xendomains = "xendomains.service" | ||
646 | |||
647 | do_configure() { | ||
648 | do_configure_common | ||
649 | } | ||
650 | |||
651 | do_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 | |||
664 | addtask stubs after do_configure before do_compile | ||
665 | |||
666 | do_compile() { | ||
667 | oe_runmake tools | ||
668 | } | ||
669 | |||
670 | do_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 | |||
720 | pkg_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 | |||
730 | do_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 | |||
743 | addtask deploy after do_populate_sysroot | ||