From 434d713861b70f6c6563d6ee50a8e64f14c970d9 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Thu, 15 Feb 2018 16:58:00 +0000 Subject: gentoo resync : 15.02.2018 --- app-emulation/Manifest.gz | Bin 19041 -> 19026 bytes app-emulation/cloud-init/Manifest | 2 + app-emulation/cloud-init/cloud-init-17.2.ebuild | 80 ++ app-emulation/containerd/Manifest | 2 + app-emulation/containerd/containerd-1.0.2.ebuild | 52 ++ app-emulation/kompose/Manifest | 4 +- app-emulation/kompose/kompose-1.7.0.ebuild | 30 - app-emulation/kompose/kompose-1.9.0.ebuild | 30 + app-emulation/libvirt/Manifest | 10 +- .../libvirt-3.0.0-fix_paths_for_apparmor.patch | 79 -- .../files/libvirt-3.8.0-CVE-2017-1000256.patch | 74 -- app-emulation/libvirt/libvirt-3.10.0-r2.ebuild | 382 ---------- app-emulation/libvirt/libvirt-3.8.0-r1.ebuild | 381 ---------- app-emulation/libvirt/libvirt-4.0.0.ebuild | 4 +- app-emulation/libvirt/libvirt-9999.ebuild | 2 +- app-emulation/nemu/Manifest | 3 +- app-emulation/nemu/metadata.xml | 5 + app-emulation/nemu/nemu-9999.ebuild | 74 ++ app-emulation/qemu-guest-agent/Manifest | 8 +- .../qemu-guest-agent-2.11.0.ebuild | 82 +++ .../qemu-guest-agent/qemu-guest-agent-2.6.0.ebuild | 83 --- .../qemu-guest-agent/qemu-guest-agent-2.8.1.ebuild | 82 --- .../qemu-guest-agent/qemu-guest-agent-2.9.0.ebuild | 82 --- app-emulation/qemu/Manifest | 12 +- .../qemu/files/qemu-2.10.1-CVE-2017-15268.patch | 54 -- .../qemu/files/qemu-2.10.1-CVE-2017-15289.patch | 58 -- .../qemu/files/qemu-2.11.0-glibc-2.27.patch | 54 ++ .../qemu/files/qemu-2.11.9999-cflags.patch | 24 + app-emulation/qemu/qemu-2.10.1-r1.ebuild | 800 -------------------- app-emulation/qemu/qemu-2.11.0-r50.ebuild | 804 +++++++++++++++++++++ app-emulation/qemu/qemu-2.11.0.ebuild | 803 ++++++++++++++++++++ app-emulation/qemu/qemu-9999.ebuild | 11 +- app-emulation/runc/Manifest | 4 +- app-emulation/runc/runc-1.0.0_rc2-r2.ebuild | 59 -- app-emulation/runc/runc-1.0.0_rc4.ebuild | 4 +- app-emulation/spice/Manifest | 6 +- .../spice/files/spice-0.14.0-libressl_fix.patch | 13 + .../spice/files/spice-0.14.0-openssl1.1_fix.patch | 26 + app-emulation/spice/spice-0.13.90.ebuild | 97 --- app-emulation/spice/spice-0.14.0.ebuild | 100 +++ app-emulation/vagrant/Manifest | 4 +- app-emulation/vagrant/vagrant-1.9.8.ebuild | 81 --- app-emulation/vagrant/vagrant-2.0.2.ebuild | 79 ++ app-emulation/virt-manager/Manifest | 10 +- .../virt-manager/virt-manager-1.4.0-r3.ebuild | 104 --- .../virt-manager/virt-manager-1.4.1.ebuild | 95 --- .../virt-manager/virt-manager-1.4.2.ebuild | 96 --- .../virt-manager/virt-manager-1.5.0.ebuild | 96 +++ .../virt-manager/virt-manager-9999.ebuild | 9 +- app-emulation/virt-viewer/Manifest | 4 +- app-emulation/virt-viewer/virt-viewer-4.0.ebuild | 36 - app-emulation/virt-viewer/virt-viewer-6.0.ebuild | 4 +- 52 files changed, 2370 insertions(+), 2728 deletions(-) create mode 100644 app-emulation/cloud-init/cloud-init-17.2.ebuild create mode 100644 app-emulation/containerd/containerd-1.0.2.ebuild delete mode 100644 app-emulation/kompose/kompose-1.7.0.ebuild create mode 100644 app-emulation/kompose/kompose-1.9.0.ebuild delete mode 100644 app-emulation/libvirt/files/libvirt-3.0.0-fix_paths_for_apparmor.patch delete mode 100644 app-emulation/libvirt/files/libvirt-3.8.0-CVE-2017-1000256.patch delete mode 100644 app-emulation/libvirt/libvirt-3.10.0-r2.ebuild delete mode 100644 app-emulation/libvirt/libvirt-3.8.0-r1.ebuild create mode 100644 app-emulation/nemu/nemu-9999.ebuild create mode 100644 app-emulation/qemu-guest-agent/qemu-guest-agent-2.11.0.ebuild delete mode 100644 app-emulation/qemu-guest-agent/qemu-guest-agent-2.6.0.ebuild delete mode 100644 app-emulation/qemu-guest-agent/qemu-guest-agent-2.8.1.ebuild delete mode 100644 app-emulation/qemu-guest-agent/qemu-guest-agent-2.9.0.ebuild delete mode 100644 app-emulation/qemu/files/qemu-2.10.1-CVE-2017-15268.patch delete mode 100644 app-emulation/qemu/files/qemu-2.10.1-CVE-2017-15289.patch create mode 100644 app-emulation/qemu/files/qemu-2.11.0-glibc-2.27.patch create mode 100644 app-emulation/qemu/files/qemu-2.11.9999-cflags.patch delete mode 100644 app-emulation/qemu/qemu-2.10.1-r1.ebuild create mode 100644 app-emulation/qemu/qemu-2.11.0-r50.ebuild create mode 100644 app-emulation/qemu/qemu-2.11.0.ebuild delete mode 100644 app-emulation/runc/runc-1.0.0_rc2-r2.ebuild create mode 100644 app-emulation/spice/files/spice-0.14.0-libressl_fix.patch create mode 100644 app-emulation/spice/files/spice-0.14.0-openssl1.1_fix.patch delete mode 100644 app-emulation/spice/spice-0.13.90.ebuild create mode 100644 app-emulation/spice/spice-0.14.0.ebuild delete mode 100644 app-emulation/vagrant/vagrant-1.9.8.ebuild create mode 100644 app-emulation/vagrant/vagrant-2.0.2.ebuild delete mode 100644 app-emulation/virt-manager/virt-manager-1.4.0-r3.ebuild delete mode 100644 app-emulation/virt-manager/virt-manager-1.4.1.ebuild delete mode 100644 app-emulation/virt-manager/virt-manager-1.4.2.ebuild create mode 100644 app-emulation/virt-manager/virt-manager-1.5.0.ebuild delete mode 100644 app-emulation/virt-viewer/virt-viewer-4.0.ebuild (limited to 'app-emulation') diff --git a/app-emulation/Manifest.gz b/app-emulation/Manifest.gz index 663c53dd9e3c..8ae58a31e7bd 100644 Binary files a/app-emulation/Manifest.gz and b/app-emulation/Manifest.gz differ diff --git a/app-emulation/cloud-init/Manifest b/app-emulation/cloud-init/Manifest index ff5c6374b15f..4a837ec10069 100644 --- a/app-emulation/cloud-init/Manifest +++ b/app-emulation/cloud-init/Manifest @@ -11,6 +11,7 @@ DIST cloud-init-0.7.7.tar.gz 477287 BLAKE2B eade80cff35e545a619f7d0beafadde14577 DIST cloud-init-0.7.8.tar.gz 508777 BLAKE2B 7b5b3f1b5f28b6a4ba67ef30cbbb32e1a1eb21a373da5491a7157f45553843de68b56e040ec9f07a2ca35a0bbf9fdd5f90d0ef381d2da558422080de3da0299d SHA512 ff6c3837afe702359879f0ae1d7443247b0ed97d60ecf0cbe85fc364dc833e553962aae221f48becb104ad3f951a28cbd742a3b8521ef25dfb8fd19439759447 DIST cloud-init-0.7.9.tar.gz 602188 BLAKE2B c2e2b8538488474cd4674b976f859164f0ab8ed585fc0b59c6e75f23a62fd035b8b76e0700c1e68893fc4a8346b3110ff2b25f13be92ff13eeac0f1ad2405641 SHA512 ee52909f634f51dcf9e1229a8f49faa8c562bf05b69fac108fcc80cb3217f4364a33cf696df015e4dcd7887c68cf6108729850648b4daee07b3d3247ca3cc5b1 DIST cloud-init-17.1.tar.gz 780532 BLAKE2B 10809da2e81d594542d83b2416481c493474cac2e790da25363e631f6dae9edc1e2fd160708121486dd3a2ebd19cfc29d18978cbe7d82eb1aec907762bf7bf0b SHA512 988cae4291c8d6a5bce012b78d651c602c02ad38c3790e9ed9aa7c815ae84c98767718ab9b0d346ddbc9c83cb886d455590128af750183618c0bf0f0c5a79564 +DIST cloud-init-17.2.tar.gz 810821 BLAKE2B df1a7c1ed1fc48a7801a53bd89839d963debca6abf7f892d61bf7ec9222ab33bf78221e65d79028e0445cac4c5fe1e0c1620d49aea26c036ee17933d9c1893f5 SHA512 ad1c7f6ca9762b70a1f06a6b538032a7de0c5371fd792260d5959df113f4f51509d184b2207ffa23b41f395c1903d551d66aaf2a2ad60af3594cf1f18d1e4a38 EBUILD cloud-init-0.7.6-r1.ebuild 2585 BLAKE2B c2f9bd34d430b99f8b78be2c4d2cb8b5ca7613ab71ec02c8e21c4001b35f3c16d637243e93f55a872f7e4ab7b0c990bf78abc36c3a3e822389a191a57e005c2c SHA512 0c82e788cacd91e923ff57c240a3615c20157d2a4ba1fdf7d28eb6f0e9f7c55b64b3ef321dc1f2cadd40e47128d2ef0854f3488fe7aabf5cdcf3f8b326eb6ad8 EBUILD cloud-init-0.7.6-r2.ebuild 1922 BLAKE2B c67031dd3b9e131e48a568fe4e97a8059d715be3f8721ec0f6c7dce60c6b089df8c27efc0901a50ad111f9b1a590833c449fca99fe7e19d5b8925d936dd4a19d SHA512 a3e22b4b2985670b8de5fe9af2f2ef16df626a3b3acfdf1d1656f247e44ae91b9629fc693829beb7ea931be38509b418c52f5257f24d1f02045f97735c8ff8f3 EBUILD cloud-init-0.7.6_p1212-r1.ebuild 1989 BLAKE2B da729eef70d23a2a0df1bfdb28d74714ced55a097c8dcc2eb0c25d8d6e9acb57651340ca4d8190f100ca5fe0dcb8eee674e7e513bb8b50772383ef12fd23f11c SHA512 4e71e5ff1b4a2ea8bf600d627911f7eb197d5f90f354e553996388bdef13309ceecab732b168e1f4c3bd8d5fa3dfa736a34bc535eedb55ffe6c23a6b1eb873ce @@ -19,5 +20,6 @@ EBUILD cloud-init-0.7.7.ebuild 2399 BLAKE2B 54d7784a165c51d994259e70367551addbb0 EBUILD cloud-init-0.7.8-r2.ebuild 2547 BLAKE2B b508988c338b35cbb4866957fae9a215c53effbdaa5f1c0845e64747296bb5747c3f960bb0f7928e2b26f1d1fb6bb585fab947fe7b2cbdf40e849f2c629c2433 SHA512 972a04cc2c359f7271960820f4212ae1afc13def893b5bd87efe8ed30dd5f03f7219c008c9c7806f918eb7dbe3609e3c0407b7c0d5d5ad66b568abd2361ce2ec EBUILD cloud-init-0.7.9.ebuild 2542 BLAKE2B 3f13fa11cc65dd9f2cf1bde72541ed07d4b2991fd010437eabbc70fb8180ed71d06d00781a4679ac7ecbb77d912a74dbb56684ca90cbe97001d348efbd2a138f SHA512 11db9733a73ca6ca53189b2f768e08a471a00adb419d96b00d7a64731299aa43fe45f6b4a03e1ebe16ce7d58316b06eb96933a83b99cb19bd6a6b2453278220d EBUILD cloud-init-17.1.ebuild 2014 BLAKE2B 544f5fca45a28b2d1cece53fcbf2397c54cb56e65e0dbb368b78a4f0c08d5d4c84af7436710e4d3e666adf12c6d00f7947bc2de8c7ff5345d158c99a46b4271d SHA512 5dcbc40adbef50088e66e021ca4200293a6f044ed853dc2e1675a68a63d875ce1580d8bda4fe0c74de9738ff09931f3bf56efbad235bed57d81a5c30a9d19cef +EBUILD cloud-init-17.2.ebuild 1964 BLAKE2B 0fdf3b22c6d01dc957fcf2086f94f7e988ed0b6d7ac0fe58b186a3de0e8c05eef541091bb65497b3d6ca47579f33790b71747ff7ca190ecfbdc857759a96cc03 SHA512 2c1839f5dd324714faded2bd02c7187938f33b3f7e995dbbf7440aa9654705693b272a09470ef8837e56711ee7c0d39abafb65ef8a67c47687f2e82fd4013c77 EBUILD cloud-init-9999.ebuild 2219 BLAKE2B a2b856ce06b7026545efa2bee186e70aaa28c607eb026f813892ee6fe5f96ed50d091020a563dacac16a433f6fe7404304ec2bac917cd53b890b772eccb2af3e SHA512 f50bf3530aef585d11e8984a2252724d0e0a89e1b912304f26ec0a74cdbde78103eb7efb2ed4d9a7cf69c3db43970c7f40a959c5a969e85a547ce9e2a3894be5 MISC metadata.xml 578 BLAKE2B 087f92136937d5f1ba4510513f0fd75dadd5a2813cf43b7d92aa8c7c13d3cfd33f63a9eb2ca9844735d116ed0589db0ca04603cc9fe1378db8aee8285cc76060 SHA512 d7cc9ad3a86774be908102fa24f59c5b4bf42228f8c78d15887432eacdeafa2363ab34ec7446a12de28389750a222794653c3b1dfba64d680ca0288da0322599 diff --git a/app-emulation/cloud-init/cloud-init-17.2.ebuild b/app-emulation/cloud-init/cloud-init-17.2.ebuild new file mode 100644 index 000000000000..d5d1c2d9d37c --- /dev/null +++ b/app-emulation/cloud-init/cloud-init-17.2.ebuild @@ -0,0 +1,80 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 python3_4 python3_5 python3_6 ) + +inherit distutils-r1 eutils multilib systemd + +DESCRIPTION="cloud initialisation magic" +HOMEPAGE="https://launchpad.net/cloud-init" +SRC_URI="https://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="test" +RESTRICT="test" + +# remove pretytable in 17.2 +CDEPEND=" + dev-python/jinja[${PYTHON_USEDEP}] + dev-python/oauthlib[${PYTHON_USEDEP}] + dev-python/pyserial[${PYTHON_USEDEP}] + >=dev-python/configobj-5.0.2[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + dev-python/jsonpatch[${PYTHON_USEDEP}] + dev-python/jsonschema[${PYTHON_USEDEP}] + dev-python/six[${PYTHON_USEDEP}] +" +DEPEND=" + dev-python/setuptools[${PYTHON_USEDEP}] + test? ( + ${CDEPEND} + >=dev-python/httpretty-0.7.1[${PYTHON_USEDEP}] + dev-python/mock[${PYTHON_USEDEP}] + dev-python/nose[${PYTHON_USEDEP}] + dev-python/unittest2[${PYTHON_USEDEP}] + dev-python/coverage[${PYTHON_USEDEP}] + dev-python/contextlib2[${PYTHON_USEDEP}] + ) +" +RDEPEND=" + ${CDEPEND} + net-analyzer/macchanger + sys-apps/iproute2 + sys-fs/growpart + virtual/logger +" + +PATCHES=( ) + +python_test() { + emake test +} + +python_install() { + distutils-r1_python_install "--init-system=sysvinit_openrc,systemd" +} + +python_install_all() { + keepdir /etc/cloud + + distutils-r1_python_install_all + + # installs as non-executable + chmod +x "${D}"/etc/init.d/* + + insinto /etc/cloud/templates + doins "${FILESDIR}/hosts.gentoo.tmpl" + insinto /etc/cloud + doins "${FILESDIR}/cloud.cfg" +} + +pkg_postinst() { + elog "cloud-init-local needs to be run in the boot runlevel because it" + elog "modifies services in the default runlevel. When a runlevel is started" + elog "it is cached, so modifications that happen to the current runlevel" + elog "while you are in it are not acted upon." +} diff --git a/app-emulation/containerd/Manifest b/app-emulation/containerd/Manifest index af5e078b18bd..40f843a2ab6e 100644 --- a/app-emulation/containerd/Manifest +++ b/app-emulation/containerd/Manifest @@ -1,8 +1,10 @@ DIST containerd-0.2.9_p20170917.tar.gz 1140788 BLAKE2B 96effa85f9cb03c3e416d53438376af6c7965660bf9c9931fdfa7fee94cca9386f2732e70dc88ee32b83e902b7d4a3072e22a817d9970ed1e07dc1271e8b33ab SHA512 c749bda691197ec8a7603db9ad92f2800a3f065143430a660333b7862518deb4c158a1c1fd01671dff438b40988d4a64d8f06bab05496b8728c6e2f57cd7da0a DIST containerd-1.0.0.tar.gz 3763785 BLAKE2B cd4af679c9028b616aeedd594518f796a350523899c13da5a848a5843b318394166ddfbf5e7ed1f473a3759b26d134659f928d8e15da17ebdf65a41d2fd5f914 SHA512 8c1a03de7f30976675e4482b4f18f4b87da56108de4d92f2e33b4cb4f8c188af5b3fad87971a294eac8442a0fb6ddae48cda81334c363203a8c8bdfc09176a7a DIST containerd-1.0.1.tar.gz 3766659 BLAKE2B 36c96a9e3cba22578daff31e46d9a876095e9de7e20e1e84a41076d9936f30a5681e41187a90f9a01884fd02086fa3c9a6ee29c8261401988a1cfa2026952431 SHA512 351c0e298ba6a9a14df2f367df23049a8a833eb18238e3d41cf0066feb2e0b8f2aa7b25fb4484a1b5c95bccf5cba3a8076a5bcfe25602b5368e7cf2a20872160 +DIST containerd-1.0.2.tar.gz 3772144 BLAKE2B 7549f47d1f0ff0244d7dedd41aabb76d2c2fc4942f8da3cf45fe0ca7b808b3aed4e39e0338d30ccc63cf37db3e59412442d43d272d3b073823e210a24d4d991a SHA512 d6b8eeaa942e1dccb21feb0723bb1ee29c878992c0f7128038c967580b4c6a1b4110371aa60962a331627d869d027a20ca47e6c625aedf68cac5d532d7f7094a EBUILD containerd-0.2.9_p20170917.ebuild 1000 BLAKE2B e207ebb992d1c1e47a13c5ebae2004a6e8bb887ab605d9aaf7ac053762aecb58224b0d21cf13cc59fd1d9bc508fc6c0be5d3f7c4fd6a22136059a1a12b0df072 SHA512 c258fd617c1006ccc09506c1ff28d2edfe2e15966cacc62ea4e1194f3cdf96d74a60db5bf1f009a05b97f84bac44c23cef33e73e77ba272b8861244be7dbbe36 EBUILD containerd-1.0.0.ebuild 1239 BLAKE2B 93aeb4bb834e6d79835d9eee995d0e8ec82d042d344eb2082366c71e56dc3f9376f3621a57b050f88478f5f9874c6cfd458a3c04a4866d3e583ed925bd49726f SHA512 b68d0bf59a5bdcbb98a8d480e5db49b182fcedf16962a6d9570dfeef22670d84215b8dd2b1c372108f92e6dd3b0f6c0b5478b1ce2c61ab2a2f4063820fcce97e EBUILD containerd-1.0.1.ebuild 1239 BLAKE2B db235a0f5471485ab766365a0838cf65da8fc1c150fbc1ab2dc1369fcd552909f96161f8c006abb463d59aae0b85b730d2736cfe166e73269fb1a87f04e621f1 SHA512 1a5d5ec6fb8353247ca6109b59158779e4eb22d82fce93aecfd318293506780e8aa90505741711fae3dc169e2b5e601f073ec4826431b9d79fa1589e48e50574 +EBUILD containerd-1.0.2.ebuild 1239 BLAKE2B ddaeffc83657567642894a9d43322704364bbdaba0ee5081ca24cef78b007871b85b565e1743107c5aebfc0f8f6d2cc462e9ffd2ebf31b844bc1eccdcc74f060 SHA512 2739a6f4e78bc64e7dd579444caa0b5a34e88cd9f3c9ceec52f1479936124302bb1e745ab66e3e841521bd5ce9244d92811e475add00db695901e1d681b01b2a EBUILD containerd-9999.ebuild 965 BLAKE2B b671ff0dd3c5b8c72f2d713c04926047a304b7eec201051b5051a4ce49550176683a934d0b03350d5302fdff242e8e11f31b3db0b3962b73bcac85a0ed1a116d SHA512 b2acd6bd1c237a1058cec02875877d82e2e8c568bf3143cca020c64e13a0649975e3adcdb68540216e8ce1bcdbc7141eda8476c1c01ee2ca313120eca2850012 MISC metadata.xml 985 BLAKE2B fbef8e091234b75e89ef860f1b43114cfefa79ab65b434592bf4f8699ef1c95b6e126e7f848e401b9c1bb1d9c0ed67a86f0147169aaa3727bc26029d9f92d869 SHA512 d6ef315f79b599a8d47fda31e6e6a8c82e6dd52c3ca8339984ea72b43d6dd255d1b46fb7c566771231eba208796d3438b39cac22e0823430d9f59fafdef96147 diff --git a/app-emulation/containerd/containerd-1.0.2.ebuild b/app-emulation/containerd/containerd-1.0.2.ebuild new file mode 100644 index 000000000000..0051a46346c7 --- /dev/null +++ b/app-emulation/containerd/containerd-1.0.2.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +EGO_PN="github.com/containerd/${PN}" + +inherit toolchain-funcs + +if [[ ${PV} == *9999 ]]; then + inherit golang-vcs +else + MY_PV="${PV/_rc/-rc.}" + EGIT_COMMIT="v${MY_PV}" + CONTAINERD_COMMIT="cfd0439" + SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~ppc64" + inherit golang-vcs-snapshot +fi + +DESCRIPTION="A daemon to control runC" +HOMEPAGE="https://containerd.tools" + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="+btrfs hardened" + +DEPEND="btrfs? ( sys-fs/btrfs-progs )" +RDEPEND="|| ( >=app-emulation/docker-runc-1.0.0_rc4 + >=app-emulation/runc-1.0.0_rc4 ) + sys-libs/libseccomp" + +S=${WORKDIR}/${P}/src/${EGO_PN} + +src_prepare() { + default + if [[ ${PV} != *9999* ]]; then + sed -i -e "s/git describe --match.*$/echo ${PV})/"\ + -e "s/git rev-parse HEAD.*$/echo $CONTAINERD_COMMIT)/"\ + -e "s/-s -w//" \ + Makefile || die + fi +} + +src_compile() { + local options=( $(usex btrfs "" "no_btrfs") ) + export GOPATH="${WORKDIR}/${P}" # ${PWD}/vendor + LDFLAGS=$(usex hardened '-extldflags -fno-PIC' '') emake BUILDTAGS="${options[@]}" +} + +src_install() { + dobin bin/containerd{-shim,-stress,} bin/ctr +} diff --git a/app-emulation/kompose/Manifest b/app-emulation/kompose/Manifest index fdaa905dba6f..7fec496a9185 100644 --- a/app-emulation/kompose/Manifest +++ b/app-emulation/kompose/Manifest @@ -1,5 +1,5 @@ -DIST kompose-1.7.0.tar.gz 5230263 BLAKE2B c2e50ceadaa3f88b5d6a9c6fbca93a0a45a16fb4d208a9194578174d9b67697f70d52f8f7a517609b56acf0cb646a9ca4e9137e1a830646e1084c10aabfd1cc0 SHA512 bcda4d891cdc8a0e331aad3baca9e88be32d302ed1ab89a561874881ec9e1dd04f7158f9315ee59a49d4906cc9d08821a417ff04a8ebe9871edece842b2e85b9 DIST kompose-1.8.0.tar.gz 5230179 BLAKE2B 47f2770eb527bb3b40e1734f9e5173ce4de55ef55460f624dcb22374d94d4a4ae650d82db6508dd0e441535c03da8a0f61d7600425e44604b580ecff493ba987 SHA512 4e618f9e9adc65abd2be503dd28b6d7761945a99788e910cc072d04b6088e953152f9354fe168fe7bf22252f698b957e2cc23440d242bed62c4b7415dc513e33 -EBUILD kompose-1.7.0.ebuild 889 BLAKE2B 575e0b5251fd3f41ee591cffc6cac87702171d45dc6018ba077db331d069aa0cf6617e3d3bb9a7b474590e9707354c860321b081a5dc6bdf7c8d6f2ad722f7b4 SHA512 b935247e6d46a5fd34c4205da74719b28e31f7329f89f78f8ab5e97b2ba3d3704307500ac5e99face463814763284ab79e66c78b874d80432d116f6e69da1cd8 +DIST kompose-1.9.0.tar.gz 5229558 BLAKE2B 41c168dea0311ea4663b4056ec10a0a446f0c714a0d32cb6e75d4cb680335acb31d164d390fbde487856c268fb671a7d2e4238de2a542fd54e64e9c3ce693d41 SHA512 72d575bb79fea88de54740ed7a4809b68781b3473431c2c11213a32b9ff3dc9340ef49ea8009ff6f7f16dce8f36565a91b8c28ab45bc860d53075f42f3fde66b EBUILD kompose-1.8.0.ebuild 889 BLAKE2B 60e02b868aec4525aee7666909754fca33ac499f6f31148a67d6790f472ca4e033d1f7738b8a2af5bcefdc5d553c41aec56d546afdacb288f55d06eb917ea31a SHA512 86ab3ebd33ab93727adbf2018c0d6e65b49c7fc94295a55c15e3e1e002cef71af60b13de8e9c70f4efe5f4d4550852c3e024316f206d8b2b00861e4a3e77d028 +EBUILD kompose-1.9.0.ebuild 889 BLAKE2B 8e3ea67eb81683c57f537fa266b924e9622c591274277fc0574fe1f97eb834959cbca8eda861c1edc2bd848677f48739ab07e49cd2ec6d0ea9014e776aba7559 SHA512 5a112105fa803089f3f76dcd11db8d4a5f69b82dca857d99642b7e6d9ee6c2f52334c2c996542a1e1d9235a493b6fe5132efe2248ad55c3f80436d2a2e70bdd4 MISC metadata.xml 328 BLAKE2B ad1e8cb1083ed13de1f3f341fdbe9bba7ba3ab4364c8c36c9e3b63f63688da6926fc6bebc9f72aada52dfac1a4834b11cb27eee04aaaae484192b8ed74214aa6 SHA512 e2091ec84a909ad6c2453bd832817461e39b7c355c28bd99c19d9e85dc4a621606c34066f596a68585c3762b6b156455ca012495c5c336b9ba929d163b923042 diff --git a/app-emulation/kompose/kompose-1.7.0.ebuild b/app-emulation/kompose/kompose-1.7.0.ebuild deleted file mode 100644 index db671c77f93b..000000000000 --- a/app-emulation/kompose/kompose-1.7.0.ebuild +++ /dev/null @@ -1,30 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -inherit golang-build golang-vcs-snapshot - -EGO_PN="github.com/kubernetes/kompose" -EGIT_COMMIT="v${PV}" -KOMPOSE_COMMIT="767ab4b" -ARCHIVE_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" -KEYWORDS="~amd64" - -DESCRIPTION="Tool to move from docker-compose to Kubernetes" -HOMEPAGE="https://github.com/kubernetes/kompose https://kompose.io" -SRC_URI="${ARCHIVE_URI}" -LICENSE="Apache-2.0" -SLOT="0" -IUSE="hardened" - -RESTRICT="test" - -src_compile() { - export CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '')" - GOPATH="${S}" go build -v -ldflags="-X github.com/kubernetes/kompose/cmd.GITCOMMIT=${COMPOSE_KOMMIT}" -o bin/kompose src/${EGO_PN}/main.go || die -} - -src_install() { - dobin bin/* - dodoc -r src/${EGO_PN}/{docs,{README,RELEASE,ROADMAP,CHANGELOG,CONTRIBUTING}.md} -} diff --git a/app-emulation/kompose/kompose-1.9.0.ebuild b/app-emulation/kompose/kompose-1.9.0.ebuild new file mode 100644 index 000000000000..e1e0a9633e62 --- /dev/null +++ b/app-emulation/kompose/kompose-1.9.0.ebuild @@ -0,0 +1,30 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit golang-build golang-vcs-snapshot + +EGO_PN="github.com/kubernetes/kompose" +EGIT_COMMIT="v${PV}" +KOMPOSE_COMMIT="093c756" +ARCHIVE_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" +KEYWORDS="~amd64" + +DESCRIPTION="Tool to move from docker-compose to Kubernetes" +HOMEPAGE="https://github.com/kubernetes/kompose https://kompose.io" +SRC_URI="${ARCHIVE_URI}" +LICENSE="Apache-2.0" +SLOT="0" +IUSE="hardened" + +RESTRICT="test" + +src_compile() { + export CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '')" + GOPATH="${S}" go build -v -ldflags="-X github.com/kubernetes/kompose/cmd.GITCOMMIT=${COMPOSE_KOMMIT}" -o bin/kompose src/${EGO_PN}/main.go || die +} + +src_install() { + dobin bin/* + dodoc -r src/${EGO_PN}/{docs,{README,RELEASE,ROADMAP,CHANGELOG,CONTRIBUTING}.md} +} diff --git a/app-emulation/libvirt/Manifest b/app-emulation/libvirt/Manifest index 41b478c362ac..354167df7296 100644 --- a/app-emulation/libvirt/Manifest +++ b/app-emulation/libvirt/Manifest @@ -2,10 +2,8 @@ AUX README.gentoo-r2 2094 BLAKE2B ccfad63217f7778e97d8de49e20002dffefff32562f560 AUX libvirt-1.2.16-fix_paths_in_libvirt-guests_sh.patch 641 BLAKE2B e796f4e32f00e8970eabf723520601b26c7fa5f7579d538299538632ba036dafbb2dc64ad40d10152c0637043b2a649e1dc08468d1f250e00ee0af095d94a093 SHA512 df9960b80c7dda852e38d992ab31181d79091bd6e1ba88c0b0c1af8a2f2d1445ee95c957df38ab27b452cd2de01d36b88164e665a867ad69c15ca15c18b1d588 AUX libvirt-1.3.0-do_not_use_sysconf.patch 4072 BLAKE2B 2281954430dbc38262221bb4d2bc3296a067ef79ce70b7d93fee7da92753d808d208fc1e190e4779c2daf44df5e18ae2d0a0aaea04170f9ffa2d851918533fee SHA512 44428e16cf1998db0bcae1b54d3ba32363a71db3f45f493bd675f6ad7d6bf131667749f33226ab5f40be52e833ec0899bb9202a8f0e150d007c3f7c71a9cf314 AUX libvirt-1.3.4-glibc-2.23.patch 2049 BLAKE2B 8e283846a2442ef4bf3fd5ca88033387d150818972e1b8f4732584423652179d2d6f8df964a8b8a4e51219a946eec30450838207446e20e9bd77ff97c31996de SHA512 022b610c2e343c9cb595babcc8b2e5e0e0db1a19d6bfc9babdc817bc1e093ff12ee1c26304c188151fecc32481ffd225d7a3d36324613dd5b4ea7139280629c4 -AUX libvirt-3.0.0-fix_paths_for_apparmor.patch 2904 BLAKE2B f84b684f4eaeee85a406730285be852226960e69694356007461911a34a68fe7031775f827fd76b016124cb809f3d3b2f52e4f02c1dc51738252644e502d3d8c SHA512 be4aba4b9bd44bb2f1b4f269f573caafce746783e0a7c08ff72d03a96b9675261346ededaf1d6b6c89afaa6d2b88fe7fb0d9f120d40fd714179e6f9d209a6724 AUX libvirt-3.1.0-musl-fix-includes.patch 221 BLAKE2B 65f486f4055c0ccae59601970d770f23f570f127ba26ce1d932855e784b83fce99389f22f12630005be61e5de2e64e0125d0bf5270024f736fe597fa5b81ff78 SHA512 876c7dacedcce1d69938779b978b3a23b2f51128f121b4aa53f5f301d7740f90d77f335523210ed492b68b5f7a0b864b25a694ee562fb5e8ab1b6411d3da48e7 AUX libvirt-3.10.0-r2-fix_paths_for_apparmor.patch 2730 BLAKE2B ae92a37cdfb929862bd58d1cd208e3f8a3aab10dae98ec8e51d6c3ab579295e3f59ff091970499c6c57b625edec77b98421502df625b1d10c1c3d0be3dfbe489 SHA512 751b971fd0f109f3a4147feea8481adb9c868313ea57d293a89ee548661514f124318324823d9380839a7a5c8ae7c1e3ae8c4c6e62027587f163c8856e353a6a -AUX libvirt-3.8.0-CVE-2017-1000256.patch 3737 BLAKE2B 47f73e5296b8a41148781a4bf1e95e1571b4a9571825d18eb59a267b9c7d9b6e9f301e7818326be6c29392febd42083e8a4696adfe5cef81b029f7d21314670e SHA512 2c3e88670ec9531207c60b89e8e2ec6188834e795cd0e698d63781209182801209d4097fd72607166853b54a9f301a160b575f757741da5aeb995d752bbcb80a AUX libvirt-4.0.0-bash_completion_bugfixes.patch 1863 BLAKE2B ed54b4e308297907001bb2fbcba76197c341c292fc29139f50b9c03cb9ea61696dbd177a4d0055cdca3184a9ecbd283f576c491d2d3c581e31415465bd8e92e1 SHA512 f718408ce57c0abd68023356d5980c5e85dfb5c90759a6758309408dea7115b0ae18a18be2e625401d985fab7b1a374ab1e10caa27527ed002a852bb3f08ca73 AUX libvirt-guests.confd 2430 BLAKE2B 9d56477c9377e02503782e6d653579c6d149b292c43f37926f4646374e8aae05ca812b6a3a561811482861f8fe67dfdbe63851963326ddbbf2f4644c85411120 SHA512 78f419a89de7aabaad860903c24f1c070786fc1296d987e61dd537705b0e7f71a46c315888028f3826c3417e42861ca8471788be4ec5695e98427c5f18ae63fc AUX libvirt-guests.init-r2 5412 BLAKE2B 139c39b65e6297883ab13bb65f8799f6e417a3de841bca3b31fd161a7dd9f64b18dedc1a942d9ee6577c1253e9b45859dec006a17b25da9e6cde2507b88cd302 SHA512 0f46ec5776c61d1776248779fa894b1a6d7b98d0eb8e8374b320c785c25d92468f087e350233b9152eb2cd0680f6b334c3a61684dabc7c5b559d3b55fdcb712d @@ -15,11 +13,7 @@ AUX libvirtd.service.conf 401 BLAKE2B edd74238f9639ead1d776142e6231d87f39cb6670e AUX libvirtd.tmpfiles.conf 36 BLAKE2B fa0e1dac4117dcb2a2e826c82c4c63e20156db47abf4088167484f1f3149a4998840cf1aba745621851d7e2653df5c7f7268d8d61be3a3731ea053a88f35c13b SHA512 2b1c3c64dd6fa03d8c2ae24e7ce4aa7d754913214542a68a4e99f10fbc251fd23ee26e297a957d7b4b70eec8ef028c41fc915da3a85fbbd16143bb92d1de3aed AUX virtlockd.init-r1 570 BLAKE2B 734d582d867b79649f863504fcd7c87fe3c59569b56b0996a6229d6eebadc9d4c356c10bbcf5637483fbc930d0c50233da4fffa357d423029b3828b7a3be56de SHA512 65a05d406200da9a534df5caa1b9cb2af97f0b03f64e6b4157322975fa754f59ae74fff9ec8301a6c0510e4b75e2b72a78cddf004a76109e18c375e83527cee5 AUX virtlogd.init-r1 569 BLAKE2B 20df60c23cee575577592d41d1a9913923255633d12de789c036e6085f9e7b4360e017155c61e3688332b493a0e96ffca55753bcc67a33bb877539b80eef81fe SHA512 0a3e083e742f9e0d8206ab9a48c63bbd395bdc24e5551e2cbeddffa3fb576a817b73dbafe646c392a35c354d6b65426a9b6f3ce3dcafc30077715e90684968c1 -DIST libvirt-3.10.0.tar.xz 14952220 BLAKE2B 6af2f4c07dc71d8aa283460640d3fdeccd78616d1678da1decf6b1702984ca0c685d8074963e55a2776ac834e18dbb61d86c20c6032320bf9aa6e02b480526dd SHA512 c2dfe0629bd90e8d7ae85f2a31dc027475c9614d497063fec6905aa2da4db68ce96e8f20d3290b0c0542b6ea31c85700b2727008bac65997ff0901b45f1b7260 -DIST libvirt-3.8.0.tar.xz 14868712 BLAKE2B 4d97a03c3fe4eadb6d6eb3548231527c7d1a95e2134e63af63e72dcff8fd8d1cc8b5332f03d60edc2b200037ec0276b69a38c3379ce830a595bb5e83c3507e6f SHA512 fc48f29b493a5ec2b3586f6c5df0b8cb81f3f26be847bc42acfb6481d45970edc760dda0232ad57b95b8cf13382d0269dd3edf4a744040cda15b835d32d8c672 DIST libvirt-4.0.0.tar.xz 15002248 BLAKE2B 066794909d02be04a7d70ebd5e6d423736fdaf95b7521edd47ef19f9bec4f16d6d3e64117356394ce5916761ad77d5afab84ace2f4828c1f97373d0053b6924b SHA512 c99ea305f427859eb070b5f0c43de48645a5c53a2aa8efc60f54f278ec3fa0b504307861309e1852f8d7bff4436afe00c859aac27691366a0c36c91341cea7a1 -EBUILD libvirt-3.10.0-r2.ebuild 9626 BLAKE2B 8e01b077482188921afc8c76b2384a2fa5d02f35d060df9279967703510f19ce6c2d36da91f4f563c5f75b25d6b5dfbec6ca950ef6c2fdf9ada0067224ba879d SHA512 5133a0d242b3dcb70a9b0daf1153e3c9cb282deed7d94b40fee9e9a543635c61c795a9b70fb8025ed05a8b86613d24568123f0069c82f53e4f7a5473e5fae58b -EBUILD libvirt-3.8.0-r1.ebuild 9661 BLAKE2B d6afc9ed4f228d62466d825c02e0ff24595c70ee98d5f62c0fe78ec846964ac6de99e6d2de4cd297804da13699afb21f1bd1400917ead16da3fbfa8cdce7c2a9 SHA512 66a28a319d1ed7263524c9c13e4331c3451ad321ccb39b4e608e05ad1e9d40fd1b4a75a05d5910a0a83c3bc47f8c5746aa80eedd16b1c0e8b0a4a4e093d79169 -EBUILD libvirt-4.0.0.ebuild 9807 BLAKE2B 37010d9cbb5b9c6aee28fc1592fb7f16d0f6bd9390e5ed1e005d5d45cc494c415921c5a90bbd27ad21fba890facddc1633ce22c44d1eb36829079f30716c4e66 SHA512 b0de684a990dd7b5b849a73f8e87cc88693b5e33d86c3b585c7382ec060d09e53486811af8a3e6d0c83baf0ee8c6147fab872bc0c4c85d3c8645075857dec1f3 -EBUILD libvirt-9999.ebuild 9613 BLAKE2B 144ed8e703529bb4b9eeaa6048f0015459c8ab79f843e57fbcb882f44d47bda3e45685384d09b7debbd80ae173b39635724c84f525ae513bf918347aa1a87b54 SHA512 60c3061d9b24fd3e66f73555ed4649c35fe1a850e355e1c0262ffdd2113d7563afe4c2bf7df13f8132cf7818b520b29ee86dbdf4199579ad4cbc1704b4e87af0 +EBUILD libvirt-4.0.0.ebuild 9814 BLAKE2B 8d1c80ca2f028732bdcfcec2421d9bdc978a654652ef1381ab1d00d8302fbc3c6417ce606912187a7a1203f0099812bb238da1b63ca0e8dcaa310969862efd59 SHA512 d23e19e182ba63e2629fcc84f2ef63d7c97728159f6bc02640fe95f6768401fd0cbce43d4589dcf9cf30b023ec75aaedf15589712cdbea36bbf4a5d74d5fea97 +EBUILD libvirt-9999.ebuild 9617 BLAKE2B deaea5095a0c395f8a60d8aec71d14ac0752fac2a1b80f5a642d45291aeef758e351ae8665113de638f1df62e7636f943cda52bdf1270e17fe81fbbea6f63843 SHA512 f08d2183f086ec56e1764aeb05ae5c4dbffe89b4d4e5516c5f511d7319ab14b203cccee38edab41a09750a092217456aa0f7ea2dbd34d36b741d05869829e206 MISC metadata.xml 3766 BLAKE2B 38d8b1dfb815871ca19c35c80ab390a422e1833b6ef09c6691889d5d6c01e25bb9fb5d187231456c443cb22764583312a56ed8e1a772f810b58050752ba9f2de SHA512 10d96f652bdcf32e34ea415a37de0c3c4aae3a716403a0ca73228af640788734119cbf4ade26a450cc3cda81ef6182391a6f590a851a6834d52394b7c81c49ed diff --git a/app-emulation/libvirt/files/libvirt-3.0.0-fix_paths_for_apparmor.patch b/app-emulation/libvirt/files/libvirt-3.0.0-fix_paths_for_apparmor.patch deleted file mode 100644 index c9c7eb6ad49f..000000000000 --- a/app-emulation/libvirt/files/libvirt-3.0.0-fix_paths_for_apparmor.patch +++ /dev/null @@ -1,79 +0,0 @@ -From baad1483ed0a699509f66abac6708797f370f888 Mon Sep 17 00:00:00 2001 -From: Matthias Maier -Date: Sun, 22 Jan 2017 09:07:57 -0600 -Subject: [PATCH] Update paths to Gentoo layout - ---- - examples/Makefile.am | 4 ++-- - .../{usr.lib.libvirt.virt-aa-helper => usr.libexec.virt-aa-helper} | 4 ++-- - examples/apparmor/usr.sbin.libvirtd | 6 ++++-- - 3 files changed, 8 insertions(+), 6 deletions(-) - rename examples/apparmor/{usr.lib.libvirt.virt-aa-helper => usr.libexec.virt-aa-helper} (90%) - -diff --git a/examples/Makefile.am b/examples/Makefile.am -index 2956e14..d81e34b 100644 ---- a/examples/Makefile.am -+++ b/examples/Makefile.am -@@ -23,7 +23,7 @@ EXTRA_DIST = \ - apparmor/TEMPLATE.lxc \ - apparmor/libvirt-qemu \ - apparmor/libvirt-lxc \ -- apparmor/usr.lib.libvirt.virt-aa-helper \ -+ apparmor/usr.libexec.virt-aa-helper \ - apparmor/usr.sbin.libvirtd \ - lxcconvert/virt-lxc-convert \ - polkit/libvirt-acl.rules \ -@@ -70,7 +70,7 @@ admin_logging_SOURCES = admin/logging.c - if WITH_APPARMOR_PROFILES - apparmordir = $(sysconfdir)/apparmor.d/ - apparmor_DATA = \ -- apparmor/usr.lib.libvirt.virt-aa-helper \ -+ apparmor/usr.libexec.virt-aa-helper \ - apparmor/usr.sbin.libvirtd \ - $(NULL) - -diff --git a/examples/apparmor/usr.lib.libvirt.virt-aa-helper b/examples/apparmor/usr.libexec.virt-aa-helper -similarity index 90% -rename from examples/apparmor/usr.lib.libvirt.virt-aa-helper -rename to examples/apparmor/usr.libexec.virt-aa-helper -index 4a8f197..a6072f1 100644 ---- a/examples/apparmor/usr.lib.libvirt.virt-aa-helper -+++ b/examples/apparmor/usr.libexec.virt-aa-helper -@@ -1,7 +1,7 @@ - # Last Modified: Mon Apr 5 15:10:27 2010 - #include - --profile virt-aa-helper /usr/{lib,lib64}/libvirt/virt-aa-helper { -+profile virt-aa-helper /usr/libexec/virt-aa-helper { - #include - - # needed for searching directories -@@ -20,7 +20,7 @@ profile virt-aa-helper /usr/{lib,lib64}/libvirt/virt-aa-helper { - /sys/devices/ r, - /sys/devices/** r, - -- /usr/{lib,lib64}/libvirt/virt-aa-helper mr, -+ /usr/libexec/virt-aa-helper mr, - /{usr/,}sbin/apparmor_parser Ux, - - /etc/apparmor.d/libvirt/* r, -diff --git a/examples/apparmor/usr.sbin.libvirtd b/examples/apparmor/usr.sbin.libvirtd -index 8893e75..f0b471c 100644 ---- a/examples/apparmor/usr.sbin.libvirtd -+++ b/examples/apparmor/usr.sbin.libvirtd -@@ -59,8 +59,10 @@ - audit deny /sys/kernel/security/apparmor/.* rwxl, - /sys/kernel/security/apparmor/profiles r, - /usr/{lib,lib64}/libvirt/* PUxr, -- /usr/{lib,lib64}/libvirt/libvirt_parthelper ix, -- /usr/{lib,lib64}/libvirt/libvirt_iohelper ix, -+ /usr/libexec/virt-aa-helper PUxr, -+ /usr/libexec/libvirt_lxc PUxr, -+ /usr/libexec/libvirt_parthelper ix, -+ /usr/libexec/libvirt_iohelper ix, - /etc/libvirt/hooks/** rmix, - /etc/xen/scripts/** rmix, - --- -2.10.2 - diff --git a/app-emulation/libvirt/files/libvirt-3.8.0-CVE-2017-1000256.patch b/app-emulation/libvirt/files/libvirt-3.8.0-CVE-2017-1000256.patch deleted file mode 100644 index 8c347cd799ad..000000000000 --- a/app-emulation/libvirt/files/libvirt-3.8.0-CVE-2017-1000256.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 441d3eb6d1be940a67ce45a286602a967601b157 Mon Sep 17 00:00:00 2001 -From: "Daniel P. Berrange" -Date: Thu, 5 Oct 2017 17:54:28 +0100 -Subject: [PATCH] qemu: ensure TLS clients always verify the server certificate - -The default_tls_x509_verify (and related) parameters in qemu.conf -control whether the QEMU TLS servers request & verify certificates -from clients. This works as a simple access control system for -servers by requiring the CA to issue certs to permitted clients. -This use of client certificates is disabled by default, since it -requires extra work to issue client certificates. - -Unfortunately the code was using this configuration parameter when -setting up both TLS clients and servers in QEMU. The result was that -TLS clients for character devices and disk devices had verification -turned off, meaning they would ignore errors while validating the -server certificate. - -This allows for trivial MITM attacks between client and server, -as any certificate returned by the attacker will be accepted by -the client. - -This is assigned CVE-2017-1000256 / LSN-2017-0002 - -Reviewed-by: Eric Blake -Signed-off-by: Daniel P. Berrange ---- - src/qemu/qemu_command.c | 2 +- - tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-tlsx509-chardev.args | 2 +- - .../qemuxml2argv-serial-tcp-tlsx509-secret-chardev.args | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c -index 46f0bdd18..f68b82d08 100644 ---- a/src/qemu/qemu_command.c -+++ b/src/qemu/qemu_command.c -@@ -721,7 +721,7 @@ qemuBuildTLSx509BackendProps(const char *tlspath, - if (virJSONValueObjectCreate(propsret, - "s:dir", path, - "s:endpoint", (isListen ? "server": "client"), -- "b:verify-peer", verifypeer, -+ "b:verify-peer", (isListen ? verifypeer : true), - NULL) < 0) - goto cleanup; - -diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-tlsx509-chardev.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-tlsx509-chardev.args -index 5aff7734e..ab5f7e27f 100644 ---- a/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-tlsx509-chardev.args -+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-tlsx509-chardev.args -@@ -26,7 +26,7 @@ server,nowait \ - localport=1111 \ - -device isa-serial,chardev=charserial0,id=serial0 \ - -object tls-creds-x509,id=objcharserial1_tls0,dir=/etc/pki/libvirt-chardev,\ --endpoint=client,verify-peer=no \ -+endpoint=client,verify-peer=yes \ - -chardev socket,id=charserial1,host=127.0.0.1,port=5555,\ - tls-creds=objcharserial1_tls0 \ - -device isa-serial,chardev=charserial1,id=serial1 \ -diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-tlsx509-secret-chardev.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-tlsx509-secret-chardev.args -index 91f1fe0cd..2567abbfa 100644 ---- a/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-tlsx509-secret-chardev.args -+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-tlsx509-secret-chardev.args -@@ -31,7 +31,7 @@ localport=1111 \ - data=9eao5F8qtkGt+seB1HYivWIxbtwUu6MQtg1zpj/oDtUsPr1q8wBYM91uEHCn6j/1,\ - keyid=masterKey0,iv=AAECAwQFBgcICQoLDA0ODw==,format=base64 \ - -object tls-creds-x509,id=objcharserial1_tls0,dir=/etc/pki/libvirt-chardev,\ --endpoint=client,verify-peer=no,passwordid=charserial1-secret0 \ -+endpoint=client,verify-peer=yes,passwordid=charserial1-secret0 \ - -chardev socket,id=charserial1,host=127.0.0.1,port=5555,\ - tls-creds=objcharserial1_tls0 \ - -device isa-serial,chardev=charserial1,id=serial1 \ --- -2.13.6 - diff --git a/app-emulation/libvirt/libvirt-3.10.0-r2.ebuild b/app-emulation/libvirt/libvirt-3.10.0-r2.ebuild deleted file mode 100644 index e918ac7a33e8..000000000000 --- a/app-emulation/libvirt/libvirt-3.10.0-r2.ebuild +++ /dev/null @@ -1,382 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit autotools eutils user linux-info systemd readme.gentoo-r1 - -if [[ ${PV} = *9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="git://libvirt.org/libvirt.git" - SRC_URI="" - KEYWORDS="" - SLOT="0" -else - # Versions with 4 numbers are stable updates: - if [[ ${PV} =~ ^[0-9]+(\.[0-9]+){3} ]]; then - SRC_URI="http://libvirt.org/sources/stable_updates/${P}.tar.xz" - else - SRC_URI="http://libvirt.org/sources/${P}.tar.xz" - fi - KEYWORDS="~amd64 ~arm64 ~x86" - SLOT="0/${PV}" -fi - -DESCRIPTION="C toolkit to manipulate virtual machines" -HOMEPAGE="http://www.libvirt.org/" -LICENSE="LGPL-2.1" -IUSE=" - apparmor audit +caps +dbus firewalld fuse glusterfs iscsi +libvirtd lvm - libssh lxc +macvtap nfs nls numa openvz parted pcap phyp policykit - +qemu rbd sasl selinux +udev uml +vepa virtualbox virt-network - wireshark-plugins xen zeroconf zfs -" - -REQUIRED_USE=" - firewalld? ( virt-network ) - libvirtd? ( || ( lxc openvz qemu uml virtualbox xen ) ) - lxc? ( caps libvirtd ) - openvz? ( libvirtd ) - policykit? ( dbus ) - qemu? ( libvirtd ) - uml? ( libvirtd ) - vepa? ( macvtap ) - virt-network? ( libvirtd ) - virtualbox? ( libvirtd ) - xen? ( libvirtd )" - -# gettext.sh command is used by the libvirt command wrappers, and it's -# non-optional, so put it into RDEPEND. -# We can use both libnl:1.1 and libnl:3, but if you have both installed, the -# package will use 3 by default. Since we don't have slot pinning in an API, -# we must go with the most recent -RDEPEND=" - app-misc/scrub - dev-libs/libgcrypt:0 - dev-libs/libnl:3 - >=dev-libs/libxml2-2.7.6 - || ( >=net-analyzer/netcat6-1.0-r2 >=net-analyzer/openbsd-netcat-1.105-r1 ) - >=net-libs/gnutls-1.0.25:0= - net-libs/libssh2 - net-libs/libtirpc - net-libs/rpcsvc-proto - >=net-misc/curl-7.18.0 - sys-apps/dmidecode - >=sys-apps/util-linux-2.17 - sys-devel/gettext - sys-libs/ncurses:0= - sys-libs/readline:= - apparmor? ( sys-libs/libapparmor ) - audit? ( sys-process/audit ) - caps? ( sys-libs/libcap-ng ) - dbus? ( sys-apps/dbus ) - firewalld? ( net-firewall/firewalld ) - fuse? ( >=sys-fs/fuse-2.8.6:= ) - glusterfs? ( >=sys-cluster/glusterfs-3.4.1 ) - iscsi? ( sys-block/open-iscsi ) - libssh? ( net-libs/libssh ) - lvm? ( >=sys-fs/lvm2-2.02.48-r2[-device-mapper-only(-)] ) - nfs? ( net-fs/nfs-utils ) - numa? ( - >sys-process/numactl-2.0.2 - sys-process/numad - ) - parted? ( - >=sys-block/parted-1.8[device-mapper] - sys-fs/lvm2[-device-mapper-only(-)] - ) - pcap? ( >=net-libs/libpcap-1.0.0 ) - policykit? ( >=sys-auth/polkit-0.9 ) - qemu? ( - >=app-emulation/qemu-0.13.0 - dev-libs/yajl - ) - rbd? ( sys-cluster/ceph ) - sasl? ( dev-libs/cyrus-sasl ) - selinux? ( >=sys-libs/libselinux-2.0.85 ) - virt-network? ( - net-dns/dnsmasq[script] - net-firewall/ebtables - >=net-firewall/iptables-1.4.10[ipv6] - net-misc/radvd - sys-apps/iproute2[-minimal] - ) - virtualbox? ( || ( app-emulation/virtualbox >=app-emulation/virtualbox-bin-2.2.0 ) ) - wireshark-plugins? ( net-analyzer/wireshark:= ) - xen? ( - app-emulation/xen - app-emulation/xen-tools:= - ) - udev? ( - virtual/udev - >=x11-libs/libpciaccess-0.10.9 - ) - zeroconf? ( >=net-dns/avahi-0.6[dbus] ) - zfs? ( sys-fs/zfs )" - -DEPEND="${RDEPEND} - app-text/xhtml1 - dev-lang/perl - dev-libs/libxslt - dev-perl/XML-XPath - virtual/pkgconfig" - -PATCHES=( - "${FILESDIR}"/${PN}-1.3.0-do_not_use_sysconf.patch - "${FILESDIR}"/${PN}-1.2.16-fix_paths_in_libvirt-guests_sh.patch - "${FILESDIR}"/${PN}-3.10.0-r2-fix_paths_for_apparmor.patch - "${FILESDIR}"/${PN}-1.3.4-glibc-2.23.patch - "${FILESDIR}"/${PN}-3.1.0-musl-fix-includes.patch # bug #609488 -) - -pkg_setup() { - if use qemu; then - enewgroup qemu 77 - enewuser qemu 77 -1 -1 "qemu,kvm" - fi - - use policykit && enewgroup libvirt - - # Check kernel configuration: - CONFIG_CHECK="" - use fuse && CONFIG_CHECK+=" - ~FUSE_FS" - - use lvm && CONFIG_CHECK+=" - ~BLK_DEV_DM - ~DM_MULTIPATH - ~DM_SNAPSHOT" - - use lxc && CONFIG_CHECK+=" - ~BLK_CGROUP - ~CGROUP_CPUACCT - ~CGROUP_DEVICE - ~CGROUP_FREEZER - ~CGROUP_NET_PRIO - ~CGROUP_PERF - ~CGROUPS - ~CGROUP_SCHED - ~CPUSETS - ~IPC_NS - ~MACVLAN - ~NAMESPACES - ~NET_CLS_CGROUP - ~NET_NS - ~PID_NS - ~POSIX_MQUEUE - ~SECURITYFS - ~USER_NS - ~UTS_NS - ~VETH - ~!GRKERNSEC_CHROOT_MOUNT - ~!GRKERNSEC_CHROOT_DOUBLE - ~!GRKERNSEC_CHROOT_PIVOT - ~!GRKERNSEC_CHROOT_CHMOD - ~!GRKERNSEC_CHROOT_CAPS" - - kernel_is lt 4 7 && use lxc && CONFIG_CHECK+=" - ~DEVPTS_MULTIPLE_INSTANCES" - - use macvtap && CONFIG_CHECK+=" - ~MACVTAP" - - use virt-network && CONFIG_CHECK+=" - ~BRIDGE_EBT_MARK_T - ~BRIDGE_NF_EBTABLES - ~NETFILTER_ADVANCED - ~NETFILTER_XT_CONNMARK - ~NETFILTER_XT_MARK - ~NETFILTER_XT_TARGET_CHECKSUM" - # Bandwidth Limiting Support - use virt-network && CONFIG_CHECK+=" - ~BRIDGE_EBT_T_NAT - ~NET_ACT_POLICE - ~NET_CLS_FW - ~NET_CLS_U32 - ~NET_SCH_HTB - ~NET_SCH_INGRESS - ~NET_SCH_SFQ" - - # Handle specific kernel versions for different features - kernel_is lt 3 6 && CONFIG_CHECK+=" ~CGROUP_MEM_RES_CTLR" - if kernel_is ge 3 6; then - CONFIG_CHECK+=" ~MEMCG ~MEMCG_SWAP " - kernel_is lt 4 5 && CONFIG_CHECK+=" ~MEMCG_KMEM " - fi - - ERROR_USER_NS="Optional depending on LXC configuration." - - if [[ -n ${CONFIG_CHECK} ]]; then - linux-info_pkg_setup - fi -} - -src_prepare() { - touch "${S}/.mailmap" - - default - - if [[ ${PV} = *9999* ]]; then - # git checkouts require bootstrapping to create the configure script. - # Additionally the submodules must be cloned to the right locations - # bug #377279 - ./bootstrap || die "bootstrap failed" - ( - git submodule status | sed 's/^[ +-]//;s/ .*//' - git hash-object bootstrap.conf - ) >.git-module-status - fi - - # Tweak the init script: - cp "${FILESDIR}/libvirtd.init-r16" "${S}/libvirtd.init" || die - sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \ - -e "s/USE_FLAG_AVAHI/$(usex zeroconf 'use avahi-daemon' '')/" \ - -e "s/USE_FLAG_ISCSI/$(usex iscsi 'use iscsid' '')/" \ - -e "s/USE_FLAG_RBD/$(usex rbd 'use ceph' '')/" \ - -i "${S}/libvirtd.init" || die "sed failed" - - eautoreconf -} - -src_configure() { - local myeconfargs=( - $(use_with apparmor) - $(use_with apparmor apparmor-profiles) - $(use_with audit) - $(use_with caps capng) - $(use_with dbus) - $(use_with firewalld) - $(use_with fuse) - $(use_with glusterfs) - $(use_with glusterfs storage-gluster) - $(use_with iscsi storage-iscsi) - $(use_with libvirtd) - $(use_with libssh) - $(use_with lvm storage-lvm) - $(use_with lvm storage-mpath) - $(use_with lxc) - $(use_with macvtap) - $(use_enable nls) - $(use_with numa numactl) - $(use_with numa numad) - $(use_with openvz) - $(use_with parted storage-disk) - $(use_with pcap libpcap) - $(use_with phyp) - $(use_with policykit polkit) - $(use_with qemu) - $(use_with qemu yajl) - $(use_with rbd storage-rbd) - $(use_with sasl) - $(use_with selinux) - $(use_with udev) - $(use_with uml) - $(use_with vepa virtualport) - $(use_with virt-network network) - $(use_with wireshark-plugins wireshark-dissector) - $(use_with xen) - $(use_with xen xen-inotify) - $(use_with xen libxl) - $(use_with zeroconf avahi) - $(use_with zfs storage-zfs) - - --without-hal - --without-netcf - --without-sanlock - --without-xenapi - - --with-esx - --with-init-script=systemd - --with-qemu-group=$(usex caps qemu root) - --with-qemu-user=$(usex caps qemu root) - --with-remote - --with-storage-fs - --with-vmware - - --disable-static - --disable-werror - - --with-html-subdir=${PF}/html - --localstatedir=/var - ) - - if use virtualbox && has_version app-emulation/virtualbox-ose; then - myeconfargs+=( --with-vbox=/usr/lib/virtualbox-ose/ ) - else - myeconfargs+=( $(use_with virtualbox vbox) ) - fi - - econf "${myeconfargs[@]}" - - if [[ ${PV} = *9999* ]]; then - # Restore gnulib's config.sub and config.guess - # bug #377279 - (cd .gnulib && git reset --hard > /dev/null) - fi -} - -src_test() { - cd "${BUILD_DIR}" - - # remove problematic tests, bug #591416, bug #591418 - sed -i -e 's#commandtest$(EXEEXT) # #' \ - -e 's#virfirewalltest$(EXEEXT) # #' \ - -e 's#nwfilterebiptablestest$(EXEEXT) # #' \ - -e 's#nwfilterxml2firewalltest$(EXEEXT)$##' \ - tests/Makefile - - export VIR_TEST_DEBUG=1 - HOME="${T}" emake check || die "tests failed" -} - -src_install() { - emake DESTDIR="${D}" \ - SYSTEMD_UNIT_DIR="$(systemd_get_systemunitdir)" install - - find "${D}" -name '*.la' -delete || die - - # Remove bogus, empty directories. They are either not used, or - # libvirtd is able to create them on demand - rm -rf "${D}"/etc/sysconfig - rm -rf "${D}"/var/cache - rm -rf "${D}"/var/run - rm -rf "${D}"/var/log - - use libvirtd || return 0 - # From here, only libvirtd-related instructions, be warned! - - systemd_install_serviced \ - "${FILESDIR}"/libvirtd.service.conf libvirtd.service - - systemd_newtmpfilesd "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf - - newinitd "${S}/libvirtd.init" libvirtd || die - newinitd "${FILESDIR}/libvirt-guests.init-r2" libvirt-guests || die - newinitd "${FILESDIR}/virtlockd.init-r1" virtlockd || die - newinitd "${FILESDIR}/virtlogd.init-r1" virtlogd || die - - newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd || die - newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests || die - - DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r2") - DISABLE_AUTOFORMATTING=true - readme.gentoo_create_doc -} - -pkg_preinst() { - # we only ever want to generate this once - if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then - rm -rf "${D}"/etc/libvirt/qemu/networks/default.xml - fi -} - -pkg_postinst() { - if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then - touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml - fi - - use libvirtd || return 0 - # From here, only libvirtd-related instructions, be warned! - - readme.gentoo_print_elog -} diff --git a/app-emulation/libvirt/libvirt-3.8.0-r1.ebuild b/app-emulation/libvirt/libvirt-3.8.0-r1.ebuild deleted file mode 100644 index e131f0e87239..000000000000 --- a/app-emulation/libvirt/libvirt-3.8.0-r1.ebuild +++ /dev/null @@ -1,381 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit autotools eutils user linux-info systemd readme.gentoo-r1 - -if [[ ${PV} = *9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="git://libvirt.org/libvirt.git" - SRC_URI="" - KEYWORDS="amd64 x86" - SLOT="0" -else - # Versions with 4 numbers are stable updates: - if [[ ${PV} =~ ^[0-9]+(\.[0-9]+){3} ]]; then - SRC_URI="http://libvirt.org/sources/stable_updates/${P}.tar.xz" - else - SRC_URI="http://libvirt.org/sources/${P}.tar.xz" - fi - KEYWORDS="amd64 ~arm64 x86" - SLOT="0/${PV}" -fi - -DESCRIPTION="C toolkit to manipulate virtual machines" -HOMEPAGE="http://www.libvirt.org/" -LICENSE="LGPL-2.1" -IUSE=" - apparmor audit +caps +dbus firewalld fuse glusterfs iscsi +libvirtd lvm - libssh lxc +macvtap nfs nls numa openvz parted pcap phyp policykit - +qemu rbd sasl selinux +udev uml +vepa virtualbox virt-network - wireshark-plugins xen zeroconf zfs -" - -REQUIRED_USE=" - firewalld? ( virt-network ) - libvirtd? ( || ( lxc openvz qemu uml virtualbox xen ) ) - lxc? ( caps libvirtd ) - openvz? ( libvirtd ) - policykit? ( dbus ) - qemu? ( libvirtd ) - uml? ( libvirtd ) - vepa? ( macvtap ) - virt-network? ( libvirtd ) - virtualbox? ( libvirtd ) - xen? ( libvirtd )" - -# gettext.sh command is used by the libvirt command wrappers, and it's -# non-optional, so put it into RDEPEND. -# We can use both libnl:1.1 and libnl:3, but if you have both installed, the -# package will use 3 by default. Since we don't have slot pinning in an API, -# we must go with the most recent -RDEPEND=" - app-misc/scrub - dev-libs/libgcrypt:0 - dev-libs/libnl:3 - >=dev-libs/libxml2-2.7.6 - || ( >=net-analyzer/netcat6-1.0-r2 >=net-analyzer/openbsd-netcat-1.105-r1 ) - >=net-libs/gnutls-1.0.25:0= - net-libs/libssh2 - >=net-misc/curl-7.18.0 - sys-apps/dmidecode - >=sys-apps/util-linux-2.17 - sys-devel/gettext - sys-libs/ncurses:0= - sys-libs/readline:= - apparmor? ( sys-libs/libapparmor ) - audit? ( sys-process/audit ) - caps? ( sys-libs/libcap-ng ) - dbus? ( sys-apps/dbus ) - firewalld? ( net-firewall/firewalld ) - fuse? ( >=sys-fs/fuse-2.8.6:= ) - glusterfs? ( >=sys-cluster/glusterfs-3.4.1 ) - iscsi? ( sys-block/open-iscsi ) - libssh? ( net-libs/libssh ) - lvm? ( >=sys-fs/lvm2-2.02.48-r2[-device-mapper-only(-)] ) - nfs? ( net-fs/nfs-utils ) - numa? ( - >sys-process/numactl-2.0.2 - sys-process/numad - ) - parted? ( - >=sys-block/parted-1.8[device-mapper] - sys-fs/lvm2[-device-mapper-only(-)] - ) - pcap? ( >=net-libs/libpcap-1.0.0 ) - policykit? ( >=sys-auth/polkit-0.9 ) - qemu? ( - >=app-emulation/qemu-0.13.0 - dev-libs/yajl - ) - rbd? ( sys-cluster/ceph ) - sasl? ( dev-libs/cyrus-sasl ) - selinux? ( >=sys-libs/libselinux-2.0.85 ) - virt-network? ( - net-dns/dnsmasq[script] - net-firewall/ebtables - >=net-firewall/iptables-1.4.10[ipv6] - net-misc/radvd - sys-apps/iproute2[-minimal] - ) - virtualbox? ( || ( app-emulation/virtualbox >=app-emulation/virtualbox-bin-2.2.0 ) ) - wireshark-plugins? ( net-analyzer/wireshark:= ) - xen? ( - app-emulation/xen - app-emulation/xen-tools:= - ) - udev? ( - virtual/udev - >=x11-libs/libpciaccess-0.10.9 - ) - zeroconf? ( >=net-dns/avahi-0.6[dbus] ) - zfs? ( sys-fs/zfs )" - -DEPEND="${RDEPEND} - app-text/xhtml1 - dev-lang/perl - dev-libs/libxslt - dev-perl/XML-XPath - virtual/pkgconfig" - -PATCHES=( - "${FILESDIR}"/${PN}-1.3.0-do_not_use_sysconf.patch - "${FILESDIR}"/${PN}-1.2.16-fix_paths_in_libvirt-guests_sh.patch - "${FILESDIR}"/${PN}-3.0.0-fix_paths_for_apparmor.patch - "${FILESDIR}"/${PN}-1.3.4-glibc-2.23.patch - "${FILESDIR}"/${PN}-3.1.0-musl-fix-includes.patch # bug #609488 - "${FILESDIR}"/${PN}-3.8.0-CVE-2017-1000256.patch # bug #635174 -) - -pkg_setup() { - if use qemu; then - enewgroup qemu 77 - enewuser qemu 77 -1 -1 "qemu,kvm" - fi - - use policykit && enewgroup libvirt - - # Check kernel configuration: - CONFIG_CHECK="" - use fuse && CONFIG_CHECK+=" - ~FUSE_FS" - - use lvm && CONFIG_CHECK+=" - ~BLK_DEV_DM - ~DM_MULTIPATH - ~DM_SNAPSHOT" - - use lxc && CONFIG_CHECK+=" - ~BLK_CGROUP - ~CGROUP_CPUACCT - ~CGROUP_DEVICE - ~CGROUP_FREEZER - ~CGROUP_NET_PRIO - ~CGROUP_PERF - ~CGROUPS - ~CGROUP_SCHED - ~CPUSETS - ~IPC_NS - ~MACVLAN - ~NAMESPACES - ~NET_CLS_CGROUP - ~NET_NS - ~PID_NS - ~POSIX_MQUEUE - ~SECURITYFS - ~USER_NS - ~UTS_NS - ~VETH - ~!GRKERNSEC_CHROOT_MOUNT - ~!GRKERNSEC_CHROOT_DOUBLE - ~!GRKERNSEC_CHROOT_PIVOT - ~!GRKERNSEC_CHROOT_CHMOD - ~!GRKERNSEC_CHROOT_CAPS" - - kernel_is lt 4 7 && use lxc && CONFIG_CHECK+=" - ~DEVPTS_MULTIPLE_INSTANCES" - - use macvtap && CONFIG_CHECK+=" - ~MACVTAP" - - use virt-network && CONFIG_CHECK+=" - ~BRIDGE_EBT_MARK_T - ~BRIDGE_NF_EBTABLES - ~NETFILTER_ADVANCED - ~NETFILTER_XT_CONNMARK - ~NETFILTER_XT_MARK - ~NETFILTER_XT_TARGET_CHECKSUM" - # Bandwidth Limiting Support - use virt-network && CONFIG_CHECK+=" - ~BRIDGE_EBT_T_NAT - ~NET_ACT_POLICE - ~NET_CLS_FW - ~NET_CLS_U32 - ~NET_SCH_HTB - ~NET_SCH_INGRESS - ~NET_SCH_SFQ" - - # Handle specific kernel versions for different features - kernel_is lt 3 6 && CONFIG_CHECK+=" ~CGROUP_MEM_RES_CTLR" - if kernel_is ge 3 6; then - CONFIG_CHECK+=" ~MEMCG ~MEMCG_SWAP " - kernel_is lt 4 5 && CONFIG_CHECK+=" ~MEMCG_KMEM " - fi - - ERROR_USER_NS="Optional depending on LXC configuration." - - if [[ -n ${CONFIG_CHECK} ]]; then - linux-info_pkg_setup - fi -} - -src_prepare() { - touch "${S}/.mailmap" - - default - - if [[ ${PV} = *9999* ]]; then - # git checkouts require bootstrapping to create the configure script. - # Additionally the submodules must be cloned to the right locations - # bug #377279 - ./bootstrap || die "bootstrap failed" - ( - git submodule status | sed 's/^[ +-]//;s/ .*//' - git hash-object bootstrap.conf - ) >.git-module-status - fi - - # Tweak the init script: - cp "${FILESDIR}/libvirtd.init-r16" "${S}/libvirtd.init" || die - sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \ - -e "s/USE_FLAG_AVAHI/$(usex zeroconf 'use avahi-daemon' '')/" \ - -e "s/USE_FLAG_ISCSI/$(usex iscsi 'use iscsid' '')/" \ - -e "s/USE_FLAG_RBD/$(usex rbd 'use ceph' '')/" \ - -i "${S}/libvirtd.init" || die "sed failed" - - eautoreconf -} - -src_configure() { - local myeconfargs=( - $(use_with apparmor) - $(use_with apparmor apparmor-profiles) - $(use_with audit) - $(use_with caps capng) - $(use_with dbus) - $(use_with firewalld) - $(use_with fuse) - $(use_with glusterfs) - $(use_with glusterfs storage-gluster) - $(use_with iscsi storage-iscsi) - $(use_with libvirtd) - $(use_with libssh) - $(use_with lvm storage-lvm) - $(use_with lvm storage-mpath) - $(use_with lxc) - $(use_with macvtap) - $(use_enable nls) - $(use_with numa numactl) - $(use_with numa numad) - $(use_with openvz) - $(use_with parted storage-disk) - $(use_with pcap libpcap) - $(use_with phyp) - $(use_with policykit polkit) - $(use_with qemu) - $(use_with qemu yajl) - $(use_with rbd storage-rbd) - $(use_with sasl) - $(use_with selinux) - $(use_with udev) - $(use_with uml) - $(use_with vepa virtualport) - $(use_with virt-network network) - $(use_with wireshark-plugins wireshark-dissector) - $(use_with xen) - $(use_with xen xen-inotify) - $(use_with xen libxl) - $(use_with zeroconf avahi) - $(use_with zfs storage-zfs) - - --without-hal - --without-netcf - --without-sanlock - --without-xenapi - - --with-esx - --with-init-script=systemd - --with-qemu-group=$(usex caps qemu root) - --with-qemu-user=$(usex caps qemu root) - --with-remote - --with-storage-fs - --with-vmware - - --disable-static - --disable-werror - - --with-html-subdir=${PF}/html - --localstatedir=/var - ) - - if use virtualbox && has_version app-emulation/virtualbox-ose; then - myeconfargs+=( --with-vbox=/usr/lib/virtualbox-ose/ ) - else - myeconfargs+=( $(use_with virtualbox vbox) ) - fi - - econf "${myeconfargs[@]}" - - if [[ ${PV} = *9999* ]]; then - # Restore gnulib's config.sub and config.guess - # bug #377279 - (cd .gnulib && git reset --hard > /dev/null) - fi -} - -src_test() { - cd "${BUILD_DIR}" - - # remove problematic tests, bug #591416, bug #591418 - sed -i -e 's#commandtest$(EXEEXT) # #' \ - -e 's#virfirewalltest$(EXEEXT) # #' \ - -e 's#nwfilterebiptablestest$(EXEEXT) # #' \ - -e 's#nwfilterxml2firewalltest$(EXEEXT)$##' \ - tests/Makefile - - export VIR_TEST_DEBUG=1 - HOME="${T}" emake check || die "tests failed" -} - -src_install() { - emake DESTDIR="${D}" \ - SYSTEMD_UNIT_DIR="$(systemd_get_systemunitdir)" install - - find "${D}" -name '*.la' -delete || die - - # Remove bogus, empty directories. They are either not used, or - # libvirtd is able to create them on demand - rm -rf "${D}"/etc/sysconfig - rm -rf "${D}"/var/cache - rm -rf "${D}"/var/run - rm -rf "${D}"/var/log - - use libvirtd || return 0 - # From here, only libvirtd-related instructions, be warned! - - systemd_install_serviced \ - "${FILESDIR}"/libvirtd.service.conf libvirtd.service - - systemd_newtmpfilesd "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf - - newinitd "${S}/libvirtd.init" libvirtd || die - newinitd "${FILESDIR}/libvirt-guests.init-r2" libvirt-guests || die - newinitd "${FILESDIR}/virtlockd.init-r1" virtlockd || die - newinitd "${FILESDIR}/virtlogd.init-r1" virtlogd || die - - newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd || die - newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests || die - - DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r2") - DISABLE_AUTOFORMATTING=true - readme.gentoo_create_doc -} - -pkg_preinst() { - # we only ever want to generate this once - if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then - rm -rf "${D}"/etc/libvirt/qemu/networks/default.xml - fi -} - -pkg_postinst() { - if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then - touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml - fi - - use libvirtd || return 0 - # From here, only libvirtd-related instructions, be warned! - - readme.gentoo_print_elog -} diff --git a/app-emulation/libvirt/libvirt-4.0.0.ebuild b/app-emulation/libvirt/libvirt-4.0.0.ebuild index 1107c986520c..bed41a07b0a5 100644 --- a/app-emulation/libvirt/libvirt-4.0.0.ebuild +++ b/app-emulation/libvirt/libvirt-4.0.0.ebuild @@ -9,7 +9,7 @@ if [[ ${PV} = *9999* ]]; then inherit git-r3 EGIT_REPO_URI="git://libvirt.org/libvirt.git" SRC_URI="" - KEYWORDS="" + KEYWORDS="amd64 x86" SLOT="0" else # Versions with 4 numbers are stable updates: @@ -18,7 +18,7 @@ else else SRC_URI="http://libvirt.org/sources/${P}.tar.xz" fi - KEYWORDS="~amd64 ~arm64 ~x86" + KEYWORDS="amd64 ~arm64 x86" SLOT="0/${PV}" fi diff --git a/app-emulation/libvirt/libvirt-9999.ebuild b/app-emulation/libvirt/libvirt-9999.ebuild index 84ae6b580a78..3e57dd9a00e4 100644 --- a/app-emulation/libvirt/libvirt-9999.ebuild +++ b/app-emulation/libvirt/libvirt-9999.ebuild @@ -122,7 +122,7 @@ DEPEND="${RDEPEND} PATCHES=( "${FILESDIR}"/${PN}-1.3.0-do_not_use_sysconf.patch "${FILESDIR}"/${PN}-1.2.16-fix_paths_in_libvirt-guests_sh.patch - "${FILESDIR}"/${PN}-3.0.0-fix_paths_for_apparmor.patch + "${FILESDIR}"/${PN}-3.10.0-r2-fix_paths_for_apparmor.patch "${FILESDIR}"/${PN}-1.3.4-glibc-2.23.patch ) diff --git a/app-emulation/nemu/Manifest b/app-emulation/nemu/Manifest index b043de6dc047..55eeb8d693b9 100644 --- a/app-emulation/nemu/Manifest +++ b/app-emulation/nemu/Manifest @@ -4,4 +4,5 @@ DIST nemu-1.3.0.tar.gz 70769 BLAKE2B 73108346c70f7ececd2b20cc91da323f2ecb4049140 EBUILD nemu-1.1.0.ebuild 873 BLAKE2B e12690f1d1126c8dfd810b599e9b35e4ef8d01411609009761df056ae1c297f0ef0968f2e4a5e1a8ec6d905e0bbe168a3b8c2b8d478657f1a3b855512479374f SHA512 8639e85e33e4941e3425473e363c710d8e0cc1a09aed00d31c12a349065ba3be98392cfdb3fb2d82e1381caac17a07f6862733aed0215bff931e4dd33930a2b5 EBUILD nemu-1.2.0.ebuild 873 BLAKE2B e12690f1d1126c8dfd810b599e9b35e4ef8d01411609009761df056ae1c297f0ef0968f2e4a5e1a8ec6d905e0bbe168a3b8c2b8d478657f1a3b855512479374f SHA512 8639e85e33e4941e3425473e363c710d8e0cc1a09aed00d31c12a349065ba3be98392cfdb3fb2d82e1381caac17a07f6862733aed0215bff931e4dd33930a2b5 EBUILD nemu-1.3.0.ebuild 873 BLAKE2B e12690f1d1126c8dfd810b599e9b35e4ef8d01411609009761df056ae1c297f0ef0968f2e4a5e1a8ec6d905e0bbe168a3b8c2b8d478657f1a3b855512479374f SHA512 8639e85e33e4941e3425473e363c710d8e0cc1a09aed00d31c12a349065ba3be98392cfdb3fb2d82e1381caac17a07f6862733aed0215bff931e4dd33930a2b5 -MISC metadata.xml 251 BLAKE2B f3c965f619454b2d17e1039b6c218308c83af9214f41a5b18244ce9bd811b0a0b6e0227fdaac9b1659a2e2467e6b992b771ff6cf431220648363ab8173ee76f2 SHA512 e8203a24b5e739dcf0d94742215ee6ccdccbd00bb43001f9df58d27100fa427b01937065e1d7399e3552532b09179611e06099e3af14aac5fcf9ddc4ca5463da +EBUILD nemu-9999.ebuild 1916 BLAKE2B 232c49c84167c44c6fc3afd2e1b26cb6f820b53d345956c4d92058368f095206e3351ac431728a6f8847a88e53f09af7e39b5ff24874635b231b9a1ca6df7abc SHA512 87b016f6a485c921222428b96b11687cfb906118cfc398318b14f45ebd1c09aeb710b0cdea389a41e5936478e31645925599b32fe203fe07559debb54d7ed9b4 +MISC metadata.xml 499 BLAKE2B 2d190da58be258c1e5e997128bc65e9f928c9ec86e9be23d43cc881c92d9cd65e9cdee6db7afb92abf799aaa552ad5ddcf6dbdafd26d12c2521e8724f7f98471 SHA512 42e56aaad5eff7d180c6af0ef571f5fca4e101e934fc7506387456d89068ab8446e861dcd1124d85d962bf05b48a26833d0883b7c152c7214c79c324c18d236f diff --git a/app-emulation/nemu/metadata.xml b/app-emulation/nemu/metadata.xml index 58c1077b82e4..ad75c6dc879c 100644 --- a/app-emulation/nemu/metadata.xml +++ b/app-emulation/nemu/metadata.xml @@ -5,4 +5,9 @@ monsieurp@gentoo.org Patrice Clement + + Adds support for external VNC client + Adds support for QEMU savevm snapshots (experimental, QEMU must be patched) + Adds support for OVA/OVF import + diff --git a/app-emulation/nemu/nemu-9999.ebuild b/app-emulation/nemu/nemu-9999.ebuild new file mode 100644 index 000000000000..fe30968437c7 --- /dev/null +++ b/app-emulation/nemu/nemu-9999.ebuild @@ -0,0 +1,74 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit cmake-utils linux-info git-r3 + +DESCRIPTION="ncurses interface for QEMU" +HOMEPAGE="https://lib.void.so/nemu" +EGIT_REPO_URI="https://bitbucket.org/PascalRD/nemu.git" +SRC_URI="" + +LICENSE="BSD-2" +SLOT="0" +IUSE="+vnc-client +ovf savevm debug" + +RDEPEND=" + sys-libs/ncurses:0=[unicode] + dev-db/sqlite:3= + virtual/libusb:1 + || ( sys-fs/eudev sys-fs/udev ) + app-emulation/qemu[vnc,virtfs] + ovf? ( + dev-libs/libxml2 + app-arch/libarchive + ) + vnc-client? ( net-misc/tigervnc )" + +DEPEND=" + ${RDEPEND} + sys-devel/gettext" + +src_configure() { + local mycmakeargs=( + -DNM_WITH_VNC_CLIENT=$(usex vnc-client) + -DNM_DEBUG=$(usex debug) + -DNM_SAVEVM_SNAPSHOTS=$(usex savevm) + -DNM_WITH_OVF_SUPPORT=$(usex ovf) + ) + cmake-utils_src_configure +} + +pkg_pretend() { + if use kernel_linux; then + if ! linux_config_exists; then + eerror "Unable to check your kernel" + else + CONFIG_CHECK="~VETH ~MACVTAP" + ERROR_VETH="You will need the Virtual ethernet pair device driver compiled" + ERROR_VETH+=" into your kernel or loaded as a module to use the" + ERROR_VETH+=" local network settings feature." + ERROR_MACVTAP="You will also need support for MAC-VLAN based tap driver." + + check_extra_config + fi + fi +} + +pkg_postinst() { + elog "Old database is not supported (nEMU versions < 1.0.0)." + elog "You will need to delete current database." + elog "If upgraded from 1.0.0, execute script:" + elog "/usr/share/nemu/scripts/upgrade_db.sh" + elog "" + elog "For non-root usage execute script:" + elog "/usr/share/nemu/scripts/setup_nemu_nonroot.sh linux " + elog "and add udev rule:" + elog "cp /usr/share/nemu/scripts/42-net-macvtap-perm.rules /lib/udev/rules.d" + if use savevm; then + elog "" + elog "QEMU must be patched with qemu-qmp-savevm-VERSION.patch" + elog "Get this patch from nEMU repository" + fi +} diff --git a/app-emulation/qemu-guest-agent/Manifest b/app-emulation/qemu-guest-agent/Manifest index 69820999b431..240a3f605456 100644 --- a/app-emulation/qemu-guest-agent/Manifest +++ b/app-emulation/qemu-guest-agent/Manifest @@ -5,13 +5,9 @@ AUX qemu-ga.init-r1 624 BLAKE2B 79416a272a89349e4174a4238fc7763fc1f116c7c4a2e7c4 AUX qemu-ga.logrotate 128 BLAKE2B 99035fefeccc6334c0cd5ae16e8550a07cfe4256d2374a0679a90805919aa4b7afac4f1d0c3bac72fcc5c7c0e0d87b227be8b1697338b827c890c56be77b07db SHA512 0fb39dd7ee528b36d8e837fbc53ba69476ba83947a4df10a9df03a02861a37d21f53865adbd3050c24aad72ec8a8bee1fb33f7382213d855884aff109f3c3789 AUX qemu-guest-agent-2.5.0-sysmacros.patch 365 BLAKE2B 0468e23b64612b0a9375ab6d47bd40447003f151d7f9421d1338d66663af390d69af6a8f9233eab66a69b7d38868e9735a19eefd16dd65f42853e4919ed27046 SHA512 a608a3d96f03c54fcccb7bcb354f0deec4bcb570f03b8ac9044ca5c6ee7a6252ae7cac05fb142d7c95feecfbb17e0499bbc1d6935c3e3e9ea7db319c4c11f6ad DIST qemu-2.10.1.tar.bz2 30821108 BLAKE2B bb096139f6b387a3cf3933dd3aeb97777479022b1b34ed0212b51d7061f9a19b3e83a4e9a13c6cf81c14718731ddf8646226a5b0d99ebbc9abb387d7eec94238 SHA512 1a4a6ebf700ec6851c83cc2a71eaea8d95f14c685d094eaaa86c740eb9401e49a79074b72385f58681ca7646771a99bb6bbd9bebb39162f7220626d37ed0654f +DIST qemu-2.11.0.tar.bz2 32816398 BLAKE2B 2014a8246f3cba9069186629d9ec8c221672fcfd3e8cd28a7e57f467add81f7bd84363183ef5cc5d18af91bde9186a4da49c0133c8ead83eae4626b9fc364e99 SHA512 3681700833573c0aa6283af950bfa298970056f1b44489088d8863840a7694512138321f86961ef43b256abf15eddd2612fb9cdbe3d9a358542d4e7037cc2004 DIST qemu-2.5.0.tar.bz2 25464996 BLAKE2B c2d36ed938644cb9e3a3541c16ceb09f1bc5f4897bc01d8974722fc167b4e5362e6674760ca7d22a8b157b20505d7643e2eea3810469e180c003857833f650aa SHA512 12153f94cc7f834fd6a85f25690c36f2331d88d414426fb8b9ac20a34e6f9222b1eda30b727674af583580fae90dfd6d0614a905dce1567d94cd049d426b9dd3 -DIST qemu-2.6.0.tar.bz2 25755267 BLAKE2B eae51d5a08a7346102d6ab362a8dc01bfca083eea026eba4ff7ddda3c606a4ea4e0155049ab9ca70788945631bb5ca9fc4acdf9718323d03be99335303b80800 SHA512 0d17075e52f7688cc05776ad7a76509d1f22ae8eda896fddb06c1fd6dea6da485422c8efb3ba118b054d9a413b7b02baba656a9131658dabdb71def50c92b215 -DIST qemu-2.8.1.tar.bz2 28366270 BLAKE2B 5aa044334a854d47ecf433a16e52773c25a7628bf58500ce22c8f857207d2a91e16ebf0dfd60cdc9a0d5e7f26e2e0cd8211afa20638d3cc0b4519cd819c85fd1 SHA512 0397b4029cdcb77ed053c44b3579a3f34894038e6fc6b4aa88de14515f5a78bf2f41c5e865f37111529f567c85d2f1c4deefae47dde54f76eac79410e5b2bdda -DIST qemu-2.9.0.tar.bz2 28720490 BLAKE2B 9c82522d5e391be9875ebed8ec097952a99a519b34518f6815c6daff085e9cf4ca2697220cb3fec99db11b89e75feec9f0cb523efb9b853dfcefb1f270925118 SHA512 4b28966eec0ca44681e35fcfb64a4eaef7c280b8d65c91d03f2efa37f76278fd8c1680e5798c7a30dbfcc8f3c05f4a803f48b8a2dfec3a4181bac079b2a5e422 EBUILD qemu-guest-agent-2.10.1.ebuild 1765 BLAKE2B a2f378264661430e2b62a36f6f59dd0583e78d0c9ed4c6548ab15eec74309814ef91e58ef5291727d092c9bdd87f23b367af0e68a903a072d1517fe35a5f2a4a SHA512 d5d088b94119150461695961ab6ef412c3dcfa7e81ebbfe252711f74c398ae6ddf6972798a82e60f123e12cf63201f35c047eeeca1b9f515c9e02720d98f0c9b +EBUILD qemu-guest-agent-2.11.0.ebuild 1765 BLAKE2B a88289e04d6aa996533f21d90f1a97127001a8ee867a2c24838d2e02f8f952f038e4338c8ed32ec8b152771c9ec9c5f6461bdf6c07986ea838e77b84ea95c32d SHA512 cbd6daffcc0ce49233eef3ade4a7dfea373c68763ee7589784448d4f9caf0ed3aafab174fdc5ace26266ac621eacf33844f46d9230b461c1f3b8034d554f3654 EBUILD qemu-guest-agent-2.5.0.ebuild 1791 BLAKE2B a8177d254e948ca6d69c41e6b8c69ec01357f779c2fe8a88f07c2c53f48bf191bffef6e0d8aed5e63d1d0eabaa54137971aefb820ab6295a4d6c905cfa5c9592 SHA512 2fbb48f9835c602d42e027cdd50b33d1c62b946305b8bfd78fbdbe36c1c3ebc07e8d32e0ae10e76934db5dea9dfdfdba702c43e5e8deb3f5df037ce6f9dbba80 -EBUILD qemu-guest-agent-2.6.0.ebuild 1795 BLAKE2B d90638489b34423032fae83f0c21a0f9e074fdc9ce8ea3971d679a7ae8d2a9c5c9626610a5c814e6b5e2bbc59bcf7d5fcdb1ca1a07eddcdaba62b54f997eb025 SHA512 99b03e7808629cc14f988ba5f1a855a8fddf45bcf4ad695d4c791e12ddc7b189828b62a025c03a887f3d3d935afaeee4db658ea29a5f1d153e757af841a95e35 -EBUILD qemu-guest-agent-2.8.1.ebuild 1769 BLAKE2B 0ec77acadf54ac656f719659ce29746bb9f8f1bf476ddec24bda9711cc786ba869d0963ef22972eef5c3dc45447e5fe55c4b7ad5c833dec10ed33e436f7c2f5c SHA512 9957f121352745a1067cad18a056dd5afa8e243daa8c3f8d4ebacaad1399ff4f8c435a76b1f0a46d7de9f7939935548018e96473c4f0fc0476b8caf0cd660ff4 -EBUILD qemu-guest-agent-2.9.0.ebuild 1769 BLAKE2B 0ec77acadf54ac656f719659ce29746bb9f8f1bf476ddec24bda9711cc786ba869d0963ef22972eef5c3dc45447e5fe55c4b7ad5c833dec10ed33e436f7c2f5c SHA512 9957f121352745a1067cad18a056dd5afa8e243daa8c3f8d4ebacaad1399ff4f8c435a76b1f0a46d7de9f7939935548018e96473c4f0fc0476b8caf0cd660ff4 MISC metadata.xml 251 BLAKE2B 710e422c2628b050aa585d9f186a099ed718bd08551b5168327a2d2ac00ba4933e047b0d813676cc0289b2d2ba2b7cef9adc9c1847efb2fca0cb58096d6e20db SHA512 7a5f4f7e0f89c87ab04103d4688e87d1560d63b3565dde0b6089f272ccf6c235e0d2ad31383a5171d425776c4a98b999eb5de420e42d1af8b80e76256b2c9297 diff --git a/app-emulation/qemu-guest-agent/qemu-guest-agent-2.11.0.ebuild b/app-emulation/qemu-guest-agent/qemu-guest-agent-2.11.0.ebuild new file mode 100644 index 000000000000..87d281523a68 --- /dev/null +++ b/app-emulation/qemu-guest-agent/qemu-guest-agent-2.11.0.ebuild @@ -0,0 +1,82 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +PYTHON_COMPAT=( python2_7 ) + +inherit eutils systemd udev python-any-r1 + +MY_PN="qemu" +MY_P="${MY_PN}-${PV}" + +SRC_URI="http://wiki.qemu.org/download/${MY_P}.tar.bz2" +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~x86-fbsd" + +DESCRIPTION="QEMU Guest Agent (qemu-ga) for use when running inside a VM" +HOMEPAGE="https://wiki.qemu.org/Features/GuestAgent" + +LICENSE="GPL-2 BSD-2" +SLOT="0" +IUSE="" + +RDEPEND=">=dev-libs/glib-2.22 + ! -Date: Mon, 9 Oct 2017 14:43:42 +0100 -Subject: [PATCH] io: monitor encoutput buffer size from websocket GSource - -The websocket GSource is monitoring the size of the rawoutput -buffer to determine if the channel can accepts more writes. -The rawoutput buffer, however, is merely a temporary staging -buffer before data is copied into the encoutput buffer. Thus -its size will always be zero when the GSource runs. - -This flaw causes the encoutput buffer to grow without bound -if the other end of the underlying data channel doesn't -read data being sent. This can be seen with VNC if a client -is on a slow WAN link and the guest OS is sending many screen -updates. A malicious VNC client can act like it is on a slow -link by playing a video in the guest and then reading data -very slowly, causing QEMU host memory to expand arbitrarily. - -This issue is assigned CVE-2017-15268, publically reported in - - https://bugs.launchpad.net/qemu/+bug/1718964 - -Reviewed-by: Eric Blake -Signed-off-by: Daniel P. Berrange ---- - io/channel-websock.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/io/channel-websock.c b/io/channel-websock.c -index d1d471f86e..04bcc059cd 100644 ---- a/io/channel-websock.c -+++ b/io/channel-websock.c -@@ -28,7 +28,7 @@ - #include - - --/* Max amount to allow in rawinput/rawoutput buffers */ -+/* Max amount to allow in rawinput/encoutput buffers */ - #define QIO_CHANNEL_WEBSOCK_MAX_BUFFER 8192 - - #define QIO_CHANNEL_WEBSOCK_CLIENT_KEY_LEN 24 -@@ -1208,7 +1208,7 @@ qio_channel_websock_source_check(GSource *source) - if (wsource->wioc->rawinput.offset || wsource->wioc->io_eof) { - cond |= G_IO_IN; - } -- if (wsource->wioc->rawoutput.offset < QIO_CHANNEL_WEBSOCK_MAX_BUFFER) { -+ if (wsource->wioc->encoutput.offset < QIO_CHANNEL_WEBSOCK_MAX_BUFFER) { - cond |= G_IO_OUT; - } - --- -2.13.6 - diff --git a/app-emulation/qemu/files/qemu-2.10.1-CVE-2017-15289.patch b/app-emulation/qemu/files/qemu-2.10.1-CVE-2017-15289.patch deleted file mode 100644 index a4ad2d5e4359..000000000000 --- a/app-emulation/qemu/files/qemu-2.10.1-CVE-2017-15289.patch +++ /dev/null @@ -1,58 +0,0 @@ -From eb38e1bc3740725ca29a535351de94107ec58d51 Mon Sep 17 00:00:00 2001 -From: Gerd Hoffmann -Date: Wed, 11 Oct 2017 10:43:14 +0200 -Subject: [PATCH] cirrus: fix oob access in mode4and5 write functions - -Move dst calculation into the loop, so we apply the mask on each -interation and will not overflow vga memory. - -Cc: Prasad J Pandit -Reported-by: Niu Guoxiang -Signed-off-by: Gerd Hoffmann -Message-id: 20171011084314.21752-1-kraxel@redhat.com ---- - hw/display/cirrus_vga.c | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) - -diff --git a/hw/display/cirrus_vga.c b/hw/display/cirrus_vga.c -index b4d579857a..bc32bf1e39 100644 ---- a/hw/display/cirrus_vga.c -+++ b/hw/display/cirrus_vga.c -@@ -2038,15 +2038,14 @@ static void cirrus_mem_writeb_mode4and5_8bpp(CirrusVGAState * s, - unsigned val = mem_value; - uint8_t *dst; - -- dst = s->vga.vram_ptr + (offset &= s->cirrus_addr_mask); - for (x = 0; x < 8; x++) { -+ dst = s->vga.vram_ptr + ((offset + x) & s->cirrus_addr_mask); - if (val & 0x80) { - *dst = s->cirrus_shadow_gr1; - } else if (mode == 5) { - *dst = s->cirrus_shadow_gr0; - } - val <<= 1; -- dst++; - } - memory_region_set_dirty(&s->vga.vram, offset, 8); - } -@@ -2060,8 +2059,8 @@ static void cirrus_mem_writeb_mode4and5_16bpp(CirrusVGAState * s, - unsigned val = mem_value; - uint8_t *dst; - -- dst = s->vga.vram_ptr + (offset &= s->cirrus_addr_mask); - for (x = 0; x < 8; x++) { -+ dst = s->vga.vram_ptr + ((offset + 2 * x) & s->cirrus_addr_mask & ~1); - if (val & 0x80) { - *dst = s->cirrus_shadow_gr1; - *(dst + 1) = s->vga.gr[0x11]; -@@ -2070,7 +2069,6 @@ static void cirrus_mem_writeb_mode4and5_16bpp(CirrusVGAState * s, - *(dst + 1) = s->vga.gr[0x10]; - } - val <<= 1; -- dst += 2; - } - memory_region_set_dirty(&s->vga.vram, offset, 16); - } --- -2.13.6 - diff --git a/app-emulation/qemu/files/qemu-2.11.0-glibc-2.27.patch b/app-emulation/qemu/files/qemu-2.11.0-glibc-2.27.patch new file mode 100644 index 000000000000..1562bb3c64a1 --- /dev/null +++ b/app-emulation/qemu/files/qemu-2.11.0-glibc-2.27.patch @@ -0,0 +1,54 @@ +From 75e5b70e6b5dcc4f2219992d7cffa462aa406af0 Mon Sep 17 00:00:00 2001 +From: Paolo Bonzini +Date: Tue, 28 Nov 2017 11:51:27 +0100 +Subject: [PATCH] memfd: fix configure test +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Recent glibc added memfd_create in sys/mman.h. This conflicts with +the definition in util/memfd.c: + + /builddir/build/BUILD/qemu-2.11.0-rc1/util/memfd.c:40:12: error: static declaration of memfd_create follows non-static declaration + +Fix the configure test, and remove the sys/memfd.h inclusion since the +file actually does not exist---it is a typo in the memfd_create(2) man +page. + +Cc: Marc-André Lureau +Signed-off-by: Paolo Bonzini +--- + configure | 2 +- + util/memfd.c | 4 +--- + 2 files changed, 2 insertions(+), 4 deletions(-) + +diff --git a/configure b/configure +index 9c8aa5a98b..99ccc1725a 100755 +--- a/configure ++++ b/configure +@@ -3923,7 +3923,7 @@ fi + # check if memfd is supported + memfd=no + cat > $TMPC << EOF +-#include ++#include + + int main(void) + { +diff --git a/util/memfd.c b/util/memfd.c +index 4571d1aba8..412e94a405 100644 +--- a/util/memfd.c ++++ b/util/memfd.c +@@ -31,9 +31,7 @@ + + #include "qemu/memfd.h" + +-#ifdef CONFIG_MEMFD +-#include +-#elif defined CONFIG_LINUX ++#if defined CONFIG_LINUX && !defined CONFIG_MEMFD + #include + #include + +-- +2.11.0 diff --git a/app-emulation/qemu/files/qemu-2.11.9999-cflags.patch b/app-emulation/qemu/files/qemu-2.11.9999-cflags.patch new file mode 100644 index 000000000000..8d7c387851a5 --- /dev/null +++ b/app-emulation/qemu/files/qemu-2.11.9999-cflags.patch @@ -0,0 +1,24 @@ +--- a/configure 2018-02-01 22:51:53.068467555 +0000 ++++ b/configure 2018-02-01 22:52:23.965041387 +0000 +@@ -5212,21 +5212,12 @@ fi + if test "$gcov" = "yes" ; then + CFLAGS="-fprofile-arcs -ftest-coverage -g $CFLAGS" + LDFLAGS="-fprofile-arcs -ftest-coverage $LDFLAGS" +-elif test "$fortify_source" = "yes" ; then +- CFLAGS="-O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 $CFLAGS" + elif test "$debug" = "yes"; then +- if compile_prog "-Og" ""; then +- CFLAGS="-Og $CFLAGS" +- elif compile_prog "-O1" ""; then +- CFLAGS="-O1 $CFLAGS" +- fi + # Workaround GCC false-positive Wuninitialized bugs with Og or O1: + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=24639 + if cc_has_warning_flag "-Wno-maybe-uninitialized"; then + CFLAGS="-Wno-maybe-uninitialized $CFLAGS" + fi +-else +- CFLAGS="-O2 $CFLAGS" + fi + + ########################################## diff --git a/app-emulation/qemu/qemu-2.10.1-r1.ebuild b/app-emulation/qemu/qemu-2.10.1-r1.ebuild deleted file mode 100644 index dcf84b71ab60..000000000000 --- a/app-emulation/qemu/qemu-2.10.1-r1.ebuild +++ /dev/null @@ -1,800 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" - -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE="ncurses,readline" - -PLOCALES="bg de_DE fr_FR hu it tr zh_CN" - -FIRMWARE_ABI_VERSION="2.9.0-r52" - -inherit eutils flag-o-matic linux-info toolchain-funcs multilib python-r1 \ - user udev fcaps readme.gentoo-r1 pax-utils l10n - -if [[ ${PV} = *9999* ]]; then - EGIT_REPO_URI="git://git.qemu.org/qemu.git" - inherit git-r3 - SRC_URI="" -else - SRC_URI="http://wiki.qemu-project.org/download/${P}.tar.bz2" - KEYWORDS="amd64 ~arm64 ~ppc ~ppc64 x86 ~x86-fbsd" -fi - -DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" -HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org" - -LICENSE="GPL-2 LGPL-2 BSD-2" -SLOT="0" -IUSE="accessibility +aio alsa bluetooth bzip2 +caps +curl debug +fdt - glusterfs gnutls gtk gtk2 infiniband iscsi +jpeg kernel_linux - kernel_FreeBSD lzo ncurses nfs nls numa opengl +pin-upstream-blobs +png - pulseaudio python rbd sasl +seccomp sdl sdl2 selinux smartcard snappy - spice ssh static static-user systemtap tci test usb usbredir vde - +vhost-net virgl virtfs +vnc vte xattr xen xfs" - -COMMON_TARGETS="aarch64 alpha arm cris i386 m68k microblaze microblazeel - mips mips64 mips64el mipsel nios2 or1k ppc ppc64 s390x sh4 sh4eb sparc - sparc64 x86_64" -IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} - lm32 moxie ppcemb tricore unicore32 xtensa xtensaeb" -IUSE_USER_TARGETS="${COMMON_TARGETS} - armeb hppa mipsn32 mipsn32el ppc64abi32 ppc64le sparc32plus tilegx" - -use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS}) -use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS}) -IUSE+=" ${use_softmmu_targets} ${use_user_targets}" - -# Allow no targets to be built so that people can get a tools-only build. -# Block USE flag configurations known to not work. -REQUIRED_USE="${PYTHON_REQUIRED_USE} - gtk2? ( gtk ) - qemu_softmmu_targets_arm? ( fdt ) - qemu_softmmu_targets_microblaze? ( fdt ) - qemu_softmmu_targets_mips64el? ( fdt ) - qemu_softmmu_targets_ppc? ( fdt ) - qemu_softmmu_targets_ppc64? ( fdt ) - sdl2? ( sdl ) - static? ( static-user !alsa !bluetooth !gtk !gtk2 !opengl !pulseaudio ) - virtfs? ( xattr ) - vte? ( gtk )" - -# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) -# and user/softmmu targets (qemu-*, qemu-system-*). -# -# Yep, you need both libcap and libcap-ng since virtfs only uses libcap. -# -# The attr lib isn't always linked in (although the USE flag is always -# respected). This is because qemu supports using the C library's API -# when available rather than always using the extranl library. -ALL_DEPEND=" - >=dev-libs/glib-2.0[static-libs(+)] - sys-libs/zlib[static-libs(+)] - python? ( ${PYTHON_DEPS} ) - systemtap? ( dev-util/systemtap ) - xattr? ( sys-apps/attr[static-libs(+)] )" - -# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) -# softmmu targets (qemu-system-*). -SOFTMMU_TOOLS_DEPEND=" - >=x11-libs/pixman-0.28.0[static-libs(+)] - accessibility? ( - app-accessibility/brltty[api] - app-accessibility/brltty[static-libs(+)] - ) - aio? ( dev-libs/libaio[static-libs(+)] ) - alsa? ( >=media-libs/alsa-lib-1.0.13 ) - bluetooth? ( net-wireless/bluez ) - bzip2? ( app-arch/bzip2[static-libs(+)] ) - caps? ( sys-libs/libcap-ng[static-libs(+)] ) - curl? ( >=net-misc/curl-7.15.4[static-libs(+)] ) - fdt? ( >=sys-apps/dtc-1.4.2[static-libs(+)] ) - glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] ) - gnutls? ( - dev-libs/nettle:=[static-libs(+)] - >=net-libs/gnutls-3.0:=[static-libs(+)] - ) - gtk? ( - gtk2? ( - x11-libs/gtk+:2 - vte? ( x11-libs/vte:0 ) - ) - !gtk2? ( - x11-libs/gtk+:3 - vte? ( x11-libs/vte:2.91 ) - ) - ) - infiniband? ( sys-fabric/librdmacm:=[static-libs(+)] ) - iscsi? ( net-libs/libiscsi ) - jpeg? ( virtual/jpeg:0=[static-libs(+)] ) - lzo? ( dev-libs/lzo:2[static-libs(+)] ) - ncurses? ( - sys-libs/ncurses:0=[unicode] - sys-libs/ncurses:0=[static-libs(+)] - ) - nfs? ( >=net-fs/libnfs-1.9.3[static-libs(+)] ) - numa? ( sys-process/numactl[static-libs(+)] ) - opengl? ( - virtual/opengl - media-libs/libepoxy[static-libs(+)] - media-libs/mesa[static-libs(+)] - media-libs/mesa[egl,gbm] - ) - png? ( media-libs/libpng:0=[static-libs(+)] ) - pulseaudio? ( media-sound/pulseaudio ) - rbd? ( sys-cluster/ceph[static-libs(+)] ) - sasl? ( dev-libs/cyrus-sasl[static-libs(+)] ) - sdl? ( - !sdl2? ( - media-libs/libsdl[X] - >=media-libs/libsdl-1.2.11[static-libs(+)] - ) - sdl2? ( - media-libs/libsdl2[X] - media-libs/libsdl2[static-libs(+)] - ) - ) - seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] ) - smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] ) - snappy? ( app-arch/snappy:=[static-libs(+)] ) - spice? ( - >=app-emulation/spice-protocol-0.12.3 - >=app-emulation/spice-0.12.0[static-libs(+)] - ) - ssh? ( >=net-libs/libssh2-1.2.8[static-libs(+)] ) - usb? ( >=virtual/libusb-1-r2[static-libs(+)] ) - usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] ) - vde? ( net-misc/vde[static-libs(+)] ) - virgl? ( media-libs/virglrenderer[static-libs(+)] ) - virtfs? ( sys-libs/libcap ) - xen? ( app-emulation/xen-tools:= ) - xfs? ( sys-fs/xfsprogs[static-libs(+)] )" - -X86_FIRMWARE_DEPEND=" - pin-upstream-blobs? ( - ~sys-firmware/edk2-ovmf-2017_pre20170505[binary] - ~sys-firmware/ipxe-1.0.0_p20160620 - ~sys-firmware/seabios-1.10.2[binary,seavgabios] - ~sys-firmware/sgabios-0.1_pre8 - ) - !pin-upstream-blobs? ( - sys-firmware/edk2-ovmf - sys-firmware/ipxe - >=sys-firmware/seabios-1.10.2[seavgabios] - sys-firmware/sgabios - )" -PPC64_FIRMWARE_DEPEND=" - pin-upstream-blobs? ( - ~sys-firmware/seabios-1.10.2[binary,seavgabios] - ) - !pin-upstream-blobs? ( - >=sys-firmware/seabios-1.10.2[seavgabios] - ) -" - -CDEPEND=" - !static? ( - ${ALL_DEPEND//\[static-libs(+)]} - ${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]} - ) - qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_ppc64? ( ${PPC64_FIRMWARE_DEPEND} ) -" -DEPEND="${CDEPEND} - dev-lang/perl - =dev-lang/python-2* - sys-apps/texinfo - virtual/pkgconfig - kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 ) - gtk? ( nls? ( sys-devel/gettext ) ) - static? ( - ${ALL_DEPEND} - ${SOFTMMU_TOOLS_DEPEND} - ) - static-user? ( ${ALL_DEPEND} ) - test? ( - dev-libs/glib[utils] - sys-devel/bc - )" -RDEPEND="${CDEPEND} - selinux? ( sec-policy/selinux-qemu )" - -PATCHES=( - "${FILESDIR}"/${PN}-2.5.0-cflags.patch - "${FILESDIR}"/${PN}-2.5.0-sysmacros.patch - "${FILESDIR}"/${PN}-2.10.1-CVE-2017-15268.patch - "${FILESDIR}"/${PN}-2.10.1-CVE-2017-15289.patch -) - -STRIP_MASK="/usr/share/qemu/palcode-clipper" - -QA_PREBUILT=" - usr/share/qemu/openbios-ppc - usr/share/qemu/openbios-sparc64 - usr/share/qemu/openbios-sparc32 - usr/share/qemu/palcode-clipper - usr/share/qemu/s390-ccw.img - usr/share/qemu/s390-netboot.img - usr/share/qemu/u-boot.e500" - -QA_WX_LOAD="usr/bin/qemu-i386 - usr/bin/qemu-x86_64 - usr/bin/qemu-alpha - usr/bin/qemu-arm - usr/bin/qemu-cris - usr/bin/qemu-m68k - usr/bin/qemu-microblaze - usr/bin/qemu-microblazeel - usr/bin/qemu-mips - usr/bin/qemu-mipsel - usr/bin/qemu-or1k - usr/bin/qemu-ppc - usr/bin/qemu-ppc64 - usr/bin/qemu-ppc64abi32 - usr/bin/qemu-sh4 - usr/bin/qemu-sh4eb - usr/bin/qemu-sparc - usr/bin/qemu-sparc64 - usr/bin/qemu-armeb - usr/bin/qemu-sparc32plus - usr/bin/qemu-s390x - usr/bin/qemu-unicore32" - -DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the -kernel module loaded before running kvm. The easiest way to ensure that the -kernel module is loaded is to load it on boot. - For AMD CPUs the module is called 'kvm-amd'. - For Intel CPUs the module is called 'kvm-intel'. -Please review /etc/conf.d/modules for how to load these. - -Make sure your user is in the 'kvm' group. Just run - $ gpasswd -a kvm -then have re-login. - -For brand new installs, the default permissions on /dev/kvm might not let -you access it. You can tell udev to reset ownership/perms: - $ udevadm trigger -c add /dev/kvm - -If you want to register binfmt handlers for qemu user targets: -For openrc: - # rc-update add qemu-binfmt -For systemd: - # ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf" - -pkg_pretend() { - if use kernel_linux && kernel_is lt 2 6 25; then - eerror "This version of KVM requres a host kernel of 2.6.25 or higher." - elif use kernel_linux; then - if ! linux_config_exists; then - eerror "Unable to check your kernel for KVM support" - else - CONFIG_CHECK="~KVM ~TUN ~BRIDGE" - ERROR_KVM="You must enable KVM in your kernel to continue" - ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in" - ERROR_KVM_AMD+=" your kernel configuration." - ERROR_KVM_INTEL="If you have an Intel CPU, you must enable" - ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration." - ERROR_TUN="You will need the Universal TUN/TAP driver compiled" - ERROR_TUN+=" into your kernel or loaded as a module to use the" - ERROR_TUN+=" virtual network device if using -net tap." - ERROR_BRIDGE="You will also need support for 802.1d" - ERROR_BRIDGE+=" Ethernet Bridging for some network configurations." - use vhost-net && CONFIG_CHECK+=" ~VHOST_NET" - ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net" - ERROR_VHOST_NET+=" support" - - if use amd64 || use x86 || use amd64-linux || use x86-linux; then - if grep -q AuthenticAMD /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_AMD" - elif grep -q GenuineIntel /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_INTEL" - fi - fi - - use python && CONFIG_CHECK+=" ~DEBUG_FS" - ERROR_DEBUG_FS="debugFS support required for kvm_stat" - - # Now do the actual checks setup above - check_extra_config - fi - fi - - if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then - eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt" - eerror "instances are still pointing to it. Please update your" - eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag" - eerror "and the right system binary (e.g. qemu-system-x86_64)." - die "update your virt configs to not use qemu-kvm" - fi -} - -pkg_setup() { - enewgroup kvm 78 -} - -# Sanity check to make sure target lists are kept up-to-date. -check_targets() { - local var=$1 mak=$2 - local detected sorted - - pushd "${S}"/default-configs >/dev/null || die - - # Force C locale until glibc is updated. #564936 - detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u)) - sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u)) - if [[ ${sorted} != "${detected}" ]] ; then - eerror "The ebuild needs to be kept in sync." - eerror "${var}: ${sorted}" - eerror "$(printf '%-*s' ${#var} configure): ${detected}" - die "sync ${var} to the list of targets" - fi - - popd >/dev/null -} - -handle_locales() { - # Make sure locale list is kept up-to-date. - local detected sorted - detected=$(echo $(cd po && printf '%s\n' *.po | grep -v messages.po | sed 's:.po$::' | sort -u)) - sorted=$(echo $(printf '%s\n' ${PLOCALES} | sort -u)) - if [[ ${sorted} != "${detected}" ]] ; then - eerror "The ebuild needs to be kept in sync." - eerror "PLOCALES: ${sorted}" - eerror " po/*.po: ${detected}" - die "sync PLOCALES" - fi - - # Deal with selective install of locales. - if use nls ; then - # Delete locales the user does not want. #577814 - rm_loc() { rm po/$1.po || die; } - l10n_for_each_disabled_locale_do rm_loc - else - # Cheap hack to disable gettext .mo generation. - rm -f po/*.po - fi -} - -src_prepare() { - check_targets IUSE_SOFTMMU_TARGETS softmmu - check_targets IUSE_USER_TARGETS linux-user - - # Alter target makefiles to accept CFLAGS set via flag-o - sed -i -r \ - -e 's/^(C|OP_C|HELPER_C)FLAGS=/\1FLAGS+=/' \ - Makefile Makefile.target || die - - default - - # Fix ld and objcopy being called directly - tc-export AR LD OBJCOPY - - # Verbose builds - MAKEOPTS+=" V=1" - - # Run after we've applied all patches. - handle_locales - - # Remove bundled copy of libfdt - rm -r dtc || die -} - -## -# configures qemu based on the build directory and the build type -# we are using. -# -qemu_src_configure() { - debug-print-function ${FUNCNAME} "$@" - - local buildtype=$1 - local builddir="${S}/${buildtype}-build" - - mkdir "${builddir}" - - local conf_opts=( - --prefix=/usr - --sysconfdir=/etc - --libdir=/usr/$(get_libdir) - --docdir=/usr/share/doc/${PF}/html - --disable-bsd-user - --disable-guest-agent - --disable-strip - --disable-werror - # We support gnutls/nettle for crypto operations. It is possible - # to use gcrypt when gnutls/nettle are disabled (but not when they - # are enabled), but it's not really worth the hassle. Disable it - # all the time to avoid automatically detecting it. #568856 - --disable-gcrypt - --python="${PYTHON}" - --cc="$(tc-getCC)" - --cxx="$(tc-getCXX)" - --host-cc="$(tc-getBUILD_CC)" - $(use_enable debug debug-info) - $(use_enable debug debug-tcg) - --enable-docs - $(use_enable tci tcg-interpreter) - $(use_enable xattr attr) - ) - - # Disable options not used by user targets. This simplifies building - # static user targets (USE=static-user) considerably. - conf_notuser() { - if [[ ${buildtype} == "user" ]] ; then - echo "--disable-${2:-$1}" - else - use_enable "$@" - fi - } - conf_opts+=( - $(conf_notuser accessibility brlapi) - $(conf_notuser aio linux-aio) - $(conf_notuser bzip2) - $(conf_notuser bluetooth bluez) - $(conf_notuser caps cap-ng) - $(conf_notuser curl) - $(conf_notuser fdt) - $(conf_notuser glusterfs) - $(conf_notuser gnutls) - $(conf_notuser gnutls nettle) - $(conf_notuser gtk) - $(conf_notuser infiniband rdma) - $(conf_notuser iscsi libiscsi) - $(conf_notuser jpeg vnc-jpeg) - $(conf_notuser kernel_linux kvm) - $(conf_notuser lzo) - $(conf_notuser ncurses curses) - $(conf_notuser nfs libnfs) - $(conf_notuser numa) - $(conf_notuser opengl) - $(conf_notuser png vnc-png) - $(conf_notuser rbd) - $(conf_notuser sasl vnc-sasl) - $(conf_notuser sdl) - $(conf_notuser seccomp) - $(conf_notuser smartcard) - $(conf_notuser snappy) - $(conf_notuser spice) - $(conf_notuser ssh libssh2) - $(conf_notuser usb libusb) - $(conf_notuser usbredir usb-redir) - $(conf_notuser vde) - $(conf_notuser vhost-net) - $(conf_notuser virgl virglrenderer) - $(conf_notuser virtfs) - $(conf_notuser vnc) - $(conf_notuser vte) - $(conf_notuser xen) - $(conf_notuser xen xen-pci-passthrough) - $(conf_notuser xfs xfsctl) - ) - - if [[ ! ${buildtype} == "user" ]] ; then - # audio options - local audio_opts="oss" - use alsa && audio_opts="alsa,${audio_opts}" - use sdl && audio_opts="sdl,${audio_opts}" - use pulseaudio && audio_opts="pa,${audio_opts}" - conf_opts+=( - --audio-drv-list="${audio_opts}" - ) - use gtk && conf_opts+=( --with-gtkabi=$(usex gtk2 2.0 3.0) ) - use sdl && conf_opts+=( --with-sdlabi=$(usex sdl2 2.0 1.2) ) - fi - - case ${buildtype} in - user) - conf_opts+=( - --enable-linux-user - --disable-system - --disable-blobs - --disable-tools - ) - local static_flag="static-user" - ;; - softmmu) - conf_opts+=( - --disable-linux-user - --enable-system - --disable-tools - --with-system-pixman - ) - local static_flag="static" - ;; - tools) - conf_opts+=( - --disable-linux-user - --disable-system - --disable-blobs - --enable-tools - ) - local static_flag="static" - ;; - esac - - local targets="${buildtype}_targets" - [[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" ) - - # Add support for SystemTAP - use systemtap && conf_opts+=( --enable-trace-backend=dtrace ) - - # We always want to attempt to build with PIE support as it results - # in a more secure binary. But it doesn't work with static or if - # the current GCC doesn't have PIE support. - if use ${static_flag}; then - conf_opts+=( --static --disable-pie ) - else - tc-enables-pie && conf_opts+=( --enable-pie ) - fi - - echo "../configure ${conf_opts[*]}" - cd "${builddir}" - ../configure "${conf_opts[@]}" || die "configure failed" - - # FreeBSD's kernel does not support QEMU assigning/grabbing - # host USB devices yet - use kernel_FreeBSD && \ - sed -i -E -e "s|^(HOST_USB=)bsd|\1stub|" "${S}"/config-host.mak -} - -src_configure() { - local target - - python_setup - - softmmu_targets= softmmu_bins=() - user_targets= user_bins=() - - for target in ${IUSE_SOFTMMU_TARGETS} ; do - if use "qemu_softmmu_targets_${target}"; then - softmmu_targets+=",${target}-softmmu" - softmmu_bins+=( "qemu-system-${target}" ) - fi - done - - for target in ${IUSE_USER_TARGETS} ; do - if use "qemu_user_targets_${target}"; then - user_targets+=",${target}-linux-user" - user_bins+=( "qemu-${target}" ) - fi - done - - softmmu_targets=${softmmu_targets#,} - user_targets=${user_targets#,} - - [[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu" - [[ -n ${user_targets} ]] && qemu_src_configure "user" - qemu_src_configure "tools" -} - -src_compile() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" - default - fi - - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" - default - fi - - cd "${S}/tools-build" - default -} - -src_test() { - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" - pax-mark m */qemu-system-* #515550 - emake -j1 check - emake -j1 check-report.html - fi -} - -qemu_python_install() { - python_domodule "${S}/scripts/qmp/qmp.py" - - python_doscript "${S}/scripts/kvm/vmxcap" - python_doscript "${S}/scripts/qmp/qmp-shell" - python_doscript "${S}/scripts/qmp/qemu-ga-client" -} - -# Generate binfmt support files. -# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc) -# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt) -generate_initd() { - local out="${T}/qemu-binfmt" - local out_systemd="${T}/qemu.conf" - local d="${T}/binfmt.d" - - einfo "Generating qemu binfmt scripts and configuration files" - - # Generate the debian fragments first. - mkdir -p "${d}" - "${S}"/scripts/qemu-binfmt-conf.sh \ - --debian \ - --exportdir "${d}" \ - --qemu-path "${EPREFIX}/usr/bin" \ - || die - # Then turn the fragments into a shell script we can source. - sed -E -i \ - -e 's:^([^ ]+) (.*)$:\1="\2":' \ - "${d}"/* || die - - # Generate the init.d script by assembling the fragments from above. - local f qcpu package interpreter magic mask - cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die - for f in "${d}"/qemu-* ; do - source "${f}" - - # Normalize the cpu logic like we do in the init.d for the native cpu. - qcpu=${package#qemu-} - case ${qcpu} in - arm*) qcpu="arm";; - mips*) qcpu="mips";; - ppc*) qcpu="ppc";; - s390*) qcpu="s390";; - sh*) qcpu="sh";; - sparc*) qcpu="sparc";; - esac - - cat <>"${out}" - if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then - echo ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register - fi -EOF - - echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}" - - done - cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die -} - -src_install() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" - emake DESTDIR="${ED}" install - - # Install binfmt handler init script for user targets. - generate_initd - doinitd "${T}/qemu-binfmt" - - # Install binfmt/qemu.conf. - insinto "/usr/share/qemu/binfmt.d" - doins "${T}/qemu.conf" - fi - - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" - emake DESTDIR="${ED}" install - - # This might not exist if the test failed. #512010 - [[ -e check-report.html ]] && dohtml check-report.html - - if use kernel_linux; then - udev_newrules "${FILESDIR}"/65-kvm.rules-r1 65-kvm.rules - fi - - if use python; then - python_foreach_impl qemu_python_install - fi - fi - - cd "${S}/tools-build" - emake DESTDIR="${ED}" install - - # Disable mprotect on the qemu binaries as they use JITs to be fast #459348 - pushd "${ED}"/usr/bin >/dev/null - pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594 - popd >/dev/null - - # Install config file example for qemu-bridge-helper - insinto "/etc/qemu" - doins "${FILESDIR}/bridge.conf" - - cd "${S}" - dodoc Changelog MAINTAINERS docs/specs/pci-ids.txt - newdoc pc-bios/README README.pc-bios - - if [[ -n ${softmmu_targets} ]]; then - # Remove SeaBIOS since we're using the SeaBIOS packaged one - rm "${ED}/usr/share/qemu/bios.bin" - rm "${ED}/usr/share/qemu/bios-256k.bin" - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../seabios/bios.bin /usr/share/qemu/bios.bin - dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin - fi - - # Remove vgabios since we're using the seavgabios packaged one - rm "${ED}/usr/share/qemu/vgabios.bin" - rm "${ED}/usr/share/qemu/vgabios-cirrus.bin" - rm "${ED}/usr/share/qemu/vgabios-qxl.bin" - rm "${ED}/usr/share/qemu/vgabios-stdvga.bin" - rm "${ED}/usr/share/qemu/vgabios-virtio.bin" - rm "${ED}/usr/share/qemu/vgabios-vmware.bin" - # PPC64 loads vgabios-stdvga - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc64; then - dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin - dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin - dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin - dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin - dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin - dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin - fi - - # Remove sgabios since we're using the sgabios packaged one - rm "${ED}/usr/share/qemu/sgabios.bin" - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin - fi - - # Remove iPXE since we're using the iPXE packaged one - rm "${ED}"/usr/share/qemu/pxe-*.rom - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom - dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom - dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom - dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom - dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom - dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom - fi - fi - - DISABLE_AUTOFORMATTING=true - readme.gentoo_create_doc -} - -firmware_abi_change() { - local pv - for pv in ${REPLACING_VERSIONS}; do - if ! version_is_at_least ${FIRMWARE_ABI_VERSION} ${pv}; then - return 0 - fi - done - return 1 -} - -pkg_postinst() { - if [[ -n ${softmmu_targets} ]] && use kernel_linux; then - udev_reload - fi - - fcaps cap_net_admin /usr/libexec/qemu-bridge-helper - - DISABLE_AUTOFORMATTING=true - readme.gentoo_print_elog - - if use pin-upstream-blobs && firmware_abi_change; then - ewarn "This version of qemu pins new versions of firmware blobs:" - ewarn " $(best_version sys-firmware/edk2-ovmf)" - ewarn " $(best_version sys-firmware/ipxe)" - ewarn " $(best_version sys-firmware/seabios)" - ewarn " $(best_version sys-firmware/sgabios)" - ewarn "This might break resume of hibernated guests (started with a different" - ewarn "firmware version) and live migration to/from qemu versions with different" - ewarn "firmware. Please (cold) restart all running guests. For functional" - ewarn "guest migration ensure that all" - ewarn "hosts run at least" - ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}." - fi -} - -pkg_info() { - echo "Using:" - echo " $(best_version app-emulation/spice-protocol)" - echo " $(best_version sys-firmware/edk2-ovmf)" - if has_version 'sys-firmware/edk2-ovmf[binary]'; then - echo " USE=binary" - else - echo " USE=''" - fi - echo " $(best_version sys-firmware/ipxe)" - echo " $(best_version sys-firmware/seabios)" - if has_version 'sys-firmware/seabios[binary]'; then - echo " USE=binary" - else - echo " USE=''" - fi - echo " $(best_version sys-firmware/sgabios)" -} diff --git a/app-emulation/qemu/qemu-2.11.0-r50.ebuild b/app-emulation/qemu/qemu-2.11.0-r50.ebuild new file mode 100644 index 000000000000..cbd136db0a82 --- /dev/null +++ b/app-emulation/qemu/qemu-2.11.0-r50.ebuild @@ -0,0 +1,804 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +PYTHON_COMPAT=( python2_7 ) +PYTHON_REQ_USE="ncurses,readline" + +PLOCALES="bg de_DE fr_FR hu it tr zh_CN" + +FIRMWARE_ABI_VERSION="2.11.0-r50" + +inherit eutils flag-o-matic linux-info toolchain-funcs multilib python-r1 \ + user udev fcaps readme.gentoo-r1 pax-utils l10n + +if [[ ${PV} = *9999* ]]; then + EGIT_REPO_URI="git://git.qemu.org/qemu.git" + inherit git-r3 + SRC_URI="" +else + SRC_URI="http://wiki.qemu-project.org/download/${P}.tar.bz2" + KEYWORDS="" + # KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86 ~x86-fbsd" + + # Gentoo specific patchsets: + SRC_URI+=" https://dev.gentoo.org/~tamiko/distfiles/${P}-patches-r0.tar.xz" +fi + + +DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" +HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org" + +LICENSE="GPL-2 LGPL-2 BSD-2" +SLOT="0" +IUSE="accessibility +aio alsa bluetooth bzip2 +caps +curl debug +fdt + glusterfs gnutls gtk gtk2 infiniband iscsi +jpeg kernel_linux + kernel_FreeBSD lzo ncurses nfs nls numa opengl +pin-upstream-blobs +png + pulseaudio python rbd sasl +seccomp sdl sdl2 selinux smartcard snappy + spice ssh static static-user systemtap tci test usb usbredir vde + +vhost-net virgl virtfs +vnc vte xattr xen xfs" + +COMMON_TARGETS="aarch64 alpha arm cris i386 m68k microblaze microblazeel + mips mips64 mips64el mipsel nios2 or1k ppc ppc64 s390x sh4 sh4eb sparc + sparc64 x86_64" +IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} + lm32 moxie ppcemb tricore unicore32 xtensa xtensaeb" +IUSE_USER_TARGETS="${COMMON_TARGETS} + armeb hppa mipsn32 mipsn32el ppc64abi32 ppc64le sparc32plus tilegx" + +use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS}) +use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS}) +IUSE+=" ${use_softmmu_targets} ${use_user_targets}" + +# Allow no targets to be built so that people can get a tools-only build. +# Block USE flag configurations known to not work. +REQUIRED_USE="${PYTHON_REQUIRED_USE} + gtk2? ( gtk ) + qemu_softmmu_targets_arm? ( fdt ) + qemu_softmmu_targets_microblaze? ( fdt ) + qemu_softmmu_targets_mips64el? ( fdt ) + qemu_softmmu_targets_ppc? ( fdt ) + qemu_softmmu_targets_ppc64? ( fdt ) + sdl2? ( sdl ) + static? ( static-user !alsa !bluetooth !gtk !gtk2 !opengl !pulseaudio ) + virtfs? ( xattr ) + vte? ( gtk )" + +# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) +# and user/softmmu targets (qemu-*, qemu-system-*). +# +# Yep, you need both libcap and libcap-ng since virtfs only uses libcap. +# +# The attr lib isn't always linked in (although the USE flag is always +# respected). This is because qemu supports using the C library's API +# when available rather than always using the extranl library. +ALL_DEPEND=" + >=dev-libs/glib-2.0[static-libs(+)] + sys-libs/zlib[static-libs(+)] + python? ( ${PYTHON_DEPS} ) + systemtap? ( dev-util/systemtap ) + xattr? ( sys-apps/attr[static-libs(+)] )" + +# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) +# softmmu targets (qemu-system-*). +SOFTMMU_TOOLS_DEPEND=" + >=x11-libs/pixman-0.28.0[static-libs(+)] + accessibility? ( + app-accessibility/brltty[api] + app-accessibility/brltty[static-libs(+)] + ) + aio? ( dev-libs/libaio[static-libs(+)] ) + alsa? ( >=media-libs/alsa-lib-1.0.13 ) + bluetooth? ( net-wireless/bluez ) + bzip2? ( app-arch/bzip2[static-libs(+)] ) + caps? ( sys-libs/libcap-ng[static-libs(+)] ) + curl? ( >=net-misc/curl-7.15.4[static-libs(+)] ) + fdt? ( >=sys-apps/dtc-1.4.2[static-libs(+)] ) + glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] ) + gnutls? ( + dev-libs/nettle:=[static-libs(+)] + >=net-libs/gnutls-3.0:=[static-libs(+)] + ) + gtk? ( + gtk2? ( + x11-libs/gtk+:2 + vte? ( x11-libs/vte:0 ) + ) + !gtk2? ( + x11-libs/gtk+:3 + vte? ( x11-libs/vte:2.91 ) + ) + ) + infiniband? ( sys-fabric/librdmacm:=[static-libs(+)] ) + iscsi? ( net-libs/libiscsi ) + jpeg? ( virtual/jpeg:0=[static-libs(+)] ) + lzo? ( dev-libs/lzo:2[static-libs(+)] ) + ncurses? ( + sys-libs/ncurses:0=[unicode] + sys-libs/ncurses:0=[static-libs(+)] + ) + nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] ) + numa? ( sys-process/numactl[static-libs(+)] ) + opengl? ( + virtual/opengl + media-libs/libepoxy[static-libs(+)] + media-libs/mesa[static-libs(+)] + media-libs/mesa[egl,gbm] + ) + png? ( media-libs/libpng:0=[static-libs(+)] ) + pulseaudio? ( media-sound/pulseaudio ) + rbd? ( sys-cluster/ceph[static-libs(+)] ) + sasl? ( dev-libs/cyrus-sasl[static-libs(+)] ) + sdl? ( + !sdl2? ( + media-libs/libsdl[X] + >=media-libs/libsdl-1.2.11[static-libs(+)] + ) + sdl2? ( + media-libs/libsdl2[X] + media-libs/libsdl2[static-libs(+)] + ) + ) + seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] ) + smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] ) + snappy? ( app-arch/snappy:=[static-libs(+)] ) + spice? ( + >=app-emulation/spice-protocol-0.12.3 + >=app-emulation/spice-0.12.0[static-libs(+)] + ) + ssh? ( >=net-libs/libssh2-1.2.8[static-libs(+)] ) + usb? ( >=virtual/libusb-1-r2[static-libs(+)] ) + usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] ) + vde? ( net-misc/vde[static-libs(+)] ) + virgl? ( media-libs/virglrenderer[static-libs(+)] ) + virtfs? ( sys-libs/libcap ) + xen? ( app-emulation/xen-tools:= ) + xfs? ( sys-fs/xfsprogs[static-libs(+)] )" + +X86_FIRMWARE_DEPEND=" + pin-upstream-blobs? ( + ~sys-firmware/edk2-ovmf-2017_p20180211[binary] + ~sys-firmware/ipxe-1.0.0_p20180211[binary] + ~sys-firmware/seabios-1.11.0[binary,seavgabios] + ~sys-firmware/sgabios-0.1_pre8[binary] + ) + !pin-upstream-blobs? ( + sys-firmware/edk2-ovmf + sys-firmware/ipxe + >=sys-firmware/seabios-1.10.2[seavgabios] + sys-firmware/sgabios + )" +PPC64_FIRMWARE_DEPEND=" + pin-upstream-blobs? ( + ~sys-firmware/seabios-1.11.0[binary,seavgabios] + ) + !pin-upstream-blobs? ( + >=sys-firmware/seabios-1.10.2[seavgabios] + ) +" + +CDEPEND=" + !static? ( + ${ALL_DEPEND//\[static-libs(+)]} + ${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]} + ) + qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} ) + qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} ) + qemu_softmmu_targets_ppc64? ( ${PPC64_FIRMWARE_DEPEND} ) +" +DEPEND="${CDEPEND} + dev-lang/perl + =dev-lang/python-2* + sys-apps/texinfo + virtual/pkgconfig + kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 ) + gtk? ( nls? ( sys-devel/gettext ) ) + static? ( + ${ALL_DEPEND} + ${SOFTMMU_TOOLS_DEPEND} + ) + static-user? ( ${ALL_DEPEND} ) + test? ( + dev-libs/glib[utils] + sys-devel/bc + )" +RDEPEND="${CDEPEND} + selinux? ( sec-policy/selinux-qemu )" + +PATCHES=( + "${FILESDIR}"/${PN}-2.5.0-cflags.patch + "${FILESDIR}"/${PN}-2.5.0-sysmacros.patch + "${FILESDIR}"/${PN}-2.11.0-glibc-2.27.patch + "${WORKDIR}"/patches +) + +STRIP_MASK="/usr/share/qemu/palcode-clipper" + +QA_PREBUILT=" + usr/share/qemu/openbios-ppc + usr/share/qemu/openbios-sparc64 + usr/share/qemu/openbios-sparc32 + usr/share/qemu/palcode-clipper + usr/share/qemu/s390-ccw.img + usr/share/qemu/s390-netboot.img + usr/share/qemu/u-boot.e500" + +QA_WX_LOAD="usr/bin/qemu-i386 + usr/bin/qemu-x86_64 + usr/bin/qemu-alpha + usr/bin/qemu-arm + usr/bin/qemu-cris + usr/bin/qemu-m68k + usr/bin/qemu-microblaze + usr/bin/qemu-microblazeel + usr/bin/qemu-mips + usr/bin/qemu-mipsel + usr/bin/qemu-or1k + usr/bin/qemu-ppc + usr/bin/qemu-ppc64 + usr/bin/qemu-ppc64abi32 + usr/bin/qemu-sh4 + usr/bin/qemu-sh4eb + usr/bin/qemu-sparc + usr/bin/qemu-sparc64 + usr/bin/qemu-armeb + usr/bin/qemu-sparc32plus + usr/bin/qemu-s390x + usr/bin/qemu-unicore32" + +DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the +kernel module loaded before running kvm. The easiest way to ensure that the +kernel module is loaded is to load it on boot. + For AMD CPUs the module is called 'kvm-amd'. + For Intel CPUs the module is called 'kvm-intel'. +Please review /etc/conf.d/modules for how to load these. + +Make sure your user is in the 'kvm' group. Just run + $ gpasswd -a kvm +then have re-login. + +For brand new installs, the default permissions on /dev/kvm might not let +you access it. You can tell udev to reset ownership/perms: + $ udevadm trigger -c add /dev/kvm + +If you want to register binfmt handlers for qemu user targets: +For openrc: + # rc-update add qemu-binfmt +For systemd: + # ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf" + +pkg_pretend() { + if use kernel_linux && kernel_is lt 2 6 25; then + eerror "This version of KVM requres a host kernel of 2.6.25 or higher." + elif use kernel_linux; then + if ! linux_config_exists; then + eerror "Unable to check your kernel for KVM support" + else + CONFIG_CHECK="~KVM ~TUN ~BRIDGE" + ERROR_KVM="You must enable KVM in your kernel to continue" + ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in" + ERROR_KVM_AMD+=" your kernel configuration." + ERROR_KVM_INTEL="If you have an Intel CPU, you must enable" + ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration." + ERROR_TUN="You will need the Universal TUN/TAP driver compiled" + ERROR_TUN+=" into your kernel or loaded as a module to use the" + ERROR_TUN+=" virtual network device if using -net tap." + ERROR_BRIDGE="You will also need support for 802.1d" + ERROR_BRIDGE+=" Ethernet Bridging for some network configurations." + use vhost-net && CONFIG_CHECK+=" ~VHOST_NET" + ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net" + ERROR_VHOST_NET+=" support" + + if use amd64 || use x86 || use amd64-linux || use x86-linux; then + if grep -q AuthenticAMD /proc/cpuinfo; then + CONFIG_CHECK+=" ~KVM_AMD" + elif grep -q GenuineIntel /proc/cpuinfo; then + CONFIG_CHECK+=" ~KVM_INTEL" + fi + fi + + use python && CONFIG_CHECK+=" ~DEBUG_FS" + ERROR_DEBUG_FS="debugFS support required for kvm_stat" + + # Now do the actual checks setup above + check_extra_config + fi + fi + + if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then + eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt" + eerror "instances are still pointing to it. Please update your" + eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag" + eerror "and the right system binary (e.g. qemu-system-x86_64)." + die "update your virt configs to not use qemu-kvm" + fi +} + +pkg_setup() { + enewgroup kvm 78 +} + +# Sanity check to make sure target lists are kept up-to-date. +check_targets() { + local var=$1 mak=$2 + local detected sorted + + pushd "${S}"/default-configs >/dev/null || die + + # Force C locale until glibc is updated. #564936 + detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u)) + sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u)) + if [[ ${sorted} != "${detected}" ]] ; then + eerror "The ebuild needs to be kept in sync." + eerror "${var}: ${sorted}" + eerror "$(printf '%-*s' ${#var} configure): ${detected}" + die "sync ${var} to the list of targets" + fi + + popd >/dev/null +} + +handle_locales() { + # Make sure locale list is kept up-to-date. + local detected sorted + detected=$(echo $(cd po && printf '%s\n' *.po | grep -v messages.po | sed 's:.po$::' | sort -u)) + sorted=$(echo $(printf '%s\n' ${PLOCALES} | sort -u)) + if [[ ${sorted} != "${detected}" ]] ; then + eerror "The ebuild needs to be kept in sync." + eerror "PLOCALES: ${sorted}" + eerror " po/*.po: ${detected}" + die "sync PLOCALES" + fi + + # Deal with selective install of locales. + if use nls ; then + # Delete locales the user does not want. #577814 + rm_loc() { rm po/$1.po || die; } + l10n_for_each_disabled_locale_do rm_loc + else + # Cheap hack to disable gettext .mo generation. + rm -f po/*.po + fi +} + +src_prepare() { + check_targets IUSE_SOFTMMU_TARGETS softmmu + check_targets IUSE_USER_TARGETS linux-user + + # Alter target makefiles to accept CFLAGS set via flag-o + sed -i -r \ + -e 's/^(C|OP_C|HELPER_C)FLAGS=/\1FLAGS+=/' \ + Makefile Makefile.target || die + + default + + # Fix ld and objcopy being called directly + tc-export AR LD OBJCOPY + + # Verbose builds + MAKEOPTS+=" V=1" + + # Run after we've applied all patches. + handle_locales + + # Remove bundled copy of libfdt + rm -r dtc || die +} + +## +# configures qemu based on the build directory and the build type +# we are using. +# +qemu_src_configure() { + debug-print-function ${FUNCNAME} "$@" + + local buildtype=$1 + local builddir="${S}/${buildtype}-build" + + mkdir "${builddir}" + + local conf_opts=( + --prefix=/usr + --sysconfdir=/etc + --libdir=/usr/$(get_libdir) + --docdir=/usr/share/doc/${PF}/html + --disable-bsd-user + --disable-guest-agent + --disable-strip + --disable-werror + # We support gnutls/nettle for crypto operations. It is possible + # to use gcrypt when gnutls/nettle are disabled (but not when they + # are enabled), but it's not really worth the hassle. Disable it + # all the time to avoid automatically detecting it. #568856 + --disable-gcrypt + --python="${PYTHON}" + --cc="$(tc-getCC)" + --cxx="$(tc-getCXX)" + --host-cc="$(tc-getBUILD_CC)" + $(use_enable debug debug-info) + $(use_enable debug debug-tcg) + --enable-docs + $(use_enable tci tcg-interpreter) + $(use_enable xattr attr) + ) + + # Disable options not used by user targets. This simplifies building + # static user targets (USE=static-user) considerably. + conf_notuser() { + if [[ ${buildtype} == "user" ]] ; then + echo "--disable-${2:-$1}" + else + use_enable "$@" + fi + } + conf_opts+=( + $(conf_notuser accessibility brlapi) + $(conf_notuser aio linux-aio) + $(conf_notuser bzip2) + $(conf_notuser bluetooth bluez) + $(conf_notuser caps cap-ng) + $(conf_notuser curl) + $(conf_notuser fdt) + $(conf_notuser glusterfs) + $(conf_notuser gnutls) + $(conf_notuser gnutls nettle) + $(conf_notuser gtk) + $(conf_notuser infiniband rdma) + $(conf_notuser iscsi libiscsi) + $(conf_notuser jpeg vnc-jpeg) + $(conf_notuser kernel_linux kvm) + $(conf_notuser lzo) + $(conf_notuser ncurses curses) + $(conf_notuser nfs libnfs) + $(conf_notuser numa) + $(conf_notuser opengl) + $(conf_notuser png vnc-png) + $(conf_notuser rbd) + $(conf_notuser sasl vnc-sasl) + $(conf_notuser sdl) + $(conf_notuser seccomp) + $(conf_notuser smartcard) + $(conf_notuser snappy) + $(conf_notuser spice) + $(conf_notuser ssh libssh2) + $(conf_notuser usb libusb) + $(conf_notuser usbredir usb-redir) + $(conf_notuser vde) + $(conf_notuser vhost-net) + $(conf_notuser virgl virglrenderer) + $(conf_notuser virtfs) + $(conf_notuser vnc) + $(conf_notuser vte) + $(conf_notuser xen) + $(conf_notuser xen xen-pci-passthrough) + $(conf_notuser xfs xfsctl) + ) + + if [[ ! ${buildtype} == "user" ]] ; then + # audio options + local audio_opts="oss" + use alsa && audio_opts="alsa,${audio_opts}" + use sdl && audio_opts="sdl,${audio_opts}" + use pulseaudio && audio_opts="pa,${audio_opts}" + conf_opts+=( + --audio-drv-list="${audio_opts}" + ) + use gtk && conf_opts+=( --with-gtkabi=$(usex gtk2 2.0 3.0) ) + use sdl && conf_opts+=( --with-sdlabi=$(usex sdl2 2.0 1.2) ) + fi + + case ${buildtype} in + user) + conf_opts+=( + --enable-linux-user + --disable-system + --disable-blobs + --disable-tools + ) + local static_flag="static-user" + ;; + softmmu) + conf_opts+=( + --disable-linux-user + --enable-system + --disable-tools + ) + local static_flag="static" + ;; + tools) + conf_opts+=( + --disable-linux-user + --disable-system + --disable-blobs + --enable-tools + ) + local static_flag="static" + ;; + esac + + local targets="${buildtype}_targets" + [[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" ) + + # Add support for SystemTAP + use systemtap && conf_opts+=( --enable-trace-backend=dtrace ) + + # We always want to attempt to build with PIE support as it results + # in a more secure binary. But it doesn't work with static or if + # the current GCC doesn't have PIE support. + if use ${static_flag}; then + conf_opts+=( --static --disable-pie ) + else + tc-enables-pie && conf_opts+=( --enable-pie ) + fi + + echo "../configure ${conf_opts[*]}" + cd "${builddir}" + ../configure "${conf_opts[@]}" || die "configure failed" + + # FreeBSD's kernel does not support QEMU assigning/grabbing + # host USB devices yet + use kernel_FreeBSD && \ + sed -i -E -e "s|^(HOST_USB=)bsd|\1stub|" "${S}"/config-host.mak +} + +src_configure() { + local target + + python_setup + + softmmu_targets= softmmu_bins=() + user_targets= user_bins=() + + for target in ${IUSE_SOFTMMU_TARGETS} ; do + if use "qemu_softmmu_targets_${target}"; then + softmmu_targets+=",${target}-softmmu" + softmmu_bins+=( "qemu-system-${target}" ) + fi + done + + for target in ${IUSE_USER_TARGETS} ; do + if use "qemu_user_targets_${target}"; then + user_targets+=",${target}-linux-user" + user_bins+=( "qemu-${target}" ) + fi + done + + softmmu_targets=${softmmu_targets#,} + user_targets=${user_targets#,} + + [[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu" + [[ -n ${user_targets} ]] && qemu_src_configure "user" + qemu_src_configure "tools" +} + +src_compile() { + if [[ -n ${user_targets} ]]; then + cd "${S}/user-build" + default + fi + + if [[ -n ${softmmu_targets} ]]; then + cd "${S}/softmmu-build" + default + fi + + cd "${S}/tools-build" + default +} + +src_test() { + if [[ -n ${softmmu_targets} ]]; then + cd "${S}/softmmu-build" + pax-mark m */qemu-system-* #515550 + emake -j1 check + emake -j1 check-report.html + fi +} + +qemu_python_install() { + python_domodule "${S}/scripts/qmp/qmp.py" + + python_doscript "${S}/scripts/kvm/vmxcap" + python_doscript "${S}/scripts/qmp/qmp-shell" + python_doscript "${S}/scripts/qmp/qemu-ga-client" +} + +# Generate binfmt support files. +# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc) +# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt) +generate_initd() { + local out="${T}/qemu-binfmt" + local out_systemd="${T}/qemu.conf" + local d="${T}/binfmt.d" + + einfo "Generating qemu binfmt scripts and configuration files" + + # Generate the debian fragments first. + mkdir -p "${d}" + "${S}"/scripts/qemu-binfmt-conf.sh \ + --debian \ + --exportdir "${d}" \ + --qemu-path "${EPREFIX}/usr/bin" \ + || die + # Then turn the fragments into a shell script we can source. + sed -E -i \ + -e 's:^([^ ]+) (.*)$:\1="\2":' \ + "${d}"/* || die + + # Generate the init.d script by assembling the fragments from above. + local f qcpu package interpreter magic mask + cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die + for f in "${d}"/qemu-* ; do + source "${f}" + + # Normalize the cpu logic like we do in the init.d for the native cpu. + qcpu=${package#qemu-} + case ${qcpu} in + arm*) qcpu="arm";; + mips*) qcpu="mips";; + ppc*) qcpu="ppc";; + s390*) qcpu="s390";; + sh*) qcpu="sh";; + sparc*) qcpu="sparc";; + esac + + cat <>"${out}" + if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then + echo ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register + fi +EOF + + echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}" + + done + cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die +} + +src_install() { + if [[ -n ${user_targets} ]]; then + cd "${S}/user-build" + emake DESTDIR="${ED}" install + + # Install binfmt handler init script for user targets. + generate_initd + doinitd "${T}/qemu-binfmt" + + # Install binfmt/qemu.conf. + insinto "/usr/share/qemu/binfmt.d" + doins "${T}/qemu.conf" + fi + + if [[ -n ${softmmu_targets} ]]; then + cd "${S}/softmmu-build" + emake DESTDIR="${ED}" install + + # This might not exist if the test failed. #512010 + [[ -e check-report.html ]] && dohtml check-report.html + + if use kernel_linux; then + udev_newrules "${FILESDIR}"/65-kvm.rules-r1 65-kvm.rules + fi + + if use python; then + python_foreach_impl qemu_python_install + fi + fi + + cd "${S}/tools-build" + emake DESTDIR="${ED}" install + + # Disable mprotect on the qemu binaries as they use JITs to be fast #459348 + pushd "${ED}"/usr/bin >/dev/null + pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594 + popd >/dev/null + + # Install config file example for qemu-bridge-helper + insinto "/etc/qemu" + doins "${FILESDIR}/bridge.conf" + + cd "${S}" + dodoc Changelog MAINTAINERS docs/specs/pci-ids.txt + newdoc pc-bios/README README.pc-bios + + if [[ -n ${softmmu_targets} ]]; then + # Remove SeaBIOS since we're using the SeaBIOS packaged one + rm "${ED}/usr/share/qemu/bios.bin" + rm "${ED}/usr/share/qemu/bios-256k.bin" + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then + dosym ../seabios/bios.bin /usr/share/qemu/bios.bin + dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin + fi + + # Remove vgabios since we're using the seavgabios packaged one + rm "${ED}/usr/share/qemu/vgabios.bin" + rm "${ED}/usr/share/qemu/vgabios-cirrus.bin" + rm "${ED}/usr/share/qemu/vgabios-qxl.bin" + rm "${ED}/usr/share/qemu/vgabios-stdvga.bin" + rm "${ED}/usr/share/qemu/vgabios-virtio.bin" + rm "${ED}/usr/share/qemu/vgabios-vmware.bin" + # PPC64 loads vgabios-stdvga + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc64; then + dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin + dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin + dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin + dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin + dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin + dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin + fi + + # Remove sgabios since we're using the sgabios packaged one + rm "${ED}/usr/share/qemu/sgabios.bin" + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then + dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin + fi + + # Remove iPXE since we're using the iPXE packaged one + rm "${ED}"/usr/share/qemu/pxe-*.rom + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then + dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom + dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom + dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom + dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom + dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom + dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom + fi + fi + + DISABLE_AUTOFORMATTING=true + readme.gentoo_create_doc +} + +firmware_abi_change() { + local pv + for pv in ${REPLACING_VERSIONS}; do + if ! version_is_at_least ${FIRMWARE_ABI_VERSION} ${pv}; then + return 0 + fi + done + return 1 +} + +pkg_postinst() { + if [[ -n ${softmmu_targets} ]] && use kernel_linux; then + udev_reload + fi + + fcaps cap_net_admin /usr/libexec/qemu-bridge-helper + + DISABLE_AUTOFORMATTING=true + readme.gentoo_print_elog + + if use pin-upstream-blobs && firmware_abi_change; then + ewarn "This version of qemu pins new versions of firmware blobs:" + ewarn " $(best_version sys-firmware/edk2-ovmf)" + ewarn " $(best_version sys-firmware/ipxe)" + ewarn " $(best_version sys-firmware/seabios)" + ewarn " $(best_version sys-firmware/sgabios)" + ewarn "This might break resume of hibernated guests (started with a different" + ewarn "firmware version) and live migration to/from qemu versions with different" + ewarn "firmware. Please (cold) restart all running guests. For functional" + ewarn "guest migration ensure that all" + ewarn "hosts run at least" + ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}." + fi +} + +pkg_info() { + echo "Using:" + echo " $(best_version app-emulation/spice-protocol)" + echo " $(best_version sys-firmware/edk2-ovmf)" + if has_version 'sys-firmware/edk2-ovmf[binary]'; then + echo " USE=binary" + else + echo " USE=''" + fi + echo " $(best_version sys-firmware/ipxe)" + echo " $(best_version sys-firmware/seabios)" + if has_version 'sys-firmware/seabios[binary]'; then + echo " USE=binary" + else + echo " USE=''" + fi + echo " $(best_version sys-firmware/sgabios)" +} diff --git a/app-emulation/qemu/qemu-2.11.0.ebuild b/app-emulation/qemu/qemu-2.11.0.ebuild new file mode 100644 index 000000000000..3965ae8920a0 --- /dev/null +++ b/app-emulation/qemu/qemu-2.11.0.ebuild @@ -0,0 +1,803 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +PYTHON_COMPAT=( python2_7 ) +PYTHON_REQ_USE="ncurses,readline" + +PLOCALES="bg de_DE fr_FR hu it tr zh_CN" + +FIRMWARE_ABI_VERSION="2.9.0-r52" + +inherit eutils flag-o-matic linux-info toolchain-funcs multilib python-r1 \ + user udev fcaps readme.gentoo-r1 pax-utils l10n + +if [[ ${PV} = *9999* ]]; then + EGIT_REPO_URI="git://git.qemu.org/qemu.git" + inherit git-r3 + SRC_URI="" +else + SRC_URI="http://wiki.qemu-project.org/download/${P}.tar.bz2" + KEYWORDS="amd64 ~arm64 ~ppc ~ppc64 x86 ~x86-fbsd" + + # Gentoo specific patchsets: + SRC_URI+=" https://dev.gentoo.org/~tamiko/distfiles/${P}-patches-r0.tar.xz" +fi + + +DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" +HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org" + +LICENSE="GPL-2 LGPL-2 BSD-2" +SLOT="0" +IUSE="accessibility +aio alsa bluetooth bzip2 +caps +curl debug +fdt + glusterfs gnutls gtk gtk2 infiniband iscsi +jpeg kernel_linux + kernel_FreeBSD lzo ncurses nfs nls numa opengl +pin-upstream-blobs +png + pulseaudio python rbd sasl +seccomp sdl sdl2 selinux smartcard snappy + spice ssh static static-user systemtap tci test usb usbredir vde + +vhost-net virgl virtfs +vnc vte xattr xen xfs" + +COMMON_TARGETS="aarch64 alpha arm cris i386 m68k microblaze microblazeel + mips mips64 mips64el mipsel nios2 or1k ppc ppc64 s390x sh4 sh4eb sparc + sparc64 x86_64" +IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} + lm32 moxie ppcemb tricore unicore32 xtensa xtensaeb" +IUSE_USER_TARGETS="${COMMON_TARGETS} + armeb hppa mipsn32 mipsn32el ppc64abi32 ppc64le sparc32plus tilegx" + +use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS}) +use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS}) +IUSE+=" ${use_softmmu_targets} ${use_user_targets}" + +# Allow no targets to be built so that people can get a tools-only build. +# Block USE flag configurations known to not work. +REQUIRED_USE="${PYTHON_REQUIRED_USE} + gtk2? ( gtk ) + qemu_softmmu_targets_arm? ( fdt ) + qemu_softmmu_targets_microblaze? ( fdt ) + qemu_softmmu_targets_mips64el? ( fdt ) + qemu_softmmu_targets_ppc? ( fdt ) + qemu_softmmu_targets_ppc64? ( fdt ) + sdl2? ( sdl ) + static? ( static-user !alsa !bluetooth !gtk !gtk2 !opengl !pulseaudio ) + virtfs? ( xattr ) + vte? ( gtk )" + +# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) +# and user/softmmu targets (qemu-*, qemu-system-*). +# +# Yep, you need both libcap and libcap-ng since virtfs only uses libcap. +# +# The attr lib isn't always linked in (although the USE flag is always +# respected). This is because qemu supports using the C library's API +# when available rather than always using the extranl library. +ALL_DEPEND=" + >=dev-libs/glib-2.0[static-libs(+)] + sys-libs/zlib[static-libs(+)] + python? ( ${PYTHON_DEPS} ) + systemtap? ( dev-util/systemtap ) + xattr? ( sys-apps/attr[static-libs(+)] )" + +# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) +# softmmu targets (qemu-system-*). +SOFTMMU_TOOLS_DEPEND=" + >=x11-libs/pixman-0.28.0[static-libs(+)] + accessibility? ( + app-accessibility/brltty[api] + app-accessibility/brltty[static-libs(+)] + ) + aio? ( dev-libs/libaio[static-libs(+)] ) + alsa? ( >=media-libs/alsa-lib-1.0.13 ) + bluetooth? ( net-wireless/bluez ) + bzip2? ( app-arch/bzip2[static-libs(+)] ) + caps? ( sys-libs/libcap-ng[static-libs(+)] ) + curl? ( >=net-misc/curl-7.15.4[static-libs(+)] ) + fdt? ( >=sys-apps/dtc-1.4.2[static-libs(+)] ) + glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] ) + gnutls? ( + dev-libs/nettle:=[static-libs(+)] + >=net-libs/gnutls-3.0:=[static-libs(+)] + ) + gtk? ( + gtk2? ( + x11-libs/gtk+:2 + vte? ( x11-libs/vte:0 ) + ) + !gtk2? ( + x11-libs/gtk+:3 + vte? ( x11-libs/vte:2.91 ) + ) + ) + infiniband? ( sys-fabric/librdmacm:=[static-libs(+)] ) + iscsi? ( net-libs/libiscsi ) + jpeg? ( virtual/jpeg:0=[static-libs(+)] ) + lzo? ( dev-libs/lzo:2[static-libs(+)] ) + ncurses? ( + sys-libs/ncurses:0=[unicode] + sys-libs/ncurses:0=[static-libs(+)] + ) + nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] ) + numa? ( sys-process/numactl[static-libs(+)] ) + opengl? ( + virtual/opengl + media-libs/libepoxy[static-libs(+)] + media-libs/mesa[static-libs(+)] + media-libs/mesa[egl,gbm] + ) + png? ( media-libs/libpng:0=[static-libs(+)] ) + pulseaudio? ( media-sound/pulseaudio ) + rbd? ( sys-cluster/ceph[static-libs(+)] ) + sasl? ( dev-libs/cyrus-sasl[static-libs(+)] ) + sdl? ( + !sdl2? ( + media-libs/libsdl[X] + >=media-libs/libsdl-1.2.11[static-libs(+)] + ) + sdl2? ( + media-libs/libsdl2[X] + media-libs/libsdl2[static-libs(+)] + ) + ) + seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] ) + smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] ) + snappy? ( app-arch/snappy:=[static-libs(+)] ) + spice? ( + >=app-emulation/spice-protocol-0.12.3 + >=app-emulation/spice-0.12.0[static-libs(+)] + ) + ssh? ( >=net-libs/libssh2-1.2.8[static-libs(+)] ) + usb? ( >=virtual/libusb-1-r2[static-libs(+)] ) + usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] ) + vde? ( net-misc/vde[static-libs(+)] ) + virgl? ( media-libs/virglrenderer[static-libs(+)] ) + virtfs? ( sys-libs/libcap ) + xen? ( app-emulation/xen-tools:= ) + xfs? ( sys-fs/xfsprogs[static-libs(+)] )" + +X86_FIRMWARE_DEPEND=" + pin-upstream-blobs? ( + ~sys-firmware/edk2-ovmf-2017_pre20170505[binary] + ~sys-firmware/ipxe-1.0.0_p20160620 + ~sys-firmware/seabios-1.10.2[binary,seavgabios] + ~sys-firmware/sgabios-0.1_pre8 + ) + !pin-upstream-blobs? ( + sys-firmware/edk2-ovmf + sys-firmware/ipxe + >=sys-firmware/seabios-1.10.2[seavgabios] + sys-firmware/sgabios + )" +PPC64_FIRMWARE_DEPEND=" + pin-upstream-blobs? ( + ~sys-firmware/seabios-1.10.2[binary,seavgabios] + ) + !pin-upstream-blobs? ( + >=sys-firmware/seabios-1.10.2[seavgabios] + ) +" + +CDEPEND=" + !static? ( + ${ALL_DEPEND//\[static-libs(+)]} + ${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]} + ) + qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} ) + qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} ) + qemu_softmmu_targets_ppc64? ( ${PPC64_FIRMWARE_DEPEND} ) +" +DEPEND="${CDEPEND} + dev-lang/perl + =dev-lang/python-2* + sys-apps/texinfo + virtual/pkgconfig + kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 ) + gtk? ( nls? ( sys-devel/gettext ) ) + static? ( + ${ALL_DEPEND} + ${SOFTMMU_TOOLS_DEPEND} + ) + static-user? ( ${ALL_DEPEND} ) + test? ( + dev-libs/glib[utils] + sys-devel/bc + )" +RDEPEND="${CDEPEND} + selinux? ( sec-policy/selinux-qemu )" + +PATCHES=( + "${FILESDIR}"/${PN}-2.5.0-cflags.patch + "${FILESDIR}"/${PN}-2.5.0-sysmacros.patch + "${FILESDIR}"/${PN}-2.11.0-glibc-2.27.patch + "${WORKDIR}"/patches +) + +STRIP_MASK="/usr/share/qemu/palcode-clipper" + +QA_PREBUILT=" + usr/share/qemu/openbios-ppc + usr/share/qemu/openbios-sparc64 + usr/share/qemu/openbios-sparc32 + usr/share/qemu/palcode-clipper + usr/share/qemu/s390-ccw.img + usr/share/qemu/s390-netboot.img + usr/share/qemu/u-boot.e500" + +QA_WX_LOAD="usr/bin/qemu-i386 + usr/bin/qemu-x86_64 + usr/bin/qemu-alpha + usr/bin/qemu-arm + usr/bin/qemu-cris + usr/bin/qemu-m68k + usr/bin/qemu-microblaze + usr/bin/qemu-microblazeel + usr/bin/qemu-mips + usr/bin/qemu-mipsel + usr/bin/qemu-or1k + usr/bin/qemu-ppc + usr/bin/qemu-ppc64 + usr/bin/qemu-ppc64abi32 + usr/bin/qemu-sh4 + usr/bin/qemu-sh4eb + usr/bin/qemu-sparc + usr/bin/qemu-sparc64 + usr/bin/qemu-armeb + usr/bin/qemu-sparc32plus + usr/bin/qemu-s390x + usr/bin/qemu-unicore32" + +DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the +kernel module loaded before running kvm. The easiest way to ensure that the +kernel module is loaded is to load it on boot. + For AMD CPUs the module is called 'kvm-amd'. + For Intel CPUs the module is called 'kvm-intel'. +Please review /etc/conf.d/modules for how to load these. + +Make sure your user is in the 'kvm' group. Just run + $ gpasswd -a kvm +then have re-login. + +For brand new installs, the default permissions on /dev/kvm might not let +you access it. You can tell udev to reset ownership/perms: + $ udevadm trigger -c add /dev/kvm + +If you want to register binfmt handlers for qemu user targets: +For openrc: + # rc-update add qemu-binfmt +For systemd: + # ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf" + +pkg_pretend() { + if use kernel_linux && kernel_is lt 2 6 25; then + eerror "This version of KVM requres a host kernel of 2.6.25 or higher." + elif use kernel_linux; then + if ! linux_config_exists; then + eerror "Unable to check your kernel for KVM support" + else + CONFIG_CHECK="~KVM ~TUN ~BRIDGE" + ERROR_KVM="You must enable KVM in your kernel to continue" + ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in" + ERROR_KVM_AMD+=" your kernel configuration." + ERROR_KVM_INTEL="If you have an Intel CPU, you must enable" + ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration." + ERROR_TUN="You will need the Universal TUN/TAP driver compiled" + ERROR_TUN+=" into your kernel or loaded as a module to use the" + ERROR_TUN+=" virtual network device if using -net tap." + ERROR_BRIDGE="You will also need support for 802.1d" + ERROR_BRIDGE+=" Ethernet Bridging for some network configurations." + use vhost-net && CONFIG_CHECK+=" ~VHOST_NET" + ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net" + ERROR_VHOST_NET+=" support" + + if use amd64 || use x86 || use amd64-linux || use x86-linux; then + if grep -q AuthenticAMD /proc/cpuinfo; then + CONFIG_CHECK+=" ~KVM_AMD" + elif grep -q GenuineIntel /proc/cpuinfo; then + CONFIG_CHECK+=" ~KVM_INTEL" + fi + fi + + use python && CONFIG_CHECK+=" ~DEBUG_FS" + ERROR_DEBUG_FS="debugFS support required for kvm_stat" + + # Now do the actual checks setup above + check_extra_config + fi + fi + + if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then + eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt" + eerror "instances are still pointing to it. Please update your" + eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag" + eerror "and the right system binary (e.g. qemu-system-x86_64)." + die "update your virt configs to not use qemu-kvm" + fi +} + +pkg_setup() { + enewgroup kvm 78 +} + +# Sanity check to make sure target lists are kept up-to-date. +check_targets() { + local var=$1 mak=$2 + local detected sorted + + pushd "${S}"/default-configs >/dev/null || die + + # Force C locale until glibc is updated. #564936 + detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u)) + sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u)) + if [[ ${sorted} != "${detected}" ]] ; then + eerror "The ebuild needs to be kept in sync." + eerror "${var}: ${sorted}" + eerror "$(printf '%-*s' ${#var} configure): ${detected}" + die "sync ${var} to the list of targets" + fi + + popd >/dev/null +} + +handle_locales() { + # Make sure locale list is kept up-to-date. + local detected sorted + detected=$(echo $(cd po && printf '%s\n' *.po | grep -v messages.po | sed 's:.po$::' | sort -u)) + sorted=$(echo $(printf '%s\n' ${PLOCALES} | sort -u)) + if [[ ${sorted} != "${detected}" ]] ; then + eerror "The ebuild needs to be kept in sync." + eerror "PLOCALES: ${sorted}" + eerror " po/*.po: ${detected}" + die "sync PLOCALES" + fi + + # Deal with selective install of locales. + if use nls ; then + # Delete locales the user does not want. #577814 + rm_loc() { rm po/$1.po || die; } + l10n_for_each_disabled_locale_do rm_loc + else + # Cheap hack to disable gettext .mo generation. + rm -f po/*.po + fi +} + +src_prepare() { + check_targets IUSE_SOFTMMU_TARGETS softmmu + check_targets IUSE_USER_TARGETS linux-user + + # Alter target makefiles to accept CFLAGS set via flag-o + sed -i -r \ + -e 's/^(C|OP_C|HELPER_C)FLAGS=/\1FLAGS+=/' \ + Makefile Makefile.target || die + + default + + # Fix ld and objcopy being called directly + tc-export AR LD OBJCOPY + + # Verbose builds + MAKEOPTS+=" V=1" + + # Run after we've applied all patches. + handle_locales + + # Remove bundled copy of libfdt + rm -r dtc || die +} + +## +# configures qemu based on the build directory and the build type +# we are using. +# +qemu_src_configure() { + debug-print-function ${FUNCNAME} "$@" + + local buildtype=$1 + local builddir="${S}/${buildtype}-build" + + mkdir "${builddir}" + + local conf_opts=( + --prefix=/usr + --sysconfdir=/etc + --libdir=/usr/$(get_libdir) + --docdir=/usr/share/doc/${PF}/html + --disable-bsd-user + --disable-guest-agent + --disable-strip + --disable-werror + # We support gnutls/nettle for crypto operations. It is possible + # to use gcrypt when gnutls/nettle are disabled (but not when they + # are enabled), but it's not really worth the hassle. Disable it + # all the time to avoid automatically detecting it. #568856 + --disable-gcrypt + --python="${PYTHON}" + --cc="$(tc-getCC)" + --cxx="$(tc-getCXX)" + --host-cc="$(tc-getBUILD_CC)" + $(use_enable debug debug-info) + $(use_enable debug debug-tcg) + --enable-docs + $(use_enable tci tcg-interpreter) + $(use_enable xattr attr) + ) + + # Disable options not used by user targets. This simplifies building + # static user targets (USE=static-user) considerably. + conf_notuser() { + if [[ ${buildtype} == "user" ]] ; then + echo "--disable-${2:-$1}" + else + use_enable "$@" + fi + } + conf_opts+=( + $(conf_notuser accessibility brlapi) + $(conf_notuser aio linux-aio) + $(conf_notuser bzip2) + $(conf_notuser bluetooth bluez) + $(conf_notuser caps cap-ng) + $(conf_notuser curl) + $(conf_notuser fdt) + $(conf_notuser glusterfs) + $(conf_notuser gnutls) + $(conf_notuser gnutls nettle) + $(conf_notuser gtk) + $(conf_notuser infiniband rdma) + $(conf_notuser iscsi libiscsi) + $(conf_notuser jpeg vnc-jpeg) + $(conf_notuser kernel_linux kvm) + $(conf_notuser lzo) + $(conf_notuser ncurses curses) + $(conf_notuser nfs libnfs) + $(conf_notuser numa) + $(conf_notuser opengl) + $(conf_notuser png vnc-png) + $(conf_notuser rbd) + $(conf_notuser sasl vnc-sasl) + $(conf_notuser sdl) + $(conf_notuser seccomp) + $(conf_notuser smartcard) + $(conf_notuser snappy) + $(conf_notuser spice) + $(conf_notuser ssh libssh2) + $(conf_notuser usb libusb) + $(conf_notuser usbredir usb-redir) + $(conf_notuser vde) + $(conf_notuser vhost-net) + $(conf_notuser virgl virglrenderer) + $(conf_notuser virtfs) + $(conf_notuser vnc) + $(conf_notuser vte) + $(conf_notuser xen) + $(conf_notuser xen xen-pci-passthrough) + $(conf_notuser xfs xfsctl) + ) + + if [[ ! ${buildtype} == "user" ]] ; then + # audio options + local audio_opts="oss" + use alsa && audio_opts="alsa,${audio_opts}" + use sdl && audio_opts="sdl,${audio_opts}" + use pulseaudio && audio_opts="pa,${audio_opts}" + conf_opts+=( + --audio-drv-list="${audio_opts}" + ) + use gtk && conf_opts+=( --with-gtkabi=$(usex gtk2 2.0 3.0) ) + use sdl && conf_opts+=( --with-sdlabi=$(usex sdl2 2.0 1.2) ) + fi + + case ${buildtype} in + user) + conf_opts+=( + --enable-linux-user + --disable-system + --disable-blobs + --disable-tools + ) + local static_flag="static-user" + ;; + softmmu) + conf_opts+=( + --disable-linux-user + --enable-system + --disable-tools + ) + local static_flag="static" + ;; + tools) + conf_opts+=( + --disable-linux-user + --disable-system + --disable-blobs + --enable-tools + ) + local static_flag="static" + ;; + esac + + local targets="${buildtype}_targets" + [[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" ) + + # Add support for SystemTAP + use systemtap && conf_opts+=( --enable-trace-backend=dtrace ) + + # We always want to attempt to build with PIE support as it results + # in a more secure binary. But it doesn't work with static or if + # the current GCC doesn't have PIE support. + if use ${static_flag}; then + conf_opts+=( --static --disable-pie ) + else + tc-enables-pie && conf_opts+=( --enable-pie ) + fi + + echo "../configure ${conf_opts[*]}" + cd "${builddir}" + ../configure "${conf_opts[@]}" || die "configure failed" + + # FreeBSD's kernel does not support QEMU assigning/grabbing + # host USB devices yet + use kernel_FreeBSD && \ + sed -i -E -e "s|^(HOST_USB=)bsd|\1stub|" "${S}"/config-host.mak +} + +src_configure() { + local target + + python_setup + + softmmu_targets= softmmu_bins=() + user_targets= user_bins=() + + for target in ${IUSE_SOFTMMU_TARGETS} ; do + if use "qemu_softmmu_targets_${target}"; then + softmmu_targets+=",${target}-softmmu" + softmmu_bins+=( "qemu-system-${target}" ) + fi + done + + for target in ${IUSE_USER_TARGETS} ; do + if use "qemu_user_targets_${target}"; then + user_targets+=",${target}-linux-user" + user_bins+=( "qemu-${target}" ) + fi + done + + softmmu_targets=${softmmu_targets#,} + user_targets=${user_targets#,} + + [[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu" + [[ -n ${user_targets} ]] && qemu_src_configure "user" + qemu_src_configure "tools" +} + +src_compile() { + if [[ -n ${user_targets} ]]; then + cd "${S}/user-build" + default + fi + + if [[ -n ${softmmu_targets} ]]; then + cd "${S}/softmmu-build" + default + fi + + cd "${S}/tools-build" + default +} + +src_test() { + if [[ -n ${softmmu_targets} ]]; then + cd "${S}/softmmu-build" + pax-mark m */qemu-system-* #515550 + emake -j1 check + emake -j1 check-report.html + fi +} + +qemu_python_install() { + python_domodule "${S}/scripts/qmp/qmp.py" + + python_doscript "${S}/scripts/kvm/vmxcap" + python_doscript "${S}/scripts/qmp/qmp-shell" + python_doscript "${S}/scripts/qmp/qemu-ga-client" +} + +# Generate binfmt support files. +# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc) +# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt) +generate_initd() { + local out="${T}/qemu-binfmt" + local out_systemd="${T}/qemu.conf" + local d="${T}/binfmt.d" + + einfo "Generating qemu binfmt scripts and configuration files" + + # Generate the debian fragments first. + mkdir -p "${d}" + "${S}"/scripts/qemu-binfmt-conf.sh \ + --debian \ + --exportdir "${d}" \ + --qemu-path "${EPREFIX}/usr/bin" \ + || die + # Then turn the fragments into a shell script we can source. + sed -E -i \ + -e 's:^([^ ]+) (.*)$:\1="\2":' \ + "${d}"/* || die + + # Generate the init.d script by assembling the fragments from above. + local f qcpu package interpreter magic mask + cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die + for f in "${d}"/qemu-* ; do + source "${f}" + + # Normalize the cpu logic like we do in the init.d for the native cpu. + qcpu=${package#qemu-} + case ${qcpu} in + arm*) qcpu="arm";; + mips*) qcpu="mips";; + ppc*) qcpu="ppc";; + s390*) qcpu="s390";; + sh*) qcpu="sh";; + sparc*) qcpu="sparc";; + esac + + cat <>"${out}" + if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then + echo ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register + fi +EOF + + echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}" + + done + cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die +} + +src_install() { + if [[ -n ${user_targets} ]]; then + cd "${S}/user-build" + emake DESTDIR="${ED}" install + + # Install binfmt handler init script for user targets. + generate_initd + doinitd "${T}/qemu-binfmt" + + # Install binfmt/qemu.conf. + insinto "/usr/share/qemu/binfmt.d" + doins "${T}/qemu.conf" + fi + + if [[ -n ${softmmu_targets} ]]; then + cd "${S}/softmmu-build" + emake DESTDIR="${ED}" install + + # This might not exist if the test failed. #512010 + [[ -e check-report.html ]] && dohtml check-report.html + + if use kernel_linux; then + udev_newrules "${FILESDIR}"/65-kvm.rules-r1 65-kvm.rules + fi + + if use python; then + python_foreach_impl qemu_python_install + fi + fi + + cd "${S}/tools-build" + emake DESTDIR="${ED}" install + + # Disable mprotect on the qemu binaries as they use JITs to be fast #459348 + pushd "${ED}"/usr/bin >/dev/null + pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594 + popd >/dev/null + + # Install config file example for qemu-bridge-helper + insinto "/etc/qemu" + doins "${FILESDIR}/bridge.conf" + + cd "${S}" + dodoc Changelog MAINTAINERS docs/specs/pci-ids.txt + newdoc pc-bios/README README.pc-bios + + if [[ -n ${softmmu_targets} ]]; then + # Remove SeaBIOS since we're using the SeaBIOS packaged one + rm "${ED}/usr/share/qemu/bios.bin" + rm "${ED}/usr/share/qemu/bios-256k.bin" + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then + dosym ../seabios/bios.bin /usr/share/qemu/bios.bin + dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin + fi + + # Remove vgabios since we're using the seavgabios packaged one + rm "${ED}/usr/share/qemu/vgabios.bin" + rm "${ED}/usr/share/qemu/vgabios-cirrus.bin" + rm "${ED}/usr/share/qemu/vgabios-qxl.bin" + rm "${ED}/usr/share/qemu/vgabios-stdvga.bin" + rm "${ED}/usr/share/qemu/vgabios-virtio.bin" + rm "${ED}/usr/share/qemu/vgabios-vmware.bin" + # PPC64 loads vgabios-stdvga + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc64; then + dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin + dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin + dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin + dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin + dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin + dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin + fi + + # Remove sgabios since we're using the sgabios packaged one + rm "${ED}/usr/share/qemu/sgabios.bin" + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then + dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin + fi + + # Remove iPXE since we're using the iPXE packaged one + rm "${ED}"/usr/share/qemu/pxe-*.rom + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then + dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom + dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom + dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom + dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom + dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom + dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom + fi + fi + + DISABLE_AUTOFORMATTING=true + readme.gentoo_create_doc +} + +firmware_abi_change() { + local pv + for pv in ${REPLACING_VERSIONS}; do + if ! version_is_at_least ${FIRMWARE_ABI_VERSION} ${pv}; then + return 0 + fi + done + return 1 +} + +pkg_postinst() { + if [[ -n ${softmmu_targets} ]] && use kernel_linux; then + udev_reload + fi + + fcaps cap_net_admin /usr/libexec/qemu-bridge-helper + + DISABLE_AUTOFORMATTING=true + readme.gentoo_print_elog + + if use pin-upstream-blobs && firmware_abi_change; then + ewarn "This version of qemu pins new versions of firmware blobs:" + ewarn " $(best_version sys-firmware/edk2-ovmf)" + ewarn " $(best_version sys-firmware/ipxe)" + ewarn " $(best_version sys-firmware/seabios)" + ewarn " $(best_version sys-firmware/sgabios)" + ewarn "This might break resume of hibernated guests (started with a different" + ewarn "firmware version) and live migration to/from qemu versions with different" + ewarn "firmware. Please (cold) restart all running guests. For functional" + ewarn "guest migration ensure that all" + ewarn "hosts run at least" + ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}." + fi +} + +pkg_info() { + echo "Using:" + echo " $(best_version app-emulation/spice-protocol)" + echo " $(best_version sys-firmware/edk2-ovmf)" + if has_version 'sys-firmware/edk2-ovmf[binary]'; then + echo " USE=binary" + else + echo " USE=''" + fi + echo " $(best_version sys-firmware/ipxe)" + echo " $(best_version sys-firmware/seabios)" + if has_version 'sys-firmware/seabios[binary]'; then + echo " USE=binary" + else + echo " USE=''" + fi + echo " $(best_version sys-firmware/sgabios)" +} diff --git a/app-emulation/qemu/qemu-9999.ebuild b/app-emulation/qemu/qemu-9999.ebuild index 97e3556cc400..cf81dc0a7aa4 100644 --- a/app-emulation/qemu/qemu-9999.ebuild +++ b/app-emulation/qemu/qemu-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2018 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI="6" @@ -34,13 +34,13 @@ IUSE="accessibility +aio alsa bluetooth bzip2 +caps +curl debug +fdt spice ssh static static-user systemtap tci test usb usbredir vde +vhost-net virgl virtfs +vnc vte xattr xen xfs" -COMMON_TARGETS="aarch64 alpha arm cris i386 m68k microblaze microblazeel +COMMON_TARGETS="aarch64 alpha arm cris hppa i386 m68k microblaze microblazeel mips mips64 mips64el mipsel nios2 or1k ppc ppc64 s390x sh4 sh4eb sparc sparc64 x86_64" IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} lm32 moxie ppcemb tricore unicore32 xtensa xtensaeb" IUSE_USER_TARGETS="${COMMON_TARGETS} - armeb hppa mipsn32 mipsn32el ppc64abi32 ppc64le sparc32plus tilegx" + aarch64_be armeb mipsn32 mipsn32el ppc64abi32 ppc64le sparc32plus tilegx" use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS}) use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS}) @@ -78,6 +78,7 @@ ALL_DEPEND=" # Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) # softmmu targets (qemu-system-*). SOFTMMU_TOOLS_DEPEND=" + >=x11-libs/pixman-0.28.0[static-libs(+)] accessibility? ( app-accessibility/brltty[api] app-accessibility/brltty[static-libs(+)] @@ -112,7 +113,7 @@ SOFTMMU_TOOLS_DEPEND=" sys-libs/ncurses:0=[unicode] sys-libs/ncurses:0=[static-libs(+)] ) - nfs? ( >=net-fs/libnfs-1.9.3[static-libs(+)] ) + nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] ) numa? ( sys-process/numactl[static-libs(+)] ) opengl? ( virtual/opengl @@ -201,7 +202,7 @@ RDEPEND="${CDEPEND} selinux? ( sec-policy/selinux-qemu )" PATCHES=( - "${FILESDIR}"/${PN}-2.5.0-cflags.patch + "${FILESDIR}"/${PN}-2.11.9999-cflags.patch "${FILESDIR}"/${PN}-2.5.0-sysmacros.patch ) diff --git a/app-emulation/runc/Manifest b/app-emulation/runc/Manifest index b776546e3646..5e516c8fcb33 100644 --- a/app-emulation/runc/Manifest +++ b/app-emulation/runc/Manifest @@ -1,7 +1,5 @@ AUX runc-1.0.0_rc2-init-non-dumpable.patch 4016 BLAKE2B 8f39ce2a9862939b797e5b9ca74c990669afa3ff966b5a9b4e0d97d57fc390af715785272100940c73414209012de2cc9720fd97103442fb4477c00fbd8666a4 SHA512 2e10cc4ea85f0a95c53a4de6922b8a20395b6225f06449b9f3a994a79113f476563bb6acf365ba12de7896fc537141130790e14de1c612b97e283eeb82877139 -DIST runc-1.0.0_rc2.tar.gz 550449 BLAKE2B b2e8f122c8a469baddddb661b4c719f737be483966c3b374e2a86e556e84fe9d054ce2d5a7ff6b1be99970a22393426fdb21421a44532873b05fa29aa7503734 SHA512 83a3d45efbb86d3d583b96062202b9e60121d250af2c0dd37d07fda574b642aa6f05e29cac6644ad3d624647400db694082e280383e41ca9f31dc0a33b87ed76 DIST runc-1.0.0_rc4.tar.gz 1090513 BLAKE2B 276303e2085eddd549290e3af1a3af4570d0aef43f66f956267451810b0f0fb77f13ed12fe13b76efcd820fc7e0b46eac370a062f43c8600091a807cb12cf733 SHA512 cc2ae38b96f3f3355d9ba26f7af15c57975276aeaf58dcfe7fe5f0f0411ece8584a7cb51ae7fdd2f4109366f55ac8dfb86f225e26377fe07b685bbc56a2518ed -EBUILD runc-1.0.0_rc2-r2.ebuild 1365 BLAKE2B 785dcaa11da004eeefd392f45c6675b7a894455d0f2477deff2486f72432841b48e9f549c80613b5cc8287435b121ec917476ce2cd9754c08350f5c4a9bdb495 SHA512 6e5d05c224d4851c3b92b9da5fa4cc3934093bc74742c1b8cb3b50652014aaef46bdfbd17abd7fab4729b37cb7a8c3c9fa0e98ddd3725ae4c4e3ac5b1ae22c1b -EBUILD runc-1.0.0_rc4.ebuild 1257 BLAKE2B ab96072ea0fcd2edbcd65c2d179a32befc09d178960ca42f590a3353029c3f62eda5052eecd814e0e03b64eb888401cc273fc574bdc4cc8fd235f147b48301aa SHA512 8187b832cc7793f4914f6684077f223a855ddb16b962bb8a8b7cdee9e9db36dd7b87864e30ecf6e226279d32c9b4c9fbc00c2fd037dd74c27bf0578e78a7672b +EBUILD runc-1.0.0_rc4.ebuild 1256 BLAKE2B 7f7b657ae6f25116fbb7945a4c1e4c3690b736965152be821491ea4fdf4cd5ed5e0b3d7dd1a95607f40706e78f1aadab95b2b5d93324adf0ac7ce94c2cb7b463 SHA512 5236b7ffc8c95960f1590d59bb1dccedb4755aea162c9c5c2cce6239fffbf8a2d951bac4c19bcd513335aa9bff24865f1cb0a1ef2909cdea416d8c18684f96ec EBUILD runc-9999.ebuild 1080 BLAKE2B 09034744e5842eb2a340b3095ee3098c58b0853d81ee899b2b8e84c15ffe59638bfc6fb89d158edd4271f1e630c97dafdb4cbe7fb9286049dfe2bbf5eef213ed SHA512 b026b5cbfd44e110a2c2cd72125c757c6b957137fe9491b85e1f25014b564226a3e76c23ea463fd4d7ad742228b2b7bc533aa6b2539b43ca5c37aa2dd07218e3 MISC metadata.xml 911 BLAKE2B 577fb47d934c680f1c9d131185104fbae1d6b00f1668e215ffa1eef7925038b0a9691bedd2c566bca2c7b5e7385304a841117e0cbd700de2381c60cf9a4387a0 SHA512 f142b0f774e96873a78da61de3826c967912dcf081ae6849e7a9b9c02ba621ce3637987b53ec54fd51858ba492f34c891e4b1eabcd568eaebcf665937f36701c diff --git a/app-emulation/runc/runc-1.0.0_rc2-r2.ebuild b/app-emulation/runc/runc-1.0.0_rc2-r2.ebuild deleted file mode 100644 index 0ecb0b79d1f7..000000000000 --- a/app-emulation/runc/runc-1.0.0_rc2-r2.ebuild +++ /dev/null @@ -1,59 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -EGO_PN="github.com/opencontainers/${PN}" - -if [[ ${PV} == *9999 ]]; then - inherit golang-vcs -else - MY_PV="${PV/_/-}" - EGIT_COMMIT="v${MY_PV}" - RUNC_COMMIT="c91b5be" # Change this when you update the ebuild - SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" - KEYWORDS="amd64 ~ppc64" - inherit golang-vcs-snapshot -fi - -DESCRIPTION="runc container cli tools" -HOMEPAGE="http://runc.io" - -LICENSE="Apache-2.0" -SLOT="0" -IUSE="apparmor hardened +seccomp" - -RDEPEND=" - apparmor? ( sys-libs/libapparmor ) - seccomp? ( sys-libs/libseccomp ) - !app-emulation/docker-runc -" - -S=${WORKDIR}/${P}/src/${EGO_PN} - -PATCHES=( "${FILESDIR}"/${P}-init-non-dumpable.patch ) - -src_compile() { - # Taken from app-emulation/docker-1.7.0-r1 - export CGO_CFLAGS="-I${ROOT}/usr/include" - export CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '') - -L${ROOT}/usr/$(get_libdir)" - - # Setup GOPATH so things build - rm -rf .gopath - mkdir -p .gopath/src/"$(dirname "${GITHUB_URI}")" - ln -sf ../../../.. .gopath/src/"${GITHUB_URI}" - export GOPATH="${PWD}/.gopath:${PWD}/vendor" - - # build up optional flags - local options=( - $(usex apparmor 'apparmor') - $(usex seccomp 'seccomp') - ) - - emake BUILDTAGS="${options[*]}" \ - COMMIT="${RUNC_COMMIT}" -} - -src_install() { - dobin runc -} diff --git a/app-emulation/runc/runc-1.0.0_rc4.ebuild b/app-emulation/runc/runc-1.0.0_rc4.ebuild index 886cd2b77286..76500c6dd5e5 100644 --- a/app-emulation/runc/runc-1.0.0_rc4.ebuild +++ b/app-emulation/runc/runc-1.0.0_rc4.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2018 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -11,7 +11,7 @@ else EGIT_COMMIT="v${MY_PV}" RUNC_COMMIT="2e7cfe0" # Change this when you update the ebuild SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64 ~arm ~ppc64" + KEYWORDS="amd64 ~arm ~ppc64" inherit golang-build golang-vcs-snapshot fi diff --git a/app-emulation/spice/Manifest b/app-emulation/spice/Manifest index b278715e79bc..43b55111bf02 100644 --- a/app-emulation/spice/Manifest +++ b/app-emulation/spice/Manifest @@ -3,9 +3,11 @@ AUX spice-0.13.3-reds-Avoid-buffer-overflows-handling-monitor-configu.patch 1902 AUX spice-0.13.3-reds-Avoid-integer-overflows-handling-monitor-config.patch 1022 BLAKE2B eff6063372af35b926663393afc022a4e0b875c22402136ed41be394951958789a2c8de26e8791664cbef1c8bee7e9344f8fe7f39563e7b14567f9ebff2b0fa8 SHA512 4f815f091c0eec1ccfaa3438390087d4b7390e3ea84e353e42638a850e0faa552077af443719f2015ce36375ac2ac400721677462a2739ecf05fdf8c2e778b41 AUX spice-0.13.3-reds-Disconnect-when-receiving-overly-big-ClientMoni.patch 2988 BLAKE2B 99bca01b78b4acb875085628613f47a8c07c87061b77a50fdb4abc45770aa75a88bc75310e3a8a558d303861f17480b6362751f4073a54c5909aaca8c11422ef SHA512 ee15a37c45527869415d301968857f47a4536462bcea6fb5608862fa7019b2eeba36d08563b74feb7a96bc565dd6fe09349c736c4677d43c1f13fc95f1c42c06 AUX spice-0.13.3-skip_faulty_lz4_check.patch 566 BLAKE2B 4775395c0e39e8c930078365ac2b05c21d30698b4cd472e56eb77fcde3f83894f3649c066824ad424dd0178200e17a8cd207046552dfebd3944de88e96d406e9 SHA512 aa16b86446f42a08c5d76927090e6b01817308520b34affcdd28a9e89d70d344f5ce47d1600c5cc564ecdf428cbfe8cf456ce8d3ccf4e686bd0cfb2f9fe5fe33 +AUX spice-0.14.0-libressl_fix.patch 488 BLAKE2B ab316ba0e5ca7299304dae229216291f0c2e80720f16dd0bd3de825b311b57cea3dd52b1afa029e5c246abe4244c30deda55f40262085ed2290799748cdb27d2 SHA512 80d809aa7cb92cb5b51a00c1d92f3160110ceefedf6fbebdc77726dec99f253fa9c308b5e5356620ea5b426c14857ad87d8aa861913b22c5b1eecb6df1ce922e +AUX spice-0.14.0-openssl1.1_fix.patch 576 BLAKE2B 0b2f86239048722c7350ce63274d022994f6a9a13f3e12c0450ca7c1ec9e9c79b0e688b46e387fcc9cd0c606f2e0631baa20b29cfabca697f0e1a848d7f2f604 SHA512 50d2121760fdb5e3da75cb33e5d63855501cb9045dbb1e6ab26b13b27bcaf32a4c02daa4d28951ad9431cfea533061196f0157068ea846fc19e458604ff7dc77 DIST spice-0.13.3.tar.bz2 1322505 BLAKE2B 56f9cd34bb48fdcf750230242b27567db713ef749649d4b780a82d0d4ec5d326b19540c9bb4f36c164d40a692eb0368c39e05ee8dba319dd8461a0315e5a9a17 SHA512 63496fbd3df0fd453052cef8e1fb00a3a28f0105610676fdc4a58043cbc6da571ae4407701af2b817e410d05ce727d60d5ee0c93c8897231e25229897c51d95a -DIST spice-0.13.90.tar.bz2 1364173 BLAKE2B 1bc0e71d8c5a21f9961ac6c0567bde19d31983bd5b0f5d4df30cc5634080d288f277689d875334d94c6a276284313bc82f15eaf0ce20916c6c912c2dcc4bdfc0 SHA512 a5a6ab328a2d3cb405ead6eef40a1b896432f35accf1f8b015fc9deadcc4e5eb5f6d8d575a94fa3b2505e206986887badecf721ab015efd88dad174d7340c01c +DIST spice-0.14.0.tar.bz2 1330195 BLAKE2B 08f93e8ddeb79adb4feac0557a854cc41fd096a9dfefc0baaca176803c2a03ef9286c4f61a135d62ad22e3ac3f4bb31ffd1614c8ddeaec7ae8c01eca34da1750 SHA512 84532146aa628ca6ca459a82afb89d6391892e063668fd4a68023c92cee7ca868b6c82e31dd9886819b76ea745ebdae0d0030e1f608d8f58f51c00f0b09bae1f EBUILD spice-0.13.3-r2.ebuild 2712 BLAKE2B dc0b6c6ec539682690d5a7f240beb49669fa7260a92214a8434b8e527b4f07434fa0feee54db5906fea7cc3256d8fcaed207bbf255aa79bdc640577647dc1110 SHA512 d0cbb81eaaacdf131c914b83ef42071e3f373d1154b0d3c530db6d4ff39c44f814e5a20c3ba2182bbf3cea3598cab1f6e7201ca74377cadb710808554a4f3228 -EBUILD spice-0.13.90.ebuild 2384 BLAKE2B 4e492b1f09f5c2ebf4c0fb7a862ab40fa04a0e6d6c5fa73655965bdbae8a390604d67e80e852ed34a534c49f298f2f93d6c67436e94935099400361c04105fba SHA512 60a13e6974938a603d082f76c54f062a8109be23787430baa9cd557b5d4ccf1f363fe73a1e233976caf1be1a1961cba45a09f520f4a725774feaf5980ac940ba +EBUILD spice-0.14.0.ebuild 2412 BLAKE2B fcc229345c3111f59604673fdb0022c840f5ca0ee68d592b1d95df1a5994f5a93680904b382fa44622db786da3eaf9e6d0cfb7b4156df7c18541159738132f50 SHA512 aefaa63c2e9f35e000c6c4cccb330c7eb1e514aecb319d571138bedb7ea3206d947cf2ed27cb7c8b5d6b1bb2aca9d2c8979f02c57bff5120ccb851382fc972d7 EBUILD spice-9999.ebuild 2386 BLAKE2B da587de7bed6da379e3a91a50911cd9069a4c72d35b75728c3554f07026438392a7ce8f5aedc55f9fb7ada93ff6e46167b610f23cf5d3def2004fdcff1d818c4 SHA512 e9c217c888229996b61a6fd38c0769fe5fc579117b0f2f54f07d44d45d720d4a1bd7a1c6b8145f01d7aa99c03aa88ac2a5edd1c44ff6a4bd17fd0950eb29397f MISC metadata.xml 476 BLAKE2B 2cda64935d0117db099551f30928c447c4d1d7f4e1c355e619c0134ec31e4d7779b646329218c48f9be671d0f0e92fa496caaa34f6aa4136748dd9bd6d2d868a SHA512 3ae95b689c812e19679cb9a9db2f0811077a4eb205cadf4baeb78a2ddfeb7fc0086e2514540fad59e447bbca6c9dba81001a8ff156a1d18ba2d58171ba301f9b diff --git a/app-emulation/spice/files/spice-0.14.0-libressl_fix.patch b/app-emulation/spice/files/spice-0.14.0-libressl_fix.patch new file mode 100644 index 000000000000..2f77fa5a0006 --- /dev/null +++ b/app-emulation/spice/files/spice-0.14.0-libressl_fix.patch @@ -0,0 +1,13 @@ +diff --git a/spice-common/common/ssl_verify.c b/spice-common/common/ssl_verify.c +index a9ed650..27aa5d3 100644 +--- a/spice-common/common/ssl_verify.c ++++ b/spice-common/common/ssl_verify.c +@@ -33,7 +33,7 @@ + #include + #include + +-#if OPENSSL_VERSION_NUMBER < 0x10100000 ++#if OPENSSL_VERSION_NUMBER < 0x10100000 || defined (LIBRESSL_VERSION_NUMBER) + static const unsigned char *ASN1_STRING_get0_data(const ASN1_STRING *asn1) + { + return M_ASN1_STRING_data(asn1); diff --git a/app-emulation/spice/files/spice-0.14.0-openssl1.1_fix.patch b/app-emulation/spice/files/spice-0.14.0-openssl1.1_fix.patch new file mode 100644 index 000000000000..5854d8788c75 --- /dev/null +++ b/app-emulation/spice/files/spice-0.14.0-openssl1.1_fix.patch @@ -0,0 +1,26 @@ +--- spice-0.13.90-orig/server/reds.c 2017-07-27 01:04:10.000000000 +1000 ++++ spice-0.13.90/server/reds.c 2017-10-18 21:42:12.054934199 +1100 +@@ -34,6 +34,8 @@ + #include + + #include ++#include ++#include + + #if HAVE_SASL + #include +@@ -2795,9 +2797,12 @@ + + static gpointer openssl_global_init(gpointer arg) + { ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++ OPENSSL_init_ssl(0, NULL); ++#else + SSL_library_init(); + SSL_load_error_strings(); +- ++#endif + openssl_thread_setup(); + + return NULL; + diff --git a/app-emulation/spice/spice-0.13.90.ebuild b/app-emulation/spice/spice-0.13.90.ebuild deleted file mode 100644 index abf7a28a67bb..000000000000 --- a/app-emulation/spice/spice-0.13.90.ebuild +++ /dev/null @@ -1,97 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} ) - -inherit autotools ltprune python-any-r1 readme.gentoo-r1 xdg-utils - -DESCRIPTION="SPICE server" -HOMEPAGE="https://www.spice-space.org/" -SRC_URI="https://www.spice-space.org/download/releases/${P}.tar.bz2" - -LICENSE="LGPL-2.1" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="libressl lz4 sasl smartcard static-libs gstreamer" - -# the libspice-server only uses the headers of libcacard -RDEPEND=" - >=dev-libs/glib-2.22:2[static-libs(+)?] - >=media-libs/celt-0.5.1.1:0.5.1[static-libs(+)?] - media-libs/opus[static-libs(+)?] - sys-libs/zlib[static-libs(+)?] - virtual/jpeg:0=[static-libs(+)?] - >=x11-libs/pixman-0.17.7[static-libs(+)?] - !libressl? ( dev-libs/openssl:0=[static-libs(+)?] ) - libressl? ( dev-libs/libressl:0=[static-libs(+)?] ) - lz4? ( app-arch/lz4:0=[static-libs(+)?] ) - smartcard? ( >=app-emulation/libcacard-0.1.2 ) - sasl? ( dev-libs/cyrus-sasl[static-libs(+)?] ) - gstreamer? ( - media-libs/gstreamer:1.0 - media-libs/gst-plugins-base:1.0 - )" -DEPEND="${RDEPEND} - ${PYTHON_DEPS} - >=app-emulation/spice-protocol-0.12.12 - virtual/pkgconfig - $(python_gen_any_dep ' - >=dev-python/pyparsing-1.5.6-r2[${PYTHON_USEDEP}] - dev-python/six[${PYTHON_USEDEP}] - ') - smartcard? ( app-emulation/qemu[smartcard] )" - -python_check_deps() { - has_version ">=dev-python/pyparsing-1.5.6-r2[${PYTHON_USEDEP}]" - has_version "dev-python/six[${PYTHON_USEDEP}]" -} - -pkg_setup() { - [[ ${MERGE_TYPE} != binary ]] && python-any-r1_pkg_setup -} - -src_prepare() { - default - - eautoreconf -} - -src_configure() { - # Prevent sandbox violations, bug #586560 - # https://bugzilla.gnome.org/show_bug.cgi?id=744134 - # https://bugzilla.gnome.org/show_bug.cgi?id=744135 - addpredict /dev - - xdg_environment_reset - - local myconf=" - $(use_enable static-libs static) - $(use_enable lz4) - $(use_with sasl) - $(use_enable smartcard) - --enable-gstreamer=$(usex gstreamer "1.0" "no") - --enable-celt051 - --disable-gui - " - econf ${myconf} -} - -src_compile() { - # Prevent sandbox violations, bug #586560 - # https://bugzilla.gnome.org/show_bug.cgi?id=744134 - # https://bugzilla.gnome.org/show_bug.cgi?id=744135 - addpredict /dev - - default -} - -src_install() { - default - use static-libs || prune_libtool_files - readme.gentoo_create_doc -} - -pkg_postinst() { - readme.gentoo_print_elog -} diff --git a/app-emulation/spice/spice-0.14.0.ebuild b/app-emulation/spice/spice-0.14.0.ebuild new file mode 100644 index 000000000000..11420b4ea1be --- /dev/null +++ b/app-emulation/spice/spice-0.14.0.ebuild @@ -0,0 +1,100 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} ) + +inherit autotools ltprune python-any-r1 readme.gentoo-r1 xdg-utils + +DESCRIPTION="SPICE server" +HOMEPAGE="https://www.spice-space.org/" +SRC_URI="https://www.spice-space.org/download/releases/${P}.tar.bz2" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="libressl lz4 sasl smartcard static-libs gstreamer" + +# the libspice-server only uses the headers of libcacard +RDEPEND=" + >=dev-libs/glib-2.22:2[static-libs(+)?] + media-libs/opus[static-libs(+)?] + sys-libs/zlib[static-libs(+)?] + virtual/jpeg:0=[static-libs(+)?] + >=x11-libs/pixman-0.17.7[static-libs(+)?] + !libressl? ( dev-libs/openssl:0=[static-libs(+)?] ) + libressl? ( dev-libs/libressl:0=[static-libs(+)?] ) + lz4? ( app-arch/lz4:0=[static-libs(+)?] ) + smartcard? ( >=app-emulation/libcacard-0.1.2 ) + sasl? ( dev-libs/cyrus-sasl[static-libs(+)?] ) + gstreamer? ( + media-libs/gstreamer:1.0 + media-libs/gst-plugins-base:1.0 + )" +DEPEND="${RDEPEND} + ${PYTHON_DEPS} + >=app-emulation/spice-protocol-0.12.13 + virtual/pkgconfig + $(python_gen_any_dep ' + >=dev-python/pyparsing-1.5.6-r2[${PYTHON_USEDEP}] + dev-python/six[${PYTHON_USEDEP}] + ') + smartcard? ( app-emulation/qemu[smartcard] )" + +PATCHES=( + "${FILESDIR}"/${P}-libressl_fix.patch + "${FILESDIR}"/${P}-openssl1.1_fix.patch +) + +python_check_deps() { + has_version ">=dev-python/pyparsing-1.5.6-r2[${PYTHON_USEDEP}]" + has_version "dev-python/six[${PYTHON_USEDEP}]" +} + +pkg_setup() { + [[ ${MERGE_TYPE} != binary ]] && python-any-r1_pkg_setup +} + +src_prepare() { + default + + eautoreconf +} + +src_configure() { + # Prevent sandbox violations, bug #586560 + # https://bugzilla.gnome.org/show_bug.cgi?id=744134 + # https://bugzilla.gnome.org/show_bug.cgi?id=744135 + addpredict /dev + + xdg_environment_reset + + local myconf=" + $(use_enable static-libs static) + $(use_enable lz4) + $(use_with sasl) + $(use_enable smartcard) + --enable-gstreamer=$(usex gstreamer "1.0" "no") + --disable-celt051 + " + econf ${myconf} +} + +src_compile() { + # Prevent sandbox violations, bug #586560 + # https://bugzilla.gnome.org/show_bug.cgi?id=744134 + # https://bugzilla.gnome.org/show_bug.cgi?id=744135 + addpredict /dev + + default +} + +src_install() { + default + use static-libs || prune_libtool_files + readme.gentoo_create_doc +} + +pkg_postinst() { + readme.gentoo_print_elog +} diff --git a/app-emulation/vagrant/Manifest b/app-emulation/vagrant/Manifest index 6c2ab0f1f01c..97847f9eb7b1 100644 --- a/app-emulation/vagrant/Manifest +++ b/app-emulation/vagrant/Manifest @@ -1,10 +1,10 @@ AUX vagrant-1.8.1-disable-embedded-cacert.patch 742 BLAKE2B 8ee0008edd9f58eec1e2e5382dd88ad4db9453f4d06da1b0d2db68057de758a35f41b2e16a91bbbf1ac99d0ddf37d801caf0390230a33b61c82d8d3a5618ac1f SHA512 a3c791490f2b34965a3f3303ce064be76c86a6321d3d5616837b104e2db9a318c57ded7c59a925de7c79e6a5dce9a35ca0d90ef37cf8012d257f3e4e03d84508 AUX vagrant.in 1541 BLAKE2B 92f8ee0f67eb1088003b99071d4764f9b1a09a39840dbbf88bbc36db417104bc7e7f177b97368ed10dd65f47e2abedef4f848588c21729f5a5ce1b55a20af430 SHA512 05b6c08eab0f4d5f523cfb4231db673ed66052fc72c27e97228be06a5f881da301538b8ff2e4872e8190ca996b994820a468c54b26759e2ca4036da409ca1a82 AUX vagrant.in-r1 1872 BLAKE2B 9a5f7f98d1aa0713b2e9777b8d4b5d01f7fc23068c7d920e5117150850547d8809d4d30ef8617e3316ab678bee7a73d3c7bccf732920baf469aea801f2bfced7 SHA512 0adb540aa4a8925de7cf5099357aa555c36ea9afc819ee9f24028e318c46ab9d41bcf4543eddeda70b8c1ba97c3742f0b6544c03e4c20f2ede41edc8938c48f5 -DIST vagrant-1.9.8.tar.gz 1127560 BLAKE2B efb6c8b985e92dcf0f933a24480934ec09b990f6cd1ea0ed373eb72c3d41f343cfcfef99ff77f39e5a40ee010dca8c45db68c07db106a73078d2841d65e2e3c0 SHA512 d22cc0a6800aa5ef84085c750f5ec8729f7b3adefd9a5df1a1fcaf60d1219e781869ede4f57ce4fdeb269224603dfc3a8024545a0250ebd9e144745ce9aa670b DIST vagrant-2.0.0.tar.gz 1142850 BLAKE2B a37baa3166e812635a8ce7e27280108660a347b8cfed396f29cb8f7b7266b5dc47501be6793a95d9bbaf289dd3be3bcef67ff37c35b51987a328194f275ae7f9 SHA512 ee9059dfd205253d6f978fd225d85eef5a281532a1992bc9382eb713c95a0280d4b6518460106227237ae4e93cf5e2eaf670bd378627c3e9696b0fe9a2427ac1 DIST vagrant-2.0.1.tar.gz 1153702 BLAKE2B 66c15ab3bf6fd5904e25d4689b6ce70b5c87c833e1ed943b49f53d6ce63924486d65c2db3990625a1fd971fae5e7961f7b9d0624e71576daa7967cbccf21c202 SHA512 4458fd819cfcbf732dcbb5e334986afc986e3da4f4ea883260ed9b7ff8dd90ef9b0078c067a1bf7fbf51562f235ab447234762a38aa0ac539974f6205f6d9cfd -EBUILD vagrant-1.9.8.ebuild 2169 BLAKE2B 6a8fca05bcb8544be3202fad124d3528065ede3dc1748c636df8309f579917c22fcf29f6fdd8374523609962de86259a55a86edae3fc45b354baf50e73fa4a74 SHA512 ece9364b5437f22a2f441408c0811d14dd93138e7d9cce5ed785847b9e38982c880c808a1ba7668ca24fdeadfdd59a77a931461897eb54266aec4c834549f6b2 +DIST vagrant-2.0.2.tar.gz 1177773 BLAKE2B 7624ce0bbc5f606bff89a0ef7d9d562f5caeea50b2b13744aef5e037f0b7861ccd2b6450f1686f4285027540b795539ef548ddadaf2f6c1476c87717078ebc7f SHA512 27e8157cf8a8d102a0ca328403410639bd4a9f7cb90d443f5be3ca912aeb6177208b26ba9751b49d98b5ba1e92f8bec74db0baca4cd22051d5ef6d3aca558f3a EBUILD vagrant-2.0.0.ebuild 2162 BLAKE2B 089a4d828d04c1450df47093ab9eb528a4d2812f0706baf5217136514130e757c05b17f4e9558ef468a6d257ebcb6d379af64c8e827b71a67de63c06727e7392 SHA512 149763cc4f924a7879e0ad2da42f1d8dd74ff2679b44ad4fc3f16be588dab3794a7415decb089a73c15f4a86d44102d4fa58198c49106dc1e58dead8ba8bdea4 EBUILD vagrant-2.0.1-r1.ebuild 2051 BLAKE2B b13ba8764cc2b29654cf05a7439abc56c24fbe4d4fee7938ace3cce2a2c3356952170f6a43af93b4315752fa27044b74c49f9239f1fa70a2818c8cf1db5d80a4 SHA512 c3557a23b98e652ab5f9d37d50f29ed119f4e172d056c749c7f30507322cf334f8a0287b3c8db49b438d70ac125c8048e15d137546486f57133823959d9c5e39 +EBUILD vagrant-2.0.2.ebuild 2069 BLAKE2B dd0117d12c8884866ce4c882f30f684110f95e17a8a831550eb9da340c983f54c9d322227958e6211e853d1c6bc9e64754b9d9e670ced4b3cbf21c905874cd2f SHA512 5c4cf1e5616a5e44cb14863a65db05c728c0cbd78ee4733d68a76de566749f8818f25c5bfe0e4d039c3d3bb38482b2c1b102d8917012b037b6a1ae6a06433fe0 MISC metadata.xml 526 BLAKE2B a8d050fda7277001be0e472a1631c5d03620eae6d2adbd7fa985dfe478a137b444883587c37e2e8b1f6e6b55099573da1b4ec0a0d31863beb033eb17126d6d2f SHA512 a7b05fb9aa3c0e94bc5e3a32ed7da703dde28e254892e76575a6fe47ceef60c4134ee9f75dab48bcef72e98b1be32494d739e74e66f3aefab77fa4a5d55e346d diff --git a/app-emulation/vagrant/vagrant-1.9.8.ebuild b/app-emulation/vagrant/vagrant-1.9.8.ebuild deleted file mode 100644 index 7d133f044ebf..000000000000 --- a/app-emulation/vagrant/vagrant-1.9.8.ebuild +++ /dev/null @@ -1,81 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" -USE_RUBY="ruby22 ruby23" - -RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.md" -RUBY_FAKEGEM_GEMSPEC="vagrant.gemspec" -RUBY_FAKEGEM_EXTRAINSTALL="keys plugins templates version.txt" -RUBY_FAKEGEM_TASK_DOC="" - -inherit bash-completion-r1 ruby-fakegem eutils - -DESCRIPTION="A tool for building and distributing development environments" -HOMEPAGE="http://vagrantup.com/" -SRC_URI="https://github.com/mitchellh/vagrant/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64" -IUSE="+virtualbox" - -RDEPEND="${RDEPEND} - app-arch/libarchive - net-misc/curl - virtualbox? ( || ( app-emulation/virtualbox app-emulation/virtualbox-bin ) )" - -ruby_add_rdepend " - >=dev-ruby/childprocess-0.6.0 - >=dev-ruby/erubis-2.7.0 - =dev-ruby/listen-3.1.5 - >=dev-ruby/hashicorp-checkpoint-0.1.1 - >=dev-ruby/log4r-1.1.9 =dev-ruby/net-ssh-4.1.0:* - >=dev-ruby/net-sftp-2.1 - >=dev-ruby/net-scp-1.2.0 - || ( dev-ruby/rest-client:2 >=dev-ruby/rest-client-1.6.0:0 ) - >=dev-ruby/nokogiri-1.7.1 - =dev-ruby/rake-12.0.0 -" - -all_ruby_prepare() { - # remove bundler support - sed -i '/[Bb]undler/d' Rakefile || die - rm Gemfile || die - - # loosen dependencies - sed -e '/hashicorp-checkpoint\|listen\|net-ssh\|net-scp\|rake\|childprocess/s/~>/>=/' \ - -e '/ruby_dep/s/<=/>=/' \ - -i ${PN}.gemspec || die - - # remove windows-specific gems - sed -e '/wdm\|winrm/d' \ - -i ${PN}.gemspec || die - - # remove bsd-specific gems - sed -e '/rb-kqueue/d' \ - -i ${PN}.gemspec || die - - # disable embedded CA certs and use system ones - epatch "${FILESDIR}"/${PN}-1.8.1-disable-embedded-cacert.patch - - sed -e "s/@VAGRANT_VERSION@/${PV}/g" "${FILESDIR}/${PN}.in" > "${PN}" || die -} - -all_ruby_install() { - newbashcomp contrib/bash/completion.sh ${PN} - all_fakegem_install - - # provide executable similar to upstream: - # https://github.com/mitchellh/vagrant-installers/blob/master/substrate/modules/vagrant_installer/templates/vagrant.erb - dobin "${PN}" - - # directory for plugins.json - dodir /var/lib/vagrant -} diff --git a/app-emulation/vagrant/vagrant-2.0.2.ebuild b/app-emulation/vagrant/vagrant-2.0.2.ebuild new file mode 100644 index 000000000000..09af0d9c7406 --- /dev/null +++ b/app-emulation/vagrant/vagrant-2.0.2.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" +USE_RUBY="ruby22 ruby23" + +RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.md" +RUBY_FAKEGEM_GEMSPEC="vagrant.gemspec" +RUBY_FAKEGEM_EXTRAINSTALL="keys plugins templates version.txt" +RUBY_FAKEGEM_TASK_DOC="" + +inherit bash-completion-r1 ruby-fakegem + +DESCRIPTION="A tool for building and distributing development environments" +HOMEPAGE="http://vagrantup.com/" +SRC_URI="https://github.com/mitchellh/vagrant/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" +IUSE="+virtualbox" +RESTRICT="test" + +RDEPEND="${RDEPEND} + app-arch/libarchive + net-misc/curl + virtualbox? ( || ( app-emulation/virtualbox app-emulation/virtualbox-bin ) )" + +ruby_add_rdepend " + >=dev-ruby/childprocess-0.6.0 + >=dev-ruby/erubis-2.7.0 + =dev-ruby/listen-3.1.5 + >=dev-ruby/hashicorp-checkpoint-0.1.5 + >=dev-ruby/log4r-1.1.9 =dev-ruby/net-ssh-4.2.0:* + >=dev-ruby/net-sftp-2.1 + >=dev-ruby/net-scp-1.2.0 + || ( dev-ruby/rest-client:2 >=dev-ruby/rest-client-1.6.0:0 ) + >=dev-ruby/nokogiri-1.7.1 + =dev-ruby/rake-12.0.0 +" + +all_ruby_prepare() { + # remove bundler support + sed -i '/[Bb]undler/d' Rakefile || die + rm Gemfile || die + + # loosen dependencies + sed -e '/hashicorp-checkpoint\|listen\|net-ssh\|net-scp\|rake\|childprocess/s/~>/>=/' \ + -e '/ruby_dep/s/<=/>=/' \ + -i ${PN}.gemspec || die + + # remove windows-specific gems + sed -e '/wdm\|winrm/d' \ + -i ${PN}.gemspec || die + + # remove bsd-specific gems + sed -e '/rb-kqueue/d' \ + -i ${PN}.gemspec || die + + sed -e "s/@VAGRANT_VERSION@/${PV}/g" "${FILESDIR}/${PN}.in-r1" > "${PN}" || die +} + +all_ruby_install() { + newbashcomp contrib/bash/completion.sh ${PN} + all_fakegem_install + + # provide executable similar to upstream: + # https://github.com/mitchellh/vagrant-installers/blob/master/substrate/modules/vagrant_installer/templates/vagrant.erb + dobin "${PN}" + + # directory for plugins.json + keepdir /var/lib/vagrant +} diff --git a/app-emulation/virt-manager/Manifest b/app-emulation/virt-manager/Manifest index 0f5832924b70..dc944f1ef097 100644 --- a/app-emulation/virt-manager/Manifest +++ b/app-emulation/virt-manager/Manifest @@ -1,10 +1,6 @@ -DIST virt-manager-1.4.0.tar.gz 2667631 BLAKE2B dc245a295f62cbdeccb728935484761cfa0b35aa306e14f356bf0ba1de4c764769875f2a5a81662397996ce499fa7756d0e64fca1e1ee50d866b5fd2724da98c SHA512 6e28b0c4a91a9d96a0b5402e2af2bb0e670eb545824cf73877053c84891449bce236ffe2a79834a34d46443a7e5caa102cbbb0ac54af840a3997fbb61e155d51 -DIST virt-manager-1.4.1.tar.gz 2715863 BLAKE2B 489be4033a2781e7e66e27a2158beb39580f4f7395dcf40bc51c71721e77e64ae1c7525c5c57311808962047760820437457b53c46f438a6b45723591f902952 SHA512 ea4cdc16d7adecdb85431fdfbe7305518917b7d66342375b6773462d33d5647c2a4d3f054c08cd44d7c4e7785da92e38b18881a422083e82303b5a3dbd7b4cdd -DIST virt-manager-1.4.2.tar.gz 2770982 BLAKE2B bcc808ffd3b39aea487909a63a1c5d9eb38f465643435b7dee7771fa7a7834c8c59512fd1b44473fb557fb78afc0b4d1aa3244957de0c07f4d03cf580ef2686b SHA512 df154a5dc2724e03f8e0b1646a39c4284fb5f38a4326b6ef42f4e1efc16187164c1b5259608bac366860fe6707e2134e8729228f6cf4d6cd9eca4b0edc01a53e DIST virt-manager-1.4.3.tar.gz 2765924 BLAKE2B fa888dc78bb8ab27ff5a507829c5ace5d0e82b7840c9d4ec1857dfd2e62f39172abf116ca3f4d99f4a2c4366f06695a52561e6c816969928df79e623fb4ce9bf SHA512 007f125503fc2c774beefc8047ca2c36aa7177af40d9bc78fa3448fd50d4d35abd4a1dbbf761a8cd538fdf6541eba46c2cd019ba3ff0c7e29b1944d873b74274 -EBUILD virt-manager-1.4.0-r3.ebuild 2711 BLAKE2B 71da7d4392610379b0fe3fae4919cd381375c57e350ff3acf150be818b347d454beb87fa19532a8fdf01b9a31c43914ef9e0e0e64936667625ef634b2be5c487 SHA512 998cdcbfc46786b8b3dc07fbc820bf7252e1b1b1671b707c2db4ae96b4f613cc05581004d4386fa2fad0789cfc6b0b144fd55ada96040380530956a302047db2 -EBUILD virt-manager-1.4.1.ebuild 2427 BLAKE2B 4392a2102a51a5bf89ff53bbfca88bf20d0bd77ac6de3f9fa7576827d9ba714caca791e958ba2147e3c4eb48ba22d7c1fe8a2583853632b937794c1105e23f8d SHA512 356b82caf17405bf74d80809a83f685ca6941fe64cbc0ce6775c9dd79c75c578df9f3a1d11e96566e604a9fa8df2f4a883be81f9a9f3733f7da94412ec5a71c0 -EBUILD virt-manager-1.4.2.ebuild 2399 BLAKE2B ed2c3878c9b3ae043459a154a25a3161a09523909c296c632b32d08c5ae8466472654086c2177a7b6c1e212a316463734b4a399256e8636f641787cbbf981780 SHA512 73a108a870ac382b3a72b5ecd9119941137208f257b7606b91bdbdbeacccf107c8fc0b5cd562378828e247b4dc75470584e6b0c534688caabd511c9e142b4f6f +DIST virt-manager-1.5.0.tar.gz 2797380 BLAKE2B 45ef8c2b98fa1d6f7c4b4fe45bca74e27d595eb4d2e7c80c4e7671c445d8e523b8a4c21eaffc02dea756b7a93f5b3c7f3bdc795a0cf6ef99230bcf0c5683c81b SHA512 b375927776b9132fbd9dacd8223b6c94b89c32d6812394ec7e18df7c66f7e6dec853885e85e2b4b4ffd283e8afe0dd2526bafeac4b55511a4a115ef5798f97da EBUILD virt-manager-1.4.3.ebuild 2406 BLAKE2B b18ed780d146def605866e8468edf5505cee6913169381fa591a804bd25ce6b6ec4b09801ee42827871f6b08d9bd8aaa621ba819bbec682f6731fbaa8e984411 SHA512 0db0e050d64b2b6cf820c4dfa2a21c1154ee7a3bc124b38b78bbd5e6ab18239a5cdff49838597daeb3a1fe71b2b4ee167c685f2217087404fe7d6bcf9fa82c44 -EBUILD virt-manager-9999.ebuild 2399 BLAKE2B ed2c3878c9b3ae043459a154a25a3161a09523909c296c632b32d08c5ae8466472654086c2177a7b6c1e212a316463734b4a399256e8636f641787cbbf981780 SHA512 73a108a870ac382b3a72b5ecd9119941137208f257b7606b91bdbdbeacccf107c8fc0b5cd562378828e247b4dc75470584e6b0c534688caabd511c9e142b4f6f +EBUILD virt-manager-1.5.0.ebuild 2408 BLAKE2B eae4524fbacfa095a48dda0fd3e4cac44281ce5d7df862990cb8fe8ab72049185aaad886b3ccb4a957fe0367e1d587b62304a94065146f1b5e3d27ed90c80108 SHA512 960693352f33803ffb0049790e944482b6f7272a040137e25f78f4e0ef7015d0fb4a0fde922110aa6f90dcea9c35d075425d851a0550821b200834275666cf04 +EBUILD virt-manager-9999.ebuild 2442 BLAKE2B 7783010edf8e1e41eda8c74d5780f8e4b3246066b7b6ac97f89a85f61d79239e4425037131bc87bcc145d5165344720ec20c83d0e638d0941a89d03b75f834d7 SHA512 e0424714069d08b0e0de868d72e45d57953c3ea2dd0910b683c3bdb2b73ca0274a7444661c8df212cca0fe47d10c0aea5c455ecddc8d033b89c88590118b30e6 MISC metadata.xml 662 BLAKE2B 4ddc8ee05f0679380316f8c175194b325d931967c9faee576f042fa42e0c7d6f8aa6b688464c1a839b8b20e184646d6e356095ffad136141c6c1fc7aa5d4f4f6 SHA512 7aaac81b00bb77562616d6ba9442c2e37d7cdd1142af090e3fe07be36315b5179bdb9cf78073c3f901e9a924c089ba00474e3c7121d785b6622b60be1fce682a diff --git a/app-emulation/virt-manager/virt-manager-1.4.0-r3.ebuild b/app-emulation/virt-manager/virt-manager-1.4.0-r3.ebuild deleted file mode 100644 index 04113c1f918c..000000000000 --- a/app-emulation/virt-manager/virt-manager-1.4.0-r3.ebuild +++ /dev/null @@ -1,104 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 - -PYTHON_COMPAT=( python2_7 ) -DISTUTILS_SINGLE_IMPL=1 - -inherit gnome2 distutils-r1 - -DESCRIPTION="A graphical tool for administering virtual machines" -HOMEPAGE="http://virt-manager.org" - -if [[ ${PV} = *9999* ]]; then - inherit git-2 - SRC_URI="" - KEYWORDS="" - EGIT_REPO_URI="https://github.com/virt-manager/virt-manager.git" -else - SRC_URI="http://virt-manager.org/download/sources/${PN}/${P}.tar.gz" - KEYWORDS="amd64 x86" -fi - -VM_LINGUAS=( as bg bn_IN bs ca cmn cs da de en_GB es fi fr gu hi hr hu is - it ja kn ko ml mr ms nb nl or pa pl pt pt_BR ro ru sk sr sr@latin sv ta te - tr uk vi zh_CN zh_TW ) - -LICENSE="GPL-2" -SLOT="0" -IUSE="gnome-keyring gtk policykit sasl" - -RDEPEND="!app-emulation/virtinst - dev-python/libvirt-python[${PYTHON_USEDEP}] - >=app-emulation/libvirt-glib-1.0.0[introspection] - ${PYTHON_DEPS} - dev-libs/libxml2[python,${PYTHON_USEDEP}] - dev-python/ipaddr[${PYTHON_USEDEP}] - dev-python/pygobject:3[${PYTHON_USEDEP}] - dev-python/requests[${PYTHON_USEDEP}] - >=sys-libs/libosinfo-0.2.10[introspection] - gtk? ( - x11-libs/gtk+:3[introspection] - gnome-base/dconf - >=net-libs/gtk-vnc-0.3.8[gtk3,introspection,python,${PYTHON_USEDEP}] - net-misc/spice-gtk[usbredir,gtk3,introspection,sasl?] - net-misc/x11-ssh-askpass - x11-libs/vte:2.91[introspection] - gnome-keyring? ( gnome-base/libgnome-keyring ) - policykit? ( sys-auth/polkit[introspection] ) - x11-themes/gnome-icon-theme - )" -DEPEND="${RDEPEND} - dev-lang/perl - dev-util/intltool" - -DOCS=( README NEWS ) - -src_prepare() { - distutils-r1_src_prepare - - local lang - for lang in ${VM_LINGUAS[@]}; do - has ${lang} ${LINGUAS-${lang}} || rm -v "po/${lang}.po" || die - done -} - -distutils-r1_python_compile() { - local defgraphics= - - esetup.py configure \ - --qemu-user=qemu \ - --default-graphics=spice -} - -src_install() { - local mydistutilsargs=( --no-update-icon-cache --no-compile-schemas ) - - distutils-r1_src_install - - python_fix_shebang \ - "${ED}"/usr/share/virt-manager/virt-{clone,convert,install,manager} -} - -pkg_preinst() { - if use gtk; then - gnome2_pkg_preinst - - cd "${ED}" - export GNOME2_ECLASS_ICONS=$(find 'usr/share/virt-manager/icons' -maxdepth 1 -mindepth 1 -type d 2> /dev/null) - else - rm -rf "${ED}/usr/share/virt-manager/virtManager" - rm -f "${ED}/usr/share/virt-manager/virt-manager" - rm -rf "${ED}/usr/share/virt-manager/ui/" - rm -rf "${ED}/usr/share/virt-manager/icons/" - rm -rf "${ED}/usr/share/man/man1/virt-manager.1*" - rm -rf "${ED}/usr/share/icons/" - rm -rf "${ED}/usr/share/applications/virt-manager.desktop" - rm -rf "${ED}/usr/bin/virt-manager" - fi -} - -pkg_postinst() { - use gtk && gnome2_pkg_postinst -} diff --git a/app-emulation/virt-manager/virt-manager-1.4.1.ebuild b/app-emulation/virt-manager/virt-manager-1.4.1.ebuild deleted file mode 100644 index 7e64ce32473c..000000000000 --- a/app-emulation/virt-manager/virt-manager-1.4.1.ebuild +++ /dev/null @@ -1,95 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PYTHON_COMPAT=( python2_7 ) -DISTUTILS_SINGLE_IMPL=1 - -inherit gnome2 distutils-r1 - -DESCRIPTION="A graphical tool for administering virtual machines" -HOMEPAGE="http://virt-manager.org" - -if [[ ${PV} = *9999* ]]; then - inherit git-r3 - SRC_URI="" - KEYWORDS="" - EGIT_REPO_URI="https://github.com/virt-manager/virt-manager.git" -else - SRC_URI="http://virt-manager.org/download/sources/${PN}/${P}.tar.gz" - KEYWORDS="~amd64 ~x86" -fi - -LICENSE="GPL-2" -SLOT="0" -IUSE="gnome-keyring gtk policykit sasl" - -RDEPEND="!app-emulation/virtinst - dev-python/libvirt-python[${PYTHON_USEDEP}] - >=app-emulation/libvirt-glib-1.0.0[introspection] - ${PYTHON_DEPS} - dev-libs/libxml2[python,${PYTHON_USEDEP}] - dev-python/ipaddr[${PYTHON_USEDEP}] - dev-python/pygobject:3[${PYTHON_USEDEP}] - dev-python/requests[${PYTHON_USEDEP}] - >=sys-libs/libosinfo-0.2.10[introspection] - gtk? ( - x11-libs/gtk+:3[introspection] - gnome-base/dconf - >=net-libs/gtk-vnc-0.3.8[gtk3,introspection,python,${PYTHON_USEDEP}] - net-misc/spice-gtk[usbredir,gtk3,introspection,sasl?] - net-misc/x11-ssh-askpass - x11-libs/vte:2.91[introspection] - gnome-keyring? ( gnome-base/libgnome-keyring ) - policykit? ( sys-auth/polkit[introspection] ) - x11-themes/gnome-icon-theme - )" -DEPEND="${RDEPEND} - dev-lang/perl - dev-util/intltool" - -DOCS=( README.md NEWS.md ) - -src_prepare() { - distutils-r1_src_prepare -} - -distutils-r1_python_compile() { - local defgraphics= - - esetup.py configure \ - --qemu-user=qemu \ - --default-graphics=spice -} - -src_install() { - local mydistutilsargs=( --no-update-icon-cache --no-compile-schemas ) - - distutils-r1_src_install - - python_fix_shebang \ - "${ED}"/usr/share/virt-manager/virt-{clone,convert,install,manager} -} - -pkg_preinst() { - if use gtk; then - gnome2_pkg_preinst - - cd "${ED}" - export GNOME2_ECLASS_ICONS=$(find 'usr/share/virt-manager/icons' -maxdepth 1 -mindepth 1 -type d 2> /dev/null) - else - rm -rf "${ED}/usr/share/virt-manager/virtManager" - rm -f "${ED}/usr/share/virt-manager/virt-manager" - rm -rf "${ED}/usr/share/virt-manager/ui/" - rm -rf "${ED}/usr/share/virt-manager/icons/" - rm -rf "${ED}/usr/share/man/man1/virt-manager.1*" - rm -rf "${ED}/usr/share/icons/" - rm -rf "${ED}/usr/share/applications/virt-manager.desktop" - rm -rf "${ED}/usr/bin/virt-manager" - fi -} - -pkg_postinst() { - use gtk && gnome2_pkg_postinst -} diff --git a/app-emulation/virt-manager/virt-manager-1.4.2.ebuild b/app-emulation/virt-manager/virt-manager-1.4.2.ebuild deleted file mode 100644 index 7d4df33db5db..000000000000 --- a/app-emulation/virt-manager/virt-manager-1.4.2.ebuild +++ /dev/null @@ -1,96 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PYTHON_COMPAT=( python2_7 ) -DISTUTILS_SINGLE_IMPL=1 - -inherit gnome2 distutils-r1 - -DESCRIPTION="A graphical tool for administering virtual machines" -HOMEPAGE="http://virt-manager.org" - -if [[ ${PV} = *9999* ]]; then - inherit git-r3 - SRC_URI="" - KEYWORDS="" - EGIT_REPO_URI="https://github.com/virt-manager/virt-manager.git" -else - SRC_URI="http://virt-manager.org/download/sources/${PN}/${P}.tar.gz" - KEYWORDS="~amd64 ~x86" -fi - -LICENSE="GPL-2" -SLOT="0" -IUSE="gnome-keyring gtk policykit sasl" - -RDEPEND="!app-emulation/virtinst - dev-python/libvirt-python[${PYTHON_USEDEP}] - >=app-emulation/libvirt-glib-1.0.0[introspection] - ${PYTHON_DEPS} - dev-libs/libxml2[python,${PYTHON_USEDEP}] - dev-python/ipaddr[${PYTHON_USEDEP}] - dev-python/pygobject:3[${PYTHON_USEDEP}] - dev-python/requests[${PYTHON_USEDEP}] - >=sys-libs/libosinfo-0.2.10[introspection] - gtk? ( - x11-libs/gtk+:3[introspection] - gnome-base/dconf - >=net-libs/gtk-vnc-0.3.8[gtk3,introspection,python,${PYTHON_USEDEP}] - net-misc/spice-gtk[usbredir,gtk3,introspection,sasl?] - net-misc/x11-ssh-askpass - x11-libs/vte:2.91[introspection] - gnome-keyring? ( gnome-base/libgnome-keyring ) - policykit? ( sys-auth/polkit[introspection] ) - ) -" -DEPEND="${RDEPEND} - dev-lang/perl - dev-util/intltool -" - -DOCS=( README.md NEWS.md ) - -src_prepare() { - distutils-r1_src_prepare -} - -distutils-r1_python_compile() { - local defgraphics= - - esetup.py configure \ - --qemu-user=qemu \ - --default-graphics=spice -} - -src_install() { - local mydistutilsargs=( --no-update-icon-cache --no-compile-schemas ) - - distutils-r1_src_install - - python_fix_shebang \ - "${ED}"/usr/share/virt-manager/virt-{clone,convert,install,manager} -} - -pkg_preinst() { - if use gtk; then - gnome2_pkg_preinst - - cd "${ED}" - export GNOME2_ECLASS_ICONS=$(find 'usr/share/virt-manager/icons' -maxdepth 1 -mindepth 1 -type d 2> /dev/null) - else - rm -rf "${ED}/usr/share/virt-manager/virtManager" - rm -f "${ED}/usr/share/virt-manager/virt-manager" - rm -rf "${ED}/usr/share/virt-manager/ui/" - rm -rf "${ED}/usr/share/virt-manager/icons/" - rm -rf "${ED}/usr/share/man/man1/virt-manager.1*" - rm -rf "${ED}/usr/share/icons/" - rm -rf "${ED}/usr/share/applications/virt-manager.desktop" - rm -rf "${ED}/usr/bin/virt-manager" - fi -} - -pkg_postinst() { - use gtk && gnome2_pkg_postinst -} diff --git a/app-emulation/virt-manager/virt-manager-1.5.0.ebuild b/app-emulation/virt-manager/virt-manager-1.5.0.ebuild new file mode 100644 index 000000000000..7725679e8339 --- /dev/null +++ b/app-emulation/virt-manager/virt-manager-1.5.0.ebuild @@ -0,0 +1,96 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 ) +DISTUTILS_SINGLE_IMPL=1 + +inherit gnome2 distutils-r1 + +DESCRIPTION="A graphical tool for administering virtual machines" +HOMEPAGE="http://virt-manager.org" + +if [[ ${PV} = *9999* ]]; then + inherit git-r3 + SRC_URI="" + KEYWORDS="amd64 x86" + EGIT_REPO_URI="https://github.com/virt-manager/virt-manager.git" +else + SRC_URI="http://virt-manager.org/download/sources/${PN}/${P}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="GPL-2" +SLOT="0" +IUSE="gnome-keyring gtk policykit sasl" + +RDEPEND="!app-emulation/virtinst + dev-python/libvirt-python[${PYTHON_USEDEP}] + >=app-emulation/libvirt-glib-1.0.0[introspection] + ${PYTHON_DEPS} + dev-libs/libxml2[python,${PYTHON_USEDEP}] + dev-python/ipaddr[${PYTHON_USEDEP}] + dev-python/pygobject:3[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + >=sys-libs/libosinfo-0.2.10[introspection] + gtk? ( + x11-libs/gtk+:3[introspection] + gnome-base/dconf + >=net-libs/gtk-vnc-0.3.8[gtk3,introspection,python,${PYTHON_USEDEP}] + net-misc/spice-gtk[usbredir,gtk3,introspection,sasl?] + net-misc/x11-ssh-askpass + x11-libs/vte:2.91[introspection] + gnome-keyring? ( gnome-base/libgnome-keyring ) + policykit? ( sys-auth/polkit[introspection] ) + ) +" +DEPEND="${RDEPEND} + dev-lang/perl + dev-util/intltool +" + +DOCS=( README.md NEWS.md ) + +src_prepare() { + distutils-r1_src_prepare +} + +distutils-r1_python_compile() { + local defgraphics= + + esetup.py configure \ + --qemu-user=qemu \ + --default-graphics=spice +} + +src_install() { + local mydistutilsargs=( --no-update-icon-cache --no-compile-schemas ) + + distutils-r1_src_install + + python_fix_shebang \ + "${ED}"/usr/share/virt-manager/virt-{clone,convert,install,manager} +} + +pkg_preinst() { + if use gtk; then + gnome2_pkg_preinst + + cd "${ED}" + export GNOME2_ECLASS_ICONS=$(find 'usr/share/virt-manager/icons' -maxdepth 1 -mindepth 1 -type d 2> /dev/null) + else + rm -rf "${ED}/usr/share/virt-manager/virtManager" + rm -f "${ED}/usr/share/virt-manager/virt-manager" + rm -rf "${ED}/usr/share/virt-manager/ui/" + rm -rf "${ED}/usr/share/virt-manager/icons/" + rm -rf "${ED}/usr/share/man/man1/virt-manager.1*" + rm -rf "${ED}/usr/share/icons/" + rm -rf "${ED}/usr/share/applications/virt-manager.desktop" + rm -rf "${ED}/usr/bin/virt-manager" + fi +} + +pkg_postinst() { + use gtk && gnome2_pkg_postinst +} diff --git a/app-emulation/virt-manager/virt-manager-9999.ebuild b/app-emulation/virt-manager/virt-manager-9999.ebuild index 7d4df33db5db..a3b8ec6f3540 100644 --- a/app-emulation/virt-manager/virt-manager-9999.ebuild +++ b/app-emulation/virt-manager/virt-manager-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2018 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -26,20 +26,21 @@ SLOT="0" IUSE="gnome-keyring gtk policykit sasl" RDEPEND="!app-emulation/virtinst - dev-python/libvirt-python[${PYTHON_USEDEP}] - >=app-emulation/libvirt-glib-1.0.0[introspection] ${PYTHON_DEPS} + >=app-emulation/libvirt-glib-1.0.0[introspection] dev-libs/libxml2[python,${PYTHON_USEDEP}] + dev-python/configparser[${PYTHON_USEDEP}] dev-python/ipaddr[${PYTHON_USEDEP}] + dev-python/libvirt-python[${PYTHON_USEDEP}] dev-python/pygobject:3[${PYTHON_USEDEP}] dev-python/requests[${PYTHON_USEDEP}] >=sys-libs/libosinfo-0.2.10[introspection] gtk? ( - x11-libs/gtk+:3[introspection] gnome-base/dconf >=net-libs/gtk-vnc-0.3.8[gtk3,introspection,python,${PYTHON_USEDEP}] net-misc/spice-gtk[usbredir,gtk3,introspection,sasl?] net-misc/x11-ssh-askpass + x11-libs/gtk+:3[introspection] x11-libs/vte:2.91[introspection] gnome-keyring? ( gnome-base/libgnome-keyring ) policykit? ( sys-auth/polkit[introspection] ) diff --git a/app-emulation/virt-viewer/Manifest b/app-emulation/virt-viewer/Manifest index 3d7691465700..a7f5c5803e01 100644 --- a/app-emulation/virt-viewer/Manifest +++ b/app-emulation/virt-viewer/Manifest @@ -1,7 +1,5 @@ -DIST virt-viewer-4.0.tar.gz 897593 BLAKE2B 297abe8193894b3158c4a7fc1803e616bdb8a66b7cf0d0f6b55e4864a74193f06b3790d9aec562b340ad404d6dc1360c5dd26fe4e6de32d888a2571ce35fa618 SHA512 7d1e470a159c8784dff6c4fb1f9228689f76ddbdae314bd57f86c6dc975d1d50590732640768b7e08d6a3bbc02eefbde090cd8f05c97151cd8abdc7ae97e66ea DIST virt-viewer-5.0.tar.gz 908726 BLAKE2B ffc1e8ce7b74f888289a65a0ad7566c84278cbf1a412b426883313f1b66bb95e10b74fedb256b4ab6b39e4dc6e292e518585fcbaf07e7669b51a5be87cfd257f SHA512 924fa88fd0ca7cc5b3d0a348c0d1104337fe0a06328e32110b4417c64f5d9efaf6df534adbc1eaa69157d229763b773307fa834a66f16156e3703731525eb690 DIST virt-viewer-6.0.tar.gz 922916 BLAKE2B 1c2246369474d06188dc2191b9756dbe69cff2d5f997ffb58bdab1143a0e4d6cda0e43b4b082d7921125caa4348635762070fa8e6686ccf7728a90e4e6fc3a18 SHA512 656d48f8ab387d025c406cb5f56164d79104c6c377fae37d9c524b90e512fe873d5d1d6c435d4ea95e71468b7d3384b89789495075cafb1a9e67f583f7d49ec2 -EBUILD virt-viewer-4.0.ebuild 913 BLAKE2B c653972e7f7a548f4a1cf7fdb54bbe68c37cdec2434be8304fddb0577a7a9cfb275682d231c8bb2527b4689b1843fdedb8d2a94960bc3f8e77b9e9a2f25c89ab SHA512 76829320e3268f0faa660e9ecd21dcb8f042301bd5b54b68a3cb6ad7081ed68d4df76c49553850d6e9a8513f43fe58783132c7c87153eee35f45a56e19e80f88 EBUILD virt-viewer-5.0.ebuild 913 BLAKE2B 82aabc3c398e50636ab8d934366b3c560382d10c848f94d11fadab63e83043cbd9c197e71b196f22d29edf96bcb5571d2f0618838bbe9cb11dda249580f901d3 SHA512 38e81719acda11fbe13604f607632bf0519c7274fb4617795589ac12e187c8801f5a93af46ca052ff2b5198e74af52c4b5acea34e96732637204db88e497d24e -EBUILD virt-viewer-6.0.ebuild 915 BLAKE2B a73e9452d21043dfbd775c850c80d08d912b3599273c5e85e560acb38f8c23fd4abe9b0844c793d05b266480068ab9deca971458a205c670d82c9d3e967db578 SHA512 ebd9128f32f94bb4cf1246d09dad9723f497acf3d7dbac7cf9329268e1f94a054811ec45971e2a581d5680fa547dce64d6304773dd13b450d779bd960d79478f +EBUILD virt-viewer-6.0.ebuild 913 BLAKE2B 72016aaacda1f38e7c35a2e032bac8aa1be31383b046c72d31e9f45b55774cfb9f64dba2190776dac6da3819104ea12a8120e30f601875442c32e36744e40589 SHA512 e491e7ab83ad8bd407a624196e39e9bee3e043b6dbcb160e3ab3937b8794ee29c126e63eff6cb2dbeff961dcbd92e75b06e73acf273aada49628b219c11851da MISC metadata.xml 452 BLAKE2B cb307dd6593ae8c96ca9c6925783e0b26335f1d1b11c21ccbf7e54003ef2e9e32701304464380afea75a642914e2334c053417aa5e18de5737443b2b60f65d0d SHA512 c97651a4477db1452310d3b53efec56c596963827d1b13385bdbaee5bd8725774b40edc88dc5389b5c0a4ac50f9801de5f649d8f941d315f1e28b6ebf1c9cb79 diff --git a/app-emulation/virt-viewer/virt-viewer-4.0.ebuild b/app-emulation/virt-viewer/virt-viewer-4.0.ebuild deleted file mode 100644 index 13739f01c47b..000000000000 --- a/app-emulation/virt-viewer/virt-viewer-4.0.ebuild +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright 1999-2016 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -inherit gnome2 - -DESCRIPTION="Graphical console client for connecting to virtual machines" -HOMEPAGE="http://virt-manager.org/" -SRC_URI="http://virt-manager.org/download/sources/${PN}/${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 x86" -IUSE="sasl +spice +vnc" - -RDEPEND=">=app-emulation/libvirt-0.10.0[sasl?] - app-emulation/libvirt-glib - >=dev-libs/libxml2-2.6 - x11-libs/gtk+:3 - spice? ( >=net-misc/spice-gtk-0.31[sasl?,gtk3] ) - vnc? ( >=net-libs/gtk-vnc-0.5.0[sasl?,gtk3] )" -DEPEND="${RDEPEND} - dev-lang/perl - >=dev-util/intltool-0.35.0 - virtual/pkgconfig - spice? ( >=app-emulation/spice-protocol-0.12.10 )" - -REQUIRED_USE="|| ( spice vnc )" - -src_configure() { - gnome2_src_configure \ - --disable-update-mimedb \ - --without-ovirt \ - $(use_with vnc gtk-vnc) \ - $(use_with spice spice-gtk) -} diff --git a/app-emulation/virt-viewer/virt-viewer-6.0.ebuild b/app-emulation/virt-viewer/virt-viewer-6.0.ebuild index 46d6fd6281cb..dafa029a2682 100644 --- a/app-emulation/virt-viewer/virt-viewer-6.0.ebuild +++ b/app-emulation/virt-viewer/virt-viewer-6.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2018 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -10,7 +10,7 @@ SRC_URI="http://virt-manager.org/download/sources/${PN}/${P}.tar.gz" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64 x86" IUSE="sasl +spice +vnc" RDEPEND=">=app-emulation/libvirt-0.10.0[sasl?] -- cgit v1.2.3