summaryrefslogtreecommitdiffstats
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
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>
-rw-r--r--recipes-devtools/qemu/qemu_%.bbappend1
-rw-r--r--recipes-extended/images/xen-image-minimal.bb2
-rw-r--r--recipes-extended/xen/xen-blktap.inc76
-rw-r--r--recipes-extended/xen/xen-hypervisor.inc94
-rw-r--r--recipes-extended/xen/xen-tools.inc743
-rw-r--r--recipes-extended/xen/xen-tools_git.bb18
-rw-r--r--recipes-extended/xen/xen.inc842
-rw-r--r--recipes-extended/xen/xen_4.12.2.bb12
-rw-r--r--recipes-extended/xen/xen_git.bb19
9 files changed, 946 insertions, 861 deletions
diff --git a/recipes-devtools/qemu/qemu_%.bbappend b/recipes-devtools/qemu/qemu_%.bbappend
new file mode 100644
index 00000000..150f92b6
--- /dev/null
+++ b/recipes-devtools/qemu/qemu_%.bbappend
@@ -0,0 +1 @@
PACKAGECONFIG[xen] = "--enable-xen,--disable-xen,xen-tools,xen-tools-libxenstore xen-tools-libxenctrl xen-tools-libxenguest"
diff --git a/recipes-extended/images/xen-image-minimal.bb b/recipes-extended/images/xen-image-minimal.bb
index c39d3782..63a1086b 100644
--- a/recipes-extended/images/xen-image-minimal.bb
+++ b/recipes-extended/images/xen-image-minimal.bb
@@ -12,7 +12,7 @@ IMAGE_INSTALL += " \
12 kernel-module-xen-netback \ 12 kernel-module-xen-netback \
13 ${@bb.utils.contains('MACHINE_FEATURES', 'pci', "${XEN_PCIBACK_MODULE}", '', d)} \ 13 ${@bb.utils.contains('MACHINE_FEATURES', 'pci', "${XEN_PCIBACK_MODULE}", '', d)} \
14 kernel-module-xen-wdt \ 14 kernel-module-xen-wdt \
15 xen-base \ 15 xen-tools \
16 qemu \ 16 qemu \
17 " 17 "
18 18
diff --git a/recipes-extended/xen/xen-blktap.inc b/recipes-extended/xen/xen-blktap.inc
new file mode 100644
index 00000000..5f385ddc
--- /dev/null
+++ b/recipes-extended/xen/xen-blktap.inc
@@ -0,0 +1,76 @@
1# The Xen block tap components are packaged separately here to support
2# the option to build them in a separate recipe from xen-tools.
3
4BLKTAP_PACKAGES ?= " \
5 ${PN}-blktap \
6 ${PN}-libblktap \
7 ${PN}-libblktapctl \
8 ${PN}-libblktapctl-dev \
9 ${PN}-libblktap-dev \
10 ${PN}-libvhd \
11 ${PN}-libvhd-dev \
12 ${PN}-blktap-staticdev \
13 "
14
15BLKTAP_PROVIDES ?= " \
16 virtual/blktap \
17 virtual/libblktap \
18 virtual/libblktapctl \
19 virtual/libvhd \
20 "
21
22BLKTAP_RRECOMMENDS ?= " \
23 virtual/blktap \
24 virtual/libblktap \
25 virtual/libblktapctl \
26 virtual/libvhd \
27 "
28
29RPROVIDES_${PN}-blktap = "virtual/blktap"
30RPROVIDES_${PN}-libblktap = "virtual/libblktap"
31RPROVIDES_${PN}-libblktapctl = "virtual/libblktapctl"
32RPROVIDES_${PN}-libvhd = "virtual/libvhd"
33
34FILES_${PN}-blktap-staticdev += "\
35 ${libdir}/libblktapctl.a \
36 ${libdir}/libvhd.a \
37 ${libdir}/libblktap.a \
38 "
39
40FILES_${PN}-libblktapctl = "${libdir}/libblktapctl.so.*"
41FILES_${PN}-libblktapctl-dev = " \
42 ${libdir}/libblktapctl.so \
43 ${libdir}/pkgconfig/xenblktapctl.pc \
44 ${datadir}/pkgconfig/xenblktapctl.pc \
45 "
46
47FILES_${PN}-libvhd = "${libdir}/libvhd.so.*"
48FILES_${PN}-libvhd-dev = " \
49 ${libdir}/libvhd.so \
50 ${libdir}/pkgconfig/vhd.pc \
51 ${datadir}/pkgconfig/vhd.pc \
52 "
53
54FILES_${PN}-libblktap = "${libdir}/libblktap.so.*"
55FILES_${PN}-libblktap-dev = " \
56 ${libdir}/libblktap.so \
57 ${libdir}/pkgconfig/blktap.pc \
58 ${datadir}/pkgconfig/blktap.pc \
59 "
60
61FILES_${PN}-blktap = "\
62 ${sbindir}/blktapctrl \
63 ${sbindir}/img2qcow \
64 ${sbindir}/lock-util \
65 ${sbindir}/qcow2raw \
66 ${sbindir}/qcow-create \
67 ${sbindir}/tap-ctl \
68 ${sbindir}/tapdisk \
69 ${sbindir}/tapdisk2 \
70 ${sbindir}/tapdisk-client \
71 ${sbindir}/tapdisk-diff \
72 ${sbindir}/tapdisk-stream \
73 ${sbindir}/td-util \
74 ${sbindir}/vhd-update \
75 ${sbindir}/vhd-util \
76 "
diff --git a/recipes-extended/xen/xen-hypervisor.inc b/recipes-extended/xen/xen-hypervisor.inc
new file mode 100644
index 00000000..c0df1580
--- /dev/null
+++ b/recipes-extended/xen/xen-hypervisor.inc
@@ -0,0 +1,94 @@
1SUMMARY = "Xen hypervisor"
2DESCRIPTION = "The Xen hypervisor"
3
4# This recipe is for just the Xen hypervisor.
5# Separate recipes are used to build Xen and its components:
6# this allows for varying the target architecture or toolchain used
7# to build the different components. eg. 32-bit tools and a 64-bit hypervisor.
8
9inherit deploy
10
11PACKAGES = " \
12 ${PN} \
13 ${PN}-dbg \
14 ${PN}-efi \
15 "
16
17FILES_${PN} = " \
18 /boot/xen-* \
19 /boot/xen \
20 /boot/xen-*.gz \
21 /boot/xen.gz \
22 /boot/xen-syms-* \
23 "
24
25FILES_${PN}-dbg += "${libdir}/debug/*"
26
27FILES_${PN}-efi = " \
28 /boot/xen.efi \
29 ${exec_prefix}/lib64/efi/xen* \
30 "
31
32do_configure() {
33 do_configure_common
34}
35
36do_compile() {
37 oe_runmake xen
38}
39
40do_install() {
41 oe_runmake DESTDIR="${D}" install-xen
42}
43
44do_deploy() {
45 install -d ${DEPLOYDIR}
46
47 if [ -f ${D}/boot/xen ]; then
48 install -m 0644 ${D}/boot/xen ${DEPLOYDIR}/xen-${MACHINE}
49 fi
50
51 if [ -f ${D}/boot/xen.gz ]; then
52 install -m 0644 ${D}/boot/xen.gz ${DEPLOYDIR}/xen-${MACHINE}.gz
53 fi
54
55 if [ -f ${D}/usr/lib64/efi/xen.efi ]; then
56 install -m 0644 ${D}/usr/lib64/efi/xen.efi ${DEPLOYDIR}/xen-${MACHINE}.efi
57 fi
58}
59
60addtask deploy after do_populate_sysroot
61
62# Enable use of menuconfig directly from bitbake and also within the devshell
63OE_TERMINAL_EXPORTS += "HOST_EXTRACFLAGS HOSTLDFLAGS TERMINFO"
64HOST_EXTRACFLAGS = "${BUILD_CFLAGS} ${BUILD_LDFLAGS}"
65HOSTLDFLAGS = "${BUILD_LDFLAGS}"
66TERMINFO = "${STAGING_DATADIR_NATIVE}/terminfo"
67do_devshell[depends] += "ncurses-native:do_populate_sysroot"
68
69KCONFIG_CONFIG_COMMAND ??= "menuconfig"
70python do_menuconfig() {
71 import shutil
72
73 try:
74 mtime = os.path.getmtime("xen/.config")
75 shutil.copy("xen/.config", "xen/.config.orig")
76 except OSError:
77 mtime = 0
78
79 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'),
80 d.getVar('PN') + ' Configuration', d)
81
82 try:
83 newmtime = os.path.getmtime("xen/.config")
84 except OSError:
85 newmtime = 0
86
87 if newmtime > mtime:
88 bb.note("Configuration changed, recompile will be forced")
89 bb.build.write_taint('do_compile', d)
90}
91do_menuconfig[depends] += "ncurses-native:do_populate_sysroot"
92do_menuconfig[nostamp] = "1"
93do_menuconfig[dirs] = "${B}"
94addtask menuconfig after do_configure
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
diff --git a/recipes-extended/xen/xen-tools_git.bb b/recipes-extended/xen/xen-tools_git.bb
new file mode 100644
index 00000000..7042c535
--- /dev/null
+++ b/recipes-extended/xen/xen-tools_git.bb
@@ -0,0 +1,18 @@
1SRCREV ?= "a5fcafbfbee55261853fba07149c1c795f2baf58"
2
3XEN_REL ?= "4.12"
4XEN_BRANCH ?= "stable-${XEN_REL}"
5
6SRC_URI = " \
7 git://xenbits.xen.org/xen.git;branch=${XEN_BRANCH} \
8 file://0001-python-pygrub-pass-DISTUTILS-xen.4.12.patch \
9 "
10
11LIC_FILES_CHKSUM ?= "file://COPYING;md5=bbb4b1bdc2c3b6743da3c39d03249095"
12
13PV = "${XEN_REL}+git${SRCPV}"
14
15S = "${WORKDIR}/git"
16
17require xen.inc
18require xen-tools.inc
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
diff --git a/recipes-extended/xen/xen_4.12.2.bb b/recipes-extended/xen/xen_4.12.2.bb
deleted file mode 100644
index affeb4a4..00000000
--- a/recipes-extended/xen/xen_4.12.2.bb
+++ /dev/null
@@ -1,12 +0,0 @@
1FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
2require xen.inc
3
4SRC_URI = " \
5 https://downloads.xenproject.org/release/xen/${PV}/xen-${PV}.tar.gz \
6 file://0001-python-pygrub-pass-DISTUTILS-xen.4.12.patch \
7 "
8
9SRC_URI[md5sum] = "57084e3f55bbec063d38b464e1b7e4f2"
10SRC_URI[sha256sum] = "1c75cbe728dfabf02b7f9a17ce96ee7d202d2fd4b4689490018d3a28b63f9fa3"
11
12S = "${WORKDIR}/xen-${PV}"
diff --git a/recipes-extended/xen/xen_git.bb b/recipes-extended/xen/xen_git.bb
index 5f950e6f..a7475ac3 100644
--- a/recipes-extended/xen/xen_git.bb
+++ b/recipes-extended/xen/xen_git.bb
@@ -1,18 +1,15 @@
1require xen.inc 1SRCREV ?= "a5fcafbfbee55261853fba07149c1c795f2baf58"
2
3XEN_REL ?= "4.12"
4XEN_BRANCH ?= "stable-${XEN_REL}"
2 5
3SRCREV ?= "cb70a26f78848fe45f593f7ebc9cfaac760a791b" 6SRC_URI = "git://xenbits.xen.org/xen.git;branch=${XEN_BRANCH}"
4 7
5XEN_REL = "4.13" 8LIC_FILES_CHKSUM ?= "file://COPYING;md5=bbb4b1bdc2c3b6743da3c39d03249095"
6XEN_BRANCH = "staging"
7FLASK_POLICY_FILE = "xenpolicy-${XEN_REL}-unstable"
8 9
9PV = "${XEN_REL}+git${SRCPV}" 10PV = "${XEN_REL}+git${SRCPV}"
10 11
11S = "${WORKDIR}/git" 12S = "${WORKDIR}/git"
12 13
13SRC_URI = " \ 14require xen.inc
14 git://xenbits.xen.org/xen.git;branch=${XEN_BRANCH} \ 15require xen-hypervisor.inc
15 file://0001-python-pygrub-pass-DISTUTILS-xen.4.12.patch \
16 "
17
18DEFAULT_PREFERENCE = "-1"