From 43793fab84041cfc5c60c0151d1591b8a69fb24a Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 25 Aug 2018 07:36:27 +0100 Subject: gentoo resync : 25.08.2018 --- app-emulation/Manifest.gz | Bin 19850 -> 20022 bytes app-emulation/containers-storage/Manifest | 4 + .../containers-storage-0_pre20180730.ebuild | 97 +++ app-emulation/containers-storage/metadata.xml | 16 + app-emulation/diskimage-builder/Manifest | 4 +- .../diskimage-builder-2.14.1.ebuild | 37 - .../diskimage-builder-2.16.0.ebuild | 2 +- app-emulation/docker-compose/Manifest | 2 +- app-emulation/docker-compose/metadata.xml | 5 +- app-emulation/kompose/Manifest | 2 +- app-emulation/kompose/metadata.xml | 5 +- app-emulation/libcacard/Manifest | 4 +- app-emulation/libcacard/libcacard-2.6.0.ebuild | 31 + app-emulation/libcacard/metadata.xml | 9 +- app-emulation/libvirt/Manifest | 11 +- app-emulation/libvirt/files/libvirt-guests.init-r3 | 236 ++++++ app-emulation/libvirt/libvirt-4.3.0.ebuild | 5 +- app-emulation/libvirt/libvirt-4.4.0-r1.ebuild | 5 +- app-emulation/libvirt/libvirt-4.5.0-r1.ebuild | 9 +- app-emulation/libvirt/libvirt-4.6.0-r1.ebuild | 382 ++++++++++ app-emulation/libvirt/libvirt-9999.ebuild | 7 +- app-emulation/lxc/Manifest | 6 +- app-emulation/lxc/lxc-2.1.1.ebuild | 214 ------ app-emulation/lxc/lxc-3.0.1.ebuild | 162 ---- app-emulation/lxc/lxc-3.0.2.ebuild | 160 ++++ app-emulation/lxc/metadata.xml | 1 + app-emulation/lxd/Manifest | 60 +- app-emulation/lxd/files/lxd-dont-go-get.patch | 16 - app-emulation/lxd/files/lxd.confd | 7 +- app-emulation/lxd/files/lxd.confd.1 | 24 - app-emulation/lxd/files/lxd.initd.1 | 47 ++ app-emulation/lxd/lxd-2.21.ebuild | 224 ------ app-emulation/lxd/lxd-3.1.ebuild | 180 ----- app-emulation/lxd/lxd-3.2.ebuild | 181 ----- app-emulation/lxd/lxd-3.3.ebuild | 4 +- app-emulation/lxd/lxd-3.4.ebuild | 232 ++++++ app-emulation/lxd/metadata.xml | 5 +- app-emulation/punes/Manifest | 3 +- .../punes/files/punes-0.102-qt-5.11-fix.patch | 21 + app-emulation/punes/punes-0.102.ebuild | 2 + app-emulation/qemu/Manifest | 15 +- .../qemu/files/qemu-2.11.0-glibc-2.27.patch | 54 -- .../qemu/files/qemu-2.12.0-aarch64-simd-fix.patch | 36 - app-emulation/qemu/qemu-2.11.1-r2.ebuild | 805 -------------------- app-emulation/qemu/qemu-2.12.0-r3.ebuild | 1 + app-emulation/qemu/qemu-2.12.0-r4.ebuild | 819 --------------------- app-emulation/qemu/qemu-2.12.1.ebuild | 819 +++++++++++++++++++++ app-emulation/qemu/qemu-3.0.0.ebuild | 819 +++++++++++++++++++++ app-emulation/qemu/qemu-9999.ebuild | 1 + app-emulation/skopeo/Manifest | 2 + app-emulation/skopeo/skopeo-0.1.31.ebuild | 53 ++ app-emulation/spice-protocol/Manifest | 4 +- .../spice-protocol/spice-protocol-0.12.12.ebuild | 16 - .../spice-protocol/spice-protocol-0.12.14.ebuild | 16 + app-emulation/spice/Manifest | 9 +- ...buffer-overflows-handling-monitor-configu.patch | 47 -- ...integer-overflows-handling-monitor-config.patch | 30 - ...nect-when-receiving-overly-big-ClientMoni.patch | 75 -- .../files/spice-0.13.3-skip_faulty_lz4_check.patch | 13 - ...0.14.0-fix-flexible-array-buffer-overflow.patch | 12 + app-emulation/spice/spice-0.13.3-r2.ebuild | 104 --- app-emulation/spice/spice-0.14.0-r1.ebuild | 101 --- app-emulation/spice/spice-0.14.0-r2.ebuild | 102 +++ app-emulation/virt-viewer/Manifest | 2 + app-emulation/virt-viewer/virt-viewer-7.0.ebuild | 36 + app-emulation/virtualbox-additions/Manifest | 2 + .../virtualbox-additions-5.2.18.ebuild | 33 + app-emulation/virtualbox-bin/Manifest | 5 + .../virtualbox-bin-5.2.18.124319.ebuild | 287 ++++++++ app-emulation/virtualbox-extpack-oracle/Manifest | 2 + .../virtualbox-extpack-oracle-5.2.18.124319.ebuild | 42 ++ app-emulation/virtualbox-guest-additions/Manifest | 7 +- ...tualbox-guest-additions-5.2.18-linux-4.18.patch | 29 + .../virtualbox-guest-additions-5.2.14.ebuild | 5 + .../virtualbox-guest-additions-5.2.16.ebuild | 5 + .../virtualbox-guest-additions-5.2.18.ebuild | 234 ++++++ app-emulation/virtualbox-modules/Manifest | 2 + .../virtualbox-modules-5.2.18.ebuild | 51 ++ app-emulation/virtualbox/Manifest | 2 + app-emulation/virtualbox/virtualbox-5.2.18.ebuild | 473 ++++++++++++ app-emulation/wine-mono/Manifest | 8 +- app-emulation/wine-mono/wine-mono-4.6.4.ebuild | 4 +- app-emulation/wine-mono/wine-mono-4.7.0.ebuild | 4 +- app-emulation/wine-mono/wine-mono-4.7.1.ebuild | 2 +- app-emulation/wine-mono/wine-mono-4.7.3.ebuild | 2 +- app-emulation/wine-vanilla/Manifest | 2 +- .../wine-vanilla/wine-vanilla-3.0.2.ebuild | 2 +- app-emulation/xen-tools/Manifest | 11 +- app-emulation/xen-tools/files/gentoo-patches.conf | 5 + app-emulation/xen-tools/xen-tools-4.10.1-r1.ebuild | 457 ++++++++++++ app-emulation/xen-tools/xen-tools-4.10.1.ebuild | 457 ------------ app-emulation/xen-tools/xen-tools-4.11.0-r1.ebuild | 458 ++++++++++++ app-emulation/xen-tools/xen-tools-4.11.0.ebuild | 458 ------------ app-emulation/xen/Manifest | 7 +- app-emulation/xen/xen-4.10.1-r1.ebuild | 172 +++++ app-emulation/xen/xen-4.10.1.ebuild | 172 ----- app-emulation/xen/xen-4.11.0-r1.ebuild | 172 +++++ app-emulation/xen/xen-4.11.0.ebuild | 172 ----- 98 files changed, 5624 insertions(+), 4533 deletions(-) create mode 100644 app-emulation/containers-storage/Manifest create mode 100644 app-emulation/containers-storage/containers-storage-0_pre20180730.ebuild create mode 100644 app-emulation/containers-storage/metadata.xml delete mode 100644 app-emulation/diskimage-builder/diskimage-builder-2.14.1.ebuild create mode 100644 app-emulation/libcacard/libcacard-2.6.0.ebuild create mode 100644 app-emulation/libvirt/files/libvirt-guests.init-r3 create mode 100644 app-emulation/libvirt/libvirt-4.6.0-r1.ebuild delete mode 100644 app-emulation/lxc/lxc-2.1.1.ebuild delete mode 100644 app-emulation/lxc/lxc-3.0.1.ebuild create mode 100644 app-emulation/lxc/lxc-3.0.2.ebuild delete mode 100644 app-emulation/lxd/files/lxd-dont-go-get.patch delete mode 100644 app-emulation/lxd/files/lxd.confd.1 create mode 100644 app-emulation/lxd/files/lxd.initd.1 delete mode 100644 app-emulation/lxd/lxd-2.21.ebuild delete mode 100644 app-emulation/lxd/lxd-3.1.ebuild delete mode 100644 app-emulation/lxd/lxd-3.2.ebuild create mode 100644 app-emulation/lxd/lxd-3.4.ebuild create mode 100644 app-emulation/punes/files/punes-0.102-qt-5.11-fix.patch delete mode 100644 app-emulation/qemu/files/qemu-2.11.0-glibc-2.27.patch delete mode 100644 app-emulation/qemu/files/qemu-2.12.0-aarch64-simd-fix.patch delete mode 100644 app-emulation/qemu/qemu-2.11.1-r2.ebuild delete mode 100644 app-emulation/qemu/qemu-2.12.0-r4.ebuild create mode 100644 app-emulation/qemu/qemu-2.12.1.ebuild create mode 100644 app-emulation/qemu/qemu-3.0.0.ebuild create mode 100644 app-emulation/skopeo/skopeo-0.1.31.ebuild delete mode 100644 app-emulation/spice-protocol/spice-protocol-0.12.12.ebuild create mode 100644 app-emulation/spice-protocol/spice-protocol-0.12.14.ebuild delete mode 100644 app-emulation/spice/files/spice-0.13.3-reds-Avoid-buffer-overflows-handling-monitor-configu.patch delete mode 100644 app-emulation/spice/files/spice-0.13.3-reds-Avoid-integer-overflows-handling-monitor-config.patch delete mode 100644 app-emulation/spice/files/spice-0.13.3-reds-Disconnect-when-receiving-overly-big-ClientMoni.patch delete mode 100644 app-emulation/spice/files/spice-0.13.3-skip_faulty_lz4_check.patch create mode 100644 app-emulation/spice/files/spice-0.14.0-fix-flexible-array-buffer-overflow.patch delete mode 100644 app-emulation/spice/spice-0.13.3-r2.ebuild delete mode 100644 app-emulation/spice/spice-0.14.0-r1.ebuild create mode 100644 app-emulation/spice/spice-0.14.0-r2.ebuild create mode 100644 app-emulation/virt-viewer/virt-viewer-7.0.ebuild create mode 100644 app-emulation/virtualbox-additions/virtualbox-additions-5.2.18.ebuild create mode 100644 app-emulation/virtualbox-bin/virtualbox-bin-5.2.18.124319.ebuild create mode 100644 app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-5.2.18.124319.ebuild create mode 100644 app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-5.2.18-linux-4.18.patch create mode 100644 app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.18.ebuild create mode 100644 app-emulation/virtualbox-modules/virtualbox-modules-5.2.18.ebuild create mode 100644 app-emulation/virtualbox/virtualbox-5.2.18.ebuild create mode 100644 app-emulation/xen-tools/xen-tools-4.10.1-r1.ebuild delete mode 100644 app-emulation/xen-tools/xen-tools-4.10.1.ebuild create mode 100644 app-emulation/xen-tools/xen-tools-4.11.0-r1.ebuild delete mode 100644 app-emulation/xen-tools/xen-tools-4.11.0.ebuild create mode 100644 app-emulation/xen/xen-4.10.1-r1.ebuild delete mode 100644 app-emulation/xen/xen-4.10.1.ebuild create mode 100644 app-emulation/xen/xen-4.11.0-r1.ebuild delete mode 100644 app-emulation/xen/xen-4.11.0.ebuild (limited to 'app-emulation') diff --git a/app-emulation/Manifest.gz b/app-emulation/Manifest.gz index 3e1f71cc4ff6..3f7d7ad281ae 100644 Binary files a/app-emulation/Manifest.gz and b/app-emulation/Manifest.gz differ diff --git a/app-emulation/containers-storage/Manifest b/app-emulation/containers-storage/Manifest new file mode 100644 index 000000000000..c3487bde4d5c --- /dev/null +++ b/app-emulation/containers-storage/Manifest @@ -0,0 +1,4 @@ +DIST containers-storage-0_pre20180730.tar.gz 1410155 BLAKE2B 24595693e9f5706130dd5e9bf38d11b2b267a64924cb854ad2d9db8c0a3d7c47fec5a00fa100be67ceaf35ea1a08fada7314d5fbe114fe7508f54e8bfc4f64b4 SHA512 25c5c3c16bb9f0da4e590cf658e56cc2ce1dbc81751f984b426b5e09a95ee816632b0267c8f3028254e88fcd39f5d087f0357862b34379180b33ff38d7028453 +DIST github.com-pquerna-ffjson-af8b230fcd2007c7095168ca8ab94c68b60840c6.tar.gz 103474 BLAKE2B 66b456484cec51106e328a6d2c58a8597c1208956fca0c9f0ea45108b8d0942561882004a1ed5b90daa21509c9e0bc090dc9beed89b5a161f52ee8cf58e5d48f SHA512 243d8aed943dbadf3b127e07ad29a830ecded24aa80bb3bcc101db90ba8f3bfa03832e9d1f452e94b3eaccd683a044d0687a168e7e41979eb470442e689659c9 +EBUILD containers-storage-0_pre20180730.ebuild 3204 BLAKE2B 5ac3a1b3093bc05753575324f86e95eaf928a6e25f3cc9f04f1b5c53d2ec061a384acca9fdb749017a2eae2aeb043037cba8a2600bddb6cb4cd5e548eee99405 SHA512 face9ac4e8a746236ef45ce8e0b893cdfa863accb3abf6476a7544041c9af40ee17dbd3916421b28d6b077958363ee870c6dbeca470bf1b0d071689c95734eee +MISC metadata.xml 430 BLAKE2B 98f0935e3a4888ab76042f212ac7fb4e30f90527bde170428b85ba52bc0585d3a9039b158a0b3796ad51dc23b4c1042cd6728dc528a96a00133835f79372a956 SHA512 2a43a27f6ce611f7ab0952cad51129eb0f049ebc5de18e8bf4410e4f34e217b77be1069674bf5f9d0b3be2d1efcd40ebf364c9758dc42f941f3d6eed2eddb63e diff --git a/app-emulation/containers-storage/containers-storage-0_pre20180730.ebuild b/app-emulation/containers-storage/containers-storage-0_pre20180730.ebuild new file mode 100644 index 000000000000..ab4de85d15b6 --- /dev/null +++ b/app-emulation/containers-storage/containers-storage-0_pre20180730.ebuild @@ -0,0 +1,97 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +EGO_VENDOR=( + "github.com/pquerna/ffjson af8b230fcd2007c7095168ca8ab94c68b60840c6" +) + +inherit golang-vcs-snapshot + +KEYWORDS="~amd64" +DESCRIPTION="containers/storage library" +HOMEPAGE="https://github.com/containers/storage" +LICENSE="Apache-2.0" +SLOT="0" +IUSE="ostree test" +EGO_PN="${HOMEPAGE#*//}" +EGIT_COMMIT="17c7d1fee5603ccf6dd97edc14162fc1510e7e23" +SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz + ${EGO_VENDOR_URI}" +RDEPEND="sys-fs/lvm2:= + ostree? ( + dev-libs/glib:= + dev-util/ostree:= + )" +DEPEND="${RDEPEND} + dev-go/go-md2man + test? ( sys-apps/util-linux )" +RESTRICT="test? ( userpriv ) !test? ( test )" + +src_unpack() { + golang-vcs-snapshot_src_unpack +} + +src_prepare() { + default + + [[ -f ${S}/src/${EGO_PN}/hack/ostree_tag.sh ]] || die + use ostree || { echo -e "#!/bin/sh\ntrue" > \ + "${S}/src/${EGO_PN}/hack/ostree_tag.sh" || die; } + + sed -e 's:TestChrootUntarPath(:_\0:' \ + -i "${S}/src/${EGO_PN}/pkg/chrootarchive/archive_test.go" || die + sed -e 's:TestTarUntar(:_\0:' \ + -e 's:TestTarWithOptionsChownOptsAlwaysOverridesIdPair(:_\0:' \ + -e 's:TestTarWithOptions(:_\0:' \ + -i "${S}/src/${EGO_PN}/pkg/archive/archive_test.go" || die + sed -e 's:TestTarUntarWithXattr(:_\0:' \ + -e 's:TestTarWithBlockCharFifo(:_\0:' \ + -i "${S}/src/${EGO_PN}/pkg/archive/archive_unix_test.go" || die + sed -e 's:TestTarUntarWithXattr(:_\0:' \ + -i "${S}/src/${EGO_PN}/pkg/archive/archive_test.go" || die + sed -e 's:TestApplyLayer(:_\0:' \ + -i "${S}/src/${EGO_PN}/pkg/archive/changes_test.go" || die + sed -e 's:TestApplyLayerInvalidFilenames(:_\0:' \ + -e 's:TestApplyLayerInvalidHardlink(:_\0:' \ + -e 's:TestApplyLayerInvalidSymlink(:_\0:' \ + -e 's:TestApplyLayerWhiteouts(:_\0:' \ + -i "${S}/src/${EGO_PN}/pkg/archive/diff_test.go" || die + sed -e 's:TestCopyCaseE(:_\0:' \ + -e 's:TestCopyCaseEFSym(:_\0:' \ + -e 's:TestCopyCaseG(:_\0:' \ + -e 's:TestCopyCaseGFSym(:_\0:' \ + -e 's:TestCopyCaseH(:_\0:' \ + -e 's:TestCopyCaseHFSym(:_\0:' \ + -e 's:TestCopyCaseJ(:_\0:' \ + -e 's:TestCopyCaseEFSym(:_\0:' \ + -e 's:TestCopyCaseG(:_\0:' \ + -e 's:TestCopyCaseJFSym(:_\0:' \ + -i "${S}/src/${EGO_PN}/pkg/archive/copy_unix_test.go" || die + sed -e 's:TestMount(:_\0:' \ + -i "${S}/src/${EGO_PN}/pkg/mount/mounter_linux_test.go" || die +} + +src_compile() { + mkdir -p "${S}/src/github.com/pquerna" || die + ln -s "${S}/src/${EGO_PN}/vendor/github.com/pquerna/ffjson" "${WORKDIR}/${P}/src/github.com/pquerna/ffjson" || die + mkdir -p "${S}/bin" || die + cd "${S}/bin" || die + GOPATH="${S}" GOBIN="${S}/bin" \ + go build -v -work -x ${EGO_BUILD_FLAGS} "${S}/src/github.com/pquerna/ffjson/ffjson.go" || die + GOPATH="${S}" GOBIN="${S}/bin" PATH="${S}/bin:${PATH}" \ + emake -C "${S}/src/${EGO_PN}" containers-storage docs +} + +src_install() { + dobin "${S}/src/${EGO_PN}/${PN}" + while read -r -d ''; do + mv "${REPLY}" "${REPLY%.1}" || die + done < <(find "${S}/src/${EGO_PN}/docs" -name '*.[[:digit:]].1' -print0) + find "${S}/src/${EGO_PN}/docs" -name '*.[[:digit:]]' -exec doman '{}' + || die +} + +src_test() { + GOPATH="${S}" unshare -m emake -C "${S}/src/${EGO_PN}" local-test-unit +} diff --git a/app-emulation/containers-storage/metadata.xml b/app-emulation/containers-storage/metadata.xml new file mode 100644 index 000000000000..5bf567e579a9 --- /dev/null +++ b/app-emulation/containers-storage/metadata.xml @@ -0,0 +1,16 @@ + + + + + zmedico@gentoo.org + Zac Medico + + + + Enables dependencies for handling of OSTree images. + + + + containers/storage + + diff --git a/app-emulation/diskimage-builder/Manifest b/app-emulation/diskimage-builder/Manifest index 257695baad35..9cfb54157a95 100644 --- a/app-emulation/diskimage-builder/Manifest +++ b/app-emulation/diskimage-builder/Manifest @@ -1,7 +1,5 @@ -DIST diskimage-builder-2.14.1.tar.gz 348188 BLAKE2B 3d751fc3f05578a7b5296c8b7ebde1b8dd0a38e40dc378fded93faa34c623db2abeac53c72048ce7ebd5747eb50a4f9e5525baba800adc4b2c1925f31a1dce0b SHA512 d056c89e78b3f42ccc5ced2dfdd9ac1c50ecdcb6861f81bdb3cd3c9d624fbba89c2a2b9ed08850dd79ff9fdf47fcaa3d3519b32f909bd1b0b12bbacf4d9ab758 DIST diskimage-builder-2.15.1.tar.gz 359802 BLAKE2B bfcd43ae76350f72d368bbb6eadf61d72de3ca26963399004921df721213d8aeb1c980085d414b227674d2b147ee06531381b59e78e7b11f949dfc4d63f43f5b SHA512 7ab18f4d950c7578fc5f16f0aabfb469a74b38b0aa9d3209550019e3ea585a451a69be0a46901df2ae1ecfdc0dabcbd5554edae4ea71ae2921f5a8e99d4cb0b9 DIST diskimage-builder-2.16.0.tar.gz 357777 BLAKE2B 29d9c2e0a2a42de3939a0ebac499f13755ef883074a43f7147e322af8c6cb2120fc0987271a4f6d4cead775283b4d502302dd50e8b3411e265c826b7f7fb9617 SHA512 2a10d7e3b69968f91de9f3aded7109addbe48201567257f1e849985dca7ad4860247aac431d3055780f2345670d10a27714acfb74507078bd6ec585c05cc7635 -EBUILD diskimage-builder-2.14.1.ebuild 1136 BLAKE2B f83045e466b1684160ded8c1f473ca9f505a1a29deafa1ed6991bd4037361ce7f5b9a4c8f9973d457e487d657907b4e49235c018342f51b27b95839be0ad7b80 SHA512 b0e481a9d23db7fd0fced29e514106e6fe0367e0ebcdba22322908bd80eb5d8d17cd6c27925eaae3586fa25fd7a344053ce27da8d64adb3539563fcaead2ef60 EBUILD diskimage-builder-2.15.1.ebuild 1136 BLAKE2B f83045e466b1684160ded8c1f473ca9f505a1a29deafa1ed6991bd4037361ce7f5b9a4c8f9973d457e487d657907b4e49235c018342f51b27b95839be0ad7b80 SHA512 b0e481a9d23db7fd0fced29e514106e6fe0367e0ebcdba22322908bd80eb5d8d17cd6c27925eaae3586fa25fd7a344053ce27da8d64adb3539563fcaead2ef60 -EBUILD diskimage-builder-2.16.0.ebuild 1138 BLAKE2B 5c90ef6e4eaff62dd734d18ae03b18329477e8c4757c631854e038d0aa189f46d96a38e4dc2297c98418e68986aa99f3dc01b97bd3b93ba44f9b4421aeee5dae SHA512 b908a4c30c9e5b5d7adb6ddcff9a539fec366e940a62ef8870f274353e2ba747da9e29d72139794769c7db943b5291a0f0feefeb59e08e65010edd0f1867abc0 +EBUILD diskimage-builder-2.16.0.ebuild 1136 BLAKE2B f83045e466b1684160ded8c1f473ca9f505a1a29deafa1ed6991bd4037361ce7f5b9a4c8f9973d457e487d657907b4e49235c018342f51b27b95839be0ad7b80 SHA512 b0e481a9d23db7fd0fced29e514106e6fe0367e0ebcdba22322908bd80eb5d8d17cd6c27925eaae3586fa25fd7a344053ce27da8d64adb3539563fcaead2ef60 MISC metadata.xml 718 BLAKE2B 04a2c90bcae79f187feb346d0b73f1d6dd1c1581123ca26bfd3182d97239a37e81875d7a3a7b03c4aa08f2974bd25be5f3021e2e48195d5d09e18b606b5b4c87 SHA512 8e16e9d92a81049d414ae54eaf7a4467982cbd949230adcfab22b636ba2b91885d80e9b047788ccd07eab547ae2f85a56d989b971b64bd926e6ca70972398277 diff --git a/app-emulation/diskimage-builder/diskimage-builder-2.14.1.ebuild b/app-emulation/diskimage-builder/diskimage-builder-2.14.1.ebuild deleted file mode 100644 index 8cf50cda77f1..000000000000 --- a/app-emulation/diskimage-builder/diskimage-builder-2.14.1.ebuild +++ /dev/null @@ -1,37 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -PYTHON_COMPAT=( python2_7 ) - -inherit distutils-r1 - -DESCRIPTION="Golden Disk Image builder." -HOMEPAGE="http://docs.openstack.org/developer/diskimage-builder/" -SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="amd64 ~arm64 x86 ~amd64-linux ~x86-linux" -IUSE="" - -CDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}] - !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]" -DEPEND="${CDEPEND} - dev-python/setuptools[${PYTHON_USEDEP}]" -RDEPEND="${CDEPEND} - >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}] - !~dev-python/Babel-2.4.0[${PYTHON_USEDEP}] - >=dev-python/networkx-1.10[${PYTHON_USEDEP}] - =dev-python/pyyaml-3.12[${PYTHON_USEDEP}] - >=dev-python/flake8-2.5.4[${PYTHON_USEDEP}] - =dev-python/six-1.10.0[${PYTHON_USEDEP}] - >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}] - app-emulation/qemu - sys-block/parted - sys-fs/multipath-tools - sys-fs/dosfstools - sys-apps/gptfdisk - !dev-python/dib-utils[${PYTHON_USEDEP}]" diff --git a/app-emulation/diskimage-builder/diskimage-builder-2.16.0.ebuild b/app-emulation/diskimage-builder/diskimage-builder-2.16.0.ebuild index 1495264437fd..8cf50cda77f1 100644 --- a/app-emulation/diskimage-builder/diskimage-builder-2.16.0.ebuild +++ b/app-emulation/diskimage-builder/diskimage-builder-2.16.0.ebuild @@ -12,7 +12,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux" +KEYWORDS="amd64 ~arm64 x86 ~amd64-linux ~x86-linux" IUSE="" CDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}] diff --git a/app-emulation/docker-compose/Manifest b/app-emulation/docker-compose/Manifest index 72bf73337e34..e35ec6e24501 100644 --- a/app-emulation/docker-compose/Manifest +++ b/app-emulation/docker-compose/Manifest @@ -2,4 +2,4 @@ DIST docker-compose-1.19.0.tar.gz 238307 BLAKE2B 2a7bbcf50c2cc591eba1d59db30cb03 DIST docker-compose-1.21.2.tar.gz 294070 BLAKE2B c27ce8708f20385ee3f072c4aa832a42dc975d08d71d9e61ce3a822055d606db7e1e7b6e182523e64115922416d5c1baeca14897a241e84873a97aa755bce539 SHA512 6392582d8c6c321458b1163336f1c902548cc250f9ab5b765d144287b006ef6dacdc47199fafbb6efe426e382325b94986aa159df08dec4974a71968862a8435 EBUILD docker-compose-1.19.0.ebuild 2421 BLAKE2B a65d845d78d53347d4c863d522f87a29b2e26bd8309c2f5e10d4e1c119aba85e92a63dfd3340183509046822d28e70c45e0e2d7f284fd4e9d12ba89847f7284a SHA512 5e993e855076b450709e1c30958b2cb7710624b880e6b0d86d38c5de14a216cf9960f883c6c1ccab7c892d503b2ee9fac58a1c17e754e4ee55e167f8efb76771 EBUILD docker-compose-1.21.2-r1.ebuild 2425 BLAKE2B f843c549ec46b148b41640834e838f979fa6f3233ff0da9452bd1ff496802cbc42bd90fdb20dbf8a335505616e0f9fdd7358d34a056d3bfaf96caa1ac879dfb1 SHA512 6b252def3e8afc17d0e9d5a86a7afe118f58f3f207bcf194f2ecf1d91c00495f38b10808a2b538034f8be95944d8904894fdbe1976425ddeba6b26fe97c207ba -MISC metadata.xml 322 BLAKE2B 4d738cf090acd0f720b7805c8dd1a2288a1779dcf4af21ab5aeb4cf81b609d0bd2a18cbe79c165f9c9e60b993a8b864e1e5c61cfa773c57b08aef468d93a0391 SHA512 6ecf808eb20a0f475101524b1f4b29db49d4fce9bc3408b3e806e225e4de7b5f0c7af019809c329969f25dd050ba164a09effccefea0d2ada8e8bcf9790d39f2 +MISC metadata.xml 244 BLAKE2B 53209cee097c735489cfd00cf11508c9c89872fa32e72c97913a05a07221167a2369f1e631c7d345ecebce3d8848382cc1fa72c9e06b014fa8684e8a7078e33a SHA512 20242e3498fac7637e5edd6a175e303579f6a20e250e0f0ae420a8dc38ba7caf3659407acd1ea9eee79d5d28aacab8def3bacc4f8f0c984916a21392b26c9dc9 diff --git a/app-emulation/docker-compose/metadata.xml b/app-emulation/docker-compose/metadata.xml index 66b046be7608..1dc063455da0 100644 --- a/app-emulation/docker-compose/metadata.xml +++ b/app-emulation/docker-compose/metadata.xml @@ -1,10 +1,7 @@ - - mrueg@gentoo.org - Manuel Rüger - + docker-compose diff --git a/app-emulation/kompose/Manifest b/app-emulation/kompose/Manifest index 59e76deb361d..d374b465cb15 100644 --- a/app-emulation/kompose/Manifest +++ b/app-emulation/kompose/Manifest @@ -6,4 +6,4 @@ EBUILD kompose-1.13.0.ebuild 914 BLAKE2B 3d7a24dac2a68fda2454e96b829dd4b8bfb3309 EBUILD kompose-1.14.0.ebuild 914 BLAKE2B 0136b088d67eb8856ed41190273942f699d8a1fa5867d763b40e3ad6070dde0ffd5a266bd730dd456ffabfcc335f334f1c0549696aadfefff71326f0c0615dee SHA512 709f2ea7683c4aa2011a1f618f0425eaf96eb99c7f5cd8f7c0ac5bf9451e1f1bae56d6a32fd4f3344c7fc7412b0fe75702494e9c3a2ed542aa6dc273ad88a251 EBUILD kompose-1.15.0.ebuild 914 BLAKE2B 92200964849693ad38399ec431ec8586b0a4f62df0ac2fa6186b925f81e906526a9c54eb1bd9344c7a25e32d528b0a795d577281cafcfc5c1864da90b34279d6 SHA512 82ef8d3fdcc7b80854841e2bd91a77dc76ba076c3e887c46958038e29835fea8981235aa0ed610da79ae3ba05a9f71aa80d7290661007313e9a21ee0e8282709 EBUILD kompose-1.16.0.ebuild 914 BLAKE2B 135028b699263569332cc9e7e1d9559ac448ddcae5517505bf170a17b591a581b3513eb9d29deda4d103a93b556ddc2bc77f052b80ab4f786f7f4003254f63e6 SHA512 ad339be916fe398edd62cab08a67c47b83eb91cd91603402520609e9e3dc4218d3ed5d206f386cad75c8b0b0b0a63efc13cf1514166b1eacab9b63663a2e6231 -MISC metadata.xml 328 BLAKE2B ad1e8cb1083ed13de1f3f341fdbe9bba7ba3ab4364c8c36c9e3b63f63688da6926fc6bebc9f72aada52dfac1a4834b11cb27eee04aaaae484192b8ed74214aa6 SHA512 e2091ec84a909ad6c2453bd832817461e39b7c355c28bd99c19d9e85dc4a621606c34066f596a68585c3762b6b156455ca012495c5c336b9ba929d163b923042 +MISC metadata.xml 250 BLAKE2B 7269bb56889c307f4610c9e7e3e2444b8e08cb953745cc674df9bbe1c1d9acfad6f542314a5770439c3bd65fc91f78e1e82a3bc5d14ecb158c4fde6dd5b8b062 SHA512 4f70d3e271588e217f8ec4e0acc7b86a70a4b5380405a0a3a4ffc923806e0d086327534de893e82e28b72d5616b8b0904626010aa3591bc46ccbc540523c7443 diff --git a/app-emulation/kompose/metadata.xml b/app-emulation/kompose/metadata.xml index 2d2b8a7dffac..b51c11e319ef 100644 --- a/app-emulation/kompose/metadata.xml +++ b/app-emulation/kompose/metadata.xml @@ -1,10 +1,7 @@ - - mrueg@gentoo.org - Manuel Rüger - + kubernetes/kompose diff --git a/app-emulation/libcacard/Manifest b/app-emulation/libcacard/Manifest index 8d79cb514d2a..1c09190fd5ca 100644 --- a/app-emulation/libcacard/Manifest +++ b/app-emulation/libcacard/Manifest @@ -1,6 +1,8 @@ AUX libcacard-0.1.2-underlinking.patch 15058 BLAKE2B d24bbbb319cd837c16965e7e5e46ff9816cdfa4d4b1d56dd1ef30152fb86a6e3cb0ea8fd6f980dce6eef71ffd2dee19671ea85546867ea13a9739a3877eb4603 SHA512 dca450e974fd05f0125c447d565d3e4855e5a1d034676a2f2f5871fe137cbcb84414d0760b416c1abae6feb8f4fd0a521e98adeb1db4c797ff7e922afd3bc980 DIST libcacard-0.1.2.tar.bz2 276430 BLAKE2B 315d7b0c8dcd3d6b40db4c1586cf149e6681af4e0188bed22cb526d1de79bda4a7b1c5ece894c679c2e7b727b6d05628ba9f8fbc3900503f78f13a029514e15d SHA512 a3622b29fe3a059e069ad6f7da428278a915cec362a6aae3c7cad0d47dfadba67308631435993c0f41cabe92a05874b339518dc503b71b8d86db4976bb6987f6 DIST libcacard-2.5.1.tar.xz 325692 BLAKE2B f6ce08f08f359789886a63d4554e3492e8cb570e5b476dc8185332a951fe03e7b5577856c4c60523ad673577a3a160490aaf943f401796973b0d205ca740f949 SHA512 88e66745f649f52c3fcc7745834d628e76abc21cef1b300e8750e6c0641f65d0e11224da30fa13dea20d6ebe5d36d7a8680d029e15149fddaea43558216ccc21 +DIST libcacard-2.6.0.tar.xz 364828 BLAKE2B 3a07243abb91dab05d89bf073fabb4a0ef7e820765066a8d87e72086b88cc726de77d1fdc5118e05ed47077d76ae0a57ff591a2e4e8623c3484c6cbf00cd025e SHA512 d6dfe6fe6cd2711bf8f71edc134a7caf459fc2a9c4f664ab2f1c28cc9ee8efe7a2d5a15c4dc735956638176e07e22416cad5e8e926aa7cab3fa95ded853f5982 EBUILD libcacard-0.1.2.ebuild 741 BLAKE2B c4ad46e5168a718992a4e99e248e7c06565873ea4695843790fbe15e007a05ee45cb592d8cf710a6c7c5657560def536a3cb56aace5b4406f174b230330c5856 SHA512 591fae7bd4b09d2176c4369b717ad90c75dc00e7f077228676b096b54dba71253cdd74ff2b1ee3baf9be7a790ca7fc8f85c2d9e210912dac88fc82345ecfc760 EBUILD libcacard-2.5.1.ebuild 670 BLAKE2B 0c83dde859da1b5fa65f0798942184ccdcd318cc55efc99846839f1c57762e42193e25b7d6269c2e77485e50b0d242fd30fa098874539e68614225183cb2e73e SHA512 47040ae3f979d378bc6977a4e3820603b5f9f43c42ea73fbd087825c43bccc0a5bf971b0ce16eb718d2b1d24fcdf0d5dff5c5f54092e38ec320054ede2d63785 -MISC metadata.xml 392 BLAKE2B a28cfec46af358696279730cc11ac48984731d9c922ca01ab130d4250e1f8ca3c9b9054401d4044d1664b0aa1a5e23bda35b0484492750381549087253c868d9 SHA512 94b90de5debbe7d9e443a927854adaaf76315248af06f781e2e00b6232b0a33605479f9c29c5f78ae6527407382b3dedfc02ebfb579c884f0e82237e339a8b22 +EBUILD libcacard-2.6.0.ebuild 759 BLAKE2B 5be446fda13238cbcfc71bb7d6462882b54a25436c645bafcf9ef04a0368c13f0c8c0002c9704ad5889009f7eacdd59451d4aa21371de7373d1e63e3bd126ec9 SHA512 80ce1eaa2e93cc016535f6c665750db4e64f662c6ec95845738040035630d985857a2c0f2696d68bd7babadda44d606e8c0b1b1b5e941ad0711e8539083ce88e +MISC metadata.xml 401 BLAKE2B 585a9670acb4d98be5545e72793dd1998e8b1a01b9636899924a4a56cf1593e334bc562c615664c14897c78f975efb9844ff2935fce6ce2a443fbf318c371027 SHA512 32692892c082887a0fd59fe2ddcf68da7d46d6e79bac6d02e2420d80252f92d0a0868ebc100e94f92fdbc8a71155731c31c6fed1eebaa80d296b69aa1f25cede diff --git a/app-emulation/libcacard/libcacard-2.6.0.ebuild b/app-emulation/libcacard/libcacard-2.6.0.ebuild new file mode 100644 index 000000000000..e54815fe8095 --- /dev/null +++ b/app-emulation/libcacard/libcacard-2.6.0.ebuild @@ -0,0 +1,31 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +DESCRIPTION="virtual Common Access Card (CAC) library emulator" +HOMEPAGE="https://www.spice-space.org/" +SRC_URI="https://www.spice-space.org/download/libcacard/${P}.tar.xz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86" +IUSE="+passthrough static-libs" + +RDEPEND=">=dev-libs/nss-3.13 + >=dev-libs/glib-2.22 + passthrough? ( >=sys-apps/pcsc-lite-1.8 )" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +src_configure() { + econf \ + $(use_enable passthrough pcsc) \ + $(use_enable static-libs static) +} + +src_install() { + default + dodoc docs/*.txt + use static-libs || find "${ED}"/usr/ -name 'lib*.la' -delete +} diff --git a/app-emulation/libcacard/metadata.xml b/app-emulation/libcacard/metadata.xml index e225897fe918..0fa99318f0a7 100644 --- a/app-emulation/libcacard/metadata.xml +++ b/app-emulation/libcacard/metadata.xml @@ -1,12 +1,11 @@ - - dev-zero@gentoo.org - Tiziano Müller - - + virtualization@gentoo.org Gentoo Virtualization Project + + Enable smartcard passthrough support via sys-apps/pcsc-lite + diff --git a/app-emulation/libvirt/Manifest b/app-emulation/libvirt/Manifest index 1d7083d04d9a..f2747bd1f43c 100644 --- a/app-emulation/libvirt/Manifest +++ b/app-emulation/libvirt/Manifest @@ -7,6 +7,7 @@ AUX libvirt-4.5.0-do_not_use_sysconf.patch 7417 BLAKE2B b1e6471a7b6a923a3ca4b630 AUX libvirt-4.5.0-fix_typo_in_apparmor_rule.patch 556 BLAKE2B 78d99d6d1ae811e202ffdeb0f34e4b20d76d3b0ed90bdcb35fd79a1133e8cc88e237bbf22c5260cc6aecc7521470ad14807eaadcdf97ed38c0d77fc630d61d38 SHA512 d02a121c069c1661c2f3b5084e1ea260e6611ab9b209fc6575dcb08f68bf36175ab9d9ebb7d1cd2eb4cd707165fd8c4357ce5c036f4835df2d4af4c88964f934 AUX libvirt-guests.confd 2430 BLAKE2B 9d56477c9377e02503782e6d653579c6d149b292c43f37926f4646374e8aae05ca812b6a3a561811482861f8fe67dfdbe63851963326ddbbf2f4644c85411120 SHA512 78f419a89de7aabaad860903c24f1c070786fc1296d987e61dd537705b0e7f71a46c315888028f3826c3417e42861ca8471788be4ec5695e98427c5f18ae63fc AUX libvirt-guests.init-r2 5411 BLAKE2B a14ecc1bb7188dbbe3d0f82f301a73b876da2d82475cb38a503ed115e894bc59a0466daec5dd7665b3f0656c84ab58e2ba9f8f52eb54a4f8684094f951659fde SHA512 273bcc248ab659bb0cef12c03187f1445c00d2736912f3b54911137352a48b6fcdc2e0c76c56db984501acc4b9e8c0a4cf453a90947c5e525d0746ac9afa8505 +AUX libvirt-guests.init-r3 5530 BLAKE2B 5de3e8577ded1401f6dca551c6098418e596287d43b1b90e133859bb9b74dff20b8518bc09853ccff7141e6baa52fc12c9b8d3e8f60b868b72b1993254fac5d9 SHA512 7aa4eac8c293c3063d9435a4ad1ea855f9fdd84eb0ed8cbf0779935f152aab380e2ee7eb9129b2f07147bfa4dd1eae4b836ccae295c35b63dbc767208dd11b0c AUX libvirtd.confd-r5 740 BLAKE2B 74a069f4902dd1352f06029c886200615a35870ff88496c91956d23a3172db0789086622422f545498e92b7f8de41225022185fe291dd580cbacdeb783163f4b SHA512 98f935589dbc5f2a99329f77fdf84c563fa0dc99404b7476603679478d68ce8dbea2c88645251d3c28f59e7bcae124ae632972146e8a8c3e0e9fcbfb27296f91 AUX libvirtd.init-r16 1093 BLAKE2B 7242ddcc7046392e8c24c1918a1dce343a3198fd80346c97850bb0226888d98f6d57f53eb00e38b8f9e71fd2073feef8399b340aea9ab9d8ed64a646140c3dc1 SHA512 5ea4c2f9e48faf2aa8fe7077d075841d610da17e28bcc85c79c55565f286e345339f042090b453e25accf5c405e322e76b6cf846fdfb3e90db3e2d0c2fff4c48 AUX libvirtd.service.conf 401 BLAKE2B edd74238f9639ead1d776142e6231d87f39cb6670e72cec9c1ac44f58fcfbc63e72944d2d243a1aabe48b9acc6bb1c52189161a79e3d42603c87a270027c42f8 SHA512 27adbd104ea87e51d423b057392a0c6726692ad8ee9723f73dc4bfe8eb54069725d64883434424ba810d36992d404d1ba4afe6bcefb866d3d3d92dfd161c2b32 @@ -16,8 +17,10 @@ AUX virtlogd.init-r1 569 BLAKE2B 20df60c23cee575577592d41d1a9913923255633d12de78 DIST libvirt-4.3.0.tar.xz 14667860 BLAKE2B bd4dfbcfba3b11036be979caf938ec7ca4fc04cc4bd6dfd5eec05c054ba4ebf953c0e86a080e65ab8a880f2bcc2f4d018283e870afcb64bd0b750247f3c96357 SHA512 cc61497121931019a8cc3fa8234d7cf95b0f0e1d77ab6fcd089db92759617b099eb83c57aa91768ae6ccf92c345cf72e1d9b202acb5132a159476fb86f1a6999 DIST libvirt-4.4.0.tar.xz 14668912 BLAKE2B 04f7a48618924bb8bbe1621572d260a01626687c66ed45d1a08d745210fc522fba63387a0433c0c55e41a5655267c094c16b7ff97f9e45b17419dfc83f465c79 SHA512 725b9b093a2aaeab6fdcb8df341a400ab363bcd50af8400dfd0593c41d8fbc8352f89147be9fbfde2e8418cc7298e090fe07ec7255b0aff1f0d001b93322f93f DIST libvirt-4.5.0.tar.xz 14743956 BLAKE2B 930852765104b1b22744df0ec4f1c74d89bc0fda80852978f7c857943858cc45eed9b74a3d42668f872540be2637f26c4d9d7859594847e58e6fb4cd33350130 SHA512 26710c7e5219f007524e9f93a642e55e4e8ea197afa6b2ca6a4b67b7028313f4b0d82924ee9a1e91ff688a4d2b53f89f3655fbeef0fa99a34f8418f37d787984 -EBUILD libvirt-4.3.0.ebuild 9634 BLAKE2B 3c3b4e444e212646c214ae782697fc6ce015285974c24c74438e241ed2435921e67f457283a72c114f6c697e9dd3c2ad862e64e33202070e4a3601b6dd51d82e SHA512 c3e74163883e4c97a234b848170a9aea0c29d0af9d06e469e98a5e688874616c05ef68dc43c01c2f7b08463ad90d9b732a317291c1460263ed2e9fb3b97e8409 -EBUILD libvirt-4.4.0-r1.ebuild 9523 BLAKE2B 08efe71e6b957c611fd44c67173c103780d47b14f853c1f99fa41c5c90a211e3e48dd57fe9cc13350a364f3da9accb3ab8ba6a52328dfbebc0bfbff201a8f0f3 SHA512 91f42cbf16cf8918182e427d574dbcfaa90698715e725e60a0106b38347df21fa11dffcb3dcbd8cb7de2597e3024c14f8ad27236e9981349cac5bb5005b61187 -EBUILD libvirt-4.5.0-r1.ebuild 9582 BLAKE2B d46f83fcc183d0c1e5621dc327f00fc96ad5bbcbb5c748445fb7d662a1be69481c7f7169d81eca3f96f4d6f189be528d35e6657bc7d3ac7afc364b7b74a0a106 SHA512 dbb648d799768d65ed975aed8177272f972a24358ba667d25dad1e06aec5dd9f31afe3006c1c4a399cefeced87a3533bca1ebf494d6ca388c5f4dcef2a1e2c20 -EBUILD libvirt-9999.ebuild 9544 BLAKE2B ac7c45f69d26ca59bbfcc8254f645d52bbbedf629d8c49a24d2a8cf35fec71cf9d947d4476864c2d3fc3c7046699a780cdee050b771ab9ef3084461564fe5b1d SHA512 7d8b0994e94b76efd85290e81f7d8e63a98174287e2a11d0bb5bb0259d76b10d30eed36c00772602270b5fabb0c18be23856de2fbe6d446b22518e599f9e9806 +DIST libvirt-4.6.0.tar.xz 14760064 BLAKE2B 1e21cb4340ec6c1983ea884f813121c98a8f6b18fb058edd085fd35a2aa1a30e004274a248ddb12c74ccb8a4da788fd8c735d53c7e8b4177c591cf95a8c20be8 SHA512 beae0f1cafa73b9495d877979547bbc9b7ca2a7c3b213c5da92e6302b570d42df9d639f50380dbc0cebd6af983924dc27b1c81139c81dee0897f39a6a5158968 +EBUILD libvirt-4.3.0.ebuild 9699 BLAKE2B 7f0390663ecd2035c475988ec31fc366d61cba353dae5183dd6d967e8f8a45a5080d3affa33fe20322d0da17fec90001f7e2a67491aeda0c4856b0e909dd9eeb SHA512 56e207fed54ecce6f94f7df02c73925c66d66749a918db4cd2bc3fd6fd0715935d65f2b5fd0f161ea95d67bc2172ab7e1a8e1b6b10f77df6f756f339c1355187 +EBUILD libvirt-4.4.0-r1.ebuild 9588 BLAKE2B 254646cc46c499ec97e9c8cbe30791aa8dbaa58e6a47335a4199108c7270905ba1b0bb5a3101f0f979f41dcea6415e9b2b0594283eed9509cc01ab623bcc51ff SHA512 07e299cff3761a985bb7fa45aae0feda3b8ae2e941676a7dac24261ca55f2030208558c0937342b94fee3c52258446e68ef942a468630eabca85fca1f16f369c +EBUILD libvirt-4.5.0-r1.ebuild 9654 BLAKE2B 68f875b79a4e7af8674b87fd47dc7081b31c0d617444bfca5d0ebe1b0b10fa4ddfef1305110f3689591a6a5ef32ace833a28e854126369ea2896b3d894b9d230 SHA512 05ba73308bdcabcf8a3c179814519331bc3ac2e557ec383ce9beaa3f8657436a9358461d5e03271811d56ef570e80eaf8a781d54b9b583381a418429934053c5 +EBUILD libvirt-4.6.0-r1.ebuild 9594 BLAKE2B 8debc08e38b109ba5bb557d578b873528e615ef13963d88c0571d54d4e6c3f014b6849b930480b76e365d0a94ee1bd04bc19732dd086b21b199524306139c938 SHA512 11ed66a25dd362f329259c8cd6de6b1c268cb401a082934ca31a38476d024e21a368587c0dff9738901ef6a6f87a3aa38419fc5d2e2c70d2804966a628c98617 +EBUILD libvirt-9999.ebuild 9609 BLAKE2B f0da3d38a293601e6a55343098d69c00d568002c083c794ce4e87aed417970a0c8a5109b3ccc87cbc230e470bdd199f789a14491cd497cb91422e03994ffe1f2 SHA512 fe3e5de78dfc02aa08cdcd0b0807069cd45b1302f373a6ce5559229e23370c83372312334e8a7de810c804af4f8b4eb98d0f5bcd6a37a9eae65436b8403720d3 MISC metadata.xml 3766 BLAKE2B 38d8b1dfb815871ca19c35c80ab390a422e1833b6ef09c6691889d5d6c01e25bb9fb5d187231456c443cb22764583312a56ed8e1a772f810b58050752ba9f2de SHA512 10d96f652bdcf32e34ea415a37de0c3c4aae3a716403a0ca73228af640788734119cbf4ade26a450cc3cda81ef6182391a6f590a851a6834d52394b7c81c49ed diff --git a/app-emulation/libvirt/files/libvirt-guests.init-r3 b/app-emulation/libvirt/files/libvirt-guests.init-r3 new file mode 100644 index 000000000000..10797e1b8075 --- /dev/null +++ b/app-emulation/libvirt/files/libvirt-guests.init-r3 @@ -0,0 +1,236 @@ +#!/sbin/openrc-run + +description="Virtual Machine Management (libvirt) Guests" + +depend() { + use libvirtd +} + +# set the default to QEMU +[ -z "${LIBVIRT_URIS}" ] && LIBVIRT_URIS="qemu:///system" + +# default to suspending the VM via managedsave +case "${LIBVIRT_SHUTDOWN}" in + managedsave|shutdown|destroy) ;; + *) LIBVIRT_SHUTDOWN="managedsave" ;; +esac + +# default to 500 seconds +[ -z ${LIBVIRT_MAXWAIT} ] && LIBVIRT_MAXWAIT=500 + +gueststatefile="/var/lib/libvirt/libvirt-guests.state" +netstatefile="/var/lib/libvirt/libvirt-net.state" + +do_virsh() { + local hvuri=$1 + shift + + # if unset, default to qemu + [ -z ${hvuri} ] && hvuri="qemu:///system" + # if only qemu was supplied then correct the value + [ "xqemu" = x${hvuri} ] && hvuri="qemu:///system" + + # Silence errors because virsh always throws an error about + # not finding the hypervisor version when connecting to libvirtd + # lastly strip the blank line at the end + LC_ALL=C virsh -c ${hvuri} "$@" 2>/dev/null | head -n -1 +} + +libvirtd_dom_list() { + # Only work with domains by their UUIDs + local hvuri=$1 + shift + + # The grep is to remove dom0 for xen domains. Otherwise we never hit 0 + do_virsh "${hvuri}" list --uuid $@ | grep -v 00000000-0000-0000-0000-000000000000 +} + +libvirtd_dom_count() { + local hvuri=$1 + shift + + libvirtd_dom_list "${hvuri}" $@ | wc -l +} + +libvirtd_net_list() { + # Only work with networks by their UUIDs + local hvuri=$1 + shift + + do_virsh "${hvuri}" net-list --uuid $@ +} + +libvirtd_net_count() { + local hvuri=$1 + shift + + libvirtd_net_list "${hvuri}" $@ | wc -l +} + +libvirtd_dom_stop() { + # stops all persistent or transient domains for a given URI + # $1 - uri + # $2 - persisent/transient + + local uri=$1 + local persist=$2 + local shutdown_type=${LIBVIRT_SHUTDOWN} + local counter=${LIBVIRT_MAXWAIT} + local dom_name= + local dom_as= + local dom_ids= + local uuid= + local dom_count= + + [ "${persist}" = "--transient" ] && shutdown_type="shutdown" + [ -n "${counter}" ] || counter=500 + + einfo " Shutting down domain(s) ..." + + # grab all persistent or transient domains running + dom_ids=$(libvirtd_dom_list ${uri} ${persist}) + + for uuid in ${dom_ids}; do + # Get the name + dom_name=$(do_virsh ${uri} domname ${uuid}) + einfo " ${dom_name}" + # Get autostart state + dom_as=$(do_virsh ${uri} dominfo ${uuid} | \ + awk '$1 == "Autostart:" { print $2 }') + + if [ "${persist}" = "--persistent" ]; then + # Save our running state only if LIBVIRT_IGNORE_AUTOSTART != yes + if [ "x${LIBVIRT_IGNORE_AUTOSTART}" = "xyes" ] && \ + [ ${dom_as} = "enabled" ]; then + : + else + echo "${uri} ${uuid}" >> ${gueststatefile} + fi + + fi + + # Now let's stop it + do_virsh "${uri}" ${shutdown_type} ${uuid} > /dev/null + + done + + dom_count="$(libvirtd_dom_count ${uri} ${persist})" + while [ ${dom_count} -gt 0 ] && [ ${counter} -gt 0 ] ; do + dom_count="$(libvirtd_dom_count ${uri} ${persist})" + sleep 1 + if [ "${shutdown_type}" = "shutdown" ]; then + counter=$((${counter} - 1)) + fi + printf "." + done + + if [ "${shutdown_type}" = "shutdown" ]; then + # grab all domains still running + dom_ids=$(libvirtd_dom_list ${uri} ${persist}) + for uuid in ${dom_ids}; do + dom_name=$(do_virsh ${uri} domname ${uuid}) + eerror " ${dom_name} forcibly stopped" + do_virsh "${uri}" destroy ${uuid} > /dev/null + done + fi +} + +libvirtd_net_stop() { + # stops all persistent or transient domains for a given URI + # $1 - uri + # $2 - persisent/transient + + local uri=$1 + local persist=$2 + local uuid= + local net_name= + + if [ "${LIBVIRT_NET_SHUTDOWN}" != "no" ]; then + + einfo " Shutting down network(s):" + for uuid in $(libvirtd_net_list ${uri} ${persist}); do + net_name=$(do_virsh ${uri} net-name ${uuid}) + einfo " ${net_name}" + + if [ "${persist}" = "--persistent" ]; then + # Save our running state + echo "${uri} ${uuid}" >> ${netstatefile} + + fi + + # Actually stop the network + do_virsh qemu net-destroy ${uuid} > /dev/null + done + + fi +} + +start() { + local uri= + local uuid= + local name= + + for uri in ${LIBVIRT_URIS}; do + do_virsh "${uri}" connect + if [ $? -ne 0 ]; then + eerror "Failed to connect to '${uri}'. Domains may not start." + fi + done + + [ ! -e "${netstatefile}" ] && touch "${netstatefile}" + [ ! -e "${gueststatefile}" ] && touch "${gueststatefile}" + + # if the user didn't want to start any guests up then respect their wish + [ "x${LIBVIRT_START}" = "xno" ] && return 0 + + # start networks + ebegin "Starting libvirt networks" + while read -r uri uuid + do + # ignore trash + [ -z "${uri}" ] || [ -z "${uuid}" ] && continue + + name=$(do_virsh "${uri}" net-name ${uuid}) + einfo " ${name}" + do_virsh "${uri}" net-start ${uuid} > /dev/null + done <"${netstatefile}" + eend 0 + + # start domains + ebegin "Starting libvirt domains" + while read -r uri uuid + do + # ignore trash + [ -z "${uri}" ] || [ -z "${uuid}" ] && continue + + name=$(do_virsh "${uri}" domname ${uuid}) + einfo " ${name}" + do_virsh "${uri}" start ${uuid} > /dev/null + done <"${gueststatefile}" + eend 0 +} + +stop() { + local counter= + local dom_name= + local net_name= + local dom_ids= + local uuid= + local dom_count= + + rm -f "${gueststatefile}" + [ $? -ne 0 ] && eerror "Unable to save domain state" + rm -f "${netstatefile}" + [ $? -ne 0 ] && eerror "Unable to save net state" + + for uri in ${LIBVIRT_URIS}; do + einfo "Stopping libvirt domains and networks for ${uri}" + + libvirtd_dom_stop "${uri}" "--persistent" + libvirtd_dom_stop "${uri}" "--transient" + libvirtd_net_stop "${uri}" "--persistent" + libvirtd_net_stop "${uri}" "--transient" + + einfo "Done stopping domains and networks for ${uri}" + done +} diff --git a/app-emulation/libvirt/libvirt-4.3.0.ebuild b/app-emulation/libvirt/libvirt-4.3.0.ebuild index 5bd36ebec4a9..6cb7be71717c 100644 --- a/app-emulation/libvirt/libvirt-4.3.0.ebuild +++ b/app-emulation/libvirt/libvirt-4.3.0.ebuild @@ -3,7 +3,9 @@ EAPI=6 -inherit autotools eutils user linux-info systemd readme.gentoo-r1 bash-completion-r1 +PYTHON_COMPAT=( python3_{4,5,6} ) + +inherit autotools bash-completion-r1 eutils linux-info python-any-r1 readme.gentoo-r1 systemd user if [[ ${PV} = *9999* ]]; then inherit git-r3 @@ -115,6 +117,7 @@ RDEPEND=" zfs? ( sys-fs/zfs )" DEPEND="${RDEPEND} + ${PYTHON_DEPS} app-text/xhtml1 dev-lang/perl dev-libs/libxslt diff --git a/app-emulation/libvirt/libvirt-4.4.0-r1.ebuild b/app-emulation/libvirt/libvirt-4.4.0-r1.ebuild index d6bc4279be49..9dbad91d1f52 100644 --- a/app-emulation/libvirt/libvirt-4.4.0-r1.ebuild +++ b/app-emulation/libvirt/libvirt-4.4.0-r1.ebuild @@ -3,7 +3,9 @@ EAPI=6 -inherit autotools eutils user linux-info systemd readme.gentoo-r1 bash-completion-r1 +PYTHON_COMPAT=( python3_{4,5,6} ) + +inherit autotools bash-completion-r1 eutils linux-info python-any-r1 readme.gentoo-r1 systemd user if [[ ${PV} = *9999* ]]; then inherit git-r3 @@ -115,6 +117,7 @@ RDEPEND=" zfs? ( sys-fs/zfs )" DEPEND="${RDEPEND} + ${PYTHON_DEPS} app-text/xhtml1 dev-lang/perl dev-libs/libxslt diff --git a/app-emulation/libvirt/libvirt-4.5.0-r1.ebuild b/app-emulation/libvirt/libvirt-4.5.0-r1.ebuild index b98d98cfe371..161be6fe14a4 100644 --- a/app-emulation/libvirt/libvirt-4.5.0-r1.ebuild +++ b/app-emulation/libvirt/libvirt-4.5.0-r1.ebuild @@ -3,13 +3,15 @@ EAPI=6 -inherit autotools eutils user linux-info systemd readme.gentoo-r1 bash-completion-r1 +PYTHON_COMPAT=( python3_{4,5,6} ) + +inherit autotools bash-completion-r1 eutils linux-info python-any-r1 readme.gentoo-r1 systemd user if [[ ${PV} = *9999* ]]; then inherit git-r3 EGIT_REPO_URI="https://libvirt.org/git/libvirt.git" SRC_URI="" - KEYWORDS="" + KEYWORDS="amd64 x86" SLOT="0" else # Versions with 4 numbers are stable updates: @@ -18,7 +20,7 @@ else else SRC_URI="https://libvirt.org/sources/${P}.tar.xz" fi - KEYWORDS="~amd64 ~arm64 ~x86" + KEYWORDS="amd64 ~arm64 x86" SLOT="0/${PV}" fi @@ -115,6 +117,7 @@ RDEPEND=" zfs? ( sys-fs/zfs )" DEPEND="${RDEPEND} + ${PYTHON_DEPS} app-text/xhtml1 dev-lang/perl dev-libs/libxslt diff --git a/app-emulation/libvirt/libvirt-4.6.0-r1.ebuild b/app-emulation/libvirt/libvirt-4.6.0-r1.ebuild new file mode 100644 index 000000000000..78736067968d --- /dev/null +++ b/app-emulation/libvirt/libvirt-4.6.0-r1.ebuild @@ -0,0 +1,382 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python3_{4,5,6} ) + +inherit autotools bash-completion-r1 eutils linux-info python-any-r1 readme.gentoo-r1 systemd user + +if [[ ${PV} = *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://libvirt.org/git/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="https://libvirt.org/sources/stable_updates/${P}.tar.xz" + else + SRC_URI="https://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/jansson + ) + 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} + ${PYTHON_DEPS} + app-text/xhtml1 + dev-lang/perl + dev-libs/libxslt + dev-perl/XML-XPath + virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${PN}-4.5.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 +) + +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 jansson) + $(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 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 + + 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-r3" 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 + + newbashcomp "${S}/tools/bash-completion/vsh" vsh + bashcomp_alias vsh virsh virt-admin + + 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-9999.ebuild b/app-emulation/libvirt/libvirt-9999.ebuild index 3743f3a0b723..e6f5276a786e 100644 --- a/app-emulation/libvirt/libvirt-9999.ebuild +++ b/app-emulation/libvirt/libvirt-9999.ebuild @@ -3,7 +3,9 @@ EAPI=6 -inherit autotools eutils user linux-info systemd readme.gentoo-r1 bash-completion-r1 +PYTHON_COMPAT=( python3_{4,5,6} ) + +inherit autotools bash-completion-r1 eutils linux-info python-any-r1 readme.gentoo-r1 systemd user if [[ ${PV} = *9999* ]]; then inherit git-r3 @@ -115,6 +117,7 @@ RDEPEND=" zfs? ( sys-fs/zfs )" DEPEND="${RDEPEND} + ${PYTHON_DEPS} app-text/xhtml1 dev-lang/perl dev-libs/libxslt @@ -345,7 +348,7 @@ src_install() { 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}/libvirt-guests.init-r3" libvirt-guests || die newinitd "${FILESDIR}/virtlockd.init-r1" virtlockd || die newinitd "${FILESDIR}/virtlogd.init-r1" virtlogd || die diff --git a/app-emulation/lxc/Manifest b/app-emulation/lxc/Manifest index 1ac07d727089..c79557bcd940 100644 --- a/app-emulation/lxc/Manifest +++ b/app-emulation/lxc/Manifest @@ -9,8 +9,8 @@ AUX lxc.initd.7 3468 BLAKE2B 37b0d044594f1c66631f991315e49c4ceea4640bf6c459e6bba AUX lxc_at.service.4 265 BLAKE2B 4454528e69a5c986c23c0c4ccc10ebe03a0650e47cd30208355d2f4a70a4cb46392473eccddd736988f1b72954948876601aaf99977d8e6014a7c774a416160f SHA512 d61e7103e90e6ffb3202533e7d7555d8c02b943f06ec6c0d673713c1c0ede58641312c65d6dd6a15907c1171522e6148c2313d7b11acbd85d59fe65758cd52b3 DIST lxc-2.1.1.tar.gz 1378640 BLAKE2B 5fca516540a886729434579ff99acf3baa06977fa0e0b6f24dbf15094626335fc073597d308276e3dd20e27ceabf1477cc8e99d1fd24cf50b9aed2720b887b69 SHA512 2989d57acddfe091adcf8031721c3c9a2f8eff5476bd6155366b76ea7511e0f6120e669276e056e3963863e0f0acf3b095d44c36fa6652e67c197671f28cbdd4 DIST lxc-3.0.1.tar.gz 1239920 BLAKE2B 7be668c11d7211540fe7e2fb6318d38eac0d8d493914f4705d097fca4c004a8d2191609d02bd9e1d9204c3c0b9ea937084d3f9050fc841f6d777768067af3d19 SHA512 f51b0844f61f64d4efc530454eae1fa499f7f1b908bd3b40d7031e7f311a402893a7504bddbc53f2ef9da2b3154d1b047fc4d876b99f0d487d7c79de64eea505 +DIST lxc-3.0.2.tar.gz 1236975 BLAKE2B 68047f6374b9081fb308586726797ed94fa66b5e94eb3fc12ad1a0aedc15ac1ee518ca5a341db79a715015e34ad38659200ad6aaf21f74639ebb55e7e1360645 SHA512 d7f5e3f91e5c8800e3e092ab209158a4d3e3c2816623249aeaaf2e0950428484ac5d1432d71298787721e1419cd962c0798ba14979e62161299fa15a299efde8 EBUILD lxc-2.1.1-r1.ebuild 6818 BLAKE2B e885b3a11de8a131433bec83b1d47b8c2277fd575d2d8bbf475bbb6ad5b1b520fbe204f61034816a96eef2734b5986d1bdaf9f39c2c61f4d1e47597c49eaf90c SHA512 15d46b88c5163ed35d25e404696350d0ef4906c4b264f5c1e9987a2f98a24b68c8187222a39a041a7de622621ae3dc5a9e6b58ab24754e57a70e2e1374f8c840 -EBUILD lxc-2.1.1.ebuild 6763 BLAKE2B a4d6e09451ebb728147e1ebeca98292422472040eea4a7664e8659d2d00774933b16e264b2af3a0ad6a90750586369a02cc6149959bb3a218a528f4f8f0aa773 SHA512 e5838b9a63d096284905d3f000c268a6c398835c2054c2d0bb92e3e6ed2d0b3aaeb2a417d2c04b8182ced7447a47fa9e1340e89f92d0fd6dd48238544684a727 EBUILD lxc-3.0.1-r1.ebuild 5191 BLAKE2B 9f459a526990f82180248e70c618479b12bd2f0ebbed6531d380a379256f214511b1213e1627a4fc813d36d38a05b4f44894f14ce9d7fef2da1fd0f5d1db9b51 SHA512 3e32d03eb7bf76be38b9fba3b2b0645273c497d9053ff91167908675d133b7e55ab80f7f8bb6a58ecefb1c9b002ef8727b63af56cd2c478a6dea2e8dd9c4f033 -EBUILD lxc-3.0.1.ebuild 5136 BLAKE2B 3e439cf609c87cbd2d88e0d9c646b64998f072a7cc2c04b0e5f5537d0297d9f0d66ff39e184d03a8828fec5f32ea959b76bb5b4c9471d546102bceee46577329 SHA512 1f02404f7d8ad22bb7517d0ed25987ce1ef73034736f6a1d2f7ff2b804d1be8ae712545575725736a9ac4019e316629b43bed0e21ebe60e5ed094334840c67fa -MISC metadata.xml 670 BLAKE2B 1318dc9a17178a46375589bcc92685e1a49146cd7384e36d996e675875a55c8402e2a037546dadd2ce1399557b77366f03179d8ef51cdbe106e9b27c3f3dbff9 SHA512 c1d3d15e52953b8dcd280c90d73467258cdf41d6f6505f231c0c031f40b0a467147798651bb327b498dd4ac694783441896584941a0c05d34e45af8dc9c6db70 +EBUILD lxc-3.0.2.ebuild 5033 BLAKE2B 3687be7ad11e70d8955f671e463a5311f0d5f5948e1c3ad1b31eab8071e5960d9b232dc5b8a176d56006e56e5ec39fd31197f75a9a20c24ce9131235151f287e SHA512 9b21e7225343ab7379dad667652acafe1f3e32c0b90edd8df4b0385bedb742f43f1998711be8039d673affac066b5aa9f70e2ee9557cd7d207b6c064dba440d3 +MISC metadata.xml 727 BLAKE2B f1f8eedf4986f221535eacc12429dadb73c25d07e67962d6676ca8f5303d971828df6bf781628fc0089ba29766136c73d164208f057bd59ca3789fab73ab7d47 SHA512 025b93960856b23bb9817b38fadb6ef9d6dfd2ab98f813de840634396fed8e577b8ff52c2d4698d21e0a18d3196d3233da0bf400bee4775cc1fa12b1014ec9f4 diff --git a/app-emulation/lxc/lxc-2.1.1.ebuild b/app-emulation/lxc/lxc-2.1.1.ebuild deleted file mode 100644 index a3c804d01763..000000000000 --- a/app-emulation/lxc/lxc-2.1.1.ebuild +++ /dev/null @@ -1,214 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PYTHON_COMPAT=( python3_{4,5,6} ) -DISTUTILS_OPTIONAL=1 - -inherit autotools bash-completion-r1 distutils-r1 linux-info versionator flag-o-matic systemd readme.gentoo-r1 -DESCRIPTION="LinuX Containers userspace utilities" -HOMEPAGE="https://linuxcontainers.org/" -SRC_URI="https://linuxcontainers.org/downloads/lxc/${P}.tar.gz" - -KEYWORDS="amd64 ~arm ~arm64 ppc64 x86" - -LICENSE="LGPL-3" -SLOT="0" -IUSE="cgmanager examples lua python seccomp selinux" - -RDEPEND=" - net-libs/gnutls - sys-libs/libcap - cgmanager? ( app-admin/cgmanager ) - lua? ( >=dev-lang/lua-5.1:= ) - python? ( ${PYTHON_DEPS} ) - seccomp? ( sys-libs/libseccomp ) - selinux? ( sys-libs/libselinux )" - -DEPEND="${RDEPEND} - app-text/docbook-sgml-utils - >=sys-kernel/linux-headers-3.2" - -RDEPEND="${RDEPEND} - sys-apps/util-linux - app-misc/pax-utils - virtual/awk" - -CONFIG_CHECK="~CGROUPS ~CGROUP_DEVICE - ~CPUSETS ~CGROUP_CPUACCT - ~CGROUP_SCHED - - ~NAMESPACES - ~IPC_NS ~USER_NS ~PID_NS - - ~NETLINK_DIAG ~PACKET_DIAG - ~INET_UDP_DIAG ~INET_TCP_DIAG - ~UNIX_DIAG ~CHECKPOINT_RESTORE - - ~CGROUP_FREEZER - ~UTS_NS ~NET_NS - ~VETH ~MACVLAN - - ~POSIX_MQUEUE - ~!NETPRIO_CGROUP - - ~!GRKERNSEC_CHROOT_MOUNT - ~!GRKERNSEC_CHROOT_DOUBLE - ~!GRKERNSEC_CHROOT_PIVOT - ~!GRKERNSEC_CHROOT_CHMOD - ~!GRKERNSEC_CHROOT_CAPS - ~!GRKERNSEC_PROC - ~!GRKERNSEC_SYSFS_RESTRICT -" - -ERROR_DEVPTS_MULTIPLE_INSTANCES="CONFIG_DEVPTS_MULTIPLE_INSTANCES: needed for pts inside container" - -ERROR_CGROUP_FREEZER="CONFIG_CGROUP_FREEZER: needed to freeze containers" - -ERROR_UTS_NS="CONFIG_UTS_NS: needed to unshare hostnames and uname info" -ERROR_NET_NS="CONFIG_NET_NS: needed for unshared network" - -ERROR_VETH="CONFIG_VETH: needed for internal (host-to-container) networking" -ERROR_MACVLAN="CONFIG_MACVLAN: needed for internal (inter-container) networking" - -ERROR_NETLINK_DIAG="CONFIG_NETLINK_DIAG: needed for lxc-checkpoint" -ERROR_PACKET_DIAG="CONFIG_PACKET_DIAG: needed for lxc-checkpoint" -ERROR_INET_UDP_DIAG="CONFIG_INET_UDP_DIAG: needed for lxc-checkpoint" -ERROR_INET_TCP_DIAG="CONFIG_INET_TCP_DIAG: needed for lxc-checkpoint" -ERROR_UNIX_DIAG="CONFIG_UNIX_DIAG: needed for lxc-checkpoint" -ERROR_CHECKPOINT_RESTORE="CONFIG_CHECKPOINT_RESTORE: needed for lxc-checkpoint" - -ERROR_POSIX_MQUEUE="CONFIG_POSIX_MQUEUE: needed for lxc-execute command" - -ERROR_NETPRIO_CGROUP="CONFIG_NETPRIO_CGROUP: as of kernel 3.3 and lxc 0.8.0_rc1 this causes LXCs to fail booting." - -ERROR_GRKERNSEC_CHROOT_MOUNT="CONFIG_GRKERNSEC_CHROOT_MOUNT: some GRSEC features make LXC unusable see postinst notes" -ERROR_GRKERNSEC_CHROOT_DOUBLE="CONFIG_GRKERNSEC_CHROOT_DOUBLE: some GRSEC features make LXC unusable see postinst notes" -ERROR_GRKERNSEC_CHROOT_PIVOT="CONFIG_GRKERNSEC_CHROOT_PIVOT: some GRSEC features make LXC unusable see postinst notes" -ERROR_GRKERNSEC_CHROOT_CHMOD="CONFIG_GRKERNSEC_CHROOT_CHMOD: some GRSEC features make LXC unusable see postinst notes" -ERROR_GRKERNSEC_CHROOT_CAPS="CONFIG_GRKERNSEC_CHROOT_CAPS: some GRSEC features make LXC unusable see postinst notes" -ERROR_GRKERNSEC_PROC="CONFIG_GRKERNSEC_PROC: this GRSEC feature is incompatible with unprivileged containers" -ERROR_GRKERNSEC_SYSFS_RESTRICT="CONFIG_GRKERNSEC_SYSFS_RESTRICT: this GRSEC feature is incompatible with unprivileged containers" - -DOCS=(AUTHORS CONTRIBUTING MAINTAINERS NEWS README doc/FAQ.txt) - -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" - -pkg_setup() { - kernel_is -lt 4 7 && CONFIG_CHECK="${CONFIG_CHECK} ~DEVPTS_MULTIPLE_INSTANCES" - linux-info_pkg_setup -} - -src_prepare() { - eapply "${FILESDIR}"/${PN}-2.0.6-bash-completion.patch - #558854 - eapply "${FILESDIR}"/${PN}-2.0.5-omit-sysconfig.patch - eapply "${FILESDIR}"/${PN}-2.1.1-fix-cgroup2-detection.patch - eapply "${FILESDIR}"/${PN}-2.1.1-cgroups-enable-container-without-CAP_SYS_ADMIN.patch - eapply_user - eautoreconf -} - -src_configure() { - append-flags -fno-strict-aliasing - - if use python; then - #541932 - python_setup "python3*" - export PKG_CONFIG_PATH="${T}/${EPYTHON}/pkgconfig:${PKG_CONFIG_PATH}" - fi - - # I am not sure about the --with-rootfs-path - # /var/lib/lxc is probably more appropriate than - # /usr/lib/lxc. - # Note by holgersson: Why is apparmor disabled? - - # --enable-doc is for manpages which is why we don't link it to a "doc" - # USE flag. We always want man pages. - econf \ - --localstatedir=/var \ - --bindir=/usr/bin \ - --sbindir=/usr/bin \ - --with-config-path=/var/lib/lxc \ - --with-rootfs-path=/var/lib/lxc/rootfs \ - --with-distro=gentoo \ - --with-runtime-path=/run \ - --disable-apparmor \ - --disable-werror \ - --enable-doc \ - $(use_enable cgmanager) \ - $(use_enable examples) \ - $(use_enable lua) \ - $(use_enable python) \ - $(use_enable seccomp) \ - $(use_enable selinux) -} - -python_compile() { - distutils-r1_python_compile build_ext -I.. -L../lxc/.libs --no-pkg-config -} - -src_compile() { - default - - if use python; then - pushd "${S}/src/python-${PN}" > /dev/null - distutils-r1_src_compile - popd > /dev/null - fi -} - -src_install() { - default - - mv "${ED}"/usr/share/bash-completion/completions/${PN} "${ED}"/$(get_bashcompdir)/${PN}-start || die - # start-ephemeral is no longer a command but removing it here - # generates QA warnings (still in upstream completion script) - bashcomp_alias ${PN}-start \ - ${PN}-{attach,cgroup,copy,console,create,destroy,device,execute,freeze,info,monitor,snapshot,start-ephemeral,stop,unfreeze,wait} - - if use python; then - pushd "${S}/src/python-lxc" > /dev/null - # Unset DOCS. This has been handled by the default target - unset DOCS - distutils-r1_src_install - popd > /dev/null - fi - - keepdir /etc/lxc /var/lib/lxc/rootfs /var/log/lxc - - find "${D}" -name '*.la' -delete - - # Gentoo-specific additions! - newinitd "${FILESDIR}/${PN}.initd.7" ${PN} - - # Remember to compare our systemd unit file with the upstream one - # config/init/systemd/lxc.service.in - systemd_newunit "${FILESDIR}"/${PN}_at.service.4 "lxc@.service" - - DOC_CONTENTS=" - Starting from version ${PN}-1.1.0-r3, the default lxc path has been - moved from /etc/lxc to /var/lib/lxc. If you still want to use /etc/lxc - please add the following to your /etc/lxc/lxc.conf - - lxc.lxcpath = /etc/lxc - - For openrc, there is an init script provided with the package. - You _should_ only need to symlink /etc/init.d/lxc to - /etc/init.d/lxc.configname to start the container defined in - /etc/lxc/configname.conf. - - Correspondingly, for systemd a service file lxc@.service is installed. - Enable and start lxc@configname in order to start the container defined - in /etc/lxc/configname.conf. - - If you want checkpoint/restore functionality, please install criu - (sys-process/criu)." - DISABLE_AUTOFORMATTING=true - readme.gentoo_create_doc -} - -pkg_postinst() { - readme.gentoo_print_elog -} diff --git a/app-emulation/lxc/lxc-3.0.1.ebuild b/app-emulation/lxc/lxc-3.0.1.ebuild deleted file mode 100644 index 8c26d2c163c9..000000000000 --- a/app-emulation/lxc/lxc-3.0.1.ebuild +++ /dev/null @@ -1,162 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit autotools bash-completion-r1 linux-info flag-o-matic systemd readme.gentoo-r1 pam - -DESCRIPTION="LinuX Containers userspace utilities" -HOMEPAGE="https://linuxcontainers.org/" -SRC_URI="https://linuxcontainers.org/downloads/lxc/${P}.tar.gz" - -KEYWORDS="amd64 ~arm ~arm64 ppc64 x86" - -LICENSE="LGPL-3" -SLOT="0" -IUSE="examples pam python seccomp selinux +templates" - -RDEPEND=" - net-libs/gnutls - sys-libs/libcap - pam? ( virtual/pam ) - seccomp? ( sys-libs/libseccomp ) - selinux? ( sys-libs/libselinux )" - -DEPEND="${RDEPEND} - >=app-text/docbook-sgml-utils-0.6.14-r2 - >=sys-kernel/linux-headers-3.2" - -RDEPEND="${RDEPEND} - sys-apps/util-linux - app-misc/pax-utils - virtual/awk" - -PDEPEND="templates? ( app-emulation/lxc-templates ) - python? ( dev-python/python3-lxc )" - -CONFIG_CHECK="~CGROUPS ~CGROUP_DEVICE - ~CPUSETS ~CGROUP_CPUACCT - ~CGROUP_SCHED - - ~NAMESPACES - ~IPC_NS ~USER_NS ~PID_NS - - ~CGROUP_FREEZER - ~UTS_NS ~NET_NS - ~VETH ~MACVLAN - - ~POSIX_MQUEUE - ~!NETPRIO_CGROUP - - ~!GRKERNSEC_CHROOT_MOUNT - ~!GRKERNSEC_CHROOT_DOUBLE - ~!GRKERNSEC_CHROOT_PIVOT - ~!GRKERNSEC_CHROOT_CHMOD - ~!GRKERNSEC_CHROOT_CAPS - ~!GRKERNSEC_PROC - ~!GRKERNSEC_SYSFS_RESTRICT -" - -ERROR_DEVPTS_MULTIPLE_INSTANCES="CONFIG_DEVPTS_MULTIPLE_INSTANCES: needed for pts inside container" - -ERROR_CGROUP_FREEZER="CONFIG_CGROUP_FREEZER: needed to freeze containers" - -ERROR_UTS_NS="CONFIG_UTS_NS: needed to unshare hostnames and uname info" -ERROR_NET_NS="CONFIG_NET_NS: needed for unshared network" - -ERROR_VETH="CONFIG_VETH: needed for internal (host-to-container) networking" -ERROR_MACVLAN="CONFIG_MACVLAN: needed for internal (inter-container) networking" - -ERROR_POSIX_MQUEUE="CONFIG_POSIX_MQUEUE: needed for lxc-execute command" - -ERROR_NETPRIO_CGROUP="CONFIG_NETPRIO_CGROUP: as of kernel 3.3 and lxc 0.8.0_rc1 this causes LXCs to fail booting." - -ERROR_GRKERNSEC_CHROOT_MOUNT="CONFIG_GRKERNSEC_CHROOT_MOUNT: some GRSEC features make LXC unusable see postinst notes" -ERROR_GRKERNSEC_CHROOT_DOUBLE="CONFIG_GRKERNSEC_CHROOT_DOUBLE: some GRSEC features make LXC unusable see postinst notes" -ERROR_GRKERNSEC_CHROOT_PIVOT="CONFIG_GRKERNSEC_CHROOT_PIVOT: some GRSEC features make LXC unusable see postinst notes" -ERROR_GRKERNSEC_CHROOT_CHMOD="CONFIG_GRKERNSEC_CHROOT_CHMOD: some GRSEC features make LXC unusable see postinst notes" -ERROR_GRKERNSEC_CHROOT_CAPS="CONFIG_GRKERNSEC_CHROOT_CAPS: some GRSEC features make LXC unusable see postinst notes" -ERROR_GRKERNSEC_PROC="CONFIG_GRKERNSEC_PROC: this GRSEC feature is incompatible with unprivileged containers" -ERROR_GRKERNSEC_SYSFS_RESTRICT="CONFIG_GRKERNSEC_SYSFS_RESTRICT: this GRSEC feature is incompatible with unprivileged containers" - -DOCS=(AUTHORS CONTRIBUTING MAINTAINERS NEWS README doc/FAQ.txt) - -pkg_setup() { - kernel_is -lt 4 7 && CONFIG_CHECK="${CONFIG_CHECK} ~DEVPTS_MULTIPLE_INSTANCES" - linux-info_pkg_setup -} - -src_prepare() { - eapply "${FILESDIR}"/${PN}-3.0.0-bash-completion.patch - #558854 - eapply "${FILESDIR}"/${PN}-2.0.5-omit-sysconfig.patch - eapply_user - eautoreconf -} - -src_configure() { - append-flags -fno-strict-aliasing - - # I am not sure about the --with-rootfs-path - # /var/lib/lxc is probably more appropriate than - # /usr/lib/lxc. - # Note by holgersson: Why is apparmor disabled? - - # --enable-doc is for manpages which is why we don't link it to a "doc" - # USE flag. We always want man pages. - econf \ - --localstatedir=/var \ - --bindir=/usr/bin \ - --sbindir=/usr/bin \ - --with-config-path=/var/lib/lxc \ - --with-rootfs-path=/var/lib/lxc/rootfs \ - --with-distro=gentoo \ - --with-runtime-path=/run \ - --disable-apparmor \ - --disable-werror \ - --enable-doc \ - $(use_enable examples) \ - $(use_enable pam) \ - $(use_with pam pamdir $(getpam_mod_dir)) \ - $(use_enable seccomp) \ - $(use_enable selinux) -} - -src_install() { - default - - mv "${ED}"/usr/share/bash-completion/completions/${PN} "${ED}"/$(get_bashcompdir)/${PN}-start || die - bashcomp_alias ${PN}-start \ - ${PN}-{attach,cgroup,copy,console,create,destroy,device,execute,freeze,info,monitor,snapshot,stop,unfreeze,wait} - - keepdir /etc/lxc /var/lib/lxc/rootfs /var/log/lxc - rmdir "${D}"/var/cache/lxc "${D}"/var/cache || die "rmdir failed" - - find "${D}" -name '*.la' -delete - - # Gentoo-specific additions! - newinitd "${FILESDIR}/${PN}.initd.7" ${PN} - - # Remember to compare our systemd unit file with the upstream one - # config/init/systemd/lxc.service.in - systemd_newunit "${FILESDIR}"/${PN}_at.service.4 "lxc@.service" - - DOC_CONTENTS=" - For openrc, there is an init script provided with the package. - You _should_ only need to symlink /etc/init.d/lxc to - /etc/init.d/lxc.configname to start the container defined in - /etc/lxc/configname.conf. - - Correspondingly, for systemd a service file lxc@.service is installed. - Enable and start lxc@configname in order to start the container defined - in /etc/lxc/configname.conf. - - If you want checkpoint/restore functionality, please install criu - (sys-process/criu)." - DISABLE_AUTOFORMATTING=true - readme.gentoo_create_doc -} - -pkg_postinst() { - readme.gentoo_print_elog -} diff --git a/app-emulation/lxc/lxc-3.0.2.ebuild b/app-emulation/lxc/lxc-3.0.2.ebuild new file mode 100644 index 000000000000..a80befa826a2 --- /dev/null +++ b/app-emulation/lxc/lxc-3.0.2.ebuild @@ -0,0 +1,160 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +WANT_AUTOMAKE="1.15" + +inherit autotools bash-completion-r1 linux-info flag-o-matic systemd readme.gentoo-r1 pam + +DESCRIPTION="LinuX Containers userspace utilities" +HOMEPAGE="https://linuxcontainers.org/" +SRC_URI="https://linuxcontainers.org/downloads/lxc/${P}.tar.gz" + +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" + +LICENSE="LGPL-3" +SLOT="0" +IUSE="apparmor examples pam python seccomp selinux +templates" + +RDEPEND=" + net-libs/gnutls + sys-libs/libcap + pam? ( virtual/pam ) + seccomp? ( sys-libs/libseccomp ) + selinux? ( sys-libs/libselinux )" + +DEPEND="${RDEPEND} + >=app-text/docbook-sgml-utils-0.6.14-r2 + >=sys-kernel/linux-headers-3.2" + +RDEPEND="${RDEPEND} + sys-apps/util-linux + app-misc/pax-utils + virtual/awk" + +PDEPEND="templates? ( app-emulation/lxc-templates ) + python? ( dev-python/python3-lxc )" + +CONFIG_CHECK="~CGROUPS ~CGROUP_DEVICE + ~CPUSETS ~CGROUP_CPUACCT + ~CGROUP_SCHED + + ~NAMESPACES + ~IPC_NS ~USER_NS ~PID_NS + + ~CGROUP_FREEZER + ~UTS_NS ~NET_NS + ~VETH ~MACVLAN + + ~POSIX_MQUEUE + ~!NETPRIO_CGROUP + + ~!GRKERNSEC_CHROOT_MOUNT + ~!GRKERNSEC_CHROOT_DOUBLE + ~!GRKERNSEC_CHROOT_PIVOT + ~!GRKERNSEC_CHROOT_CHMOD + ~!GRKERNSEC_CHROOT_CAPS + ~!GRKERNSEC_PROC + ~!GRKERNSEC_SYSFS_RESTRICT + ~!GRKERNSEC_CHROOT_FINDTASK +" + +ERROR_DEVPTS_MULTIPLE_INSTANCES="CONFIG_DEVPTS_MULTIPLE_INSTANCES: needed for pts inside container" + +ERROR_CGROUP_FREEZER="CONFIG_CGROUP_FREEZER: needed to freeze containers" + +ERROR_UTS_NS="CONFIG_UTS_NS: needed to unshare hostnames and uname info" +ERROR_NET_NS="CONFIG_NET_NS: needed for unshared network" + +ERROR_VETH="CONFIG_VETH: needed for internal (host-to-container) networking" +ERROR_MACVLAN="CONFIG_MACVLAN: needed for internal (inter-container) networking" + +ERROR_POSIX_MQUEUE="CONFIG_POSIX_MQUEUE: needed for lxc-execute command" + +ERROR_NETPRIO_CGROUP="CONFIG_NETPRIO_CGROUP: as of kernel 3.3 and lxc 0.8.0_rc1 this causes LXCs to fail booting." + +ERROR_GRKERNSEC_CHROOT_MOUNT="CONFIG_GRKERNSEC_CHROOT_MOUNT: some GRSEC features make LXC unusable see postinst notes" +ERROR_GRKERNSEC_CHROOT_DOUBLE="CONFIG_GRKERNSEC_CHROOT_DOUBLE: some GRSEC features make LXC unusable see postinst notes" +ERROR_GRKERNSEC_CHROOT_PIVOT="CONFIG_GRKERNSEC_CHROOT_PIVOT: some GRSEC features make LXC unusable see postinst notes" +ERROR_GRKERNSEC_CHROOT_CHMOD="CONFIG_GRKERNSEC_CHROOT_CHMOD: some GRSEC features make LXC unusable see postinst notes" +ERROR_GRKERNSEC_CHROOT_CAPS="CONFIG_GRKERNSEC_CHROOT_CAPS: some GRSEC features make LXC unusable see postinst notes" +ERROR_GRKERNSEC_PROC="CONFIG_GRKERNSEC_PROC: this GRSEC feature is incompatible with unprivileged containers" +ERROR_GRKERNSEC_SYSFS_RESTRICT="CONFIG_GRKERNSEC_SYSFS_RESTRICT: this GRSEC feature is incompatible with unprivileged containers" + +DOCS=(AUTHORS CONTRIBUTING MAINTAINERS NEWS README doc/FAQ.txt) + +pkg_setup() { + kernel_is -lt 4 7 && CONFIG_CHECK="${CONFIG_CHECK} ~DEVPTS_MULTIPLE_INSTANCES" + linux-info_pkg_setup +} + +PATCHES=( + "${FILESDIR}"/${PN}-3.0.0-bash-completion.patch + "${FILESDIR}"/${PN}-2.0.5-omit-sysconfig.patch # bug 558854 +) + +src_configure() { + append-flags -fno-strict-aliasing + + # --enable-doc is for manpages which is why we don't link it to a "doc" + # USE flag. We always want man pages. + local myeconfargs=( + --localstatedir=/var + --bindir=/usr/bin + --sbindir=/usr/bin + --with-config-path=/var/lib/lxc + --with-rootfs-path=/var/lib/lxc/rootfs + --with-distro=gentoo + --with-runtime-path=/run + --disable-apparmor + --disable-werror + --enable-doc + $(use_enable apparmor) + $(use_enable examples) + $(use_enable pam) + $(use_with pam pamdir $(getpam_mod_dir)) + $(use_enable seccomp) + $(use_enable selinux) + ) + econf "${myeconfargs[@]}" +} + +src_install() { + default + + mv "${ED}"/usr/share/bash-completion/completions/${PN} "${ED}"/$(get_bashcompdir)/${PN}-start || die + bashcomp_alias ${PN}-start \ + ${PN}-{attach,cgroup,copy,console,create,destroy,device,execute,freeze,info,monitor,snapshot,stop,unfreeze,wait} + + keepdir /etc/lxc /var/lib/lxc/rootfs /var/log/lxc + rmdir "${D}"/var/cache/lxc "${D}"/var/cache || die "rmdir failed" + + find "${D}" -name '*.la' -delete + + # Gentoo-specific additions! + newinitd "${FILESDIR}/${PN}.initd.7" ${PN} + + # Remember to compare our systemd unit file with the upstream one + # config/init/systemd/lxc.service.in + systemd_newunit "${FILESDIR}"/${PN}_at.service.4 "lxc@.service" + + DOC_CONTENTS=" + For openrc, there is an init script provided with the package. + You _should_ only need to symlink /etc/init.d/lxc to + /etc/init.d/lxc.configname to start the container defined in + /etc/lxc/configname.conf. + + Correspondingly, for systemd a service file lxc@.service is installed. + Enable and start lxc@configname in order to start the container defined + in /etc/lxc/configname.conf. + + If you want checkpoint/restore functionality, please install criu + (sys-process/criu)." + DISABLE_AUTOFORMATTING=true + readme.gentoo_create_doc +} + +pkg_postinst() { + readme.gentoo_print_elog +} diff --git a/app-emulation/lxc/metadata.xml b/app-emulation/lxc/metadata.xml index 8ec672d923c4..7381f9b17681 100644 --- a/app-emulation/lxc/metadata.xml +++ b/app-emulation/lxc/metadata.xml @@ -9,6 +9,7 @@ Gentoo Virtualization Project + Enable AppArmor support Enable support for cgroup management using app-admin/cgmanager Install old style templates through app-emulation/lxc-templates diff --git a/app-emulation/lxd/Manifest b/app-emulation/lxd/Manifest index 8bdf568e3249..335d094d2a37 100644 --- a/app-emulation/lxd/Manifest +++ b/app-emulation/lxd/Manifest @@ -1,59 +1,11 @@ AUX de-translation-newline.patch 717 BLAKE2B 0e06a23985c5e7485474de15ae086fa79c96d4fb9682abd1846b04cec8fd144faa10149703c03f415e659ecaf500ba58cd8b9733dce0ad803f2ec7683449fa9e SHA512 033ef2d794b3789761a9d7d8ad34b57fc90867b69ff860524a3a4492e738f476b5db85f682481b8f1bf351c6a65c95116e3b0bbea97d88b5dd6ec5cb4f93f2f8 AUX ja-translation-newline.patch 402 BLAKE2B 238fc0f118070b428abf7b7ce72474f3bcbb80ebbe82b78174e105f07b8f29fd0bf77bc29cb3063951c6ac64cfbf8dc04acde620758be2073657ec306c4b3ed2 SHA512 2992d43cd142ed9b5517c84bbff8b77ef0d7d95364223bb9a51cc26a0ee20184a326882ceff59bc0b0b992c71fe3118cbd7b964ec012b73b16636de4fdf78bd4 -AUX lxd-dont-go-get.patch 428 BLAKE2B fef476db95d5e3a2730d718b72725e5af86581dc0c25dc8665fdbf6c2914c056224f4f45318eea873f9ecb95ee33b0195f19b1d203fbce3bf8e1b8e7ced13b30 SHA512 eff965ddc918da9bf2bb9293b08a1aad33f1f7a69027767a74f8872a8eb045ef2a002536329c3cbd6730f1710ebb6f5e7e5c284121157e824a1aabef3a0de8b8 -AUX lxd.confd 589 BLAKE2B a4ee8e9643f7add254baf2f83900e15029577b69460818640220197af8ad56862c9c96b82d6a0c38bbe7023893a787b3eeda80e64359ed44863e9aa4c61cc07a SHA512 14892b2efa96f4938497a7ea0b7b2b7ab630b287c8444b666d24b4aa4fd7af265d2dcb91b4defdfa0b33da610cdc04dc3c8751f00df9209a7933bf30ea9f0790 -AUX lxd.confd.1 538 BLAKE2B f020d83375bddc3e88f752d4be49c65893901893eaa572f212c655f4d3c5631b41238ed917c70f16b4c092d82ced13011edd6e91140cda251ebf8745591cd886 SHA512 9ea61647a8da82bc595f78882adf5a6c71483c7adf8965d7d32016a67a0da6510f8dc3d09fd29f77d5f6d5f18282bca3b3b5c2abffaa67265a4fd4ddb07f31a8 +AUX lxd.confd 538 BLAKE2B f020d83375bddc3e88f752d4be49c65893901893eaa572f212c655f4d3c5631b41238ed917c70f16b4c092d82ced13011edd6e91140cda251ebf8745591cd886 SHA512 9ea61647a8da82bc595f78882adf5a6c71483c7adf8965d7d32016a67a0da6510f8dc3d09fd29f77d5f6d5f18282bca3b3b5c2abffaa67265a4fd4ddb07f31a8 AUX lxd.initd 853 BLAKE2B 0b48de1a596767db356850adcb5682c5c351e7477b0d49d81aebf857a01e4eb75067087d323ba4b5d6fbf8765a76cf161ad2cfaa0eba480fb86e91fdb95b0e79 SHA512 960aceb2845cc3b454b2f916c73273f4b1ec6f87e5d569c27c8c58e0db153c084e03addbdcc91dc8761fc6f0e306261d87db73f8610fda197e55f9ec6756fd56 +AUX lxd.initd.1 900 BLAKE2B a63847e61bdb0e3f835c6707a22a7771a9a679839f7d7f07965dd7005216b9adbd0bc0c7e8a2011320089492174d278a65913446c71988daf96cde3aa9ec93d2 SHA512 a8d0f8ce1fb7d0cf762b0c655b1c9907f8b84351d704eec324a485879468dc1f95bfd9873ddf0d387ae524a27bcf8e4cf0de444ddf7f1c3eb88703794eaab2f3 AUX lxd.service 174 BLAKE2B 8686d57a79fbc3a9ec2e1a3197012599a5d6b81b62188e779cdb9a86f9f413fa485090c79dab8c4aa8891e0e35604b85fb1cdb1da313918b34a974b61699b24a SHA512 6f9d71d5c08c49653f28511bc793d1365604af6bf105789caea27f4685d721fbb283f888e3b7310997b73ff2fc5bb1a47e7500c4678cb3d39124cab723523140 -DIST github.com-dustinkirkland-golang-petname-d3c2ba80e75eeef10c5cf2fc76d2c809637376b3.tar.gz 15127 BLAKE2B 06338b4364d9554a1334c04bd9ea81df7539641ef5ce41d681670b7b65c06160ef67e4bd3ad2529dc7864537d5be6a91be53c5e96335f5dfcab198a8bcae9a9b SHA512 0f63f01857c30fdb179400b80e4391a12675ed17a981e9f55273fcd44e06df3bbecc127cf80bfd73afe1d4c30cf37638d0b581b2dde787abe2c8835dca8dbc2d -DIST github.com-flosch-pongo2-5e81b817a0c48c1c57cdf1a9056cf76bdee02ca9.tar.gz 59915 BLAKE2B 763403cec3bcb27acd6654e7d2d57d198862b0d16c242ec975b46a7cca95560505b3373e8c4b7a53e7fc025523845bee16b90311f8bd341c0d2bfc28987ae0d4 SHA512 c40fc45b7a781067cc80a616b5a843977ff29071f7b36400631a7445d6fd8530144e73ecc1f406b2315be0725a214c62bfafb44f904b76d83384d8df488380ee -DIST github.com-go-errgo-errgo-442357a80af5c6bf9b6d51ae791a39c3421004f3.tar.gz 7453 BLAKE2B 9f231836718860c023a487d0971e152656e0ff39dcd5efdfda8c62577dbf4ae82335bada308d44a4d0af5ec951e5608f40bb9e0a7567c1edce35664c98596744 SHA512 f54cdf5089b7e46f08f75f7f1b0bfb893b1cd0a36d08b925d5ba04d2fa6021e85fe0625235a9e712b09099e2f5cce46aa1700d12c12b0c54ab59c8d13030e820 -DIST github.com-go-httprequest-httprequest-fdaf1bffa25560ba0920e3e29aae85d3677ab32e.tar.gz 52964 BLAKE2B f0dddcd38b9f8ac75a3e45473e22cfab1db88bef19f90431b16d1a3699ab56ef7f0d038ce837c0305600d69bc5ba64dffd344143cd0bc4a10aa5093ca32b0771 SHA512 60688f2e320afaeaeb824226bd586b9e9d7ccde00d9585401ac328d83195a23dc3e4e26b1848bc9998023b732a559963920860f21056416161c31304388aad4d -DIST github.com-go-macaroon-bakery-macaroon-bakery-ec9d2ad6796100720c154f614b6dea8798ec1181.tar.gz 124110 BLAKE2B c05d59504f7cd2d0cdb913b1d06898375fce112e71a1db0c1752628bc9939003a92ad608463cd0e1fa8d75945b9b5a76c0710ebb3ea126cfd67ea01b46229bff SHA512 2965b6441df2790e0378b962fb66672e2316902620223e4ca3a8ddf1ef38e2a76b9cda2a5013e664ef49073aed8f424e1713538626f6ce1929e81e3bacbef45f -DIST github.com-go-macaroon-macaroon-bed2a428da6e56d950bed5b41fcbae3141e5b0d0.tar.gz 22383 BLAKE2B b2d89ccdf4ad0a8c29f44895697a9921d40b9316879f477f608fc5f59683f825a66357e5587d654a55ea80f0c79d6680f5dbb45590b2fea051fca4a7f23a9eb8 SHA512 7ec072cec42266cf8cdd44819c653b8d09b58622fdfa42fb12422c9727e6eb7326519fbeb247fa4840d8c87a5357ae0acd028a8d5757acedc3582810a5cc467b -DIST github.com-go-mgo-mgo-3f83fa5005286a7fe593b055f0d7771a7dce4655.tar.gz 376880 BLAKE2B 800038e0870d8b943604bc5edf9ba566d20fed75f445834801955a19da6add891f96cbf5e19a93d520d90ccc4e9da911ab02cccb710fee67b3fe60e4409a717f SHA512 f0e7948d4672d29d3d0a741961ff8a75d30c556e157698118a32de10e2af8eb2ae6a61feea1c93aff313596d285a048a70dae7339c66760ebb91a1aecfb05845 -DIST github.com-go-retry-retry-01631078ef2fdce601e38cfe5f527fab24c9a6d2.tar.gz 9318 BLAKE2B d5eb408e4c4acf0c2304d951705a1f39f2b2663357f04402f5ee47bfc79182511e3a29568846bb902887aa5efb149ac6a4cf32ecae07a183f845ad8886fe0377 SHA512 71956a468472754313830a7f1afc844020e5ffc8bac4464e369562bde8c1cf5e11814fc110dcb00d243cbc6c13fe7a0423d29b73f0f420df8313666e645a7a24 -DIST github.com-go-tomb-tomb-d5d1b5820637886def9eef33e03a27a9f166942c.tar.gz 5515 BLAKE2B 9ae2c00b43da5958392e0817f448d01374712ce7552c07be0de8204a7f16a7442b195695d51782a375da7aaa83019446438d52a8768317216a7812380be8c1b1 SHA512 03ac20f7608db7c4ce54cc1ad9dfa62d770c32e1806a131909cb5c1ca4a9708b482e58d0e1bda0dbaff56ed36558a96ce2d4453566813967a32eef5245012a8d -DIST github.com-go-yaml-yaml-287cf08546ab5e7e37d55a84f7ed3fd1db036de5.tar.gz 64826 BLAKE2B 47e9182124037317bdfc31137a2715db979146688e637a586f5a7c4a12250d0fcffdbbaa8793e189421d189b1071f48d8588cfda9ac1f3e297bfc244f30bcae7 SHA512 429256bb847defb53dee5c960edc726455397045e7dc2e4833e0e9088f9ec11452e2198961080dc00b8eff9d165df5e0377f4039932df0e46cd960827b8f800d -DIST github.com-golang-crypto-d585fd2cc9195196078f516b69daff6744ef5e84.tar.gz 1443268 BLAKE2B 19bb8d2861225a14ba3f19b2ae96c6640833fea7da52228480634e715b7690afc94e605a5be1b70b263bb3045a0fbcf9f78211c431836d077cca7d076fec1686 SHA512 e82f87394d2a8d96779cc69c8803555b5d23eb02f3d38101ccb9142a892280c32b8123d61a309a041cf5034282b5269ea38b5d29e03c85ca3c62c4fc0802502e -DIST github.com-golang-net-d866cfc389cec985d6fda2859936a575a55a3ab6.tar.gz 930024 BLAKE2B 9ab7175433046805426177276d963bdc356d488672e97cbd696e7d73f376af50a71ed5e8ba8c57e57ad0c6aa091bc8a54b1e67f09cf0085211363f4c33f077c5 SHA512 c841b5ab218f1ea6c8743264c72506ffa90372a7c8dc0fa1b1c22c965bf56e715ecf688acd22b5ecf747b7ded51f2f48fcdc859e4ce9d30911f48e3a6055d599 -DIST github.com-golang-protobuf-1e59b77b52bf8e4b449a57e6f79f21226d571845.tar.gz 268477 BLAKE2B af1775f715a7c8434fe46872d8edf75241c851fb93e1e3f888c5fa1b603397e68c3878c9c69afe618ff1b7ae3d0c219ec96b8648af2fd2c2c9424a33f1710a2e SHA512 07de72078a66528d864da78c88be36351cf79be5235ec9f4ed1d71061a56b9b216fd29984ccfb2a610223a86b80aba2b9ca28a0d36fc2346b23070e25e72e29b -DIST github.com-golang-sys-571f7bbbe08da2a8955aed9d4db316e78630e9a3.tar.gz 789287 BLAKE2B 65b5dea36632e0521d0bb8fb73ae69b89eb533628081f966da956d5f572d9611e817202675aaeefc69492428401067094e1c07cd038cba91bea7e50649b95fce SHA512 7fa096e1a1282155b614c02d3d190fdd94096d2e51447b4dca59dba255edc9316835036e0cc91aa7439047c17e63faf279018e0f6c9e8d2b0b9a12c7e553a93c -DIST github.com-gorilla-mux-5ab525f4fb1678e197ae59401e9050fa0b6cb5fd.tar.gz 33298 BLAKE2B 06f86b8f5a2794ac62a8088495ea7f62fc2e1afbed94d9c700be7ca00ab13fcce092b83e456a022893c46e7447e36f210189ed136271e34028829cac01058713 SHA512 a0e920b3aef17e2c81861343f41f26fe1f579a6589abac89fe00cdd2167f5f1a6fc0e2a1b2dbd69d0b3ea7e08f3c50297f0b7c952043259a220ec95b2ceb30f5 -DIST github.com-gorilla-websocket-cdedf21e585dae942951e34d6defc3215b4280fa.tar.gz 47287 BLAKE2B bc5baecc1779e821841c2b784aa7f43ee9e7a41ca2079c79538447a7645fbf5e87ae981b744ec973345da351114ea133f219d9ac1af5accfe470e8cdf1fca169 SHA512 88b7c5dacff563d88d3d4e06f57e2552ce10108beb239844323f58ff7829c9b717a8023e45805c5a9f649bfbf513d0384e0fab722968936deddc236048306686 -DIST github.com-gosexy-gettext-74466a0a0c4a62fea38f44aa161d4bbfbe79dd6b.tar.gz 9682 BLAKE2B 2f8f662b5cfcfc00361a1aa1e658bb077da7dc42b220288691c92a9ca6555425a13f15b8fd8575e88ba8081e873687fc87b3a39c33efc80757323f7e70de17b5 SHA512 99a00ecfeb4226bba01dbef615f02b22f54959252c9fb99ed55f8c040026305fa54256f78eceb5c02ac6a77842c72fda43d1790590adfdcf3202095ad836a198 -DIST github.com-juju-environschema-7359fc7857abe2b11b5b3e23811a9c64cb6b01e0.tar.gz 17589 BLAKE2B 9c5bda709623cf05123ec0435af3be8017f2d1b2a296e1be3a1a98eac410bc38ab3c3d98848725707cc407b1c42a48f784bf69433854191a83bbaddac356f0c8 SHA512 ffc9d445c01c3b4d810320b3ff230226f6de1beda50660b3ead7eb2b5a0098661aaa4c929bd36b1acdc442d4504dea6c1b12ad94b5a8d0c1e7f79bdfb2abe4d9 -DIST github.com-juju-errors-c7d06af17c68cd34c835053720b21f6549d9b0ee.tar.gz 16210 BLAKE2B 7202acb00a3126943989fd276b9991122895dcb99a5b6e6a966f58e634b037447bbf49316c6c59e98aa9183b77aa07d9b4c4c7ad758ade2704cc3cdcac84a9c7 SHA512 04dfe2f155724d98c31fa2d274a13e77efc34364ffae172fffbc8e14b72f68a6301e6f582c1ff9f37cb105d11a7b3197e2ffa635f410ffb64d54e7c6fd1b9d1a -DIST github.com-juju-go4-40d72ab9641a2a8c36a9c46a51e28367115c8e59.tar.gz 49363 BLAKE2B c037d267cef945e9760cfb8fcfb366553e850423bf98610db03b51154455dd5c6d2d3de91bf37956249f4ffc1ed5fb850b0438fcdea2891929ab4e7de73be989 SHA512 aca20234f5693a48f5cca41eb59e8e2b1320feec05a7961a950e596d9bcc14ed86786d815e0372cced669548cfa9386e9bcf0eb774a42954fd7a2fd095e9890b -DIST github.com-juju-gomaasapi-663f786f595ba1707f56f62f7f4f2284c47c0f1d.tar.gz 101563 BLAKE2B 5ea442af00c6a30ad54e2f75eb2da41c29fb24364b00ab8bd8995f1b4ca2205b32e1d90fcfe03c7517884b4ef830c471e03a118b89f65c21388332027fd8e0a6 SHA512 edca0adf9f48f1c656236203c8686b67f5926f736725a7d910a47804f5005aa642bf1cc8e5a9079c5c50a3cfe6d0c735a645e52a1aa1da5380735f76be9b1436 -DIST github.com-juju-httprequest-77d36ac4b71a6095506c0617d5881846478558cb.tar.gz 49764 BLAKE2B 98a666f5477f9cd46baa13b19918cd07c5b9f8f94390d87a67230331ffd292de99a430ecb5588de045cc2573c7dbfae0c40fe043778d6917f4dcfbcf25cc8961 SHA512 9ab66aebaa650c7d67accf9261f4eaf2ba28ff37846350719b0d83774502b29fd4b179913669f0b833b99142905b4892b71ea76d368c707567e8b4b01378d27f -DIST github.com-juju-idmclient-15392b0e99abe5983297959c737b8d000e43b34c.tar.gz 28723 BLAKE2B a15138e673a26600fbcd8c36a34bcd3e7e904b3afa306fde7d59eb72fc454be797d27f0c05221d290aebc09c5db5f80b458d9a85cfb68358ad17d834b694abc5 SHA512 65d5e8af7873f856250843fd43b14ba8c8ebc114a8fe9734d4073db5dc046079c7fbed9cc3c78aad4c74f886aeb9009c00a009bc6e683f6b5f8162e25a7af7d3 -DIST github.com-juju-loggo-8232ab8918d91c72af1a9fb94d3edbe31d88b790.tar.gz 22060 BLAKE2B 9e6c4cc2ab50ea43f5471510d67f0f134bc2046c3524d571bf4c884a4c09f5df160f4013cf8e05939cddf039c687b3dce512408f7305f320f4b1d17cf209609a SHA512 74ccd8f6f8600a38154d6a12436566111f4073fbbcfa5f0eb57a1813ddd97398d6e906f0b9be09a4304f677870ee70127f4906e9902dd6d767e3ef467e224883 -DIST github.com-juju-names-54f00845ae470a362430a966fe17f35f8784ac92.tar.gz 26092 BLAKE2B ad9f347ad1e2315f40e39ff0601e425dd4567ae53a71884e851a954d08e67df586469e489645951b6c6058a9c4be053089c3c74d3f63208a70862f269261a7de SHA512 de1a6d8cdf82cf19f11354e98a69d1580f4717c92479445f750ac06ef918804e1d35d994e480bdca64b1ecdca91533ec4961dc057bee0d886759f1ade0e87d07 -DIST github.com-juju-persistent-cookiejar-d5e5a8405ef9633c84af42fbcc734ec8dd73c198.tar.gz 23237 BLAKE2B 16eca916ba084dacf905d61f66f9d6ca4f5041a49b3d8849bf2c3f5182db89f29ea9de5fcbde45d8fffd54699c150710447216db0d356cd51eaf784290429ebd SHA512 4e534e305b9433974fc3b5fac6aadad9430ca5b8905c733913360b2a7ee37aa504a546fc1413d43af4938143132618db9890cbd1d22b3a5b91475680a4af84ca -DIST github.com-juju-schema-e4e05803c9a103fdfa880476044100ac17e54830.tar.gz 11859 BLAKE2B 86ac989a6426f3faf791494b319668c2cc86a82ae645301ca6855b50f9a26ff3ccbc241d6d1be261c5d2548952479c9b8ce1ff2db2a335e7b8f71539d42a7a0c SHA512 b9097f06b220c7db1b2fc4305ee28540dc66ff4b8eff7e16186c241430264fb4dd6e190c90fef91543072bfcb6681a5ec8215e890c522297dbbf25aabfacb154 -DIST github.com-juju-utils-4d9b38694f1e441c16421e2320f2b2fbd97fa597.tar.gz 207854 BLAKE2B 284c0990484e76ecca5feba7e40700bb0315e855618554068f9bd5606372242ac49123c5f5f7b4c59e6c16331b07157aba3eec1e7d2589e70a1fe11f24c5cb45 SHA512 5ba34b5804f661c56b8ea94dcf17099f77c061559e859cc0dba057f7aede0998ae55cdf77abb0693b6d44eb7de8dcf1449a7cc4f644d03f3649e5e8575d297eb -DIST github.com-juju-version-1f41e27e54f21acccf9b2dddae063a782a8a7ceb.tar.gz 6965 BLAKE2B d90780eed7a910c07d33e4debc5e877599935d6e377bc19560aeb46c83f93fe90fa323b9712a23b6ae4e4e78fba5c4b1aa9b2be308527b265493d8e25f363605 SHA512 80406755558ad1d1101ae93db00405d8305ad5bddbf3124f86e955ab351d3e7882588b7d13dc605f04413fc961f4fde5fe228058d178bcd666b377c9066f17ff -DIST github.com-juju-webbrowser-54b8c57083b4afb7dc75da7f13e2967b2606a507.tar.gz 3930 BLAKE2B 58b8a759379dd8bd25805c41813d8ac6dff16253ec8ca063a7d93eeeaf7741451d08cebcd323299a8f828de7e87b2db3df63f3f31188eabd6862ab9cad4cde65 SHA512 ac04ae3adaa95fbd3278019629dd6ed12070a93697217098b1755998cbc6143c606e8176c172883fd27d55cea35b9877877b88a7fa5dd6dd4106477744c0b013 -DIST github.com-julienschmidt-httprouter-e1b9828bc9e5904baec057a154c09ca40fe7fae0.tar.gz 22461 BLAKE2B 159deb9cb8fe32f165bf96b9240f68c0fbf35873b6fe9f05c351f690e8a3713eed8a048fe2d917dc0f3622d0c4b84509771f20c9d4eeff8d380bd8b841d19748 SHA512 a8e1610caa188bcde29a603c05e2cc6914949637d17d4f8d7d0efa51edc4c348767af7fdf3072365ed2f26e0947112a5521a88fec383697243a85061b741462c -DIST github.com-lxc-go-lxc-a7d112aed2f5f57f565d6e557671eeef7e76811c.tar.gz 38226 BLAKE2B 62ad90e0a0ae511b8b94857ad8be761f3d8fb0678ee67321934a2be6a931b6623822c51a4f304e59127008d75f5d44a7dd897d35591e6414b906a16c45232466 SHA512 7c2fffc303e4c8f89676e9a704f64698f2c7e35bcdb7376a9917d89e611dba06a8a42267edd58ad8ca099f43cbde41c0c6a99b6950c0bbcdb9f49296ded4da50 -DIST github.com-lxc-lxd-a324ad91230e5353fe746d06636dc59211122e6c.tar.gz 883109 BLAKE2B 9f4b7cf665fe693addbc56b721e0a02e8f64002e7e8bfa2d9a084590f7076c6e991db22a60d4b4070cece7f223fefa5f8ca35a68121edee8fbc9bb1437fb9c7f SHA512 ae1f43fef4a33e48f9c2a002a5e32dd7177eda78449180e147b2b23c8442bc5ad3def120caf2a4e494b4e4b6f1415c51af999fa7c838e3710ce046e3f653b03b -DIST github.com-mattn-go-colorable-6fcc0c1fd9b620311d821b106a400b35dc95c497.tar.gz 8152 BLAKE2B 1bf8a085568b775c6aba6ef292be680e0ac522434b8563936f3061e8d44096b7a17e813b6b9818ecc3e5b3478259c1f364a48182cf46906336fea852e345d45f SHA512 da35fd75832c039baeb089dab06565ea7bda0eaddc14188a1ad21306b268322fd53f01cd48c652a0bae947139d8c8eb0086740edfa1ce7463625a9c9b2d9180b -DIST github.com-mattn-go-isatty-6ca4dbf54d38eea1a992b3c722a76a5d1c4cb25c.tar.gz 3383 BLAKE2B 2034048312c4abc88a813d8ad83013f57e9a23477ecd847e92c3cf30e909e209f9a65acacf41d80b3569770c1400e338115c42fd48d358b66f68ccde69a9008d SHA512 1714a9e9ac7ad2ff30825328723b4c9a5c5f7544e876c6fe79b84c72ba1dd9bfcd6ded2308f6fcae8f1c893d22b84d6c72dfd30742edaa2a5b0d8e88eee27421 -DIST github.com-mattn-go-runewidth-97311d9f7767e3d6f422ea06661bc2c7a19e8a5d.tar.gz 22406 BLAKE2B e9f1d0da4d69c110a9b9ef0ec640dcb53bcc101288b15411367760b5710808f64eb8fe6f0d61f77ba89cad2f965da2d4f72d92e42a07986e1cc39777a050a8f8 SHA512 0452fbc64250169ea99fe4eb4e2ef4f81c7bce5b77572789186f749c9c502c29c7146f7ef57971b6b78db0abe33e9926931719dd610f59925e31e6dd6c0b8d70 -DIST github.com-mattn-go-sqlite3-d5ffb5c0cca8778699a929b236766f4a7af674e8.tar.gz 2071644 BLAKE2B e2aecc6c65f68120682afec947740c4c04dc464d09b19f92bcbe1660cc854be721d8b73734eb5aea701426336c88194768dd28b83ce96b4cdb1d1343105d5bda SHA512 daba1d9cfbed25f92fcedeae7588f31bfe8ad1eea30ae7e24fa4a83dee015f06858b05d6ead61d5a22cbf477070a275767132c030eb4697640cd8acd99816fe9 -DIST github.com-mpvl-subtest-f6e4cfd4b9ea1beb9fb5d53afba8c30804a02ae7.tar.gz 1066 BLAKE2B 15c502a85587ed58eb293667116bea860d9ac4986f3b0f13c695cf7de922a1cb1f574c4ae036e63e9caa56d93ba84055ce44eff862a8671d70a35ca681032970 SHA512 12668278478ea7e321ddaf46beb766d5607a9446a108550400c129754f7a701673e4331dc47336d75dab3d403d371656e72ce80555adc36d5ca708420fdb72c4 -DIST github.com-olekukonko-tablewriter-65fec0d89a572b4367094e2058d3ebe667de3b60.tar.gz 15185 BLAKE2B ba0e6cb42e67fddde9d4454c5757128842290daf6356bf44e05112d3759ef9373ae6ac7b82909f3cef7a31ac2b2612fc222861ca3f65190b24f80da9e2e0fa8e SHA512 48aa8d3e5795dc1d16486a1c418b60e51da254091081bc82116a66a7eac277c34814e0d8e598a7946dfbbc851b94a31d6d7e8032eb427bd858a5c3f56d3edbfd -DIST github.com-pborman-uuid-e533369306653d193b93dae055f6083cbf8ba54f.tar.gz 13157 BLAKE2B cc68f4a5f2d1e753d9aa471a4f5cde6dc38cc88b8e4558068701415d89cb7410b79ebd39a77152848b4f30d6af05dbb07c5a9b0c469822ef703d7419c9281b7a SHA512 e1142c36ee10c31c35dd82fec40376f83540cd2b30a0e250e83fcc1aa2f4133cd13c76338c82e6619760fada05be5b62b87ac7958bdcca736459dbb77535a4d0 -DIST github.com-rogpeppe-fastuuid-6724a57986aff9bff1a1770e9347036def7c89f6.tar.gz 2506 BLAKE2B 457d346a717b9ca9b5374369810a11d5e298949d6681e28a0e8cffca1e3e7d160eb67c3d607aae224f0865ec4ed4b0b21c11d9f316295f31efdf21cf4f70bf8a SHA512 ab6c7d2e32d9b72b4495e9465c03b0b97e1a869f464eb49f3eb522cb04f65b2a45f5359a52ce71af2f59cfd986e0d58a0a76dc02c2583ac46eb0e33efd425dd7 -DIST github.com-stretchr-testify-2aa2c176b9dab406a6970f6a55f513e8a8c8b18f.tar.gz 94502 BLAKE2B 11d7fda9655c364de7c05a1ff0a2ead4b18261b016be89d66f118c6afdba7795bf55b54af64090121a0f789ce8708a85000298a5f032d3d578c36483bf64ae03 SHA512 b54e5d558d8419f1a5110c9803d8d120056264b4ccf0119207c1461a650c1a48fad35b4a6fdb681459be51f8bd6a728097e6c7c86bce0c0d828234aea6953ee0 -DIST github.com-syndtr-gocapability-db04d3cc01c8b54962a58ec7e491717d06cfcc16.tar.gz 9899 BLAKE2B 584e75a9c47d28498aedb5c85b3409c79c84ec9fc47a5a9dc77aa117b4e48f681f72a12a03fafa566a405def40b4961bb7343cad0c6ecb3cd9da883a51ed20d6 SHA512 fdd8a3cc1add7570269df6ad8867fd9d2da7bbf751416a5376ff123dcf959be13912b766f5214123e20fabd242a629e02f3bdaf0680782805afb81f6f08a78ae -DIST lxd-2.21.tar.gz 882352 BLAKE2B 80542bcc03c05667ee0207dfbfd2bf41c5a6ef69178aec06ad62fe3521ed012ed9b82c68c0254e0299e8e1dfd274a0622f32bde730480a950ab6ba15ddae5f4b SHA512 9a8ec3a97e4c861a80311dbdecbf5a485c0af85d6ba6b20680ca17e6ac877de3f27cfdcf0a111ba0db2b7c562dfe2f41336b562b7c13350c4543505b3c17357e -DIST lxd-3.1.tar.gz 27979442 BLAKE2B 0b74e3f76a7ab835b042b52b469a6fe11e7077d567e0658d13fab2192fd25d99518d65ba319c981a2e4677319e280cccae26f70ef99e9911264dc028ca5628fd SHA512 61f64d08dd80f7f676f386912f4dfc0d0af38cce0287de7865123b9da667b54ab91d22b76ffe03480e04ae0fbd8dc837d7d519d0e34409377c3d7e6624bf636c -DIST lxd-3.2.tar.gz 28183660 BLAKE2B 9aabc9fd0bd66d3b4e0178448a65ca39c69e4e7a14d01309e0e023501de1c17b2b7887a9da5b84fcfde27db3f521cce3451beace9955232da9bd5e5136bc0043 SHA512 82c37e87d75e328a29b1f2876a24fedec43a253bb72f3ea55fa9cdb928d11947eda723a01e758f90ef77ed4492f86ec6dd5f1f88240d05e771d926dfdc9888fb DIST lxd-3.3.tar.gz 28414680 BLAKE2B 7f3eecf400761548935e6e3c81d894379cd667ffbe6d8ef67a7dd3ad4f1c13846f524fcefc4cdc306674fb990706bda0b2c4ef390f320c41561fa86cf610586c SHA512 ed5d792c1080f2be7f48f34051fbfa28d138b4ccb5405edb13cd630776ec34312da491a1881f77dddbe1a121e589b44952e73ce1e61f2cba72243f3b8f4c0177 -EBUILD lxd-2.21.ebuild 7883 BLAKE2B f933f15dd551c335bbe7cf95a9dbe35f4b272ff720e7aa080f984705e899e5da47c4e6f0617860896467bcec481a50591f6f3c0f731f1f2ff2df0178aaaf8882 SHA512 27167d7c8a2dc7aa988016cbb90bd3ae272732a709d8938ae3b77ffbacf12b818df27bf1ddaec9c3372403ad1380dcc7b9df6f8bce237742d02fb881b60aa552 -EBUILD lxd-3.1.ebuild 5334 BLAKE2B 14511c25eb06a4c72ea07c3f297aaec32c9d1dd78248620c6f8326f1b74fe23bf4b149041ad23381c8d196da2a3872b83da53255c98234263b9de39618bfb739 SHA512 f7e998cbfaa91ce34eda0e1694091a51da236dc5d82e10380f66484c0c1454dd852ad5af605e8280a9f03c30aa35292c88014d9393b5a9a29ce12d24ff1831fb -EBUILD lxd-3.2.ebuild 5377 BLAKE2B 504f1656d7e12e51651198100973e398ceab70c04fcce54c98e5086f3358c60a87c916130d2ed1423a1578c91a0dcea9aa653c139790c7b754d9d7c70f454867 SHA512 2ae8e8837c1ab9694c3aaf6495252567bdaa866ac6b4b6781e1bb9e7790069ab29855d1280a9cd277c5b09312c3dc81d4c4127bee004848060350bccdf772262 -EBUILD lxd-3.3.ebuild 5443 BLAKE2B 6e73f0272c1415f7f17224bd610644be5489d87c7aee4addb054abf67d0619d848a8160864331afd1b6110480cccfef27b6aa631071539fc704a6ea9f9672394 SHA512 ba13c312f9f0dc9aca75119c1246fd7ceb97a6ffe5fdc95ee3e611ab027efe5e2fc57d0e40f32952e44a15e91a4bc3798a19b142135e31e9a334e6e076a6a030 -MISC metadata.xml 966 BLAKE2B ea90426aa76918bdf1d5a90d07ad3626990cce2d7161f104a0793121aecc0430750c0e1df5fe973d1304dd6d1077b98345d489989875d1a83c54185ded58fe60 SHA512 4f95b628aa3467ba6213758bfacdd8d41922307d11c51bee12ad3cdff568ac095a0147976a913bacfa4625cc9e6d5f101c68f1077d7d8acac663c06d4411d1e7 +DIST lxd-3.4.tar.gz 24313641 BLAKE2B 6f2db8a690474d020a0d43366e940760c0886c8af60e17ecc6bf1f9747d8454d09d619b723b1794bec503dda82028f7d81edc2d0c33216cbad9c810f2657198d SHA512 f041878fcfd2b45f594d97e748272d44c517f28e181861a604bef23f858c4bd59cc93ac56c24cce6d353743428b66940f11df268ff9f66e83a5c8f1fb95dc3aa +EBUILD lxd-3.3.ebuild 5440 BLAKE2B 94950750d974e4c76698d9daeda6e74df5b6509314e14ebff9a7607bbad02ac6a1971133c5ccd6e297f48e73654fa7e79c033658cd6504bdc7835c94ac65a7a0 SHA512 2b6dee232ebb7b07b30396b21a679a0b60eed4cf36a328fa84688eb6520563cc1b2fbf5ff9ce6fc2dc09efb14fe3f79a29733dda6cde709bf7711fa11c9eccdb +EBUILD lxd-3.4.ebuild 6442 BLAKE2B 852da44b8ee89fbe4fa9a62d7f9f15fc87f32686a35fbd31beec76d77604d4888c82757ef74a7fafbb82f777d141504fd03dce1b084063969d6954701e5cd853 SHA512 c7f363f90832fffd123f51c0305b514d9f43fdc82145712a7d0f2374e3a9bbe0806cc8468caffcda307cfca9fc57201d203b9e744861f3459e560873a6e1dfcb +MISC metadata.xml 1033 BLAKE2B d50b256487cc43a6d9e529edaafedb5f7f4eb1bb3ec4a8eb5f8ad892f865652e6dc100fe699a5b07a55cbfb5f32ed8127cbc2e9e68befc2a37f4e1d24afbfc78 SHA512 82684b99e51f524ed8201eb2439c4aaadd1a6403287be2febc908c16290f412930fe415d6a1a7e3712b9fbf64111991b01bc74beab07a745c78e4072698aa81c diff --git a/app-emulation/lxd/files/lxd-dont-go-get.patch b/app-emulation/lxd/files/lxd-dont-go-get.patch deleted file mode 100644 index a6e25e325b95..000000000000 --- a/app-emulation/lxd/files/lxd-dont-go-get.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- /src/github.com/lxc/lxd/Makefile.orig 2016-07-11 23:34:40.299664675 +0000 -+++ /src/github.com/lxc/lxd/Makefile 2016-07-11 23:37:00.816018727 +0000 -@@ -13,13 +13,11 @@ - - .PHONY: default - default: -- go get -t -v -d ./... - go install -v $(TAGS) $(DEBUG) ./... - @echo "LXD built successfully" - - .PHONY: client - client: -- go get -t -v -d ./... - go install -v $(TAGS) $(DEBUG) ./lxc - @echo "LXD client built successfully" - diff --git a/app-emulation/lxd/files/lxd.confd b/app-emulation/lxd/files/lxd.confd index 3d553276a5e3..8e342cc62d16 100644 --- a/app-emulation/lxd/files/lxd.confd +++ b/app-emulation/lxd/files/lxd.confd @@ -15,13 +15,10 @@ LXD_OPTIONS+=" --group lxd" #LXD_OPTIONS+=" --debug" # For debugging, print a complete stack trace every n seconds -#LXD_OPTIONS+=" --print-goroutines-every 5" +#LXD_OPTIONS+=" --print-goroutines 5" # Enables verbose mode -#LXD_OPTIONS+=" -v" +#LXD_OPTIONS+=" --verbose" # Logfile to log to #LXD_OPTIONS+=" --logfile /var/log/lxd/lxd.log" - -# Enables syslog logging -#LXD_OPTIONS+=" --syslog" diff --git a/app-emulation/lxd/files/lxd.confd.1 b/app-emulation/lxd/files/lxd.confd.1 deleted file mode 100644 index 8e342cc62d16..000000000000 --- a/app-emulation/lxd/files/lxd.confd.1 +++ /dev/null @@ -1,24 +0,0 @@ -# Group which owns the shared socket -LXD_OPTIONS+=" --group lxd" - - - -# Enable cpu profiling into the specified file -#LXD_OPTIONS+=" --cpuprofile /tmp/lxc_cpu_profile" - -# Enable memory profiling into the specified file -#LXD_OPTIONS+=" --memprofile /tmp/lxc_mem_profile" - - - -# Enables debug mode -#LXD_OPTIONS+=" --debug" - -# For debugging, print a complete stack trace every n seconds -#LXD_OPTIONS+=" --print-goroutines 5" - -# Enables verbose mode -#LXD_OPTIONS+=" --verbose" - -# Logfile to log to -#LXD_OPTIONS+=" --logfile /var/log/lxd/lxd.log" diff --git a/app-emulation/lxd/files/lxd.initd.1 b/app-emulation/lxd/files/lxd.initd.1 new file mode 100644 index 000000000000..b6d3cd4eb264 --- /dev/null +++ b/app-emulation/lxd/files/lxd.initd.1 @@ -0,0 +1,47 @@ +#!/sbin/openrc-run +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +DAEMON=/usr/sbin/lxd +PIDFILE=/run/lxd.pid + +extra_commands="stopall" + +depend() { + need net + use lxcfs +} + +start() { + ebegin "Starting lxd service" + + start-stop-daemon --start \ + --pidfile ${PIDFILE} \ + --exec ${DAEMON} \ + --background \ + --make-pidfile \ + --env LD_LIBRARY_PATH="/usr/lib/lxd" \ + -- \ + ${LXD_OPTIONS} + + eend $? +} + +stop() { + if [ "$RC_GOINGDOWN" = "YES" ] || [ "$RC_REBOOT" = "YES" ]; then + stopall + else + ebegin "Stopping lxd service (but not containers)" + start-stop-daemon --stop --quiet -R TERM/45 -p ${PIDFILE} + eend $? + fi +} + +stopall() { + ebegin "Stopping lxd service and containers" + if "${DAEMON}" shutdown; then + /etc/init.d/lxd zap + rm -f ${PIDFILE} + fi + eend $? +} diff --git a/app-emulation/lxd/lxd-2.21.ebuild b/app-emulation/lxd/lxd-2.21.ebuild deleted file mode 100644 index caefa812216a..000000000000 --- a/app-emulation/lxd/lxd-2.21.ebuild +++ /dev/null @@ -1,224 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -DESCRIPTION="Fast, dense and secure container management" -HOMEPAGE="https://linuxcontainers.org/lxd/introduction/" -EGO_PN_PARENT="github.com/lxc" -EGO_PN="${EGO_PN_PARENT}/lxd" - -# Maintained with https://github.com/hsoft/gentoo-ego-vendor-update -# The "# branch" comments are there for the script, they're important. -EGO_VENDOR=( - "github.com/syndtr/gocapability db04d3cc01c8b54962a58ec7e491717d06cfcc16" - "github.com/dustinkirkland/golang-petname d3c2ba80e75eeef10c5cf2fc76d2c809637376b3" - "github.com/juju/gomaasapi 663f786f595ba1707f56f62f7f4f2284c47c0f1d" - "github.com/juju/loggo 8232ab8918d91c72af1a9fb94d3edbe31d88b790" - "github.com/juju/persistent-cookiejar d5e5a8405ef9633c84af42fbcc734ec8dd73c198" - "github.com/juju/utils 4d9b38694f1e441c16421e2320f2b2fbd97fa597" - "github.com/juju/idmclient 15392b0e99abe5983297959c737b8d000e43b34c" - "github.com/juju/errors c7d06af17c68cd34c835053720b21f6549d9b0ee" - "github.com/juju/go4 40d72ab9641a2a8c36a9c46a51e28367115c8e59" - "github.com/juju/httprequest 77d36ac4b71a6095506c0617d5881846478558cb" - "github.com/juju/version 1f41e27e54f21acccf9b2dddae063a782a8a7ceb" - "github.com/juju/webbrowser 54b8c57083b4afb7dc75da7f13e2967b2606a507" - "github.com/juju/schema e4e05803c9a103fdfa880476044100ac17e54830" - "github.com/gorilla/websocket cdedf21e585dae942951e34d6defc3215b4280fa" - "github.com/gorilla/mux 5ab525f4fb1678e197ae59401e9050fa0b6cb5fd" - "github.com/mpvl/subtest f6e4cfd4b9ea1beb9fb5d53afba8c30804a02ae7" - "github.com/olekukonko/tablewriter 65fec0d89a572b4367094e2058d3ebe667de3b60" - "github.com/golang/protobuf 1e59b77b52bf8e4b449a57e6f79f21226d571845" - "github.com/julienschmidt/httprouter e1b9828bc9e5904baec057a154c09ca40fe7fae0" - "github.com/gosexy/gettext 74466a0a0c4a62fea38f44aa161d4bbfbe79dd6b" - "github.com/stretchr/testify 2aa2c176b9dab406a6970f6a55f513e8a8c8b18f" - "github.com/mattn/go-runewidth 97311d9f7767e3d6f422ea06661bc2c7a19e8a5d" - "github.com/mattn/go-isatty 6ca4dbf54d38eea1a992b3c722a76a5d1c4cb25c" - "github.com/mattn/go-colorable 6fcc0c1fd9b620311d821b106a400b35dc95c497" - "github.com/mattn/go-sqlite3 d5ffb5c0cca8778699a929b236766f4a7af674e8" - "github.com/rogpeppe/fastuuid 6724a57986aff9bff1a1770e9347036def7c89f6" - "github.com/pborman/uuid e533369306653d193b93dae055f6083cbf8ba54f" - "github.com/lxc/lxd a324ad91230e5353fe746d06636dc59211122e6c" - "golang.org/x/crypto d585fd2cc9195196078f516b69daff6744ef5e84 github.com/golang/crypto" - "golang.org/x/net d866cfc389cec985d6fda2859936a575a55a3ab6 github.com/golang/net" - "golang.org/x/sys 571f7bbbe08da2a8955aed9d4db316e78630e9a3 github.com/golang/sys" - "gopkg.in/retry.v1 01631078ef2fdce601e38cfe5f527fab24c9a6d2 github.com/go-retry/retry" # branch v1 - "gopkg.in/macaroon.v2 bed2a428da6e56d950bed5b41fcbae3141e5b0d0 github.com/go-macaroon/macaroon" # branch v2 - "gopkg.in/yaml.v2 287cf08546ab5e7e37d55a84f7ed3fd1db036de5 github.com/go-yaml/yaml" # branch v2 - "gopkg.in/juju/names.v2 54f00845ae470a362430a966fe17f35f8784ac92 github.com/juju/names" # branch v2 - "gopkg.in/juju/environschema.v1 7359fc7857abe2b11b5b3e23811a9c64cb6b01e0 github.com/juju/environschema" # branch v1 - "gopkg.in/macaroon-bakery.v2 ec9d2ad6796100720c154f614b6dea8798ec1181 github.com/go-macaroon-bakery/macaroon-bakery" # branch v2 - "gopkg.in/httprequest.v1 fdaf1bffa25560ba0920e3e29aae85d3677ab32e github.com/go-httprequest/httprequest" # branch v1 - "gopkg.in/flosch/pongo2.v3 5e81b817a0c48c1c57cdf1a9056cf76bdee02ca9 github.com/flosch/pongo2" # branch v3.0 - "gopkg.in/mgo.v2 3f83fa5005286a7fe593b055f0d7771a7dce4655 github.com/go-mgo/mgo" # branch v2 - "gopkg.in/tomb.v2 d5d1b5820637886def9eef33e03a27a9f166942c github.com/go-tomb/tomb" # branch v2 - "gopkg.in/errgo.v1 442357a80af5c6bf9b6d51ae791a39c3421004f3 github.com/go-errgo/errgo" # branch v1 - "gopkg.in/lxc/go-lxc.v2 a7d112aed2f5f57f565d6e557671eeef7e76811c github.com/lxc/go-lxc" # branch v2 -) - -ARCHIVE_URI="https://${EGO_PN}/archive/${P}.tar.gz -> ${P}.tar.gz" -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="amd64" - -IUSE="+daemon +ipv6 +dnsmasq nls test" - -inherit bash-completion-r1 linux-info systemd user golang-vcs-snapshot - -SRC_URI="${ARCHIVE_URI} - ${EGO_VENDOR_URI}" - -DEPEND=" - >=dev-lang/go-1.7.1 - dev-libs/protobuf - nls? ( sys-devel/gettext ) - test? ( - app-misc/jq - dev-db/sqlite - net-misc/curl - sys-devel/gettext - ) -" - -RDEPEND=" - daemon? ( - app-arch/xz-utils - >=app-emulation/lxc-2.0.7[seccomp] - dnsmasq? ( - net-dns/dnsmasq[dhcp,ipv6?] - ) - net-misc/rsync[xattr] - sys-apps/iproute2[ipv6?] - sys-fs/squashfs-tools - virtual/acl - ) -" - -CONFIG_CHECK=" - ~BRIDGE - ~DUMMY - ~IP6_NF_NAT - ~IP6_NF_TARGET_MASQUERADE - ~IPV6 - ~IP_NF_NAT - ~IP_NF_TARGET_MASQUERADE - ~MACVLAN - ~NETFILTER_XT_MATCH_COMMENT - ~NET_IPGRE - ~NET_IPGRE_DEMUX - ~NET_IPIP - ~NF_NAT_MASQUERADE_IPV4 - ~NF_NAT_MASQUERADE_IPV6 - ~VXLAN -" - -ERROR_BRIDGE="BRIDGE: needed for network commands" -ERROR_DUMMY="DUMMY: needed for network commands" -ERROR_IP6_NF_NAT="IP6_NF_NAT: needed for network commands" -ERROR_IP6_NF_TARGET_MASQUERADE="IP6_NF_TARGET_MASQUERADE: needed for network commands" -ERROR_IPV6="IPV6: needed for network commands" -ERROR_IP_NF_NAT="IP_NF_NAT: needed for network commands" -ERROR_IP_NF_TARGET_MASQUERADE="IP_NF_TARGET_MASQUERADE: needed for network commands" -ERROR_MACVLAN="MACVLAN: needed for network commands" -ERROR_NETFILTER_XT_MATCH_COMMENT="NETFILTER_XT_MATCH_COMMENT: needed for network commands" -ERROR_NET_IPGRE="NET_IPGRE: needed for network commands" -ERROR_NET_IPGRE_DEMUX="NET_IPGRE_DEMUX: needed for network commands" -ERROR_NET_IPIP="NET_IPIP: needed for network commands" -ERROR_NF_NAT_MASQUERADE_IPV4="NF_NAT_MASQUERADE_IPV4: needed for network commands" -ERROR_NF_NAT_MASQUERADE_IPV6="NF_NAT_MASQUERADE_IPV6: needed for network commands" -ERROR_VXLAN="VXLAN: needed for network commands" - -PATCHES=( - "${FILESDIR}/${PN}-dont-go-get.patch" -) - -src_prepare() { - default_src_prepare - - # Examples in go-lxc make our build fail. - rm -rf "${S}/src/${EGO_PN}/vendor/gopkg.in/lxc/go-lxc.v2/examples" || die -} - -src_compile() { - export GOPATH="${S}" - - cd "${S}/src/${EGO_PN}" || die "Failed to change to deep src dir" - - tmpgoroot="${T}/goroot" - if use daemon; then - # Build binaries - emake - else - # build client tool - emake client - fi - - use nls && emake build-mo -} - -src_test() { - if use daemon; then - export GOPATH="${S}" - cd "${S}/src/${EGO_PN}" || die "Failed to change to deep src dir" - - emake check - else - einfo "No tests to run for client-only builds" - fi -} - -src_install() { - dobin bin/lxc - if use daemon; then - dosbin bin/lxd - dobin bin/fuidshift - fi - - cd "src/${EGO_PN}" || die "can't cd into ${S}/src/${EGO_PN}" - - if use nls; then - domo po/*.mo - fi - - if use daemon; then - newinitd "${FILESDIR}"/${PN}.initd lxd - newconfd "${FILESDIR}"/${PN}.confd lxd - - systemd_newunit "${FILESDIR}"/${PN}.service ${PN}.service - fi - - newbashcomp config/bash/lxd-client lxc - - dodoc AUTHORS README.md doc/* -} - -pkg_postinst() { - einfo - einfo "Consult https://wiki.gentoo.org/wiki/LXD for more information," - einfo "including a Quick Start." - - # The messaging below only applies to daemon installs - use daemon || return 0 - - # The control socket will be owned by (and writeable by) this group. - enewgroup lxd - - # Ubuntu also defines an lxd user but it appears unused (the daemon - # must run as root) - - einfo - einfo "Though not strictly required, some features are enabled at run-time" - einfo "when the relevant helper programs are detected:" - einfo "- sys-apps/apparmor" - einfo "- sys-fs/btrfs-progs" - einfo "- sys-fs/lvm2" - einfo "- sys-fs/lxcfs" - einfo "- sys-fs/zfs" - einfo "- sys-process/criu" - einfo - einfo "Since these features can't be disabled at build-time they are" - einfo "not USE-conditional." - einfo - einfo "Networks with bridge.mode=fan are unsupported due to requiring" - einfo "a patched kernel and iproute2." -} diff --git a/app-emulation/lxd/lxd-3.1.ebuild b/app-emulation/lxd/lxd-3.1.ebuild deleted file mode 100644 index 7f27f52217fb..000000000000 --- a/app-emulation/lxd/lxd-3.1.ebuild +++ /dev/null @@ -1,180 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -DESCRIPTION="Fast, dense and secure container management" -HOMEPAGE="https://linuxcontainers.org/lxd/introduction/" - -LICENSE="Apache-2.0 BSD BSD-2 LGPL-3 MIT MPL-2.0" -SLOT="0" -KEYWORDS="~amd64" - -IUSE="+daemon +ipv6 +dnsmasq nls test" - -inherit bash-completion-r1 linux-info systemd user - -SRC_URI="https://linuxcontainers.org/downloads/${PN}/${P}.tar.gz" - -DEPEND=" - >=dev-lang/go-1.9.4 - dev-libs/protobuf - nls? ( sys-devel/gettext ) - test? ( - app-misc/jq - net-misc/curl - sys-devel/gettext - ) -" - -RDEPEND=" - daemon? ( - app-arch/xz-utils - >=app-emulation/lxc-2.0.7[seccomp] - dnsmasq? ( - net-dns/dnsmasq[dhcp,ipv6?] - ) - net-misc/rsync[xattr] - sys-apps/iproute2[ipv6?] - sys-fs/squashfs-tools - virtual/acl - ) -" - -CONFIG_CHECK=" - ~BRIDGE - ~DUMMY - ~IP6_NF_NAT - ~IP6_NF_TARGET_MASQUERADE - ~IPV6 - ~IP_NF_NAT - ~IP_NF_TARGET_MASQUERADE - ~MACVLAN - ~NETFILTER_XT_MATCH_COMMENT - ~NET_IPGRE - ~NET_IPGRE_DEMUX - ~NET_IPIP - ~NF_NAT_MASQUERADE_IPV4 - ~NF_NAT_MASQUERADE_IPV6 - ~VXLAN -" - -ERROR_BRIDGE="BRIDGE: needed for network commands" -ERROR_DUMMY="DUMMY: needed for network commands" -ERROR_IP6_NF_NAT="IP6_NF_NAT: needed for network commands" -ERROR_IP6_NF_TARGET_MASQUERADE="IP6_NF_TARGET_MASQUERADE: needed for network commands" -ERROR_IPV6="IPV6: needed for network commands" -ERROR_IP_NF_NAT="IP_NF_NAT: needed for network commands" -ERROR_IP_NF_TARGET_MASQUERADE="IP_NF_TARGET_MASQUERADE: needed for network commands" -ERROR_MACVLAN="MACVLAN: needed for network commands" -ERROR_NETFILTER_XT_MATCH_COMMENT="NETFILTER_XT_MATCH_COMMENT: needed for network commands" -ERROR_NET_IPGRE="NET_IPGRE: needed for network commands" -ERROR_NET_IPGRE_DEMUX="NET_IPGRE_DEMUX: needed for network commands" -ERROR_NET_IPIP="NET_IPIP: needed for network commands" -ERROR_NF_NAT_MASQUERADE_IPV4="NF_NAT_MASQUERADE_IPV4: needed for network commands" -ERROR_NF_NAT_MASQUERADE_IPV6="NF_NAT_MASQUERADE_IPV6: needed for network commands" -ERROR_VXLAN="VXLAN: needed for network commands" - -EGO_PN="github.com/lxc/lxd" - -PATCHES=( - "${FILESDIR}/ja-translation-newline.patch" # https://github.com/lxc/lxd/pull/4572 -) - -# LXD tarball is packaged with a nice "dist" folder containing all dependencies -# that were vendored by upstream at release time. That saves us the trouble of -# vendoring the dependencies ourselves. This is why there was this drastic drop -# in ebuild complexity compared to pre 3.0.0-r2 ebuilds. -src_compile() { - export GOPATH="${S}/dist" - - # We don't use the Makefile here because it builds targets with the - # assumption that `pwd` is in a deep gopath namespace, which we're not. - # It's simpler to manually call "go install" than patching the Makefile. - # - # ABOUT "-tags libsqlite3": we used to link to the system's sqlite3 library - # but since v3.0.0, LXD depends on github.com/CanonicalLtd/dqlite which - # at the time of this writing, depends on patched version of sqlite with - # replication capabilities added. We don't have that patch in dev-db/sqlite. - # Therefore, we let LXD use its own private copy of sqlite. - go install -v -x ${EGO_PN}/lxc || die "Failed to build the client" - - if use daemon; then - go install -v -x ${EGO_PN}/fuidshift || die "Failed to build fuidshift" - go install -v -x ${EGO_PN}/lxd || die "Failed to build the daemon" - fi - - use nls && emake build-mo -} - -src_test() { - if use daemon; then - export GOPATH="${S}/dist" - # This is mostly a copy/paste from the Makefile's "check" rule, but - # patching the Makefile to work in a non "fully-qualified" go namespace - # was more complicated than this modest copy/paste. - # Also: sorry, for now a network connection is needed to run tests. - # Will properly bundle test dependencies later. - go get -v -x github.com/rogpeppe/godeps - go get -v -x github.com/remyoudompheng/go-misc/deadcode - go get -v -x github.com/golang/lint/golint - go test -v ${EGO_PN}/lxd - else - einfo "No tests to run for client-only builds" - fi -} - -src_install() { - local bindir="dist/bin" - dobin ${bindir}/lxc - if use daemon; then - dosbin ${bindir}/lxd - dobin ${bindir}/fuidshift - fi - - if use nls; then - domo po/*.mo - fi - - if use daemon; then - newinitd "${FILESDIR}"/${PN}.initd lxd - newconfd "${FILESDIR}"/${PN}.confd.1 lxd - - systemd_newunit "${FILESDIR}"/${PN}.service ${PN}.service - fi - - newbashcomp scripts/bash/lxd-client lxc - - dodoc AUTHORS README.md doc/* -} - -pkg_postinst() { - einfo - einfo "Consult https://wiki.gentoo.org/wiki/LXD for more information," - einfo "including a Quick Start." - - # The messaging below only applies to daemon installs - use daemon || return 0 - - # The control socket will be owned by (and writeable by) this group. - enewgroup lxd - - # Ubuntu also defines an lxd user but it appears unused (the daemon - # must run as root) - - einfo - einfo "Though not strictly required, some features are enabled at run-time" - einfo "when the relevant helper programs are detected:" - einfo "- sys-apps/apparmor" - einfo "- sys-fs/btrfs-progs" - einfo "- sys-fs/lvm2" - einfo "- sys-fs/lxcfs" - einfo "- sys-fs/zfs" - einfo "- sys-process/criu" - einfo - einfo "Since these features can't be disabled at build-time they are" - einfo "not USE-conditional." - einfo - einfo "Networks with bridge.mode=fan are unsupported due to requiring" - einfo "a patched kernel and iproute2." -} diff --git a/app-emulation/lxd/lxd-3.2.ebuild b/app-emulation/lxd/lxd-3.2.ebuild deleted file mode 100644 index 473f52df5378..000000000000 --- a/app-emulation/lxd/lxd-3.2.ebuild +++ /dev/null @@ -1,181 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -DESCRIPTION="Fast, dense and secure container management" -HOMEPAGE="https://linuxcontainers.org/lxd/introduction/" - -LICENSE="Apache-2.0 BSD BSD-2 LGPL-3 MIT MPL-2.0" -SLOT="0" -KEYWORDS="amd64" - -IUSE="+daemon +ipv6 +dnsmasq nls test" - -inherit bash-completion-r1 linux-info systemd user - -SRC_URI="https://linuxcontainers.org/downloads/${PN}/${P}.tar.gz" - -DEPEND=" - >=dev-lang/go-1.9.4 - dev-libs/protobuf - nls? ( sys-devel/gettext ) - test? ( - app-misc/jq - net-misc/curl - sys-devel/gettext - ) -" - -RDEPEND=" - daemon? ( - app-arch/xz-utils - >=app-emulation/lxc-2.0.7[seccomp] - dnsmasq? ( - net-dns/dnsmasq[dhcp,ipv6?] - ) - net-misc/rsync[xattr] - sys-apps/iproute2[ipv6?] - sys-fs/squashfs-tools - virtual/acl - ) -" - -CONFIG_CHECK=" - ~BRIDGE - ~DUMMY - ~IP6_NF_NAT - ~IP6_NF_TARGET_MASQUERADE - ~IPV6 - ~IP_NF_NAT - ~IP_NF_TARGET_MASQUERADE - ~MACVLAN - ~NETFILTER_XT_MATCH_COMMENT - ~NET_IPGRE - ~NET_IPGRE_DEMUX - ~NET_IPIP - ~NF_NAT_MASQUERADE_IPV4 - ~NF_NAT_MASQUERADE_IPV6 - ~VXLAN -" - -ERROR_BRIDGE="BRIDGE: needed for network commands" -ERROR_DUMMY="DUMMY: needed for network commands" -ERROR_IP6_NF_NAT="IP6_NF_NAT: needed for network commands" -ERROR_IP6_NF_TARGET_MASQUERADE="IP6_NF_TARGET_MASQUERADE: needed for network commands" -ERROR_IPV6="IPV6: needed for network commands" -ERROR_IP_NF_NAT="IP_NF_NAT: needed for network commands" -ERROR_IP_NF_TARGET_MASQUERADE="IP_NF_TARGET_MASQUERADE: needed for network commands" -ERROR_MACVLAN="MACVLAN: needed for network commands" -ERROR_NETFILTER_XT_MATCH_COMMENT="NETFILTER_XT_MATCH_COMMENT: needed for network commands" -ERROR_NET_IPGRE="NET_IPGRE: needed for network commands" -ERROR_NET_IPGRE_DEMUX="NET_IPGRE_DEMUX: needed for network commands" -ERROR_NET_IPIP="NET_IPIP: needed for network commands" -ERROR_NF_NAT_MASQUERADE_IPV4="NF_NAT_MASQUERADE_IPV4: needed for network commands" -ERROR_NF_NAT_MASQUERADE_IPV6="NF_NAT_MASQUERADE_IPV6: needed for network commands" -ERROR_VXLAN="VXLAN: needed for network commands" - -EGO_PN="github.com/lxc/lxd" - -PATCHES=( - "${FILESDIR}/ja-translation-newline.patch" # https://github.com/lxc/lxd/pull/4572 - "${FILESDIR}/de-translation-newline.patch" -) - -# LXD tarball is packaged with a nice "dist" folder containing all dependencies -# that were vendored by upstream at release time. That saves us the trouble of -# vendoring the dependencies ourselves. This is why there was this drastic drop -# in ebuild complexity compared to pre 3.0.0-r2 ebuilds. -src_compile() { - export GOPATH="${S}/dist" - - # We don't use the Makefile here because it builds targets with the - # assumption that `pwd` is in a deep gopath namespace, which we're not. - # It's simpler to manually call "go install" than patching the Makefile. - # - # ABOUT "-tags libsqlite3": we used to link to the system's sqlite3 library - # but since v3.0.0, LXD depends on github.com/CanonicalLtd/dqlite which - # at the time of this writing, depends on patched version of sqlite with - # replication capabilities added. We don't have that patch in dev-db/sqlite. - # Therefore, we let LXD use its own private copy of sqlite. - go install -v -x ${EGO_PN}/lxc || die "Failed to build the client" - - if use daemon; then - go install -v -x ${EGO_PN}/fuidshift || die "Failed to build fuidshift" - go install -v -x ${EGO_PN}/lxd || die "Failed to build the daemon" - fi - - use nls && emake build-mo -} - -src_test() { - if use daemon; then - export GOPATH="${S}/dist" - # This is mostly a copy/paste from the Makefile's "check" rule, but - # patching the Makefile to work in a non "fully-qualified" go namespace - # was more complicated than this modest copy/paste. - # Also: sorry, for now a network connection is needed to run tests. - # Will properly bundle test dependencies later. - go get -v -x github.com/rogpeppe/godeps - go get -v -x github.com/remyoudompheng/go-misc/deadcode - go get -v -x github.com/golang/lint/golint - go test -v ${EGO_PN}/lxd - else - einfo "No tests to run for client-only builds" - fi -} - -src_install() { - local bindir="dist/bin" - dobin ${bindir}/lxc - if use daemon; then - dosbin ${bindir}/lxd - dobin ${bindir}/fuidshift - fi - - if use nls; then - domo po/*.mo - fi - - if use daemon; then - newinitd "${FILESDIR}"/${PN}.initd lxd - newconfd "${FILESDIR}"/${PN}.confd.1 lxd - - systemd_newunit "${FILESDIR}"/${PN}.service ${PN}.service - fi - - newbashcomp scripts/bash/lxd-client lxc - - dodoc AUTHORS README.md doc/* -} - -pkg_postinst() { - einfo - einfo "Consult https://wiki.gentoo.org/wiki/LXD for more information," - einfo "including a Quick Start." - - # The messaging below only applies to daemon installs - use daemon || return 0 - - # The control socket will be owned by (and writeable by) this group. - enewgroup lxd - - # Ubuntu also defines an lxd user but it appears unused (the daemon - # must run as root) - - einfo - einfo "Though not strictly required, some features are enabled at run-time" - einfo "when the relevant helper programs are detected:" - einfo "- sys-apps/apparmor" - einfo "- sys-fs/btrfs-progs" - einfo "- sys-fs/lvm2" - einfo "- sys-fs/lxcfs" - einfo "- sys-fs/zfs" - einfo "- sys-process/criu" - einfo - einfo "Since these features can't be disabled at build-time they are" - einfo "not USE-conditional." - einfo - einfo "Networks with bridge.mode=fan are unsupported due to requiring" - einfo "a patched kernel and iproute2." -} diff --git a/app-emulation/lxd/lxd-3.3.ebuild b/app-emulation/lxd/lxd-3.3.ebuild index 16a412be6a96..393042c8ae5e 100644 --- a/app-emulation/lxd/lxd-3.3.ebuild +++ b/app-emulation/lxd/lxd-3.3.ebuild @@ -8,7 +8,7 @@ HOMEPAGE="https://linuxcontainers.org/lxd/introduction/" LICENSE="Apache-2.0 BSD BSD-2 LGPL-3 MIT MPL-2.0" SLOT="0" -KEYWORDS="~amd64" +KEYWORDS="amd64" IUSE="+daemon +ipv6 +dnsmasq nls test" @@ -139,7 +139,7 @@ src_install() { if use daemon; then newinitd "${FILESDIR}"/${PN}.initd lxd - newconfd "${FILESDIR}"/${PN}.confd.1 lxd + newconfd "${FILESDIR}"/${PN}.confd lxd systemd_newunit "${FILESDIR}"/${PN}.service ${PN}.service fi diff --git a/app-emulation/lxd/lxd-3.4.ebuild b/app-emulation/lxd/lxd-3.4.ebuild new file mode 100644 index 000000000000..c5ce43a9eb1c --- /dev/null +++ b/app-emulation/lxd/lxd-3.4.ebuild @@ -0,0 +1,232 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +DESCRIPTION="Fast, dense and secure container management" +HOMEPAGE="https://linuxcontainers.org/lxd/introduction/" + +LICENSE="Apache-2.0 BSD BSD-2 LGPL-3 MIT MPL-2.0" +SLOT="0" +KEYWORDS="~amd64" + +IUSE="+daemon +ipv6 +dnsmasq nls test tools" + +inherit autotools bash-completion-r1 linux-info systemd user + +SRC_URI="https://linuxcontainers.org/downloads/${PN}/${P}.tar.gz" + +DEPEND=" + dev-lang/tcl + >=dev-lang/go-1.9.4 + dev-libs/protobuf + nls? ( sys-devel/gettext ) + test? ( + app-misc/jq + net-misc/curl + sys-devel/gettext + ) +" + +RDEPEND=" + daemon? ( + app-arch/xz-utils + >=app-emulation/lxc-2.0.7[seccomp] + dev-libs/lzo + dev-util/xdelta:3 + dnsmasq? ( + net-dns/dnsmasq[dhcp,ipv6?] + ) + net-firewall/ebtables + net-firewall/iptables[ipv6?] + net-libs/libnfnetlink + net-misc/rsync[xattr] + sys-apps/iproute2[ipv6?] + sys-fs/fuse + sys-fs/lxcfs + sys-fs/squashfs-tools + virtual/acl + ) +" + +CONFIG_CHECK=" + ~BRIDGE + ~DUMMY + ~IP6_NF_NAT + ~IP6_NF_TARGET_MASQUERADE + ~IPV6 + ~IP_NF_NAT + ~IP_NF_TARGET_MASQUERADE + ~MACVLAN + ~NETFILTER_XT_MATCH_COMMENT + ~NET_IPGRE + ~NET_IPGRE_DEMUX + ~NET_IPIP + ~NF_NAT_MASQUERADE_IPV4 + ~NF_NAT_MASQUERADE_IPV6 + ~VXLAN +" + +ERROR_BRIDGE="BRIDGE: needed for network commands" +ERROR_DUMMY="DUMMY: needed for network commands" +ERROR_IP6_NF_NAT="IP6_NF_NAT: needed for network commands" +ERROR_IP6_NF_TARGET_MASQUERADE="IP6_NF_TARGET_MASQUERADE: needed for network commands" +ERROR_IPV6="IPV6: needed for network commands" +ERROR_IP_NF_NAT="IP_NF_NAT: needed for network commands" +ERROR_IP_NF_TARGET_MASQUERADE="IP_NF_TARGET_MASQUERADE: needed for network commands" +ERROR_MACVLAN="MACVLAN: needed for network commands" +ERROR_NETFILTER_XT_MATCH_COMMENT="NETFILTER_XT_MATCH_COMMENT: needed for network commands" +ERROR_NET_IPGRE="NET_IPGRE: needed for network commands" +ERROR_NET_IPGRE_DEMUX="NET_IPGRE_DEMUX: needed for network commands" +ERROR_NET_IPIP="NET_IPIP: needed for network commands" +ERROR_NF_NAT_MASQUERADE_IPV4="NF_NAT_MASQUERADE_IPV4: needed for network commands" +ERROR_NF_NAT_MASQUERADE_IPV6="NF_NAT_MASQUERADE_IPV6: needed for network commands" +ERROR_VXLAN="VXLAN: needed for network commands" + +EGO_PN="github.com/lxc/lxd" + +src_prepare() { + eapply_user + eapply "${FILESDIR}/de-translation-newline.patch" + + cd "${S}/dist/dqlite" || die "Can't cd to dqlite dir" + eautoreconf +} + +src_configure() { + export GOPATH="${S}/dist" + cd "${GOPATH}/sqlite" || die "Can't cd to sqlite dir" + econf --enable-replication --disable-amalgamation --disable-tcl --libdir=/usr/lib/lxd + + cd "${GOPATH}/dqlite" || die "Can't cd to dqlite dir" + PKG_CONFIG_PATH="${GOPATH}/sqlite/" econf --libdir=/usr/lib/lxd +} + +src_compile() { + export GOPATH="${S}/dist" + + cd "${GOPATH}/sqlite" || die "Can't cd to sqlite dir" + emake + + cd "${GOPATH}/dqlite" || die "Can't cd to dqlite dir" + emake CFLAGS="-I${GOPATH}/sqlite" + + # We don't use the Makefile here because it builds targets with the + # assumption that `pwd` is in a deep gopath namespace, which we're not. + # It's simpler to manually call "go install" than patching the Makefile. + cd "${S}" + go install -v -x ${EGO_PN}/lxc || die "Failed to build the client" + + if use daemon; then + + # LXD depends on a patched, bundled sqlite with replication + # capabilities. + export CGO_CFLAGS="-I${GOPATH}/sqlite/ -I${GOPATH}/dqlite/include/" + export CGO_LDFLAGS="-L${GOPATH}/sqlite/.libs/ -L${GOPATH}/dqlite/.libs/" + export LD_LIBRARY_PATH="${GOPATH}/sqlite/.libs/:${GOPATH}/dqlite/.libs/" + + go install -v -x -tags libsqlite3 ${EGO_PN}/lxd || die "Failed to build the daemon" + fi + + if use tools; then + go install -v -x ${EGO_PN}/fuidshift || die "Failed to build fuidshift" + go install -v -x ${EGO_PN}/lxc-to-lxd || die "Failed to build lxc-to-lxd" + go install -v -x ${EGO_PN}/lxd-benchmark || die "Failed to build lxd-benchmark" + fi + + use nls && emake build-mo +} + +src_test() { + if use daemon; then + export GOPATH="${S}/dist" + # This is mostly a copy/paste from the Makefile's "check" rule, but + # patching the Makefile to work in a non "fully-qualified" go namespace + # was more complicated than this modest copy/paste. + # Also: sorry, for now a network connection is needed to run tests. + # Will properly bundle test dependencies later. + go get -v -x github.com/rogpeppe/godeps + go get -v -x github.com/remyoudompheng/go-misc/deadcode + go get -v -x github.com/golang/lint/golint + go test -v ${EGO_PN}/lxd + else + einfo "No tests to run for client-only builds" + fi +} + +src_install() { + local bindir="dist/bin" + dobin ${bindir}/lxc + if use daemon; then + + export GOPATH="${S}/dist" + cd "${GOPATH}/sqlite" || die "Can't cd to sqlite dir" + emake DESTDIR="${D}" install + + cd "${GOPATH}/dqlite" || die "Can't cd to dqlite dir" + emake DESTDIR="${D}" install + + # Must only install libs + rm "${D}/usr/bin/sqlite3" || die "Can't remove custom sqlite3 binary" + rm -r "${D}/usr/include" || die "Can't remove include directory" + + cd "${S}" || die "Can't cd to \${S}" + dosbin ${bindir}/lxd + fi + + if use tools; then + dobin ${bindir}/fuidshift + dobin ${bindir}/lxc-to-lxd + dobin ${bindir}/lxd-benchmark + fi + + if use nls; then + domo po/*.mo + fi + + if use daemon; then + newinitd "${FILESDIR}"/${PN}.initd.1 lxd + newconfd "${FILESDIR}"/${PN}.confd lxd + + systemd_newunit "${FILESDIR}"/${PN}.service ${PN}.service + fi + + newbashcomp scripts/bash/lxd-client lxc + + dodoc AUTHORS doc/* +} + +pkg_postinst() { + elog + elog "Consult https://wiki.gentoo.org/wiki/LXD for more information," + elog "including a Quick Start." + + # The messaging below only applies to daemon installs + use daemon || return 0 + + # The control socket will be owned by (and writeable by) this group. + enewgroup lxd + + # Ubuntu also defines an lxd user but it appears unused (the daemon + # must run as root) + + elog + elog "Though not strictly required, some features are enabled at run-time" + elog "when the relevant helper programs are detected:" + elog "- sys-apps/apparmor" + elog "- sys-fs/btrfs-progs" + elog "- sys-fs/lvm2" + elog "- sys-fs/zfs" + elog "- sys-process/criu" + elog + elog "Since these features can't be disabled at build-time they are" + elog "not USE-conditional." + elog + elog "Be sure to add your local user to the lxd group." + elog + elog "Networks with bridge.mode=fan are unsupported due to requiring" + elog "a patched kernel and iproute2." +} + +# TODO: +# - man page, I don't see cobra generating it diff --git a/app-emulation/lxd/metadata.xml b/app-emulation/lxd/metadata.xml index de08da5ec7d6..3896143698f3 100644 --- a/app-emulation/lxd/metadata.xml +++ b/app-emulation/lxd/metadata.xml @@ -27,7 +27,10 @@ Build the system daemon, not just the client tool - Depend on dnsmasq to provide DHCP and DNS. + Depend on dnsmasq to provide DHCP and DNS + + + Build and install optional tools diff --git a/app-emulation/punes/Manifest b/app-emulation/punes/Manifest index d46e4a186f53..769b38139d30 100644 --- a/app-emulation/punes/Manifest +++ b/app-emulation/punes/Manifest @@ -1,3 +1,4 @@ +AUX punes-0.102-qt-5.11-fix.patch 641 BLAKE2B 0b29cdd714eaf8cf0bf9da5fcb8ebfea891ffe02e02b3cb09da3d190f94e1f876ad16cf35d5e8d85b41bf170f837346e12dba6949633fe4bd1ea12974391502e SHA512 504b912184143e49fad998e2fe68d91fa479e0c86311398e52c0c29ea28cc71d5dc2cb9dd1dcc849660467d37a9223df77c7f2d953c8867fecc204ab1acc93bc DIST punes-0.102.tar.gz 4670534 BLAKE2B 04576110e4fcd9aeaa3dfb6812ab7a21305200c82651be00defcb59b91374b155b279818f2e09d217841aa8567c41e06067252538fb68b7b907d5ab29b02c678 SHA512 dff95b25f64ed03060b6dd187d7a283acfddb6bea4168df5be4d309bd6aabdcaa5d0ea0312d0824205bf134cd0ddabf014e82a81c8a901a59258475ec24bd394 -EBUILD punes-0.102.ebuild 998 BLAKE2B a62f3eb9ca0c2aa2d992aebffc3d299bec9b0c9112421820013d2292fe54c677b43be307456ee2e2936af0c308745f1ced8ea20c55bd6d39a27319c9048fa45c SHA512 95a359fa66d6087eb886c425ee853f048aa948579500e9e2a5908d4e57804b3b1faaaf7a6ad92074b86b9581bc61386ebce6c92e9ee2786fb022e3e6c1fc30bb +EBUILD punes-0.102.ebuild 1048 BLAKE2B 125fa0e030e81d57128bef0f2571fe124c77a5edb792a0fb6a4f8fe3fa02db6f7a0b69f2e6cf01d1784af350d6f9b4c136061320f6b79a03df1f7bfc564d7c08 SHA512 88b754ba877cb4ffe2cd1c65abf49a7bdcb03bec53b50e552604e8da6a3c7a3d22d180855c47aa8eebf153e13e1d98788aa299fb2170a937c17292dd0d009e53 MISC metadata.xml 625 BLAKE2B 3ae9de8ff12a46dd98f0132843cf2fe0f7be77d33497fc2a97b026adba711f2bafd04f71140bf4cddaf6242dc4a9b85ea26f8ec905f0325041dc10b0afa85e4b SHA512 d93f23a57d82c716a4b25526ba184ab135fdd81de106e90b7ba2589607d42f16c28b326e257345f34a85f7cda09cd90cda4dc6989b02b46de6350e343c71c2f6 diff --git a/app-emulation/punes/files/punes-0.102-qt-5.11-fix.patch b/app-emulation/punes/files/punes-0.102-qt-5.11-fix.patch new file mode 100644 index 000000000000..1ac5ccafab07 --- /dev/null +++ b/app-emulation/punes/files/punes-0.102-qt-5.11-fix.patch @@ -0,0 +1,21 @@ +From 46620c32ff37a7968c977e4b3cde8d601807702c Mon Sep 17 00:00:00 2001 +From: fhorse +Date: Sun, 15 Jul 2018 13:30:15 +0200 +Subject: [PATCH] Corretto errore di compilazione con le Qt5. + +--- + src/gui/dlgCheats.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/gui/dlgCheats.cpp b/src/gui/dlgCheats.cpp +index 9ff904d2..b7c6c52a 100644 +--- a/src/gui/dlgCheats.cpp ++++ b/src/gui/dlgCheats.cpp +@@ -25,6 +25,7 @@ + #include + #include + #include ++#include + #endif + #include "dlgCheats.moc" + #include "mainWindow.hpp" diff --git a/app-emulation/punes/punes-0.102.ebuild b/app-emulation/punes/punes-0.102.ebuild index cb13a8549234..92b1d19b10d1 100644 --- a/app-emulation/punes/punes-0.102.ebuild +++ b/app-emulation/punes/punes-0.102.ebuild @@ -28,6 +28,8 @@ DEPEND=" S="${WORKDIR}/puNES-${PV}" +PATCHES=( "${FILESDIR}/${P}-qt-5.11-fix.patch" ) + src_prepare() { default diff --git a/app-emulation/qemu/Manifest b/app-emulation/qemu/Manifest index 65956923dcfa..00cbba14ae24 100644 --- a/app-emulation/qemu/Manifest +++ b/app-emulation/qemu/Manifest @@ -1,18 +1,17 @@ AUX 65-kvm.rules-r1 120 BLAKE2B a0d95f60e48f80e5f00b3a7ef3b520861fb781868844aff7b764875238d41982cfb5535e42757145eaea64f48e856ca92d434b33f7b3aeb5d93b0afcb461fd00 SHA512 4132ec4d3e7c1e3cf5e37224be1a3b864bcc0bfde9109e8fea9c99377289c28a7fdcf9155fbbd6605dbf8ebeb020c2ab575dd35e36bdf69f8ad07c4aa9c7b2f7 AUX bridge.conf 454 BLAKE2B 2f3e828a001ac77de96c8a11e3fc462149e1c16972c28b8367659c2896b7c3dd147e978ef6401b280fc3474bc959bee50f65d7525bee8bc04c19bc657ba7e22f SHA512 a907ee86b81a1b61033bb7621ded65112504131ef7b698c53e4014b958ee6fc79e66f63069015a01e41362cb70a7d0ed26dd9a03033cf776f4846f0e1f8f1533 -AUX qemu-2.11.0-glibc-2.27.patch 1481 BLAKE2B 513430c8c3d10d3e9ec2d16bf95013fc639266a73d7e9d1d285a9daa62cb2567212b167d07235c4d6df31c63d48a4924d180bbcc568f60dc2f042f7087dd7eb0 SHA512 b3fe1d933f43e4a545e3aa6bce024d38b4431fa854cfa2342888875d0735a0a3171a00da2032238da9dc3b7a1ad4fc456a8d5b469394e2de1eea79b0957cbb7c AUX qemu-2.11.1-capstone_include_path.patch 264 BLAKE2B 955b498c0ea2657ee4c9d0054a32693ac2096232ae8358848fa8518bcb87c1cce5d9145ccf560320ba53d60ae8ed85f6be801b72707a964b247e8f1f1844f9cd SHA512 ebf1d6450b7c499a8e490b19f87a3b4f8bbc50ea44edaac8c12b0993947513a8b616af2d4cf6240c8e265824a44463f917333ffa510e6ffedf379921e28fc3ab -AUX qemu-2.12.0-aarch64-simd-fix.patch 1362 BLAKE2B 4899fe348b602f0f9544af5cd40fc0409007230e2fc44816c4d046ac8c35bcb71c9bdf5e8dc5e148601d6d9e2a9014fa07d7ad17942ab945c4b676290f1370fa SHA512 7b1dca7c49a140f3347c1bffa0ff64ada9b5ee47a1bc23ebde78171547f49d1e2a6dab0abd6068bb6788ce388d514e524f6d9f77c2fe213c6c9461f61f6e157f AUX qemu-2.5.0-cflags.patch 410 BLAKE2B 1d072b5dd00369bb565b30c2aa7047de92b441bf103faadb5dd42daf36ad1c5e39c5bdfdc2b5f2bb0bfec2ea1255b4182caeb467614a487f5cfcb341109a4884 SHA512 0194d28de08b4e51c5bd1c9a2cc7965ba7f66dfddb8fd91de3da93677e6cf2d38ad3270f69aaea8a20cf2533c2980018d6e0fed711be2806fe2053fba7c081f3 AUX qemu-2.5.0-sysmacros.patch 333 BLAKE2B 8c38410c6ea789f669d89c7321cdc9e5c734bb3db332272657302977241f157b04fb07e27bda4f67ee560e39a7494344ad79616835e6ff483927f2b72ed9c597 SHA512 329632c5bff846ca3ffcdb4bc94ae62f17c6bdbb566f9bec0784357c943523e8ca7773790b83a9617734cab3b003baa3d636cbd08f7385810a63b0fa0383c4f0 AUX qemu-binfmt.initd.head 1445 BLAKE2B 5762a38034331a13e308f6fc8cb979e38ae01a053691726edfc1d99e1bca1698919ad564a593e018308f1fd00e2f887865fd9db157d8de83941295bc47c1db6c SHA512 a735268ae9ac84d8f2f2893bf018ee6de33231fa94a823bd8502b529bb456635c1ab5cf9b440df5ede8e414291f8bf45fc53898c2f3939c50d5ec4ffa554396a AUX qemu-binfmt.initd.tail 245 BLAKE2B dd59f2944c6e3f0c4d282b94b687a9b5c51dd77c5103fb9889bd9ce56874495397676ae6c8375d9e9e23094828477240778d9e0f361e68cdd63fdad574851561 SHA512 bcca16805f8380d52cc591ea3d65a8f6e5de456730618f6aee301510edb75d235a22d4d7aeed224882210392840adb403eb53234b6cb76a4cb24533852a8b737 -DIST qemu-2.11.1-patches-r1.tar.xz 2064 BLAKE2B 533c916b01c014bcfa6c733b76aa6da1f12cdf5f0d4ae33136453705a8aca9fdfeef998747cfdc72d19e08fa40ea97e2fd4c21412c030af314605059282f49ef SHA512 12de7b4777ec98871d0786291534f61b37534feef64b556caeab72e020ff14d61fe19d24cb151ebfdb912df2a7ba72c0d882566b368d88d02c9f1354c2adae4a -DIST qemu-2.11.1.tar.bz2 32819412 BLAKE2B 6b6d4e7b8dcf33aeedb0b33bad267da07ad17c2eeeb5fbd2c038d760bc03224e55ba0f03eb248c62bc0e8636c2c660ea76b367eaea96bee16388053f82c8b8a9 SHA512 1b692bbdfc3dc785738c7192aa2a3f9cf53d9f5bf3b3f49fa8692050dc50f7056c8a4d1b527d48ffb2a674a0fd3a46d87addd1eaaa758f35eec1ab5adfe32354 DIST qemu-2.12.0-patches-r5.tar.xz 5536 BLAKE2B 751a0fd7a6dd2433542dbfc8a1c9726fb612270b5a526e2e67729478b0f9b45689e23a70e077fb6b3b9cee115ff48d5334b16aba39efb79eff16baae3e1d349e SHA512 5c735632a3ca7ae7fbd9619b01683917749c02e7cdba85564fb157ef8d382ec999c1e1577eb00d4248a26c0f0ab9cb5af6355ca7fc68bcba054ffcca1947eebc DIST qemu-2.12.0.tar.bz2 41196232 BLAKE2B f258e570558249ea647c3571908f90b8bacdcef9a1814009b98571cf0e96406194d44aa041fd0a97c9b673f39a9eaae8d873824745509778a6784cd85f8398b0 SHA512 91d829f44c431e4c1cd335f3efea5afff9da62d832b0296a92417463ea0826d09ce226c2ea8ac167fe7b99b6bb976c7cb1357aaf17735ee57af6602161e46346 -EBUILD qemu-2.11.1-r2.ebuild 23634 BLAKE2B 90b45f5e3ef464cdd1d7f4d3150c7aa497656aa2660e0f96905cd5e6de0f190732852e1035228934eaa981d3dcb0686c50df4d200244f38b28daef11873798d2 SHA512 39df14efff9375a10ba307f4201ea853ea67fb08180f89d0bd60db0c2a4d479230d5870eedf2bdbfaef1899e800f2bb95e5d6175a6085d699f837969dbeec8fc -EBUILD qemu-2.12.0-r3.ebuild 24035 BLAKE2B b9f0fd78b6b3ac11e793d28ea44ad4c91a1e56ab172619c3ea50fe66b1e260b5b2ae366a1a70dbb4b3b519739cfd4fc25896f1297b7bd1b9638e6d4e7ca33575 SHA512 9a307c8f75177061683e4eac4b21e17deab27245238245485d8037f4c0d112dba9c3c40dc60fa6b6215ddb90e0111b0c845ac43b1c34f4c11ca297b03af428d7 -EBUILD qemu-2.12.0-r4.ebuild 24088 BLAKE2B 39610cecf10e58ee13fa165e9c4443c106542baf388174f7f99afa63c8bc2b240114d877dcd6bc81ae4986c3dd1d66d97f8707322859b5740786ba985fbf17d2 SHA512 2b37d9cbfe67dbaf174ebc6432a2b250fa904fc97fd815c1ea128f0a346c9d55be7c53bf3ac3d30ecf9a8e2f174d9fb501066a0374d7a5f851c481c67d56d192 -EBUILD qemu-9999.ebuild 23907 BLAKE2B 9607b4df5ea525e1ccf731bddb3bea0852e8aa931372170219c9511ced3fbdd87fa9f20f8744d39071c1bbb56fa5b362fb6b20e26ad9d3b5257bfe409db2230d SHA512 0367e2cc9e9371a2b677ae828cb42816e4e04585aca6833cfd2b1629f1224b895a5680bfd24abccf83055589512adcaed46c1637f758668c996b8ba58382d26e +DIST qemu-2.12.1-patches-r1.tar.xz 3648 BLAKE2B 07908004d0b56e60274cb59d4163770290d8fa6e31646e7d96db08427a219638ac53bdd988c9557471b95321a72982d740a29778d843652274a126737a0a6c00 SHA512 1c7768c14a8e168053f0322554214ba59932a9fa23c982b06dbb1b8fdcfc280ae1d97b20244600f357485bfbcb9ad8bd7968787550c8a4e5e243ac8502eff05e +DIST qemu-2.12.1.tar.bz2 41192583 BLAKE2B ff903a5850e406ab542ad1a84300852599fa9c199e0f3290e4d6ddad5284192577351278a18dd5706463b08e817b49340989a35987a04672f7cede2097d1d18d SHA512 4c85e6180bf7ec61c0bdddb20e104a7c93fe6b1de27f6aa50d75633eb78491cb844798a9e3f536245eff7b4ebe9a6227f5f66b418ced44095b8e59c5cb33d4cd +DIST qemu-3.0.0.tar.bz2 41491935 BLAKE2B 715ccca4fced730425eb5c24a78d89d2ab59f64007e0fc199d78c31c6ab72b5a0dbcf1840f214774c711d679c4166996790e93b2416c7d4f323d5b93ffa862ac SHA512 b82b78a063d60fa1372d9400934b47250138c438050d974113b1b2ea433eea0531be6cda1e82d14fcb3bc4ed35657703f62d9aedc095cb8d64badc65c3609ee5 +EBUILD qemu-2.12.0-r3.ebuild 24051 BLAKE2B 8bacbd42b4abc2015d2a250bc1954867e329a7d4513bf8dc7c82c508563419e91e4a12d3ca74f3735073ea5cc0c9d15870feb40d497ef991df990426f4a65a3a SHA512 9a6efb5b677b8c0f0586b39e9abc6ddd69ff9bca8ee390269f9bf493c466791009def6caf1d9477cda251626ed1f8518cc7a8851d0c066586527d711269c1bfb +EBUILD qemu-2.12.1.ebuild 24051 BLAKE2B 7587b86e783ba772c5895696398e8b808864f0b98159f2d55715d71bf3b6fb30ebf6b9abbe6f02c0d29546f39a40208aae181f8a9bc44e94d3ffb025d2fcb30a SHA512 e6e231ab225b62bdb1da182291a8d47fc57975d0b4a7732eb71809db4903fabd33f4d645fbf421502454438da48734b03b90484655e47f034fb91415ba05358c +EBUILD qemu-3.0.0.ebuild 24055 BLAKE2B d4d86c9df7aad7efa6118db37143e215a380b41457cfae23d1bb4e6f46dfb40c503a740192870f2c483a8ae7d715698ba26c0e2c8768e1b75fd38f381a7c880f SHA512 750b05b4870c334d96abe8be1f9a309eed48862ffa1da1c8e4f046395c0c9c42d7830287d82a7432c8ee9d8446704cc37a130c72ca5d462f46779f854cdfd942 +EBUILD qemu-9999.ebuild 23923 BLAKE2B 469b13bfc75e9a60346cc3970e1cce0eb3810fe4dc89f5c426d2a7202965c44cb1c9009c2b9a0cef52d44e75fdc27b59bc7a8dc1c31fe16c71249dd113b939b7 SHA512 b9879909e51e825d75ac3ab3491395986899b7a36f256a1f8bb2016d3c8efb0b58a6f5b97b51dcbf652ca2926561a691b72102b4c8fc13b3383f7d13b6f20f10 MISC metadata.xml 4014 BLAKE2B e3ef3f3da149b756119932e7796ba2daf3327a841776dc64476730f33345e6a10abd45d8a52a45f1881f052d43902c0a6de0f3df02219ab9f8b5ce1fec12b635 SHA512 fd582b65e3eecacef5447b787fb465565fceb84a7fda9cd7079e5ae5b2ef4183ff7cd3187a5e751900bea6877fdda8e8357c792eef5431e76c4d672eb631481b 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 deleted file mode 100644 index 1562bb3c64a1..000000000000 --- a/app-emulation/qemu/files/qemu-2.11.0-glibc-2.27.patch +++ /dev/null @@ -1,54 +0,0 @@ -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.12.0-aarch64-simd-fix.patch b/app-emulation/qemu/files/qemu-2.12.0-aarch64-simd-fix.patch deleted file mode 100644 index c8b8a02354cc..000000000000 --- a/app-emulation/qemu/files/qemu-2.12.0-aarch64-simd-fix.patch +++ /dev/null @@ -1,36 +0,0 @@ -From: Richard Henderson -To: qemu-devel@nongnu.org -Cc: Jason@zx2c4.com, - qemu-stable@nongnu.org -Subject: [PATCH for-3.0] tcg/i386: Mark xmm registers call-clobbered -Date: Sun, 22 Jul 2018 18:29:41 -0700 -Message-Id: <20180723012941.16920-1-richard.henderson@linaro.org> -X-Mailer: git-send-email 2.17.1 - -When host vector registers and operations were introduced, I failed -to mark the registers call clobbered as required by the ABI. - -Fixes: 770c2fc7bb7 -Cc: qemu-stable@nongnu.org -Reported-by: Jason A. Donenfeld -Signed-off-by: Richard Henderson ---- - tcg/i386/tcg-target.inc.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tcg/i386/tcg-target.inc.c b/tcg/i386/tcg-target.inc.c -index e87b0d445e..a91e4f1313 100644 ---- a/tcg/i386/tcg-target.inc.c -+++ b/tcg/i386/tcg-target.inc.c -@@ -3532,7 +3532,7 @@ static void tcg_target_init(TCGContext *s) - tcg_target_available_regs[TCG_TYPE_V256] = ALL_VECTOR_REGS; - } - -- tcg_target_call_clobber_regs = 0; -+ tcg_target_call_clobber_regs = ALL_VECTOR_REGS; - tcg_regset_set_reg(tcg_target_call_clobber_regs, TCG_REG_EAX); - tcg_regset_set_reg(tcg_target_call_clobber_regs, TCG_REG_EDX); - tcg_regset_set_reg(tcg_target_call_clobber_regs, TCG_REG_ECX); --- -2.17.1 - diff --git a/app-emulation/qemu/qemu-2.11.1-r2.ebuild b/app-emulation/qemu/qemu-2.11.1-r2.ebuild deleted file mode 100644 index 0c0f70a126ac..000000000000 --- a/app-emulation/qemu/qemu-2.11.1-r2.ebuild +++ /dev/null @@ -1,805 +0,0 @@ -# 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 versionator - -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-r1.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 !snappy ) - 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:= ) - 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 - - #bug #647570 - conf_opts+=( --disable-capstone ) - - 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.12.0-r3.ebuild b/app-emulation/qemu/qemu-2.12.0-r3.ebuild index 09c83ab45b9c..e3243c485e2f 100644 --- a/app-emulation/qemu/qemu-2.12.0-r3.ebuild +++ b/app-emulation/qemu/qemu-2.12.0-r3.ebuild @@ -194,6 +194,7 @@ CDEPEND=" qemu_softmmu_targets_ppc64? ( ${PPC64_FIRMWARE_DEPEND} ) " DEPEND="${CDEPEND} + ${PYTHON_DEPS} dev-lang/perl =dev-lang/python-2* sys-apps/texinfo diff --git a/app-emulation/qemu/qemu-2.12.0-r4.ebuild b/app-emulation/qemu/qemu-2.12.0-r4.ebuild deleted file mode 100644 index d1057ce68be9..000000000000 --- a/app-emulation/qemu/qemu-2.12.0-r4.ebuild +++ /dev/null @@ -1,819 +0,0 @@ -# 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} ) -PYTHON_REQ_USE="ncurses,readline" - -PLOCALES="bg de_DE fr_FR hu it tr zh_CN" - -FIRMWARE_ABI_VERSION="2.11.1-r50" - -inherit eutils flag-o-matic linux-info toolchain-funcs multilib python-r1 \ - user udev fcaps readme.gentoo-r1 pax-utils l10n versionator - -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-r5.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 capstone +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 hppa i386 m68k microblaze microblazeel - mips mips64 mips64el mipsel nios2 or1k ppc ppc64 riscv32 riscv64 s390x - sh4 sh4eb sparc sparc64 x86_64 xtensa xtensaeb" -IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} - lm32 moxie ppcemb tricore unicore32" -IUSE_USER_TARGETS="${COMMON_TARGETS} - 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}) -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 !snappy ) - 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 external 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=" - dev-libs/libxml2[static-libs(+)] - x11-libs/libxkbcommon[static-libs(+)] - >=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(+)] ) - capstone? ( dev-libs/capstone ) - 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/libibumad:=[static-libs(+)] - sys-fabric/libibverbs:=[static-libs(+)] - 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:= ) - 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.1-capstone_include_path.patch - "${FILESDIR}"/${PN}-2.12.0-aarch64-simd-fix.patch - "${WORKDIR}"/patches -) - -STRIP_MASK="/usr/share/qemu/palcode-clipper" - -QA_PREBUILT=" - usr/share/qemu/hppa-firmware.img - 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 capstone) - $(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 - conf_opts+=( --disable-libxml2 ) - else - conf_opts+=( --enable-libxml2 ) - fi - - 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.12.1.ebuild b/app-emulation/qemu/qemu-2.12.1.ebuild new file mode 100644 index 000000000000..df4ccb5617bf --- /dev/null +++ b/app-emulation/qemu/qemu-2.12.1.ebuild @@ -0,0 +1,819 @@ +# 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} ) +PYTHON_REQ_USE="ncurses,readline" + +PLOCALES="bg de_DE fr_FR hu it tr zh_CN" + +FIRMWARE_ABI_VERSION="2.11.1-r50" + +inherit eutils flag-o-matic linux-info toolchain-funcs multilib python-r1 \ + user udev fcaps readme.gentoo-r1 pax-utils l10n versionator + +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-r1.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 capstone +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 hppa i386 m68k microblaze microblazeel + mips mips64 mips64el mipsel nios2 or1k ppc ppc64 riscv32 riscv64 s390x + sh4 sh4eb sparc sparc64 x86_64 xtensa xtensaeb" +IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} + lm32 moxie ppcemb tricore unicore32" +IUSE_USER_TARGETS="${COMMON_TARGETS} + 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}) +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 !snappy ) + 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 external 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=" + dev-libs/libxml2[static-libs(+)] + x11-libs/libxkbcommon[static-libs(+)] + >=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(+)] ) + capstone? ( dev-libs/capstone ) + 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/libibumad:=[static-libs(+)] + sys-fabric/libibverbs:=[static-libs(+)] + 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:= ) + 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} + ${PYTHON_DEPS} + 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.1-capstone_include_path.patch + "${WORKDIR}"/patches +) + +STRIP_MASK="/usr/share/qemu/palcode-clipper" + +QA_PREBUILT=" + usr/share/qemu/hppa-firmware.img + 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 capstone) + $(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 + conf_opts+=( --disable-libxml2 ) + else + conf_opts+=( --enable-libxml2 ) + fi + + 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-3.0.0.ebuild b/app-emulation/qemu/qemu-3.0.0.ebuild new file mode 100644 index 000000000000..b75764b462bc --- /dev/null +++ b/app-emulation/qemu/qemu-3.0.0.ebuild @@ -0,0 +1,819 @@ +# 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} ) +PYTHON_REQ_USE="ncurses,readline" + +PLOCALES="bg de_DE fr_FR hu it tr zh_CN" + +FIRMWARE_ABI_VERSION="2.11.1-r50" + +inherit eutils flag-o-matic linux-info toolchain-funcs multilib python-r1 \ + user udev fcaps readme.gentoo-r1 pax-utils l10n versionator + +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-r1.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 capstone +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 hppa i386 m68k microblaze microblazeel + mips mips64 mips64el mipsel nios2 or1k ppc ppc64 riscv32 riscv64 s390x + sh4 sh4eb sparc sparc64 x86_64 xtensa xtensaeb" +IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} + lm32 moxie ppcemb tricore unicore32" +IUSE_USER_TARGETS="${COMMON_TARGETS} + 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}) +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 !snappy ) + 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 external 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=" + dev-libs/libxml2[static-libs(+)] + x11-libs/libxkbcommon[static-libs(+)] + >=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(+)] ) + capstone? ( dev-libs/capstone ) + 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/libibumad:=[static-libs(+)] + sys-fabric/libibverbs:=[static-libs(+)] + 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:= ) + 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} + ${PYTHON_DEPS} + 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.1-capstone_include_path.patch + #"${WORKDIR}"/patches +) + +STRIP_MASK="/usr/share/qemu/palcode-clipper" + +QA_PREBUILT=" + usr/share/qemu/hppa-firmware.img + 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 capstone) + $(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 + conf_opts+=( --disable-libxml2 ) + else + conf_opts+=( --enable-libxml2 ) + fi + + 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 06726d977a2f..8f95e3f2a6e6 100644 --- a/app-emulation/qemu/qemu-9999.ebuild +++ b/app-emulation/qemu/qemu-9999.ebuild @@ -191,6 +191,7 @@ CDEPEND=" qemu_softmmu_targets_ppc64? ( ${PPC64_FIRMWARE_DEPEND} ) " DEPEND="${CDEPEND} + ${PYTHON_DEPS} dev-lang/perl =dev-lang/python-2* sys-apps/texinfo diff --git a/app-emulation/skopeo/Manifest b/app-emulation/skopeo/Manifest index 010d8b863e8e..944440a64e07 100644 --- a/app-emulation/skopeo/Manifest +++ b/app-emulation/skopeo/Manifest @@ -1,6 +1,8 @@ AUX skopeo-0.1.22-make-ostree-optional.patch 7351 BLAKE2B dbb8062f8d88bcc4b7d72863434a6d58c4afee8e591ab69ef20b3ce9d349fe80ee48b8e092c82d9326084b82233074fd9b09f056a8fe7eb89060b298e2b181d0 SHA512 c5292c23d144df89dd1d0ac6de2eb68eb2f852c3b0f095906ab1a9c3a29337ae514a0c754f561729d2b8b645e5c5b3fb18c2bffd3903db754c677667bd58e90f DIST skopeo-0.1.22.tar.gz 1921286 BLAKE2B 141f78d14cb47494af9e55541eeaa973c9e2065d6dcdc73a6ee296fd160a981b88a4464ebf803df56378f9de7d812721eab877386a4b756e6b914d2c08e44aca SHA512 10ed4e577b07f672540ff86774b5c5b6b7531765fd36313b9e4e6bf974840fee98ede193014977c381b96875cb9147307ee690f4fc8dd4f97d87681d7fa2f4f2 DIST skopeo-0.1.30.tar.gz 2700275 BLAKE2B d80125e1be32f3b490f5d66caa5b1bd482dc2203d0c37824bd40d06e240c347468f9635623344e6f9badd9dbbeed59383d5ec8ad81a9b8e01284bc48114470f6 SHA512 05ea7c54f1de7ab9676903a973c8039520fa023f295c705e600d01520c0f300d255268e41b9c716dc4a1f01e951d9b73acf24d5a1bc891f694798a3eb085f061 +DIST skopeo-0.1.31.tar.gz 2886364 BLAKE2B 9ef9eb4fdd722216f15e14de6702aa0dfe3331b83acb803221b8f76a36428749b6bc302cb3ea2772dd42aefc336a80ad823cfcda9fc054a01f672cf7464592a1 SHA512 660856d962310f0274f3c2507a9a5cbfd8ceb205a3d2fdf30ebde856602151917492082356f6031e5d041ce02e53e562e83cba58259cdc456363f7af56b2507b EBUILD skopeo-0.1.22.ebuild 1341 BLAKE2B 7ad0f306ac63766a536809f9b895bd8a2a677c152f9806b593355cef618efd6aef8b1e2c8f70f979eeb1f99a8ba365b440dc9252f80cbbf0d4e882cef1840fba SHA512 84e7d05d76f896ef62021a80c093df74a575ccf2c79cab2f80e47b01e4d9ee4f60ee4713738d887579eb617a5e95d68a017c026d899c0a4d2d40b9ee5752a0e4 EBUILD skopeo-0.1.30.ebuild 1292 BLAKE2B 554710ddbd65d0b3930ac4a0e23ce8cd2336cbc640a04e73afd885bfab1e5c84004b3e27e45ba86b19c40907cc4e28f37806cf6cef5c0e863d47da5a849cc3ea SHA512 708996e9c9bd91b474e6b443874d34c5c5752a64835ec7b279ae0c442ccbe28820bb003a1ab90fae8e23a9b8c534250c7f77f8574eef910dd8a64f5fe2449dec +EBUILD skopeo-0.1.31.ebuild 1292 BLAKE2B 29f2228680d49b433e5376d230fe55e751d680ec24b9fd5755ba71cf635b2e8e416aef85ef0541e5e691f3ccdde5576bb43e9b7c8835aff8d2ffebc3298d83bb SHA512 11782377ce6d4263dc678e141f4b8ab96e0702e0f6b893ce41ad46f09fbcf837a20066622bd51e6640df3c5a72dd226f7879dacaf660b47d1e4d45771dde27e6 MISC metadata.xml 248 BLAKE2B 5d9c3678c604aac0f24c5d5015e28f02b9ce83bb6a179755a44adeb3d69e4dd50be4acc30a6317649f5be23bcf13ac210bbe4712aa403e9c4cf2de351b39c941 SHA512 dc5b06a888be6367909895d5891a08189f4657bcee602e5ff0021be2ad3677e58ec7387ff244625be66a142138666e7eac790d2a7b1e298f0ad644725b5e57e0 diff --git a/app-emulation/skopeo/skopeo-0.1.31.ebuild b/app-emulation/skopeo/skopeo-0.1.31.ebuild new file mode 100644 index 000000000000..435c19e79825 --- /dev/null +++ b/app-emulation/skopeo/skopeo-0.1.31.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +EGO_PN=github.com/projectatomic/skopeo +COMMIT=b0b750d +inherit golang-vcs-snapshot + +DESCRIPTION="Command line utility foroperations on container images and image repositories" +HOMEPAGE="https://github.com/projectatomic/skopeo" +SRC_URI="https://github.com/projectatomic/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" +IUSE="" + +COMMON_DEPEND=">=app-crypt/gpgme-1.5.5:= + >=dev-libs/libassuan-2.4.3 + >=sys-fs/btrfs-progs-4.0.1 + >=sys-fs/lvm2-2.02.145" +DEPEND="${COMMON_DEPEND} + dev-go/go-md2man" +RDEPEND="${COMMON_DEPEND}" + +S="${WORKDIR}/${P}/src/${EGO_PN}" + +RESTRICT="test" + +src_compile() { + local BUILDTAGS="containers_image_ostree_stub" + set -- env GOPATH="${WORKDIR}/${P}" \ + go build -ldflags "-X main.gitCommit=${COMMIT}" \ + -gcflags "${GOGCFLAGS}" -tags "${BUILDTAGS}" \ + -o skopeo ./cmd/skopeo + echo "$@" + "$@" || die + cd docs || die + for f in *.1.md; do + go-md2man -in ${f} -out ${f%%.md} || die + done +} + +src_install() { + dobin skopeo + doman docs/*.1 + insinto /etc/containers + newins default-policy.json policy.json + insinto /etc/containers/registries.d + doins default.yaml + keepdir /var/lib/atomic/sigstore + einstalldocs +} diff --git a/app-emulation/spice-protocol/Manifest b/app-emulation/spice-protocol/Manifest index a3bed4a83ab7..2eab4ea35672 100644 --- a/app-emulation/spice-protocol/Manifest +++ b/app-emulation/spice-protocol/Manifest @@ -1,6 +1,6 @@ -DIST spice-protocol-0.12.12.tar.bz2 80628 BLAKE2B 86ae09a97606e227828117e19c76742504a147489222d307893de6efb71f36a62750b23245f37e52b8df1de9b477f8d3d2e2ce2ec7656da4eed42697b080b018 SHA512 66e7a902b3c4a5a778cb91ffd9d324b12d414184146ac834dfb3bd81b4b6b1bb56258d3e1ce240b6f8747e1960fce8f0f6b0ada3617e9f9819be7118195fce6b DIST spice-protocol-0.12.13.tar.bz2 73259 BLAKE2B f8694c6144cbe77d84b78c38f87f3f473b80ed97cb51e9fb89a89e66410ab8bf853f51bfa175d431ad8397e25481b7c4bae1614119b74bf95420bca531a38db3 SHA512 55840020a7a538e72bf53d2124a6b1920dd2d567418cf02dc33783ae5c78154d5c832d69f2e6570453c4086194b417d10687884de20365c13657ad7ca7b2ae02 -EBUILD spice-protocol-0.12.12.ebuild 394 BLAKE2B 210264303cdd1656a2a8ed4a9b7ce1ec770be103282cd52029c7654112aba17ddff38f7a4a7e26c97880e1a434dea2cf276e03dd29496775b3ba5abb21e8b945 SHA512 3707ec4d90a0c950649b2b45b908232aefbf08c49de5b6d2a884976b83f7193446f1517959fcf54e9557d62292ef6223f58b8b02ebc80fcbe17cbda5253dc0f9 +DIST spice-protocol-0.12.14.tar.bz2 74471 BLAKE2B ee90514f3c6ee0c8f6930e5fd0140e20447b1613f202186883a9a17eefaacbd83ff2f2cdb68b46cd1573de4cce288965a1b531ded1ab4da52c24c2c3ad098192 SHA512 4266bcbef9f641a97a2ff72f1b01380a41e51f4b1a0dbb73fdf68baf552598a62d5cf0c526adf2997a55ee5d4fe9392927c3d7f4556827bfb2933f59bfab55bb EBUILD spice-protocol-0.12.13.ebuild 394 BLAKE2B 4de3f75f7e0e76d338f3f9781cb0ede871c224f2af896646775cffbc13b2137207f0e7558f4069f555e2ab4af4f147841302737174fc178a75f7100ca28a5302 SHA512 786f8da71e62ecc280c42d8807446c56c5e8d62baecfd3dc7f1f74dc1cfb6ce8e7a003b7c354a24c39f053bc6fc097041bf7ca831ad6a938682aba10fd146b49 +EBUILD spice-protocol-0.12.14.ebuild 396 BLAKE2B 22bb86a09e4b6da09f033f79ab20ee6a05a0e2e2a2e8e9908a8e0f47507db618fe7677c9ee22fe63f13ff7424a9923680418f965d5a1e3a1acada228d883a0b5 SHA512 a24234a51ba186f65e170532161b593f355e45050ac6358be28b649785b5c2380ffda138d4751e715bdc7e7baa6393d6dd72359fec285cb869a42eb01bed3e3e EBUILD spice-protocol-9999.ebuild 629 BLAKE2B bccee12567d2d495a1ed2fd5418867540e6293cd071ecd8e6e77dadf5189eeabef3222450acea9c0832dce027e9ee9d93c77e2a8b3d29e5ebb2ea29791a7f199 SHA512 ff78d51efbfb26d41650149e9f5ef0222a1d8a43da0aa3b32561a139beadb9218bd00b6383ffe5c876fed39a8326c8597e0a497aab993a22688e0a6b1b228327 MISC metadata.xml 271 BLAKE2B 0ac34325897226d2062f0b77cc069fcacd6026432b276adcdc2e7c9ef532cc1900855dd821d0b6314ac77488fd0695f916e821fc11148f3b9f2753bc97afbe2f SHA512 0cd444be2e9b4a1530671dc4fc88a2177541dceb453dca10a1778938d8f114caaa55a01551b662c29e0e775aa9e9df9389b4a5d5ab4fba643da447ac2e7aca32 diff --git a/app-emulation/spice-protocol/spice-protocol-0.12.12.ebuild b/app-emulation/spice-protocol/spice-protocol-0.12.12.ebuild deleted file mode 100644 index c7c7f4ece7b3..000000000000 --- a/app-emulation/spice-protocol/spice-protocol-0.12.12.ebuild +++ /dev/null @@ -1,16 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -DESCRIPTION="Headers defining the SPICE protocol" -HOMEPAGE="https://www.spice-space.org/" -SRC_URI="https://www.spice-space.org/download/releases/${P}.tar.bz2" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc x86" -IUSE="" - -DEPEND="" -RDEPEND="" diff --git a/app-emulation/spice-protocol/spice-protocol-0.12.14.ebuild b/app-emulation/spice-protocol/spice-protocol-0.12.14.ebuild new file mode 100644 index 000000000000..75b635646715 --- /dev/null +++ b/app-emulation/spice-protocol/spice-protocol-0.12.14.ebuild @@ -0,0 +1,16 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +DESCRIPTION="Headers defining the SPICE protocol" +HOMEPAGE="https://www.spice-space.org/" +SRC_URI="https://www.spice-space.org/download/releases/${P}.tar.bz2" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86" +IUSE="" + +DEPEND="" +RDEPEND="" diff --git a/app-emulation/spice/Manifest b/app-emulation/spice/Manifest index b03e8c4f61ff..f6276164e264 100644 --- a/app-emulation/spice/Manifest +++ b/app-emulation/spice/Manifest @@ -1,13 +1,8 @@ AUX README.gentoo 270 BLAKE2B 979c3e8d2a3c1d4f30af8f2d9954434dd685abf42992abf0e63e9dbe2d16d8fb3b135ecf3b81344e12d585ed92543d6b8adffb01e55772964de0f97f320d785c SHA512 9202046d629d12eee0435bb0ee8bafc1d8a0b52784275a7b3989fd430de8ed0ec2e59cfdf963a58494a05296a55bc99fe7095e661398182d62286e8816895dd1 -AUX spice-0.13.3-reds-Avoid-buffer-overflows-handling-monitor-configu.patch 1902 BLAKE2B c92ae0d53f805efa8787ef9bd88a83b3cd56f95a544d5890005330c49b296884672bd913d357f4325a81d981b57bbc0d5ee0fc2a8bb10c40fb22cf762e9fb747 SHA512 c2091c688158291a87aa834125083dc8572faadaf43f05f68721b3f9bde40eda232793e720fafe9ece93aa7287e5e1fc3e4fd7a7ec30130c2e9af0b9297c9e14 -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-fix-flexible-array-buffer-overflow.patch 684 BLAKE2B dfbbf0fd8231d48b82bc907b8a2b84cc78f701e04ec9e265061bc68136a3f0c53e3884997ccaf1a3558772a43bd78dc3d7e7509e7c014fa0a00860ef7a7cfb4e SHA512 bd69990b33fa0f5bded35d8e37a51cf87f28c44dedbc24f73d682d465e5514fd809b6fcd95e067a9f5adcb0e1a3b10c8a739412feac088d058e44970268815be AUX spice-0.14.0-libressl_fix.patch 530 BLAKE2B 136e0b87931d487a018cdf0be4acfc0b05d474eb2e1a0583e05f9184ac6aa3b3a5dc58537ed167b13655b9180f06ba489c7805caa95d39a1af1fff410000e675 SHA512 f29f0a47edb2552b0908d0ceea7546efa90ad572217ce9184da031507be9f65a83ef39684dc3d8610bea4993a8f26ed78bce17781c893a4fca1cbdf9ba5140e3 AUX spice-0.14.0-openssl1.1_fix.patch 614 BLAKE2B fb7b39e73d37bc6ab27035c7d7a742fa648afb62777bcbd9dbdd7480b5b5461da6147b4f3368e04aaf04f8ef5780aeab1e7679f4fcf7aa1005df7d28a4fca7a1 SHA512 1b0b83b7222af0f60bdb5a3469881a4e84f8df824d2741710da04b8bdec95e691f97137f2ee67ad71065918b329285d215aa086d5f46dc83b18334eb17ef6dc8 -DIST spice-0.13.3.tar.bz2 1322505 BLAKE2B 56f9cd34bb48fdcf750230242b27567db713ef749649d4b780a82d0d4ec5d326b19540c9bb4f36c164d40a692eb0368c39e05ee8dba319dd8461a0315e5a9a17 SHA512 63496fbd3df0fd453052cef8e1fb00a3a28f0105610676fdc4a58043cbc6da571ae4407701af2b817e410d05ce727d60d5ee0c93c8897231e25229897c51d95a 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.14.0-r1.ebuild 2441 BLAKE2B a432d483ea50e5ff01e7e44feeb4db6597e83fa013e175b8723ab0e693c5339db1c9586cee671b9a01b0e49db6ffc76294803543123014cb91fd48ad21696d0e SHA512 121da2c47e2a214ab63f56e3a1aa462f3ef629890be79e50d4d8a380600f21304533b7fc700d7b3c4c9e4f6fd45c810ed495f54e608eb756ec79f90967450e12 +EBUILD spice-0.14.0-r2.ebuild 2502 BLAKE2B 92e56c8ebdbfc2e1dca80b30c35c24f4045b32da9151c203305b6e51adbe6364a3a3fa8cf7d1629ca5fb6cc6415d60dc9ea00a0a1c3f59cdec12f63dc7547e0d SHA512 88b1806d6aac6923bfff9694c5cb33176a98320d9a0143e5fc93e8dc9345932778c4a0857eda4ec45bc5ba7ee5c970e031ff6c3de1200f5af1ba934dfe36c67d EBUILD spice-9999.ebuild 2352 BLAKE2B 5c858640f75e932517b6e6d02a9295885790282311bdefd18a44d77a1e245f9037245ef3d15c65d505be0583427eed7a38222dc776635c6be952bd1d1468b9ed SHA512 4fd7bbe6296eefd04e65510e7983a329e58fa80ffac67f76be7ab35d007d6eadd87cea27e6db1d223bfc92d912ef8ec67e40a07b12092ce554872ca37e2e24fe MISC metadata.xml 476 BLAKE2B 2cda64935d0117db099551f30928c447c4d1d7f4e1c355e619c0134ec31e4d7779b646329218c48f9be671d0f0e92fa496caaa34f6aa4136748dd9bd6d2d868a SHA512 3ae95b689c812e19679cb9a9db2f0811077a4eb205cadf4baeb78a2ddfeb7fc0086e2514540fad59e447bbca6c9dba81001a8ff156a1d18ba2d58171ba301f9b diff --git a/app-emulation/spice/files/spice-0.13.3-reds-Avoid-buffer-overflows-handling-monitor-configu.patch b/app-emulation/spice/files/spice-0.13.3-reds-Avoid-buffer-overflows-handling-monitor-configu.patch deleted file mode 100644 index 8792395977e9..000000000000 --- a/app-emulation/spice/files/spice-0.13.3-reds-Avoid-buffer-overflows-handling-monitor-configu.patch +++ /dev/null @@ -1,47 +0,0 @@ -Matthias Maier - - - Ported to 0.13.3 - - -From fbbcdad773e2791cfb988f4748faa41943551ca6 Mon Sep 17 00:00:00 2001 -From: Frediano Ziglio -Date: Mon, 15 May 2017 15:57:28 +0100 -Subject: [PATCH 3/3] reds: Avoid buffer overflows handling monitor - configuration - -It was also possible for a malicious client to set -VDAgentMonitorsConfig::num_of_monitors to a number larger -than the actual size of VDAgentMOnitorsConfig::monitors. -This would lead to buffer overflows, which could allow the guest to -read part of the host memory. This might cause write overflows in the -host as well, but controlling the content of such buffers seems -complicated. - -Signed-off-by: Frediano Ziglio ---- - -diff --git a/server/reds.c b/server/reds.c -index ec89105..fd1457f 100644 ---- a/server/reds.c -+++ b/server/reds.c -@@ -1084,6 +1084,7 @@ static void reds_on_main_agent_monitors_config(RedsState *reds, - VDAgentMessage *msg_header; - VDAgentMonitorsConfig *monitors_config; - RedsClientMonitorsConfig *cmc = &reds->client_monitors_config; -+ uint32_t max_monitors; - - // limit size of message sent by the client as this can cause a DoS through - // memory exhaustion, or potentially some integer overflows -@@ -1113,6 +1114,12 @@ static void reds_on_main_agent_monitors_config(RedsState *reds, - goto overflow; - } - monitors_config = (VDAgentMonitorsConfig *)(cmc->buffer + sizeof(*msg_header)); -+ // limit the monitor number to avoid buffer overflows -+ max_monitors = (msg_header->size - sizeof(VDAgentMonitorsConfig)) / -+ sizeof(VDAgentMonConfig); -+ if (monitors_config->num_of_monitors > max_monitors) { -+ goto overflow; -+ } - spice_debug("%s: %d", __func__, monitors_config->num_of_monitors); - reds_client_monitors_config(reds, monitors_config); - reds_client_monitors_config_cleanup(reds); diff --git a/app-emulation/spice/files/spice-0.13.3-reds-Avoid-integer-overflows-handling-monitor-config.patch b/app-emulation/spice/files/spice-0.13.3-reds-Avoid-integer-overflows-handling-monitor-config.patch deleted file mode 100644 index f05e55c7354a..000000000000 --- a/app-emulation/spice/files/spice-0.13.3-reds-Avoid-integer-overflows-handling-monitor-config.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 571cec91e71c2aae0d5f439ea2d8439d0c3d75eb Mon Sep 17 00:00:00 2001 -From: Frediano Ziglio -Date: Mon, 15 May 2017 15:57:28 +0100 -Subject: [PATCH 2/3] reds: Avoid integer overflows handling monitor - configuration - -Avoid VDAgentMessage::size integer overflows. - -Signed-off-by: Frediano Ziglio ---- - server/reds.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/server/reds.c b/server/reds.c -index ec2b6f47..656f518f 100644 ---- a/server/reds.c -+++ b/server/reds.c -@@ -1131,6 +1131,9 @@ static void reds_on_main_agent_monitors_config(RedsState *reds, - spice_debug("not enough data yet. %zd", cmc->offset); - return; - } -+ if (msg_header->size < sizeof(VDAgentMonitorsConfig)) { -+ goto overflow; -+ } - monitors_config = (VDAgentMonitorsConfig *)(cmc->buffer + sizeof(*msg_header)); - spice_debug("monitors_config->num_of_monitors: %d", monitors_config->num_of_monitors); - reds_client_monitors_config(reds, monitors_config); --- -2.13.0 - diff --git a/app-emulation/spice/files/spice-0.13.3-reds-Disconnect-when-receiving-overly-big-ClientMoni.patch b/app-emulation/spice/files/spice-0.13.3-reds-Disconnect-when-receiving-overly-big-ClientMoni.patch deleted file mode 100644 index 2cd186482ad9..000000000000 --- a/app-emulation/spice/files/spice-0.13.3-reds-Disconnect-when-receiving-overly-big-ClientMoni.patch +++ /dev/null @@ -1,75 +0,0 @@ -Matthias Maier - - - Ported to 0.13.3 - - -From 111ab38611cef5012f1565a65fa2d8a8a05cce37 Mon Sep 17 00:00:00 2001 -From: Frediano Ziglio -Date: Mon, 15 May 2017 15:57:28 +0100 -Subject: [PATCH 1/3] reds: Disconnect when receiving overly big - ClientMonitorsConfig - -Total message size received from the client was unlimited. There is -a 2kiB size check on individual agent messages, but the MonitorsConfig -message can be split in multiple chunks, and the size of the -non-chunked MonitorsConfig message was never checked. This could easily -lead to memory exhaustion on the host. - -Signed-off-by: Frediano Ziglio ---- - -diff --git a/server/reds.c b/server/reds.c -index 92feea1..286993b 100644 ---- a/server/reds.c -+++ b/server/reds.c -@@ -1077,19 +1077,35 @@ static void reds_client_monitors_config_cleanup(RedsState *reds) - static void reds_on_main_agent_monitors_config(RedsState *reds, - MainChannelClient *mcc, void *message, size_t size) - { -+ const unsigned int MAX_MONITORS = 256; -+ const unsigned int MAX_MONITOR_CONFIG_SIZE = -+ sizeof(VDAgentMonitorsConfig) + MAX_MONITORS * sizeof(VDAgentMonConfig); -+ - VDAgentMessage *msg_header; - VDAgentMonitorsConfig *monitors_config; - RedsClientMonitorsConfig *cmc = &reds->client_monitors_config; - -+ // limit size of message sent by the client as this can cause a DoS through -+ // memory exhaustion, or potentially some integer overflows -+ if (sizeof(VDAgentMessage) + MAX_MONITOR_CONFIG_SIZE - cmc->buffer_size < size) { -+ goto overflow; -+ } -+ - cmc->buffer_size += size; - cmc->buffer = realloc(cmc->buffer, cmc->buffer_size); - spice_assert(cmc->buffer); - cmc->mcc = mcc; - memcpy(cmc->buffer + cmc->buffer_pos, message, size); - cmc->buffer_pos += size; -+ if (sizeof(VDAgentMessage) > cmc->buffer_size) { -+ spice_debug("not enough data yet. %d", cmc->buffer_size); -+ return; -+ } - msg_header = (VDAgentMessage *)cmc->buffer; -- if (sizeof(VDAgentMessage) > cmc->buffer_size || -- msg_header->size > cmc->buffer_size - sizeof(VDAgentMessage)) { -+ if (msg_header->size > MAX_MONITOR_CONFIG_SIZE) { -+ goto overflow; -+ } -+ if (msg_header->size > cmc->buffer_size - sizeof(VDAgentMessage)) { - spice_debug("not enough data yet. %d", cmc->buffer_size); - return; - } -@@ -1097,6 +1113,12 @@ static void reds_on_main_agent_monitors_config(RedsState *reds, - spice_debug("%s: %d", __func__, monitors_config->num_of_monitors); - reds_client_monitors_config(reds, monitors_config); - reds_client_monitors_config_cleanup(reds); -+ return; -+ -+overflow: -+ spice_warning("received invalid MonitorsConfig request from client, disconnecting"); -+ red_channel_client_disconnect(RED_CHANNEL_CLIENT(mcc)); -+ reds_client_monitors_config_cleanup(reds); - } - - void reds_on_main_agent_data(RedsState *reds, MainChannelClient *mcc, void *message, size_t size) diff --git a/app-emulation/spice/files/spice-0.13.3-skip_faulty_lz4_check.patch b/app-emulation/spice/files/spice-0.13.3-skip_faulty_lz4_check.patch deleted file mode 100644 index 6ae65ba6d13c..000000000000 --- a/app-emulation/spice/files/spice-0.13.3-skip_faulty_lz4_check.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/spice-common/m4/spice-deps.m4 b/spice-common/m4/spice-deps.m4 -index adedec4..6cb8bde 100644 ---- a/spice-common/m4/spice-deps.m4 -+++ b/spice-common/m4/spice-deps.m4 -@@ -185,7 +185,7 @@ AC_DEFUN([SPICE_CHECK_LZ4], [ - - have_lz4="no" - if test "x$enable_lz4" != "xno"; then -- PKG_CHECK_MODULES([LZ4], [liblz4 >= 129], [have_lz4="yes"], [have_lz4="no"]) -+ PKG_CHECK_MODULES([LZ4], [liblz4], [have_lz4="yes"], [have_lz4="no"]) - - if test "x$have_lz4" = "xyes"; then - AC_DEFINE(USE_LZ4, [1], [Define to build with lz4 support]) diff --git a/app-emulation/spice/files/spice-0.14.0-fix-flexible-array-buffer-overflow.patch b/app-emulation/spice/files/spice-0.14.0-fix-flexible-array-buffer-overflow.patch new file mode 100644 index 000000000000..a05bbb7545aa --- /dev/null +++ b/app-emulation/spice/files/spice-0.14.0-fix-flexible-array-buffer-overflow.patch @@ -0,0 +1,12 @@ +diff --git a/spice-common/python_modules/demarshal.py b/spice-common/python_modules/demarshal.py +index 1ea131d..7172762 100644 +--- a/spice-common/python_modules/demarshal.py ++++ b/spice-common/python_modules/demarshal.py +@@ -318,6 +318,7 @@ def write_validate_array_item(writer, container, item, scope, parent_scope, star + writer.assign(nelements, array.size) + elif array.is_remaining_length(): + if element_type.is_fixed_nw_size(): ++ writer.error_check("%s > message_end" % item.get_position()) + if element_type.get_fixed_nw_size() == 1: + writer.assign(nelements, "message_end - %s" % item.get_position()) + else: diff --git a/app-emulation/spice/spice-0.13.3-r2.ebuild b/app-emulation/spice/spice-0.13.3-r2.ebuild deleted file mode 100644 index 557c17470c39..000000000000 --- a/app-emulation/spice/spice-0.13.3-r2.ebuild +++ /dev/null @@ -1,104 +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] )" - -PATCHES=( - "${FILESDIR}"/${PN}-0.13.3-skip_faulty_lz4_check.patch - "${FILESDIR}"/${PN}-0.13.3-reds-Disconnect-when-receiving-overly-big-ClientMoni.patch - "${FILESDIR}"/${PN}-0.13.3-reds-Avoid-integer-overflows-handling-monitor-config.patch - "${FILESDIR}"/${PN}-0.13.3-reds-Avoid-buffer-overflows-handling-monitor-configu.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") - --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-r1.ebuild b/app-emulation/spice/spice-0.14.0-r1.ebuild deleted file mode 100644 index b3727d668a7e..000000000000 --- a/app-emulation/spice/spice-0.14.0-r1.ebuild +++ /dev/null @@ -1,101 +0,0 @@ -# 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-lang/orc[static-libs(+)?] - >=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/spice/spice-0.14.0-r2.ebuild b/app-emulation/spice/spice-0.14.0-r2.ebuild new file mode 100644 index 000000000000..b926d8a16b9f --- /dev/null +++ b/app-emulation/spice/spice-0.14.0-r2.ebuild @@ -0,0 +1,102 @@ +# 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-lang/orc[static-libs(+)?] + >=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 + "${FILESDIR}"/${P}-fix-flexible-array-buffer-overflow.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/virt-viewer/Manifest b/app-emulation/virt-viewer/Manifest index 62e30f14e673..4e7d1a0e0b3b 100644 --- a/app-emulation/virt-viewer/Manifest +++ b/app-emulation/virt-viewer/Manifest @@ -1,3 +1,5 @@ DIST virt-viewer-6.0.tar.gz 922916 BLAKE2B 1c2246369474d06188dc2191b9756dbe69cff2d5f997ffb58bdab1143a0e4d6cda0e43b4b082d7921125caa4348635762070fa8e6686ccf7728a90e4e6fc3a18 SHA512 656d48f8ab387d025c406cb5f56164d79104c6c377fae37d9c524b90e512fe873d5d1d6c435d4ea95e71468b7d3384b89789495075cafb1a9e67f583f7d49ec2 +DIST virt-viewer-7.0.tar.gz 924475 BLAKE2B 003efaf88445ec6f523e678459ed1e11562d0cd87fb4811105df9ac1e3129f4a97170c5b783f1d504d157055ae51ac8dc23ffa8f3f79dd6cd55707d962e1d9ad SHA512 e0558c9138877f546add6a3df9721e100cadb6953815be82b2376b0521b82cf14052bdc29c42bb03b198b6e9d129a55d33531a153207d7f29b5c1c3402ebc904 EBUILD virt-viewer-6.0-r1.ebuild 916 BLAKE2B c43af1747c961f6e90bfc6d472047ba056ba60417a8252adbadc89d3cf15438efda23bc98da745fa26d4e3fc779821d7fc6aa756623e6ed6e84266245f51f6f9 SHA512 995db1ae9baad0d2fa3407c85da1d278706ad04a6a7d5d2dd2ad0e046b465242a31921e52e7712875cd582d0c7abccc111ad11be5b344ce1b89e7364fef571e7 +EBUILD virt-viewer-7.0.ebuild 918 BLAKE2B 9e5aa923c51e223fbbf050a79f75e07f0ae306d616b4261dc46fc8ac81c0a574496c3456a6ad63beff7475be868d1993d22b56c340da7d5fc3c25760824b66aa SHA512 8ec6e90b0e7c852d48e76099410ae46ded70c1650a9fcb2c1b358117451b69b91ce0dde0fdb14180d87859ecf6672caebc47f24f6f44c110e177ace13142b9ca MISC metadata.xml 452 BLAKE2B cb307dd6593ae8c96ca9c6925783e0b26335f1d1b11c21ccbf7e54003ef2e9e32701304464380afea75a642914e2334c053417aa5e18de5737443b2b60f65d0d SHA512 c97651a4477db1452310d3b53efec56c596963827d1b13385bdbaee5bd8725774b40edc88dc5389b5c0a4ac50f9801de5f649d8f941d315f1e28b6ebf1c9cb79 diff --git a/app-emulation/virt-viewer/virt-viewer-7.0.ebuild b/app-emulation/virt-viewer/virt-viewer-7.0.ebuild new file mode 100644 index 000000000000..1e5a8852a7e0 --- /dev/null +++ b/app-emulation/virt-viewer/virt-viewer-7.0.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2018 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.33[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/virtualbox-additions/Manifest b/app-emulation/virtualbox-additions/Manifest index c8cf07f356fb..5d417eeb6c05 100644 --- a/app-emulation/virtualbox-additions/Manifest +++ b/app-emulation/virtualbox-additions/Manifest @@ -2,8 +2,10 @@ DIST VBoxGuestAdditions_5.1.36.iso 59596800 BLAKE2B c735a88f534b27f1f2f29d125d0f DIST VBoxGuestAdditions_5.1.38.iso 59611136 BLAKE2B cde4ceb59159827304c99ab00fac4cd3598600c252e7b5a410a5be6ea50866ed2efae4ead9e5c4c1a1462b1cd6db973bd4b35b56d426934e80898837c536e778 SHA512 e082e6363e1e6fa8a7b6b6b4847e9f2ed17655b0ac143467553150f910d71e4dfff55686c38464dc60f77c57292610d13dc25ee5423877173467a86cfe232a3b DIST VBoxGuestAdditions_5.2.14.iso 57978880 BLAKE2B de5cb3c5b7e2f3ee018588308573389fd973820e87d5b2e6640499c96dc21db95e71eb4e5e2469455febba8b2ccb4a7c6014176e784613218fa7eccabefe9e53 SHA512 1fd878f9e7fc1687907ac8dff6827bfd7aefe3ed48012b0dbbaf42ced21695ce52be6fe146128a6d1c67c7a0c5c39c9ef24e8ee562271fda117d13cca81427cb DIST VBoxGuestAdditions_5.2.16.iso 57976832 BLAKE2B 78c8d71e2a68306efaf2951d73099b7199e15d83d9fc2c70f73266fdf59798948b22815234a5e30eff43471fcb8a5967c74a439d79b5ed47971dd170498145de SHA512 f25bf8ce789f640e5a80ac55c5d1918702bfed711aeacddc951948dcb56a4aa43a5a4e8760e3b8cc6e18eee18eabff032dd8fff8b95cc18bc60177b0a481b592 +DIST VBoxGuestAdditions_5.2.18.iso 57976832 BLAKE2B d212345e99856699ab43e83d747937a4bb7b0ee57dfa58d3e06d910fa94bb01a570afc2d5faa2ec64fd9c7377a0ab4c2bda32af5557b0655bc9cf30dc9c01691 SHA512 f4328afd4947e0e9d2f15bc15ec6ca7d9207d3d46e936d6575789e5a4f27ea271137b6f23592ff992530047a76393cdedd0dc8b10f61d7c94da5f5c7bd484a1c EBUILD virtualbox-additions-5.1.36-r1.ebuild 729 BLAKE2B f792450477b1a6b5689018926bce6a30608b288db6a9f546ea52bbc2dd463ba1c71c5dbe4a4970bce3a7dd3d92d6b9fa1e30ffc288f7a4597214021b6bacbde9 SHA512 3d90155e5c821b4831a31a154cbb7fcc31dd2b88637853b5dc8c3393158f555d1b6c3b5bff1856b363b12cd6e6ee039e08dec1aace2751ad618aa719dfef7074 EBUILD virtualbox-additions-5.1.38.ebuild 731 BLAKE2B 4784dde2f78825df471f012b87a1af33b1de8c1ed38771f9063eaf03fd186b3410c373012044884107fc9645ad97ccabcb80643215a02754d357fb4b58c68309 SHA512 e0b2b41a355e2d46efbc4205bf7721fe0d8647e479200e93ebc1576b5cbfc1609a4dc35b215798006a53e45908908f75366919226b05527b6cad7647d06b03db EBUILD virtualbox-additions-5.2.14.ebuild 713 BLAKE2B a15e47b3d4c380d7fcf8c10a9bef4a16ccb0c34e0cad6fcdc7ccbbe20bb6a869a3d9906f98169219e7b6e6e77fc1f18d93859c133fe50dfae34899ddbbf9de44 SHA512 4898ace6d451998c593dffcbaf841c7e6b0944d96e364bde9c301d600f00dd8c0037e96bc0b42c4d0e5f5e5a35d1eb7ed1f8260541505ba8cf88cb17e9fb0e26 EBUILD virtualbox-additions-5.2.16.ebuild 715 BLAKE2B 62ab7ae8b0a0fd236b4ca76a01948c1e5cd55def6e61983e73e7270e5cf45a7e679157bb9b0dd82c6fdd159d0a4d03d24beebc3b5c0ba24a3e225b65d52c9340 SHA512 92ad5b98e63888de898eaa86042fcd306b9a97502dac4805da502cff8e0462828200c09cbc59ad110508527ca830a288e311d15917410b42fdc7729ac2b2f49d +EBUILD virtualbox-additions-5.2.18.ebuild 715 BLAKE2B 62ab7ae8b0a0fd236b4ca76a01948c1e5cd55def6e61983e73e7270e5cf45a7e679157bb9b0dd82c6fdd159d0a4d03d24beebc3b5c0ba24a3e225b65d52c9340 SHA512 92ad5b98e63888de898eaa86042fcd306b9a97502dac4805da502cff8e0462828200c09cbc59ad110508527ca830a288e311d15917410b42fdc7729ac2b2f49d MISC metadata.xml 260 BLAKE2B 55d9eb1793faf23ffb69c904a9daf755cefe1b1e04fc2331e792a81acc1b699591acb85e005a96e70167e4eba8444e0cfc8f03be4fcdc19487ad6b1cea356f4a SHA512 443c9c27369b12fa4d23ac7e9add34dbf93b54d560ca946dac97801698b79401a80d88c6570530e641ad4f7231a8c1419682e1e11af2b171ca2854c598e05635 diff --git a/app-emulation/virtualbox-additions/virtualbox-additions-5.2.18.ebuild b/app-emulation/virtualbox-additions/virtualbox-additions-5.2.18.ebuild new file mode 100644 index 000000000000..93e9fc9b6d49 --- /dev/null +++ b/app-emulation/virtualbox-additions/virtualbox-additions-5.2.18.ebuild @@ -0,0 +1,33 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +MY_PN=VBoxGuestAdditions +MY_PV="${PV/beta/BETA}" +MY_PV="${MY_PV/rc/RC}" +MY_P=${MY_PN}_${MY_PV} + +DESCRIPTION="CD image containing guest additions for VirtualBox" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.iso" + +LICENSE="GPL-2+ LGPL-2.1+ MIT SGI-B-2.0 CDDL" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" +RESTRICT="mirror" + +RDEPEND="!app-emulation/virtualbox-bin + !=app-emulation/virtualbox-9999" + +S="${WORKDIR}" + +src_unpack() { + return 0 +} + +src_install() { + insinto /usr/share/${PN/-additions} + newins "${DISTDIR}"/${MY_P}.iso ${MY_PN}.iso +} diff --git a/app-emulation/virtualbox-bin/Manifest b/app-emulation/virtualbox-bin/Manifest index 6c1794466a48..1b1957cc0c16 100644 --- a/app-emulation/virtualbox-bin/Manifest +++ b/app-emulation/virtualbox-bin/Manifest @@ -8,6 +8,7 @@ DIST Oracle_VM_VirtualBox_Extension_Pack-5.1.36-122089.tar.gz 19605234 BLAKE2B 4 DIST Oracle_VM_VirtualBox_Extension_Pack-5.1.38-122592.tar.gz 19717251 BLAKE2B 90dcaa58284c6dc9101dbc8eb9ceda55d16c4a48fd58fb43c4a6b7d3d5c582c31930f6e773397ae9379e75771c88b40aad276436bb1d56a71a8e744353e04ec9 SHA512 ba44d53e06adababd0ac7c8a68ea025e1e7afd39fe648079bbb879e81130d45f00b944795cfd37f7f05c16d5a7723b85c49a8435c8399180af627dd3b3de00bc DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.14-123301.tar.gz 19589209 BLAKE2B 385bdfb4cef67788a1dd3e758f52dab7a367f56ca8d286e465af9a7674ffe3bc0f6187a66d7d19bb8f2a8fc0e23e0ce7ef35ac2d46fd6971dc2df96e8a61ca11 SHA512 a47a7173685b72995e5012386fc8f6c55f9106049a28ecaea223f58f1bb40077e0929cf05102a2588e516fe90891428b8e569ec9351fcaf235eb9f8293e45b92 DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.16-123759.tar.gz 19588810 BLAKE2B 51fb01ace72f6bc3f0e1ab6804c44ca44463ad24986af08b79c41bb06f43776c9f022d1766d07a4f9a47615119963636cad52d8f7d7bcc9f5e58f51c093f0bcd SHA512 8dfadb83111226a7bbc522d1caf16327051d76ee9382cb62281df5735f87d0e26994dd38a279027dae27c0371120bf95066d5260e79003c5a8982710579ecbce +DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.18-124319.tar.gz 19592275 BLAKE2B 7be65024837e46073049d3d751df00b50bf2d5d81faef3ba2a869429800d999f473b570bfe75201d07347e751893d280f7238a076a172ad2046b64c151b675ba SHA512 fa4bf8202f4d5f86cf4a04aaf6e77ce2f86ccde126d5543846793a021fc1e861f35d256432d762aebd38fc6cd0fa0bfe2a4def76334f468de316fe925d2fe414 DIST VirtualBox-5.1.36-122089-Linux_amd64.run 88329683 BLAKE2B 96e0296243056ebaecde4435fe68f82dacfc66a0d23b70365c7495112672b60be7682ef794851b68198d0d0f01ec84cb314f06b434726e5f75e47751771cbd3b SHA512 6c62c642da78561ec5130e18ebac24d52871b4c518ce507f1deb0a279c58dfc1b87c4afecf63236e7274da65d5d784575779ad39e17a4f8b1f05c29a3ca95d55 DIST VirtualBox-5.1.36-122089-Linux_x86.run 87449039 BLAKE2B 826071838fdb7567ec7064eb6db216d9d695f3504b0c37b2db637df5757ece58b8c1c0b430cef1c1e6657bd9dc556c074891732cd4481243af72051f66ec6bec SHA512 c593483949a5389cddbe47fb3d07e7acc55868671d72ccd696e1c039ace24e7b88be9cf088c32b419c5f4ba76ceada6e388b63dbeac6376b13627543c472afe8 DIST VirtualBox-5.1.38-122592-Linux_amd64.run 88329683 BLAKE2B 124b1a3d45b0aa213a63ccc225570158faa11adf51a9bc503c014a302ba6a9739e9b50780c93ca6b8704e4666f809b97d1548db74817020301f560252bf71182 SHA512 963ed0b5555bcc43a72dbf49d3d6d9a1a2b1118808ea601765ce102ce72a05439903247680d0b49df4d15cdca68b40a8c5a26df9340c24ed681c3353f2f8e072 @@ -16,12 +17,16 @@ DIST VirtualBox-5.2.14-123301-Linux_amd64.run 88749523 BLAKE2B 5a2791a1258adcdc8 DIST VirtualBox-5.2.14-123301-Linux_x86.run 87776718 BLAKE2B 609c24ad2ba5b005f7cb619fbe2c2a82f026a7ae4ef74cda800c526c8c3552a2a1ed1af5a2a2b3d9c56f0dfbcdda493c2cc92b58156cbf41ebfb1d43bfee8aca SHA512 820c2b6c97a48c125b69e1f749a3b1473d5fe672726ae2cec30f20a6652186a28b3900d4aeffca701415275229232925d1c8c347aefa7a86840a2c5bf13f21a7 DIST VirtualBox-5.2.16-123759-Linux_amd64.run 88729043 BLAKE2B 0bc183146cdafbd5b12c4d46976cd3775a4ea11aaadae155d979ef81cf04ae8c77d6b48d0e240bad3bd440f532530e6d7584f58e7b29161a0f355bc8b7c15061 SHA512 c815a025376d86a5bed753ef8b729155b2a01d9e4c9b573e70d3b4f7db497285b991b278504d4b4fbf382a00080974551f214176c0e3fbaa2679534b3ee32b90 DIST VirtualBox-5.2.16-123759-Linux_x86.run 87756239 BLAKE2B 911ddf8b260ce18ff12c9cd6675105327b9c5916f436ee7421db3362403ee4960a8e24a6c25348c7188becdfbbfe0685f42a84ac166e39a753d4407c04721248 SHA512 9b52faab1ecd9e30cbf37fbec1a9a150f3dabb47ac62f355ed67744a849f07c52885852c310c39d9d36f90461fb318f8923afde9ec81bd754c1afbeeb2788427 +DIST VirtualBox-5.2.18-124319-Linux_amd64.run 88780242 BLAKE2B a07e5bfcc2e988a4e499a974d97ed36cad9a95055d2df3aab8def3cbf19da4658411465d973935c86bd1642047e16a16041eb6f9da0f85183e86d5022208332a SHA512 f280ca01e4e9cd20bcd88479548b10931558052bcf45e96ba9dd70f9ca81036509c5391fac4ce1635b1d2597a10093979bd58017612d34a56b7df20a59a30b74 +DIST VirtualBox-5.2.18-124319-Linux_x86.run 87838159 BLAKE2B 6b89a068ac699a1aaf77859b4373ea93fc3bfa863234e8befda725326297589a6e8e535c2b6f48ae60ac50805c224b6a889b7fa4bfb06e5dbb44623a5c84b02e SHA512 791ba9bab7e92e058b41ada88925f3d1159eaf922f8029a254096b994608a0be4d916de9b067923e6fcc176a5d7fcfe16c45e00a204bac22e3a7ce7409014595 DIST VirtualBoxSDK-5.1.36-122089.zip 9864160 BLAKE2B 0db3d44c44f93a80607791f2ff5cbdf6aed2b324c207bb9bbc808b5cc836f01ade9c48ed3474c4f174a43b29969fe632b5ccd2b3ad0af197894d63887144bf0c SHA512 98f6e59a5e344bf23f6af6c0e791f28920940de907721981c99b66b8e7c20cb06a7e1211b2029a1279e583fb4ed456019005c2bf3a91b3d8b3fbd61e6e44c914 DIST VirtualBoxSDK-5.1.38-122592.zip 9867112 BLAKE2B d3deeda2adafcb675370c7228f49a209e5f76986fc4c9ac5aa8ff2e809912f458c9cfc2d8f011404fb4bd7b45b80f0ff857dd85dd597d622971a2556c6b17bbf SHA512 e03fab6573e61f59fc4e017d8c6cfde08e734939efe6c2f8edc5e6e9da5a1d616012cae06d630a3e2a2b1d72775eb8f0a05eb230fa81321ec33ba1975ec34ce9 DIST VirtualBoxSDK-5.2.14-123301.zip 10154044 BLAKE2B 273219029c59ffd685fffb7e14fff914a5397acc0676c8b4ccaee9cecee51e90880e68d883125e061d6c02e09b53235821ff89a265e937c9b4e67365452a97d2 SHA512 c69e6f537af611b9a4bcbab3e014fa25c6593f754940c6596e451cf895cb088186d037ac4816a3bae793213c774befd54ffa86d43948fa546f753a37fcdabd51 DIST VirtualBoxSDK-5.2.16-123759.zip 10158952 BLAKE2B 66140092c221b998919a3840745e2ae58671b65f1db774ddb6691d085e95a35cdfa1e939a84cb032e2f67bd4485bd8f940f5db6d3712569942cbcc2a0f1bf234 SHA512 2b735016ea99e94317876f2e845cf94dd845bf51a86b42e938cae4bee003483f6061a7d89150f3d1fe5b84970a4fa83ae5bed7acf6570b849df5258efc8eb38f +DIST VirtualBoxSDK-5.2.18-124319.zip 10153509 BLAKE2B fc937cfe4c6bb1ad6416fc975b7f8c31604fc78fe4da59596054831a8f5e47b7e2c39ad855f3ae0f45b3aa3a527bc6ad9b559901aefbd2f188c04fc3f8342188 SHA512 fefac8821e0ba83d130fad1dffa5f1d49c063d39694028005f655b8dd4f93bb8ab9697cdd2ea03c9cbc1d977f01da92ca6e6aa571497171a1d414ece239db680 EBUILD virtualbox-bin-5.1.36.122089.ebuild 8381 BLAKE2B 16a4aed3c9ae0fe4621fd97d30ce46808ff7c56783dbc27e2a4c2e6a6a1f290506d71659ad98c4def219d75789ff6f7f66c8d79ff90d2285ca0e1fceec14635a SHA512 a5cd6523a8a08b64f7d60ebd00d56576c7dbb33dbde06dee28b56ae1a31648a3155b7a1f3c3a739e71fa824d427c33b74ccd31dc1fb3520256b759c0e79dd193 EBUILD virtualbox-bin-5.1.38.122592.ebuild 8383 BLAKE2B 0f07fa4a3383dde55f6ee12bebcbc44da33f96c498dd58eacd8dc1fd19bded41f720be5400e2ad9dcd01d80752a9825f89b68ca610105362d1eeffd9e2395c85 SHA512 96ac84742f050251faf70537d768654a21dd9f918ec282ca229f5490071e9d0aa7dd3dda3121bf39534f0f1547b039f1f138a15b1d5fd4b85bf5d82d79df216b EBUILD virtualbox-bin-5.2.14.123301.ebuild 8330 BLAKE2B 6eb8f7e32b98ebede7cfe40e8dc4cfaaa91937b0a119226828b06edd207703981570eda551c78295d5cc78c65338c806ce5ceaa158fe7a219037e8af41753c47 SHA512 e7efb17b49257d1d0a4cec26bf229013e46aae6076dbeef0238faf21f84b81f7223e9986a3c6107ccb202a7aeeaa97ed8ac40d787d5e5e22ba9c8b06bfaae24e EBUILD virtualbox-bin-5.2.16.123759.ebuild 8332 BLAKE2B a7ca997e4da4bd000ab990d0aad48c32ab87806d82ddff744c16c9a1d1351f94fe76d640f74cded7caa66925e985a0a8e5930e9266dd67de522d5ec65a212a13 SHA512 907d13a5a2008872f3a336532064c297253f53877198ae95531f06bdc823d789d91d88c2d0a3e6a3c3fba9dd7209512b0805ecaeeec741f3b828acbc3ba2d59e +EBUILD virtualbox-bin-5.2.18.124319.ebuild 8332 BLAKE2B a7ca997e4da4bd000ab990d0aad48c32ab87806d82ddff744c16c9a1d1351f94fe76d640f74cded7caa66925e985a0a8e5930e9266dd67de522d5ec65a212a13 SHA512 907d13a5a2008872f3a336532064c297253f53877198ae95531f06bdc823d789d91d88c2d0a3e6a3c3fba9dd7209512b0805ecaeeec741f3b828acbc3ba2d59e MISC metadata.xml 599 BLAKE2B 2af2e738880f4fb9b684baa124df483d90548177fc8f5a8223dc13a5c96a3bf7f84754a41c4d2bd5821140dd2479874b4d7c8b99b04a83febc5027f4370fb70f SHA512 4306caf88c97be9f63238727dd70ad834011dc33650aa809eaf4ac285febecd7604dc030b285a31167ecb338434fc68eff011528533cda53acdd72ad6a5b5aa0 diff --git a/app-emulation/virtualbox-bin/virtualbox-bin-5.2.18.124319.ebuild b/app-emulation/virtualbox-bin/virtualbox-bin-5.2.18.124319.ebuild new file mode 100644 index 000000000000..424d6d96060f --- /dev/null +++ b/app-emulation/virtualbox-bin/virtualbox-bin-5.2.18.124319.ebuild @@ -0,0 +1,287 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 ) + +inherit xdg-utils gnome2 pax-utils python-r1 udev unpacker eapi7-ver + +MAIN_PV="$(ver_cut 1-3)" +if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then + MY_PV="${MAIN_PV}_$(ver_cut 5)" + MY_PV="${MY_PV/beta/BETA}" + MY_PV="${MY_PV/rc/RC}" +else + MY_PV="${MAIN_PV}" +fi +VBOX_BUILD_ID="$(ver_cut 4)" +VBOX_PV="${MY_PV}-${VBOX_BUILD_ID}" +MY_P="VirtualBox-${VBOX_PV}-Linux" +# needed as sometimes the extpack gets another build ID +EXTP_PV="${VBOX_PV}" +EXTP_PN="Oracle_VM_VirtualBox_Extension_Pack" +EXTP_P="${EXTP_PN}-${EXTP_PV}" +# needed as sometimes the SDK gets another build ID +SDK_PV="${VBOX_PV}" +SDK_P="VirtualBoxSDK-${SDK_PV}" + +DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="amd64? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_amd64.run ) + x86? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_x86.run ) + https://download.virtualbox.org/virtualbox/${MY_PV}/${EXTP_P}.vbox-extpack -> ${EXTP_P}.tar.gz" + +LICENSE="GPL-2 PUEL" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="+additions +chm headless python vboxwebsrv rdesktop-vrdp" +RESTRICT="mirror" + +if [[ "${PV}" != *beta* ]] ; then + SRC_URI+=" + sdk? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${SDK_P}.zip )" + IUSE+=" sdk" +fi + +DEPEND="app-arch/unzip + ${PYTHON_DEPS}" + +RDEPEND="!!app-emulation/virtualbox + !app-emulation/virtualbox-additions + ~app-emulation/virtualbox-modules-${MAIN_PV} + !headless? ( + dev-libs/glib + media-libs/fontconfig + media-libs/freetype + media-libs/libpng + media-libs/libsdl[X] + x11-libs/libXcursor + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXft + x11-libs/libXi + x11-libs/libXinerama + x11-libs/libXrandr + x11-libs/libXrender + chm? ( dev-libs/expat ) + ) + dev-libs/libxml2 + sys-fs/lvm2 + x11-libs/libXau + x11-libs/libX11 + x11-libs/libXt + x11-libs/libXmu + x11-libs/libSM + x11-libs/libICE + x11-libs/libXdmcp + ${PYTHON_DEPS}" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" +S="${WORKDIR}" + +QA_PREBUILT="opt/VirtualBox/*" + +PYTHON_UPDATER_IGNORE="1" + +src_unpack() { + unpack_makeself ${MY_P}_${ARCH}.run + unpack ./VirtualBox.tar.bz2 + + mkdir "${S}"/${EXTP_PN} || die + pushd "${S}"/${EXTP_PN} &>/dev/null || die + unpack ${EXTP_P}.tar.gz + popd &>/dev/null || die + + if [[ "${PV}" != *beta* ]] && use sdk ; then + unpack VirtualBoxSDK-${SDK_PV}.zip + fi +} + +src_configure() { + :; +} + +src_compile() { + :; +} + +src_install() { + # create virtualbox configurations files + insinto /etc/vbox + newins "${FILESDIR}/${PN}-config" vbox.cfg + + if ! use headless ; then + newmenu "${FILESDIR}"/${PN}.desktop-2 ${PN}.desktop + + # set up symlinks (bug #572012) + dosym ../../../../opt/VirtualBox/virtualbox.xml /usr/share/mime/packages/virtualbox.xml + + local size ico icofile + for size in 16 24 32 48 64 72 96 128 256 ; do + pushd "${S}"/icons/${size}x${size} &>/dev/null || die + if [[ -f "virtualbox.png" ]] ; then + doicon -s ${size} virtualbox.png + fi + for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do + icofile="virtualbox-${ico}.png" + if [[ -f "${icofile}" ]] ; then + doicon -s ${size} ${icofile} + fi + done + popd &>/dev/null || die + done + doicon -s scalable "${S}"/icons/scalable/virtualbox.svg + insinto /usr/share/pixmaps + newins "${S}"/icons/48x48/virtualbox.png ${PN}.png + fi + + pushd "${S}"/${EXTP_PN} &>/dev/null || die + insinto /opt/VirtualBox/ExtensionPacks/${EXTP_PN} + doins -r linux.${ARCH} + doins ExtPack* PXE-Intel.rom + popd &>/dev/null || die + rm -rf "${S}"/${EXTP_PN} + + insinto /opt/VirtualBox + dodir /opt/bin + + doins UserManual.pdf + + if [[ "${PV}" != *beta* ]] && use sdk ; then + doins -r sdk + fi + + if use additions; then + doins -r additions + fi + + if use vboxwebsrv; then + doins vboxwebsrv + fowners root:vboxusers /opt/VirtualBox/vboxwebsrv + fperms 0750 /opt/VirtualBox/vboxwebsrv + dosym ../../opt/VirtualBox/VBox.sh /opt/bin/vboxwebsrv + newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv + newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv + fi + + if use rdesktop-vrdp; then + doins rdesktop-vrdp + doins -r rdesktop-vrdp-keymaps + fperms 0750 /opt/VirtualBox/rdesktop-vrdp + dosym ../../opt/VirtualBox/rdesktop-vrdp /opt/bin/rdesktop-vrdp + fi + + if ! use headless && use chm; then + doins kchmviewer VirtualBox.chm + fowners root:vboxusers /opt/VirtualBox/kchmviewer + fperms 0750 /opt/VirtualBox/kchmviewer + fi + + # This ebuild / package supports only py2.7. When py3 comes is unknown. + # The compile phase makes VBoxPython2_7.so. + # py3 support would presumably require a binary pre-compiled by py3. + use python && doins VBoxPython.so VBoxPython2_7.so + + rm -rf src rdesktop* deffiles install* routines.sh runlevel.sh \ + vboxdrv.sh VBox.sh VBox.png vboxnet.sh additions VirtualBox.desktop \ + VirtualBox.tar.bz2 LICENSE VBoxSysInfo.sh rdesktop* vboxwebsrv \ + webtest kchmviewer VirtualBox.chm vbox-create-usb-node.sh \ + 90-vbox-usb.fdi uninstall.sh vboxshell.py vboxdrv-pardus.py \ + VBoxPython?_*.so + + if use headless ; then + rm -rf VBoxSDL VirtualBox VBoxKeyboard.so + fi + + doins -r * || die + + # create symlinks for working around unsupported $ORIGIN/.. in VBoxC.so (setuid) + dosym ../VBoxVMM.so /opt/VirtualBox/components/VBoxVMM.so + dosym ../VBoxREM.so /opt/VirtualBox/components/VBoxREM.so + dosym ../VBoxRT.so /opt/VirtualBox/components/VBoxRT.so + dosym ../VBoxDDU.so /opt/VirtualBox/components/VBoxDDU.so + dosym ../VBoxXPCOM.so /opt/VirtualBox/components/VBoxXPCOM.so + + local each + for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,NetAdpCtl,NetDHCP,NetNAT,TestOGL,ExtPackHelperApp}; do + fowners root:vboxusers /opt/VirtualBox/${each} + fperms 0750 /opt/VirtualBox/${each} + pax-mark -m "${ED%/}"/opt/VirtualBox/${each} + done + # VBoxNetAdpCtl and VBoxNetDHCP binaries need to be suid root in any case.. + fperms 4750 /opt/VirtualBox/VBoxNetAdpCtl + fperms 4750 /opt/VirtualBox/VBoxNetDHCP + fperms 4750 /opt/VirtualBox/VBoxNetNAT + + if ! use headless ; then + # Hardened build: Mark selected binaries set-user-ID-on-execution + for each in VBox{SDL,Headless} VirtualBox; do + fowners root:vboxusers /opt/VirtualBox/${each} + fperms 4510 /opt/VirtualBox/${each} + pax-mark -m "${ED%/}"/opt/VirtualBox/${each} + done + + dosym ../VirtualBox/VBox.sh /opt/bin/VirtualBox + dosym ../VirtualBox/VBox.sh /opt/bin/VBoxSDL + else + # Hardened build: Mark selected binaries set-user-ID-on-execution + fowners root:vboxusers /opt/VirtualBox/VBoxHeadless + fperms 4510 /opt/VirtualBox/VBoxHeadless + pax-mark -m "${ED%/}"/opt/VirtualBox/VBoxHeadless + fi + + exeinto /opt/VirtualBox + newexe "${FILESDIR}/${PN}-3-wrapper" "VBox.sh" + fowners root:vboxusers /opt/VirtualBox/VBox.sh + fperms 0750 /opt/VirtualBox/VBox.sh + + dosym ../VirtualBox/VBox.sh /opt/bin/VBoxManage + dosym ../VirtualBox/VBox.sh /opt/bin/VBoxVRDP + dosym ../VirtualBox/VBox.sh /opt/bin/VBoxHeadless + dosym ../VirtualBox/VBoxTunctl /opt/bin/VBoxTunctl + + # set an env-variable for 3rd party tools + echo -n "VBOX_APP_HOME=/opt/VirtualBox" > "${T}/90virtualbox" + doenvd "${T}/90virtualbox" + + local udevdir="$(get_udevdir)" + insinto ${udevdir}/rules.d + doins "${FILESDIR}"/10-virtualbox.rules + sed "s@%UDEVDIR%@${udevdir}@" \ + -i "${ED%/}"${udevdir}/rules.d/10-virtualbox.rules || die + # move udev scripts into ${udevdir} (bug #372491) + mv "${ED%/}"/opt/VirtualBox/VBoxCreateUSBNode.sh "${ED%/}"${udevdir} || die + fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh +} + +pkg_postinst() { + xdg_desktop_database_update + + gnome2_icon_cache_update + + udevadm control --reload-rules && udevadm trigger --subsystem-match=usb + + elog "" + if ! use headless ; then + elog "To launch VirtualBox just type: \"VirtualBox\"" + elog "" + fi + elog "You must be in the vboxusers group to use VirtualBox." + elog "" + elog "For advanced networking setups you should emerge:" + elog "net-misc/bridge-utils and sys-apps/usermode-utilities" + elog "" + elog "Please visit http://www.virtualbox.org/wiki/Editions for" + elog "an overview about the different features of ${PN}" + elog "and virtualbox-ose" + if [ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ] ; then + elog "" + elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\"" + elog "or else USB in ${PN} won't work." + fi +} + +pkg_postrm() { + xdg_desktop_database_update +} diff --git a/app-emulation/virtualbox-extpack-oracle/Manifest b/app-emulation/virtualbox-extpack-oracle/Manifest index d726d77d7a26..e7c2359a3b02 100644 --- a/app-emulation/virtualbox-extpack-oracle/Manifest +++ b/app-emulation/virtualbox-extpack-oracle/Manifest @@ -2,8 +2,10 @@ DIST Oracle_VM_VirtualBox_Extension_Pack-5.1.36-122089.tar.gz 19605234 BLAKE2B 4 DIST Oracle_VM_VirtualBox_Extension_Pack-5.1.38-122592.tar.gz 19717251 BLAKE2B 90dcaa58284c6dc9101dbc8eb9ceda55d16c4a48fd58fb43c4a6b7d3d5c582c31930f6e773397ae9379e75771c88b40aad276436bb1d56a71a8e744353e04ec9 SHA512 ba44d53e06adababd0ac7c8a68ea025e1e7afd39fe648079bbb879e81130d45f00b944795cfd37f7f05c16d5a7723b85c49a8435c8399180af627dd3b3de00bc DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.14-123301.tar.gz 19589209 BLAKE2B 385bdfb4cef67788a1dd3e758f52dab7a367f56ca8d286e465af9a7674ffe3bc0f6187a66d7d19bb8f2a8fc0e23e0ce7ef35ac2d46fd6971dc2df96e8a61ca11 SHA512 a47a7173685b72995e5012386fc8f6c55f9106049a28ecaea223f58f1bb40077e0929cf05102a2588e516fe90891428b8e569ec9351fcaf235eb9f8293e45b92 DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.16-123759.tar.gz 19588810 BLAKE2B 51fb01ace72f6bc3f0e1ab6804c44ca44463ad24986af08b79c41bb06f43776c9f022d1766d07a4f9a47615119963636cad52d8f7d7bcc9f5e58f51c093f0bcd SHA512 8dfadb83111226a7bbc522d1caf16327051d76ee9382cb62281df5735f87d0e26994dd38a279027dae27c0371120bf95066d5260e79003c5a8982710579ecbce +DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.18-124319.tar.gz 19592275 BLAKE2B 7be65024837e46073049d3d751df00b50bf2d5d81faef3ba2a869429800d999f473b570bfe75201d07347e751893d280f7238a076a172ad2046b64c151b675ba SHA512 fa4bf8202f4d5f86cf4a04aaf6e77ce2f86ccde126d5543846793a021fc1e861f35d256432d762aebd38fc6cd0fa0bfe2a4def76334f468de316fe925d2fe414 EBUILD virtualbox-extpack-oracle-5.1.36.122089.ebuild 1087 BLAKE2B 6c233d604a66c0abd454b537e5d374210a83e8a6a1cff28ab07d78af52fd94385f7eda46c9efa320b53f2deb2f6baf6d3581a0ab56bac91e841f074585d5d3c5 SHA512 ce18fe7011e3d6942d4718617d2d1218d19e50bc8fa80e03db4c78a2d16739a6dedee75de58bfaea6a28b45010cc26c8fda09d85ead4e69f229911c5a7f61e05 EBUILD virtualbox-extpack-oracle-5.1.38.122592.ebuild 1089 BLAKE2B 89bfe2611b6f560d44f12abc203e9f3fabdd0ded2c9c6c6315509c989897b71acffa3fa0c33cdc3feb51ffcdcfe3a8daff0dedf13d2360a1f447328978f45673 SHA512 714732f55a0ed46ce33a89a0170247be72d06f0832ef0a0d5adc282a560111842d77898096fb768a63acb26e8e96962d0ede3555bc13aa6ad5985f611f3de8bb EBUILD virtualbox-extpack-oracle-5.2.14.123301.ebuild 1008 BLAKE2B 5f2de91f90e5eb060a0eb3982b676ddf8956ed2cd730686740198bb5836f373949064c7db28cc699a00f2e40a643fd662bb9b3217bb61dc19ed343589856fb46 SHA512 ac29c2a036b7fdb9088a3ff1d77f1148f6ef8e05783e667b616bfb4243cf6a8f082b282ce76aea06296af56605c65f4c9429de6e5cfed71f905e4b619516e2a5 EBUILD virtualbox-extpack-oracle-5.2.16.123759.ebuild 1010 BLAKE2B 476281386029dc67f5ee851d33a3f35902e7afc90a216fde7f611af20d2445cf53d6d2e356b9334e7db9861a5ea53c1cb5b0b14aa029094a6e162c1fe291875e SHA512 4ec9f04169e5b60ccd2020d888fe0340c921afa363d4484c075aeaa02693906ad0983c0c1836cc80f6f8eb0da3b875e0c4186fe76a75d8e7262dc3a0fdf7eece +EBUILD virtualbox-extpack-oracle-5.2.18.124319.ebuild 1010 BLAKE2B 476281386029dc67f5ee851d33a3f35902e7afc90a216fde7f611af20d2445cf53d6d2e356b9334e7db9861a5ea53c1cb5b0b14aa029094a6e162c1fe291875e SHA512 4ec9f04169e5b60ccd2020d888fe0340c921afa363d4484c075aeaa02693906ad0983c0c1836cc80f6f8eb0da3b875e0c4186fe76a75d8e7262dc3a0fdf7eece MISC metadata.xml 260 BLAKE2B 55d9eb1793faf23ffb69c904a9daf755cefe1b1e04fc2331e792a81acc1b699591acb85e005a96e70167e4eba8444e0cfc8f03be4fcdc19487ad6b1cea356f4a SHA512 443c9c27369b12fa4d23ac7e9add34dbf93b54d560ca946dac97801698b79401a80d88c6570530e641ad4f7231a8c1419682e1e11af2b171ca2854c598e05635 diff --git a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-5.2.18.124319.ebuild b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-5.2.18.124319.ebuild new file mode 100644 index 000000000000..d46e764cf177 --- /dev/null +++ b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-5.2.18.124319.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit multilib + +MAIN_PV="$(ver_cut 1-3)" +if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then + MY_PV="${MAIN_PV}_$(ver_cut 5)" + DEP_PV="${MY_PV}" + MY_PV="${MY_PV/beta/BETA}" + MY_PV="${MY_PV/rc/RC}" +else + MY_PV="${MAIN_PV}" + DEP_PV="${MAIN_PV}" +fi +VBOX_BUILD_ID="$(ver_cut 4)" +MY_PN="Oracle_VM_VirtualBox_Extension_Pack" +MY_P="${MY_PN}-${MY_PV}-${VBOX_BUILD_ID}" + +DESCRIPTION="PUEL extensions for VirtualBox" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.vbox-extpack -> ${MY_P}.tar.gz" + +LICENSE="PUEL" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" +RESTRICT="mirror strip" + +RDEPEND="~app-emulation/virtualbox-${DEP_PV}" + +S="${WORKDIR}" + +QA_PREBUILT="/usr/lib*/virtualbox/ExtensionPacks/${MY_PN}/.*" + +src_install() { + insinto /usr/$(get_libdir)/virtualbox/ExtensionPacks/${MY_PN} + doins -r linux.${ARCH} + doins ExtPack* PXE-Intel.rom +} diff --git a/app-emulation/virtualbox-guest-additions/Manifest b/app-emulation/virtualbox-guest-additions/Manifest index 96166e4bbcd8..2ad949a4fad2 100644 --- a/app-emulation/virtualbox-guest-additions/Manifest +++ b/app-emulation/virtualbox-guest-additions/Manifest @@ -1,6 +1,7 @@ AUX vboxclient.desktop 145 BLAKE2B c01f4c307cd965d271e19f31cab5f902126bdf49bd947329c9ffad4955665b142576438dd124bc323d540cb2f6229c722b2611d4ba405521432965d9d0bddd8f SHA512 90e2ff4b8a67120f7f3c116676c7553243a1bf3c9a76f71ef471bc556c4eee55953e6a5dde952688d4892d469149db8704a921a14755eea66b1789805fe3ca42 AUX vboxguest-4.1.0-log-use-c99.patch 393 BLAKE2B 5363bcc98696e06d64e232043f89e4881390f43efafe8624ab23d78338e64bfee385c18a160553f17cfa36e81151d1c5d1889d31abd7caf942d7034043ab1288 SHA512 7327faccd5095706d097f2b47acfea21736291ed54ee7b605670fdfddf5f09815759dc49f9497d06e5920043e0b5b9af1b4ee0993ea13e5055641cbeedd66d6f AUX virtualbox-guest-additions-5-localconfig 937 BLAKE2B 4ad7e6520572ed5b3ee29c03b77fb1a4df5279e38929c4e6e446387f30eef9fd8f32b9f877db1074c0e28f9a461ec3114e7120f636e02ce41a72a81b1e69c62e SHA512 ccbc2db825060fd5044e42bf4e53271d6e64a7a400b09705230006367e696dd3bff384f1e4873bf2aedfec8e6fdc8f8ecc537cd5a1fe629727c2943371d13e40 +AUX virtualbox-guest-additions-5.2.18-linux-4.18.patch 1064 BLAKE2B e8097cb1556ba056357fce53e603f073c11f9b170e6744073ef4373f5aaa5d27b0d7d87b11c46702954c1139bd1bed8bb2335b57b20da7b76b3c074fda4dc86e SHA512 5f833601fcebfe909f87d2af184cb00311bb574adaf7a027f3b5fc6a4dd8c9388a2dcc1e1ce86f580d24bdcb2cc2bda003461f478939ecb3a4b9ea38a74681d0 AUX virtualbox-guest-additions-8.initd 538 BLAKE2B f720a0f9de10c5240f1ac8a590c4e5de2ada767a06341f9259a9e491660e796640dd4a251fbbf85f66786b8ec829357aa51546e502ca99452fa998ce20031637 SHA512 e01579b0ce980517a7b9e163915977a58c73594cf4c8484d20941449b9a21a4346ab1bb031b248ee438b350fa23b4bc78a1d6e501986b329564a4df487f5d3ca AUX virtualbox-guest-additions.service 411 BLAKE2B f5f1c24a94764ca72a04879c27cd9fdc1e0c8a1440ac87674dad44a1493a9347e6e2b351ae2b71e050ba06ae9848168220d62981a9e0c984ea68bf48ea06b485 SHA512 b6226146f3591a778551e94ae2661e2ae3c6b761d20600d741eaaa03f43f0a2b841d2a44d9eec3a3768edb23b021cee94c7849d998ee4104ad60dad2df88df83 AUX xorg.conf.vbox 274 BLAKE2B 3a3035fcbdbd5810c54505f5a5e6deefa1540e5e01a038babb62a40bd5b2de2dc5b228cabe55612d92a522e6ae92aa7ff4ff2ab26772c3b54ce95ebac4e7fc5a SHA512 ac2b14970dc6667ceec2dbdae52bc92cbad4aff020898ede156454e8a8a703354f15c7e19cfbd2bdd15e251493fd05cacfe814cabee0f9b4cf155e44860ed4c9 @@ -8,11 +9,13 @@ DIST VirtualBox-5.1.36.tar.bz2 117244376 BLAKE2B 141048f4fcbb3ce63d236a4127b4bce DIST VirtualBox-5.1.38.tar.bz2 117345233 BLAKE2B 15ed86a1f6730c781a0b4b055dcccfb56ff9c829c90dc4d2aa96cc2bb5bcfa8e442bdd471a7c70c5520bef994592e8f1a5b46831df4039efb5358c2e0ab83413 SHA512 6cf8536c24aa3a6e889214ef6133eb18fdbe1e7c371323cad07aa63b0e1f4414ba13d5fa7b63c12dfefe60e2e544488ced107571f678a06eb094a3e19b377ea8 DIST VirtualBox-5.2.14.tar.bz2 118597539 BLAKE2B 5e0a8d92405378eb438cae375041609f7a0e1288b040d3a0bcc06157f16ddd48b3537f2f026aa12a71c5319bdef56d6f3907785ac51ebe05a8b7143e04f22d0a SHA512 b8202eccd83e9f2c92a77548d003082b6b3ff7838bb32ae48c3a25dcd622bfdc8ceca42cc49b855eeabf4439c55ad42df9b3959dd1bab77de154468e139c904e DIST VirtualBox-5.2.16.tar.bz2 118678441 BLAKE2B 9d912a51ceb69eb117d9886adf34fe4900bd941637c0610e0e0febb650cf7817b6f2fa0db4b085c0cb28c56892e7f8678e3533d7384cd155e356fa4a0ec7c0fa SHA512 361607c43e3f7fb60da6db898951317c45a7f7b782c42808759f7c29502e3778ae28e5a54b5c49d1c5e46d94f85dbd1891d69f16d756767f0155bb48531b9519 +DIST VirtualBox-5.2.18.tar.bz2 118700952 BLAKE2B 5e9a5ca5379d80a8d9d0d53fe7b1f7cd98e03b6c535867932d55aa6a936e65f2d294264da014f332c2caa933a262ced3e350d9eb685ad99dec02a02ffcf5e7cb SHA512 f67c17cdd39e699e6c80af82a2c2d0c5dab073ddba2b55393740e605debb973030c48ce736ae753fc1e680845f0b62209c0f8951db08b665e9cdd83c52d5be20 DIST virtualbox-5.1.32-patches-01.tar.xz 2464 BLAKE2B 28f461634ac7f200b74d961e56f56aea486445bdb8d1490000bd34393b4873ee058d1dc9db6c32084921bd7d51a92be1e38b1b098385f443f41b9231c1489829 SHA512 08782c8eecc0cbb370f21fb3951af449ed1c8174a7184210de376a7d4ca5d64b14b2619d121aacef1c85982c8b485e545e260d3c0fc1f95769093efa23cd2cd2 DIST virtualbox-5.2.12-patches-01.tar.xz 2616 BLAKE2B 5731484d185414d83588ee227bbc1eef266451d1a3a710adf1b769cd6404ef1750dba7a60549f2ab9f3fb81ef15809db9ea0190127caefc72d7bc9bb8b741fb0 SHA512 712b55392a8e8357e95abb42ea4f8dac3391ecbf9cbecf27c7dbf674c40f42a1eb19d227a1b3adcf621384a9f64a6438d20fb43866c736189097fb5770c5c654 DIST virtualbox-5.2.16-patches-01.tar.xz 2952 BLAKE2B 1d23d83bdb4d9576d402b67cc81d4427c5fe9163550d2817546382e1c1087000553d4a9a864f2527a909f52ce389105bcfe5518b5407de1299c7d2a62ee3cc21 SHA512 88c21583c51ae8e22e5fd3f08baae686045e884883153e2e365c35ba19f2773d5964c523a4ad3777fe30ca96bf76fab8819e09beeadf8350193041bff783893d EBUILD virtualbox-guest-additions-5.1.36.ebuild 5995 BLAKE2B c34c1d3e312781ad4a4a390f12e4986ee197a690f5875f829bf3e87fa7a0741d5eb2c08f506d9a5b43590ea762eb26cf516db591a1b55a2f27e5c36f8fc313e8 SHA512 068ae5ecd8aa8e9f30f5272f1a1f58f8da92b78ee0f62784e335ebcbd63605b34d6654bbb35b16d4b4572bce75478827de217aeacc062bfdd7e206d7d38c7bb6 EBUILD virtualbox-guest-additions-5.1.38.ebuild 5997 BLAKE2B bd1110242825d9eccfa7235ce8de8fafd720610652dee85169f9e14c4fa6c806619736ab8db2b4f8041aef0a7fe0c6fa8dcd7a49a488287d8b0677b099894494 SHA512 b28006deb4ebe0bb199296262dec479bafc5a02c239116f2e3da9cf8198aca5fbbb281f6679b8415d3a0ffb88e3e42de4f71b808b2f0c38203af66cdebb36683 -EBUILD virtualbox-guest-additions-5.2.14.ebuild 6028 BLAKE2B dc97a2c0a9f8f610ba8b2e5708138ba566d4aaeab741f119919f81955375dbf81ecaf5094046a89f8fd7f588cc3a9fee043ceffcd5ffb067411223f954955844 SHA512 7ae738ffc57edb72d11cfc9131c82456c76497ad4b1d8424b1e32ac14c3686bab2ac7f8132fa05ea73394d7e6a1444574ef739dbffae3a0cecfcfc9030042764 -EBUILD virtualbox-guest-additions-5.2.16.ebuild 6072 BLAKE2B 82dd3e0a88c0d4295eea1be44adeddf553459f799b62af523ff624eb3362d75ba524615bf770fb51b59c007ee86e5cf2db6806975ca384916e1308b6d22d8696 SHA512 7901c8bccce613faa42b2b34209a69940cd323a2b5e98a3fc79d9211c46fa74f1c8d707c0693584de7d47d803890c6bad601fb47e1e5c108132c058b2a10c505 +EBUILD virtualbox-guest-additions-5.2.14.ebuild 6235 BLAKE2B 30c83c548577a2b4a27a6c5ae8b7ad775bbed3a73869afe40f0e634b41e4815b95003639962042e4d87bef27332d144eb5c9d4c6b03e061801bf8d56e3db5378 SHA512 92f2f2a63f9eede6c6b07ce90da2e2f4c5ef5fba4d4cba4598306a0879de71c20fb1bd22229b48dab346cb4aa91860b247a9c908b48493ade4220415bdb81830 +EBUILD virtualbox-guest-additions-5.2.16.ebuild 6279 BLAKE2B 0aba80b2bb816bf04325f5722fc872b157290a555a3cd69bbb22032c65dcc3f4500f18eb413d47cb5ed84f5f759c229614ad280e3e597ec3431c93ac4bb16eea SHA512 18501264ede98a15ad627f89a44ef0cbf07ff3f86907aa26e51b6cfd48514d6b45525a1b70412ad8e79449a4a8f4a91256c12ea919bc95c5e240248ab8649ba8 +EBUILD virtualbox-guest-additions-5.2.18.ebuild 6279 BLAKE2B 0aba80b2bb816bf04325f5722fc872b157290a555a3cd69bbb22032c65dcc3f4500f18eb413d47cb5ed84f5f759c229614ad280e3e597ec3431c93ac4bb16eea SHA512 18501264ede98a15ad627f89a44ef0cbf07ff3f86907aa26e51b6cfd48514d6b45525a1b70412ad8e79449a4a8f4a91256c12ea919bc95c5e240248ab8649ba8 MISC metadata.xml 260 BLAKE2B 55d9eb1793faf23ffb69c904a9daf755cefe1b1e04fc2331e792a81acc1b699591acb85e005a96e70167e4eba8444e0cfc8f03be4fcdc19487ad6b1cea356f4a SHA512 443c9c27369b12fa4d23ac7e9add34dbf93b54d560ca946dac97801698b79401a80d88c6570530e641ad4f7231a8c1419682e1e11af2b171ca2854c598e05635 diff --git a/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-5.2.18-linux-4.18.patch b/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-5.2.18-linux-4.18.patch new file mode 100644 index 000000000000..ed314943a7c3 --- /dev/null +++ b/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-5.2.18-linux-4.18.patch @@ -0,0 +1,29 @@ +Author: Larry Finger +Origin: https://www.mail-archive.com/vbox-dev@virtualbox.org/msg09363.html + +--- a/src/VBox/Additions/linux/sharedfolders/utils.c ++++ b/src/VBox/Additions/linux/sharedfolders/utils.c +@@ -50,7 +50,11 @@ static void sf_timespec_from_ftime(RTTIMESPEC *ts, time_t *time) + RTTimeSpecSetNano(ts, t); + } + #else /* >= 2.6.0 */ ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 18, 0) ++static void sf_ftime_from_timespec(struct timespec64 *tv, RTTIMESPEC *ts) ++#else + static void sf_ftime_from_timespec(struct timespec *tv, RTTIMESPEC *ts) ++#endif + { + int64_t t = RTTimeSpecGetNano(ts); + int64_t nsec; +@@ -60,7 +64,11 @@ static void sf_ftime_from_timespec(struct timespec *tv, RTTIMESPEC *ts) + tv->tv_nsec = nsec; + } + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 18, 0) ++static void sf_timespec_from_ftime(RTTIMESPEC *ts, struct timespec64 *tv) ++#else + static void sf_timespec_from_ftime(RTTIMESPEC *ts, struct timespec *tv) ++#endif + { + int64_t t = (int64_t)tv->tv_nsec + (int64_t)tv->tv_sec * 1000000000; + RTTimeSpecSetNano(ts, t); diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.14.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.14.ebuild index f5deb742885e..e0a70e26ee7b 100644 --- a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.14.ebuild +++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.14.ebuild @@ -66,6 +66,11 @@ pkg_setup() { src_unpack() { unpack ${A} + # Apply before we create archive with Linux guest kernel modules + pushd "${S}" &>/dev/null || die + eapply "${FILESDIR}"/virtualbox-guest-additions-5.2.18-linux-4.18.patch # 663488 + popd &>/dev/null || die + # Create and unpack a tarball with the sources of the Linux guest # kernel modules, to include all the needed files "${S}"/src/VBox/Additions/linux/export_modules.sh "${WORKDIR}/vbox-kmod.tar.gz" diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.16.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.16.ebuild index e694510dc385..551c7bdd592f 100644 --- a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.16.ebuild +++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.16.ebuild @@ -62,6 +62,11 @@ pkg_setup() { src_unpack() { unpack ${A} + # Apply before we create archive with Linux guest kernel modules + pushd "${S}" &>/dev/null || die + eapply "${FILESDIR}"/virtualbox-guest-additions-5.2.18-linux-4.18.patch # 663488 + popd &>/dev/null || die + # Create and unpack a tarball with the sources of the Linux guest # kernel modules, to include all the needed files "${S}"/src/VBox/Additions/linux/export_modules.sh "${WORKDIR}/vbox-kmod.tar.gz" diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.18.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.18.ebuild new file mode 100644 index 000000000000..551c7bdd592f --- /dev/null +++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.18.ebuild @@ -0,0 +1,234 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit linux-mod systemd user toolchain-funcs + +MY_PV="${PV/beta/BETA}" +MY_PV="${MY_PV/rc/RC}" +MY_P="VirtualBox-${MY_PV}" +DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2 + https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-5.2.16-patches-01.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="X" + +RDEPEND=" + X? ( x11-apps/xrandr + x11-apps/xrefresh + x11-libs/libXmu + x11-libs/libX11 + x11-libs/libXt + x11-libs/libXext + x11-libs/libXau + x11-libs/libXdmcp + x11-libs/libSM + x11-libs/libICE ) + sys-apps/dbus + !!x11-drivers/xf86-input-virtualbox + !x11-drivers/xf86-video-virtualbox +" +DEPEND=" + ${RDEPEND} + >=dev-util/kbuild-0.1.9998.3127 + >=dev-lang/yasm-0.6.2 + sys-devel/bin86 + sys-libs/pam + sys-power/iasl + x11-base/xorg-proto +" +PDEPEND=" + X? ( x11-drivers/xf86-video-vboxvideo ) +" +BUILD_TARGETS="all" +BUILD_TARGET_ARCH="${ARCH}" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + MODULE_NAMES="vboxguest(misc:${WORKDIR}/vboxguest:${WORKDIR}/vboxguest) + vboxsf(misc:${WORKDIR}/vboxsf:${WORKDIR}/vboxsf)" + use X && MODULE_NAMES+=" vboxvideo(misc:${WORKDIR}/vboxvideo::${WORKDIR}/vboxvideo)" + + linux-mod_pkg_setup + BUILD_PARAMS="KERN_DIR=${KV_OUT_DIR} KERNOUT=${KV_OUT_DIR}" +} + +src_unpack() { + unpack ${A} + + # Apply before we create archive with Linux guest kernel modules + pushd "${S}" &>/dev/null || die + eapply "${FILESDIR}"/virtualbox-guest-additions-5.2.18-linux-4.18.patch # 663488 + popd &>/dev/null || die + + # Create and unpack a tarball with the sources of the Linux guest + # kernel modules, to include all the needed files + "${S}"/src/VBox/Additions/linux/export_modules.sh "${WORKDIR}/vbox-kmod.tar.gz" + unpack ./vbox-kmod.tar.gz + + # Remove shipped binaries (kBuild,yasm), see bug #232775 + cd "${S}" + rm -rf kBuild/bin tools +} + +src_prepare() { + # PaX fixes (see bug #298988) + pushd "${WORKDIR}" &>/dev/null || die + eapply "${FILESDIR}"/vboxguest-4.1.0-log-use-c99.patch + popd &>/dev/null || die + + # Disable things unused or splitted into separate ebuilds + cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die + use X || echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk + + # stupid new header references... + local vboxheader mdir + for vboxheader in {product,revision,version}-generated.h ; do + for mdir in vbox{guest,sf} ; do + ln -sf "${S}"/out/linux.${ARCH}/release/${vboxheader} \ + "${WORKDIR}/${mdir}/${vboxheader}" + done + done + + # Remove pointless GCC version check + sed -e '/^check_gcc$/d' -i configure || die + + eapply "${WORKDIR}/patches" + + eapply_user +} + +src_configure() { + # build the user-space tools, warnings are harmless + local cmd=( + ./configure + --nofatal + --disable-xpcom + --disable-sdl-ttf + --disable-pulse + --disable-alsa + --with-gcc="$(tc-getCC)" + --with-g++="$(tc-getCXX)" + --target-arch=${ARCH} + --with-linux="${KV_OUT_DIR}" + --build-headless + ) + echo "${cmd[@]}" + "${cmd[@]}" || die "configure failed" + source ./env.sh + export VBOX_GCC_OPT="${CFLAGS} ${CPPFLAGS}" +} + +src_compile() { + MAKE="kmk" \ + emake TOOL_YASM_AS=yasm \ + VBOX_ONLY_ADDITIONS=1 \ + KBUILD_VERBOSE=2 + + # Now creating the kernel modules. We must do this _after_ + # we compiled the user-space tools as we need two of the + # automatically generated header files. (>=3.2.0) + linux-mod_src_compile +} + +src_install() { + linux-mod_src_install + + cd "${S}"/out/linux.${ARCH}/release/bin/additions || die + + insinto /sbin + newins mount.vboxsf mount.vboxsf + fperms 4755 /sbin/mount.vboxsf + + newinitd "${FILESDIR}"/${PN}-8.initd ${PN} + + insinto /usr/sbin/ + newins VBoxService vboxguest-service + fperms 0755 /usr/sbin/vboxguest-service + + insinto /usr/bin + doins VBoxControl + fperms 0755 /usr/bin/VBoxControl + + # VBoxClient user service and xrandr wrapper + if use X ; then + doins VBoxClient + fperms 0755 /usr/bin/VBoxClient + + pushd "${S}"/src/VBox/Additions/x11/Installer &>/dev/null \ + || die + newins 98vboxadd-xclient VBoxClient-all + fperms 0755 /usr/bin/VBoxClient-all + popd &>/dev/null || die + fi + + # udev rule for vboxdrv + local udev_rules_dir="/lib/udev/rules.d" + dodir ${udev_rules_dir} + echo 'KERNEL=="vboxguest", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ + >> "${ED%/}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ + || die + echo 'KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ + >> "${ED%/}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ + || die + + # VBoxClient autostart file + insinto /etc/xdg/autostart + doins "${FILESDIR}"/vboxclient.desktop + + # sample xorg.conf + insinto /usr/share/doc/${PF} + doins "${FILESDIR}"/xorg.conf.vbox + + systemd_dounit "${FILESDIR}/${PN}.service" +} + +pkg_preinst() { + enewgroup vboxguest + enewuser vboxguest -1 /bin/sh /dev/null vboxguest + # automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist + enewgroup vboxsf +} + +pkg_postinst() { + linux-mod_pkg_postinst + if ! use X ; then + elog "use flag X is off, enable it to install the" + elog "X Window System video driver." + fi + elog "" + elog "Please add users to the \"vboxguest\" group so they can" + elog "benefit from seamless mode, auto-resize and clipboard." + elog "" + elog "The vboxsf group has been added to make automount services work." + elog "These services are part of the shared folders support." + elog "" + elog "Please add:" + elog "/etc/init.d/${PN}" + elog "to the default runlevel in order to start" + elog "needed services." + elog "To use the VirtualBox X driver, use the following" + elog "file as your /etc/X11/xorg.conf:" + elog " /usr/share/doc/${PF}/xorg.conf.vbox" + elog "" + elog "Also make sure you use the Mesa library for OpenGL:" + elog " eselect opengl set xorg-x11" + elog "" + elog "An autostart .desktop file has been installed to start" + elog "VBoxClient in desktop sessions." + elog "" + elog "You can mount shared folders with:" + elog " mount -t vboxsf " + elog "" + elog "Warning:" + elog "this ebuild is only needed if you are running gentoo" + elog "inside a VirtualBox Virtual Machine, you don't need" + elog "it to run VirtualBox itself." + elog "" +} diff --git a/app-emulation/virtualbox-modules/Manifest b/app-emulation/virtualbox-modules/Manifest index 8ac13e63e62c..24c8aea5bd4a 100644 --- a/app-emulation/virtualbox-modules/Manifest +++ b/app-emulation/virtualbox-modules/Manifest @@ -7,8 +7,10 @@ DIST vbox-kernel-module-src-5.1.36.tar.xz 628368 BLAKE2B 49a3dfc4ff573f793eefcfd DIST vbox-kernel-module-src-5.1.38.tar.xz 628552 BLAKE2B 9faa4e837a48ac27be5c0183edcf2b39c08eeab210bd39811704a7a578a93b28f8b8ecf26a34483f2d135a8cb8817756120d7bef0b8de245c5a5e232cfebfff0 SHA512 36311c3ff947fa763db1fc0612c5a4c10ac3d586c3faab3a91e463723488510cedfc1a69696381158a167edfc86d7abf66c18b287ced75cbaba3f1797c4265a8 DIST vbox-kernel-module-src-5.2.14.tar.xz 637352 BLAKE2B 7ccefbb13f25fe995e0f769192a93baa91358c09e7126d6a6c8bef7fceeab50082f78843140d23cf88c4931c561552c4131b17625e7a3821766571387d78d2a3 SHA512 920eca67fb10ed4d1eeab95b14e65c585dd96df82a4690c34c9d85366ec6dd9835f9a772eb4718a80e6ffb2637de2a698151a6bdfd7984fc2070cd0bade5c077 DIST vbox-kernel-module-src-5.2.16.tar.xz 638172 BLAKE2B 80a27100bb0be97796f03b368c589965d476e6d0c79424b94a5100561dc84bc2baf28b271a744b7b4ad53e015fb463faf2871d24596fafc83c80ccbe16087730 SHA512 35169a46ca9018f169b25359c0f4bf658622d71ea284768912bf0a8d2ac34ecec94f5dc774f77f0c02d1b83363faad53158baac7423f588deedfe8073a1e56a3 +DIST vbox-kernel-module-src-5.2.18.tar.xz 638008 BLAKE2B 8ad08362e81365956bace1f6591ddd5f8201f3464df6f3f378c6c1b88f8a58eb823646f5c36f8c5efbdcd9941ec8eb46b604b356a39bf44af50b0ee9e5a6914a SHA512 0ba280b111725f6e77544e29db4dfbc8c418d928fd03db0a5d747703513147bc3b7ff7fcfa544298414ec97e95c99f9408c1fe2349d652552a652b6518898401 EBUILD virtualbox-modules-5.1.36.ebuild 1431 BLAKE2B 9ea7afbf141d43d3c6a22d5bb934bddb1c67a6afa69d65ac905df930cde73d5c8b921b11f4954e3577b6b63a1b1c156d23c97c9aaceeb2fd51be75d81df1d936 SHA512 e5becf1d7298567966b7653b73e3245a9db59b3eca1659890b004d8116a1c150e8c7042a81bb7fd9c0757328895dfe12c39baee9a49375110903d83f6422c988 EBUILD virtualbox-modules-5.1.38.ebuild 1350 BLAKE2B abf66852d4f907de436721b8c8f06dfd3c3676a0676d6e569147e01aced9b6f5492c9e9a2ddaee5798b38aba0fbc8d812179427d8eb7c45e732ef9093542d40f SHA512 e09b4178d5e20260cdd59597c514a4cc7d78b8caa8e126248f213f3bb4a665762216f07076efb6e81b822920a80c09979a94df11a952488397ced662f8862108 EBUILD virtualbox-modules-5.2.14.ebuild 1197 BLAKE2B ea60276403c90846417bbf24cd2df6bccc67403900987e07697bcdb0a4801422690a7e413be9e87fe2be93eec4fa491d50e4fe1c3035145725bf432738cb0e86 SHA512 cfc1fec4a8fbc000bb40cdc68f66ab7f6b0da91d956fabd462e44fcb7ba7dd2a22b798a8cc129d9abd492d1f04e994da2ab1680467a6d94fa1b23f90381ef548 EBUILD virtualbox-modules-5.2.16.ebuild 1199 BLAKE2B 467a7073743e16f5efb3e1a68402bad71bbe6afef8c9ae9f56e2029ea4d517eeafc46576e8149899f8c63cd6fee30e1e20d179006174714309eb4eab29bbe431 SHA512 67ca645212bd521d7655e38c390d346299ecf13e7485e7a269fe1891eebcdccf98c02cd4832ba563c449a9dbf3b11e9d242b1a2c5be6bc7bfb741282186087f5 +EBUILD virtualbox-modules-5.2.18.ebuild 1199 BLAKE2B 467a7073743e16f5efb3e1a68402bad71bbe6afef8c9ae9f56e2029ea4d517eeafc46576e8149899f8c63cd6fee30e1e20d179006174714309eb4eab29bbe431 SHA512 67ca645212bd521d7655e38c390d346299ecf13e7485e7a269fe1891eebcdccf98c02cd4832ba563c449a9dbf3b11e9d242b1a2c5be6bc7bfb741282186087f5 MISC metadata.xml 353 BLAKE2B d7de13b3a8966ab3bca54ae77f7f6c7dfd57f2c5941f09ab1b5f79ac798687ffaaa183afdf9c034a9d50fda8507a3aaa2ef0c11d0fdfa6e09a55a1bdb9f30f4a SHA512 40029c9a246dde5ed51119f42ec5448b7ae08a47ee4d6be201fef282305c809d7d3182abf807dd2444ffe1a980abcd670878567d948bcd3661a55c6848a37000 diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-5.2.18.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-5.2.18.ebuild new file mode 100644 index 000000000000..89e331b6d043 --- /dev/null +++ b/app-emulation/virtualbox-modules/virtualbox-modules-5.2.18.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# XXX: the tarball here is just the kernel modules split out of the binary +# package that comes from virtualbox-bin + +EAPI=6 + +inherit eutils linux-mod user + +MY_P="vbox-kernel-module-src-${PV}" +DESCRIPTION="Kernel Modules for Virtualbox" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="pax_kernel" + +RDEPEND="!=app-emulation/virtualbox-9999" + +S="${WORKDIR}" + +BUILD_TARGETS="all" +BUILD_TARGET_ARCH="${ARCH}" +MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S}) vboxpci(misc:${S})" + +pkg_setup() { + enewgroup vboxusers + linux-mod_pkg_setup + BUILD_PARAMS="CC=$(tc-getBUILD_CC) KERN_DIR=${KV_DIR} KERN_VER=${KV_FULL} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1" +} + +src_prepare() { + if use pax_kernel && kernel_is -ge 3 0 0 ; then + eapply -p0 "${FILESDIR}"/${PN}-5.2.8-pax-const.patch + fi + + default +} + +src_install() { + linux-mod_src_install + insinto /usr/lib/modules-load.d/ + doins "${FILESDIR}"/virtualbox.conf +} + +pkg_postinst() { + linux-mod_pkg_postinst +} diff --git a/app-emulation/virtualbox/Manifest b/app-emulation/virtualbox/Manifest index 7662eb9124b2..194e549bda89 100644 --- a/app-emulation/virtualbox/Manifest +++ b/app-emulation/virtualbox/Manifest @@ -14,6 +14,7 @@ DIST VirtualBox-5.1.36.tar.bz2 117244376 BLAKE2B 141048f4fcbb3ce63d236a4127b4bce DIST VirtualBox-5.1.38.tar.bz2 117345233 BLAKE2B 15ed86a1f6730c781a0b4b055dcccfb56ff9c829c90dc4d2aa96cc2bb5bcfa8e442bdd471a7c70c5520bef994592e8f1a5b46831df4039efb5358c2e0ab83413 SHA512 6cf8536c24aa3a6e889214ef6133eb18fdbe1e7c371323cad07aa63b0e1f4414ba13d5fa7b63c12dfefe60e2e544488ced107571f678a06eb094a3e19b377ea8 DIST VirtualBox-5.2.14.tar.bz2 118597539 BLAKE2B 5e0a8d92405378eb438cae375041609f7a0e1288b040d3a0bcc06157f16ddd48b3537f2f026aa12a71c5319bdef56d6f3907785ac51ebe05a8b7143e04f22d0a SHA512 b8202eccd83e9f2c92a77548d003082b6b3ff7838bb32ae48c3a25dcd622bfdc8ceca42cc49b855eeabf4439c55ad42df9b3959dd1bab77de154468e139c904e DIST VirtualBox-5.2.16.tar.bz2 118678441 BLAKE2B 9d912a51ceb69eb117d9886adf34fe4900bd941637c0610e0e0febb650cf7817b6f2fa0db4b085c0cb28c56892e7f8678e3533d7384cd155e356fa4a0ec7c0fa SHA512 361607c43e3f7fb60da6db898951317c45a7f7b782c42808759f7c29502e3778ae28e5a54b5c49d1c5e46d94f85dbd1891d69f16d756767f0155bb48531b9519 +DIST VirtualBox-5.2.18.tar.bz2 118700952 BLAKE2B 5e9a5ca5379d80a8d9d0d53fe7b1f7cd98e03b6c535867932d55aa6a936e65f2d294264da014f332c2caa933a262ced3e350d9eb685ad99dec02a02ffcf5e7cb SHA512 f67c17cdd39e699e6c80af82a2c2d0c5dab073ddba2b55393740e605debb973030c48ce736ae753fc1e680845f0b62209c0f8951db08b665e9cdd83c52d5be20 DIST virtualbox-5.1.32-patches-01.tar.xz 2464 BLAKE2B 28f461634ac7f200b74d961e56f56aea486445bdb8d1490000bd34393b4873ee058d1dc9db6c32084921bd7d51a92be1e38b1b098385f443f41b9231c1489829 SHA512 08782c8eecc0cbb370f21fb3951af449ed1c8174a7184210de376a7d4ca5d64b14b2619d121aacef1c85982c8b485e545e260d3c0fc1f95769093efa23cd2cd2 DIST virtualbox-5.2.12-patches-01.tar.xz 2616 BLAKE2B 5731484d185414d83588ee227bbc1eef266451d1a3a710adf1b769cd6404ef1750dba7a60549f2ab9f3fb81ef15809db9ea0190127caefc72d7bc9bb8b741fb0 SHA512 712b55392a8e8357e95abb42ea4f8dac3391ecbf9cbecf27c7dbf674c40f42a1eb19d227a1b3adcf621384a9f64a6438d20fb43866c736189097fb5770c5c654 DIST virtualbox-5.2.16-patches-02.tar.xz 3152 BLAKE2B c8d8f3872f544a465c7d1aa07291599307120ac9eabfb299ddd788a11f85ca6c2d84b8e7306ee4ad436270dad0dd39f101ee68a549eac15afd1e3cdc03f23c6c SHA512 85ee8c4045de562d71ab2d761695ea48b6726a6f0c4bcaa2562bb0d147542d3f1a1b5b47cf593a7f22dac1b86f87b59a56bef421dce3e1fa8e5260cd41998450 @@ -21,4 +22,5 @@ EBUILD virtualbox-5.1.36.ebuild 13795 BLAKE2B b988e0db6a107ae6f5f736dd42472e6d34 EBUILD virtualbox-5.1.38.ebuild 13797 BLAKE2B efbb490230e3ed1468a397ba3257334bbfa7274e609f2d2c9b454e5f98458c6c78bdda845bf227edc59fda60afe92a0ac3d0e07473619166292c30453ca7c9a9 SHA512 e201534862e708eab0088e08b92b524db3723d6c2a4153507b7f760d45d4f85bb2bf4823d145ecebe7fc12ad06790a2b612e9efae7fa85de950a3147e58fd45b EBUILD virtualbox-5.2.14-r1.ebuild 13839 BLAKE2B 22507a4802ef4e0f8f50e622dbd0bde33ec66e23e968caa3ab22f965f9411aedeeac6fbc4ce716d7c6d48cafc4df89f30274a0ffedb05cfc86c1d230454cca4f SHA512 e0e58c4249c6b62b95f64f190217955ce4bba0b4998084fd3cfa0f5ece4466ecdb9df8084c9baf766d88ae873352dd3adaea354d86fe1bfe71d663c20072195a EBUILD virtualbox-5.2.16.ebuild 13908 BLAKE2B 400edf7c47f640eadae99e040afdc8fbf5bca74765998da8cae05f20cc5890b3630e4ec6d18fb7b3d12caa4286f28b96afba901bd833945f9c14b148aed632b9 SHA512 69cc9c884a3080d9b2604779c571d754224ab8ccb8f2ce3aa7bce9032a716c8669576403fc228d67e8057cb2d87c806de65c4d9392e57992d0c6db40e41560a4 +EBUILD virtualbox-5.2.18.ebuild 13908 BLAKE2B 400edf7c47f640eadae99e040afdc8fbf5bca74765998da8cae05f20cc5890b3630e4ec6d18fb7b3d12caa4286f28b96afba901bd833945f9c14b148aed632b9 SHA512 69cc9c884a3080d9b2604779c571d754224ab8ccb8f2ce3aa7bce9032a716c8669576403fc228d67e8057cb2d87c806de65c4d9392e57992d0c6db40e41560a4 MISC metadata.xml 805 BLAKE2B 6ff816d3f6e3f51eef32f3695c7892d5be15dbd544fb384404c1409f5297df60383b3f956166230a6f6f7094647093cd4c08b3258017e0513504d74f785788f4 SHA512 5f13d0dd36d8bd45ef142c23a9a60128e31b4f40b388fee30e465100c1ee61172db4d1888dc93363f145181cab40f56ce9ae7c14b8d9f3cc91f076be86099eea diff --git a/app-emulation/virtualbox/virtualbox-5.2.18.ebuild b/app-emulation/virtualbox/virtualbox-5.2.18.ebuild new file mode 100644 index 000000000000..cacca024750a --- /dev/null +++ b/app-emulation/virtualbox/virtualbox-5.2.18.ebuild @@ -0,0 +1,473 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 ) +inherit flag-o-matic gnome2-utils java-pkg-opt-2 linux-info pax-utils python-single-r1 tmpfiles toolchain-funcs udev xdg-utils + +MY_PV="${PV/beta/BETA}" +MY_PV="${MY_PV/rc/RC}" +MY_P=VirtualBox-${MY_PV} + +DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2 + https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-5.2.16-patches-02.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="alsa debug doc headless java libressl lvm +opus pam pax_kernel pulseaudio +opengl python +qt5 +sdk +udev vboxwebsrv vnc" + +RDEPEND="!app-emulation/virtualbox-bin + ~app-emulation/virtualbox-modules-${PV} + dev-libs/libIDL + >=dev-libs/libxslt-1.1.19 + net-misc/curl + dev-libs/libxml2 + media-libs/libpng:0= + media-libs/libvpx:0= + sys-libs/zlib + !headless? ( + media-libs/libsdl:0[X,video] + x11-libs/libX11 + x11-libs/libXcursor + x11-libs/libXext + x11-libs/libXmu + x11-libs/libXt + opengl? ( virtual/opengl media-libs/freeglut ) + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtprintsupport:5 + dev-qt/qtwidgets:5 + dev-qt/qtx11extras:5 + opengl? ( dev-qt/qtopengl:5 ) + x11-libs/libXinerama + ) + ) + libressl? ( dev-libs/libressl:= ) + !libressl? ( dev-libs/openssl:0= ) + lvm? ( sys-fs/lvm2 ) + opus? ( media-libs/opus ) + udev? ( >=virtual/udev-171 ) + vnc? ( >=net-libs/libvncserver-0.9.9 )" +DEPEND="${RDEPEND} + >=dev-util/kbuild-0.1.9998.3127 + >=dev-lang/yasm-0.6.2 + sys-devel/bin86 + sys-libs/libcap + sys-power/iasl + virtual/pkgconfig + alsa? ( >=media-libs/alsa-lib-1.0.13 ) + doc? ( + app-text/docbook-sgml-dtd:4.4 + dev-texlive/texlive-basic + dev-texlive/texlive-latex + dev-texlive/texlive-latexrecommended + dev-texlive/texlive-latexextra + dev-texlive/texlive-fontsrecommended + dev-texlive/texlive-fontsextra + ) + !headless? ( x11-libs/libXinerama ) + java? ( >=virtual/jdk-1.6 ) + pam? ( sys-libs/pam ) + pax_kernel? ( sys-apps/elfix ) + pulseaudio? ( media-sound/pulseaudio ) + qt5? ( dev-qt/linguist-tools:5 ) + vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] ) + ${PYTHON_DEPS}" +RDEPEND="${RDEPEND} + java? ( >=virtual/jre-1.6 )" + +QA_TEXTRELS_x86="usr/lib/virtualbox-ose/VBoxGuestPropSvc.so + usr/lib/virtualbox/VBoxSDL.so + usr/lib/virtualbox/VBoxSharedFolders.so + usr/lib/virtualbox/VBoxDD2.so + usr/lib/virtualbox/VBoxOGLrenderspu.so + usr/lib/virtualbox/VBoxPython.so + usr/lib/virtualbox/VBoxDD.so + usr/lib/virtualbox/VBoxDDU.so + usr/lib/virtualbox/VBoxREM64.so + usr/lib/virtualbox/VBoxSharedClipboard.so + usr/lib/virtualbox/VBoxHeadless.so + usr/lib/virtualbox/VBoxRT.so + usr/lib/virtualbox/VBoxREM.so + usr/lib/virtualbox/VBoxSettings.so + usr/lib/virtualbox/VBoxKeyboard.so + usr/lib/virtualbox/VBoxSharedCrOpenGL.so + usr/lib/virtualbox/VBoxVMM.so + usr/lib/virtualbox/VirtualBox.so + usr/lib/virtualbox/VBoxOGLhosterrorspu.so + usr/lib/virtualbox/components/VBoxC.so + usr/lib/virtualbox/components/VBoxSVCM.so + usr/lib/virtualbox/components/VBoxDDU.so + usr/lib/virtualbox/components/VBoxRT.so + usr/lib/virtualbox/components/VBoxREM.so + usr/lib/virtualbox/components/VBoxVMM.so + usr/lib/virtualbox/VBoxREM32.so + usr/lib/virtualbox/VBoxPython2_7.so + usr/lib/virtualbox/VBoxXPCOMC.so + usr/lib/virtualbox/VBoxOGLhostcrutil.so + usr/lib/virtualbox/VBoxNetDHCP.so + usr/lib/virtualbox/VBoxNetNAT.so" + +S="${WORKDIR}/${MY_P}" + +REQUIRED_USE=" + java? ( sdk ) + python? ( sdk ) + vboxwebsrv? ( java ) + ${PYTHON_REQUIRED_USE} +" + +pkg_setup() { + if ! use headless && ! use qt5 ; then + einfo "No USE=\"qt5\" selected, this build will not include any Qt frontend." + elif use headless && use qt5 ; then + einfo "You selected USE=\"headless qt5\", defaulting to" + einfo "USE=\"headless\", this build will not include any X11/Qt frontend." + fi + + if ! use opengl ; then + einfo "No USE=\"opengl\" selected, this build will lack" + einfo "the OpenGL feature." + fi + if ! use python ; then + einfo "You have disabled the \"python\" USE flag. This will only" + einfo "disable the python bindings being installed." + fi + java-pkg-opt-2_pkg_setup + python-single-r1_pkg_setup + + tc-ld-disable-gold #bug 488176 + tc-export CC CXX LD AR RANLIB + export HOST_CC="$(tc-getBUILD_CC)" +} + +src_prepare() { + # Remove shipped binaries (kBuild,yasm), see bug #232775 + rm -r kBuild/bin tools || die + + # Replace pointless GCC version check with something less stupid. + # This is needed for the qt5 version check. + sed -e 's@^check_gcc$@cc_maj="$(gcc -dumpversion | cut -d. -f1)" ; cc_min="$(gcc -dumpversion | cut -d. -f2)"@' \ + -i configure || die + + # Don't use "echo -n" + sed 's@ECHO_N="echo -n"@ECHO_N="printf"@' -i configure || die + + # Disable things unused or split into separate ebuilds + sed -e "s@MY_LIBDIR@$(get_libdir)@" \ + "${FILESDIR}"/${PN}-5-localconfig > LocalConfig.kmk || die + + # Respect LDFLAGS + sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \ + -i Config.kmk src/libs/xpcom18a4/Config.kmk || die + + # Do not use hard-coded ld (related to bug #488176) + sed -e '/QUIET)ld /s@ld @$(LD) @' \ + -i src/VBox/Devices/PC/ipxe/Makefile.kmk || die + + # Use PAM only when pam USE flag is enbaled (bug #376531) + if ! use pam ; then + elog "Disabling PAM removes the possibility to use the VRDP features." + sed -i 's@^.*VBOX_WITH_PAM@#VBOX_WITH_PAM@' Config.kmk || die + sed -i 's@\(.*/auth/Makefile.kmk.*\)@#\1@' \ + src/VBox/HostServices/Makefile.kmk || die + fi + + # add correct java path + if use java ; then + sed "s@/usr/lib/jvm/java-6-sun@$(java-config -O)@" \ + -i "${S}"/Config.kmk || die + java-pkg-opt-2_src_prepare + fi + + # Only add nopie patch when we're on hardened + if gcc-specs-pie ; then + eapply "${FILESDIR}/050_virtualbox-5.2.8-nopie.patch" + fi + + # Only add paxmark patch when we're on pax_kernel + if use pax_kernel ; then + eapply "${FILESDIR}"/virtualbox-5.2.8-paxmark-bldprogs.patch + fi + + eapply "${WORKDIR}/patches" + + eapply_user +} + +src_configure() { + local myconf=( + --with-gcc="$(tc-getCC)" + --with-g++="$(tc-getCXX)" + --disable-dbus + --disable-kmods + $(usex alsa '' --disable-alsa) + $(usex debug --build-debug '') + $(usex doc '' --disable-docs) + $(usex java '' --disable-java) + $(usex lvm '' --disable-devmapper) + $(usex opus --build-libopus '') + $(usex pulseaudio '' --disable-pulse) + $(usex python '' --disable-python) + $(usex vboxwebsrv --enable-webservice '') + $(usex vnc --enable-vnc '') + ) + if ! use headless ; then + myconf+=( + $(usex opengl '' --disable-opengl) + $(usex qt5 '' --disable-qt) + ) + else + myconf+=( + --build-headless + --disable-opengl + ) + fi + if use amd64 && ! has_multilib_profile ; then + myconf+=( --disable-vmmraw ) + fi + # not an autoconf script + ./configure ${myconf[@]} || die "configure failed" +} + +src_compile() { + source ./env.sh || die + + # Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529) + MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #' + MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #' + MAKEOPTS="${MAKEJOBS} ${MAKELOAD}" + MAKE="kmk" emake \ + VBOX_BUILD_PUBLISHER=_Gentoo \ + TOOL_GCC3_CC="$(tc-getCC)" TOOL_GCC3_CXX="$(tc-getCXX)" \ + TOOL_GCC3_AS="$(tc-getCC)" TOOL_GCC3_AR="$(tc-getAR)" \ + TOOL_GCC3_LD="$(tc-getCXX)" TOOL_GCC3_LD_SYSMOD="$(tc-getLD)" \ + TOOL_GCC3_CFLAGS="${CFLAGS}" TOOL_GCC3_CXXFLAGS="${CXXFLAGS}" \ + VBOX_GCC_OPT="${CXXFLAGS}" \ + TOOL_YASM_AS=yasm KBUILD_VERBOSE=2 \ + all +} + +src_install() { + local binpath="release" + use debug && binpath="debug" + cd "${S}"/out/linux.${ARCH}/${binpath}/bin || die + + local vbox_inst_path="/usr/$(get_libdir)/${PN}" each fwfile size ico icofile + + vbox_inst() { + local binary="${1}" + local perms="${2:-0750}" + local path="${3:-${vbox_inst_path}}" + + [[ -n "${binary}" ]] || die "vbox_inst: No binray given!" + [[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms must consist of four digits." + + insinto ${path} + doins ${binary} + fowners root:vboxusers ${path}/${binary} + fperms ${perms} ${path}/${binary} + } + + # Create configuration files + insinto /etc/vbox + newins "${FILESDIR}/${PN}-4-config" vbox.cfg + + # Set the correct libdir + sed \ + -e "s@MY_LIBDIR@$(get_libdir)@" \ + -i "${ED%/}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed" + + # Install the wrapper script + exeinto ${vbox_inst_path} + newexe "${FILESDIR}/${PN}-ose-5-wrapper" "VBox" + fowners root:vboxusers ${vbox_inst_path}/VBox + fperms 0750 ${vbox_inst_path}/VBox + + # Install binaries and libraries + insinto ${vbox_inst_path} + doins -r components + + # *.rc files for x86_64 are only available on multilib systems + local rcfiles="*.rc" + if use amd64 && ! has_multilib_profile ; then + rcfiles="" + fi + for each in VBox{ExtPackHelperApp,Manage,SVC,Tunctl,XPCOMIPCD} *so *r0 ${rcfiles} ; do + vbox_inst ${each} + done + + # These binaries need to be suid root. + for each in VBox{Headless,Net{AdpCtl,DHCP,NAT}} ; do + vbox_inst ${each} 4750 + done + + # Install EFI Firmware files (bug #320757) + pushd "${S}"/src/VBox/Devices/EFI/FirmwareBin &>/dev/null || die + for fwfile in VBoxEFI{32,64}.fd ; do + vbox_inst ${fwfile} 0644 + done + popd &>/dev/null || die + + # VBoxSVC and VBoxManage need to be pax-marked (bug #403453) + # VBoxXPCOMIPCD (bug #524202) + for each in VBox{Headless,Manage,SVC,XPCOMIPCD} ; do + pax-mark -m "${ED%/}"${vbox_inst_path}/${each} + done + + # Symlink binaries to the shipped wrapper + for each in vbox{headless,manage} VBox{Headless,Manage,VRDP} ; do + dosym ${vbox_inst_path}/VBox /usr/bin/${each} + done + dosym ${vbox_inst_path}/VBoxTunctl /usr/bin/VBoxTunctl + + if use pam ; then + # VRDPAuth only works with this (bug #351949) + dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so + fi + + # set an env-variable for 3rd party tools + echo -n "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox" + doenvd "${T}/90virtualbox" + + if ! use headless ; then + vbox_inst VBoxSDL 4750 + pax-mark -m "${ED%/}"${vbox_inst_path}/VBoxSDL + + for each in vboxsdl VBoxSDL ; do + dosym ${vbox_inst_path}/VBox /usr/bin/${each} + done + + if use qt5 ; then + vbox_inst VirtualBox 4750 + pax-mark -m "${ED%/}"${vbox_inst_path}/VirtualBox + + if use opengl ; then + vbox_inst VBoxTestOGL + pax-mark -m "${ED%/}"${vbox_inst_path}/VBoxTestOGL + fi + + for each in virtualbox VirtualBox ; do + dosym ${vbox_inst_path}/VBox /usr/bin/${each} + done + + insinto /usr/share/${PN} + doins -r nls + doins -r UnattendedTemplates + + newmenu "${FILESDIR}"/${PN}-ose.desktop-2 ${PN}.desktop + fi + + pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die + for size in 16 32 48 64 128 ; do + newicon -s ${size} ${PN}-${size}px.png ${PN}.png + done + newicon ${PN}-48px.png ${PN}.png + doicon -s scalable ${PN}.svg + popd &>/dev/null || die + pushd "${S}"/src/VBox/Artwork/other &>/dev/null || die + for size in 16 24 32 48 64 72 96 128 256 512 ; do + for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do + icofile="${PN}-${ico}-${size}px.png" + if [[ -f "${icofile}" ]] ; then + newicon -s ${size} ${icofile} ${PN}-${ico}.png + fi + done + done + popd &>/dev/null || die + fi + + if use lvm ; then + vbox_inst VBoxVolInfo 4750 + dosym ${vbox_inst_path}/VBoxVolInfo /usr/bin/VBoxVolInfo + fi + + if use sdk ; then + insinto ${vbox_inst_path} + doins -r sdk + + if use java ; then + java-pkg_regjar "${ED%/}/${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar" + java-pkg_regso "${ED%/}/${vbox_inst_path}/libvboxjxpcom.so" + fi + fi + + if use udev ; then + # New way of handling USB device nodes for VBox (bug #356215) + local udevdir="$(get_udevdir)" + insinto ${udevdir} + doins VBoxCreateUSBNode.sh + fowners root:vboxusers ${udevdir}/VBoxCreateUSBNode.sh + fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh + insinto ${udevdir}/rules.d + sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/10-virtualbox.rules \ + > "${T}"/10-virtualbox.rules || die + doins "${T}"/10-virtualbox.rules + fi + + if use vboxwebsrv ; then + vbox_inst vboxwebsrv + dosym ${vbox_inst_path}/VBox /usr/bin/vboxwebsrv + newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv + newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv + fi + + if use doc ; then + dodoc UserManual.pdf + fi + + newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf +} + +pkg_postinst() { + gnome2_icon_cache_update + xdg_desktop_database_update + + if use udev ; then + udevadm control --reload-rules \ + && udevadm trigger --subsystem-match=usb + fi + + tmpfiles_process /usr/lib/tmpfiles.d/virtualbox-vboxusb.conf + + if ! use headless && use qt5 ; then + elog "To launch VirtualBox just type: \"virtualbox\"." + fi + elog "You must be in the vboxusers group to use VirtualBox." + elog "" + elog "The latest user manual is available for download at:" + elog "http://download.virtualbox.org/virtualbox/${PV}/UserManual.pdf" + elog "" + elog "For advanced networking setups you should emerge:" + elog "net-misc/bridge-utils and sys-apps/usermode-utilities" + elog "" + elog "Starting with version 4.0.0, ${PN} has USB-1 support." + elog "For USB-2 support, PXE-boot ability and VRDP support please emerge" + elog " app-emulation/virtualbox-extpack-oracle" + elog "package." + elog "Starting with version 5.0.0, ${PN} no longer has the \"additions\" and" + elog "the \"extension\" USE flag. For installation of the guest additions ISO" + elog "image, please emerge" + elog " app-emulation/virtualbox-additions" + elog "and for the USB2, USB3, VRDP and PXE boot ROM modules, please emerge" + elog " app-emulation/virtualbox-extpack-oracle" + if ! use udev ; then + elog "" + elog "WARNING!" + elog "Without USE=udev, USB devices will likely not work in ${PN}." + elif [ -e "${ROOT%/}/etc/udev/rules.d/10-virtualbox.rules" ] ; then + elog "" + elog "Please remove \"${ROOT%/}/etc/udev/rules.d/10-virtualbox.rules\"" + elog "or else USB in ${PN} won't work." + fi +} + +pkg_postrm() { + gnome2_icon_cache_update + xdg_desktop_database_update +} diff --git a/app-emulation/wine-mono/Manifest b/app-emulation/wine-mono/Manifest index 689d57518359..5ff8f6b857c2 100644 --- a/app-emulation/wine-mono/Manifest +++ b/app-emulation/wine-mono/Manifest @@ -2,8 +2,8 @@ DIST wine-mono-4.6.4.msi 45592064 BLAKE2B 30099b7f02276e47e350a96af07bf64b43c857 DIST wine-mono-4.7.0.msi 64625152 BLAKE2B 9c533d9f9a5cec6aefa66ed916e88f0a03ab76e8292f112a669208c5b26855a314657c9950993a205941cd314f0c93a55f621ed71ebb4846a66d30fa9af3c855 SHA512 07cd2b26f3bfe6fc796a126b83e9c0aa655d3e8152af536ae2e8ae419013742706ddae6f93cc2341c94a2f3b8ae7d1b27d12f891d371928189291428f9ed877c DIST wine-mono-4.7.1.msi 56470528 BLAKE2B b1b9dd832f725cb70b80889c08db524540c389c4eb8c990415f0c1b4a17274fc96390808c943bd0ff42c79f4bbb376b3d599d31ed42b5ebcb4be79dbc273eeec SHA512 d47f21fa3ddb31522366056a2062cf7b77eec0a12f96dc05326561c9d2604405128441ff40d1b9567a6e6cd1c19ee03444d2ba02dd3b8dd2d150030dfb52f765 DIST wine-mono-4.7.3.msi 56470528 BLAKE2B 59397f851bd0883f060fd359228fcdedea5a32ce06349fd563411dfa603a6c8700496111821fd9e571cfd4586e829acb12321528a4a8330d1fb6f92855482225 SHA512 d51c0e21c8448a4d11c3e4fd530bda340cc93cd420080e08aadd7b704183dcadf8553b0937e02c7a54a8a2fb46a395718a3e807b85f19936b0e4ee7b92052dfe -EBUILD wine-mono-4.6.4.ebuild 504 BLAKE2B 1a454ab2e605655328cc00e7ae539b83fcb8f3f3efca9e4873cb5b9c7036e71e696005a21ab0420cf110a07496b3772a8164eafe1dda7591d02155538ea75367 SHA512 cd729b803383bd1416152ac70567ed6a8231b87ccec1bbd47768abf08dd1bbced711c9356c42759d1e9458fb35b9edd438f2b58c40ef80d15f9bdf5a8b7b4605 -EBUILD wine-mono-4.7.0.ebuild 506 BLAKE2B 6219e5761bf91cfc349d872085991688cfee7b9ed5b5aad964f7580e26fa0cc213e21e20a0afcf7f0dae315a27c022511d089f2c2aaea8c7d8cd97033e7b81c1 SHA512 64b8eceae407dba1f415c113c2f1c0a5342a178850d940c22e49bc483e8c4eab2efcb34a1a053d28e8fa0637f3386a9846b1a90ab4baaa84e3b9fb9d71267bc3 -EBUILD wine-mono-4.7.1.ebuild 504 BLAKE2B 6f8fa48c32e6ea7e3a768fb04b8255ddf503b5a584ad2015358dd35476ddac5b092bb5d887bde7ca89928442bb03d6f6e398998a7fc30d3fcde958fadb66fab7 SHA512 8531ae9d10aa4d40c7fe2c59eea82007b494bcb6c546253d9211e773c23d8bc61cc67e3dc563219957f9d6364572c00400ae5178bc2ea88e23b9915ae47e4258 -EBUILD wine-mono-4.7.3.ebuild 506 BLAKE2B 1e661c78fd619232d98ecc239126f97e7b0f3a99d472e99c8ad99398c85318f9f827bb2b224747cc621531870c5dec3328c8947a791d29d37b84ab3185e58902 SHA512 823f6a18b5d87dff909817011e6505417c636901a02af09180f7a0d4881d13c4b1322f57ba8d0454facb597e0aa36a1a2e2893e4d63c0607a18b8f9ebc8e09f0 +EBUILD wine-mono-4.6.4.ebuild 491 BLAKE2B ca3c7d026b50367f574915102069052519ecef3f49b1ca7185a64902807939f1b149fdb2e120097751261ad7e0ac6dae0ceef08d0fbd3658c5c5ab7c3178bc34 SHA512 459ebb021fc4f9401de138164c90e139a3592587da66a25cbc6ac6db6a24e46257d4a2b63cdc2edad1783413924a04d574301123ef7fe93f4ca3a9a0045acac3 +EBUILD wine-mono-4.7.0.ebuild 493 BLAKE2B 062ba95f20540e8cebca2b2dc1ceea8a49ab9be791d11de595ff300337bcd4d015f21825a0bbbd62837d618ad093ce7b24a95bd87b7eeae4e1e3479542fc034d SHA512 5cf9052ebb4a0cf0f7717be83ed059d2622836edad31f9bdb314afeb51a9f6ab9c65e5c7a9884f802dd0c4f9b47bf4262ecc24ad49c439f8b826e025f988022c +EBUILD wine-mono-4.7.1.ebuild 491 BLAKE2B ca3c7d026b50367f574915102069052519ecef3f49b1ca7185a64902807939f1b149fdb2e120097751261ad7e0ac6dae0ceef08d0fbd3658c5c5ab7c3178bc34 SHA512 459ebb021fc4f9401de138164c90e139a3592587da66a25cbc6ac6db6a24e46257d4a2b63cdc2edad1783413924a04d574301123ef7fe93f4ca3a9a0045acac3 +EBUILD wine-mono-4.7.3.ebuild 493 BLAKE2B 062ba95f20540e8cebca2b2dc1ceea8a49ab9be791d11de595ff300337bcd4d015f21825a0bbbd62837d618ad093ce7b24a95bd87b7eeae4e1e3479542fc034d SHA512 5cf9052ebb4a0cf0f7717be83ed059d2622836edad31f9bdb314afeb51a9f6ab9c65e5c7a9884f802dd0c4f9b47bf4262ecc24ad49c439f8b826e025f988022c MISC metadata.xml 614 BLAKE2B e45f9e8581cec69afc21a5af29aa71eec05ba7fa626624e6c06000a5f013a3606674074beec999a0f8f91c91fc8912995b20cb88f8ad8a40bffbd964c5bf020f SHA512 5655c4bd737975334e66b4ea0c6cdb447dd647a7a3c76c0cd9782c405c9540ae396c87677bde408d3977b838813e00f12249f0f84267b75894e5554b2c6bcb6c diff --git a/app-emulation/wine-mono/wine-mono-4.6.4.ebuild b/app-emulation/wine-mono/wine-mono-4.6.4.ebuild index a9f2ddc6bc28..4a5144adb837 100644 --- a/app-emulation/wine-mono/wine-mono-4.6.4.ebuild +++ b/app-emulation/wine-mono/wine-mono-4.6.4.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2018 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI=6 -DESCRIPTION="Wine Mono is a replacement for the .NET runtime and class libraries in Wine" +DESCRIPTION="A replacement for the .NET runtime and class libraries in Wine" HOMEPAGE="https://www.winehq.org/" SRC_URI="https://dl.winehq.org/wine/${PN}/${PV}/${P}.msi" diff --git a/app-emulation/wine-mono/wine-mono-4.7.0.ebuild b/app-emulation/wine-mono/wine-mono-4.7.0.ebuild index 2479dca9023d..54ef87ce73c8 100644 --- a/app-emulation/wine-mono/wine-mono-4.7.0.ebuild +++ b/app-emulation/wine-mono/wine-mono-4.7.0.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2018 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI=6 -DESCRIPTION="Wine Mono is a replacement for the .NET runtime and class libraries in Wine" +DESCRIPTION="A replacement for the .NET runtime and class libraries in Wine" HOMEPAGE="https://www.winehq.org/" SRC_URI="https://dl.winehq.org/wine/${PN}/${PV}/${P}.msi" diff --git a/app-emulation/wine-mono/wine-mono-4.7.1.ebuild b/app-emulation/wine-mono/wine-mono-4.7.1.ebuild index 4070337553f3..4a5144adb837 100644 --- a/app-emulation/wine-mono/wine-mono-4.7.1.ebuild +++ b/app-emulation/wine-mono/wine-mono-4.7.1.ebuild @@ -3,7 +3,7 @@ EAPI=6 -DESCRIPTION="Wine Mono is a replacement for the .NET runtime and class libraries in Wine" +DESCRIPTION="A replacement for the .NET runtime and class libraries in Wine" HOMEPAGE="https://www.winehq.org/" SRC_URI="https://dl.winehq.org/wine/${PN}/${PV}/${P}.msi" diff --git a/app-emulation/wine-mono/wine-mono-4.7.3.ebuild b/app-emulation/wine-mono/wine-mono-4.7.3.ebuild index e18bbd1ddb62..54ef87ce73c8 100644 --- a/app-emulation/wine-mono/wine-mono-4.7.3.ebuild +++ b/app-emulation/wine-mono/wine-mono-4.7.3.ebuild @@ -3,7 +3,7 @@ EAPI=6 -DESCRIPTION="Wine Mono is a replacement for the .NET runtime and class libraries in Wine" +DESCRIPTION="A replacement for the .NET runtime and class libraries in Wine" HOMEPAGE="https://www.winehq.org/" SRC_URI="https://dl.winehq.org/wine/${PN}/${PV}/${P}.msi" diff --git a/app-emulation/wine-vanilla/Manifest b/app-emulation/wine-vanilla/Manifest index 1d05601237b8..53b19f827925 100644 --- a/app-emulation/wine-vanilla/Manifest +++ b/app-emulation/wine-vanilla/Manifest @@ -5,7 +5,7 @@ DIST wine-3.11.tar.xz 20501100 BLAKE2B 793fe0a83ed13f4ca436c710198ffcbde5e0109d9 DIST wine-3.12.tar.xz 20516708 BLAKE2B 6ff32f8d471492c1ca42db434b16c0273e98cd15215d2f67e3d8e34e298d36620f55409bb781687f3ab11e6a44bd95eaa033e642fdb0d7aae90319ac2ddd2fb6 SHA512 afc76e8975ea780f664de27a17128f730bcbe72a9fad0c01bfe6dcc98c2f98729ccde32e97fe4df2cf98f5d1b254b28f0e7cd380855148c5cfb41dd88f3012a1 DIST wine-3.13.tar.xz 20551460 BLAKE2B 2f8b1c2f72761b3c5541b8760be3009295dc9482257539edce83aa9d6022b2e8a25e1cee4fe56b69808e51e338fd330db5da17dec5dea4ba7684b5d7eb7e77d5 SHA512 a07a3d2a19261f9251f165ca4c14871e6ebda4d3f99da16f9fc41f06e80cae3fb50aeab96628c7a739e635e896dbb31c55df8b42c4637a058f9035c664c93a59 EBUILD wine-vanilla-3.0.1.ebuild 17123 BLAKE2B 5aef4adb2ece22b4abaee6fcff8fc28aa73dff048c09f7dfce3314563bffa17657c35e243b9fa689f8ffd94c4dc266b32884f2a85d8161da76ec9b6dedfb0413 SHA512 eacd129eb9d98f3d46993505d81fb70bcb1435a9cf371fb1ca9a512edab6d235ec5398241a5db3e5281e5c677454b43de8dfbd15ea63c7b927db5dd5d3885904 -EBUILD wine-vanilla-3.0.2.ebuild 17125 BLAKE2B 51d4eeb0ef880774cfd8ffce30c8482e9c0a847cbfbecb15159e95497c9a56f62a7ecb1c941bda4f31fe4d89bd11fb740d747f28df28275ead43503af994eaf5 SHA512 011941555712a3a02ff08bdab12b467da71a151efdeb0bce060b9c51c02f8ffec5368b70969a36424b9272ad981e2e8a4725f7de35a8d6064e9e8ad00ccb0f35 +EBUILD wine-vanilla-3.0.2.ebuild 17123 BLAKE2B 5aef4adb2ece22b4abaee6fcff8fc28aa73dff048c09f7dfce3314563bffa17657c35e243b9fa689f8ffd94c4dc266b32884f2a85d8161da76ec9b6dedfb0413 SHA512 eacd129eb9d98f3d46993505d81fb70bcb1435a9cf371fb1ca9a512edab6d235ec5398241a5db3e5281e5c677454b43de8dfbd15ea63c7b927db5dd5d3885904 EBUILD wine-vanilla-3.11.ebuild 17329 BLAKE2B 4e0f08f51a31405ea56bcd7fa6e27c6e2060bc34fcb23dc7c6342d33abac6d62b5b664da6727094e9cc5105ccef9e026d75bc24a9c3aaa266069fe5fcddd29e1 SHA512 44d9a8470cfd621237c1f7fc389040b11eb0439429804f6472b1488b6372a091b123159f6ea32f2b911df320f303983ea94449e87814cc6840cefbbfedd7887c EBUILD wine-vanilla-3.12.ebuild 17329 BLAKE2B 4e0f08f51a31405ea56bcd7fa6e27c6e2060bc34fcb23dc7c6342d33abac6d62b5b664da6727094e9cc5105ccef9e026d75bc24a9c3aaa266069fe5fcddd29e1 SHA512 44d9a8470cfd621237c1f7fc389040b11eb0439429804f6472b1488b6372a091b123159f6ea32f2b911df320f303983ea94449e87814cc6840cefbbfedd7887c EBUILD wine-vanilla-3.13-r1.ebuild 17329 BLAKE2B 5ed8456f9f3e5961eb828e58f7829b4de2a5f2e4eb30430fecc98968acb0660b2fa1534672018d871222fca26cc9b667b9d570f8bc02121db6ae333322942db3 SHA512 660dcd599cfd1fda4f63d2dbf1bf5e3a8c22efa2a3954e311113b551c9974c23a8ffcf25075f13fcf231ff7076d902e0b739f31704fe7af5ceb3d3e3ddcf85db diff --git a/app-emulation/wine-vanilla/wine-vanilla-3.0.2.ebuild b/app-emulation/wine-vanilla/wine-vanilla-3.0.2.ebuild index 0fc721308065..eb3d66d40ddb 100644 --- a/app-emulation/wine-vanilla/wine-vanilla-3.0.2.ebuild +++ b/app-emulation/wine-vanilla/wine-vanilla-3.0.2.ebuild @@ -20,7 +20,7 @@ if [[ ${PV} == "9999" ]] ; then else MAJOR_V=$(get_version_component_range 1) SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.0/${MY_P}.tar.xz" - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" + KEYWORDS="-* amd64 x86 ~x86-fbsd" fi S="${WORKDIR}/${MY_P}" diff --git a/app-emulation/xen-tools/Manifest b/app-emulation/xen-tools/Manifest index 3b391b795835..4789875ecc64 100644 --- a/app-emulation/xen-tools/Manifest +++ b/app-emulation/xen-tools/Manifest @@ -1,4 +1,4 @@ -AUX gentoo-patches.conf 4804 BLAKE2B b86868fa13e85231231fe21c9af969f79f3319535875658ec38335fb15dc155ff344c43d6da15d08bb364a12a2a6979f70933a6beaef077b31633cb584b6be31 SHA512 c825b99526edef9f3c73c56f9cd4c918e6570fed106df0e3d7676f2d71d851a7e75dde0b2dee2d3d10d85e27ec097822a48473bbedec79075d887dd7b15cf4d1 +AUX gentoo-patches.conf 4908 BLAKE2B d2b6b92b5f7b22300872608b8f21f68b33423b19dc0dfcc70612eee83f0b5f5e252e2a646c67c1577e52562bbb0845f3bc420ab2e242cbb288ebd9405e97fb0d SHA512 be1a94bb52c8f0f8102d650c2bdfe7b04c04cf1813c2dc42ba2cff62da2b43d3644fafd1b204d577d573833c0510b639528521ef1737e7f438428ce9097acf78 AUX stubs-32.h 537 BLAKE2B 456f57c4a4ba574c737f1b84b62a085d0290ebc8981a5f96fdebc16b6c86c801c5ca8dde135e803f46c5ec875fdd74770f6ed754880bc7af930b8ce1ce972fb7 SHA512 55308dbedaa91909a2213940f7a7b574cabe6b5a3104761a2a6f28d6aed00164544488c00cbf9d66a9a370a14c6b6d3a00434efd3ff0228cc8e4d81af19c0e68 AUX xen-consoles.logrotate 63 BLAKE2B 4ae650876035d2815dbcacc6ed618c58cc61d9cfd9cde1b6c2f792cbf51898c577ef979443ad827fc82ced4d21ae24836883160b20d697965ef5377d50c2973c SHA512 ab2105c75cfe01768aecd5bcbb56269d63666e8a44e42b6a83aee87df6c84ee2f9ab249171c21b2e09f8fec2cae8318f6e87d160989398a3e7dd68db8d52c426 AUX xen-watchdog.initd 181 BLAKE2B b8529db36016b6f71520c1e4119a2ea5c4d3f52f2c77ccb5603efb67bcdd88b8273a359f6ae0df61763ea31a50bd8a0be775df5aabbd17c90e7928c8ed5b7c0e SHA512 5f6da91c0067b93f1b9f1a2f181caf34034896944ab26f5820e860336e3b3159a65e8a7f39ea273927d64d58a2fe4d918d2c3234f2b03ab0770e0c15d6dfe84b @@ -18,8 +18,9 @@ DIST ovmf-20170321.tar.xz 22141096 BLAKE2B 79e991c8f9deb297865c319e88b6e6d46b1d0 DIST seabios-1.10.0.tar.gz 588213 BLAKE2B 254eb4572a1dac06020a545820efb53a130a027aaab035cd916009b424475f89bd151f82f1bc5103c01c4657d09da3219d2fbcc7728add473011dcfc7bff7410 SHA512 f1b83ce37b59070b488e19f98c95ca9f413cf4969663331b631c3ccb884c90b2db793d32a779ef05cead538c2fd123be4b73391ad2fa20c900a1f14237178d8c DIST xen-4.10.0-upstream-patches-0.tar.xz 70884 BLAKE2B 9a27e7989486ba3ba59548de356384527cc5b78e63b6ed042506e6534e488272369f021cd2daa516820313c3fe18625a5864794ae0806e7018b8ad28b0a294b1 SHA512 e64bf1d30d24e922c60c3b518a4de7874b43cc695134b4cdd65f6d95ae9ae579c521fab13ca82409fde55e43815d072c3194997e2bda106204cbf329e93a0a00 DIST xen-4.10.0.tar.gz 24618123 BLAKE2B 009faa980f9734525c137d525e626bfa3443c285aeb6b4af91bb2c32a2e98376ded0b1114b541d11e2d4353f4f588d58e8add5b1e0d7de2fe3399d4687c5bfae SHA512 5a37935c382f9cfe3641a35c3be0ba11689bca10c7d3c2401963513e3a834ee8d0c8a0ddcf3716dbf0a795aea1bab78caf19acf1272e5e054bf012cfa06a4690 -DIST xen-4.10.1-upstream-patches-0.tar.xz 69172 BLAKE2B 6da6f3938b5c20692bf7a7f79c21a1f0ed4fa010c8d99a95a2d3a19923f59aad677a3f23ceedf751921105f682ae2e6deb9539802e03c01be267dfc30d53b17e SHA512 b0086c15f811706a0993b92d253d736041b8d7bc4effd082bf092e0d4d372a8b1580f499d225eb0d1a449e14845885bdd749e3df9609c657de6ff8d389c2eb45 +DIST xen-4.10.1-upstream-patches-1.tar.xz 85048 BLAKE2B d00f01980e1c889b2f6899970999b93a7ddbaa03f88219d576bfbe4ccfe0ef3f75afad1538065045833430baa16b64d8dd7eb42af6ad7c3ef948601b941c51bc SHA512 ede74a53faf82712d6ee0cf2a995bb78b7079481e47e829243632fac40069194671e6b9b765e535aa533f618cdcd7715f540e81acd947a42f7b8cbb693a3df82 DIST xen-4.10.1.tar.gz 24674240 BLAKE2B f9a7e0c637db865ab32ad6b6185ab96022903aff65a18e194286a3fc372d4a45f6682cd636b7ac5b4fa0125e54ed51f8876a411d498cf75791718fd088c4a6d2 SHA512 236c02bee69e33644703ed26d323d4c491a91fc05bd0ee0990a7368579f7c82f5bb4510845bf80348fd923024d7d60d521f593dfd0365d971dc592f8ef10fbea +DIST xen-4.11.0-upstream-patches-0.tar.xz 21720 BLAKE2B 92c2ef90ca6af5032e9181d8edbe2b91a4117cc402f5abdff208aa76ee76b56ce75f576c56220d2ebf6d1a21957c10f7c45a2c88d2c77aa8b17fa9a0a99e5b57 SHA512 6ea0ee376251b20b7fa9b6334bca462f115d8a9929e31ae269ae9591b433b46e4e9076a2d2e39ec5f868d5d74739ad7b0ba0d9244e599da5255ccca0babd669e DIST xen-4.11.0.tar.gz 25131533 BLAKE2B 892639b8bcd9b9956104e4d5137ffd88e17f92d965fa967b4af8d74a4fddcc21c6971c53026e0fb5ce833ab2c25c68f827abcac0b7b1dcebc21dca645c465573 SHA512 33d431c194f10d5ee767558404a1f80a66b3df019012b0bbd587fcbc9524e1bba7ea04269020ce891fe9d211d2f81c63bf78abedcdbe1595aee26251c803a50a DIST xen-4.9.1-upstream-patches-1.tar.xz 24592 BLAKE2B 774c5219d6c14d729358e790d880a1a31fb4cda741e54e71879bff164e79bafbd8492eb8bccb7becdf7a2f9605e71266bb4fc15848deff8f9028ed7f8844f915 SHA512 edbc7cad2f6f8a5c7e8aac8efd5454428aa25e0e13018438f78c7f401cfb9173345267e16c7a5dfa78066a952980b172976409a0c63162094b7f507058e712ed DIST xen-4.9.1-upstream-patches-2.tar.xz 84228 BLAKE2B 3b98cdb1202d4c9817dd1919b9dc5d4c06510d3be2c077b2e41334928bca07c65a9d8a421fc2a1ae3b806e69f7b61334f7c54d48952c98192ece4b5826539df8 SHA512 673520bff88fa401e1d1c7accc8d3650d4d74a9e52bc7195cfcb5335226c69ef0230e7db719fd97ce6df2f5198646ae0fbccc6f812d7e9ccd38a6eef359d287c @@ -28,11 +29,11 @@ DIST xen-4.9.2-upstream-patches-2.tar.xz 16100 BLAKE2B 469b5ab7c5514a4974ba63701 DIST xen-4.9.2.tar.gz 23392753 BLAKE2B 5f96f0e5062eff8ac2971eef85ea2bae0e94e7542151237937a1cf7e74690bb0ce1c952e830d2fc13b3277f70b9ed1de511afe4f780ad7b3be0c58742ece39b2 SHA512 e06aec25439abcc548c174ba8e271c23031ea704bcc2480905140aa68490064fbb1c58d9c4174f6617b4f7bbcddfda284317df6f480a6e5b5b5a2c71fbe0ac93 DIST xen-gentoo-patches-10.tar.xz 27876 BLAKE2B 8efece8548a046b47c04e5b9354ca8bdff55affd6c6bc67315ac7536778fbaa183d346e0ff83e365030df2433bddf845188a1c3fb8feaea2e93d5ba0dd1c779a SHA512 2033f4cb671971c73841cfaa7eb46623c37778c5746b47302eee252c4af287ccbeb8d1884ffdf32cd97a38cd7785257d56f13ef20d4c03dc0fb1cb196dc04ece DIST xen-gentoo-patches-12.tar.xz 28188 BLAKE2B 75f565d52e75d4f68d7a1be88a79e7cefe82350ca1f4852ecdb79137549d73ef1ffb665bac998956a6f180cde6faeb9a11ec1f5442c8ae53c7cbd869318ef315 SHA512 4e1ebbd244670d3a4171fd93eda7eb14deae3e3ad45b3a85c015696ff0a86b69156f24ee428d6c92b7be426938997cec2fab031ecb5b03ad26a38451523882de -DIST xen-gentoo-patches-13.tar.xz 30276 BLAKE2B 4e83011d90e30693e0d08848a8caddac1a4e283d33a257e37be0276cd662d7491d9db71d345a52f62bd57be80e7e707bf4ffa0ba8231702e4fc0765801884c7d SHA512 8211e325667c706fd22d82421aa4d0265c1ed49980911747f97014a24bb7d2e663a14eba1017101fab07a19de3a820c55e4b1cc9c16dbb0c001f33cf82ff26b3 +DIST xen-gentoo-patches-14.tar.xz 36244 BLAKE2B 94b751df0ae9a49d1c52ec5fa835d4a040ccb6a4a0f63ef6ef628191163ce7dbd47d4e3b2dbb1cf6cf6c8b368bea4267ff989754482c4794209a80eae9313c25 SHA512 8a23aeddbcf80c049da36e3ef9d797c16996b45be21b56f46f3c9c3833a7c1028fd9ed56fc8053faeb78db21076608de2eb32908e1ae1285f4f200ace40c8c2d DIST xen-ovmf-patches-3.tar.xz 4208 BLAKE2B 0df8f85667a33c91cbfd86c59aec2ae65eca892b45d66eed76f793a52e2748989bc2785861f8bfdf94235ef7a6c0be6572c6e6cce9695469e40f0facd0ce3947 SHA512 abe001053ca702138bbcdd6bea14e2daae5c785f862d6a15001ca894c8ed8617f0c5dc439c6f54a41433b988acf57c71911af1db074aa76732c39d98622a3b5b EBUILD xen-tools-4.10.0.ebuild 13965 BLAKE2B 18a2ed460d43c66aa133fdbb9f628b46778899a570b6a16000abc2567264b3f9566b2dd1761654d2d7fe7ad88536ee82c6dd83349c32db0e1a94ebcfc07e4af5 SHA512 cc335e72707d171fcd5f197d230bf1ca5995da953371622ed9d3cef791e2e12234f7ceb2a335917547f30828aed6d3ed7b185836b7a2bbf48d3a20fc1436cc43 -EBUILD xen-tools-4.10.1.ebuild 14007 BLAKE2B 0e856f2bff7ddfd87d64af29c0595ca1aedacaf200d967f6e35a24dc3273f7c61f25add5ee224f5f1dfc1cf7645d3d065019d92020875ce499f55c010af9c211 SHA512 11309a357bf43febf298410bc3faf398f0779c00aff2ce34427da0f63e831556da42f3b8fdc79affb680f6a925850bec912f2a4810dd8cbea7c3878d710edaaf -EBUILD xen-tools-4.11.0.ebuild 14054 BLAKE2B 641117a03f843e00134d25412543b320589232efc260244fbff9aaf031110f619a84d798340785205197a40eefa0fe9e67d96c4ab1a297a6709258f7d634d149 SHA512 ca862d0ab0bd4423ed6fb1b78c119dca2a367727698e3ffdaf89ac30758c5eea3046fe0a1cf093a4ee16974b5244153d6713ccf74f24635e46eae1964e7c6419 +EBUILD xen-tools-4.10.1-r1.ebuild 14007 BLAKE2B 2a738b7e8d4d0465527b8e5b3d1479bb293a589b230de23e80e7663f2cadd95f7a560bf0ab0e84b74fdc2b4408c2410a8dbdb8e2142ca707d34e1cf1ffe8efbd SHA512 a7dca368b14e03764f745df7a4810e8173d4c5bc3ef1adfebb22d0f277849e314939135cfeaf889c82d575ec99b08ff31ad4313d99c999ab58834c59da77181d +EBUILD xen-tools-4.11.0-r1.ebuild 14055 BLAKE2B a89647fbe748b5128155ca02bb5a72815c3d4d981788e66ba162a751e981b73de6bf136bed7dcaf86bcec950dff2e299b1b3f5621583ae012ecd80b6e0b3c19b SHA512 f6f59cc18ee5b7c6438b024f27ca23c75c03adce3e3fa223da72f64b24a220587dbc07d2afeecee1bd4eda138e63decbe07db058f2fbaf6fd1e0f8bbc1fc6045 EBUILD xen-tools-4.9.1-r1.ebuild 13751 BLAKE2B 324842ae54e6b973fcc71671b033e1e9845b30815538a7a8f47c74ca964b07cabdabbb4d8b5a34bd53b71c15fd47dac381700f33b32ecb3e1fbdcd9cfde7019e SHA512 17996a45a45d4af9139e06a72a574b2eee4d843bf8beb790485990559654801db5fc287e1cb25545d94d22803db6848c4c317ed95bd816d1dce19aec0ae62bbb EBUILD xen-tools-4.9.1-r2.ebuild 13853 BLAKE2B ef9227169434140233fa79299ef15463fb15a7aa04d887728394c19238d5914547f5c2fc6342acdb0a5d3764872fbe031912602fa8ebc479ce24f7ecaf25df45 SHA512 9a72c0bbedcc60ee4f145c1b42bf90e2cb79e0262de70d4f4ed7c99c311852d2ced336b85d626afbf0ff43c4f7e28d716ba06d654a428cf320a9be9d779fd10d EBUILD xen-tools-4.9.2-r1.ebuild 13748 BLAKE2B 0847bfa1075f2d4e3d6502914987d52325c35c1c3efe2c87cf0ae4b2a70d3e2f0ab7fd92712f9e8a72406e59b139694b60561509d99648c90030652f407e8297 SHA512 fccb2bf63a6672503237cdef15382387a8d2331b8e040aae0adbf46c0f91d4994839ec4c9288e39072ddd8d33e4a0ef82add13d31dea7a10e600e790eaa22f06 diff --git a/app-emulation/xen-tools/files/gentoo-patches.conf b/app-emulation/xen-tools/files/gentoo-patches.conf index b22aacefceba..2d4bcd195ac3 100644 --- a/app-emulation/xen-tools/files/gentoo-patches.conf +++ b/app-emulation/xen-tools/files/gentoo-patches.conf @@ -113,6 +113,9 @@ _gx046=" xen-tools-4.10.1-shim.patch" _gx047=" xen-tools-4.10.1-gcc8.patch" _gx048=" xen-tools-4.11.0-gcc8.patch" +# Fix pdf document generation, bug #650396 +_gx049=" xen-tools-4.10.1-pdfdoc.patch" + # xen-tools-4.8.2 patches set _gpv_xen_tools_482_0=" ${_gx008} @@ -176,6 +179,7 @@ ${_gx027} ${_gx028} ${_gx029} ${_gx037} ${_gx042} ${_gx044} ${_gx045} ${_gx046} ${_gx047} +${_gx049} " # xen-tools-4.11.0 patches set @@ -185,4 +189,5 @@ ${_gx027} ${_gx028} ${_gx029} ${_gx037} ${_gx042} ${_gx045} ${_gx046} ${_gx048} +${_gx049} " diff --git a/app-emulation/xen-tools/xen-tools-4.10.1-r1.ebuild b/app-emulation/xen-tools/xen-tools-4.10.1-r1.ebuild new file mode 100644 index 000000000000..08c0fed5392c --- /dev/null +++ b/app-emulation/xen-tools/xen-tools-4.10.1-r1.ebuild @@ -0,0 +1,457 @@ +# 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,xml,threads' + +inherit bash-completion-r1 eutils flag-o-matic multilib python-single-r1 toolchain-funcs versionator + +MY_PV=${PV/_/-} +MAJOR_V="$(get_version_component_range 1-2)" + +if [[ $PV == *9999 ]]; then + inherit git-r3 + KEYWORDS="" + REPO="xen.git" + EGIT_REPO_URI="git://xenbits.xen.org/${REPO}" + S="${WORKDIR}/${REPO}" +else + KEYWORDS="~amd64 ~arm ~arm64 ~x86" + UPSTREAM_VER=1 + SECURITY_VER= + # xen-tools's gentoo patches tarball + GENTOO_VER=14 + # xen-tools's gentoo patches version which apply to this specific ebuild + GENTOO_GPV=0 + # xen-tools ovmf's patches + OVMF_VER=3 + + SEABIOS_VER=1.10.0 + # OVMF upstream 5920a9d16b1ab887c2858224316a98e961d71b05 + OVMF_PV=20170321 + + [[ -n ${UPSTREAM_VER} ]] && \ + UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz + https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz" + [[ -n ${SECURITY_VER} ]] && \ + SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-security-patches-${SECURITY_VER}.tar.xz" + [[ -n ${GENTOO_VER} ]] && \ + GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-gentoo-patches-${GENTOO_VER}.tar.xz + https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${PN/-tools/}-gentoo-patches-${GENTOO_VER}.tar.xz" + [[ -n ${OVMF_VER} ]] && \ + OVMF_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-ovmf-patches-${OVMF_VER}.tar.xz" + + SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/xen-${MY_PV}.tar.gz + http://code.coreboot.org/p/seabios/downloads/get/seabios-${SEABIOS_VER}.tar.gz + https://dev.gentoo.org/~dlan/distfiles/seabios-${SEABIOS_VER}.tar.gz + ovmf? ( https://dev.gentoo.org/~dlan/distfiles/ovmf-${OVMF_PV}.tar.xz + ${OVMF_PATCHSET_URI} ) + ${UPSTREAM_PATCHSET_URI} + ${SECURITY_PATCHSET_URI} + ${GENTOO_PATCHSET_URI}" + + S="${WORKDIR}/xen-${MY_PV}" +fi + +DESCRIPTION="Xen tools including QEMU and xl" +HOMEPAGE="https://www.xenproject.org" +DOCS=( README docs/README.xen-bugtool ) + +LICENSE="GPL-2" +SLOT="0/${MAJOR_V}" +# Inclusion of IUSE ocaml on stabalizing requires maintainer of ocaml to (get off his hands and) make +# >=dev-lang/ocaml-4 stable +# Masked in profiles/eapi-5-files instead +IUSE="api custom-cflags debug doc flask hvm ocaml ovmf +pam pygrub python +qemu +qemu-traditional screen sdl static-libs system-qemu system-seabios" + +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + pygrub? ( python ) + ovmf? ( hvm ) + ^^ ( qemu system-qemu )" + +COMMON_DEPEND=" + sys-apps/pciutils + dev-libs/lzo:2 + dev-libs/glib:2 + dev-libs/yajl + dev-libs/libaio + dev-libs/libgcrypt:0 + sys-libs/zlib + ${PYTHON_DEPS} +" + +DEPEND="${COMMON_DEPEND} + >=sys-kernel/linux-headers-4.11 + dev-python/lxml[${PYTHON_USEDEP}] + x86? ( sys-devel/dev86 + sys-power/iasl ) + pam? ( dev-python/pypam[${PYTHON_USEDEP}] ) + api? ( dev-libs/libxml2 + net-misc/curl ) + ovmf? ( + !arm? ( !arm64? ( dev-lang/nasm ) ) + $(python_gen_impl_dep sqlite) + ) + !amd64? ( >=sys-apps/dtc-1.4.0 ) + amd64? ( sys-devel/bin86 + system-seabios? ( sys-firmware/seabios ) + sys-firmware/ipxe + sys-devel/dev86 + sys-power/iasl ) + dev-lang/perl + app-misc/pax-utils + doc? ( + app-text/ghostscript-gpl + app-text/pandoc + dev-python/markdown[${PYTHON_USEDEP}] + dev-texlive/texlive-latexextra + media-gfx/transfig + ) + hvm? ( x11-base/xorg-proto + !net-libs/libiscsi ) + qemu? ( + app-arch/snappy:= + x11-libs/pixman + sdl? ( media-libs/libsdl[X] ) + ) + system-qemu? ( app-emulation/qemu[xen] ) + ocaml? ( dev-ml/findlib + >=dev-lang/ocaml-4 )" + +RDEPEND="${COMMON_DEPEND} + sys-apps/iproute2[-minimal] + net-misc/bridge-utils + screen? ( + app-misc/screen + app-admin/logrotate + )" + +# hvmloader is used to bootstrap a fully virtualized kernel +# Approved by QA team in bug #144032 +QA_WX_LOAD=" + usr/libexec/xen/boot/hvmloader + usr/share/qemu-xen/qemu/s390-ccw.img + usr/share/qemu-xen/qemu/u-boot.e500 +" + +QA_PREBUILT=" + usr/libexec/xen/bin/ivshmem-client + usr/libexec/xen/bin/ivshmem-server + usr/libexec/xen/bin/qemu-img + usr/libexec/xen/bin/qemu-io + usr/libexec/xen/bin/qemu-nbd + usr/libexec/xen/bin/qemu-system-i386 + usr/libexec/xen/bin/virtfs-proxy-helper + usr/libexec/xen/libexec/xen-bridge-helper + usr/share/qemu-xen/qemu/s390-ccw.img + usr/share/qemu-xen/qemu/s390-netboot.img + usr/share/qemu-xen/qemu/u-boot.e500 +" + +RESTRICT="test" + +pkg_setup() { + python_setup + export "CONFIG_LOMOUNT=y" + + #bug 522642, disable compile tools/tests + export "CONFIG_TESTS=n" + + if [[ -z ${XEN_TARGET_ARCH} ]] ; then + if use x86 && use amd64; then + die "Confusion! Both x86 and amd64 are set in your use flags!" + elif use x86; then + export XEN_TARGET_ARCH="x86_32" + elif use amd64 ; then + export XEN_TARGET_ARCH="x86_64" + elif use arm; then + export XEN_TARGET_ARCH="arm32" + elif use arm64; then + export XEN_TARGET_ARCH="arm64" + else + die "Unsupported architecture!" + fi + fi +} + +src_prepare() { + local i + + # Upstream's patchset + if [[ -n ${UPSTREAM_VER} ]]; then + einfo "Try to apply Xen Upstream patch set" + eapply "${WORKDIR}"/patches-upstream + fi + + # Security patchset + if [[ -n ${SECURITY_VER} ]]; then + einfo "Try to apply Xen Security patch set" + # apply main xen patches + # Two parallel systems, both work side by side + # Over time they may concdense into one. This will suffice for now + EPATCH_SUFFIX="patch" + EPATCH_FORCE="yes" + + source "${WORKDIR}"/patches-security/${PV}.conf || die + + for i in ${XEN_SECURITY_MAIN}; do + eapply "${WORKDIR}"/patches-security/xen/$i + done + + # apply qemu-xen/upstream patches + pushd "${S}"/tools/qemu-xen/ > /dev/null + for i in ${XEN_SECURITY_QEMUU}; do + eapply "${WORKDIR}"/patches-security/qemuu/$i + done + popd > /dev/null + + # apply qemu-traditional patches + pushd "${S}"/tools/qemu-xen-traditional/ > /dev/null + for i in ${XEN_SECURITY_QEMUT}; do + eapply "${WORKDIR}"/patches-security/qemut/$i + done + popd > /dev/null + fi + + # move before Gentoo patch, one patch should apply to seabios, to fix gcc-4.5.x build err + mv ../seabios-${SEABIOS_VER} tools/firmware/seabios-dir-remote || die + pushd tools/firmware/ > /dev/null + ln -s seabios-dir-remote seabios-dir || die + popd > /dev/null + + # Gentoo's patchset + if [[ -n ${GENTOO_VER} && -n ${GENTOO_GPV} ]]; then + einfo "Try to apply Gentoo specific patch set" + source "${FILESDIR}"/gentoo-patches.conf || die + _gpv=_gpv_${PN/-/_}_${PV//./}_${GENTOO_GPV} + for i in ${!_gpv}; do + eapply "${WORKDIR}"/patches-gentoo/$i + done + fi + + # Ovmf's patchset + if use ovmf; then + if [[ -n ${OVMF_VER} ]];then + einfo "Try to apply Ovmf patch set" + pushd "${WORKDIR}"/ovmf-*/ > /dev/null + eapply "${WORKDIR}"/patches-ovmf + popd > /dev/null + fi + mv ../ovmf-${OVMF_PV} tools/firmware/ovmf-dir-remote || die + fi + + mv tools/qemu-xen/qemu-bridge-helper.c tools/qemu-xen/xen-bridge-helper.c || die + + # Fix texi2html build error with new texi2html, qemu.doc.html + sed -i -e "/texi2html -monolithic/s/-number//" tools/qemu-xen-traditional/Makefile || die + + use api || sed -e "/SUBDIRS-\$(LIBXENAPI_BINDINGS) += libxen/d" -i tools/Makefile || die + sed -e 's:$(MAKE) PYTHON=$(PYTHON) subdirs-$@:LC_ALL=C "$(MAKE)" PYTHON=$(PYTHON) subdirs-$@:' \ + -i tools/firmware/Makefile || die + + # Drop .config, fixes to gcc-4.6 + sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop" + + # if the user *really* wants to use their own custom-cflags, let them + if use custom-cflags; then + einfo "User wants their own CFLAGS - removing defaults" + + # try and remove all the default cflags + find "${S}" \( -name Makefile -o -name Rules.mk -o -name Config.mk \) \ + -exec sed \ + -e 's/CFLAGS\(.*\)=\(.*\)-O3\(.*\)/CFLAGS\1=\2\3/' \ + -e 's/CFLAGS\(.*\)=\(.*\)-march=i686\(.*\)/CFLAGS\1=\2\3/' \ + -e 's/CFLAGS\(.*\)=\(.*\)-fomit-frame-pointer\(.*\)/CFLAGS\1=\2\3/' \ + -e 's/CFLAGS\(.*\)=\(.*\)-g3*\s\(.*\)/CFLAGS\1=\2 \3/' \ + -e 's/CFLAGS\(.*\)=\(.*\)-O2\(.*\)/CFLAGS\1=\2\3/' \ + -i {} + || die "failed to re-set custom-cflags" + else + unset CFLAGS + unset LDFLAGS + unset ASFLAGS + unset CPPFLAGS + fi + + if ! use pygrub; then + sed -e '/^SUBDIRS-y += pygrub/d' -i tools/Makefile || die + fi + + if ! use python; then + sed -e '/^SUBDIRS-y += python$/d' -i tools/Makefile || die + fi + + if ! use hvm; then + sed -e '/SUBDIRS-$(CONFIG_X86) += firmware/d' -i tools/Makefile || die + # Bug 351648 + elif ! use x86 && ! has x86 $(get_all_abis); then + mkdir -p "${WORKDIR}"/extra-headers/gnu || die + touch "${WORKDIR}"/extra-headers/gnu/stubs-32.h || die + export CPATH="${WORKDIR}"/extra-headers + fi + + if use qemu; then + if use sdl; then + sed -i -e "s:\$\$source/configure:\0 --enable-sdl:" \ + tools/Makefile || die + else + sed -i -e "s:\${QEMU_ROOT\:\-\.}/configure:\0 --disable-sdl:" \ + tools/qemu-xen-traditional/xen-setup || die + sed -i -e "s:\$\$source/configure:\0 --disable-sdl:" \ + tools/Makefile || die + fi + else + # Don't bother with qemu, only needed for fully virtualised guests + sed -e "s:install-tools\: tools/qemu-xen-traditional-dir:install-tools\: :g" -i Makefile || die + fi + + # Reset bash completion dir; Bug 472438 + sed -e "s:^BASH_COMPLETION_DIR ?= \$(CONFIG_DIR)/bash_completion.d:BASH_COMPLETION_DIR ?= $(get_bashcompdir):" \ + -i Config.mk || die + sed -i -e "/bash-completion/s/xl\.sh/xl/g" tools/libxl/Makefile || die + + # xencommons, Bug #492332, sed lighter weight than patching + sed -e 's:\$QEMU_XEN -xen-domid:test -e "\$QEMU_XEN" \&\& &:' \ + -i tools/hotplug/Linux/init.d/xencommons.in || die + + # fix bashishm + sed -e '/Usage/s/\$//g' \ + -i tools/hotplug/Linux/init.d/xendriverdomain.in || die + + # respect multilib, usr/lib/libcacard.so.0.0.0 + sed -e "/^libdir=/s/\/lib/\/$(get_libdir)/" \ + -i tools/qemu-xen/configure || die + + #bug 518136, don't build 32bit exactuable for nomultilib profile + if [[ "${ARCH}" == 'amd64' ]] && ! has_multilib_profile; then + sed -i -e "/x86_emulator/d" tools/tests/Makefile || die + fi + + # uncomment lines in xl.conf + sed -e 's:^#autoballoon=:autoballoon=:' \ + -e 's:^#lockfile=:lockfile=:' \ + -e 's:^#vif.default.script=:vif.default.script=:' \ + -i tools/examples/xl.conf || die + + default +} + +src_configure() { + local myconf="--prefix=${PREFIX}/usr \ + --libdir=${PREFIX}/usr/$(get_libdir) \ + --libexecdir=${PREFIX}/usr/libexec \ + --localstatedir=${EPREFIX}/var \ + --disable-werror \ + --disable-xen \ + --enable-tools \ + --enable-docs \ + $(use_enable pam) \ + $(use_enable api xenapi) \ + $(use_enable ovmf) \ + $(use_enable ocaml ocamltools) \ + --with-xenstored=$(usex ocaml 'oxenstored' 'xenstored') \ + " + + use system-seabios && myconf+=" --with-system-seabios=/usr/share/seabios/bios.bin" + use system-qemu && myconf+=" --with-system-qemu=/usr/bin/qemu-system-x86_64" + use amd64 && myconf+=" $(use_enable qemu-traditional)" + econf ${myconf} +} + +src_compile() { + local myopt + use debug && myopt="${myopt} debug=y" + + if test-flag-CC -fno-strict-overflow; then + append-flags -fno-strict-overflow + fi + + emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" build-tools ${myopt} + + if use doc; then + emake -C docs build + else + emake -C docs man-pages + fi +} + +src_install() { + # Override auto-detection in the build system, bug #382573 + export INITD_DIR=/tmp/init.d + export CONFIG_LEAF_DIR=../tmp/default + + # Let the build system compile installed Python modules. + local PYTHONDONTWRITEBYTECODE + export PYTHONDONTWRITEBYTECODE + + emake DESTDIR="${ED}" DOCDIR="/usr/share/doc/${PF}" \ + XEN_PYTHON_NATIVE_INSTALL=y install-tools + + # Created at runtime + rm -rv "${ED%/}/var/run" || die + + # Fix the remaining Python shebangs. + python_fix_shebang "${D}" + + # Remove RedHat-specific stuff + rm -rf "${D}"tmp || die + + emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs + use doc && dodoc -r docs/{pdf,txt} + dodoc ${DOCS[@]} + + newconfd "${FILESDIR}"/xendomains.confd xendomains + newconfd "${FILESDIR}"/xenstored.confd xenstored + newconfd "${FILESDIR}"/xenconsoled.confd xenconsoled + newinitd "${FILESDIR}"/xendomains.initd-r2 xendomains + newinitd "${FILESDIR}"/xenstored.initd-r1 xenstored + newinitd "${FILESDIR}"/xenconsoled.initd xenconsoled + newinitd "${FILESDIR}"/xencommons.initd xencommons + newconfd "${FILESDIR}"/xencommons.confd xencommons + newinitd "${FILESDIR}"/xenqemudev.initd xenqemudev + newconfd "${FILESDIR}"/xenqemudev.confd xenqemudev + newinitd "${FILESDIR}"/xen-watchdog.initd xen-watchdog + + if use screen; then + cat "${FILESDIR}"/xendomains-screen.confd >> "${D}"/etc/conf.d/xendomains || die + cp "${FILESDIR}"/xen-consoles.logrotate "${D}"/etc/xen/ || die + keepdir /var/log/xen-consoles + fi + + # For -static-libs wrt Bug 384355 + if ! use static-libs; then + rm -f "${D}"usr/$(get_libdir)/*.a "${D}"usr/$(get_libdir)/ocaml/*/*.a + fi + + # for xendomains + keepdir /etc/xen/auto + + # Remove files failing QA AFTER emake installs them, avoiding seeking absent files + find "${D}" \( -name openbios-sparc32 -o -name openbios-sparc64 \ + -o -name openbios-ppc -o -name palcode-clipper \) -delete || die +} + +pkg_postinst() { + elog "Official Xen Guide and the offical wiki page:" + elog "https://wiki.gentoo.org/wiki/Xen" + elog "https://wiki.xen.org/wiki/Main_Page" + elog "" + elog "Recommended to utilise the xencommons script to config sytem At boot" + elog "Add by use of rc-update on completion of the install" + + if ! use hvm; then + echo + elog "HVM (VT-x and AMD-V) support has been disabled. If you need hvm" + elog "support enable the hvm use flag." + elog "An x86 or amd64 system is required to build HVM support." + fi + + if use qemu; then + elog "The qemu-bridge-helper is renamed to the xen-bridge-helper in the in source" + elog "build of qemu. This allows for app-emulation/qemu to be emerged concurrently" + elog "with the qemu capable xen. It is up to the user to distinguish between and utilise" + elog "the qemu-bridge-helper and the xen-bridge-helper. File bugs of any issues that arise" + fi +} diff --git a/app-emulation/xen-tools/xen-tools-4.10.1.ebuild b/app-emulation/xen-tools/xen-tools-4.10.1.ebuild deleted file mode 100644 index 864242ce664b..000000000000 --- a/app-emulation/xen-tools/xen-tools-4.10.1.ebuild +++ /dev/null @@ -1,457 +0,0 @@ -# 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,xml,threads' - -inherit bash-completion-r1 eutils flag-o-matic multilib python-single-r1 toolchain-funcs versionator - -MY_PV=${PV/_/-} -MAJOR_V="$(get_version_component_range 1-2)" - -if [[ $PV == *9999 ]]; then - inherit git-r3 - KEYWORDS="" - REPO="xen.git" - EGIT_REPO_URI="git://xenbits.xen.org/${REPO}" - S="${WORKDIR}/${REPO}" -else - KEYWORDS="~amd64 ~arm ~arm64 ~x86" - UPSTREAM_VER=0 - SECURITY_VER= - # xen-tools's gentoo patches tarball - GENTOO_VER=13 - # xen-tools's gentoo patches version which apply to this specific ebuild - GENTOO_GPV=0 - # xen-tools ovmf's patches - OVMF_VER=3 - - SEABIOS_VER=1.10.0 - # OVMF upstream 5920a9d16b1ab887c2858224316a98e961d71b05 - OVMF_PV=20170321 - - [[ -n ${UPSTREAM_VER} ]] && \ - UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz - https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz" - [[ -n ${SECURITY_VER} ]] && \ - SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-security-patches-${SECURITY_VER}.tar.xz" - [[ -n ${GENTOO_VER} ]] && \ - GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-gentoo-patches-${GENTOO_VER}.tar.xz - https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${PN/-tools/}-gentoo-patches-${GENTOO_VER}.tar.xz" - [[ -n ${OVMF_VER} ]] && \ - OVMF_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-ovmf-patches-${OVMF_VER}.tar.xz" - - SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/xen-${MY_PV}.tar.gz - http://code.coreboot.org/p/seabios/downloads/get/seabios-${SEABIOS_VER}.tar.gz - https://dev.gentoo.org/~dlan/distfiles/seabios-${SEABIOS_VER}.tar.gz - ovmf? ( https://dev.gentoo.org/~dlan/distfiles/ovmf-${OVMF_PV}.tar.xz - ${OVMF_PATCHSET_URI} ) - ${UPSTREAM_PATCHSET_URI} - ${SECURITY_PATCHSET_URI} - ${GENTOO_PATCHSET_URI}" - - S="${WORKDIR}/xen-${MY_PV}" -fi - -DESCRIPTION="Xen tools including QEMU and xl" -HOMEPAGE="https://www.xenproject.org" -DOCS=( README docs/README.xen-bugtool ) - -LICENSE="GPL-2" -SLOT="0/${MAJOR_V}" -# Inclusion of IUSE ocaml on stabalizing requires maintainer of ocaml to (get off his hands and) make -# >=dev-lang/ocaml-4 stable -# Masked in profiles/eapi-5-files instead -IUSE="api custom-cflags debug doc flask hvm ocaml ovmf +pam pygrub python +qemu +qemu-traditional screen sdl static-libs system-qemu system-seabios" - -REQUIRED_USE=" - ${PYTHON_REQUIRED_USE} - pygrub? ( python ) - ovmf? ( hvm ) - ^^ ( qemu system-qemu )" - -COMMON_DEPEND=" - sys-apps/pciutils - dev-libs/lzo:2 - dev-libs/glib:2 - dev-libs/yajl - dev-libs/libaio - dev-libs/libgcrypt:0 - sys-libs/zlib - ${PYTHON_DEPS} -" - -DEPEND="${COMMON_DEPEND} - >=sys-kernel/linux-headers-4.11 - dev-python/lxml[${PYTHON_USEDEP}] - x86? ( sys-devel/dev86 - sys-power/iasl ) - pam? ( dev-python/pypam[${PYTHON_USEDEP}] ) - api? ( dev-libs/libxml2 - net-misc/curl ) - ovmf? ( - !arm? ( !arm64? ( dev-lang/nasm ) ) - $(python_gen_impl_dep sqlite) - ) - !amd64? ( >=sys-apps/dtc-1.4.0 ) - amd64? ( sys-devel/bin86 - system-seabios? ( sys-firmware/seabios ) - sys-firmware/ipxe - sys-devel/dev86 - sys-power/iasl ) - dev-lang/perl - app-misc/pax-utils - doc? ( - app-text/ghostscript-gpl - app-text/pandoc - dev-python/markdown[${PYTHON_USEDEP}] - dev-texlive/texlive-latexextra - media-gfx/transfig - ) - hvm? ( x11-base/xorg-proto - !net-libs/libiscsi ) - qemu? ( - app-arch/snappy:= - x11-libs/pixman - sdl? ( media-libs/libsdl[X] ) - ) - system-qemu? ( app-emulation/qemu[xen] ) - ocaml? ( dev-ml/findlib - >=dev-lang/ocaml-4 )" - -RDEPEND="${COMMON_DEPEND} - sys-apps/iproute2[-minimal] - net-misc/bridge-utils - screen? ( - app-misc/screen - app-admin/logrotate - )" - -# hvmloader is used to bootstrap a fully virtualized kernel -# Approved by QA team in bug #144032 -QA_WX_LOAD=" - usr/libexec/xen/boot/hvmloader - usr/share/qemu-xen/qemu/s390-ccw.img - usr/share/qemu-xen/qemu/u-boot.e500 -" - -QA_PREBUILT=" - usr/libexec/xen/bin/ivshmem-client - usr/libexec/xen/bin/ivshmem-server - usr/libexec/xen/bin/qemu-img - usr/libexec/xen/bin/qemu-io - usr/libexec/xen/bin/qemu-nbd - usr/libexec/xen/bin/qemu-system-i386 - usr/libexec/xen/bin/virtfs-proxy-helper - usr/libexec/xen/libexec/xen-bridge-helper - usr/share/qemu-xen/qemu/s390-ccw.img - usr/share/qemu-xen/qemu/s390-netboot.img - usr/share/qemu-xen/qemu/u-boot.e500 -" - -RESTRICT="test" - -pkg_setup() { - python_setup - export "CONFIG_LOMOUNT=y" - - #bug 522642, disable compile tools/tests - export "CONFIG_TESTS=n" - - if [[ -z ${XEN_TARGET_ARCH} ]] ; then - if use x86 && use amd64; then - die "Confusion! Both x86 and amd64 are set in your use flags!" - elif use x86; then - export XEN_TARGET_ARCH="x86_32" - elif use amd64 ; then - export XEN_TARGET_ARCH="x86_64" - elif use arm; then - export XEN_TARGET_ARCH="arm32" - elif use arm64; then - export XEN_TARGET_ARCH="arm64" - else - die "Unsupported architecture!" - fi - fi -} - -src_prepare() { - local i - - # Upstream's patchset - if [[ -n ${UPSTREAM_VER} ]]; then - einfo "Try to apply Xen Upstream patch set" - eapply "${WORKDIR}"/patches-upstream - fi - - # Security patchset - if [[ -n ${SECURITY_VER} ]]; then - einfo "Try to apply Xen Security patch set" - # apply main xen patches - # Two parallel systems, both work side by side - # Over time they may concdense into one. This will suffice for now - EPATCH_SUFFIX="patch" - EPATCH_FORCE="yes" - - source "${WORKDIR}"/patches-security/${PV}.conf || die - - for i in ${XEN_SECURITY_MAIN}; do - eapply "${WORKDIR}"/patches-security/xen/$i - done - - # apply qemu-xen/upstream patches - pushd "${S}"/tools/qemu-xen/ > /dev/null - for i in ${XEN_SECURITY_QEMUU}; do - eapply "${WORKDIR}"/patches-security/qemuu/$i - done - popd > /dev/null - - # apply qemu-traditional patches - pushd "${S}"/tools/qemu-xen-traditional/ > /dev/null - for i in ${XEN_SECURITY_QEMUT}; do - eapply "${WORKDIR}"/patches-security/qemut/$i - done - popd > /dev/null - fi - - # move before Gentoo patch, one patch should apply to seabios, to fix gcc-4.5.x build err - mv ../seabios-${SEABIOS_VER} tools/firmware/seabios-dir-remote || die - pushd tools/firmware/ > /dev/null - ln -s seabios-dir-remote seabios-dir || die - popd > /dev/null - - # Gentoo's patchset - if [[ -n ${GENTOO_VER} && -n ${GENTOO_GPV} ]]; then - einfo "Try to apply Gentoo specific patch set" - source "${FILESDIR}"/gentoo-patches.conf || die - _gpv=_gpv_${PN/-/_}_${PV//./}_${GENTOO_GPV} - for i in ${!_gpv}; do - eapply "${WORKDIR}"/patches-gentoo/$i - done - fi - - # Ovmf's patchset - if use ovmf; then - if [[ -n ${OVMF_VER} ]];then - einfo "Try to apply Ovmf patch set" - pushd "${WORKDIR}"/ovmf-*/ > /dev/null - eapply "${WORKDIR}"/patches-ovmf - popd > /dev/null - fi - mv ../ovmf-${OVMF_PV} tools/firmware/ovmf-dir-remote || die - fi - - mv tools/qemu-xen/qemu-bridge-helper.c tools/qemu-xen/xen-bridge-helper.c || die - - # Fix texi2html build error with new texi2html, qemu.doc.html - sed -i -e "/texi2html -monolithic/s/-number//" tools/qemu-xen-traditional/Makefile || die - - use api || sed -e "/SUBDIRS-\$(LIBXENAPI_BINDINGS) += libxen/d" -i tools/Makefile || die - sed -e 's:$(MAKE) PYTHON=$(PYTHON) subdirs-$@:LC_ALL=C "$(MAKE)" PYTHON=$(PYTHON) subdirs-$@:' \ - -i tools/firmware/Makefile || die - - # Drop .config, fixes to gcc-4.6 - sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop" - - # if the user *really* wants to use their own custom-cflags, let them - if use custom-cflags; then - einfo "User wants their own CFLAGS - removing defaults" - - # try and remove all the default cflags - find "${S}" \( -name Makefile -o -name Rules.mk -o -name Config.mk \) \ - -exec sed \ - -e 's/CFLAGS\(.*\)=\(.*\)-O3\(.*\)/CFLAGS\1=\2\3/' \ - -e 's/CFLAGS\(.*\)=\(.*\)-march=i686\(.*\)/CFLAGS\1=\2\3/' \ - -e 's/CFLAGS\(.*\)=\(.*\)-fomit-frame-pointer\(.*\)/CFLAGS\1=\2\3/' \ - -e 's/CFLAGS\(.*\)=\(.*\)-g3*\s\(.*\)/CFLAGS\1=\2 \3/' \ - -e 's/CFLAGS\(.*\)=\(.*\)-O2\(.*\)/CFLAGS\1=\2\3/' \ - -i {} + || die "failed to re-set custom-cflags" - else - unset CFLAGS - unset LDFLAGS - unset ASFLAGS - unset CPPFLAGS - fi - - if ! use pygrub; then - sed -e '/^SUBDIRS-y += pygrub/d' -i tools/Makefile || die - fi - - if ! use python; then - sed -e '/^SUBDIRS-y += python$/d' -i tools/Makefile || die - fi - - if ! use hvm; then - sed -e '/SUBDIRS-$(CONFIG_X86) += firmware/d' -i tools/Makefile || die - # Bug 351648 - elif ! use x86 && ! has x86 $(get_all_abis); then - mkdir -p "${WORKDIR}"/extra-headers/gnu || die - touch "${WORKDIR}"/extra-headers/gnu/stubs-32.h || die - export CPATH="${WORKDIR}"/extra-headers - fi - - if use qemu; then - if use sdl; then - sed -i -e "s:\$\$source/configure:\0 --enable-sdl:" \ - tools/Makefile || die - else - sed -i -e "s:\${QEMU_ROOT\:\-\.}/configure:\0 --disable-sdl:" \ - tools/qemu-xen-traditional/xen-setup || die - sed -i -e "s:\$\$source/configure:\0 --disable-sdl:" \ - tools/Makefile || die - fi - else - # Don't bother with qemu, only needed for fully virtualised guests - sed -e "s:install-tools\: tools/qemu-xen-traditional-dir:install-tools\: :g" -i Makefile || die - fi - - # Reset bash completion dir; Bug 472438 - sed -e "s:^BASH_COMPLETION_DIR ?= \$(CONFIG_DIR)/bash_completion.d:BASH_COMPLETION_DIR ?= $(get_bashcompdir):" \ - -i Config.mk || die - sed -i -e "/bash-completion/s/xl\.sh/xl/g" tools/libxl/Makefile || die - - # xencommons, Bug #492332, sed lighter weight than patching - sed -e 's:\$QEMU_XEN -xen-domid:test -e "\$QEMU_XEN" \&\& &:' \ - -i tools/hotplug/Linux/init.d/xencommons.in || die - - # fix bashishm - sed -e '/Usage/s/\$//g' \ - -i tools/hotplug/Linux/init.d/xendriverdomain.in || die - - # respect multilib, usr/lib/libcacard.so.0.0.0 - sed -e "/^libdir=/s/\/lib/\/$(get_libdir)/" \ - -i tools/qemu-xen/configure || die - - #bug 518136, don't build 32bit exactuable for nomultilib profile - if [[ "${ARCH}" == 'amd64' ]] && ! has_multilib_profile; then - sed -i -e "/x86_emulator/d" tools/tests/Makefile || die - fi - - # uncomment lines in xl.conf - sed -e 's:^#autoballoon=:autoballoon=:' \ - -e 's:^#lockfile=:lockfile=:' \ - -e 's:^#vif.default.script=:vif.default.script=:' \ - -i tools/examples/xl.conf || die - - default -} - -src_configure() { - local myconf="--prefix=${PREFIX}/usr \ - --libdir=${PREFIX}/usr/$(get_libdir) \ - --libexecdir=${PREFIX}/usr/libexec \ - --localstatedir=${EPREFIX}/var \ - --disable-werror \ - --disable-xen \ - --enable-tools \ - --enable-docs \ - $(use_enable pam) \ - $(use_enable api xenapi) \ - $(use_enable ovmf) \ - $(use_enable ocaml ocamltools) \ - --with-xenstored=$(usex ocaml 'oxenstored' 'xenstored') \ - " - - use system-seabios && myconf+=" --with-system-seabios=/usr/share/seabios/bios.bin" - use system-qemu && myconf+=" --with-system-qemu=/usr/bin/qemu-system-x86_64" - use amd64 && myconf+=" $(use_enable qemu-traditional)" - econf ${myconf} -} - -src_compile() { - local myopt - use debug && myopt="${myopt} debug=y" - - if test-flag-CC -fno-strict-overflow; then - append-flags -fno-strict-overflow - fi - - emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" build-tools ${myopt} - - if use doc; then - emake -C docs build - else - emake -C docs man-pages - fi -} - -src_install() { - # Override auto-detection in the build system, bug #382573 - export INITD_DIR=/tmp/init.d - export CONFIG_LEAF_DIR=../tmp/default - - # Let the build system compile installed Python modules. - local PYTHONDONTWRITEBYTECODE - export PYTHONDONTWRITEBYTECODE - - emake DESTDIR="${ED}" DOCDIR="/usr/share/doc/${PF}" \ - XEN_PYTHON_NATIVE_INSTALL=y install-tools - - # Created at runtime - rm -rv "${ED%/}/var/run" || die - - # Fix the remaining Python shebangs. - python_fix_shebang "${D}" - - # Remove RedHat-specific stuff - rm -rf "${D}"tmp || die - - emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs - use doc && dodoc -r docs/{pdf,txt} - dodoc ${DOCS[@]} - - newconfd "${FILESDIR}"/xendomains.confd xendomains - newconfd "${FILESDIR}"/xenstored.confd xenstored - newconfd "${FILESDIR}"/xenconsoled.confd xenconsoled - newinitd "${FILESDIR}"/xendomains.initd-r2 xendomains - newinitd "${FILESDIR}"/xenstored.initd-r1 xenstored - newinitd "${FILESDIR}"/xenconsoled.initd xenconsoled - newinitd "${FILESDIR}"/xencommons.initd xencommons - newconfd "${FILESDIR}"/xencommons.confd xencommons - newinitd "${FILESDIR}"/xenqemudev.initd xenqemudev - newconfd "${FILESDIR}"/xenqemudev.confd xenqemudev - newinitd "${FILESDIR}"/xen-watchdog.initd xen-watchdog - - if use screen; then - cat "${FILESDIR}"/xendomains-screen.confd >> "${D}"/etc/conf.d/xendomains || die - cp "${FILESDIR}"/xen-consoles.logrotate "${D}"/etc/xen/ || die - keepdir /var/log/xen-consoles - fi - - # For -static-libs wrt Bug 384355 - if ! use static-libs; then - rm -f "${D}"usr/$(get_libdir)/*.a "${D}"usr/$(get_libdir)/ocaml/*/*.a - fi - - # for xendomains - keepdir /etc/xen/auto - - # Remove files failing QA AFTER emake installs them, avoiding seeking absent files - find "${D}" \( -name openbios-sparc32 -o -name openbios-sparc64 \ - -o -name openbios-ppc -o -name palcode-clipper \) -delete || die -} - -pkg_postinst() { - elog "Official Xen Guide and the offical wiki page:" - elog "https://wiki.gentoo.org/wiki/Xen" - elog "https://wiki.xen.org/wiki/Main_Page" - elog "" - elog "Recommended to utilise the xencommons script to config sytem At boot" - elog "Add by use of rc-update on completion of the install" - - if ! use hvm; then - echo - elog "HVM (VT-x and AMD-V) support has been disabled. If you need hvm" - elog "support enable the hvm use flag." - elog "An x86 or amd64 system is required to build HVM support." - fi - - if use qemu; then - elog "The qemu-bridge-helper is renamed to the xen-bridge-helper in the in source" - elog "build of qemu. This allows for app-emulation/qemu to be emerged concurrently" - elog "with the qemu capable xen. It is up to the user to distinguish between and utilise" - elog "the qemu-bridge-helper and the xen-bridge-helper. File bugs of any issues that arise" - fi -} diff --git a/app-emulation/xen-tools/xen-tools-4.11.0-r1.ebuild b/app-emulation/xen-tools/xen-tools-4.11.0-r1.ebuild new file mode 100644 index 000000000000..79949e14e116 --- /dev/null +++ b/app-emulation/xen-tools/xen-tools-4.11.0-r1.ebuild @@ -0,0 +1,458 @@ +# 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,xml,threads' + +inherit bash-completion-r1 eutils flag-o-matic multilib python-single-r1 toolchain-funcs versionator + +MY_PV=${PV/_/-} +MAJOR_V="$(get_version_component_range 1-2)" + +if [[ $PV == *9999 ]]; then + inherit git-r3 + KEYWORDS="" + REPO="xen.git" + EGIT_REPO_URI="git://xenbits.xen.org/${REPO}" + S="${WORKDIR}/${REPO}" +else + KEYWORDS="~amd64 ~arm ~arm64 ~x86" + UPSTREAM_VER=0 + SECURITY_VER= + # xen-tools's gentoo patches tarball + GENTOO_VER=14 + # xen-tools's gentoo patches version which apply to this specific ebuild + GENTOO_GPV=0 + # xen-tools ovmf's patches + OVMF_VER=3 + + SEABIOS_VER=1.10.0 + # OVMF upstream 5920a9d16b1ab887c2858224316a98e961d71b05 + OVMF_PV=20170321 + + [[ -n ${UPSTREAM_VER} ]] && \ + UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz + https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz" + [[ -n ${SECURITY_VER} ]] && \ + SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-security-patches-${SECURITY_VER}.tar.xz" + [[ -n ${GENTOO_VER} ]] && \ + GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-gentoo-patches-${GENTOO_VER}.tar.xz + https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${PN/-tools/}-gentoo-patches-${GENTOO_VER}.tar.xz" + [[ -n ${OVMF_VER} ]] && \ + OVMF_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-ovmf-patches-${OVMF_VER}.tar.xz" + + SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/xen-${MY_PV}.tar.gz + http://code.coreboot.org/p/seabios/downloads/get/seabios-${SEABIOS_VER}.tar.gz + https://dev.gentoo.org/~dlan/distfiles/seabios-${SEABIOS_VER}.tar.gz + ovmf? ( https://dev.gentoo.org/~dlan/distfiles/ovmf-${OVMF_PV}.tar.xz + ${OVMF_PATCHSET_URI} ) + ${UPSTREAM_PATCHSET_URI} + ${SECURITY_PATCHSET_URI} + ${GENTOO_PATCHSET_URI}" + + S="${WORKDIR}/xen-${MY_PV}" +fi + +DESCRIPTION="Xen tools including QEMU and xl" +HOMEPAGE="https://www.xenproject.org" +DOCS=( README docs/README.xen-bugtool ) + +LICENSE="GPL-2" +SLOT="0/${MAJOR_V}" +# Inclusion of IUSE ocaml on stabalizing requires maintainer of ocaml to (get off his hands and) make +# >=dev-lang/ocaml-4 stable +# Masked in profiles/eapi-5-files instead +IUSE="api custom-cflags debug doc flask hvm ocaml ovmf +pam pygrub python +qemu +qemu-traditional screen sdl static-libs system-qemu system-seabios" + +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + pygrub? ( python ) + ovmf? ( hvm ) + ^^ ( qemu system-qemu )" + +COMMON_DEPEND=" + sys-apps/pciutils + dev-libs/lzo:2 + dev-libs/glib:2 + dev-libs/yajl + dev-libs/libaio + dev-libs/libgcrypt:0 + sys-libs/zlib + ${PYTHON_DEPS} +" + +DEPEND="${COMMON_DEPEND} + >=sys-kernel/linux-headers-4.11 + dev-python/lxml[${PYTHON_USEDEP}] + x86? ( sys-devel/dev86 + sys-power/iasl ) + pam? ( dev-python/pypam[${PYTHON_USEDEP}] ) + api? ( dev-libs/libxml2 + net-misc/curl ) + ovmf? ( + !arm? ( !arm64? ( dev-lang/nasm ) ) + $(python_gen_impl_dep sqlite) + ) + !amd64? ( >=sys-apps/dtc-1.4.0 ) + amd64? ( sys-devel/bin86 + system-seabios? ( sys-firmware/seabios ) + sys-firmware/ipxe + sys-devel/dev86 + sys-power/iasl ) + dev-lang/perl + app-misc/pax-utils + doc? ( + app-text/ghostscript-gpl + app-text/pandoc + dev-python/markdown[${PYTHON_USEDEP}] + dev-texlive/texlive-latexextra + media-gfx/transfig + ) + hvm? ( x11-base/xorg-proto ) + qemu? ( + app-arch/snappy:= + x11-libs/pixman + sdl? ( media-libs/libsdl[X] ) + ) + system-qemu? ( app-emulation/qemu[xen] ) + ocaml? ( dev-ml/findlib + >=dev-lang/ocaml-4 )" + +RDEPEND="${COMMON_DEPEND} + sys-apps/iproute2[-minimal] + net-misc/bridge-utils + screen? ( + app-misc/screen + app-admin/logrotate + )" + +# hvmloader is used to bootstrap a fully virtualized kernel +# Approved by QA team in bug #144032 +QA_WX_LOAD=" + usr/libexec/xen/boot/hvmloader + usr/share/qemu-xen/qemu/s390-ccw.img + usr/share/qemu-xen/qemu/u-boot.e500 +" + +QA_PREBUILT=" + usr/libexec/xen/bin/ivshmem-client + usr/libexec/xen/bin/ivshmem-server + usr/libexec/xen/bin/qemu-img + usr/libexec/xen/bin/qemu-io + usr/libexec/xen/bin/qemu-keymap + usr/libexec/xen/bin/qemu-nbd + usr/libexec/xen/bin/qemu-pr-helper + usr/libexec/xen/bin/qemu-system-i386 + usr/libexec/xen/bin/virtfs-proxy-helper + usr/libexec/xen/libexec/xen-bridge-helper + usr/share/qemu-xen/qemu/s390-ccw.img + usr/share/qemu-xen/qemu/s390-netboot.img + usr/share/qemu-xen/qemu/u-boot.e500 +" + +RESTRICT="test" + +pkg_setup() { + python_setup + export "CONFIG_LOMOUNT=y" + + #bug 522642, disable compile tools/tests + export "CONFIG_TESTS=n" + + if [[ -z ${XEN_TARGET_ARCH} ]] ; then + if use x86 && use amd64; then + die "Confusion! Both x86 and amd64 are set in your use flags!" + elif use x86; then + export XEN_TARGET_ARCH="x86_32" + elif use amd64 ; then + export XEN_TARGET_ARCH="x86_64" + elif use arm; then + export XEN_TARGET_ARCH="arm32" + elif use arm64; then + export XEN_TARGET_ARCH="arm64" + else + die "Unsupported architecture!" + fi + fi +} + +src_prepare() { + local i + + # Upstream's patchset + if [[ -n ${UPSTREAM_VER} ]]; then + einfo "Try to apply Xen Upstream patch set" + eapply "${WORKDIR}"/patches-upstream + fi + + # Security patchset + if [[ -n ${SECURITY_VER} ]]; then + einfo "Try to apply Xen Security patch set" + # apply main xen patches + # Two parallel systems, both work side by side + # Over time they may concdense into one. This will suffice for now + EPATCH_SUFFIX="patch" + EPATCH_FORCE="yes" + + source "${WORKDIR}"/patches-security/${PV}.conf || die + + for i in ${XEN_SECURITY_MAIN}; do + eapply "${WORKDIR}"/patches-security/xen/$i + done + + # apply qemu-xen/upstream patches + pushd "${S}"/tools/qemu-xen/ > /dev/null + for i in ${XEN_SECURITY_QEMUU}; do + eapply "${WORKDIR}"/patches-security/qemuu/$i + done + popd > /dev/null + + # apply qemu-traditional patches + pushd "${S}"/tools/qemu-xen-traditional/ > /dev/null + for i in ${XEN_SECURITY_QEMUT}; do + eapply "${WORKDIR}"/patches-security/qemut/$i + done + popd > /dev/null + fi + + # move before Gentoo patch, one patch should apply to seabios, to fix gcc-4.5.x build err + mv ../seabios-${SEABIOS_VER} tools/firmware/seabios-dir-remote || die + pushd tools/firmware/ > /dev/null + ln -s seabios-dir-remote seabios-dir || die + popd > /dev/null + + # Gentoo's patchset + if [[ -n ${GENTOO_VER} && -n ${GENTOO_GPV} ]]; then + einfo "Try to apply Gentoo specific patch set" + source "${FILESDIR}"/gentoo-patches.conf || die + _gpv=_gpv_${PN/-/_}_${PV//./}_${GENTOO_GPV} + for i in ${!_gpv}; do + eapply "${WORKDIR}"/patches-gentoo/$i + done + fi + + # Ovmf's patchset + if use ovmf; then + if [[ -n ${OVMF_VER} ]];then + einfo "Try to apply Ovmf patch set" + pushd "${WORKDIR}"/ovmf-*/ > /dev/null + eapply "${WORKDIR}"/patches-ovmf + popd > /dev/null + fi + mv ../ovmf-${OVMF_PV} tools/firmware/ovmf-dir-remote || die + fi + + mv tools/qemu-xen/qemu-bridge-helper.c tools/qemu-xen/xen-bridge-helper.c || die + + # Fix texi2html build error with new texi2html, qemu.doc.html + sed -i -e "/texi2html -monolithic/s/-number//" tools/qemu-xen-traditional/Makefile || die + + use api || sed -e "/SUBDIRS-\$(LIBXENAPI_BINDINGS) += libxen/d" -i tools/Makefile || die + sed -e 's:$(MAKE) PYTHON=$(PYTHON) subdirs-$@:LC_ALL=C "$(MAKE)" PYTHON=$(PYTHON) subdirs-$@:' \ + -i tools/firmware/Makefile || die + + # Drop .config, fixes to gcc-4.6 + sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop" + + # if the user *really* wants to use their own custom-cflags, let them + if use custom-cflags; then + einfo "User wants their own CFLAGS - removing defaults" + + # try and remove all the default cflags + find "${S}" \( -name Makefile -o -name Rules.mk -o -name Config.mk \) \ + -exec sed \ + -e 's/CFLAGS\(.*\)=\(.*\)-O3\(.*\)/CFLAGS\1=\2\3/' \ + -e 's/CFLAGS\(.*\)=\(.*\)-march=i686\(.*\)/CFLAGS\1=\2\3/' \ + -e 's/CFLAGS\(.*\)=\(.*\)-fomit-frame-pointer\(.*\)/CFLAGS\1=\2\3/' \ + -e 's/CFLAGS\(.*\)=\(.*\)-g3*\s\(.*\)/CFLAGS\1=\2 \3/' \ + -e 's/CFLAGS\(.*\)=\(.*\)-O2\(.*\)/CFLAGS\1=\2\3/' \ + -i {} + || die "failed to re-set custom-cflags" + else + unset CFLAGS + unset LDFLAGS + unset ASFLAGS + unset CPPFLAGS + fi + + if ! use pygrub; then + sed -e '/^SUBDIRS-y += pygrub/d' -i tools/Makefile || die + fi + + if ! use python; then + sed -e '/^SUBDIRS-y += python$/d' -i tools/Makefile || die + fi + + if ! use hvm; then + sed -e '/SUBDIRS-$(CONFIG_X86) += firmware/d' -i tools/Makefile || die + # Bug 351648 + elif ! use x86 && ! has x86 $(get_all_abis); then + mkdir -p "${WORKDIR}"/extra-headers/gnu || die + touch "${WORKDIR}"/extra-headers/gnu/stubs-32.h || die + export CPATH="${WORKDIR}"/extra-headers + fi + + if use qemu; then + if use sdl; then + sed -i -e "s:\$\$source/configure:\0 --enable-sdl:" \ + tools/Makefile || die + else + sed -i -e "s:\${QEMU_ROOT\:\-\.}/configure:\0 --disable-sdl:" \ + tools/qemu-xen-traditional/xen-setup || die + sed -i -e "s:\$\$source/configure:\0 --disable-sdl:" \ + tools/Makefile || die + fi + else + # Don't bother with qemu, only needed for fully virtualised guests + sed -e "s:install-tools\: tools/qemu-xen-traditional-dir:install-tools\: :g" -i Makefile || die + fi + + # Reset bash completion dir; Bug 472438 + sed -e "s:^BASH_COMPLETION_DIR ?= \$(CONFIG_DIR)/bash_completion.d:BASH_COMPLETION_DIR ?= $(get_bashcompdir):" \ + -i Config.mk || die + sed -i -e "/bash-completion/s/xl\.sh/xl/g" tools/libxl/Makefile || die + + # xencommons, Bug #492332, sed lighter weight than patching + sed -e 's:\$QEMU_XEN -xen-domid:test -e "\$QEMU_XEN" \&\& &:' \ + -i tools/hotplug/Linux/init.d/xencommons.in || die + + # fix bashishm + sed -e '/Usage/s/\$//g' \ + -i tools/hotplug/Linux/init.d/xendriverdomain.in || die + + # respect multilib, usr/lib/libcacard.so.0.0.0 + sed -e "/^libdir=/s/\/lib/\/$(get_libdir)/" \ + -i tools/qemu-xen/configure || die + + #bug 518136, don't build 32bit exactuable for nomultilib profile + if [[ "${ARCH}" == 'amd64' ]] && ! has_multilib_profile; then + sed -i -e "/x86_emulator/d" tools/tests/Makefile || die + fi + + # uncomment lines in xl.conf + sed -e 's:^#autoballoon=:autoballoon=:' \ + -e 's:^#lockfile=:lockfile=:' \ + -e 's:^#vif.default.script=:vif.default.script=:' \ + -i tools/examples/xl.conf || die + + default +} + +src_configure() { + local myconf="--prefix=${PREFIX}/usr \ + --libdir=${PREFIX}/usr/$(get_libdir) \ + --libexecdir=${PREFIX}/usr/libexec \ + --localstatedir=${EPREFIX}/var \ + --disable-werror \ + --disable-xen \ + --enable-tools \ + --enable-docs \ + $(use_enable pam) \ + $(use_enable api xenapi) \ + $(use_enable ovmf) \ + $(use_enable ocaml ocamltools) \ + --with-xenstored=$(usex ocaml 'oxenstored' 'xenstored') \ + " + + use system-seabios && myconf+=" --with-system-seabios=/usr/share/seabios/bios.bin" + use system-qemu && myconf+=" --with-system-qemu=/usr/bin/qemu-system-x86_64" + use amd64 && myconf+=" $(use_enable qemu-traditional)" + econf ${myconf} +} + +src_compile() { + local myopt + use debug && myopt="${myopt} debug=y" + + if test-flag-CC -fno-strict-overflow; then + append-flags -fno-strict-overflow + fi + + emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" build-tools ${myopt} + + if use doc; then + emake -C docs build + else + emake -C docs man-pages + fi +} + +src_install() { + # Override auto-detection in the build system, bug #382573 + export INITD_DIR=/tmp/init.d + export CONFIG_LEAF_DIR=../tmp/default + + # Let the build system compile installed Python modules. + local PYTHONDONTWRITEBYTECODE + export PYTHONDONTWRITEBYTECODE + + emake DESTDIR="${ED}" DOCDIR="/usr/share/doc/${PF}" \ + XEN_PYTHON_NATIVE_INSTALL=y install-tools + + # Created at runtime + rm -rv "${ED%/}/var/run" || die + + # Fix the remaining Python shebangs. + python_fix_shebang "${D}" + + # Remove RedHat-specific stuff + rm -rf "${D}"tmp || die + + emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs + use doc && dodoc -r docs/{pdf,txt} + dodoc ${DOCS[@]} + + newconfd "${FILESDIR}"/xendomains.confd xendomains + newconfd "${FILESDIR}"/xenstored.confd xenstored + newconfd "${FILESDIR}"/xenconsoled.confd xenconsoled + newinitd "${FILESDIR}"/xendomains.initd-r2 xendomains + newinitd "${FILESDIR}"/xenstored.initd-r1 xenstored + newinitd "${FILESDIR}"/xenconsoled.initd xenconsoled + newinitd "${FILESDIR}"/xencommons.initd xencommons + newconfd "${FILESDIR}"/xencommons.confd xencommons + newinitd "${FILESDIR}"/xenqemudev.initd xenqemudev + newconfd "${FILESDIR}"/xenqemudev.confd xenqemudev + newinitd "${FILESDIR}"/xen-watchdog.initd xen-watchdog + + if use screen; then + cat "${FILESDIR}"/xendomains-screen.confd >> "${D}"/etc/conf.d/xendomains || die + cp "${FILESDIR}"/xen-consoles.logrotate "${D}"/etc/xen/ || die + keepdir /var/log/xen-consoles + fi + + # For -static-libs wrt Bug 384355 + if ! use static-libs; then + rm -f "${D}"usr/$(get_libdir)/*.a "${D}"usr/$(get_libdir)/ocaml/*/*.a + fi + + # for xendomains + keepdir /etc/xen/auto + + # Remove files failing QA AFTER emake installs them, avoiding seeking absent files + find "${D}" \( -name openbios-sparc32 -o -name openbios-sparc64 \ + -o -name openbios-ppc -o -name palcode-clipper \) -delete || die +} + +pkg_postinst() { + elog "Official Xen Guide and the offical wiki page:" + elog "https://wiki.gentoo.org/wiki/Xen" + elog "https://wiki.xen.org/wiki/Main_Page" + elog "" + elog "Recommended to utilise the xencommons script to config sytem At boot" + elog "Add by use of rc-update on completion of the install" + + if ! use hvm; then + echo + elog "HVM (VT-x and AMD-V) support has been disabled. If you need hvm" + elog "support enable the hvm use flag." + elog "An x86 or amd64 system is required to build HVM support." + fi + + if use qemu; then + elog "The qemu-bridge-helper is renamed to the xen-bridge-helper in the in source" + elog "build of qemu. This allows for app-emulation/qemu to be emerged concurrently" + elog "with the qemu capable xen. It is up to the user to distinguish between and utilise" + elog "the qemu-bridge-helper and the xen-bridge-helper. File bugs of any issues that arise" + fi +} diff --git a/app-emulation/xen-tools/xen-tools-4.11.0.ebuild b/app-emulation/xen-tools/xen-tools-4.11.0.ebuild deleted file mode 100644 index c9cc42133fbb..000000000000 --- a/app-emulation/xen-tools/xen-tools-4.11.0.ebuild +++ /dev/null @@ -1,458 +0,0 @@ -# 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,xml,threads' - -inherit bash-completion-r1 eutils flag-o-matic multilib python-single-r1 toolchain-funcs versionator - -MY_PV=${PV/_/-} -MAJOR_V="$(get_version_component_range 1-2)" - -if [[ $PV == *9999 ]]; then - inherit git-r3 - KEYWORDS="" - REPO="xen.git" - EGIT_REPO_URI="git://xenbits.xen.org/${REPO}" - S="${WORKDIR}/${REPO}" -else - KEYWORDS="~amd64 ~arm ~arm64 ~x86" - UPSTREAM_VER= - SECURITY_VER= - # xen-tools's gentoo patches tarball - GENTOO_VER=13 - # xen-tools's gentoo patches version which apply to this specific ebuild - GENTOO_GPV=0 - # xen-tools ovmf's patches - OVMF_VER=3 - - SEABIOS_VER=1.10.0 - # OVMF upstream 5920a9d16b1ab887c2858224316a98e961d71b05 - OVMF_PV=20170321 - - [[ -n ${UPSTREAM_VER} ]] && \ - UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz - https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz" - [[ -n ${SECURITY_VER} ]] && \ - SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-security-patches-${SECURITY_VER}.tar.xz" - [[ -n ${GENTOO_VER} ]] && \ - GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-gentoo-patches-${GENTOO_VER}.tar.xz - https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${PN/-tools/}-gentoo-patches-${GENTOO_VER}.tar.xz" - [[ -n ${OVMF_VER} ]] && \ - OVMF_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-ovmf-patches-${OVMF_VER}.tar.xz" - - SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/xen-${MY_PV}.tar.gz - http://code.coreboot.org/p/seabios/downloads/get/seabios-${SEABIOS_VER}.tar.gz - https://dev.gentoo.org/~dlan/distfiles/seabios-${SEABIOS_VER}.tar.gz - ovmf? ( https://dev.gentoo.org/~dlan/distfiles/ovmf-${OVMF_PV}.tar.xz - ${OVMF_PATCHSET_URI} ) - ${UPSTREAM_PATCHSET_URI} - ${SECURITY_PATCHSET_URI} - ${GENTOO_PATCHSET_URI}" - - S="${WORKDIR}/xen-${MY_PV}" -fi - -DESCRIPTION="Xen tools including QEMU and xl" -HOMEPAGE="https://www.xenproject.org" -DOCS=( README docs/README.xen-bugtool ) - -LICENSE="GPL-2" -SLOT="0/${MAJOR_V}" -# Inclusion of IUSE ocaml on stabalizing requires maintainer of ocaml to (get off his hands and) make -# >=dev-lang/ocaml-4 stable -# Masked in profiles/eapi-5-files instead -IUSE="api custom-cflags debug doc flask hvm ocaml ovmf +pam pygrub python +qemu +qemu-traditional screen sdl static-libs system-qemu system-seabios" - -REQUIRED_USE=" - ${PYTHON_REQUIRED_USE} - pygrub? ( python ) - ovmf? ( hvm ) - ^^ ( qemu system-qemu )" - -COMMON_DEPEND=" - sys-apps/pciutils - dev-libs/lzo:2 - dev-libs/glib:2 - dev-libs/yajl - dev-libs/libaio - dev-libs/libgcrypt:0 - sys-libs/zlib - ${PYTHON_DEPS} -" - -DEPEND="${COMMON_DEPEND} - >=sys-kernel/linux-headers-4.11 - dev-python/lxml[${PYTHON_USEDEP}] - x86? ( sys-devel/dev86 - sys-power/iasl ) - pam? ( dev-python/pypam[${PYTHON_USEDEP}] ) - api? ( dev-libs/libxml2 - net-misc/curl ) - ovmf? ( - !arm? ( !arm64? ( dev-lang/nasm ) ) - $(python_gen_impl_dep sqlite) - ) - !amd64? ( >=sys-apps/dtc-1.4.0 ) - amd64? ( sys-devel/bin86 - system-seabios? ( sys-firmware/seabios ) - sys-firmware/ipxe - sys-devel/dev86 - sys-power/iasl ) - dev-lang/perl - app-misc/pax-utils - doc? ( - app-text/ghostscript-gpl - app-text/pandoc - dev-python/markdown[${PYTHON_USEDEP}] - dev-texlive/texlive-latexextra - media-gfx/transfig - ) - hvm? ( x11-base/xorg-proto ) - qemu? ( - app-arch/snappy:= - x11-libs/pixman - sdl? ( media-libs/libsdl[X] ) - ) - system-qemu? ( app-emulation/qemu[xen] ) - ocaml? ( dev-ml/findlib - >=dev-lang/ocaml-4 )" - -RDEPEND="${COMMON_DEPEND} - sys-apps/iproute2[-minimal] - net-misc/bridge-utils - screen? ( - app-misc/screen - app-admin/logrotate - )" - -# hvmloader is used to bootstrap a fully virtualized kernel -# Approved by QA team in bug #144032 -QA_WX_LOAD=" - usr/libexec/xen/boot/hvmloader - usr/share/qemu-xen/qemu/s390-ccw.img - usr/share/qemu-xen/qemu/u-boot.e500 -" - -QA_PREBUILT=" - usr/libexec/xen/bin/ivshmem-client - usr/libexec/xen/bin/ivshmem-server - usr/libexec/xen/bin/qemu-img - usr/libexec/xen/bin/qemu-io - usr/libexec/xen/bin/qemu-keymap - usr/libexec/xen/bin/qemu-nbd - usr/libexec/xen/bin/qemu-pr-helper - usr/libexec/xen/bin/qemu-system-i386 - usr/libexec/xen/bin/virtfs-proxy-helper - usr/libexec/xen/libexec/xen-bridge-helper - usr/share/qemu-xen/qemu/s390-ccw.img - usr/share/qemu-xen/qemu/s390-netboot.img - usr/share/qemu-xen/qemu/u-boot.e500 -" - -RESTRICT="test" - -pkg_setup() { - python_setup - export "CONFIG_LOMOUNT=y" - - #bug 522642, disable compile tools/tests - export "CONFIG_TESTS=n" - - if [[ -z ${XEN_TARGET_ARCH} ]] ; then - if use x86 && use amd64; then - die "Confusion! Both x86 and amd64 are set in your use flags!" - elif use x86; then - export XEN_TARGET_ARCH="x86_32" - elif use amd64 ; then - export XEN_TARGET_ARCH="x86_64" - elif use arm; then - export XEN_TARGET_ARCH="arm32" - elif use arm64; then - export XEN_TARGET_ARCH="arm64" - else - die "Unsupported architecture!" - fi - fi -} - -src_prepare() { - local i - - # Upstream's patchset - if [[ -n ${UPSTREAM_VER} ]]; then - einfo "Try to apply Xen Upstream patch set" - eapply "${WORKDIR}"/patches-upstream - fi - - # Security patchset - if [[ -n ${SECURITY_VER} ]]; then - einfo "Try to apply Xen Security patch set" - # apply main xen patches - # Two parallel systems, both work side by side - # Over time they may concdense into one. This will suffice for now - EPATCH_SUFFIX="patch" - EPATCH_FORCE="yes" - - source "${WORKDIR}"/patches-security/${PV}.conf || die - - for i in ${XEN_SECURITY_MAIN}; do - eapply "${WORKDIR}"/patches-security/xen/$i - done - - # apply qemu-xen/upstream patches - pushd "${S}"/tools/qemu-xen/ > /dev/null - for i in ${XEN_SECURITY_QEMUU}; do - eapply "${WORKDIR}"/patches-security/qemuu/$i - done - popd > /dev/null - - # apply qemu-traditional patches - pushd "${S}"/tools/qemu-xen-traditional/ > /dev/null - for i in ${XEN_SECURITY_QEMUT}; do - eapply "${WORKDIR}"/patches-security/qemut/$i - done - popd > /dev/null - fi - - # move before Gentoo patch, one patch should apply to seabios, to fix gcc-4.5.x build err - mv ../seabios-${SEABIOS_VER} tools/firmware/seabios-dir-remote || die - pushd tools/firmware/ > /dev/null - ln -s seabios-dir-remote seabios-dir || die - popd > /dev/null - - # Gentoo's patchset - if [[ -n ${GENTOO_VER} && -n ${GENTOO_GPV} ]]; then - einfo "Try to apply Gentoo specific patch set" - source "${FILESDIR}"/gentoo-patches.conf || die - _gpv=_gpv_${PN/-/_}_${PV//./}_${GENTOO_GPV} - for i in ${!_gpv}; do - eapply "${WORKDIR}"/patches-gentoo/$i - done - fi - - # Ovmf's patchset - if use ovmf; then - if [[ -n ${OVMF_VER} ]];then - einfo "Try to apply Ovmf patch set" - pushd "${WORKDIR}"/ovmf-*/ > /dev/null - eapply "${WORKDIR}"/patches-ovmf - popd > /dev/null - fi - mv ../ovmf-${OVMF_PV} tools/firmware/ovmf-dir-remote || die - fi - - mv tools/qemu-xen/qemu-bridge-helper.c tools/qemu-xen/xen-bridge-helper.c || die - - # Fix texi2html build error with new texi2html, qemu.doc.html - sed -i -e "/texi2html -monolithic/s/-number//" tools/qemu-xen-traditional/Makefile || die - - use api || sed -e "/SUBDIRS-\$(LIBXENAPI_BINDINGS) += libxen/d" -i tools/Makefile || die - sed -e 's:$(MAKE) PYTHON=$(PYTHON) subdirs-$@:LC_ALL=C "$(MAKE)" PYTHON=$(PYTHON) subdirs-$@:' \ - -i tools/firmware/Makefile || die - - # Drop .config, fixes to gcc-4.6 - sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop" - - # if the user *really* wants to use their own custom-cflags, let them - if use custom-cflags; then - einfo "User wants their own CFLAGS - removing defaults" - - # try and remove all the default cflags - find "${S}" \( -name Makefile -o -name Rules.mk -o -name Config.mk \) \ - -exec sed \ - -e 's/CFLAGS\(.*\)=\(.*\)-O3\(.*\)/CFLAGS\1=\2\3/' \ - -e 's/CFLAGS\(.*\)=\(.*\)-march=i686\(.*\)/CFLAGS\1=\2\3/' \ - -e 's/CFLAGS\(.*\)=\(.*\)-fomit-frame-pointer\(.*\)/CFLAGS\1=\2\3/' \ - -e 's/CFLAGS\(.*\)=\(.*\)-g3*\s\(.*\)/CFLAGS\1=\2 \3/' \ - -e 's/CFLAGS\(.*\)=\(.*\)-O2\(.*\)/CFLAGS\1=\2\3/' \ - -i {} + || die "failed to re-set custom-cflags" - else - unset CFLAGS - unset LDFLAGS - unset ASFLAGS - unset CPPFLAGS - fi - - if ! use pygrub; then - sed -e '/^SUBDIRS-y += pygrub/d' -i tools/Makefile || die - fi - - if ! use python; then - sed -e '/^SUBDIRS-y += python$/d' -i tools/Makefile || die - fi - - if ! use hvm; then - sed -e '/SUBDIRS-$(CONFIG_X86) += firmware/d' -i tools/Makefile || die - # Bug 351648 - elif ! use x86 && ! has x86 $(get_all_abis); then - mkdir -p "${WORKDIR}"/extra-headers/gnu || die - touch "${WORKDIR}"/extra-headers/gnu/stubs-32.h || die - export CPATH="${WORKDIR}"/extra-headers - fi - - if use qemu; then - if use sdl; then - sed -i -e "s:\$\$source/configure:\0 --enable-sdl:" \ - tools/Makefile || die - else - sed -i -e "s:\${QEMU_ROOT\:\-\.}/configure:\0 --disable-sdl:" \ - tools/qemu-xen-traditional/xen-setup || die - sed -i -e "s:\$\$source/configure:\0 --disable-sdl:" \ - tools/Makefile || die - fi - else - # Don't bother with qemu, only needed for fully virtualised guests - sed -e "s:install-tools\: tools/qemu-xen-traditional-dir:install-tools\: :g" -i Makefile || die - fi - - # Reset bash completion dir; Bug 472438 - sed -e "s:^BASH_COMPLETION_DIR ?= \$(CONFIG_DIR)/bash_completion.d:BASH_COMPLETION_DIR ?= $(get_bashcompdir):" \ - -i Config.mk || die - sed -i -e "/bash-completion/s/xl\.sh/xl/g" tools/libxl/Makefile || die - - # xencommons, Bug #492332, sed lighter weight than patching - sed -e 's:\$QEMU_XEN -xen-domid:test -e "\$QEMU_XEN" \&\& &:' \ - -i tools/hotplug/Linux/init.d/xencommons.in || die - - # fix bashishm - sed -e '/Usage/s/\$//g' \ - -i tools/hotplug/Linux/init.d/xendriverdomain.in || die - - # respect multilib, usr/lib/libcacard.so.0.0.0 - sed -e "/^libdir=/s/\/lib/\/$(get_libdir)/" \ - -i tools/qemu-xen/configure || die - - #bug 518136, don't build 32bit exactuable for nomultilib profile - if [[ "${ARCH}" == 'amd64' ]] && ! has_multilib_profile; then - sed -i -e "/x86_emulator/d" tools/tests/Makefile || die - fi - - # uncomment lines in xl.conf - sed -e 's:^#autoballoon=:autoballoon=:' \ - -e 's:^#lockfile=:lockfile=:' \ - -e 's:^#vif.default.script=:vif.default.script=:' \ - -i tools/examples/xl.conf || die - - default -} - -src_configure() { - local myconf="--prefix=${PREFIX}/usr \ - --libdir=${PREFIX}/usr/$(get_libdir) \ - --libexecdir=${PREFIX}/usr/libexec \ - --localstatedir=${EPREFIX}/var \ - --disable-werror \ - --disable-xen \ - --enable-tools \ - --enable-docs \ - $(use_enable pam) \ - $(use_enable api xenapi) \ - $(use_enable ovmf) \ - $(use_enable ocaml ocamltools) \ - --with-xenstored=$(usex ocaml 'oxenstored' 'xenstored') \ - " - - use system-seabios && myconf+=" --with-system-seabios=/usr/share/seabios/bios.bin" - use system-qemu && myconf+=" --with-system-qemu=/usr/bin/qemu-system-x86_64" - use amd64 && myconf+=" $(use_enable qemu-traditional)" - econf ${myconf} -} - -src_compile() { - local myopt - use debug && myopt="${myopt} debug=y" - - if test-flag-CC -fno-strict-overflow; then - append-flags -fno-strict-overflow - fi - - emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" build-tools ${myopt} - - if use doc; then - emake -C docs build - else - emake -C docs man-pages - fi -} - -src_install() { - # Override auto-detection in the build system, bug #382573 - export INITD_DIR=/tmp/init.d - export CONFIG_LEAF_DIR=../tmp/default - - # Let the build system compile installed Python modules. - local PYTHONDONTWRITEBYTECODE - export PYTHONDONTWRITEBYTECODE - - emake DESTDIR="${ED}" DOCDIR="/usr/share/doc/${PF}" \ - XEN_PYTHON_NATIVE_INSTALL=y install-tools - - # Created at runtime - rm -rv "${ED%/}/var/run" || die - - # Fix the remaining Python shebangs. - python_fix_shebang "${D}" - - # Remove RedHat-specific stuff - rm -rf "${D}"tmp || die - - emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs - use doc && dodoc -r docs/{pdf,txt} - dodoc ${DOCS[@]} - - newconfd "${FILESDIR}"/xendomains.confd xendomains - newconfd "${FILESDIR}"/xenstored.confd xenstored - newconfd "${FILESDIR}"/xenconsoled.confd xenconsoled - newinitd "${FILESDIR}"/xendomains.initd-r2 xendomains - newinitd "${FILESDIR}"/xenstored.initd-r1 xenstored - newinitd "${FILESDIR}"/xenconsoled.initd xenconsoled - newinitd "${FILESDIR}"/xencommons.initd xencommons - newconfd "${FILESDIR}"/xencommons.confd xencommons - newinitd "${FILESDIR}"/xenqemudev.initd xenqemudev - newconfd "${FILESDIR}"/xenqemudev.confd xenqemudev - newinitd "${FILESDIR}"/xen-watchdog.initd xen-watchdog - - if use screen; then - cat "${FILESDIR}"/xendomains-screen.confd >> "${D}"/etc/conf.d/xendomains || die - cp "${FILESDIR}"/xen-consoles.logrotate "${D}"/etc/xen/ || die - keepdir /var/log/xen-consoles - fi - - # For -static-libs wrt Bug 384355 - if ! use static-libs; then - rm -f "${D}"usr/$(get_libdir)/*.a "${D}"usr/$(get_libdir)/ocaml/*/*.a - fi - - # for xendomains - keepdir /etc/xen/auto - - # Remove files failing QA AFTER emake installs them, avoiding seeking absent files - find "${D}" \( -name openbios-sparc32 -o -name openbios-sparc64 \ - -o -name openbios-ppc -o -name palcode-clipper \) -delete || die -} - -pkg_postinst() { - elog "Official Xen Guide and the offical wiki page:" - elog "https://wiki.gentoo.org/wiki/Xen" - elog "https://wiki.xen.org/wiki/Main_Page" - elog "" - elog "Recommended to utilise the xencommons script to config sytem At boot" - elog "Add by use of rc-update on completion of the install" - - if ! use hvm; then - echo - elog "HVM (VT-x and AMD-V) support has been disabled. If you need hvm" - elog "support enable the hvm use flag." - elog "An x86 or amd64 system is required to build HVM support." - fi - - if use qemu; then - elog "The qemu-bridge-helper is renamed to the xen-bridge-helper in the in source" - elog "build of qemu. This allows for app-emulation/qemu to be emerged concurrently" - elog "with the qemu capable xen. It is up to the user to distinguish between and utilise" - elog "the qemu-bridge-helper and the xen-bridge-helper. File bugs of any issues that arise" - fi -} diff --git a/app-emulation/xen/Manifest b/app-emulation/xen/Manifest index c029a31335eb..efaee60c885f 100644 --- a/app-emulation/xen/Manifest +++ b/app-emulation/xen/Manifest @@ -1,8 +1,9 @@ AUX xen-4.6-efi.patch 1954 BLAKE2B c027aff764e83eef957241827980559ccfeec5525bf0ce6b6b2d38db565fd0f24b21609c1d497934ef823d42116eaf96799b45314f11f57a9238ab21f1255a00 SHA512 361af33159cf49626e92d2815fd4422ea5b1d696a32ce2695ce75205fbbfb89d96b64a8af7332fffdc4a4390000bf52d3730403dfc2334af0da0bea59d58b689 DIST xen-4.10.0-upstream-patches-0.tar.xz 70884 BLAKE2B 9a27e7989486ba3ba59548de356384527cc5b78e63b6ed042506e6534e488272369f021cd2daa516820313c3fe18625a5864794ae0806e7018b8ad28b0a294b1 SHA512 e64bf1d30d24e922c60c3b518a4de7874b43cc695134b4cdd65f6d95ae9ae579c521fab13ca82409fde55e43815d072c3194997e2bda106204cbf329e93a0a00 DIST xen-4.10.0.tar.gz 24618123 BLAKE2B 009faa980f9734525c137d525e626bfa3443c285aeb6b4af91bb2c32a2e98376ded0b1114b541d11e2d4353f4f588d58e8add5b1e0d7de2fe3399d4687c5bfae SHA512 5a37935c382f9cfe3641a35c3be0ba11689bca10c7d3c2401963513e3a834ee8d0c8a0ddcf3716dbf0a795aea1bab78caf19acf1272e5e054bf012cfa06a4690 -DIST xen-4.10.1-upstream-patches-0.tar.xz 69172 BLAKE2B 6da6f3938b5c20692bf7a7f79c21a1f0ed4fa010c8d99a95a2d3a19923f59aad677a3f23ceedf751921105f682ae2e6deb9539802e03c01be267dfc30d53b17e SHA512 b0086c15f811706a0993b92d253d736041b8d7bc4effd082bf092e0d4d372a8b1580f499d225eb0d1a449e14845885bdd749e3df9609c657de6ff8d389c2eb45 +DIST xen-4.10.1-upstream-patches-1.tar.xz 85048 BLAKE2B d00f01980e1c889b2f6899970999b93a7ddbaa03f88219d576bfbe4ccfe0ef3f75afad1538065045833430baa16b64d8dd7eb42af6ad7c3ef948601b941c51bc SHA512 ede74a53faf82712d6ee0cf2a995bb78b7079481e47e829243632fac40069194671e6b9b765e535aa533f618cdcd7715f540e81acd947a42f7b8cbb693a3df82 DIST xen-4.10.1.tar.gz 24674240 BLAKE2B f9a7e0c637db865ab32ad6b6185ab96022903aff65a18e194286a3fc372d4a45f6682cd636b7ac5b4fa0125e54ed51f8876a411d498cf75791718fd088c4a6d2 SHA512 236c02bee69e33644703ed26d323d4c491a91fc05bd0ee0990a7368579f7c82f5bb4510845bf80348fd923024d7d60d521f593dfd0365d971dc592f8ef10fbea +DIST xen-4.11.0-upstream-patches-0.tar.xz 21720 BLAKE2B 92c2ef90ca6af5032e9181d8edbe2b91a4117cc402f5abdff208aa76ee76b56ce75f576c56220d2ebf6d1a21957c10f7c45a2c88d2c77aa8b17fa9a0a99e5b57 SHA512 6ea0ee376251b20b7fa9b6334bca462f115d8a9929e31ae269ae9591b433b46e4e9076a2d2e39ec5f868d5d74739ad7b0ba0d9244e599da5255ccca0babd669e DIST xen-4.11.0.tar.gz 25131533 BLAKE2B 892639b8bcd9b9956104e4d5137ffd88e17f92d965fa967b4af8d74a4fddcc21c6971c53026e0fb5ce833ab2c25c68f827abcac0b7b1dcebc21dca645c465573 SHA512 33d431c194f10d5ee767558404a1f80a66b3df019012b0bbd587fcbc9524e1bba7ea04269020ce891fe9d211d2f81c63bf78abedcdbe1595aee26251c803a50a DIST xen-4.9.1-upstream-patches-1.tar.xz 24592 BLAKE2B 774c5219d6c14d729358e790d880a1a31fb4cda741e54e71879bff164e79bafbd8492eb8bccb7becdf7a2f9605e71266bb4fc15848deff8f9028ed7f8844f915 SHA512 edbc7cad2f6f8a5c7e8aac8efd5454428aa25e0e13018438f78c7f401cfb9173345267e16c7a5dfa78066a952980b172976409a0c63162094b7f507058e712ed DIST xen-4.9.1-upstream-patches-2.tar.xz 84228 BLAKE2B 3b98cdb1202d4c9817dd1919b9dc5d4c06510d3be2c077b2e41334928bca07c65a9d8a421fc2a1ae3b806e69f7b61334f7c54d48952c98192ece4b5826539df8 SHA512 673520bff88fa401e1d1c7accc8d3650d4d74a9e52bc7195cfcb5335226c69ef0230e7db719fd97ce6df2f5198646ae0fbccc6f812d7e9ccd38a6eef359d287c @@ -10,8 +11,8 @@ DIST xen-4.9.1.tar.gz 23368303 BLAKE2B 4cfddb351c9a4aa08227138dc1afa921f3d188004 DIST xen-4.9.2-upstream-patches-1.tar.xz 13812 BLAKE2B fe8bf636dea9fbd21c9fc432817dc8e21ffb78bf70279b86babb6963a0dbebc17493eb6c016ee1093ef36e66693df25e8aeb35a568260f2e62a97a787b3c70bb SHA512 d75ea99531a10279736f89057857c257955800df6fe42bd742babfd5a9e527a2cb0d4dc5505b41df5b9db82246a8414f14b7084997ee798ffab657a3991b17ae DIST xen-4.9.2.tar.gz 23392753 BLAKE2B 5f96f0e5062eff8ac2971eef85ea2bae0e94e7542151237937a1cf7e74690bb0ce1c952e830d2fc13b3277f70b9ed1de511afe4f780ad7b3be0c58742ece39b2 SHA512 e06aec25439abcc548c174ba8e271c23031ea704bcc2480905140aa68490064fbb1c58d9c4174f6617b4f7bbcddfda284317df6f480a6e5b5b5a2c71fbe0ac93 EBUILD xen-4.10.0.ebuild 4819 BLAKE2B 3485abb76d742a02a1f5bab5a751c151fa2ac1e82f07fc98a288be9389f6ba4a5a1e56fc9a88ed41bc6e690b9e74ef301732dd57c3d2f25a8bb3e1fb4cdf4021 SHA512 932483e5bef935091d911cf162b40ff69992217847aa5dce3dfe82deda6e924624cf3d7f808b74fd0ea487a7cf25ee50c095e290d76aaaa259c9d57949534911 -EBUILD xen-4.10.1.ebuild 4819 BLAKE2B 3485abb76d742a02a1f5bab5a751c151fa2ac1e82f07fc98a288be9389f6ba4a5a1e56fc9a88ed41bc6e690b9e74ef301732dd57c3d2f25a8bb3e1fb4cdf4021 SHA512 932483e5bef935091d911cf162b40ff69992217847aa5dce3dfe82deda6e924624cf3d7f808b74fd0ea487a7cf25ee50c095e290d76aaaa259c9d57949534911 -EBUILD xen-4.11.0.ebuild 4818 BLAKE2B b0d03f3bf93af3e78c7a9e715e23ef73c2a6c9ac9f71b844d19f9bb97ebdabf47571a6702e192f9879d0e43b2d5c5f3f2a0f431378e881188ca6b9b14ff08527 SHA512 0306d2111c542139f3d715fdfddad59d24e88b22af0389a1a44641d92755e99c525e3d018c40d1098913e33d598e3d60411cca3446fe027779c691d512781581 +EBUILD xen-4.10.1-r1.ebuild 4819 BLAKE2B 72bfc9525c0baaeebd6e12351bc38c0a45290cd50f2b4cf19f19bb250306b9a305ee14ff7bd7e3e3697fac9187c596647290d5e8cd2eff99c799d2cfa9a894d2 SHA512 56b92a8a629bb290f0cdf1e3c72438ce7cdb8f5bf77ace6e5113ff503d1ab745ad926b288cc69e7d3a4636cdb05004dd8a7505e277c9144414fb608d1ec4c8bb +EBUILD xen-4.11.0-r1.ebuild 4819 BLAKE2B 3485abb76d742a02a1f5bab5a751c151fa2ac1e82f07fc98a288be9389f6ba4a5a1e56fc9a88ed41bc6e690b9e74ef301732dd57c3d2f25a8bb3e1fb4cdf4021 SHA512 932483e5bef935091d911cf162b40ff69992217847aa5dce3dfe82deda6e924624cf3d7f808b74fd0ea487a7cf25ee50c095e290d76aaaa259c9d57949534911 EBUILD xen-4.9.1-r1.ebuild 4719 BLAKE2B bd5c63e4ed7046568f8276c0a5b65c1cee97e07e0410eec66324b7625619ed6320282181c9b10519f683c54cf22fd0af1e7bce14d5558966535b2393e6136af6 SHA512 3758dd6eb2323e30e9e77efbc46917bb16fed2f8380967903582d0c834d61fde1caa7902d96e5846af6ea4f0b914d64aaac2a58ad75c695e8a7c389e33f4971d EBUILD xen-4.9.1-r2.ebuild 4715 BLAKE2B 27f11164249a0b834e309a2a452db41f102e360a418c79419586b68d8555eedcf375052223ccfd9a3d138bad023c6a3bff4b051da4d677e7f9bf5f5c27dfba00 SHA512 3e7bd5b5805a8419d1ff83bafb33949eb65af2a3eee305a61cedf4686ec44b1fef293c62988caa18dc2e73f7ccca88c4370ece7559456dedb3ed4837d0ec2d98 EBUILD xen-4.9.2.ebuild 4719 BLAKE2B bd5c63e4ed7046568f8276c0a5b65c1cee97e07e0410eec66324b7625619ed6320282181c9b10519f683c54cf22fd0af1e7bce14d5558966535b2393e6136af6 SHA512 3758dd6eb2323e30e9e77efbc46917bb16fed2f8380967903582d0c834d61fde1caa7902d96e5846af6ea4f0b914d64aaac2a58ad75c695e8a7c389e33f4971d diff --git a/app-emulation/xen/xen-4.10.1-r1.ebuild b/app-emulation/xen/xen-4.10.1-r1.ebuild new file mode 100644 index 000000000000..4a462ae958d4 --- /dev/null +++ b/app-emulation/xen/xen-4.10.1-r1.ebuild @@ -0,0 +1,172 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 ) + +inherit eutils flag-o-matic mount-boot multilib python-any-r1 toolchain-funcs + +MY_PV=${PV/_/-} +MY_P=${PN}-${MY_PV} + +if [[ $PV == *9999 ]]; then + inherit git-r3 + KEYWORDS="" + EGIT_REPO_URI="git://xenbits.xen.org/xen.git" + SRC_URI="" +else + KEYWORDS="~amd64 ~arm -x86" + UPSTREAM_VER=1 + SECURITY_VER= + GENTOO_VER= + + [[ -n ${UPSTREAM_VER} ]] && \ + UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz + https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz" + [[ -n ${SECURITY_VER} ]] && \ + SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-security-patches-${SECURITY_VER}.tar.xz" + [[ -n ${GENTOO_VER} ]] && \ + GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-gentoo-patches-${GENTOO_VER}.tar.xz" + SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/${MY_P}.tar.gz + ${UPSTREAM_PATCHSET_URI} + ${SECURITY_PATCHSET_URI} + ${GENTOO_PATCHSET_URI}" +fi + +DESCRIPTION="The Xen virtual machine monitor" +HOMEPAGE="https://www.xenproject.org" +LICENSE="GPL-2" +SLOT="0" +IUSE="custom-cflags debug efi flask" + +DEPEND="${PYTHON_DEPS} + efi? ( >=sys-devel/binutils-2.22[multitarget] ) + !efi? ( >=sys-devel/binutils-2.22 )" +RDEPEND="" +PDEPEND="~app-emulation/xen-tools-${PV}" + +# no tests are available for the hypervisor +# prevent the silliness of /usr/lib/debug/usr/lib/debug files +# prevent stripping of the debug info from the /usr/lib/debug/xen-syms +RESTRICT="test splitdebug strip" + +# Approved by QA team in bug #144032 +QA_WX_LOAD="boot/xen-syms-${PV}" + +REQUIRED_USE="arm? ( debug )" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + python-any-r1_pkg_setup + if [[ -z ${XEN_TARGET_ARCH} ]]; then + if use amd64; then + export XEN_TARGET_ARCH="x86_64" + elif use arm; then + export XEN_TARGET_ARCH="arm32" + elif use arm64; then + export XEN_TARGET_ARCH="arm64" + else + die "Unsupported architecture!" + fi + fi + + if use flask ; then + export "XSM_ENABLE=y" + export "FLASK_ENABLE=y" + fi +} + +src_prepare() { + # Upstream's patchset + [[ -n ${UPSTREAM_VER} ]] && eapply "${WORKDIR}"/patches-upstream + + # Security patchset + if [[ -n ${SECURITY_VER} ]]; then + einfo "Try to apply Xen Security patch set" + # apply main xen patches + # Two parallel systems, both work side by side + # Over time they may concdense into one. This will suffice for now + source "${WORKDIR}"/patches-security/${PV}.conf + + local i + for i in ${XEN_SECURITY_MAIN}; do + eapply "${WORKDIR}"/patches-security/xen/$i + done + fi + + # Gentoo's patchset + [[ -n ${GENTOO_VER} ]] && eapply "${WORKDIR}"/patches-gentoo + + eapply "${FILESDIR}"/${PN}-4.6-efi.patch + + # Drop .config + sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop" + + if use efi; then + export EFI_VENDOR="gentoo" + export EFI_MOUNTPOINT="boot" + fi + + # if the user *really* wants to use their own custom-cflags, let them + if use custom-cflags; then + einfo "User wants their own CFLAGS - removing defaults" + # try and remove all the default custom-cflags + find "${S}" -name Makefile -o -name Rules.mk -o -name Config.mk -exec sed \ + -e 's/CFLAGS\(.*\)=\(.*\)-O3\(.*\)/CFLAGS\1=\2\3/' \ + -e 's/CFLAGS\(.*\)=\(.*\)-march=i686\(.*\)/CFLAGS\1=\2\3/' \ + -e 's/CFLAGS\(.*\)=\(.*\)-fomit-frame-pointer\(.*\)/CFLAGS\1=\2\3/' \ + -e 's/CFLAGS\(.*\)=\(.*\)-g3*\s\(.*\)/CFLAGS\1=\2 \3/' \ + -e 's/CFLAGS\(.*\)=\(.*\)-O2\(.*\)/CFLAGS\1=\2\3/' \ + -i {} \; || die "failed to re-set custom-cflags" + fi + + default +} + +src_configure() { + use arm && myopt="${myopt} CONFIG_EARLY_PRINTK=sun7i" + + use debug && myopt="${myopt} debug=y" + + if use custom-cflags; then + filter-flags -fPIE -fstack-protector + replace-flags -O3 -O2 + else + unset CFLAGS + unset LDFLAGS + unset ASFLAGS + fi +} + +src_compile() { + # Send raw LDFLAGS so that --as-needed works + emake V=1 CC="$(tc-getCC)" LDFLAGS="$(raw-ldflags)" LD="$(tc-getLD)" -C xen ${myopt} +} + +src_install() { + local myopt + use debug && myopt="${myopt} debug=y" + + # The 'make install' doesn't 'mkdir -p' the subdirs + if use efi; then + mkdir -p "${D}"${EFI_MOUNTPOINT}/efi/${EFI_VENDOR} || die + fi + + emake LDFLAGS="$(raw-ldflags)" DESTDIR="${D}" -C xen ${myopt} install + + # make install likes to throw in some extra EFI bits if it built + use efi || rm -rf "${D}/usr/$(get_libdir)/efi" +} + +pkg_postinst() { + elog "Official Xen Guide:" + elog " https://wiki.gentoo.org/wiki/Xen" + + use efi && einfo "The efi executable is installed in boot/efi/gentoo" + + elog "You can optionally block the installation of /boot/xen-syms by an entry" + elog "in folder /etc/portage/env using the portage's feature INSTALL_MASK" + elog "e.g. echo ${msg} > /etc/portage/env/xen.conf" +} diff --git a/app-emulation/xen/xen-4.10.1.ebuild b/app-emulation/xen/xen-4.10.1.ebuild deleted file mode 100644 index 8027e789237b..000000000000 --- a/app-emulation/xen/xen-4.10.1.ebuild +++ /dev/null @@ -1,172 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PYTHON_COMPAT=( python2_7 ) - -inherit eutils flag-o-matic mount-boot multilib python-any-r1 toolchain-funcs - -MY_PV=${PV/_/-} -MY_P=${PN}-${MY_PV} - -if [[ $PV == *9999 ]]; then - inherit git-r3 - KEYWORDS="" - EGIT_REPO_URI="git://xenbits.xen.org/xen.git" - SRC_URI="" -else - KEYWORDS="~amd64 ~arm -x86" - UPSTREAM_VER=0 - SECURITY_VER= - GENTOO_VER= - - [[ -n ${UPSTREAM_VER} ]] && \ - UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz - https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz" - [[ -n ${SECURITY_VER} ]] && \ - SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-security-patches-${SECURITY_VER}.tar.xz" - [[ -n ${GENTOO_VER} ]] && \ - GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-gentoo-patches-${GENTOO_VER}.tar.xz" - SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/${MY_P}.tar.gz - ${UPSTREAM_PATCHSET_URI} - ${SECURITY_PATCHSET_URI} - ${GENTOO_PATCHSET_URI}" -fi - -DESCRIPTION="The Xen virtual machine monitor" -HOMEPAGE="https://www.xenproject.org" -LICENSE="GPL-2" -SLOT="0" -IUSE="custom-cflags debug efi flask" - -DEPEND="${PYTHON_DEPS} - efi? ( >=sys-devel/binutils-2.22[multitarget] ) - !efi? ( >=sys-devel/binutils-2.22 )" -RDEPEND="" -PDEPEND="~app-emulation/xen-tools-${PV}" - -# no tests are available for the hypervisor -# prevent the silliness of /usr/lib/debug/usr/lib/debug files -# prevent stripping of the debug info from the /usr/lib/debug/xen-syms -RESTRICT="test splitdebug strip" - -# Approved by QA team in bug #144032 -QA_WX_LOAD="boot/xen-syms-${PV}" - -REQUIRED_USE="arm? ( debug )" - -S="${WORKDIR}/${MY_P}" - -pkg_setup() { - python-any-r1_pkg_setup - if [[ -z ${XEN_TARGET_ARCH} ]]; then - if use amd64; then - export XEN_TARGET_ARCH="x86_64" - elif use arm; then - export XEN_TARGET_ARCH="arm32" - elif use arm64; then - export XEN_TARGET_ARCH="arm64" - else - die "Unsupported architecture!" - fi - fi - - if use flask ; then - export "XSM_ENABLE=y" - export "FLASK_ENABLE=y" - fi -} - -src_prepare() { - # Upstream's patchset - [[ -n ${UPSTREAM_VER} ]] && eapply "${WORKDIR}"/patches-upstream - - # Security patchset - if [[ -n ${SECURITY_VER} ]]; then - einfo "Try to apply Xen Security patch set" - # apply main xen patches - # Two parallel systems, both work side by side - # Over time they may concdense into one. This will suffice for now - source "${WORKDIR}"/patches-security/${PV}.conf - - local i - for i in ${XEN_SECURITY_MAIN}; do - eapply "${WORKDIR}"/patches-security/xen/$i - done - fi - - # Gentoo's patchset - [[ -n ${GENTOO_VER} ]] && eapply "${WORKDIR}"/patches-gentoo - - eapply "${FILESDIR}"/${PN}-4.6-efi.patch - - # Drop .config - sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop" - - if use efi; then - export EFI_VENDOR="gentoo" - export EFI_MOUNTPOINT="boot" - fi - - # if the user *really* wants to use their own custom-cflags, let them - if use custom-cflags; then - einfo "User wants their own CFLAGS - removing defaults" - # try and remove all the default custom-cflags - find "${S}" -name Makefile -o -name Rules.mk -o -name Config.mk -exec sed \ - -e 's/CFLAGS\(.*\)=\(.*\)-O3\(.*\)/CFLAGS\1=\2\3/' \ - -e 's/CFLAGS\(.*\)=\(.*\)-march=i686\(.*\)/CFLAGS\1=\2\3/' \ - -e 's/CFLAGS\(.*\)=\(.*\)-fomit-frame-pointer\(.*\)/CFLAGS\1=\2\3/' \ - -e 's/CFLAGS\(.*\)=\(.*\)-g3*\s\(.*\)/CFLAGS\1=\2 \3/' \ - -e 's/CFLAGS\(.*\)=\(.*\)-O2\(.*\)/CFLAGS\1=\2\3/' \ - -i {} \; || die "failed to re-set custom-cflags" - fi - - default -} - -src_configure() { - use arm && myopt="${myopt} CONFIG_EARLY_PRINTK=sun7i" - - use debug && myopt="${myopt} debug=y" - - if use custom-cflags; then - filter-flags -fPIE -fstack-protector - replace-flags -O3 -O2 - else - unset CFLAGS - unset LDFLAGS - unset ASFLAGS - fi -} - -src_compile() { - # Send raw LDFLAGS so that --as-needed works - emake V=1 CC="$(tc-getCC)" LDFLAGS="$(raw-ldflags)" LD="$(tc-getLD)" -C xen ${myopt} -} - -src_install() { - local myopt - use debug && myopt="${myopt} debug=y" - - # The 'make install' doesn't 'mkdir -p' the subdirs - if use efi; then - mkdir -p "${D}"${EFI_MOUNTPOINT}/efi/${EFI_VENDOR} || die - fi - - emake LDFLAGS="$(raw-ldflags)" DESTDIR="${D}" -C xen ${myopt} install - - # make install likes to throw in some extra EFI bits if it built - use efi || rm -rf "${D}/usr/$(get_libdir)/efi" -} - -pkg_postinst() { - elog "Official Xen Guide:" - elog " https://wiki.gentoo.org/wiki/Xen" - - use efi && einfo "The efi executable is installed in boot/efi/gentoo" - - elog "You can optionally block the installation of /boot/xen-syms by an entry" - elog "in folder /etc/portage/env using the portage's feature INSTALL_MASK" - elog "e.g. echo ${msg} > /etc/portage/env/xen.conf" -} diff --git a/app-emulation/xen/xen-4.11.0-r1.ebuild b/app-emulation/xen/xen-4.11.0-r1.ebuild new file mode 100644 index 000000000000..8027e789237b --- /dev/null +++ b/app-emulation/xen/xen-4.11.0-r1.ebuild @@ -0,0 +1,172 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 ) + +inherit eutils flag-o-matic mount-boot multilib python-any-r1 toolchain-funcs + +MY_PV=${PV/_/-} +MY_P=${PN}-${MY_PV} + +if [[ $PV == *9999 ]]; then + inherit git-r3 + KEYWORDS="" + EGIT_REPO_URI="git://xenbits.xen.org/xen.git" + SRC_URI="" +else + KEYWORDS="~amd64 ~arm -x86" + UPSTREAM_VER=0 + SECURITY_VER= + GENTOO_VER= + + [[ -n ${UPSTREAM_VER} ]] && \ + UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz + https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz" + [[ -n ${SECURITY_VER} ]] && \ + SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-security-patches-${SECURITY_VER}.tar.xz" + [[ -n ${GENTOO_VER} ]] && \ + GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-gentoo-patches-${GENTOO_VER}.tar.xz" + SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/${MY_P}.tar.gz + ${UPSTREAM_PATCHSET_URI} + ${SECURITY_PATCHSET_URI} + ${GENTOO_PATCHSET_URI}" +fi + +DESCRIPTION="The Xen virtual machine monitor" +HOMEPAGE="https://www.xenproject.org" +LICENSE="GPL-2" +SLOT="0" +IUSE="custom-cflags debug efi flask" + +DEPEND="${PYTHON_DEPS} + efi? ( >=sys-devel/binutils-2.22[multitarget] ) + !efi? ( >=sys-devel/binutils-2.22 )" +RDEPEND="" +PDEPEND="~app-emulation/xen-tools-${PV}" + +# no tests are available for the hypervisor +# prevent the silliness of /usr/lib/debug/usr/lib/debug files +# prevent stripping of the debug info from the /usr/lib/debug/xen-syms +RESTRICT="test splitdebug strip" + +# Approved by QA team in bug #144032 +QA_WX_LOAD="boot/xen-syms-${PV}" + +REQUIRED_USE="arm? ( debug )" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + python-any-r1_pkg_setup + if [[ -z ${XEN_TARGET_ARCH} ]]; then + if use amd64; then + export XEN_TARGET_ARCH="x86_64" + elif use arm; then + export XEN_TARGET_ARCH="arm32" + elif use arm64; then + export XEN_TARGET_ARCH="arm64" + else + die "Unsupported architecture!" + fi + fi + + if use flask ; then + export "XSM_ENABLE=y" + export "FLASK_ENABLE=y" + fi +} + +src_prepare() { + # Upstream's patchset + [[ -n ${UPSTREAM_VER} ]] && eapply "${WORKDIR}"/patches-upstream + + # Security patchset + if [[ -n ${SECURITY_VER} ]]; then + einfo "Try to apply Xen Security patch set" + # apply main xen patches + # Two parallel systems, both work side by side + # Over time they may concdense into one. This will suffice for now + source "${WORKDIR}"/patches-security/${PV}.conf + + local i + for i in ${XEN_SECURITY_MAIN}; do + eapply "${WORKDIR}"/patches-security/xen/$i + done + fi + + # Gentoo's patchset + [[ -n ${GENTOO_VER} ]] && eapply "${WORKDIR}"/patches-gentoo + + eapply "${FILESDIR}"/${PN}-4.6-efi.patch + + # Drop .config + sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop" + + if use efi; then + export EFI_VENDOR="gentoo" + export EFI_MOUNTPOINT="boot" + fi + + # if the user *really* wants to use their own custom-cflags, let them + if use custom-cflags; then + einfo "User wants their own CFLAGS - removing defaults" + # try and remove all the default custom-cflags + find "${S}" -name Makefile -o -name Rules.mk -o -name Config.mk -exec sed \ + -e 's/CFLAGS\(.*\)=\(.*\)-O3\(.*\)/CFLAGS\1=\2\3/' \ + -e 's/CFLAGS\(.*\)=\(.*\)-march=i686\(.*\)/CFLAGS\1=\2\3/' \ + -e 's/CFLAGS\(.*\)=\(.*\)-fomit-frame-pointer\(.*\)/CFLAGS\1=\2\3/' \ + -e 's/CFLAGS\(.*\)=\(.*\)-g3*\s\(.*\)/CFLAGS\1=\2 \3/' \ + -e 's/CFLAGS\(.*\)=\(.*\)-O2\(.*\)/CFLAGS\1=\2\3/' \ + -i {} \; || die "failed to re-set custom-cflags" + fi + + default +} + +src_configure() { + use arm && myopt="${myopt} CONFIG_EARLY_PRINTK=sun7i" + + use debug && myopt="${myopt} debug=y" + + if use custom-cflags; then + filter-flags -fPIE -fstack-protector + replace-flags -O3 -O2 + else + unset CFLAGS + unset LDFLAGS + unset ASFLAGS + fi +} + +src_compile() { + # Send raw LDFLAGS so that --as-needed works + emake V=1 CC="$(tc-getCC)" LDFLAGS="$(raw-ldflags)" LD="$(tc-getLD)" -C xen ${myopt} +} + +src_install() { + local myopt + use debug && myopt="${myopt} debug=y" + + # The 'make install' doesn't 'mkdir -p' the subdirs + if use efi; then + mkdir -p "${D}"${EFI_MOUNTPOINT}/efi/${EFI_VENDOR} || die + fi + + emake LDFLAGS="$(raw-ldflags)" DESTDIR="${D}" -C xen ${myopt} install + + # make install likes to throw in some extra EFI bits if it built + use efi || rm -rf "${D}/usr/$(get_libdir)/efi" +} + +pkg_postinst() { + elog "Official Xen Guide:" + elog " https://wiki.gentoo.org/wiki/Xen" + + use efi && einfo "The efi executable is installed in boot/efi/gentoo" + + elog "You can optionally block the installation of /boot/xen-syms by an entry" + elog "in folder /etc/portage/env using the portage's feature INSTALL_MASK" + elog "e.g. echo ${msg} > /etc/portage/env/xen.conf" +} diff --git a/app-emulation/xen/xen-4.11.0.ebuild b/app-emulation/xen/xen-4.11.0.ebuild deleted file mode 100644 index f5b10b55f92b..000000000000 --- a/app-emulation/xen/xen-4.11.0.ebuild +++ /dev/null @@ -1,172 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PYTHON_COMPAT=( python2_7 ) - -inherit eutils flag-o-matic mount-boot multilib python-any-r1 toolchain-funcs - -MY_PV=${PV/_/-} -MY_P=${PN}-${MY_PV} - -if [[ $PV == *9999 ]]; then - inherit git-r3 - KEYWORDS="" - EGIT_REPO_URI="git://xenbits.xen.org/xen.git" - SRC_URI="" -else - KEYWORDS="~amd64 ~arm -x86" - UPSTREAM_VER= - SECURITY_VER= - GENTOO_VER= - - [[ -n ${UPSTREAM_VER} ]] && \ - UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz - https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz" - [[ -n ${SECURITY_VER} ]] && \ - SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-security-patches-${SECURITY_VER}.tar.xz" - [[ -n ${GENTOO_VER} ]] && \ - GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-gentoo-patches-${GENTOO_VER}.tar.xz" - SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/${MY_P}.tar.gz - ${UPSTREAM_PATCHSET_URI} - ${SECURITY_PATCHSET_URI} - ${GENTOO_PATCHSET_URI}" -fi - -DESCRIPTION="The Xen virtual machine monitor" -HOMEPAGE="https://www.xenproject.org" -LICENSE="GPL-2" -SLOT="0" -IUSE="custom-cflags debug efi flask" - -DEPEND="${PYTHON_DEPS} - efi? ( >=sys-devel/binutils-2.22[multitarget] ) - !efi? ( >=sys-devel/binutils-2.22 )" -RDEPEND="" -PDEPEND="~app-emulation/xen-tools-${PV}" - -# no tests are available for the hypervisor -# prevent the silliness of /usr/lib/debug/usr/lib/debug files -# prevent stripping of the debug info from the /usr/lib/debug/xen-syms -RESTRICT="test splitdebug strip" - -# Approved by QA team in bug #144032 -QA_WX_LOAD="boot/xen-syms-${PV}" - -REQUIRED_USE="arm? ( debug )" - -S="${WORKDIR}/${MY_P}" - -pkg_setup() { - python-any-r1_pkg_setup - if [[ -z ${XEN_TARGET_ARCH} ]]; then - if use amd64; then - export XEN_TARGET_ARCH="x86_64" - elif use arm; then - export XEN_TARGET_ARCH="arm32" - elif use arm64; then - export XEN_TARGET_ARCH="arm64" - else - die "Unsupported architecture!" - fi - fi - - if use flask ; then - export "XSM_ENABLE=y" - export "FLASK_ENABLE=y" - fi -} - -src_prepare() { - # Upstream's patchset - [[ -n ${UPSTREAM_VER} ]] && eapply "${WORKDIR}"/patches-upstream - - # Security patchset - if [[ -n ${SECURITY_VER} ]]; then - einfo "Try to apply Xen Security patch set" - # apply main xen patches - # Two parallel systems, both work side by side - # Over time they may concdense into one. This will suffice for now - source "${WORKDIR}"/patches-security/${PV}.conf - - local i - for i in ${XEN_SECURITY_MAIN}; do - eapply "${WORKDIR}"/patches-security/xen/$i - done - fi - - # Gentoo's patchset - [[ -n ${GENTOO_VER} ]] && eapply "${WORKDIR}"/patches-gentoo - - eapply "${FILESDIR}"/${PN}-4.6-efi.patch - - # Drop .config - sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop" - - if use efi; then - export EFI_VENDOR="gentoo" - export EFI_MOUNTPOINT="boot" - fi - - # if the user *really* wants to use their own custom-cflags, let them - if use custom-cflags; then - einfo "User wants their own CFLAGS - removing defaults" - # try and remove all the default custom-cflags - find "${S}" -name Makefile -o -name Rules.mk -o -name Config.mk -exec sed \ - -e 's/CFLAGS\(.*\)=\(.*\)-O3\(.*\)/CFLAGS\1=\2\3/' \ - -e 's/CFLAGS\(.*\)=\(.*\)-march=i686\(.*\)/CFLAGS\1=\2\3/' \ - -e 's/CFLAGS\(.*\)=\(.*\)-fomit-frame-pointer\(.*\)/CFLAGS\1=\2\3/' \ - -e 's/CFLAGS\(.*\)=\(.*\)-g3*\s\(.*\)/CFLAGS\1=\2 \3/' \ - -e 's/CFLAGS\(.*\)=\(.*\)-O2\(.*\)/CFLAGS\1=\2\3/' \ - -i {} \; || die "failed to re-set custom-cflags" - fi - - default -} - -src_configure() { - use arm && myopt="${myopt} CONFIG_EARLY_PRINTK=sun7i" - - use debug && myopt="${myopt} debug=y" - - if use custom-cflags; then - filter-flags -fPIE -fstack-protector - replace-flags -O3 -O2 - else - unset CFLAGS - unset LDFLAGS - unset ASFLAGS - fi -} - -src_compile() { - # Send raw LDFLAGS so that --as-needed works - emake V=1 CC="$(tc-getCC)" LDFLAGS="$(raw-ldflags)" LD="$(tc-getLD)" -C xen ${myopt} -} - -src_install() { - local myopt - use debug && myopt="${myopt} debug=y" - - # The 'make install' doesn't 'mkdir -p' the subdirs - if use efi; then - mkdir -p "${D}"${EFI_MOUNTPOINT}/efi/${EFI_VENDOR} || die - fi - - emake LDFLAGS="$(raw-ldflags)" DESTDIR="${D}" -C xen ${myopt} install - - # make install likes to throw in some extra EFI bits if it built - use efi || rm -rf "${D}/usr/$(get_libdir)/efi" -} - -pkg_postinst() { - elog "Official Xen Guide:" - elog " https://wiki.gentoo.org/wiki/Xen" - - use efi && einfo "The efi executable is installed in boot/efi/gentoo" - - elog "You can optionally block the installation of /boot/xen-syms by an entry" - elog "in folder /etc/portage/env using the portage's feature INSTALL_MASK" - elog "e.g. echo ${msg} > /etc/portage/env/xen.conf" -} -- cgit v1.2.3