mirror of
git://git.yoctoproject.org/meta-virtualization.git
synced 2025-07-19 12:50:22 +02:00

OEcore/bitbake are moving to use the clearer ":" as an overrides separator. This is pass one of updating the meta-virt recipes to use that syntax. This has only been minimally build/runtime tested, more changes will be required for missed overrides, or incorrect conversions Note: A recent bitbake is required: commit 75fad23fc06c008a03414a1fc288a8614c6af9ca Author: Richard Purdie <richard.purdie@linuxfoundation.org> Date: Sun Jul 18 12:59:15 2021 +0100 bitbake: data_smart/parse: Allow ':' characters in variable/function names It is becomming increasingly clear we need to find a way to show what is/is not an override in our syntax. We need to do this in a way which is clear to users, readable and in a way we can transition to. The most effective way I've found to this is to use the ":" charater to directly replace "_" where an override is being specified. This includes "append", "prepend" and "remove" which are effectively special override directives. This patch simply adds the character to the parser so bitbake accepts the value but maps it back to "_" internally so there is no behaviour change. This change is simple enough it could potentially be backported to older version of bitbake meaning layers using the new syntax/markup could work with older releases. Even if other no other changes are accepted at this time and we don't backport, it does set us on a path where at some point in future we could require a more explict syntax. I've tested this patch by converting oe-core/meta-yocto to the new syntax for overrides (9000+ changes) and then seeing that builds continue to work with this patch. (Bitbake rev: 0dbbb4547cb2570d2ce607e9a53459df3c0ac284) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
822 lines
22 KiB
PHP
822 lines
22 KiB
PHP
SUMMARY = "Xen hypervisor tools"
|
|
DESCRIPTION = "Tools and utility software for the Xen hypervisor"
|
|
|
|
COMPATIBLE_HOST = 'i686-.*-linux|(x86_64.*).*-linux|aarch64.*-linux|arm-.*-linux-gnueabi'
|
|
|
|
inherit setuptools3 update-rc.d systemd deploy
|
|
require xen-blktap.inc
|
|
|
|
RDEPENDS:${PN} = "\
|
|
bash perl xz \
|
|
${PN}-console \
|
|
${PN}-libxenguest \
|
|
${PN}-libxenlight \
|
|
${PN}-libxenvchan \
|
|
${PN}-libxenctrl \
|
|
${PN}-libxlutil \
|
|
${PN}-libxenstat \
|
|
${PN}-libxenstore \
|
|
${PN}-libfsimage \
|
|
${PN}-fsimage \
|
|
${PN}-scripts-block \
|
|
${PN}-scripts-network \
|
|
${PN}-xen-watchdog \
|
|
${PN}-xencommons \
|
|
${PN}-xendomains \
|
|
${PN}-xenstore \
|
|
virtual/xenstored \
|
|
${PN}-xl \
|
|
"
|
|
|
|
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)} \
|
|
${@bb.utils.contains('PACKAGECONFIG', 'externalblktap', '', '${BLKTAP_RRECOMMENDS}', d)} \
|
|
${PN}-flask \
|
|
${PN}-hvmloader \
|
|
${PN}-libxenhypfs \
|
|
${PN}-shim \
|
|
${PN}-ucode \
|
|
${PN}-vchan \
|
|
${PN}-xenpaging \
|
|
${PN}-xenhypfs \
|
|
"
|
|
|
|
RDEPENDS:${PN}-devd = " \
|
|
${PN}-xl \
|
|
"
|
|
|
|
RDEPENDS:${PN}-fsimage = " \
|
|
libext2fs \
|
|
"
|
|
|
|
RDEPENDS:${PN}-misc = " \
|
|
perl \
|
|
python3 \
|
|
${PN}-xencov \
|
|
"
|
|
|
|
RSUGGESTS:${PN}-misc = " \
|
|
${PN}-xencons \
|
|
${PN}-xenpvnetboot \
|
|
"
|
|
|
|
RDEPENDS:${PN}-python = " \
|
|
python3 \
|
|
"
|
|
|
|
RDEPENDS:${PN}-pygrub = " \
|
|
python3 \
|
|
${PN}-python \
|
|
"
|
|
|
|
RDEPENDS:${PN}-remus = "bash"
|
|
|
|
RDEPENDS:${PN}-scripts-block = "\
|
|
bash \
|
|
${PN}-scripts-common \
|
|
${PN}-volatiles \
|
|
"
|
|
|
|
RDEPENDS:${PN}-scripts-common = "bash"
|
|
|
|
RDEPENDS:${PN}-scripts-network = "\
|
|
bash \
|
|
bridge-utils \
|
|
${PN}-scripts-common \
|
|
${PN}-volatiles \
|
|
"
|
|
|
|
RSUGGESTS:${PN}-scripts-network = "\
|
|
ifupdown \
|
|
"
|
|
|
|
RSUGGESTS:${PN}-xencov = "${PN}-xencov-split"
|
|
|
|
RDEPENDS:${PN}-xencommons = "\
|
|
bash \
|
|
${PN}-console \
|
|
${PN}-xenstore \
|
|
virtual/xenstored \
|
|
${PN}-xl \
|
|
${PN}-scripts-common \
|
|
"
|
|
|
|
RDEPENDS:${PN}-xendomains = "\
|
|
bash \
|
|
${PN}-console \
|
|
${PN}-scripts-block \
|
|
${PN}-scripts-common \
|
|
virtual/xenstored \
|
|
"
|
|
|
|
RDEPENDS:${PN}-xenhypfs = " \
|
|
${PN}-libxenhypfs \
|
|
"
|
|
|
|
RDEPENDS:${PN}-xl = "libgcc"
|
|
|
|
RDEPENDS:${PN}-xenmon = " \
|
|
python3 \
|
|
"
|
|
|
|
RSUGGESTS:${PN}-xentrace = "${PN}-xentrace-format"
|
|
|
|
RDEPENDS:${PN}-xen-watchdog = "bash"
|
|
|
|
PACKAGES = " \
|
|
${PN} \
|
|
${@bb.utils.contains('PACKAGECONFIG', 'externalblktap', '', '${BLKTAP_PACKAGES}', d)} \
|
|
${PN}-console \
|
|
${PN}-cpuid \
|
|
${PN}-dbg \
|
|
${PN}-dev \
|
|
${PN}-devd \
|
|
${PN}-doc \
|
|
${PN}-flask \
|
|
${PN}-flask-tools \
|
|
${PN}-fsimage \
|
|
${PN}-gdbsx \
|
|
${PN}-hvmloader \
|
|
${PN}-init-xenstore-dom \
|
|
${PN}-kdd \
|
|
${PN}-libfsimage \
|
|
${PN}-libfsimage-dev \
|
|
${PN}-libxencall \
|
|
${PN}-libxencall-dev \
|
|
${PN}-libxenctrl \
|
|
${PN}-libxenctrl-dev \
|
|
${PN}-libxendevicemodel \
|
|
${PN}-libxendevicemodel-dev \
|
|
${PN}-libxenevtchn \
|
|
${PN}-libxenevtchn-dev \
|
|
${PN}-libxenforeignmemory \
|
|
${PN}-libxenforeignmemory-dev \
|
|
${PN}-libxengnttab \
|
|
${PN}-libxengnttab-dev \
|
|
${PN}-libxenguest \
|
|
${PN}-libxenguest-dev \
|
|
${PN}-libxenhypfs \
|
|
${PN}-libxenhypfs-dev \
|
|
${PN}-libxenlight \
|
|
${PN}-libxenlight-dev \
|
|
${PN}-libxenstat \
|
|
${PN}-libxenstat-dev \
|
|
${PN}-libxenstore \
|
|
${PN}-libxenstore-dev \
|
|
${PN}-libxentoolcore \
|
|
${PN}-libxentoolcore-dev \
|
|
${PN}-libxentoollog \
|
|
${PN}-libxentoollog-dev \
|
|
${PN}-libxenvchan \
|
|
${PN}-libxenvchan-dev \
|
|
${PN}-libxlutil \
|
|
${PN}-libxlutil-dev \
|
|
${PN}-livepatch \
|
|
${PN}-misc \
|
|
${PN}-pygrub \
|
|
${PN}-python \
|
|
${PN}-remus \
|
|
${PN}-scripts-block \
|
|
${PN}-scripts-common \
|
|
${PN}-scripts-network \
|
|
${PN}-shim \
|
|
${PN}-staticdev \
|
|
${PN}-ucode \
|
|
${PN}-vchan \
|
|
${PN}-volatiles \
|
|
${PN}-xcutils \
|
|
${PN}-xencommons \
|
|
${PN}-xencov \
|
|
${PN}-xend \
|
|
${PN}-xend-examples \
|
|
${PN}-xendomains \
|
|
${PN}-xenhypfs \
|
|
${PN}-xenmon \
|
|
${PN}-xenpaging \
|
|
${PN}-xenpmd \
|
|
${PN}-xenstat \
|
|
${PN}-xenstore \
|
|
${PN}-xenstored \
|
|
${PN}-xentrace \
|
|
${PN}-xen-watchdog \
|
|
${PN}-xl \
|
|
${PN}-xl-examples \
|
|
${PN}-xm \
|
|
${PN}-xm-examples \
|
|
${PN}-xen-access \
|
|
${PN}-xen-memshare \
|
|
"
|
|
|
|
PROVIDES =+ " \
|
|
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"
|
|
|
|
FILES:${PN}-dbg += "\
|
|
${libdir}/xen/bin/.debug \
|
|
${nonarch_libdir}/${PYTHON_DIR}/site-packages/.debug \
|
|
${nonarch_libdir}/${PYTHON_DIR}/site-packages/xen/lowlevel/.debug \
|
|
${libdir}/fs/xfs/.debug \
|
|
${libdir}/fs/ufs/.debug \
|
|
${libdir}/fs/ext2fs-lib/.debug \
|
|
${libdir}/fs/fat/.debug \
|
|
${libdir}/fs/zfs/.debug \
|
|
${libdir}/fs/reiserfs/.debug \
|
|
${libdir}/fs/iso9660/.debug \
|
|
${libdir}/fs/**/.debug \
|
|
${sbindir}/.debug \
|
|
${libdir}exec/.debug \
|
|
${libdir}/xen/libexec/.debug \
|
|
${bindir}/.debug \
|
|
${nonarch_libdir}/${PYTHON_DIR}/dist-packages/.debug \
|
|
${nonarch_libdir}/${PYTHON_DIR}/dist-packages/xen/lowlevel/.debug \
|
|
"
|
|
|
|
FILES:${PN}-dev = "\
|
|
${includedir} \
|
|
"
|
|
|
|
FILES:${PN}-doc = "\
|
|
${sysconfdir}/xen/README \
|
|
${sysconfdir}/xen/README.incompatibilities \
|
|
${datadir}/doc \
|
|
${datadir}/man \
|
|
"
|
|
|
|
FILES:${PN}-staticdev += "\
|
|
${libdir}/libxenguest.a \
|
|
${libdir}/libxenlight.a \
|
|
${libdir}/libxenvchan.a \
|
|
${libdir}/libxenctrl.a \
|
|
${libdir}/libxlutil.a \
|
|
${libdir}/libxenstat.a \
|
|
${libdir}/libxenstore.a \
|
|
"
|
|
|
|
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 = " \
|
|
${libdir}/libxenctrl.so \
|
|
${libdir}/pkgconfig/xencontrol.pc \
|
|
${datadir}/pkgconfig/xencontrol.pc \
|
|
"
|
|
|
|
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 = " \
|
|
${libdir}/libxenevtchn.so \
|
|
${libdir}/pkgconfig/xenevtchn.pc \
|
|
${datadir}/pkgconfig/xenevtchn.pc \
|
|
"
|
|
|
|
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 = " \
|
|
${libdir}/libxengnttab.so \
|
|
${libdir}/pkgconfig/xengnttab.pc \
|
|
${datadir}/pkgconfig/xengnttab.pc \
|
|
"
|
|
|
|
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 = " \
|
|
${libdir}/libxenhypfs.so \
|
|
${libdir}/pkgconfig/xenhypfs.pc \
|
|
"
|
|
|
|
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 = " \
|
|
${libdir}/libxenstat.so \
|
|
${libdir}/pkgconfig/xenstat.pc \
|
|
${datadir}/pkgconfig/xenstat.pc \
|
|
"
|
|
|
|
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 = " \
|
|
${libdir}/libxentoolcore.so \
|
|
${libdir}/pkgconfig/xentoolcore.pc \
|
|
${datadir}/pkgconfig/xentoolcore.pc \
|
|
"
|
|
|
|
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 = " \
|
|
${libdir}/libxenvchan.so \
|
|
${libdir}/pkgconfig/xenvchan.pc \
|
|
${datadir}/pkgconfig/xenvchan.pc \
|
|
"
|
|
|
|
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 = " \
|
|
${libdir}/libvhd.so \
|
|
${libdir}/pkgconfig/vhd.pc \
|
|
${datadir}/pkgconfig/vhd.pc \
|
|
"
|
|
|
|
FILES:${PN}-libfsimage = " \
|
|
${libdir}/libfsimage.so.* \
|
|
${libdir}/libxenfsimage.so.* \
|
|
"
|
|
|
|
FILES:${PN}-libfsimage-dev = " \
|
|
${libdir}/libfsimage.so \
|
|
${libdir}/libxenfsimage.so \
|
|
${libdir}/pkgconfig/fsimage.pc \
|
|
${datadir}/pkgconfig/fsimage.pc \
|
|
${libdir}/pkgconfig/xenfsimage.pc \
|
|
${datadir}/pkgconfig/xenfsimage.pc \
|
|
"
|
|
|
|
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} = "\
|
|
${sysconfdir}/xen/auto \
|
|
${sysconfdir}/xen/cpupool \
|
|
${localstatedir}/xen/dump \
|
|
"
|
|
|
|
FILES:${PN}-console = "\
|
|
${libdir}/xen/bin/xenconsole \
|
|
${sbindir}/xenconsoled \
|
|
"
|
|
|
|
FILES:${PN}-cpuid = "\
|
|
${bindir}/xen-cpuid \
|
|
"
|
|
|
|
FILES:${PN}-devd = "\
|
|
${sysconfdir}/init.d/xendriverdomain \
|
|
${systemd_unitdir}/system/xendriverdomain.service \
|
|
"
|
|
|
|
FILES:${PN}-flask = "\
|
|
/boot/xenpolicy-* \
|
|
"
|
|
|
|
FILES:${PN}-flask-tools = "\
|
|
${sbindir}/flask-get-bool \
|
|
${sbindir}/flask-getenforce \
|
|
${sbindir}/flask-label-pci \
|
|
${sbindir}/flask-loadpolicy \
|
|
${sbindir}/flask-set-bool \
|
|
${sbindir}/flask-setenforce \
|
|
"
|
|
|
|
FILES:${PN}-gdbsx = "\
|
|
${sbindir}/gdbsx \
|
|
"
|
|
|
|
INSANE_SKIP:${PN}-hvmloader = "arch"
|
|
FILES:${PN}-hvmloader = "\
|
|
${libdir}/xen/boot/hvmloader \
|
|
"
|
|
|
|
FILES:${PN}-kdd = "\
|
|
${sbindir}/kdd \
|
|
${sbindir}/xen-kdd \
|
|
"
|
|
|
|
FILES:${PN}-livepatch += " \
|
|
${sbindir}/xen-livepatch \
|
|
"
|
|
|
|
FILES:${PN}-misc = "\
|
|
${bindir}/xen-detect \
|
|
${libdir}/xen/bin/depriv-fd-checker \
|
|
${sbindir}/gtracestat \
|
|
${sbindir}/gtraceview \
|
|
${sbindir}/xen-bugtool \
|
|
${sbindir}/xenperf \
|
|
${sbindir}/xenpm \
|
|
${sbindir}/xsview \
|
|
${sbindir}/xen-diag \
|
|
${sbindir}/xen-tmem-list-parse \
|
|
${sbindir}/xen-python-path \
|
|
${sbindir}/xen-ringwatch \
|
|
${sbindir}/xen-hptool \
|
|
${sbindir}/xen-hvmcrash \
|
|
${sbindir}/xen-hvmctx \
|
|
${sbindir}/xenlockprof \
|
|
${sbindir}/xen-lowmemd \
|
|
${sbindir}/xen-mfndump \
|
|
${libdir}/xen/bin/verify-stream-v2 \
|
|
${libdir}/xen/bin/convert-legacy-stream \
|
|
"
|
|
|
|
FILES:${PN}-pygrub = "\
|
|
${bindir}/pygrub \
|
|
${libdir}/xen/bin/pygrub \
|
|
"
|
|
|
|
# Depending on the version of Xen libdir or nonarch libdir is used
|
|
FILES:${PN}-python = "\
|
|
${libdir}/${PYTHON_DIR} \
|
|
${nonarch_libdir}/${PYTHON_DIR} \
|
|
"
|
|
|
|
FILES:${PN}-remus = "\
|
|
${sysconfdir}/xen/scripts/remus-netbuf-setup \
|
|
"
|
|
|
|
FILES:${PN}-scripts-network = " \
|
|
${sysconfdir}/xen/scripts/colo-proxy-setup \
|
|
${sysconfdir}/xen/scripts/network-bridge \
|
|
${sysconfdir}/xen/scripts/network-nat \
|
|
${sysconfdir}/xen/scripts/network-route \
|
|
${sysconfdir}/xen/scripts/qemu-ifup \
|
|
${sysconfdir}/xen/scripts/vif2 \
|
|
${sysconfdir}/xen/scripts/vif-bridge \
|
|
${sysconfdir}/xen/scripts/vif-common.sh \
|
|
${sysconfdir}/xen/scripts/vif-nat \
|
|
${sysconfdir}/xen/scripts/vif-openvswitch \
|
|
${sysconfdir}/xen/scripts/vif-route \
|
|
${sysconfdir}/xen/scripts/vif-setup \
|
|
"
|
|
|
|
FILES:${PN}-scripts-block = " \
|
|
${sysconfdir}/xen/scripts/blktap \
|
|
${sysconfdir}/xen/scripts/block \
|
|
${sysconfdir}/xen/scripts/block-common.sh \
|
|
${sysconfdir}/xen/scripts/block-dummy \
|
|
${sysconfdir}/xen/scripts/block-enbd \
|
|
${sysconfdir}/xen/scripts/block-iscsi \
|
|
${sysconfdir}/xen/scripts/block-nbd \
|
|
${sysconfdir}/xen/scripts/block-drbd-probe \
|
|
${sysconfdir}/xen/scripts/block-tap \
|
|
${sysconfdir}/xen/scripts/vscsi \
|
|
"
|
|
|
|
FILES:${PN}-scripts-common = " \
|
|
${sysconfdir}/xen/scripts/external-device-migrate \
|
|
${sysconfdir}/xen/scripts/hotplugpath.sh \
|
|
${sysconfdir}/xen/scripts/locking.sh \
|
|
${sysconfdir}/xen/scripts/logging.sh \
|
|
${sysconfdir}/xen/scripts/xen-hotplug-cleanup \
|
|
${sysconfdir}/xen/scripts/xen-hotplug-common.sh \
|
|
${sysconfdir}/xen/scripts/xen-network-common.sh \
|
|
${sysconfdir}/xen/scripts/xen-script-common.sh \
|
|
"
|
|
|
|
INSANE_SKIP:${PN}-shim = "arch"
|
|
FILES:${PN}-shim = " \
|
|
${libdir}/xen/boot/xen-shim \
|
|
"
|
|
|
|
FILES:${PN}-ucode = "\
|
|
${sbindir}/xen-ucode \
|
|
"
|
|
|
|
FILES:${PN}-vchan = "\
|
|
${bindir}/vchan-socket-proxy \
|
|
"
|
|
|
|
FILES:${PN}-volatiles = "\
|
|
${sysconfdir}/default/volatiles/99_xen \
|
|
${sysconfdir}/tmpfiles.d/xen.conf \
|
|
"
|
|
|
|
FILES:${PN}-xcutils = "\
|
|
${libdir}/xen/bin/lsevtchn \
|
|
${libdir}/xen/bin/readnotes \
|
|
${libdir}/xen/bin/xc_restore \
|
|
${libdir}/xen/bin/xc_save \
|
|
"
|
|
|
|
FILES:${PN}-xencov = "\
|
|
${sbindir}/xencov \
|
|
"
|
|
|
|
FILES:${PN}-xend-examples = "\
|
|
${sysconfdir}/xen/xend-config.sxp \
|
|
${sysconfdir}/xen/xend-pci-permissive.sxp \
|
|
${sysconfdir}/xen/xend-pci-quirks.sxp \
|
|
"
|
|
|
|
FILES:${PN}-xenhypfs = "\
|
|
${sbindir}/xenhypfs \
|
|
"
|
|
|
|
FILES:${PN}-xenpaging = "\
|
|
${libdir}/xen/bin/xenpaging \
|
|
${localstatedir}/lib/xen/xenpaging \
|
|
"
|
|
|
|
FILES:${PN}-xenpmd = "\
|
|
${sbindir}/xenpmd \
|
|
"
|
|
|
|
FILES:${PN}-xenstat = "\
|
|
${sbindir}/xentop \
|
|
"
|
|
|
|
FILES:${PN}-xenstore = "\
|
|
${bindir}/xenstore \
|
|
${bindir}/xenstore-chmod \
|
|
${bindir}/xenstore-control \
|
|
${bindir}/xenstore-exists \
|
|
${bindir}/xenstore-list \
|
|
${bindir}/xenstore-ls \
|
|
${bindir}/xenstore-read \
|
|
${bindir}/xenstore-rm \
|
|
${bindir}/xenstore-watch \
|
|
${bindir}/xenstore-write \
|
|
"
|
|
|
|
FILES:${PN}-xenstored = "\
|
|
${sbindir}/xenstored \
|
|
${localstatedir}/lib/xenstored \
|
|
"
|
|
|
|
FILES:${PN}-xentrace = "\
|
|
${bindir}/xentrace \
|
|
${bindir}/xentrace_setsize \
|
|
${libdir}/xen/bin/xenctx \
|
|
${bindir}/xenalyze \
|
|
${sbindir}/xentrace \
|
|
${sbindir}/xentrace_setsize \
|
|
${sbindir}/xentrace_setmask \
|
|
"
|
|
|
|
FILES:${PN}-xen-watchdog = "\
|
|
${sbindir}/xenwatchdogd \
|
|
${sysconfdir}/init.d/xen-watchdog \
|
|
${systemd_unitdir}/system/xen-watchdog.service \
|
|
"
|
|
|
|
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 \
|
|
"
|
|
|
|
FILES:${PN}-xl-examples = "\
|
|
${sysconfdir}/xen/xlexample.hvm \
|
|
${sysconfdir}/xen/xlexample.pvlinux \
|
|
${sysconfdir}/xen/xlexample.pvhlinux \
|
|
"
|
|
|
|
FILES:${PN}-xm-examples = "\
|
|
${sysconfdir}/xen/xmexample1 \
|
|
${sysconfdir}/xen/xmexample2 \
|
|
${sysconfdir}/xen/xmexample3 \
|
|
${sysconfdir}/xen/xmexample.hvm \
|
|
${sysconfdir}/xen/xmexample.hvm-stubdom \
|
|
${sysconfdir}/xen/xmexample.nbd \
|
|
${sysconfdir}/xen/xmexample.pv-grub \
|
|
${sysconfdir}/xen/xmexample.vti \
|
|
"
|
|
|
|
FILES:${PN}-xenmon = "\
|
|
${sbindir}/xenbaked \
|
|
${sbindir}/xenmon.py \
|
|
${sbindir}/xenmon \
|
|
"
|
|
|
|
FILES:${PN}-xm = "\
|
|
${sysconfdir}/xen/xm-config.xml \
|
|
${datadir}/xen/create.dtd \
|
|
${sbindir}/xm \
|
|
"
|
|
|
|
FILES:${PN}-xencommons += "\
|
|
${sysconfdir}/default/xencommons \
|
|
${sysconfdir}/init.d/xencommons \
|
|
${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 \
|
|
"
|
|
|
|
FILES:${PN}-xend += " \
|
|
${sysconfdir}/init.d/xend \
|
|
${sbindir}/xend \
|
|
"
|
|
|
|
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"
|
|
|
|
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"
|
|
|
|
# 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 = " \
|
|
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"
|
|
|
|
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 \
|
|
"
|
|
|
|
do_configure() {
|
|
do_configure_common
|
|
}
|
|
|
|
do_compile() {
|
|
cd ${S}
|
|
oe_runmake tools PYTHON="${PYTHON}" \
|
|
EXTRA_CFLAGS_XEN_TOOLS="${EXTRA_CFLAGS_XEN_TOOLS}"
|
|
}
|
|
|
|
do_install() {
|
|
cd ${S}
|
|
oe_runmake DESTDIR="${D}" install-tools
|
|
|
|
# Remove unported python 2 scripts -- see the separate xen-python2 recipe
|
|
rm -f ${D}${bindir}/xentrace_format \
|
|
${D}${bindir}/xencons \
|
|
${D}${bindir}/xencov_split \
|
|
${D}${libdir}/xen/bin/xenpvnetboot
|
|
|
|
# remove installed volatiles
|
|
rm -rf ${D}${base_prefix}/run \
|
|
${D}${localstatedir}/run \
|
|
${D}${localstatedir}/lock \
|
|
${D}${localstatedir}/log \
|
|
${D}${localstatedir}/volatile \
|
|
${D}${localstatedir}/lib/xen
|
|
|
|
VOLATILE_DIRS=" \
|
|
${base_prefix}/run/xenstored \
|
|
${base_prefix}/run/xend \
|
|
${base_prefix}/run/xend/boot \
|
|
${base_prefix}/run/xen \
|
|
${localstatedir}/log/xen \
|
|
${localstatedir}/lock/xen \
|
|
${localstatedir}/lock/subsys \
|
|
${localstatedir}/lib/xen \
|
|
"
|
|
|
|
# install volatiles using populate_volatiles mechanism
|
|
install -d ${D}${sysconfdir}/default/volatiles
|
|
for i in $VOLATILE_DIRS; do
|
|
echo "d root root 0755 $i none" >> ${D}${sysconfdir}/default/volatiles/99_xen
|
|
done
|
|
|
|
# workaround for xendomains script which searchs sysconfig if directory exists
|
|
install -d ${D}${sysconfdir}/sysconfig
|
|
ln -sf ${sysconfdir}/default/xendomains ${D}${sysconfdir}/sysconfig/xendomains
|
|
|
|
# systemd
|
|
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
|
|
# install volatiles using systemd tmpfiles.d
|
|
install -d ${D}${sysconfdir}/tmpfiles.d
|
|
for i in $VOLATILE_DIRS; do
|
|
echo "d $i 0755 root root - -" >> ${D}${sysconfdir}/tmpfiles.d/xen.conf
|
|
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
|
|
}
|
|
|
|
pkg_postinst:${PN}-volatiles() {
|
|
if [ -z "$D" ]; then
|
|
if command -v systemd-tmpfiles >/dev/null; then
|
|
systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/xen.conf
|
|
elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
|
|
${sysconfdir}/init.d/populate-volatile.sh update
|
|
fi
|
|
fi
|
|
}
|
|
|
|
do_deploy() {
|
|
XEN_FULLVERSION=$(oe_runmake -C ${S}/xen xenversion --no-print-directory)
|
|
FLASK_POLICY_FILE="xenpolicy-${XEN_FULLVERSION}"
|
|
|
|
install -d ${DEPLOYDIR}
|
|
|
|
# Install the flask policy in the deploy directory if it exists
|
|
if [ -f ${D}/boot/${FLASK_POLICY_FILE} ]; then
|
|
install -m 0644 ${D}/boot/${FLASK_POLICY_FILE} ${DEPLOYDIR}
|
|
ln -sf ${FLASK_POLICY_FILE} ${DEPLOYDIR}/xenpolicy-${MACHINE}
|
|
fi
|
|
}
|
|
# Scheduling the do_deploy task:
|
|
# - deploy copies files from ${D} that are written during do_install so must run
|
|
# after that task
|
|
# - the tools binaries are included in the image filesystem, so we must ensure
|
|
# that the binaries deployed match what is staged in the sysroot:
|
|
# so do_deploy must run after do_populate_sysroot
|
|
# - add the task before do_build to ensure that deployment has completed when
|
|
# the recipe build done stamp is written
|
|
addtask deploy after do_install do_populate_sysroot before do_build
|