aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-extended/xen/xen.inc
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-extended/xen/xen.inc')
-rw-r--r--recipes-extended/xen/xen.inc1013
1 files changed, 56 insertions, 957 deletions
diff --git a/recipes-extended/xen/xen.inc b/recipes-extended/xen/xen.inc
index 628e52bc..dcd281b5 100644
--- a/recipes-extended/xen/xen.inc
+++ b/recipes-extended/xen/xen.inc
@@ -1,28 +1,21 @@
-DESCRIPTION = "Xen hypervisor"
HOMEPAGE = "http://xen.org"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
SECTION = "console/tools"
-LIC_FILES_CHKSUM = "file://COPYING;md5=bbb4b1bdc2c3b6743da3c39d03249095"
+TOOLCHAIN = "gcc"
-COMPATIBLE_HOST = '(x86_64.*).*-linux|aarch64.*-linux|arm-.*-linux-gnueabi'
-
-inherit autotools-brokensep setuptools update-rc.d systemd deploy
+inherit autotools-brokensep pkgconfig
require xen-arch.inc
PACKAGECONFIG ??= " \
- sdl \
${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \
- ${@bb.utils.contains('XEN_TARGET_ARCH', 'x86_64', 'hvm', '', d)} \
"
-FLASK_POLICY_FILE ?= "xenpolicy-${PV}"
-
-PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,virtual/libsdl,"
+PACKAGECONFIG[lzo] = ",,lzo"
PACKAGECONFIG[xsm] = "--enable-xsmpolicy,--disable-xsmpolicy,checkpolicy-native,"
PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd,"
-PACKAGECONFIG[hvm] = "--with-system-seabios="/usr/share/firmware/bios.bin",--disable-seabios,seabios ipxe vgabios,"
+PACKAGECONFIG[externalblktap] = ",,,"
DEPENDS = " \
${@bb.utils.contains('XEN_TARGET_ARCH', 'x86_64', 'dev86-native', '', d)} \
@@ -47,9 +40,8 @@ DEPENDS = " \
pciutils \
pixman \
procps \
- python \
+ python3 \
libaio \
- lzo \
util-linux \
xz \
yajl \
@@ -57,777 +49,6 @@ DEPENDS = " \
gnu-efi \
"
-# inherit setuptools adds python to RDEPENDS, override it
-RDEPENDS_${PN} = ""
-
-RDEPENDS_${PN}-base = "\
- 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 \
- ${PN}-xenstored \
- ${PN}-xl \
- "
-
-RDEPENDS_${PN}-dev = ""
-
-RRECOMMENDS_${PN}-base = " \
- ${PN}-blktap \
- ${PN}-libblktap \
- ${PN}-libblktapctl \
- ${PN}-libvhd \
- ${PN}-flask \
- ${PN}-hvmloader \
- ${PN}-shim \
- ${PN}-xenpaging \
- "
-
-RDEPENDS_${PN}-devd = " \
- ${PN}-xl \
- "
-
-RDEPENDS_${PN}-fsimage = " \
- libext2fs \
- "
-
-RDEPENDS_${PN}-misc = " \
- perl \
- python \
- "
-
-RDEPENDS_${PN}-remus = " \
- bash \
- python \
- "
-
-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 \
- "
-
-RDEPENDS_${PN}-xencommons = "\
- bash \
- ${PN}-console \
- ${PN}-xenstore \
- ${PN}-xenstored \
- ${PN}-xl \
- ${PN}-scripts-common \
- "
-
-RDEPENDS_${PN}-xendomains = "\
- bash \
- ${PN}-console \
- ${PN}-scripts-block \
- ${PN}-scripts-common \
- ${PN}-xenstored \
- "
-
-RDEPENDS_${PN}-xl = "libgcc"
-
-RDEPENDS_${PN}-xentrace = "python"
-
-RDEPENDS_${PN}-xen-watchdog = "bash"
-
-PACKAGES = "\
- ${PN}-base \
- ${PN}-blktap \
- ${PN}-console \
- ${PN}-cpuid \
- ${PN}-dbg \
- ${PN}-dev \
- ${PN}-devd \
- ${PN}-doc \
- ${PN}-efi \
- ${PN}-flask \
- ${PN}-flask-tools \
- ${PN}-fsimage \
- ${PN}-gdbsx \
- ${PN}-hvmloader \
- ${PN}-hypervisor \
- ${PN}-init-xenstore-dom \
- ${PN}-kdd \
- ${PN}-libblktap \
- ${PN}-libblktapctl \
- ${PN}-libblktapctl-dev \
- ${PN}-libblktap-dev \
- ${PN}-libfsimage \
- ${PN}-libfsimage-dev \
- ${PN}-libvhd \
- ${PN}-libvhd-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}-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}-qemu \
- ${PN}-remus \
- ${PN}-scripts-block \
- ${PN}-scripts-common \
- ${PN}-scripts-network \
- ${PN}-shim \
- ${PN}-staticdev \
- ${PN}-volatiles \
- ${PN}-xcutils \
- ${PN}-xencommons \
- ${PN}-xend \
- ${PN}-xend-examples \
- ${PN}-xendomains \
- ${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 \
- "
-
-FILES_${PN}-dbg += "\
- ${libdir}/.debug \
- ${libdir}/debug/* \
- ${libdir}/xen/bin/.debug \
- ${libdir}/python2.7/site-packages/.debug \
- ${libdir}/python2.7/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 \
- ${libdir}/python2.7/dist-packages/.debug \
- ${libdir}/python2.7/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}/libblktapctl.a \
- ${libdir}/libxenguest.a \
- ${libdir}/libxenlight.a \
- ${libdir}/libxenvchan.a \
- ${libdir}/libxenctrl.a \
- ${libdir}/libxlutil.a \
- ${libdir}/libvhd.a \
- ${libdir}/libxenstat.a \
- ${libdir}/libxenstore.a \
- ${libdir}/libblktap.a \
- "
-
-FILES_${PN}-libblktapctl = "${libdir}/libblktapctl.so.*"
-FILES_${PN}-libblktapctl-dev = " \
- ${libdir}/libblktapctl.so \
- ${libdir}/pkgconfig/xenblktapctl.pc \
- ${datadir}/pkgconfig/xenblktapctl.pc \
- "
-
-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}-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}-libblktap = "${libdir}/libblktap.so.*"
-FILES_${PN}-libblktap-dev = " \
- ${libdir}/libblktap.so \
- ${libdir}/pkgconfig/blktap.pc \
- ${datadir}/pkgconfig/blktap.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/*/*fsimage.so \
- ${libdir}/xenfsimage/*/fsimage.so \
- "
-
-FILES_${PN}-hypervisor = "\
- /boot/xen-* \
- /boot/xen \
- /boot/xen-*.gz \
- /boot/xen.gz \
- /boot/xen-syms-* \
- "
-
-FILES_${PN}-init-xenstore-dom = "${libdir}/xen/bin/init-xenstore-domain"
-
-FILES_${PN}-efi = "\
- ${exec_prefix}/lib64/efi/xen* \
- "
-
-FILES_${PN}-base = "\
- ${sysconfdir}/xen/auto \
- ${sysconfdir}/xen/cpupool \
- ${localstatedir}/xen/dump \
- "
-
-FILES_${PN}-blktap = "\
- ${sbindir}/blktapctrl \
- ${sbindir}/img2qcow \
- ${sbindir}/lock-util \
- ${sbindir}/qcow2raw \
- ${sbindir}/qcow-create \
- ${sbindir}/tap-ctl \
- ${sbindir}/tapdisk \
- ${sbindir}/tapdisk2 \
- ${sbindir}/tapdisk-client \
- ${sbindir}/tapdisk-diff \
- ${sbindir}/tapdisk-stream \
- ${sbindir}/td-util \
- ${sbindir}/vhd-update \
- ${sbindir}/vhd-util \
- "
-
-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/${FLASK_POLICY_FILE} \
- "
-
-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}/xencons \
- ${bindir}/xencov_split \
- ${bindir}/xen-detect \
- ${libdir}/xen/bin/xenpvnetboot \
- ${libdir}/xen/bin/depriv-fd-checker \
- ${sbindir}/gtracestat \
- ${sbindir}/gtraceview \
- ${sbindir}/xen-bugtool \
- ${sbindir}/xencov \
- ${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 \
- "
-
-FILES_${PN}-python = "\
- ${libdir}/python2.7 \
- "
-
-INSANE_SKIP_${PN} = "already-stripped"
-INSANE_SKIP_${PN}-qemu = "arch"
-FILES_${PN}-qemu = " \
- ${datadir}/xen/qemu \
- ${libdir}/xen/bin/qemu-system-i386 \
- ${libdir}/xen/bin/qemu-system-x86_64 \
- ${libdir}/xen/bin/qemu-img \
- ${libdir}/xen/bin/qemu-nbd \
- ${libdir}/xen/bin/qemu-ga \
- ${libdir}/xen/bin/qemu-io \
- ${libdir}/xen/bin/qemu-dm \
- ${libdir}/xen/bin/virtfs-proxy-helper \
- /usr/libexec/qemu-bridge-helper \
- ${libdir}/xen/libexec/qemu-bridge-helper \
- /usr/etc/qemu \
- /usr/etc/qemu/target-x86_64.conf \
- ${libdir}/xen/etc/qemu/target-x86_64.conf \
- ${datadir}/qemu-xen \
- ${datadir}/qemu-xen/qemu \
- ${datadir}/qemu-xen/qemu/bamboo.dtb \
- ${datadir}/qemu-xen/qemu/pxe-pcnet.rom \
- ${datadir}/qemu-xen/qemu/vgabios-vmware.bin \
- ${datadir}/qemu-xen/qemu/pxe-eepro100.rom \
- ${datadir}/qemu-xen/qemu/pxe-e1000.rom \
- ${datadir}/qemu-xen/qemu/openbios-ppc \
- ${datadir}/qemu-xen/qemu/multiboot.bin \
- ${datadir}/qemu-xen/qemu/vgabios-cirrus.bin \
- ${datadir}/qemu-xen/qemu/bios.bin \
- ${datadir}/qemu-xen/qemu/vgabios-stdvga.bin \
- ${datadir}/qemu-xen/qemu/palcode-clipper \
- ${datadir}/qemu-xen/qemu/pxe-ne2k_pci.rom \
- ${datadir}/qemu-xen/qemu/spapr-rtas.bin \
- ${datadir}/qemu-xen/qemu/slof.bin \
- ${datadir}/qemu-xen/qemu/vgabios-qxl.bin \
- ${datadir}/qemu-xen/qemu/pxe-rtl8139.rom \
- ${datadir}/qemu-xen/qemu/openbios-sparc64 \
- ${datadir}/qemu-xen/qemu/pxe-virtio.rom \
- ${datadir}/qemu-xen/qemu/kvmvapic.bin \
- ${datadir}/qemu-xen/qemu/openbios-sparc32 \
- ${datadir}/qemu-xen/qemu/petalogix-s3adsp1800.dtb \
- ${datadir}/qemu-xen/qemu/sgabios.bin \
- ${datadir}/qemu-xen/qemu/linuxboot.bin \
- ${datadir}/qemu-xen/qemu/qemu-icon.bmp \
- ${datadir}/qemu-xen/qemu/ppc_rom.bin \
- ${datadir}/qemu-xen/qemu/vgabios.bin \
- ${datadir}/qemu-xen/qemu/s390-zipl.rom \
- ${datadir}/qemu-xen/qemu/petalogix-ml605.dtb \
- ${datadir}/qemu-xen/qemu/keymaps \
- ${datadir}/qemu-xen/qemu/keymaps/common \
- ${datadir}/qemu-xen/qemu/keymaps/th \
- ${datadir}/qemu-xen/qemu/keymaps/is \
- ${datadir}/qemu-xen/qemu/keymaps/en-gb \
- ${datadir}/qemu-xen/qemu/keymaps/ar \
- ${datadir}/qemu-xen/qemu/keymaps/fr-be \
- ${datadir}/qemu-xen/qemu/keymaps/ru \
- ${datadir}/qemu-xen/qemu/keymaps/hu \
- ${datadir}/qemu-xen/qemu/keymaps/de-ch \
- ${datadir}/qemu-xen/qemu/keymaps/no \
- ${datadir}/qemu-xen/qemu/keymaps/fr \
- ${datadir}/qemu-xen/qemu/keymaps/pl \
- ${datadir}/qemu-xen/qemu/keymaps/fr-ca \
- ${datadir}/qemu-xen/qemu/keymaps/de \
- ${datadir}/qemu-xen/qemu/keymaps/fr-ch \
- ${datadir}/qemu-xen/qemu/keymaps/bepo \
- ${datadir}/qemu-xen/qemu/keymaps/lv \
- ${datadir}/qemu-xen/qemu/keymaps/ja \
- ${datadir}/qemu-xen/qemu/keymaps/da \
- ${datadir}/qemu-xen/qemu/keymaps/lt \
- ${datadir}/qemu-xen/qemu/keymaps/hr \
- ${datadir}/qemu-xen/qemu/keymaps/es \
- ${datadir}/qemu-xen/qemu/keymaps/modifiers \
- ${datadir}/qemu-xen/qemu/keymaps/sl \
- ${datadir}/qemu-xen/qemu/keymaps/it \
- ${datadir}/qemu-xen/qemu/keymaps/nl \
- ${datadir}/qemu-xen/qemu/keymaps/fo \
- ${datadir}/qemu-xen/qemu/keymaps/mk \
- ${datadir}/qemu-xen/qemu/keymaps/pt-br \
- ${datadir}/qemu-xen/qemu/keymaps/tr \
- ${datadir}/qemu-xen/qemu/keymaps/sv \
- ${datadir}/qemu-xen/qemu/keymaps/fi \
- ${datadir}/qemu-xen/qemu/keymaps/en-us \
- ${datadir}/qemu-xen/qemu/keymaps/et \
- ${datadir}/qemu-xen/qemu/keymaps/nl-be \
- ${datadir}/qemu-xen/qemu/keymaps/pt \
- ${bindir}/qemu-nbd-xen \
- ${bindir}/qemu-img-xen \
- "
-
-FILES_${PN}-remus = "\
- ${bindir}/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}-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}-xend-examples = "\
- ${sysconfdir}/xen/xend-config.sxp \
- ${sysconfdir}/xen/xend-pci-permissive.sxp \
- ${sysconfdir}/xen/xend-pci-quirks.sxp \
- "
-
-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_format \
- ${bindir}/xentrace_setsize \
- ${libdir}/xen/bin/xenctx \
- ${bindir}/xenalyze \
- ${sbindir}/xentrace \
- ${sbindir}/xentrace_setsize \
- "
-
-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}/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 \
- "
-
-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}/xentrace_setmask \
- ${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 \
- "
-
-# 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"
-
#### REQUIRED ENVIRONMENT VARIABLES ####
export BUILD_SYS
export HOST_SYS
@@ -852,8 +73,8 @@ libexecdir = "${libdir}"
export XEN_OS = "Linux"
# this is used for the header (#!${bindir}/python) of the install python scripts
-export PYTHONPATH="${bindir}/python"
-export ac_cv_path_PYTHONPATH="${bindir}/python"
+export PYTHONPATH="${bindir}/env python3"
+export ac_cv_path_PYTHONPATH="${bindir}/env python3"
export DISTUTILS_BUILD_ARGS
export DISTUTILS_INSTALL_ARGS
@@ -867,38 +88,56 @@ export CROSS_COMPILE="${TARGET_PREFIX}"
# overide LDFLAGS to allow xen to build without: "x86_64-oe-linux-ld: unrecognized option '-Wl,-O1'"
export LDFLAGS=""
-# Yocto injects -mfpmath=sse for some machine types into the CFLAGS which
-# conflicts with -mno-sse so instead we strip -mfpmath=sse instead of
-# patching the build to be ok with this
-TUNE_CCARGS := "${@oe.utils.str_filter_out('-mfpmath=sse', '${TUNE_CCARGS}', d)}"
-TUNE_CCARGS := "${@oe.utils.str_filter_out('-msse4.2', '${TUNE_CCARGS}', d)}"
-
-# Supply the full set of compiler flags via the tool variables
-# Yocto supplys _FORTIFY_SOURCE via CC/CPP/CXX but optimization -O via C*FLAGS
-CC_append = " ${CFLAGS}"
-CPP_append = " ${CPPFLAGS}"
-CXX_append = " ${CXXFLAGS}"
+# No additional C flags for the main hypervisor build
+EXTRA_CFLAGS_XEN_CORE ?= ""
+# Add prefix maps to support buildpaths QA test and reproducibility
+DEBUG_PREFIX_MAP:append = " \
+ -ffile-prefix-map=${S}=${PN}-source \
+ -fdebug-prefix-map=${WORKDIR}=${PN} \
+ "
+
+# - The Xen tools build for x86 systems with HVM-mode enabled includes hvmloader
+# which fails to build when "-m64" is included in flags set via the
+# EXTRA_CFLAGS_XEN_TOOLS: so clear TUNE_CCARGS on x86 to prevent that.
+TUNE_CCARGS:x86-64=""
+
+# - Yocto supplies the _FORTIFY_SOURCE flag via CC/CPP/CXX but then passes the
+# optimization -O via C*FLAGS which is problematic when the CFLAGS are cleared
+# within the build because compilation fails with the compiler stating
+# "_FORTIFY_SOURCE requires compiling with optimization (-O)".
+# - Move HOST_CC_ARCH into the Xen-provided CFLAGS variables and keep
+# TOOLCHAIN_OPTIONS set via CC: this enables hvmloader to be built correctly.
+# It must not be compiled with SSE compiler options enabled and the Xen build
+# explicitly clears CFLAGS to ensure that, so such options must not be passed
+# in via the tool variable. hvmloader is required to run HVM-mode guest VMs.
+CC="${CCACHE}${HOST_PREFIX}gcc ${TOOLCHAIN_OPTIONS} ${DEBUG_PREFIX_MAP} ${CC_REPRODUCIBLE_OPTIONS}"
+EXTRA_CFLAGS_XEN_TOOLS="${HOST_CC_ARCH} ${CFLAGS}"
+# 32-bit ARM needs the TUNE_CCARGS component of HOST_CC_ARCH to be passed
+# in CC to ensure that configure can compile binaries for the right arch.
+CC:arm="${CCACHE}${HOST_PREFIX}gcc ${TUNE_CCARGS} ${TOOLCHAIN_OPTIONS} ${DEBUG_PREFIX_MAP} ${CC_REPRODUCIBLE_OPTIONS}"
+
+# There are no Xen-provided variables for C++, so append to the tool variables:
+CPP:append = " ${CPPFLAGS}"
+CXX:append = " ${CXXFLAGS}"
EXTRA_OECONF += " \
--exec-prefix=${prefix} \
--prefix=${prefix} \
--host=${HOST_SYS} \
- --with-systemd=${systemd_unitdir}/system \
- --with-systemd-modules-load=${systemd_unitdir}/modules-load.d \
--disable-stubdom \
--disable-ioemu-stubdom \
--disable-pv-grub \
--disable-xenstore-stubdom \
--disable-rombios \
--disable-ocamltools \
- --with-initddir=${INIT_D_DIR} \
- --with-sysconfig-leaf-dir=default \
- --with-system-qemu=/usr/bin/qemu-system-i386 \
--disable-qemu-traditional \
+ ${@bb.utils.contains('XEN_TARGET_ARCH', 'x86_64', \
+ '--enable-pvshim --with-system-seabios="/usr/share/firmware/bios.bin"', \
+ '--disable-pvshim --disable-seabios', d)} \
"
-EXTRA_OEMAKE += "STDVGA_ROM=${STAGING_DIR_HOST}/usr/share/firmware/vgabios-0.7a.bin"
-EXTRA_OEMAKE += "CIRRUSVGA_ROM=${STAGING_DIR_HOST}/usr/share/firmware/vgabios-0.7a.cirrus.bin"
+EXTRA_OEMAKE += "STDVGA_ROM=${STAGING_DIR_HOST}/usr/share/firmware/vgabios-0.8a.bin"
+EXTRA_OEMAKE += "CIRRUSVGA_ROM=${STAGING_DIR_HOST}/usr/share/firmware/vgabios-0.8a.cirrus.bin"
EXTRA_OEMAKE += "SEABIOS_ROM=${STAGING_DIR_HOST}/usr/share/firmware/bios.bin"
EXTRA_OEMAKE += "ETHERBOOT_ROMS=${STAGING_DIR_HOST}/usr/share/firmware/rtl8139.rom"
@@ -920,10 +159,8 @@ EXTRA_OEMAKE += "${@['', 'XEN_WHOAMI=${PF} XEN_DOMAIN=${DISTRO} XEN_BUILD_HOST=$
[d.getVar('BUILD_REPRODUCIBLE_BINARIES') == '1']}${@get_build_time_vars(d)}"
# Improve build reproducibility: compiler flags to remove filesystem differences.
-# Suppress __FILE__ via an alternative builtin.
-CC += "${@['', '-gno-record-gcc-switches -Wno-builtin-macro-redefined -D__FILE__=__VERSION__ ' + \
- '-fdebug-prefix-map=${WORKDIR}=${PN}'] \
- [d.getVar('BUILD_REPRODUCIBLE_BINARIES') == '1']}"
+CC_REPRODUCIBLE_OPTIONS = "${@['', '-gno-record-gcc-switches'] \
+ [d.getVar('BUILD_REPRODUCIBLE_BINARIES') == '1']}"
# check for XSM in package config to allow XSM_ENABLE to be set
python () {
@@ -955,28 +192,8 @@ do_post_patch() {
fi
}
-do_post_patch_append_arm() {
- # The hypervisor binary must not be built with the hard floating point ABI.
- echo "CC := \$(filter-out ${TUNE_CCARGS},\$(CC))" >> ${B}/xen/arch/arm/Rules.mk
-}
-
addtask post_patch after do_patch before do_configure
-do_stubs() {
- # no stubs-32.h in our 64-bit sysroot - hack it into tools/include/gnu
- if ! test -f ${STAGING_DIR_TARGET}/usr/include/gnu/stubs-32.h ; then
- if test -f ${STAGING_DIR_TARGET}/usr/include/gnu/stubs-64.h ; then
- test -d ${S}/tools/include/gnu || mkdir ${S}/tools/include/gnu
- 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
- echo \#define __stub___kernel_cosl >> ${S}/tools/include/gnu/stubs-32.h
- echo \#define __stub___kernel_sinl >> ${S}/tools/include/gnu/stubs-32.h
- echo \#define __stub___kernel_tanl >> ${S}/tools/include/gnu/stubs-32.h
- fi
- fi
-}
-
-addtask stubs after do_configure before do_compile
-
# Allow all hypervisor settings in a defconfig
EXTRA_OEMAKE += "XEN_CONFIG_EXPERT=y"
# Build release versions always. Technically since we track release
@@ -984,7 +201,8 @@ EXTRA_OEMAKE += "XEN_CONFIG_EXPERT=y"
# from staging that reverts this
EXTRA_OEMAKE += "debug=n"
-do_configure() {
+do_configure_common() {
+ cd ${S}
#./configure --enable-xsmpolicy does not set XSM_ENABLE must be done manually
if [ "${XSM_ENABLED}" = "1" ]; then
@@ -992,145 +210,26 @@ do_configure() {
fi
if [ -f "${WORKDIR}/defconfig" ]; then
- cp "${WORKDIR}/defconfig" "${B}/xen/.config" || \
+ cp "${WORKDIR}/defconfig" "${S}/xen/.config" || \
bbfatal "Unable to copy defconfig to .config"
fi
+ unset CFLAGS
+
# do configure
- oe_runconf
- if [ ! -e ${STAGING_INCDIR}/bits/long-double-32.h ]; then
- cp ${STAGING_INCDIR}/bits/long-double-64.h ${STAGING_INCDIR}/bits/long-double-32.h
- fi
+ oe_runconf EXTRA_CFLAGS_XEN_CORE="${EXTRA_CFLAGS_XEN_CORE}" \
+ EXTRA_CFLAGS_XEN_TOOLS="${EXTRA_CFLAGS_XEN_TOOLS}" \
+ PYTHON="${PYTHON}"
}
-do_compile() {
+do_compile:prepend() {
# workaround for build bug when CFLAGS is exported
# https://www.mail-archive.com/xen-devel@lists.xen.org/msg67822.html
unset CFLAGS
-
- # Workaround for parallel build bug: build xen first.
- # https://lists.xenproject.org/archives/html/xen-devel/2018-07/msg02551.html
- oe_runmake xen
- oe_runmake
}
-do_install() {
+do_install:prepend() {
# CFLAGS is used to set PY_CFLAGS which affects the pygrub install
# so also need to unset CFLAGS here:
unset CFLAGS
- oe_runmake DESTDIR="${D}" install
-
- # 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() {
- install -d ${DEPLOYDIR}
-
- if [ -f ${D}/boot/xen ]; then
- install -m 0644 ${D}/boot/xen ${DEPLOYDIR}/xen-${MACHINE}
- fi
-
- if [ -f ${D}/boot/xen.gz ]; then
- install -m 0644 ${D}/boot/xen.gz ${DEPLOYDIR}/xen-${MACHINE}.gz
- fi
-
- if [ -f ${D}/usr/lib64/efi/xen.efi ]; then
- install -m 0644 ${D}/usr/lib64/efi/xen.efi ${DEPLOYDIR}/xen-${MACHINE}.efi
- fi
-
- # 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
-}
-
-addtask deploy after do_populate_sysroot
-
-# Enable use of menuconfig directly from bitbake and also within the devshell
-OE_TERMINAL_EXPORTS += "HOST_EXTRACFLAGS HOSTLDFLAGS TERMINFO"
-HOST_EXTRACFLAGS = "${BUILD_CFLAGS} ${BUILD_LDFLAGS}"
-HOSTLDFLAGS = "${BUILD_LDFLAGS}"
-TERMINFO = "${STAGING_DATADIR_NATIVE}/terminfo"
-do_devshell[depends] += "ncurses-native:do_populate_sysroot"
-
-KCONFIG_CONFIG_COMMAND ??= "menuconfig"
-python do_menuconfig() {
- import shutil
-
- try:
- mtime = os.path.getmtime("xen/.config")
- shutil.copy("xen/.config", "xen/.config.orig")
- except OSError:
- mtime = 0
-
- 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'),
- d.getVar('PN') + ' Configuration', d)
-
- try:
- newmtime = os.path.getmtime("xen/.config")
- except OSError:
- newmtime = 0
-
- if newmtime > mtime:
- bb.note("Configuration changed, recompile will be forced")
- bb.build.write_taint('do_compile', d)
}
-do_menuconfig[depends] += "ncurses-native:do_populate_sysroot"
-do_menuconfig[nostamp] = "1"
-do_menuconfig[dirs] = "${B}"
-addtask menuconfig after do_configure