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 | |
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>
-rw-r--r-- | recipes-devtools/qemu/qemu_%.bbappend | 1 | ||||
-rw-r--r-- | recipes-extended/images/xen-image-minimal.bb | 2 | ||||
-rw-r--r-- | recipes-extended/xen/xen-blktap.inc | 76 | ||||
-rw-r--r-- | recipes-extended/xen/xen-hypervisor.inc | 94 | ||||
-rw-r--r-- | recipes-extended/xen/xen-tools.inc | 743 | ||||
-rw-r--r-- | recipes-extended/xen/xen-tools_git.bb | 18 | ||||
-rw-r--r-- | recipes-extended/xen/xen.inc | 842 | ||||
-rw-r--r-- | recipes-extended/xen/xen_4.12.2.bb | 12 | ||||
-rw-r--r-- | recipes-extended/xen/xen_git.bb | 19 |
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 | |||
4 | BLKTAP_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 | |||
15 | BLKTAP_PROVIDES ?= " \ | ||
16 | virtual/blktap \ | ||
17 | virtual/libblktap \ | ||
18 | virtual/libblktapctl \ | ||
19 | virtual/libvhd \ | ||
20 | " | ||
21 | |||
22 | BLKTAP_RRECOMMENDS ?= " \ | ||
23 | virtual/blktap \ | ||
24 | virtual/libblktap \ | ||
25 | virtual/libblktapctl \ | ||
26 | virtual/libvhd \ | ||
27 | " | ||
28 | |||
29 | RPROVIDES_${PN}-blktap = "virtual/blktap" | ||
30 | RPROVIDES_${PN}-libblktap = "virtual/libblktap" | ||
31 | RPROVIDES_${PN}-libblktapctl = "virtual/libblktapctl" | ||
32 | RPROVIDES_${PN}-libvhd = "virtual/libvhd" | ||
33 | |||
34 | FILES_${PN}-blktap-staticdev += "\ | ||
35 | ${libdir}/libblktapctl.a \ | ||
36 | ${libdir}/libvhd.a \ | ||
37 | ${libdir}/libblktap.a \ | ||
38 | " | ||
39 | |||
40 | FILES_${PN}-libblktapctl = "${libdir}/libblktapctl.so.*" | ||
41 | FILES_${PN}-libblktapctl-dev = " \ | ||
42 | ${libdir}/libblktapctl.so \ | ||
43 | ${libdir}/pkgconfig/xenblktapctl.pc \ | ||
44 | ${datadir}/pkgconfig/xenblktapctl.pc \ | ||
45 | " | ||
46 | |||
47 | FILES_${PN}-libvhd = "${libdir}/libvhd.so.*" | ||
48 | FILES_${PN}-libvhd-dev = " \ | ||
49 | ${libdir}/libvhd.so \ | ||
50 | ${libdir}/pkgconfig/vhd.pc \ | ||
51 | ${datadir}/pkgconfig/vhd.pc \ | ||
52 | " | ||
53 | |||
54 | FILES_${PN}-libblktap = "${libdir}/libblktap.so.*" | ||
55 | FILES_${PN}-libblktap-dev = " \ | ||
56 | ${libdir}/libblktap.so \ | ||
57 | ${libdir}/pkgconfig/blktap.pc \ | ||
58 | ${datadir}/pkgconfig/blktap.pc \ | ||
59 | " | ||
60 | |||
61 | FILES_${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 @@ | |||
1 | SUMMARY = "Xen hypervisor" | ||
2 | DESCRIPTION = "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 | |||
9 | inherit deploy | ||
10 | |||
11 | PACKAGES = " \ | ||
12 | ${PN} \ | ||
13 | ${PN}-dbg \ | ||
14 | ${PN}-efi \ | ||
15 | " | ||
16 | |||
17 | FILES_${PN} = " \ | ||
18 | /boot/xen-* \ | ||
19 | /boot/xen \ | ||
20 | /boot/xen-*.gz \ | ||
21 | /boot/xen.gz \ | ||
22 | /boot/xen-syms-* \ | ||
23 | " | ||
24 | |||
25 | FILES_${PN}-dbg += "${libdir}/debug/*" | ||
26 | |||
27 | FILES_${PN}-efi = " \ | ||
28 | /boot/xen.efi \ | ||
29 | ${exec_prefix}/lib64/efi/xen* \ | ||
30 | " | ||
31 | |||
32 | do_configure() { | ||
33 | do_configure_common | ||
34 | } | ||
35 | |||
36 | do_compile() { | ||
37 | oe_runmake xen | ||
38 | } | ||
39 | |||
40 | do_install() { | ||
41 | oe_runmake DESTDIR="${D}" install-xen | ||
42 | } | ||
43 | |||
44 | do_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 | |||
60 | addtask deploy after do_populate_sysroot | ||
61 | |||
62 | # Enable use of menuconfig directly from bitbake and also within the devshell | ||
63 | OE_TERMINAL_EXPORTS += "HOST_EXTRACFLAGS HOSTLDFLAGS TERMINFO" | ||
64 | HOST_EXTRACFLAGS = "${BUILD_CFLAGS} ${BUILD_LDFLAGS}" | ||
65 | HOSTLDFLAGS = "${BUILD_LDFLAGS}" | ||
66 | TERMINFO = "${STAGING_DATADIR_NATIVE}/terminfo" | ||
67 | do_devshell[depends] += "ncurses-native:do_populate_sysroot" | ||
68 | |||
69 | KCONFIG_CONFIG_COMMAND ??= "menuconfig" | ||
70 | python 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 | } | ||
91 | do_menuconfig[depends] += "ncurses-native:do_populate_sysroot" | ||
92 | do_menuconfig[nostamp] = "1" | ||
93 | do_menuconfig[dirs] = "${B}" | ||
94 | addtask 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 @@ | |||
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 | ||
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 @@ | |||
1 | SRCREV ?= "a5fcafbfbee55261853fba07149c1c795f2baf58" | ||
2 | |||
3 | XEN_REL ?= "4.12" | ||
4 | XEN_BRANCH ?= "stable-${XEN_REL}" | ||
5 | |||
6 | SRC_URI = " \ | ||
7 | git://xenbits.xen.org/xen.git;branch=${XEN_BRANCH} \ | ||
8 | file://0001-python-pygrub-pass-DISTUTILS-xen.4.12.patch \ | ||
9 | " | ||
10 | |||
11 | LIC_FILES_CHKSUM ?= "file://COPYING;md5=bbb4b1bdc2c3b6743da3c39d03249095" | ||
12 | |||
13 | PV = "${XEN_REL}+git${SRCPV}" | ||
14 | |||
15 | S = "${WORKDIR}/git" | ||
16 | |||
17 | require xen.inc | ||
18 | require 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 @@ | |||
1 | DESCRIPTION = "Xen hypervisor" | ||
2 | HOMEPAGE = "http://xen.org" | 1 | HOMEPAGE = "http://xen.org" |
3 | LICENSE = "GPLv2" | 2 | LICENSE = "GPLv2" |
4 | SECTION = "console/tools" | 3 | SECTION = "console/tools" |
5 | 4 | ||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=bbb4b1bdc2c3b6743da3c39d03249095" | ||
7 | |||
8 | COMPATIBLE_HOST = '(x86_64.*).*-linux|aarch64.*-linux|arm-.*-linux-gnueabi' | 5 | COMPATIBLE_HOST = '(x86_64.*).*-linux|aarch64.*-linux|arm-.*-linux-gnueabi' |
9 | 6 | ||
10 | inherit autotools-brokensep setuptools3 update-rc.d systemd deploy | 7 | inherit autotools-brokensep |
11 | 8 | ||
12 | require xen-arch.inc | 9 | require 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 | ||
20 | FLASK_POLICY_FILE ?= "xenpolicy-${PV}" | ||
21 | |||
22 | PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,virtual/libsdl," | 17 | PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,virtual/libsdl," |
23 | PACKAGECONFIG[xsm] = "--enable-xsmpolicy,--disable-xsmpolicy,checkpolicy-native," | 18 | PACKAGECONFIG[xsm] = "--enable-xsmpolicy,--disable-xsmpolicy,checkpolicy-native," |
24 | PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd," | 19 | PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd," |
25 | PACKAGECONFIG[hvm] = "--with-system-seabios="/usr/share/firmware/bios.bin",--disable-seabios,seabios ipxe vgabios," | 20 | PACKAGECONFIG[hvm] = "--with-system-seabios="/usr/share/firmware/bios.bin",--disable-seabios,seabios ipxe vgabios," |
21 | PACKAGECONFIG[externalblktap] = ",,," | ||
26 | 22 | ||
27 | DEPENDS = " \ | 23 | DEPENDS = " \ |
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 | ||
61 | RDEPENDS_${PN} = "" | ||
62 | |||
63 | RDEPENDS_${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 | |||
85 | RDEPENDS_${PN}-dev = "" | ||
86 | |||
87 | RRECOMMENDS_${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 | |||
98 | RDEPENDS_${PN}-devd = " \ | ||
99 | ${PN}-xl \ | ||
100 | " | ||
101 | |||
102 | RDEPENDS_${PN}-fsimage = " \ | ||
103 | libext2fs \ | ||
104 | " | ||
105 | |||
106 | RDEPENDS_${PN}-misc = " \ | ||
107 | perl \ | ||
108 | python \ | ||
109 | " | ||
110 | |||
111 | RDEPENDS_${PN}-python = " \ | ||
112 | python \ | ||
113 | " | ||
114 | |||
115 | RDEPENDS_${PN}-pygrub = " \ | ||
116 | ${PN}-python \ | ||
117 | " | ||
118 | |||
119 | RDEPENDS_${PN}-remus = " \ | ||
120 | bash \ | ||
121 | python \ | ||
122 | " | ||
123 | |||
124 | RDEPENDS_${PN}-scripts-block = "\ | ||
125 | bash \ | ||
126 | ${PN}-scripts-common \ | ||
127 | ${PN}-volatiles \ | ||
128 | " | ||
129 | |||
130 | RDEPENDS_${PN}-scripts-common = "bash" | ||
131 | |||
132 | RDEPENDS_${PN}-scripts-network = "\ | ||
133 | bash \ | ||
134 | bridge-utils \ | ||
135 | ${PN}-scripts-common \ | ||
136 | ${PN}-volatiles \ | ||
137 | " | ||
138 | |||
139 | RDEPENDS_${PN}-xencommons = "\ | ||
140 | bash \ | ||
141 | ${PN}-console \ | ||
142 | ${PN}-xenstore \ | ||
143 | ${PN}-xenstored \ | ||
144 | ${PN}-xl \ | ||
145 | ${PN}-scripts-common \ | ||
146 | " | ||
147 | |||
148 | RDEPENDS_${PN}-xendomains = "\ | ||
149 | bash \ | ||
150 | ${PN}-console \ | ||
151 | ${PN}-scripts-block \ | ||
152 | ${PN}-scripts-common \ | ||
153 | ${PN}-xenstored \ | ||
154 | " | ||
155 | |||
156 | RDEPENDS_${PN}-xl = "libgcc" | ||
157 | |||
158 | RDEPENDS_${PN}-xentrace = "python" | ||
159 | |||
160 | RDEPENDS_${PN}-xen-watchdog = "bash" | ||
161 | |||
162 | PACKAGES = "\ | ||
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 | |||
246 | FILES_${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 | |||
268 | FILES_${PN}-dev = "\ | ||
269 | ${includedir} \ | ||
270 | " | ||
271 | |||
272 | FILES_${PN}-doc = "\ | ||
273 | ${sysconfdir}/xen/README \ | ||
274 | ${sysconfdir}/xen/README.incompatibilities \ | ||
275 | ${datadir}/doc \ | ||
276 | ${datadir}/man \ | ||
277 | " | ||
278 | |||
279 | FILES_${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 | |||
292 | FILES_${PN}-libblktapctl = "${libdir}/libblktapctl.so.*" | ||
293 | FILES_${PN}-libblktapctl-dev = " \ | ||
294 | ${libdir}/libblktapctl.so \ | ||
295 | ${libdir}/pkgconfig/xenblktapctl.pc \ | ||
296 | ${datadir}/pkgconfig/xenblktapctl.pc \ | ||
297 | " | ||
298 | |||
299 | FILES_${PN}-libxencall = "${libdir}/libxencall.so.*" | ||
300 | FILES_${PN}-libxencall-dev = " \ | ||
301 | ${libdir}/libxencall.so \ | ||
302 | ${libdir}/pkgconfig/xencall.pc \ | ||
303 | ${datadir}/pkgconfig/xencall.pc \ | ||
304 | " | ||
305 | |||
306 | FILES_${PN}-libxenctrl = "${libdir}/libxenctrl.so.*" | ||
307 | FILES_${PN}-libxenctrl-dev = " \ | ||
308 | ${libdir}/libxenctrl.so \ | ||
309 | ${libdir}/pkgconfig/xencontrol.pc \ | ||
310 | ${datadir}/pkgconfig/xencontrol.pc \ | ||
311 | " | ||
312 | |||
313 | FILES_${PN}-libxendevicemodel = "${libdir}/libxendevicemodel.so.*" | ||
314 | FILES_${PN}-libxendevicemodel-dev = " \ | ||
315 | ${libdir}/libxendevicemodel.so \ | ||
316 | ${libdir}/pkgconfig/xendevicemodel.pc \ | ||
317 | ${datadir}/pkgconfig/xendevicemodel.pc \ | ||
318 | " | ||
319 | |||
320 | FILES_${PN}-libxenevtchn = "${libdir}/libxenevtchn.so.*" | ||
321 | FILES_${PN}-libxenevtchn-dev = " \ | ||
322 | ${libdir}/libxenevtchn.so \ | ||
323 | ${libdir}/pkgconfig/xenevtchn.pc \ | ||
324 | ${datadir}/pkgconfig/xenevtchn.pc \ | ||
325 | " | ||
326 | |||
327 | FILES_${PN}-libxenforeignmemory = "${libdir}/libxenforeignmemory.so.*" | ||
328 | FILES_${PN}-libxenforeignmemory-dev = " \ | ||
329 | ${libdir}/libxenforeignmemory.so \ | ||
330 | ${libdir}/pkgconfig/xenforeignmemory.pc \ | ||
331 | ${datadir}/pkgconfig/xenforeignmemory.pc \ | ||
332 | " | ||
333 | |||
334 | FILES_${PN}-libxengnttab = "${libdir}/libxengnttab.so.*" | ||
335 | FILES_${PN}-libxengnttab-dev = " \ | ||
336 | ${libdir}/libxengnttab.so \ | ||
337 | ${libdir}/pkgconfig/xengnttab.pc \ | ||
338 | ${datadir}/pkgconfig/xengnttab.pc \ | ||
339 | " | ||
340 | |||
341 | FILES_${PN}-libxenguest = "${libdir}/libxenguest.so.*" | ||
342 | FILES_${PN}-libxenguest-dev = " \ | ||
343 | ${libdir}/libxenguest.so \ | ||
344 | ${libdir}/pkgconfig/xenguest.pc \ | ||
345 | ${datadir}/pkgconfig/xenguest.pc \ | ||
346 | " | ||
347 | |||
348 | FILES_${PN}-libxenlight = "${libdir}/libxenlight.so.*" | ||
349 | FILES_${PN}-libxenlight-dev = " \ | ||
350 | ${libdir}/libxenlight.so \ | ||
351 | ${libdir}/pkgconfig/xenlight.pc \ | ||
352 | ${datadir}/pkgconfig/xenlight.pc \ | ||
353 | " | ||
354 | |||
355 | FILES_${PN}-libxenstat = "${libdir}/libxenstat.so.*" | ||
356 | FILES_${PN}-libxenstat-dev = " \ | ||
357 | ${libdir}/libxenstat.so \ | ||
358 | ${libdir}/pkgconfig/xenstat.pc \ | ||
359 | ${datadir}/pkgconfig/xenstat.pc \ | ||
360 | " | ||
361 | |||
362 | FILES_${PN}-libxenstore = "${libdir}/libxenstore.so.*" | ||
363 | FILES_${PN}-libxenstore-dev = " \ | ||
364 | ${libdir}/libxenstore.so \ | ||
365 | ${libdir}/pkgconfig/xenstore.pc \ | ||
366 | ${datadir}/pkgconfig/xenstore.pc \ | ||
367 | " | ||
368 | |||
369 | FILES_${PN}-libxentoolcore = "${libdir}/libxentoolcore.so.*" | ||
370 | FILES_${PN}-libxentoolcore-dev = " \ | ||
371 | ${libdir}/libxentoolcore.so \ | ||
372 | ${libdir}/pkgconfig/xentoolcore.pc \ | ||
373 | ${datadir}/pkgconfig/xentoolcore.pc \ | ||
374 | " | ||
375 | |||
376 | FILES_${PN}-libxentoollog = "${libdir}/libxentoollog.so.*" | ||
377 | FILES_${PN}-libxentoollog-dev = " \ | ||
378 | ${libdir}/libxentoollog.so \ | ||
379 | ${libdir}/pkgconfig/xentoollog.pc \ | ||
380 | ${datadir}/pkgconfig/xentoollog.pc \ | ||
381 | " | ||
382 | |||
383 | FILES_${PN}-libxenvchan = "${libdir}/libxenvchan.so.*" | ||
384 | FILES_${PN}-libxenvchan-dev = " \ | ||
385 | ${libdir}/libxenvchan.so \ | ||
386 | ${libdir}/pkgconfig/xenvchan.pc \ | ||
387 | ${datadir}/pkgconfig/xenvchan.pc \ | ||
388 | " | ||
389 | |||
390 | FILES_${PN}-libxlutil = "${libdir}/libxlutil.so.*" | ||
391 | FILES_${PN}-libxlutil-dev = " \ | ||
392 | ${libdir}/libxlutil.so \ | ||
393 | ${libdir}/pkgconfig/xlutil.pc \ | ||
394 | ${datadir}/pkgconfig/xlutil.pc \ | ||
395 | " | ||
396 | FILES_${PN}-libvhd = "${libdir}/libvhd.so.*" | ||
397 | FILES_${PN}-libvhd-dev = " \ | ||
398 | ${libdir}/libvhd.so \ | ||
399 | ${libdir}/pkgconfig/vhd.pc \ | ||
400 | ${datadir}/pkgconfig/vhd.pc \ | ||
401 | " | ||
402 | |||
403 | FILES_${PN}-libblktap = "${libdir}/libblktap.so.*" | ||
404 | FILES_${PN}-libblktap-dev = " \ | ||
405 | ${libdir}/libblktap.so \ | ||
406 | ${libdir}/pkgconfig/blktap.pc \ | ||
407 | ${datadir}/pkgconfig/blktap.pc \ | ||
408 | " | ||
409 | |||
410 | FILES_${PN}-libfsimage = " \ | ||
411 | ${libdir}/libfsimage.so.* \ | ||
412 | ${libdir}/libxenfsimage.so.* \ | ||
413 | " | ||
414 | FILES_${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 | |||
423 | FILES_${PN}-fsimage = " \ | ||
424 | ${libdir}/fs/*/*fsimage.so \ | ||
425 | ${libdir}/xenfsimage/*/fsimage.so \ | ||
426 | " | ||
427 | |||
428 | FILES_${PN}-hypervisor = "\ | ||
429 | /boot/xen-* \ | ||
430 | /boot/xen \ | ||
431 | /boot/xen-*.gz \ | ||
432 | /boot/xen.gz \ | ||
433 | /boot/xen-syms-* \ | ||
434 | " | ||
435 | |||
436 | FILES_${PN}-init-xenstore-dom = "${libdir}/xen/bin/init-xenstore-domain" | ||
437 | |||
438 | FILES_${PN}-efi = "\ | ||
439 | /boot/xen.efi \ | ||
440 | ${exec_prefix}/lib64/efi/xen* \ | ||
441 | " | ||
442 | |||
443 | FILES_${PN}-base = "\ | ||
444 | ${sysconfdir}/xen/auto \ | ||
445 | ${sysconfdir}/xen/cpupool \ | ||
446 | ${localstatedir}/xen/dump \ | ||
447 | " | ||
448 | |||
449 | FILES_${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 | |||
466 | FILES_${PN}-console = "\ | ||
467 | ${libdir}/xen/bin/xenconsole \ | ||
468 | ${sbindir}/xenconsoled \ | ||
469 | " | ||
470 | |||
471 | FILES_${PN}-cpuid = "\ | ||
472 | ${bindir}/xen-cpuid \ | ||
473 | " | ||
474 | |||
475 | FILES_${PN}-devd = "\ | ||
476 | ${sysconfdir}/init.d/xendriverdomain \ | ||
477 | ${systemd_unitdir}/system/xendriverdomain.service \ | ||
478 | " | ||
479 | |||
480 | FILES_${PN}-flask = "\ | ||
481 | /boot/${FLASK_POLICY_FILE} \ | ||
482 | " | ||
483 | |||
484 | FILES_${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 | |||
493 | FILES_${PN}-gdbsx = "\ | ||
494 | ${sbindir}/gdbsx \ | ||
495 | " | ||
496 | |||
497 | INSANE_SKIP_${PN}-hvmloader = "arch" | ||
498 | FILES_${PN}-hvmloader = "\ | ||
499 | ${libdir}/xen/boot/hvmloader \ | ||
500 | " | ||
501 | |||
502 | FILES_${PN}-kdd = "\ | ||
503 | ${sbindir}/kdd \ | ||
504 | ${sbindir}/xen-kdd \ | ||
505 | " | ||
506 | |||
507 | FILES_${PN}-livepatch += " \ | ||
508 | ${sbindir}/xen-livepatch \ | ||
509 | " | ||
510 | |||
511 | FILES_${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 | |||
538 | FILES_${PN}-pygrub = "\ | ||
539 | ${bindir}/pygrub \ | ||
540 | ${libdir}/xen/bin/pygrub \ | ||
541 | " | ||
542 | |||
543 | FILES_${PN}-python = "\ | ||
544 | ${libdir}/python2.7 \ | ||
545 | " | ||
546 | |||
547 | INSANE_SKIP_${PN} = "already-stripped" | ||
548 | |||
549 | FILES_${PN}-remus = "\ | ||
550 | ${bindir}/remus \ | ||
551 | ${sysconfdir}/xen/scripts/remus-netbuf-setup \ | ||
552 | " | ||
553 | |||
554 | FILES_${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 | |||
569 | FILES_${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 | |||
582 | FILES_${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 | |||
593 | INSANE_SKIP_${PN}-shim = "arch" | ||
594 | FILES_${PN}-shim = " \ | ||
595 | ${libdir}/xen/boot/xen-shim \ | ||
596 | " | ||
597 | |||
598 | FILES_${PN}-volatiles = "\ | ||
599 | ${sysconfdir}/default/volatiles/99_xen \ | ||
600 | ${sysconfdir}/tmpfiles.d/xen.conf \ | ||
601 | " | ||
602 | |||
603 | FILES_${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 | |||
610 | FILES_${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 | |||
616 | FILES_${PN}-xenpaging = "\ | ||
617 | ${libdir}/xen/bin/xenpaging \ | ||
618 | ${localstatedir}/lib/xen/xenpaging \ | ||
619 | " | ||
620 | |||
621 | FILES_${PN}-xenpmd = "\ | ||
622 | ${sbindir}/xenpmd \ | ||
623 | " | ||
624 | |||
625 | FILES_${PN}-xenstat = "\ | ||
626 | ${sbindir}/xentop \ | ||
627 | " | ||
628 | |||
629 | FILES_${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 | |||
642 | FILES_${PN}-xenstored = "\ | ||
643 | ${sbindir}/xenstored \ | ||
644 | ${localstatedir}/lib/xenstored \ | ||
645 | " | ||
646 | |||
647 | FILES_${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 | |||
657 | FILES_${PN}-xen-watchdog = "\ | ||
658 | ${sbindir}/xenwatchdogd \ | ||
659 | ${sysconfdir}/init.d/xen-watchdog \ | ||
660 | ${systemd_unitdir}/system/xen-watchdog.service \ | ||
661 | " | ||
662 | |||
663 | FILES_${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 | |||
671 | FILES_${PN}-xl-examples = "\ | ||
672 | ${sysconfdir}/xen/xlexample.hvm \ | ||
673 | ${sysconfdir}/xen/xlexample.pvlinux \ | ||
674 | " | ||
675 | |||
676 | FILES_${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 | |||
687 | FILES_${PN}-xenmon = "\ | ||
688 | ${sbindir}/xenbaked \ | ||
689 | ${sbindir}/xentrace_setmask \ | ||
690 | ${sbindir}/xenmon.py \ | ||
691 | ${sbindir}/xenmon \ | ||
692 | " | ||
693 | |||
694 | FILES_${PN}-xm = "\ | ||
695 | ${sysconfdir}/xen/xm-config.xml \ | ||
696 | ${datadir}/xen/create.dtd \ | ||
697 | ${sbindir}/xm \ | ||
698 | " | ||
699 | |||
700 | FILES_${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 | |||
713 | FILES_${PN}-xend += " \ | ||
714 | ${sysconfdir}/init.d/xend \ | ||
715 | ${sbindir}/xend \ | ||
716 | " | ||
717 | |||
718 | FILES_${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 | ||
727 | INITSCRIPT_PACKAGES = "${PN}-xend ${PN}-xencommons ${PN}-xen-watchdog ${PN}-xendomains ${PN}-devd" | ||
728 | INITSCRIPT_NAME_${PN}-xencommons = "xencommons" | ||
729 | INITSCRIPT_PARAMS_${PN}-xencommons = "defaults 80" | ||
730 | INITSCRIPT_NAME_${PN}-xen-watchdog = "xen-watchdog" | ||
731 | INITSCRIPT_PARAMS_${PN}-xen-watchdog = "defaults 81" | ||
732 | INITSCRIPT_NAME_${PN}-xend = "xend" | ||
733 | INITSCRIPT_PARAMS_${PN}-xend = "defaults 82" | ||
734 | INITSCRIPT_NAME_${PN}-xendomains = "xendomains" | ||
735 | INITSCRIPT_PARAMS_${PN}-xendomains = "defaults 83" | ||
736 | INITSCRIPT_NAME_${PN}-devd = "xendriverdomain" | ||
737 | INITSCRIPT_PARAMS_${PN}-devd = "defaults 82" | ||
738 | |||
739 | # systemd packages | ||
740 | SYSTEMD_PACKAGES = "${PN}-xen-watchdog ${PN}-xencommons ${PN}-xendomains ${PN}-devd" | ||
741 | SYSTEMD_SERVICE_${PN}-devd = "xendriverdomain.service" | ||
742 | SYSTEMD_SERVICE_${PN}-xen-watchdog = "xen-watchdog.service" | ||
743 | SYSTEMD_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 | " | ||
751 | SYSTEMD_SERVICE_${PN}-xendomains = "xendomains.service" | ||
752 | |||
753 | #### REQUIRED ENVIRONMENT VARIABLES #### | 56 | #### REQUIRED ENVIRONMENT VARIABLES #### |
754 | export BUILD_SYS | 57 | export BUILD_SYS |
755 | export HOST_SYS | 58 | export HOST_SYS |
@@ -896,21 +199,6 @@ do_post_patch_append_arm() { | |||
896 | 199 | ||
897 | addtask post_patch after do_patch before do_configure | 200 | addtask post_patch after do_patch before do_configure |
898 | 201 | ||
899 | do_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 | |||
912 | addtask stubs after do_configure before do_compile | ||
913 | |||
914 | # Allow all hypervisor settings in a defconfig | 202 | # Allow all hypervisor settings in a defconfig |
915 | EXTRA_OEMAKE += "XEN_CONFIG_EXPERT=y" | 203 | EXTRA_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 |
919 | EXTRA_OEMAKE += "debug=n" | 207 | EXTRA_OEMAKE += "debug=n" |
920 | 208 | ||
921 | do_configure() { | 209 | do_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 | ||
943 | do_compile() { | 231 | do_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 | ||
954 | do_install() { | 237 | do_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 | |||
1007 | pkg_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 | |||
1017 | do_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 | |||
1039 | addtask deploy after do_populate_sysroot | ||
1040 | |||
1041 | # Enable use of menuconfig directly from bitbake and also within the devshell | ||
1042 | OE_TERMINAL_EXPORTS += "HOST_EXTRACFLAGS HOSTLDFLAGS TERMINFO" | ||
1043 | HOST_EXTRACFLAGS = "${BUILD_CFLAGS} ${BUILD_LDFLAGS}" | ||
1044 | HOSTLDFLAGS = "${BUILD_LDFLAGS}" | ||
1045 | TERMINFO = "${STAGING_DATADIR_NATIVE}/terminfo" | ||
1046 | do_devshell[depends] += "ncurses-native:do_populate_sysroot" | ||
1047 | |||
1048 | KCONFIG_CONFIG_COMMAND ??= "menuconfig" | ||
1049 | python 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 | } |
1070 | do_menuconfig[depends] += "ncurses-native:do_populate_sysroot" | ||
1071 | do_menuconfig[nostamp] = "1" | ||
1072 | do_menuconfig[dirs] = "${B}" | ||
1073 | addtask 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 @@ | |||
1 | FILESEXTRAPATHS_prepend := "${THISDIR}/files:" | ||
2 | require xen.inc | ||
3 | |||
4 | SRC_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 | |||
9 | SRC_URI[md5sum] = "57084e3f55bbec063d38b464e1b7e4f2" | ||
10 | SRC_URI[sha256sum] = "1c75cbe728dfabf02b7f9a17ce96ee7d202d2fd4b4689490018d3a28b63f9fa3" | ||
11 | |||
12 | S = "${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 @@ | |||
1 | require xen.inc | 1 | SRCREV ?= "a5fcafbfbee55261853fba07149c1c795f2baf58" |
2 | |||
3 | XEN_REL ?= "4.12" | ||
4 | XEN_BRANCH ?= "stable-${XEN_REL}" | ||
2 | 5 | ||
3 | SRCREV ?= "cb70a26f78848fe45f593f7ebc9cfaac760a791b" | 6 | SRC_URI = "git://xenbits.xen.org/xen.git;branch=${XEN_BRANCH}" |
4 | 7 | ||
5 | XEN_REL = "4.13" | 8 | LIC_FILES_CHKSUM ?= "file://COPYING;md5=bbb4b1bdc2c3b6743da3c39d03249095" |
6 | XEN_BRANCH = "staging" | ||
7 | FLASK_POLICY_FILE = "xenpolicy-${XEN_REL}-unstable" | ||
8 | 9 | ||
9 | PV = "${XEN_REL}+git${SRCPV}" | 10 | PV = "${XEN_REL}+git${SRCPV}" |
10 | 11 | ||
11 | S = "${WORKDIR}/git" | 12 | S = "${WORKDIR}/git" |
12 | 13 | ||
13 | SRC_URI = " \ | 14 | require xen.inc |
14 | git://xenbits.xen.org/xen.git;branch=${XEN_BRANCH} \ | 15 | require xen-hypervisor.inc |
15 | file://0001-python-pygrub-pass-DISTUTILS-xen.4.12.patch \ | ||
16 | " | ||
17 | |||
18 | DEFAULT_PREFERENCE = "-1" | ||