diff options
Diffstat (limited to 'recipes-extended/xen/xen-tools.inc')
-rw-r--r-- | recipes-extended/xen/xen-tools.inc | 56 |
1 files changed, 33 insertions, 23 deletions
diff --git a/recipes-extended/xen/xen-tools.inc b/recipes-extended/xen/xen-tools.inc index 6e25046e..5f010a5d 100644 --- a/recipes-extended/xen/xen-tools.inc +++ b/recipes-extended/xen/xen-tools.inc @@ -24,20 +24,16 @@ RDEPENDS:${PN} = "\ ${PN}-xencommons \ ${PN}-xendomains \ ${PN}-xenstore \ - virtual/xenstored \ + 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)} \ + 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 \ @@ -105,7 +101,7 @@ RDEPENDS:${PN}-xencommons = "\ util-linux-prlimit \ ${PN}-console \ ${PN}-xenstore \ - virtual/xenstored \ + virtual-xenstored \ ${PN}-xl \ ${PN}-scripts-common \ " @@ -115,7 +111,7 @@ RDEPENDS:${PN}-xendomains = "\ ${PN}-console \ ${PN}-scripts-block \ ${PN}-scripts-common \ - virtual/xenstored \ + virtual-xenstored \ " RDEPENDS:${PN}-xenhypfs = " \ @@ -220,13 +216,13 @@ PACKAGES = " \ " 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 += "\ ${libdir}/xen/bin/.debug \ @@ -621,6 +617,7 @@ FILES:${PN}-xl = "\ ${libdir}/xen/bin/libxl-save-helper \ ${sbindir}/xl \ ${libdir}/xen/bin/xen-init-dom0 \ + ${libdir}/xen/bin/init-dom0less \ " FILES:${PN}-xl-examples = "\ @@ -655,14 +652,15 @@ FILES:${PN}-xm = "\ 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}/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 += " \ @@ -693,6 +691,7 @@ FILES:${PN}-test += "\ ${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 @@ -716,7 +715,8 @@ 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_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" @@ -734,7 +734,6 @@ 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 \ @@ -807,13 +806,24 @@ 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() { |