diff options
Diffstat (limited to 'recipes-extended/xen/xen-tools.inc')
-rw-r--r-- | recipes-extended/xen/xen-tools.inc | 382 |
1 files changed, 199 insertions, 183 deletions
diff --git a/recipes-extended/xen/xen-tools.inc b/recipes-extended/xen/xen-tools.inc index 0c69fece..5f010a5d 100644 --- a/recipes-extended/xen/xen-tools.inc +++ b/recipes-extended/xen/xen-tools.inc @@ -6,30 +6,7 @@ COMPATIBLE_HOST = 'i686-.*-linux|(x86_64.*).*-linux|aarch64.*-linux|arm-.*-linux inherit setuptools3 update-rc.d systemd deploy require xen-blktap.inc -# To build hvmloader, which is needed on x86-64 targets when 'hvm' is enabled -# in PACKAGECONFIG, to support running HVM-mode guest VMs, some files from -# 32-bit glibc are needed. -# Add the multilib 32-bit glibc to DEPENDS only when necessary. -# -# To enable multilib, please add the following to your local.conf -: -# -# require conf/multilib.conf -# MULTILIBS = "multilib:lib32" -# DEFAULTTUNE_virtclass-multilib-lib32 = "x86" - -# Use this multilib prefix for x86 32-bit to match local.conf: -MLPREFIX32 = "lib32-" - -# The DEPENDS on a multilib 32-bit glibc is only added when target is x86-64 -# and 'hvm' is enabled in PACKAGECONFIG. -# This x86-64 override is never intended for native use, so clear that. -GLIBC32 = "" -GLIBC32_x86-64 = \ - "${@bb.utils.contains('PACKAGECONFIG', 'hvm', '${MLPREFIX32}glibc', '', d)}" -GLIBC32_class-native = "" -DEPENDS += "${GLIBC32}" - -RDEPENDS_${PN} = "\ +RDEPENDS:${PN} = "\ bash perl xz \ ${PN}-console \ ${PN}-libxenguest \ @@ -47,20 +24,16 @@ RDEPENDS_${PN} = "\ ${PN}-xencommons \ ${PN}-xendomains \ ${PN}-xenstore \ - virtual/xenstored \ + virtual-xenstored \ ${PN}-xl \ " -RDEPENDS_${PN}-dev = "" +RDEPENDS:${PN}-dev = "" -# Qemu is necessary on ARM platforms, and to support HVM guests on x86 -QEMU = "${@bb.utils.contains('PACKAGECONFIG', 'hvm', 'qemu', '', d)}" -QEMU_arm = "qemu" -QEMU_aarch64 = "qemu" - -RRECOMMENDS_${PN} = " \ - ${QEMU} \ - ${@bb.utils.contains('PACKAGECONFIG', 'hvm', 'seabios', '', d)} \ +RRECOMMENDS:${PN} = " \ + qemu \ + ${@bb.utils.contains('DISTRO_FEATURES', 'vmsep', 'qemu-x86_64 qemu-i386', '', d)} \ + ${@bb.utils.contains('XEN_TARGET_ARCH', 'x86_64', 'seabios ipxe vgabios', '', d)} \ ${@bb.utils.contains('PACKAGECONFIG', 'externalblktap', '', '${BLKTAP_RRECOMMENDS}', d)} \ ${PN}-flask \ ${PN}-hvmloader \ @@ -72,87 +45,88 @@ RRECOMMENDS_${PN} = " \ ${PN}-xenhypfs \ " -RDEPENDS_${PN}-devd = " \ +RDEPENDS:${PN}-devd = " \ ${PN}-xl \ " -RDEPENDS_${PN}-fsimage = " \ +RDEPENDS:${PN}-fsimage = " \ libext2fs \ " -RDEPENDS_${PN}-misc = " \ +RDEPENDS:${PN}-misc = " \ perl \ python3 \ ${PN}-xencov \ " -RSUGGESTS_${PN}-misc = " \ +RSUGGESTS:${PN}-misc = " \ ${PN}-xencons \ ${PN}-xenpvnetboot \ " -RDEPENDS_${PN}-python = " \ +RDEPENDS:${PN}-python = " \ python3 \ " -RDEPENDS_${PN}-pygrub = " \ +RDEPENDS:${PN}-pygrub = " \ python3 \ ${PN}-python \ " -RDEPENDS_${PN}-remus = "bash" +RDEPENDS:${PN}-remus = "bash" -RDEPENDS_${PN}-scripts-block = "\ +RDEPENDS:${PN}-scripts-block = "\ bash \ ${PN}-scripts-common \ ${PN}-volatiles \ " -RDEPENDS_${PN}-scripts-common = "bash" +RDEPENDS:${PN}-scripts-common = "bash" -RDEPENDS_${PN}-scripts-network = "\ +RDEPENDS:${PN}-scripts-network = "\ bash \ bridge-utils \ ${PN}-scripts-common \ ${PN}-volatiles \ " -RSUGGESTS_${PN}-scripts-network = "\ +RRECOMMENDS:${PN}-scripts-network = "\ ifupdown \ " -RSUGGESTS_${PN}-xencov = "${PN}-xencov-split" +RSUGGESTS:${PN}-xencov = "${PN}-xencov-split" -RDEPENDS_${PN}-xencommons = "\ +RDEPENDS:${PN}-xencommons = "\ bash \ + util-linux-prlimit \ ${PN}-console \ ${PN}-xenstore \ - virtual/xenstored \ + virtual-xenstored \ ${PN}-xl \ ${PN}-scripts-common \ " -RDEPENDS_${PN}-xendomains = "\ +RDEPENDS:${PN}-xendomains = "\ bash \ ${PN}-console \ ${PN}-scripts-block \ ${PN}-scripts-common \ - virtual/xenstored \ + virtual-xenstored \ " -RDEPENDS_${PN}-xenhypfs = " \ +RDEPENDS:${PN}-xenhypfs = " \ ${PN}-libxenhypfs \ " -RDEPENDS_${PN}-xl = "libgcc" +RDEPENDS:${PN}-xl = "libgcc" -RDEPENDS_${PN}-xenmon = " \ +RDEPENDS:${PN}-xenmon = " \ python3 \ " -RSUGGESTS_${PN}-xentrace = "${PN}-xentrace-format" +RSUGGESTS:${PN}-xentrace = "${PN}-xentrace-format" -RDEPENDS_${PN}-xen-watchdog = "bash" +RDEPENDS:${PN}-xen-watchdog = "bash" PACKAGES = " \ ${PN} \ @@ -234,18 +208,23 @@ PACKAGES = " \ ${PN}-xl-examples \ ${PN}-xm \ ${PN}-xm-examples \ + ${PN}-xen-access \ + ${PN}-xen-memshare \ + ${PN}-test \ + ${PN}-xen-vmtrace \ + ${PN}-xen-mceinj \ " PROVIDES =+ " \ - virtual/xenstored \ + virtual-xenstored \ ${@bb.utils.contains('PACKAGECONFIG', 'externalblktap', '', '${BLKTAP_PROVIDES}', d)} \ " # There are multiple implementations of the XenStore daemon, so we use a # virtual package to allow for substitution. -RPROVIDES_${PN}-xenstored = "virtual/xenstored" +RPROVIDES:${PN}-xenstored = "virtual-xenstored" -FILES_${PN}-dbg += "\ +FILES:${PN}-dbg += "\ ${libdir}/xen/bin/.debug \ ${nonarch_libdir}/${PYTHON_DIR}/site-packages/.debug \ ${nonarch_libdir}/${PYTHON_DIR}/site-packages/xen/lowlevel/.debug \ @@ -265,18 +244,18 @@ FILES_${PN}-dbg += "\ ${nonarch_libdir}/${PYTHON_DIR}/dist-packages/xen/lowlevel/.debug \ " -FILES_${PN}-dev = "\ +FILES:${PN}-dev = "\ ${includedir} \ " -FILES_${PN}-doc = "\ +FILES:${PN}-doc = "\ ${sysconfdir}/xen/README \ ${sysconfdir}/xen/README.incompatibilities \ ${datadir}/doc \ ${datadir}/man \ " -FILES_${PN}-staticdev += "\ +FILES:${PN}-staticdev += "\ ${libdir}/libxenguest.a \ ${libdir}/libxenlight.a \ ${libdir}/libxenvchan.a \ @@ -286,122 +265,122 @@ FILES_${PN}-staticdev += "\ ${libdir}/libxenstore.a \ " -FILES_${PN}-libxencall = "${libdir}/libxencall.so.*" -FILES_${PN}-libxencall-dev = " \ +FILES:${PN}-libxencall = "${libdir}/libxencall.so.*" +FILES:${PN}-libxencall-dev = " \ ${libdir}/libxencall.so \ ${libdir}/pkgconfig/xencall.pc \ ${datadir}/pkgconfig/xencall.pc \ " -FILES_${PN}-libxenctrl = "${libdir}/libxenctrl.so.*" -FILES_${PN}-libxenctrl-dev = " \ +FILES:${PN}-libxenctrl = "${libdir}/libxenctrl.so.*" +FILES:${PN}-libxenctrl-dev = " \ ${libdir}/libxenctrl.so \ ${libdir}/pkgconfig/xencontrol.pc \ ${datadir}/pkgconfig/xencontrol.pc \ " -FILES_${PN}-libxendevicemodel = "${libdir}/libxendevicemodel.so.*" -FILES_${PN}-libxendevicemodel-dev = " \ +FILES:${PN}-libxendevicemodel = "${libdir}/libxendevicemodel.so.*" +FILES:${PN}-libxendevicemodel-dev = " \ ${libdir}/libxendevicemodel.so \ ${libdir}/pkgconfig/xendevicemodel.pc \ ${datadir}/pkgconfig/xendevicemodel.pc \ " -FILES_${PN}-libxenevtchn = "${libdir}/libxenevtchn.so.*" -FILES_${PN}-libxenevtchn-dev = " \ +FILES:${PN}-libxenevtchn = "${libdir}/libxenevtchn.so.*" +FILES:${PN}-libxenevtchn-dev = " \ ${libdir}/libxenevtchn.so \ ${libdir}/pkgconfig/xenevtchn.pc \ ${datadir}/pkgconfig/xenevtchn.pc \ " -FILES_${PN}-libxenforeignmemory = "${libdir}/libxenforeignmemory.so.*" -FILES_${PN}-libxenforeignmemory-dev = " \ +FILES:${PN}-libxenforeignmemory = "${libdir}/libxenforeignmemory.so.*" +FILES:${PN}-libxenforeignmemory-dev = " \ ${libdir}/libxenforeignmemory.so \ ${libdir}/pkgconfig/xenforeignmemory.pc \ ${datadir}/pkgconfig/xenforeignmemory.pc \ " -FILES_${PN}-libxengnttab = "${libdir}/libxengnttab.so.*" -FILES_${PN}-libxengnttab-dev = " \ +FILES:${PN}-libxengnttab = "${libdir}/libxengnttab.so.*" +FILES:${PN}-libxengnttab-dev = " \ ${libdir}/libxengnttab.so \ ${libdir}/pkgconfig/xengnttab.pc \ ${datadir}/pkgconfig/xengnttab.pc \ " -FILES_${PN}-libxenguest = "${libdir}/libxenguest.so.*" -FILES_${PN}-libxenguest-dev = " \ +FILES:${PN}-libxenguest = "${libdir}/libxenguest.so.*" +FILES:${PN}-libxenguest-dev = " \ ${libdir}/libxenguest.so \ ${libdir}/pkgconfig/xenguest.pc \ ${datadir}/pkgconfig/xenguest.pc \ " -FILES_${PN}-libxenhypfs = "${libdir}/libxenhypfs.so.*" -FILES_${PN}-libxenhypfs-dev = " \ +FILES:${PN}-libxenhypfs = "${libdir}/libxenhypfs.so.*" +FILES:${PN}-libxenhypfs-dev = " \ ${libdir}/libxenhypfs.so \ ${libdir}/pkgconfig/xenhypfs.pc \ " -FILES_${PN}-libxenlight = "${libdir}/libxenlight.so.*" -FILES_${PN}-libxenlight-dev = " \ +FILES:${PN}-libxenlight = "${libdir}/libxenlight.so.*" +FILES:${PN}-libxenlight-dev = " \ ${libdir}/libxenlight.so \ ${libdir}/pkgconfig/xenlight.pc \ ${datadir}/pkgconfig/xenlight.pc \ " -FILES_${PN}-libxenstat = "${libdir}/libxenstat.so.*" -FILES_${PN}-libxenstat-dev = " \ +FILES:${PN}-libxenstat = "${libdir}/libxenstat.so.*" +FILES:${PN}-libxenstat-dev = " \ ${libdir}/libxenstat.so \ ${libdir}/pkgconfig/xenstat.pc \ ${datadir}/pkgconfig/xenstat.pc \ " -FILES_${PN}-libxenstore = "${libdir}/libxenstore.so.*" -FILES_${PN}-libxenstore-dev = " \ +FILES:${PN}-libxenstore = "${libdir}/libxenstore.so.*" +FILES:${PN}-libxenstore-dev = " \ ${libdir}/libxenstore.so \ ${libdir}/pkgconfig/xenstore.pc \ ${datadir}/pkgconfig/xenstore.pc \ " -FILES_${PN}-libxentoolcore = "${libdir}/libxentoolcore.so.*" -FILES_${PN}-libxentoolcore-dev = " \ +FILES:${PN}-libxentoolcore = "${libdir}/libxentoolcore.so.*" +FILES:${PN}-libxentoolcore-dev = " \ ${libdir}/libxentoolcore.so \ ${libdir}/pkgconfig/xentoolcore.pc \ ${datadir}/pkgconfig/xentoolcore.pc \ " -FILES_${PN}-libxentoollog = "${libdir}/libxentoollog.so.*" -FILES_${PN}-libxentoollog-dev = " \ +FILES:${PN}-libxentoollog = "${libdir}/libxentoollog.so.*" +FILES:${PN}-libxentoollog-dev = " \ ${libdir}/libxentoollog.so \ ${libdir}/pkgconfig/xentoollog.pc \ ${datadir}/pkgconfig/xentoollog.pc \ " -FILES_${PN}-libxenvchan = "${libdir}/libxenvchan.so.*" -FILES_${PN}-libxenvchan-dev = " \ +FILES:${PN}-libxenvchan = "${libdir}/libxenvchan.so.*" +FILES:${PN}-libxenvchan-dev = " \ ${libdir}/libxenvchan.so \ ${libdir}/pkgconfig/xenvchan.pc \ ${datadir}/pkgconfig/xenvchan.pc \ " -FILES_${PN}-libxlutil = "${libdir}/libxlutil.so.*" -FILES_${PN}-libxlutil-dev = " \ +FILES:${PN}-libxlutil = "${libdir}/libxlutil.so.*" +FILES:${PN}-libxlutil-dev = " \ ${libdir}/libxlutil.so \ ${libdir}/pkgconfig/xlutil.pc \ ${datadir}/pkgconfig/xlutil.pc \ " -FILES_${PN}-libvhd = "${libdir}/libvhd.so.*" -FILES_${PN}-libvhd-dev = " \ +FILES:${PN}-libvhd = "${libdir}/libvhd.so.*" +FILES:${PN}-libvhd-dev = " \ ${libdir}/libvhd.so \ ${libdir}/pkgconfig/vhd.pc \ ${datadir}/pkgconfig/vhd.pc \ " -FILES_${PN}-libfsimage = " \ +FILES:${PN}-libfsimage = " \ ${libdir}/libfsimage.so.* \ ${libdir}/libxenfsimage.so.* \ " -FILES_${PN}-libfsimage-dev = " \ +FILES:${PN}-libfsimage-dev = " \ ${libdir}/libfsimage.so \ ${libdir}/libxenfsimage.so \ ${libdir}/pkgconfig/fsimage.pc \ @@ -410,38 +389,38 @@ FILES_${PN}-libfsimage-dev = " \ ${datadir}/pkgconfig/xenfsimage.pc \ " -FILES_${PN}-fsimage = " \ +FILES:${PN}-fsimage = " \ ${libdir}/fs/**/[a-z]*fsimage.so \ ${libdir}/xenfsimage/**/fsimage.so \ " -FILES_${PN}-init-xenstore-dom = "${libdir}/xen/bin/init-xenstore-domain" +FILES:${PN}-init-xenstore-dom = "${libdir}/xen/bin/init-xenstore-domain" -FILES_${PN} = "\ +FILES:${PN} = "\ ${sysconfdir}/xen/auto \ ${sysconfdir}/xen/cpupool \ ${localstatedir}/xen/dump \ " -FILES_${PN}-console = "\ +FILES:${PN}-console = "\ ${libdir}/xen/bin/xenconsole \ ${sbindir}/xenconsoled \ " -FILES_${PN}-cpuid = "\ +FILES:${PN}-cpuid = "\ ${bindir}/xen-cpuid \ " -FILES_${PN}-devd = "\ +FILES:${PN}-devd = "\ ${sysconfdir}/init.d/xendriverdomain \ ${systemd_unitdir}/system/xendriverdomain.service \ " -FILES_${PN}-flask = "\ +FILES:${PN}-flask = "\ /boot/xenpolicy-* \ " -FILES_${PN}-flask-tools = "\ +FILES:${PN}-flask-tools = "\ ${sbindir}/flask-get-bool \ ${sbindir}/flask-getenforce \ ${sbindir}/flask-label-pci \ @@ -450,25 +429,25 @@ FILES_${PN}-flask-tools = "\ ${sbindir}/flask-setenforce \ " -FILES_${PN}-gdbsx = "\ +FILES:${PN}-gdbsx = "\ ${sbindir}/gdbsx \ " -INSANE_SKIP_${PN}-hvmloader = "arch" -FILES_${PN}-hvmloader = "\ +INSANE_SKIP:${PN}-hvmloader = "arch" +FILES:${PN}-hvmloader = "\ ${libdir}/xen/boot/hvmloader \ " -FILES_${PN}-kdd = "\ +FILES:${PN}-kdd = "\ ${sbindir}/kdd \ ${sbindir}/xen-kdd \ " -FILES_${PN}-livepatch += " \ +FILES:${PN}-livepatch += " \ ${sbindir}/xen-livepatch \ " -FILES_${PN}-misc = "\ +FILES:${PN}-misc = "\ ${bindir}/xen-detect \ ${libdir}/xen/bin/depriv-fd-checker \ ${sbindir}/gtracestat \ @@ -491,22 +470,22 @@ FILES_${PN}-misc = "\ ${libdir}/xen/bin/convert-legacy-stream \ " -FILES_${PN}-pygrub = "\ +FILES:${PN}-pygrub = "\ ${bindir}/pygrub \ ${libdir}/xen/bin/pygrub \ " # Depending on the version of Xen libdir or nonarch libdir is used -FILES_${PN}-python = "\ +FILES:${PN}-python = "\ ${libdir}/${PYTHON_DIR} \ ${nonarch_libdir}/${PYTHON_DIR} \ " -FILES_${PN}-remus = "\ +FILES:${PN}-remus = "\ ${sysconfdir}/xen/scripts/remus-netbuf-setup \ " -FILES_${PN}-scripts-network = " \ +FILES:${PN}-scripts-network = " \ ${sysconfdir}/xen/scripts/colo-proxy-setup \ ${sysconfdir}/xen/scripts/network-bridge \ ${sysconfdir}/xen/scripts/network-nat \ @@ -521,7 +500,7 @@ FILES_${PN}-scripts-network = " \ ${sysconfdir}/xen/scripts/vif-setup \ " -FILES_${PN}-scripts-block = " \ +FILES:${PN}-scripts-block = " \ ${sysconfdir}/xen/scripts/blktap \ ${sysconfdir}/xen/scripts/block \ ${sysconfdir}/xen/scripts/block-common.sh \ @@ -534,7 +513,7 @@ FILES_${PN}-scripts-block = " \ ${sysconfdir}/xen/scripts/vscsi \ " -FILES_${PN}-scripts-common = " \ +FILES:${PN}-scripts-common = " \ ${sysconfdir}/xen/scripts/external-device-migrate \ ${sysconfdir}/xen/scripts/hotplugpath.sh \ ${sysconfdir}/xen/scripts/locking.sh \ @@ -545,59 +524,59 @@ FILES_${PN}-scripts-common = " \ ${sysconfdir}/xen/scripts/xen-script-common.sh \ " -INSANE_SKIP_${PN}-shim = "arch" -FILES_${PN}-shim = " \ +INSANE_SKIP:${PN}-shim = "arch" +FILES:${PN}-shim = " \ ${libdir}/xen/boot/xen-shim \ " -FILES_${PN}-ucode = "\ +FILES:${PN}-ucode = "\ ${sbindir}/xen-ucode \ " -FILES_${PN}-vchan = "\ +FILES:${PN}-vchan = "\ ${bindir}/vchan-socket-proxy \ " -FILES_${PN}-volatiles = "\ +FILES:${PN}-volatiles = "\ ${sysconfdir}/default/volatiles/99_xen \ ${sysconfdir}/tmpfiles.d/xen.conf \ " -FILES_${PN}-xcutils = "\ +FILES:${PN}-xcutils = "\ ${libdir}/xen/bin/lsevtchn \ ${libdir}/xen/bin/readnotes \ ${libdir}/xen/bin/xc_restore \ ${libdir}/xen/bin/xc_save \ " -FILES_${PN}-xencov = "\ +FILES:${PN}-xencov = "\ ${sbindir}/xencov \ " -FILES_${PN}-xend-examples = "\ +FILES:${PN}-xend-examples = "\ ${sysconfdir}/xen/xend-config.sxp \ ${sysconfdir}/xen/xend-pci-permissive.sxp \ ${sysconfdir}/xen/xend-pci-quirks.sxp \ " -FILES_${PN}-xenhypfs = "\ +FILES:${PN}-xenhypfs = "\ ${sbindir}/xenhypfs \ " -FILES_${PN}-xenpaging = "\ +FILES:${PN}-xenpaging = "\ ${libdir}/xen/bin/xenpaging \ ${localstatedir}/lib/xen/xenpaging \ " -FILES_${PN}-xenpmd = "\ +FILES:${PN}-xenpmd = "\ ${sbindir}/xenpmd \ " -FILES_${PN}-xenstat = "\ +FILES:${PN}-xenstat = "\ ${sbindir}/xentop \ " -FILES_${PN}-xenstore = "\ +FILES:${PN}-xenstore = "\ ${bindir}/xenstore \ ${bindir}/xenstore-chmod \ ${bindir}/xenstore-control \ @@ -610,12 +589,12 @@ FILES_${PN}-xenstore = "\ ${bindir}/xenstore-write \ " -FILES_${PN}-xenstored = "\ +FILES:${PN}-xenstored = "\ ${sbindir}/xenstored \ ${localstatedir}/lib/xenstored \ " -FILES_${PN}-xentrace = "\ +FILES:${PN}-xentrace = "\ ${bindir}/xentrace \ ${bindir}/xentrace_setsize \ ${libdir}/xen/bin/xenctx \ @@ -625,26 +604,29 @@ FILES_${PN}-xentrace = "\ ${sbindir}/xentrace_setmask \ " -FILES_${PN}-xen-watchdog = "\ +FILES:${PN}-xen-watchdog = "\ ${sbindir}/xenwatchdogd \ ${sysconfdir}/init.d/xen-watchdog \ ${systemd_unitdir}/system/xen-watchdog.service \ " -FILES_${PN}-xl = "\ +FILES:${PN}-xl = "\ ${sysconfdir}/bash_completion.d/xl.sh \ + ${sysconfdir}/bash_completion.d/xl \ ${sysconfdir}/xen/xl.conf \ ${libdir}/xen/bin/libxl-save-helper \ ${sbindir}/xl \ ${libdir}/xen/bin/xen-init-dom0 \ + ${libdir}/xen/bin/init-dom0less \ " -FILES_${PN}-xl-examples = "\ +FILES:${PN}-xl-examples = "\ ${sysconfdir}/xen/xlexample.hvm \ ${sysconfdir}/xen/xlexample.pvlinux \ + ${sysconfdir}/xen/xlexample.pvhlinux \ " -FILES_${PN}-xm-examples = "\ +FILES:${PN}-xm-examples = "\ ${sysconfdir}/xen/xmexample1 \ ${sysconfdir}/xen/xmexample2 \ ${sysconfdir}/xen/xmexample3 \ @@ -655,86 +637,112 @@ FILES_${PN}-xm-examples = "\ ${sysconfdir}/xen/xmexample.vti \ " -FILES_${PN}-xenmon = "\ +FILES:${PN}-xenmon = "\ ${sbindir}/xenbaked \ ${sbindir}/xenmon.py \ ${sbindir}/xenmon \ " -FILES_${PN}-xm = "\ +FILES:${PN}-xm = "\ ${sysconfdir}/xen/xm-config.xml \ ${datadir}/xen/create.dtd \ ${sbindir}/xm \ " -FILES_${PN}-xencommons += "\ +FILES:${PN}-xencommons += "\ + ${nonarch_libdir}/modules-load.d/xen.conf \ ${sysconfdir}/default/xencommons \ - ${sysconfdir}/init.d/xencommons \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '', '${sysconfdir}/init.d/xencommons', d)} \ ${sysconfdir}/xen/scripts/launch-xenstore \ - ${systemd_unitdir}/modules-load.d/xen.conf \ ${systemd_unitdir}/system/proc-xen.mount \ - ${systemd_unitdir}/system/xen-qemu-dom0-disk-backend.service \ - ${systemd_unitdir}/system/xenconsoled.service \ - ${systemd_unitdir}/system/xen-init-dom0.service \ - ${systemd_unitdir}/system/xenstored.service \ - ${systemd_unitdir}/system/var-lib-xenstored.mount \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${systemd_unitdir}/system/xen-qemu-dom0-disk-backend.service', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${systemd_unitdir}/system/xenconsoled.service', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${systemd_unitdir}/system/xen-init-dom0.service', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${systemd_unitdir}/system/xenstored.service', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${systemd_unitdir}/system/var-lib-xenstored.mount', '', d)} \ + ${localstatedir} \ " -FILES_${PN}-xend += " \ +FILES:${PN}-xend += " \ ${sysconfdir}/init.d/xend \ ${sbindir}/xend \ " -FILES_${PN}-xendomains += "\ +FILES:${PN}-xendomains += "\ ${libdir}/xen/bin/xendomains \ ${sysconfdir}/default/xendomains \ ${sysconfdir}/init.d/xendomains \ ${sysconfdir}/sysconfig/xendomains \ ${systemd_unitdir}/system/xendomains.service \ " +FILES:${PN}-xen-access += "\ + ${sbindir}/xen-access \ + " + +FILES:${PN}-xen-memshare += "\ + ${sbindir}/xen-memshare \ + " + +# memshare is only built for x86, so allow empty package for other archs +ALLOW_EMPTY:${PN}-xen-memshare = "1" + +FILES:${PN}-test += "\ + ${libdir}/xen/bin/test-xenstore \ + ${libdir}/xen/bin/test-resource \ + ${libdir}/xen/bin/test-cpu-policy \ + ${libdir}/xen/bin/test-tsx \ + ${libdir}/xen/bin/test-paging-mempool \ + " + +# test-xenstore and test-resource currently only exist in 4.16 +# test-cpu-policy and test-tsx only exist in 4.16 for x86 +ALLOW_EMPTY:${PN}-test = "1" + +FILES:${PN}-xen-mceinj +="\ + ${sbindir}/xen-mceinj \ + " -INSANE_SKIP_${PN} = "already-stripped" +# xen-mceinj is only built for x86 4.16, so allow empty package +ALLOW_EMPTY:${PN}-xen-mceinj = "1" + +FILES:${PN}-xen-vmtrace +="\ + ${sbindir}/xen-vmtrace \ + " + +# xen-vmtrace is only built for x86 4.16, so allow empty package +ALLOW_EMPTY:${PN}-xen-vmtrace = "1" + +INSANE_SKIP:${PN} = "already-stripped" # configure init.d scripts -INITSCRIPT_PACKAGES = "${PN}-xend ${PN}-xencommons ${PN}-xen-watchdog ${PN}-xendomains ${PN}-devd" -INITSCRIPT_NAME_${PN}-xencommons = "xencommons" -INITSCRIPT_PARAMS_${PN}-xencommons = "defaults 80" -INITSCRIPT_NAME_${PN}-xen-watchdog = "xen-watchdog" -INITSCRIPT_PARAMS_${PN}-xen-watchdog = "defaults 81" -INITSCRIPT_NAME_${PN}-xend = "xend" -INITSCRIPT_PARAMS_${PN}-xend = "defaults 82" -INITSCRIPT_NAME_${PN}-xendomains = "xendomains" -INITSCRIPT_PARAMS_${PN}-xendomains = "defaults 83" -INITSCRIPT_NAME_${PN}-devd = "xendriverdomain" -INITSCRIPT_PARAMS_${PN}-devd = "defaults 82" +INITSCRIPT_PACKAGES = "${PN}-xend ${PN}-xen-watchdog ${PN}-xendomains ${PN}-devd" +INITSCRIPT_PACKAGES += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '', '${PN}-xencommons', d)}" +INITSCRIPT_NAME:${PN}-xencommons = "xencommons" +INITSCRIPT_PARAMS:${PN}-xencommons = "defaults 80" +INITSCRIPT_NAME:${PN}-xen-watchdog = "xen-watchdog" +INITSCRIPT_PARAMS:${PN}-xen-watchdog = "defaults 81" +INITSCRIPT_NAME:${PN}-xend = "xend" +INITSCRIPT_PARAMS:${PN}-xend = "defaults 82" +INITSCRIPT_NAME:${PN}-xendomains = "xendomains" +INITSCRIPT_PARAMS:${PN}-xendomains = "defaults 83" +INITSCRIPT_NAME:${PN}-devd = "xendriverdomain" +INITSCRIPT_PARAMS:${PN}-devd = "defaults 82" # systemd packages SYSTEMD_PACKAGES = "${PN}-xen-watchdog ${PN}-xencommons ${PN}-xendomains ${PN}-devd" -SYSTEMD_SERVICE_${PN}-devd = "xendriverdomain.service" -SYSTEMD_SERVICE_${PN}-xen-watchdog = "xen-watchdog.service" -SYSTEMD_SERVICE_${PN}-xencommons = " \ +SYSTEMD_SERVICE:${PN}-devd = "xendriverdomain.service" +SYSTEMD_SERVICE:${PN}-xen-watchdog = "xen-watchdog.service" +SYSTEMD_SERVICE:${PN}-xencommons = " \ proc-xen.mount \ - var-lib-xenstored.mount \ xen-qemu-dom0-disk-backend.service \ xenconsoled.service \ xen-init-dom0.service \ xenstored.service \ " -SYSTEMD_SERVICE_${PN}-xendomains = "xendomains.service" - -# To build hvmloader, which is needed on x86-64 targets when 'hvm' is enabled -# in PACKAGECONFIG, additional CFLAGS are needed to set the 32-bit sysroot. -RECIPE_SYSROOT32 = "${WORKDIR}/${MLPREFIX32}recipe-sysroot" -ADD_SYSROOT32_CFLAGS = "" -ADD_SYSROOT32_CFLAGS_x86-64 = \ - "${@bb.utils.contains('PACKAGECONFIG', 'hvm', \ - 'CFLAGS += "--sysroot=${RECIPE_SYSROOT32}"', '', d)}" -# This x86-64 override is never intended for native use, so clear that. -ADD_SYSROOT32_CFLAGS_class-native = "" +SYSTEMD_SERVICE:${PN}-xendomains = "xendomains.service" EXTRA_OECONF += " \ --with-systemd=${systemd_unitdir}/system \ - --with-systemd-modules-load=${systemd_unitdir}/modules-load.d \ --with-initddir=${INIT_D_DIR} \ --with-sysconfig-leaf-dir=default \ --with-system-qemu=${bindir}/qemu-system-i386 \ @@ -742,15 +750,12 @@ EXTRA_OECONF += " \ do_configure() { do_configure_common - - if [ -n '${ADD_SYSROOT32_CFLAGS}' ] ; then - echo '${ADD_SYSROOT32_CFLAGS}' >>"${S}/tools/firmware/Rules.mk" - fi } do_compile() { cd ${S} - oe_runmake tools PYTHON="${PYTHON}" + oe_runmake tools PYTHON="${PYTHON}" \ + EXTRA_CFLAGS_XEN_TOOLS="${EXTRA_CFLAGS_XEN_TOOLS}" } do_install() { @@ -801,16 +806,27 @@ do_install() { done fi - # fixup default path to qemu-system-i386 - sed -i 's#\(test -z "$QEMU_XEN" && QEMU_XEN=\).*$#\1"/usr/bin/qemu-system-i386"#' ${D}/etc/init.d/xencommons - if [ -e ${D}${systemd_unitdir}/system/xen-qemu-dom0-disk-backend.service ]; then sed -i 's#ExecStart=.*qemu-system-i386\(.*\)$#ExecStart=/usr/bin/qemu-system-i386\1#' \ ${D}${systemd_unitdir}/system/xen-qemu-dom0-disk-backend.service fi + + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then + rm -f ${D}/${sysconfdir}/init.d/xencommons + else + # fixup default path to qemu-system-i386 + sed -i 's#\(test -z "$QEMU_XEN" && QEMU_XEN=\).*$#\1"/usr/bin/qemu-system-i386"#' ${D}/etc/init.d/xencommons + + # remove the uncondiontally installed systemd service files + rm -f ${D}/${systemd_unitdir}/system/xen-qemu-dom0-disk-backend.service + rm -f ${D}/${systemd_unitdir}/system/xenconsoled.service + rm -f ${D}/${systemd_unitdir}/system/xen-init-dom0.service + rm -f ${D}/${systemd_unitdir}/system/xenstored.service + rm -f ${D}/${systemd_unitdir}/system/var-lib-xenstored.mount + fi } -pkg_postinst_${PN}-volatiles() { +pkg_postinst:${PN}-volatiles() { if [ -z "$D" ]; then if command -v systemd-tmpfiles >/dev/null; then systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/xen.conf |