diff options
author | Mike Frysinger <vapier@google.com> | 2016-02-02 17:45:13 -0500 |
---|---|---|
committer | Mike Frysinger <vapier@google.com> | 2016-02-02 17:45:13 -0500 |
commit | 5b84cb95073a8c276866a99d515c05a35ff23195 (patch) | |
tree | 58f15f365444bc4a660cbaf8aab8f473e9cd913d /app-emulation | |
parent | 27778422d5176c66852aca6ffb7f0a0b428cd6a1 (diff) | |
parent | 08c27e4668323f40f037392913b18f2b98f71d68 (diff) | |
download | gentoo-5b84cb95073a8c276866a99d515c05a35ff23195.tar.gz |
Merge https://github.com/gentoo/gentoo.git
Diffstat (limited to 'app-emulation')
300 files changed, 7212 insertions, 8992 deletions
diff --git a/app-emulation/aqemu/metadata.xml b/app-emulation/aqemu/metadata.xml index 25667e2ea9..c9c487d5a5 100644 --- a/app-emulation/aqemu/metadata.xml +++ b/app-emulation/aqemu/metadata.xml @@ -1,15 +1,18 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <herd>proxy-maintainers</herd> - <maintainer> + <maintainer type="person"> <email>maksbotan@gentoo.org</email> <description>Proxy maintainer (CC on bugs)</description> </maintainer> - <maintainer> + <maintainer type="person"> <email>andreis.vinogradovs@gmail.com</email> <description>Proxied maintainer (assign bugs)</description> </maintainer> + <maintainer type="project"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> <upstream> <remote-id type="sourceforge">aqemu</remote-id> </upstream> diff --git a/app-emulation/aranym/metadata.xml b/app-emulation/aranym/metadata.xml index d60a27928e..8ace45a94e 100644 --- a/app-emulation/aranym/metadata.xml +++ b/app-emulation/aranym/metadata.xml @@ -1,9 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer> - <email>maintainer-needed@gentoo.org</email> - </maintainer> <longdescription> ARAnyM is an acronym: Atari Running on Any Machine. It is a virtual machine software for running the Atari ST/TT/Falcon operating systems diff --git a/app-emulation/armv8-fast-model/metadata.xml b/app-emulation/armv8-fast-model/metadata.xml index 5454528f20..3101c4efc8 100644 --- a/app-emulation/armv8-fast-model/metadata.xml +++ b/app-emulation/armv8-fast-model/metadata.xml @@ -1,5 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> -<herd>arm</herd> +<maintainer type="project"> + <email>arm@gentoo.org</email> + <name>Gentoo Linux ARM Development</name> +</maintainer> </pkgmetadata> diff --git a/app-emulation/bochs/metadata.xml b/app-emulation/bochs/metadata.xml index 2afe2cec49..ec4099c945 100644 --- a/app-emulation/bochs/metadata.xml +++ b/app-emulation/bochs/metadata.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer> + <maintainer type="person"> <email>lu_zero@gentoo.org</email> </maintainer> <use> diff --git a/app-emulation/cloud-init/Manifest b/app-emulation/cloud-init/Manifest index 93c02cdc8f..4f0a651c4e 100644 --- a/app-emulation/cloud-init/Manifest +++ b/app-emulation/cloud-init/Manifest @@ -1,2 +1 @@ -DIST cloud-init-0.7.5.tar.gz 503717 SHA256 a92bb83809c139a7db378916414c18b0819e306852d6c60dd89388868857ed33 SHA512 79e1e4a9e1130a3a9deb0482278215baf5ed41e02beebed0a2c6fac4e215340a9537158bd259758a2e074f334c0c0b9e7b936c23eeb9c848c67f7e7835cf0f5d WHIRLPOOL 7d92a0e1b6a3faf550bc442b02c117280c47d160e7e318d9fb859d6d8b59a0ef947d057dfb615bd925420a25ca28852742ee87ffd6066664faf640ca53a13073 DIST cloud-init-0.7.6.tar.gz 515670 SHA256 9e8fd22eb7f6e40ae6a5f66173ddc3cc18f65ee406c460a728092b37db2f3ed7 SHA512 aa2397328afda8e77ed6d642e7642f41a4b4b5bcd3d0e87056aa8c88b56624ec65c57cfc66b0d13ccc235f1840baf1d577316974902a0439cf2f2eb0f8eef36d WHIRLPOOL 639a556e51b4b4b180951f9e481f9a0dcd45067d1d5760ce7e871ceea8bbb4e195258d96273d3ef88c7e2f2520318e9172c3ad0cb23d6ad0ae1835e17087e3a5 diff --git a/app-emulation/cloud-init/cloud-init-0.7.5-r1.ebuild b/app-emulation/cloud-init/cloud-init-0.7.5-r1.ebuild deleted file mode 100644 index a01d1dcd35..0000000000 --- a/app-emulation/cloud-init/cloud-init-0.7.5-r1.ebuild +++ /dev/null @@ -1,52 +0,0 @@ -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=5 -PYTHON_COMPAT=( python2_7 ) - -inherit distutils-r1 eutils multilib - -DESCRIPTION="Package provides configuration and customization of cloud instance" -HOMEPAGE="https://launchpad.net/cloud-init" -SRC_URI="https://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.gz" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="test" - -RDEPEND="dev-python/cheetah[${PYTHON_USEDEP}] - >=dev-python/prettytable-0.7.1[${PYTHON_USEDEP}] - dev-python/oauth[${PYTHON_USEDEP}] - dev-python/pyserial[${PYTHON_USEDEP}] - dev-python/configobj[${PYTHON_USEDEP}] - dev-python/pyyaml[${PYTHON_USEDEP}] - dev-python/requests[${PYTHON_USEDEP}] - dev-python/jsonpatch[${PYTHON_USEDEP}]" -DEPEND="dev-python/setuptools[${PYTHON_USEDEP}] - test? ( ${RDEPEND} - sys-apps/iproute2 )" - -PATCHES=( "${FILESDIR}"/${P}-tests-exclude.patch ) - -#python_prepare_all() { -# distutils-r_python_prepare_all -#} - -python_test() { - # These tests are not broken but expect to locate an installed exe file - # other than where a gentoo system installs it; (/bin/ip sought in /sbin) - # See cloudinit/sources/DataSourceOpenNebula.py for possible patching - sed -e 's:test_hostname:_&:' \ - -e 's:test_network_interfaces:_&:' \ - -i tests/unittests/test_datasource/test_opennebula.py - emake test -} - -python_install() { - distutils-r1_python_install - for svc in config final init init-local; do - newinitd "${WORKDIR}/${P}/sysvinit/gentoo/cloud-${svc}" "cloud-${svc}" - done -} diff --git a/app-emulation/cloud-init/cloud-init-0.7.5-r2.ebuild b/app-emulation/cloud-init/cloud-init-0.7.5-r2.ebuild deleted file mode 100644 index d53ccc6c2d..0000000000 --- a/app-emulation/cloud-init/cloud-init-0.7.5-r2.ebuild +++ /dev/null @@ -1,84 +0,0 @@ -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=5 -PYTHON_COMPAT=( python2_7 ) -DISTUTILS_SINGLE_IMPL=TRUE - -inherit distutils-r1 eutils multilib systemd - -DESCRIPTION="Cloud instance initialization" -HOMEPAGE="https://launchpad.net/cloud-init" -SRC_URI="https://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.gz" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="test" - -CDEPEND=" - dev-python/cheetah[${PYTHON_USEDEP}] - dev-python/configobj[${PYTHON_USEDEP}] - dev-python/jsonpatch[${PYTHON_USEDEP}] - dev-python/oauth[${PYTHON_USEDEP}] - >=dev-python/prettytable-0.7.1[${PYTHON_USEDEP}] - dev-python/pyserial[${PYTHON_USEDEP}] - dev-python/pyyaml[${PYTHON_USEDEP}] - dev-python/requests[${PYTHON_USEDEP}] -" -DEPEND=" - test? ( - ${CDEPEND} - >=dev-python/httpretty-0.7.1[${PYTHON_USEDEP}] - dev-python/mocker[${PYTHON_USEDEP}] - dev-python/nose[${PYTHON_USEDEP}] - dev-python/pep8[${PYTHON_USEDEP}] - dev-python/pyflakes[${PYTHON_USEDEP}] - dev-python/pylint[${PYTHON_USEDEP}] - sys-apps/iproute2 - ) -" -RDEPEND=" - ${CDEPEND} - virtual/logger -" - -python_prepare_all() { - local PATCHES=( - "${FILESDIR}"/${P}-tests-exclude.patch - ) - - distutils-r1_python_prepare_all - - # Skip SmartOS tests since they don't generally apply and don't skip based - # on environment. Documented in bug #511384. - rm tests/unittests/test_datasource/test_smartos.py -} - -python_test() { - # These tests are not broken but expect to locate an installed exe file - # other than where a gentoo system installs it; (/bin/ip sought in /sbin) - # See cloudinit/sources/DataSourceOpenNebula.py for possible patching - sed \ - -e 's:test_hostname:_&:' \ - -e 's:test_network_interfaces:_&:' \ - -i tests/unittests/test_datasource/test_opennebula.py - - emake test -} - -python_install_all() { - distutils-r1_python_install_all - - doinitd "${S}"/sysvinit/gentoo/cloud-config - doinitd "${S}"/sysvinit/gentoo/cloud-final - doinitd "${S}"/sysvinit/gentoo/cloud-init - doinitd "${S}"/sysvinit/gentoo/cloud-init-local - - systemd_dounit "${S}"/systemd/cloud-config.service - systemd_dounit "${S}"/systemd/cloud-config.target - systemd_dounit "${S}"/systemd/cloud-final.service - systemd_dounit "${S}"/systemd/cloud-init-local.service - systemd_dounit "${S}"/systemd/cloud-init.service -} diff --git a/app-emulation/cloud-init/cloud-init-0.7.5-r3.ebuild b/app-emulation/cloud-init/cloud-init-0.7.5-r3.ebuild deleted file mode 100644 index c0861d4b45..0000000000 --- a/app-emulation/cloud-init/cloud-init-0.7.5-r3.ebuild +++ /dev/null @@ -1,88 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=5 -PYTHON_COMPAT=( python2_7 ) -DISTUTILS_SINGLE_IMPL=TRUE - -inherit distutils-r1 eutils multilib systemd - -DESCRIPTION="Cloud instance initialization" -HOMEPAGE="https://launchpad.net/cloud-init" -SRC_URI="https://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.gz" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="test" - -CDEPEND=" - dev-python/cheetah[${PYTHON_USEDEP}] - dev-python/configobj[${PYTHON_USEDEP}] - dev-python/jsonpatch[${PYTHON_USEDEP}] - dev-python/oauth[${PYTHON_USEDEP}] - >=dev-python/prettytable-0.7.1[${PYTHON_USEDEP}] - dev-python/pyserial[${PYTHON_USEDEP}] - dev-python/pyyaml[${PYTHON_USEDEP}] - dev-python/requests[${PYTHON_USEDEP}] -" -DEPEND=" - test? ( - ${CDEPEND} - >=dev-python/httpretty-0.7.1[${PYTHON_USEDEP}] - dev-python/mocker[${PYTHON_USEDEP}] - dev-python/nose[${PYTHON_USEDEP}] - dev-python/pep8[${PYTHON_USEDEP}] - dev-python/pyflakes[${PYTHON_USEDEP}] - dev-python/pylint[${PYTHON_USEDEP}] - sys-apps/iproute2 - ) -" -RDEPEND=" - ${CDEPEND} - virtual/logger -" - -python_prepare_all() { - local PATCHES=( - "${FILESDIR}"/${P}-tests-exclude.patch - ) - - distutils-r1_python_prepare_all - - # Skip SmartOS tests since they don't generally apply and don't skip based - # on environment. Documented in bug #511384. - rm tests/unittests/test_datasource/test_smartos.py -} - -python_test() { - # These tests are not broken but expect to locate an installed exe file - # other than where a gentoo system installs it; (/bin/ip sought in /sbin) - # See cloudinit/sources/DataSourceOpenNebula.py for possible patching - sed \ - -e 's:test_hostname:_&:' \ - -e 's:test_network_interfaces:_&:' \ - -i tests/unittests/test_datasource/test_opennebula.py - - emake test -} - -python_install_all() { - distutils-r1_python_install_all - - doinitd "${S}"/sysvinit/gentoo/cloud-config - doinitd "${S}"/sysvinit/gentoo/cloud-final - doinitd "${S}"/sysvinit/gentoo/cloud-init - doinitd "${S}"/sysvinit/gentoo/cloud-init-local - - systemd_dounit "${S}"/systemd/cloud-config.service - systemd_dounit "${S}"/systemd/cloud-config.target - systemd_dounit "${S}"/systemd/cloud-final.service - systemd_dounit "${S}"/systemd/cloud-init-local.service - systemd_dounit "${S}"/systemd/cloud-init.service - - rm /etc/cloud/cloud.cfg - insinto /etc/cloud - doins "${FILESDIR}/cloud.cfg" -} diff --git a/app-emulation/cloud-init/cloud-init-0.7.6-r1.ebuild b/app-emulation/cloud-init/cloud-init-0.7.6-r1.ebuild index ce3973583b..9c1c7ea960 100644 --- a/app-emulation/cloud-init/cloud-init-0.7.6-r1.ebuild +++ b/app-emulation/cloud-init/cloud-init-0.7.6-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ @@ -13,7 +13,7 @@ SRC_URI="https://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.gz" LICENSE="GPL-3" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64 x86" IUSE="test" CDEPEND=" @@ -41,7 +41,7 @@ DEPEND=" " RDEPEND=" ${CDEPEND} - sys-apps/gptfdisk + sys-fs/growpart virtual/logger " @@ -92,8 +92,6 @@ python_install_all() { doinitd "${S}"/sysvinit/gentoo/cloud-init-local insinto /etc/cloud/templates doins "${FILESDIR}/hosts.gentoo.tmpl" - exeinto /usr/bin - doexe "${FILESDIR}/growpart" insinto /etc/cloud doins "${FILESDIR}/cloud.cfg" diff --git a/app-emulation/cloud-init/cloud-init-0.7.6.ebuild b/app-emulation/cloud-init/cloud-init-0.7.6.ebuild deleted file mode 100644 index b35adae1d7..0000000000 --- a/app-emulation/cloud-init/cloud-init-0.7.6.ebuild +++ /dev/null @@ -1,98 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=5 -PYTHON_COMPAT=( python2_7 ) - -inherit distutils-r1 eutils multilib systemd - -DESCRIPTION="EC2 initialisation magic" -HOMEPAGE="https://launchpad.net/cloud-init" -SRC_URI="https://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.gz" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="amd64 x86" -IUSE="test" - -CDEPEND=" - dev-python/cheetah[${PYTHON_USEDEP}] - dev-python/configobj[${PYTHON_USEDEP}] - dev-python/jinja[${PYTHON_USEDEP}] - dev-python/jsonpatch[${PYTHON_USEDEP}] - dev-python/oauth[${PYTHON_USEDEP}] - dev-python/prettytable[${PYTHON_USEDEP}] - dev-python/pyserial[${PYTHON_USEDEP}] - dev-python/pyyaml[${PYTHON_USEDEP}] - dev-python/requests[${PYTHON_USEDEP}] -" -DEPEND=" - dev-python/setuptools[${PYTHON_USEDEP}] - test? ( - ${CDEPEND} - >=dev-python/httpretty-0.7.1[${PYTHON_USEDEP}] - dev-python/mocker[${PYTHON_USEDEP}] - dev-python/nose[${PYTHON_USEDEP}] - ~dev-python/pep8-1.5.7[${PYTHON_USEDEP}] - dev-python/pyflakes[${PYTHON_USEDEP}] - sys-apps/iproute2 - ) -" -RDEPEND=" - ${CDEPEND} - virtual/logger -" - -python_prepare_all() { - # Note: Gentoo places ip in /sbin/ not /bin/ - ebegin 'patching cloudinit/sources/DataSourceOpenNebula.py' - sed \ - -e '438s/sbin/bin/' \ - -i cloudinit/sources/DataSourceOpenNebula.py - STATUS=$? - eend ${STATUS} - [[ ${STATUS} -gt 0 ]] && die - - # https://bugs.launchpad.net/cloud-init/+bug/1380424 - ebegin 'patching tests/unittests/test_distros/test_netconfig.py' - sed \ - -e '177s/test_simple_write_freebsd/_&/' \ - -i tests/unittests/test_distros/test_netconfig.py - STATUS=$? - eend ${STATUS} - [[ ${STATUS} -gt 0 ]] && die - - # Note Gentoo installs its own RC files - ebegin 'patching setup.py' - sed \ - -e "144 s/'tests'/'tests.*', &/" \ - -e '163,167 d' \ - -i setup.py - STATUS=$? - eend ${STATUS} - [[ ${STATUS} -gt 0 ]] && die - - distutils-r1_python_prepare_all -} - -python_test() { - emake test -} - -python_install_all() { - keepdir /etc/cloud - - distutils-r1_python_install_all - - doinitd "${S}"/sysvinit/gentoo/cloud-config - doinitd "${S}"/sysvinit/gentoo/cloud-final - doinitd "${S}"/sysvinit/gentoo/cloud-init - doinitd "${S}"/sysvinit/gentoo/cloud-init-local - - systemd_dounit "${S}"/systemd/cloud-config.service - systemd_dounit "${S}"/systemd/cloud-config.target - systemd_dounit "${S}"/systemd/cloud-final.service - systemd_dounit "${S}"/systemd/cloud-init-local.service - systemd_dounit "${S}"/systemd/cloud-init.service -} diff --git a/app-emulation/cloud-init/files/cloud-init-0.7.5-tests-exclude.patch b/app-emulation/cloud-init/files/cloud-init-0.7.5-tests-exclude.patch deleted file mode 100644 index 225f1a1d76..0000000000 --- a/app-emulation/cloud-init/files/cloud-init-0.7.5-tests-exclude.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ur cloud-init-0.7.5.orig/setup.py cloud-init-0.7.5/setup.py ---- setup.py 2014-04-02 02:26:07.000000000 +0800 -+++ setup.py 2014-05-01 23:38:15.848225975 +0800 -@@ -114,7 +114,7 @@ - author='Scott Moser', - author_email='scott.moser@canonical.com', - url='http://launchpad.net/cloud-init/', -- packages=setuptools.find_packages(exclude=['tests']), -+ packages=setuptools.find_packages(exclude=['tests','tests.*']), - scripts=['bin/cloud-init', - 'tools/cloud-init-per', - ], diff --git a/app-emulation/cloud-init/files/growpart b/app-emulation/cloud-init/files/growpart deleted file mode 100644 index 4b67d8b908..0000000000 --- a/app-emulation/cloud-init/files/growpart +++ /dev/null @@ -1,778 +0,0 @@ -#!/bin/sh -# Copyright (C) 2011 Canonical Ltd. -# Copyright (C) 2013 Hewlett-Packard Development Company, L.P. -# -# Authors: Scott Moser <smoser@canonical.com> -# Juerg Haefliger <juerg.haefliger@hp.com> -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, version 3 of the License. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -# the fudge factor. if within this many bytes dont bother -FUDGE=${GROWPART_FUDGE:-$((1024*1024))} -TEMP_D="" -RESTORE_FUNC="" -RESTORE_HUMAN="" -VERBOSITY=0 -DISK="" -PART="" -PT_UPDATE=false -DRY_RUN=0 - -SFDISK_VERSION="" -SFDISK_2_26="22600" -MBR_BACKUP="" -GPT_BACKUP="" -_capture="" - -error() { - echo "$@" 1>&2 -} - -fail() { - [ $# -eq 0 ] || echo "FAILED:" "$@" - exit 2 -} - -nochange() { - echo "NOCHANGE:" "$@" - exit 1 -} - -changed() { - echo "CHANGED:" "$@" - exit 0 -} - -change() { - echo "CHANGE:" "$@" - exit 0 -} - -cleanup() { - if [ -n "${RESTORE_FUNC}" ]; then - error "***** WARNING: Resize failed, attempting to revert ******" - if ${RESTORE_FUNC} ; then - error "***** Appears to have gone OK ****" - else - error "***** FAILED! ******" - if [ -n "${RESTORE_HUMAN}" -a -f "${RESTORE_HUMAN}" ]; then - error "**** original table looked like: ****" - cat "${RESTORE_HUMAN}" 1>&2 - else - error "We seem to have not saved the partition table!" - fi - fi - fi - [ -z "${TEMP_D}" -o ! -d "${TEMP_D}" ] || rm -Rf "${TEMP_D}" -} - -debug() { - local level=${1} - shift - [ "${level}" -gt "${VERBOSITY}" ] && return - if [ "${DEBUG_LOG}" ]; then - echo "$@" >>"${DEBUG_LOG}" - else - error "$@" - fi -} - -debugcat() { - local level="$1" - shift; - [ "${level}" -gt "$VERBOSITY" ] && return - if [ "${DEBUG_LOG}" ]; then - cat "$@" >>"${DEBUG_LOG}" - else - cat "$@" 1>&2 - fi -} - -mktemp_d() { - # just a mktemp -d that doens't need mktemp if its not there. - _RET=$(mktemp -d "${TMPDIR:-/tmp}/${0##*/}.XXXXXX" 2>/dev/null) && - return - _RET=$(umask 077 && t="${TMPDIR:-/tmp}/${0##*/}.$$" && - mkdir "${t}" && echo "${t}") - return -} - -Usage() { - cat <<EOF -${0##*/} disk partition - rewrite partition table so that partition takes up all the space it can - options: - -h | --help print Usage and exit - --fudge F if part could be resized, but change would be - less than 'F' bytes, do not resize (default: ${FUDGE}) - -N | --dry-run only report what would be done, show new 'sfdisk -d' - -v | --verbose increase verbosity / debug - -u | --update R update the the kernel partition table info after growing - this requires kernel support and 'partx --update' - R is one of: - - 'auto' : [default] update partition if possible - - 'force' : try despite sanity checks (fail on failure) - - 'off' : do not attempt - - 'on' : fail if sanity checks indicate no support - - Example: - - ${0##*/} /dev/sda 1 - Resize partition 1 on /dev/sda -EOF -} - -bad_Usage() { - Usage 1>&2 - error "$@" - exit 2 -} - -sfdisk_restore_legacy() { - sfdisk --no-reread "${DISK}" -I "${MBR_BACKUP}" -} - -sfdisk_restore() { - # files are named: sfdisk-<device>-<offset>.bak - local f="" offset="" fails=0 - for f in "${MBR_BACKUP}"*.bak; do - [ -f "$f" ] || continue - offset=${f##*-} - offset=${offset%.bak} - [ "$offset" = "$f" ] && { - error "WARN: confused by file $f"; - continue; - } - dd "if=$f" "of=${DISK}" seek=$(($offset)) bs=1 conv=notrunc || - { error "WARN: failed restore from $f"; fails=$(($fails+1)); } - done - return $fails -} - -sfdisk_worked_but_blkrrpart_failed() { - local ret="$1" output="$2" - # exit code found was just 1, but dont insist on that - #[ $ret -eq 1 ] || return 1 - # Successfully wrote the new partition table - grep -qi "Success.* wrote.* new.* partition" "$output" && - grep -qi "BLKRRPART: Device or resource busy" "$output" - return -} - -get_sfdisk_version() { - # set SFDISK_VERSION to MAJOR*10000+MINOR*100+MICRO - local out oifs="$IFS" ver="" - [ -n "$SFDISK_VERSION" ] && return 0 - # expected output: sfdisk from util-linux 2.25.2 - out=$(sfdisk --version) || - { error "failed to get sfdisk version"; return 1; } - set -- $out - ver=$4 - case "$ver" in - [0-9]*.[0-9]*.[0-9]|[0-9].[0-9]*) - IFS="."; set -- $ver; IFS="$oifs" - SFDISK_VERSION=$(($1*10000+$2*100+${3:-0})) - return 0;; - *) error "unexpected output in sfdisk --version [$out]" - return 1;; - esac -} - -resize_sfdisk() { - local humanpt="${TEMP_D}/recovery" - local mbr_backup="${TEMP_D}/orig.save" - local restore_func="" - local format="$1" - - local change_out=${TEMP_D}/change.out - local dump_out=${TEMP_D}/dump.out - local new_out=${TEMP_D}/new.out - local dump_mod=${TEMP_D}/dump.mod - local tmp="${TEMP_D}/tmp.out" - local err="${TEMP_D}/err.out" - local mbr_max_512="4294967296" - - local pt_start pt_size pt_end max_end new_size change_info dpart - local sector_num sector_size disk_size tot out - - rqe sfd_list sfdisk --list --unit=S "$DISK" >"$tmp" || - fail "failed: sfdisk --list $DISK" - if [ "${SFDISK_VERSION}" -lt ${SFDISK_2_26} ]; then - # exected output contains: Units: sectors of 512 bytes, ... - out=$(awk '$1 == "Units:" && $5 ~ /bytes/ { print $4 }' "$tmp") || - fail "failed to read sfdisk output" - if [ -z "$out" ]; then - error "WARN: sector size not found in sfdisk output, assuming 512" - sector_size=512 - else - sector_size="$out" - fi - local _w _cyl _w1 _heads _w2 sectors _w3 t s - # show-size is in units of 1024 bytes (same as /proc/partitions) - t=$(sfdisk --show-size "${DISK}") || - fail "failed: sfdisk --show-size $DISK" - disk_size=$((t*1024)) - sector_num=$(($disk_size/$sector_size)) - msg="disk size '$disk_size' not evenly div by sector size '$sector_size'" - [ "$((${disk_size}%${sector_size}))" -eq 0 ] || - error "WARN: $msg" - restore_func=sfdisk_restore_legacy - else - # --list first line output: - # Disk /dev/vda: 20 GiB, 21474836480 bytes, 41943040 sectors - local _x - read _x _x _x _x disk_size _x sector_num _x < "$tmp" - sector_size=$((disk_size/$sector_num)) - restore_func=sfdisk_restore - fi - - debug 1 "$sector_num sectors of $sector_size. total size=${disk_size} bytes" - [ $(($disk_size/512)) -gt $mbr_max_512 ] && - debug 1 "WARN: disk is larger than 2TB. additional space will go unused." - - rqe sfd_dump sfdisk --unit=S --dump "${DISK}" >"${dump_out}" || - fail "failed to dump sfdisk info for ${DISK}" - RESTORE_HUMAN="$dump_out" - - { - echo "## sfdisk --unit=S --dump ${DISK}" - cat "${dump_out}" - } >"$humanpt" - - [ $? -eq 0 ] || fail "failed to save sfdisk -d output" - RESTORE_HUMAN="$humanpt" - - debugcat 1 "$humanpt" - - sed -e 's/,//g; s/start=/start /; s/size=/size /' "${dump_out}" \ - >"${dump_mod}" || - fail "sed failed on dump output" - - dpart="${DISK}${PART}" # disk and partition number - if [ -b "${DISK}p${PART}" -a "${DISK%[0-9]}" != "${DISK}" ]; then - # for block devices that end in a number (/dev/nbd0) - # the partition is "<name>p<partition_number>" (/dev/nbd0p1) - dpart="${DISK}p${PART}" - elif [ "${DISK#/dev/loop[0-9]}" != "${DISK}" ]; then - # for /dev/loop devices, sfdisk output will be <name>p<number> - # format also, even though there is not a device there. - dpart="${DISK}p${PART}" - fi - - pt_start=$(awk '$1 == pt { print $4 }' "pt=${dpart}" <"${dump_mod}") && - pt_size=$(awk '$1 == pt { print $6 }' "pt=${dpart}" <"${dump_mod}") && - [ -n "${pt_start}" -a -n "${pt_size}" ] && - pt_end=$((${pt_size}+${pt_start})) || - fail "failed to get start and end for ${dpart} in ${DISK}" - - # find the minimal starting location that is >= pt_end - max_end=$(awk '$3 == "start" { if($4 >= pt_end && $4 < min) - { min = $4 } } END { printf("%s\n",min); }' \ - min=${sector_num} pt_end=${pt_end} "${dump_mod}") && - [ -n "${max_end}" ] || - fail "failed to get max_end for partition ${PART}" - - mbr_max_sectors=$((mbr_max_512*$((sector_size/512)))) - if [ "$max_end" -gt "$mbr_max_sectors" ]; then - max_end=$mbr_max_sectors - fi - - if [ "$format" = "gpt" ]; then - # sfdisk respects 'last-lba' in input, and complains about - # partitions that go past that. without it, it does the right thing. - sed -i '/^last-lba:/d' "$dump_out" || - fail "failed to remove last-lba from output" - fi - - local gpt_second_size="33" - if [ "${max_end}" -gt "$((${sector_num}-${gpt_second_size}))" ]; then - # if mbr allow subsequent conversion to gpt without shrinking the - # partition. safety net at cost of 33 sectors, seems reasonable. - # if gpt, we can't write there anyway. - debug 1 "padding ${gpt_second_size} sectors for gpt secondary header" - max_end=$((${sector_num}-${gpt_second_size})) - fi - - debug 1 "max_end=${max_end} tot=${sector_num} pt_end=${pt_end}" \ - "pt_start=${pt_start} pt_size=${pt_size}" - [ $((${pt_end})) -eq ${max_end} ] && - nochange "partition ${PART} is size ${pt_size}. it cannot be grown" - [ $((${pt_end}+(${FUDGE}/$sector_size))) -gt ${max_end} ] && - nochange "partition ${PART} could only be grown by" \ - "$((${max_end}-${pt_end})) [fudge=$((${FUDGE}/$sector_size))]" - - # now, change the size for this partition in ${dump_out} to be the - # new size - new_size=$((${max_end}-${pt_start})) - sed "\|^\s*${dpart} |s/${pt_size},/${new_size},/" "${dump_out}" \ - >"${new_out}" || - fail "failed to change size in output" - - change_info="partition=${PART} start=${pt_start} old: size=${pt_size} end=${pt_end} new: size=${new_size},end=${max_end}" - if [ ${DRY_RUN} -ne 0 ]; then - echo "CHANGE: ${change_info}" - { - echo "# === old sfdisk -d ===" - cat "${dump_out}" - echo "# === new sfdisk -d ===" - cat "${new_out}" - } 1>&2 - exit 0 - fi - - MBR_BACKUP="${mbr_backup}" - LANG=C sfdisk --no-reread "${DISK}" --force \ - -O "${mbr_backup}" <"${new_out}" >"${change_out}" 2>&1 - ret=$? - [ $ret -eq 0 ] || RESTORE_FUNC="${restore_func}" - - if [ $ret -eq 0 ]; then - : - elif $PT_UPDATE && - sfdisk_worked_but_blkrrpart_failed "$ret" "${change_out}"; then - # if the command failed, but it looks like only because - # the device was busy and we have pt_update, then go on - debug 1 "sfdisk failed, but likely only because of blkrrpart" - else - error "attempt to resize ${DISK} failed. sfdisk output below:" - sed 's,^,| ,' "${change_out}" 1>&2 - fail "failed to resize" - fi - - rq pt_update pt_update "$DISK" "$PART" || - fail "pt_resize failed" - - RESTORE_FUNC="" - - changed "${change_info}" - - # dump_out looks something like: - ## partition table of /tmp/out.img - #unit: sectors - # - #/tmp/out.img1 : start= 1, size= 48194, Id=83 - #/tmp/out.img2 : start= 48195, size= 963900, Id=83 - #/tmp/out.img3 : start= 1012095, size= 305235, Id=82 - #/tmp/out.img4 : start= 1317330, size= 771120, Id= 5 - #/tmp/out.img5 : start= 1317331, size= 642599, Id=83 - #/tmp/out.img6 : start= 1959931, size= 48194, Id=83 - #/tmp/out.img7 : start= 2008126, size= 80324, Id=83 -} - -gpt_restore() { - sgdisk -l "${GPT_BACKUP}" "${DISK}" -} - -resize_sgdisk() { - GPT_BACKUP="${TEMP_D}/pt.backup" - - local pt_info="${TEMP_D}/pt.info" - local pt_pretend="${TEMP_D}/pt.pretend" - local pt_data="${TEMP_D}/pt.data" - local out="${TEMP_D}/out" - - local dev="disk=${DISK} partition=${PART}" - - local pt_start pt_end pt_size last pt_max code guid name new_size - local old new change_info sector_size - - # Dump the original partition information and details to disk. This is - # used in case something goes wrong and human interaction is required - # to revert any changes. - rqe sgd_info sgdisk "--info=${PART}" --print "${DISK}" >"${pt_info}" || - fail "${dev}: failed to dump original sgdisk info" - RESTORE_HUMAN="${pt_info}" - - sector_size=$(awk '$0 ~ /^Logical sector size:.*bytes/ { print $4 }' \ - "$pt_info") && [ -n "$sector_size" ] || { - sector_size=512 - error "WARN: did not find sector size, assuming 512" - } - - debug 1 "$dev: original sgdisk info:" - debugcat 1 "${pt_info}" - - # Pretend to move the backup GPT header to the end of the disk and dump - # the resulting partition information. We use this info to determine if - # we have to resize the partition. - rqe sgd_pretend sgdisk --pretend --move-second-header \ - --print "${DISK}" >"${pt_pretend}" || - fail "${dev}: failed to dump pretend sgdisk info" - - debug 1 "$dev: pretend sgdisk info" - debugcat 1 "${pt_pretend}" - - # Extract the partition data from the pretend dump - awk 'found { print } ; $1 == "Number" { found = 1 }' \ - "${pt_pretend}" >"${pt_data}" || - fail "${dev}: failed to parse pretend sgdisk info" - - # Get the start and end sectors of the partition to be grown - pt_start=$(awk '$1 == '"${PART}"' { print $2 }' "${pt_data}") && - [ -n "${pt_start}" ] || - fail "${dev}: failed to get start sector" - pt_end=$(awk '$1 == '"${PART}"' { print $3 }' "${pt_data}") && - [ -n "${pt_end}" ] || - fail "${dev}: failed to get end sector" - pt_size="$((${pt_end} - ${pt_start}))" - - # Get the last usable sector - last=$(awk '/last usable sector is/ { print $NF }' \ - "${pt_pretend}") && [ -n "${last}" ] || - fail "${dev}: failed to get last usable sector" - - # Find the minimal start sector that is >= pt_end - pt_max=$(awk '{ if ($2 >= pt_end && $2 < min) { min = $2 } } END \ - { print min }' min="${last}" pt_end="${pt_end}" \ - "${pt_data}") && [ -n "${pt_max}" ] || - fail "${dev}: failed to find max end sector" - - debug 1 "${dev}: pt_start=${pt_start} pt_end=${pt_end}" \ - "pt_size=${pt_size} pt_max=${pt_max} last=${last}" - - # Check if the partition can be grown - [ "${pt_end}" -eq "${pt_max}" ] && - nochange "${dev}: size=${pt_size}, it cannot be grown" - [ "$((${pt_end} + ${FUDGE}/${sector_size}))" -gt "${pt_max}" ] && - nochange "${dev}: could only be grown by" \ - "$((${pt_max} - ${pt_end})) [fudge=$((${FUDGE}/$sector_size))]" - - # The partition can be grown if we made it here. Get some more info - # about it so we can do it properly. - # FIXME: Do we care about the attribute flags? - code=$(awk '/^Partition GUID code:/ { print $4 }' "${pt_info}") - guid=$(awk '/^Partition unique GUID:/ { print $4 }' "${pt_info}") - name=$(awk '/^Partition name:/ { gsub(/'"'"'/, "") ; \ - if (NF >= 3) print substr($0, index($0, $3)) }' "${pt_info}") - [ -n "${code}" -a -n "${guid}" ] || - fail "${dev}: failed to parse sgdisk details" - - debug 1 "${dev}: code=${code} guid=${guid} name='${name}'" - local wouldrun="" - [ "$DRY_RUN" -ne 0 ] && wouldrun="would-run" - - # Calculate the new size of the partition - new_size=$((${pt_max} - ${pt_start})) - old="old: size=${pt_size},end=${pt_end}" - new="new: size=${new_size},end=${pt_max}" - change_info="${dev}: start=${pt_start} ${old} ${new}" - - # Backup the current partition table, we're about to modify it - rq sgd_backup $wouldrun sgdisk "--backup=${GPT_BACKUP}" "${DISK}" || - fail "${dev}: failed to backup the partition table" - - # Modify the partition table. We do it all in one go (the order is - # important!): - # - move the GPT backup header to the end of the disk - # - delete the partition - # - recreate the partition with the new size - # - set the partition code - # - set the partition GUID - # - set the partition name - rq sgdisk_mod $wouldrun sgdisk --move-second-header "--delete=${PART}" \ - "--new=${PART}:${pt_start}:${pt_max}" \ - "--typecode=${PART}:${code}" \ - "--partition-guid=${PART}:${guid}" \ - "--change-name=${PART}:${name}" "${DISK}" && - rq pt_update $wouldrun pt_update "$DISK" "$PART" || { - RESTORE_FUNC=gpt_restore - fail "${dev}: failed to repartition" - } - - # Dry run - [ "${DRY_RUN}" -ne 0 ] && change "${change_info}" - - changed "${change_info}" -} - -kver_to_num() { - local kver="$1" maj="" min="" mic="0" - kver=${kver%%-*} - maj=${kver%%.*} - min=${kver#${maj}.} - min=${min%%.*} - mic=${kver#${maj}.${min}.} - [ "$kver" = "$mic" ] && mic=0 - _RET=$(($maj*1000*1000+$min*1000+$mic)) -} - -kver_cmp() { - local op="$2" n1="" n2="" - kver_to_num "$1" - n1="$_RET" - kver_to_num "$3" - n2="$_RET" - [ $n1 $op $n2 ] -} - -rq() { - # runquieterror(label, command) - # gobble stderr of a command unless it errors - local label="$1" ret="" efile="" - efile="$TEMP_D/$label.err" - shift; - - local rlabel="running" - [ "$1" = "would-run" ] && rlabel="would-run" && shift - - local cmd="" x="" - for x in "$@"; do - [ "${x#* }" != "$x" -o "${x#* \"}" != "$x" ] && x="'$x'" - cmd="$cmd $x" - done - cmd=${cmd# } - - debug 2 "$rlabel[$label][$_capture]" "$cmd" - [ "$rlabel" = "would-run" ] && return 0 - - if [ "${_capture}" = "erronly" ]; then - "$@" 2>"$TEMP_D/$label.err" - ret=$? - else - "$@" >"$TEMP_D/$label.err" 2>&1 - ret=$? - fi - if [ $ret -ne 0 ]; then - error "failed [$label:$ret]" "$@" - cat "$efile" 1>&2 - fi - return $ret -} - -rqe() { - local _capture="erronly" - rq "$@" -} - -verify_ptupdate() { - local input="$1" found="" reason="" kver="" - - # we can always satisfy 'off' - if [ "$input" = "off" ]; then - _RET="false"; - return 0; - fi - - if command -v partx >/dev/null 2>&1; then - local out="" ret=0 - out=$(partx --help 2>&1) - ret=$? - if [ $ret -eq 0 ]; then - echo "$out" | grep -q -- --update || { - reason="partx has no '--update' flag in usage." - found="off" - } - else - reason="'partx --help' returned $ret. assuming it is old." - found="off" - fi - else - reason="no 'partx' command" - found="off" - fi - - if [ -z "$found" ]; then - if [ "$(uname)" != "Linux" ]; then - reason="Kernel is not Linux per uname." - found="off" - fi - fi - - if [ -z "$found" ]; then - kver=$(uname -r) || debug 1 "uname -r failed!" - - if ! kver_cmp "${kver-0.0.0}" -ge 3.8.0; then - reason="Kernel '$kver' < 3.8.0." - found="off" - fi - fi - - if [ -z "$found" ]; then - _RET="true" - return 0 - fi - - case "$input" in - on) error "$reason"; return 1;; - auto) - _RET="false"; - debug 1 "partition update disabled: $reason" - return 0;; - force) - _RET="true" - error "WARNING: ptupdate forced on even though: $reason" - return 0;; - esac - error "unknown input '$input'"; - return 1; -} - -pt_update() { - local dev="$1" part="$2" update="${3:-$PT_UPDATE}" - if ! $update; then - return 0 - fi - # partx only works on block devices (do not run on file) - [ -b "$dev" ] || return 0 - partx --update "$part" "$dev" -} - -has_cmd() { - command -v "${1}" >/dev/null 2>&1 -} - -resize_sgdisk_gpt() { - resize_sgdisk gpt -} - -resize_sgdisk_dos() { - fail "unable to resize dos label with sgdisk" -} - -resize_sfdisk_gpt() { - resize_sfdisk gpt -} - -resize_sfdisk_dos() { - resize_sfdisk dos -} - -get_table_format() { - local out="" disk="$1" - if has_cmd blkid && out=$(blkid -o value -s PTTYPE "$disk") && - [ "$out" = "dos" -o "$out" = "gpt" ]; then - _RET="$out" - return - fi - _RET="dos" - if [ ${SFDISK_VERSION} -lt ${SFDISK_2_26} ] && - out=$(sfdisk --id --force "$disk" 1 2>/dev/null); then - if [ "$out" = "ee" ]; then - _RET="gpt" - else - _RET="dos" - fi - return - elif out=$(LANG=C sfdisk --list "$disk"); then - out=$(echo "$out" | sed -e '/Disklabel type/!d' -e 's/.*: //') - case "$out" in - gpt|dos) _RET="$out";; - *) error "WARN: unknown label $out";; - esac - fi -} - -get_resizer() { - local format="$1" user=${2:-"auto"} - - case "$user" in - sgdisk) _RET="resize_sgdisk_$format"; return;; - sfdisk) _RET="resize_sfdisk_$format"; return;; - auto) :;; - *) error "unexpected input: '$user'";; - esac - - if [ "$format" = "dos" ]; then - _RET="resize_sfdisk_dos" - return 0 - fi - - if [ "${SFDISK_VERSION}" -ge ${SFDISK_2_26} ]; then - _RET="resize_sfdisk_gpt" - elif has_cmd sgdisk; then - _RET="resize_sgdisk_$format" - else - error "no tools available to resize disk with '$format'" - return 1 - fi - return 0 -} - -pt_update="auto" -resizer=${GROWPART_RESIZER:-"auto"} -while [ $# -ne 0 ]; do - cur=${1} - next=${2} - case "$cur" in - -h|--help) - Usage - exit 0 - ;; - --fudge) - FUDGE=${next} - shift - ;; - -N|--dry-run) - DRY_RUN=1 - ;; - -u|--update|--update=*) - if [ "${cur#--update=}" != "$cur" ]; then - next="${cur#--update=}" - else - shift - fi - case "$next" in - off|auto|force|on) pt_update=$next;; - *) fail "unknown --update option: $next";; - esac - ;; - -v|--verbose) - VERBOSITY=$(($VERBOSITY+1)) - ;; - --) - shift - break - ;; - -*) - fail "unknown option ${cur}" - ;; - *) - if [ -z "${DISK}" ]; then - DISK=${cur} - else - [ -z "${PART}" ] || fail "confused by arg ${cur}" - PART=${cur} - fi - ;; - esac - shift -done - -[ -n "${DISK}" ] || bad_Usage "must supply disk and partition-number" -[ -n "${PART}" ] || bad_Usage "must supply partition-number" - -has_cmd "sfdisk" || fail "sfdisk not found" -get_sfdisk_version || fail - -[ -e "${DISK}" ] || fail "${DISK}: does not exist" - -[ "${PART#*[!0-9]}" = "${PART}" ] || fail "partition-number must be a number" - -verify_ptupdate "$pt_update" || fail -PT_UPDATE=$_RET - -debug 1 "update-partition set to $PT_UPDATE" - -mktemp_d && TEMP_D="${_RET}" || fail "failed to make temp dir" -trap cleanup 0 # EXIT - some shells may not like 'EXIT' but are ok with 0 - -# get the ID of the first partition to determine if it's MBR or GPT -get_table_format "$DISK" || fail -format=$_RET -get_resizer "$format" "$resizer" || - fail "failed to get a resizer for id '$id'" -resizer=$_RET - -debug 1 "resizing $PART on $DISK using $resizer" -"$resizer" - -# vi: ts=4 noexpandtab diff --git a/app-emulation/cloud-init/metadata.xml b/app-emulation/cloud-init/metadata.xml index 1c24877120..213cd2f0e4 100644 --- a/app-emulation/cloud-init/metadata.xml +++ b/app-emulation/cloud-init/metadata.xml @@ -1,15 +1,18 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <herd>python</herd> - <maintainer> + <maintainer type="person"> <email>prometheanfire@gentoo.org</email> <name>Matthew Thode</name> </maintainer> - <maintainer> + <maintainer type="person"> <email>alunduil@gentoo.org</email> <name>Alex Brandt</name> </maintainer> + <maintainer type="project"> + <email>python@gentoo.org</email> + <name>Python</name> + </maintainer> <longdescription lang="en"> Package provides configuration and customization of cloud instance. </longdescription> diff --git a/app-emulation/coldfire/metadata.xml b/app-emulation/coldfire/metadata.xml index 9211408084..71b1461e11 100644 --- a/app-emulation/coldfire/metadata.xml +++ b/app-emulation/coldfire/metadata.xml @@ -1,5 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> -<herd>dev-embedded</herd> +<maintainer type="project"> + <email>embedded@gentoo.org</email> + <name>Embedded Gentoo</name> +</maintainer> </pkgmetadata> diff --git a/app-emulation/crossover-bin/Manifest b/app-emulation/crossover-bin/Manifest index 7e9b29dbdd..6cf6a29632 100644 --- a/app-emulation/crossover-bin/Manifest +++ b/app-emulation/crossover-bin/Manifest @@ -8,3 +8,5 @@ DIST install-crossover-13.1.3.bin 58768110 SHA256 3d16dbecec584a1d6155ddda6f62a5 DIST install-crossover-13.2.0.bin 64625581 SHA256 ef29ca8ca275e4fb6b33337aadc2d3ee92b4dc7d582fab7d5cff5c775d23c75d SHA512 1f582eeca8db02c15d98d519b2d24f65b8dcddd90ff270915a4e6dbd24e135b074c5a20dd824c3d8c8f35cef79610c02423b5558db205a6e80630f69191e051b WHIRLPOOL f8ce0628d961a567291981a238f03da6f5f7554d4d971a8b27fc34b67969a7061032b84325df1a8e38313415dcda3dab98acd6833b396e4f46a65427c9dc8c3e DIST install-crossover-14.0.3.bin 68080015 SHA256 23f67221e4047b50f3250b29fae51086cce93529956d3885d149d5abddcc83a2 SHA512 86855e112f5b5d7621e0d4c644abe570de0270e678dc9666482025c948733de02c66fcf67999079a8ba99537695b36d4fb61aee90a59c319edad5fb477a0f902 WHIRLPOOL a0f26d06d2bb81063bcf78a474b9bf4732e9314fd886f430c1141bfce26ae09c297ff79087e5834474d87aa772a1f08a44791d24a3a83ff2baf24969885fe9b8 DIST install-crossover-14.1.4.bin 68463678 SHA256 9e51823fca911916755b1edca8673c69df4c6f3607b170d9b01e9d9143b4d4c7 SHA512 2078d9e8fc10c526085aef0bfa0cedbcc1a96ec59ade934ea10e7f10062f1a58f5647e9aed59653d4a1253699a08e9ef6f01548010e960af24d0d3546549fb91 WHIRLPOOL a9714f15de43acb2ab6fed91bb35ffdec832dc8fef0b9f75ed394ca18af8552b797b795fdc5bc108c7cf27ca432f932b1f4fe6b4d04d4d52dfaa06bfef083aca +DIST install-crossover-15.0.0.bin 80995834 SHA256 ac538e5568674e23f515b6725bb4cb8b17c516bc910c875d3ac7e45d69f7aff4 SHA512 597262b760c7cfc3c42cdb0b846802c6c47d4fcd5af06b53d0c63c80e4890e14af8ff0eaaac74a08f4f5d55e166a480d199b185efe685f7c42abca3d62fc2a0d WHIRLPOOL 18f5eb531ad32d27e4e2bea1f205593906ab0bcbc022f0963fd237101b26cb796f7f771ab5b7d57b126aea93627390fc55075611551109ad1ad98769a2711951 +DIST install-crossover-15.0.1.bin 81027541 SHA256 ccb222775032711e6d7f3ca5994ebc51cb168cdb9e2599d186b3fb1336ac20fb SHA512 a35188ccebeee8d456e73fdcbb8e8d4f0aff41bb89d92767d2e2e78e7cb25c8e48a150393c1c9abeb9760fbc873314e301c0a364ba27acfe08e0980bb5eedb03 WHIRLPOOL 32396d7be78b6ca975d0eadb753f00c060f731eefee00bd4fbefcf4f96488104f9396632648a14af52976b75bd924325b68c3e7d79da6676bba5207aac5fd045 diff --git a/app-emulation/crossover-bin/crossover-bin-15.0.0.ebuild b/app-emulation/crossover-bin/crossover-bin-15.0.0.ebuild new file mode 100644 index 0000000000..9f37115c10 --- /dev/null +++ b/app-emulation/crossover-bin/crossover-bin-15.0.0.ebuild @@ -0,0 +1,141 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=( python2_7 ) +PYTHON_REQ_USE="threads" + +inherit python-single-r1 unpacker + +DESCRIPTION="Commercial version of app-emulation/wine with paid support." +HOMEPAGE="http://www.codeweavers.com/products/crossover/" +SRC_URI="https://media.codeweavers.com/pub/crossover/cxlinux/demo/install-crossover-${PV}.bin" + +LICENSE="CROSSOVER-3" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +IUSE="+capi +cups doc +gphoto2 +gsm +jpeg +lcms +ldap +mp3 +nls +openal +opengl +png +scanner +ssl +v4l" +RESTRICT="bindist test" +QA_FLAGS_IGNORED="opt/cxoffice/.*" +QA_PRESTRIPPED="opt/cxoffice/lib/.* + opt/cxoffice/bin/cxburner + opt/cxoffice/bin/cxntlm_auth + opt/cxoffice/bin/wineserver + opt/cxoffice/bin/unrar + opt/cxoffice/bin/wine-preloader + opt/cxoffice/bin/cxdiag + opt/cxoffice/bin/cxgettext + opt/cxoffice/bin/wineloader + " +S="${WORKDIR}" + +DEPEND="dev-lang/perl + app-arch/unzip + ${PYTHON_DEPS}" + +RDEPEND="${DEPEND} + !prefix? ( sys-libs/glibc ) + >=dev-python/pygtk-2.10[${PYTHON_USEDEP}] + dev-python/dbus-python[${PYTHON_USEDEP}] + dev-util/desktop-file-utils + !app-emulation/crossover-office-pro-bin + !app-emulation/crossover-office-bin + capi? ( net-dialup/capi4k-utils ) + cups? ( net-print/cups[abi_x86_32(-)] ) + gsm? ( media-sound/gsm[abi_x86_32(-)] ) + jpeg? ( virtual/jpeg[abi_x86_32(-)] ) + lcms? ( media-libs/lcms:2 ) + ldap? ( net-nds/openldap[abi_x86_32(-)] ) + gphoto2? ( media-libs/libgphoto2[abi_x86_32(-)] ) + mp3? ( >=media-sound/mpg123-1.5.0[abi_x86_32(-)] ) + nls? ( sys-devel/gettext[abi_x86_32(-)] ) + openal? ( media-libs/openal[abi_x86_32(-)] ) + opengl? ( + virtual/glu[abi_x86_32(-)] + virtual/opengl[abi_x86_32(-)] + ) + png? ( media-libs/libpng:0[abi_x86_32(-)] ) + scanner? ( media-gfx/sane-backends[abi_x86_32(-)] ) + ssl? ( dev-libs/openssl:0[abi_x86_32(-)] ) + v4l? ( media-libs/libv4l[abi_x86_32(-)] ) + media-libs/alsa-lib[abi_x86_32(-)] + >=media-libs/freetype-2.0.0[abi_x86_32(-)] + media-libs/mesa[abi_x86_32(-)] + sys-apps/util-linux[abi_x86_32(-)] + sys-libs/zlib[abi_x86_32(-)] + x11-libs/libICE[abi_x86_32(-)] + x11-libs/libSM[abi_x86_32(-)] + x11-libs/libX11[abi_x86_32(-)] + x11-libs/libXau[abi_x86_32(-)] + x11-libs/libXdmcp[abi_x86_32(-)] + x11-libs/libXext[abi_x86_32(-)] + x11-libs/libXi[abi_x86_32(-)] + x11-libs/libXrandr[abi_x86_32(-)] + x11-libs/libXxf86vm[abi_x86_32(-)] + x11-libs/libxcb[abi_x86_32(-)]" + +pkg_nofetch() { + einfo "Please visit ${HOMEPAGE}" + einfo "and place ${A} in ${DISTDIR}" +} + +src_unpack() { + # self unpacking zip archive; unzip warns about the exe stuff + unpack_zip ${A} +} + +src_prepare() { + python_fix_shebang . + + sed -i \ + -e "s:\"\$xdgdir/icons/hicolor/\$size/apps\":\"${ED}/\$xdgdir/icons/hicolor/\$size/apps\":" \ + "${S}/lib/perl/CXMenu.pm" + sed -i \ + -e "s:\"\(.*\)/applications:\"${ED}/\1/applications:" \ + -e "s:\"\(.*\)/desktop-directories:\"${ED}/\1/desktop-directories:" \ + "${S}/lib/perl/CXMenuXDG.pm" + + # Remove unnecessary files + rm -r license.txt guis/ || die "Could not remove files" + use doc || rm -r doc/ || die "Could not remove files" +} + +src_install() { + # Install crossover symlink, bug #476314 + dosym /opt/cxoffice/bin/crossover /opt/bin/crossover + + # Install documentation + dodoc README changelog.txt + rm README changelog.txt || die "Could not remove README and changelog.txt" + + # Install files + dodir /opt/cxoffice + cp -r ./* "${ED}opt/cxoffice" \ + || die "Could not install into ${ED}opt/cxoffice" + + # Install configuration file + insinto /opt/cxoffice/etc + doins share/crossover/data/cxoffice.conf + + # Install menus + # XXX: locate_gui.sh automatically detects *-application-merged directories + # This means what we install will vary depending on the contents of + # /etc/xdg, which is a QA violation. It is not clear how to resolve this. + XDG_DATA_DIRS="/usr/share" XDG_CONFIG_HOME="/etc/xdg" \ + "${ED}opt/cxoffice/bin/cxmenu" --destdir="${ED}" --crossover --install \ + || die "Could not install menus" + + rm "${ED}usr/share/applications/"*"Uninstall CrossOver Linux.desktop" + sed -i -e "s:${ED}:/:" "${ED}usr/share/applications/"*.desktop + sed -i -e "s:${ED}/::" \ + "${ED}/opt/cxoffice/lib/perl/CXMenu.pm" \ + "${ED}/opt/cxoffice/lib/perl/CXMenuXDG.pm" +} + +pkg_postinst() { + einfo "${P} is open source software with the exception of the GUI." + einfo "Source code can be obtained from:" + einfo + einfo "https://media.codeweavers.com/pub/crossover/source/crossover-sources-${PV}.tar.gz" +} diff --git a/app-emulation/crossover-bin/crossover-bin-15.0.1.ebuild b/app-emulation/crossover-bin/crossover-bin-15.0.1.ebuild new file mode 100644 index 0000000000..38f3e28206 --- /dev/null +++ b/app-emulation/crossover-bin/crossover-bin-15.0.1.ebuild @@ -0,0 +1,144 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=( python2_7 ) +PYTHON_REQ_USE="threads" + +inherit python-single-r1 unpacker + +DESCRIPTION="Commercial version of app-emulation/wine with paid support." +HOMEPAGE="http://www.codeweavers.com/products/crossover/" +SRC_URI="https://media.codeweavers.com/pub/crossover/cxlinux/demo/install-crossover-${PV}.bin" + +LICENSE="CROSSOVER-3" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +IUSE="+capi +cups doc +gphoto2 +gsm +jpeg +lcms +ldap +mp3 +nls +openal +opengl +png +scanner +ssl +v4l" +RESTRICT="bindist test" +QA_FLAGS_IGNORED="opt/cxoffice/.*" +QA_PRESTRIPPED="opt/cxoffice/lib/.* + opt/cxoffice/bin/cxburner + opt/cxoffice/bin/cxntlm_auth + opt/cxoffice/bin/wineserver + opt/cxoffice/bin/unrar + opt/cxoffice/bin/wine-preloader + opt/cxoffice/bin/cxdiag + opt/cxoffice/bin/cxgettext + opt/cxoffice/bin/wineloader + " +S="${WORKDIR}" + +DEPEND="dev-lang/perl + app-arch/unzip + ${PYTHON_DEPS}" + +RDEPEND="${DEPEND} + !prefix? ( sys-libs/glibc ) + >=dev-python/pygtk-2.10[${PYTHON_USEDEP}] + dev-python/dbus-python[${PYTHON_USEDEP}] + dev-util/desktop-file-utils + !app-emulation/crossover-office-pro-bin + !app-emulation/crossover-office-bin + capi? ( net-dialup/capi4k-utils ) + cups? ( net-print/cups[abi_x86_32(-)] ) + gsm? ( media-sound/gsm[abi_x86_32(-)] ) + jpeg? ( virtual/jpeg[abi_x86_32(-)] ) + lcms? ( media-libs/lcms:2 ) + ldap? ( net-nds/openldap[abi_x86_32(-)] ) + gphoto2? ( media-libs/libgphoto2[abi_x86_32(-)] ) + mp3? ( >=media-sound/mpg123-1.5.0[abi_x86_32(-)] ) + nls? ( sys-devel/gettext[abi_x86_32(-)] ) + openal? ( media-libs/openal[abi_x86_32(-)] ) + opengl? ( + virtual/glu[abi_x86_32(-)] + virtual/opengl[abi_x86_32(-)] + ) + png? ( media-libs/libpng:0[abi_x86_32(-)] ) + scanner? ( media-gfx/sane-backends[abi_x86_32(-)] ) + ssl? ( dev-libs/openssl:0[abi_x86_32(-)] ) + v4l? ( media-libs/libv4l[abi_x86_32(-)] ) + media-libs/alsa-lib[abi_x86_32(-)] + >=media-libs/freetype-2.0.0[abi_x86_32(-)] + media-libs/mesa[abi_x86_32(-)] + sys-apps/util-linux[abi_x86_32(-)] + sys-libs/zlib[abi_x86_32(-)] + x11-libs/libICE[abi_x86_32(-)] + x11-libs/libSM[abi_x86_32(-)] + x11-libs/libX11[abi_x86_32(-)] + x11-libs/libXau[abi_x86_32(-)] + x11-libs/libXdmcp[abi_x86_32(-)] + x11-libs/libXext[abi_x86_32(-)] + x11-libs/libXi[abi_x86_32(-)] + x11-libs/libXrandr[abi_x86_32(-)] + x11-libs/libXxf86vm[abi_x86_32(-)] + x11-libs/libxcb[abi_x86_32(-)]" + +pkg_nofetch() { + einfo "Please visit ${HOMEPAGE}" + einfo "and place ${A} in ${DISTDIR}" +} + +src_unpack() { + # self unpacking zip archive; unzip warns about the exe stuff + unpack_zip ${A} +} + +src_prepare() { + python_fix_shebang . + + sed -i \ + -e "s:xdg_install_icons(:&\"${ED}\".:" \ + -e "s:\"\(.*\)/applications:\"${ED}\1/applications:" \ + -e "s:\"\(.*\)/desktop-directories:\"${ED}\1/desktop-directories:" \ + "${S}/lib/perl/CXMenuXDG.pm" + + # Remove unnecessary files + rm -r license.txt guis/ || die "Could not remove files" + use doc || rm -r doc/ || die "Could not remove files" +} + +src_install() { + # Install crossover symlink, bug #476314 + dosym /opt/cxoffice/bin/crossover /opt/bin/crossover + + # Install documentation + dodoc README changelog.txt + rm README changelog.txt || die "Could not remove README and changelog.txt" + + # Install files + dodir /opt/cxoffice + #cp -r ./* "${ED}opt/cxoffice" \ + find . | cpio -dumpl "${ED}/opt/cxoffice" 2>/dev/null \ + || die "Could not install into ${ED}opt/cxoffice" + + # Install configuration file + insinto /opt/cxoffice/etc + doins share/crossover/data/cxoffice.conf + + # Install menus + # XXX: locate_gui.sh automatically detects *-application-merged directories + # This means what we install will vary depending on the contents of + # /etc/xdg, which is a QA violation. It is not clear how to resolve this. + XDG_DATA_DIRS="/usr/share" XDG_CONFIG_HOME="/etc/xdg" \ + "${ED}opt/cxoffice/bin/cxmenu" --destdir="${ED}" --crossover --install \ + || die "Could not install menus" + + rm "${ED}usr/share/applications/"*"Uninstall CrossOver Linux.desktop" \ + "${ED}opt/cxoffice/support/desktopdata/cxoffice-0/cxmenu/Launchers/StartMenu/Uninstall CrossOver Linux.desktop" + sed -i \ + -e "s:\"${ED}\".::" \ + -e "s:${ED}::" \ + "${ED}/opt/cxoffice/lib/perl/CXMenuXDG.pm" + sed -i -e "s:${ED}:/:" \ + "${ED}/opt/cxoffice/support/desktopdata/cxoffice-0/cxmenu/Launchers/StartMenu/"*.desktop \ + "${ED}usr/share/applications/"*"CrossOver.desktop" +} + +pkg_postinst() { + einfo "${P} is open source software with the exception of the GUI." + einfo "Source code can be obtained from:" + einfo + einfo "https://media.codeweavers.com/pub/crossover/source/crossover-sources-${PV}.tar.gz" +} diff --git a/app-emulation/crossover-bin/metadata.xml b/app-emulation/crossover-bin/metadata.xml index 76a1d1fff7..b1e0869e3e 100644 --- a/app-emulation/crossover-bin/metadata.xml +++ b/app-emulation/crossover-bin/metadata.xml @@ -1,11 +1,11 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer> + <maintainer type="person"> <email>ryao@gentoo.org</email> <name>Richard Yao</name> </maintainer> <use> - <flag name='capi'>Enable ISDN support via CAPI</flag> + <flag name="capi">Enable ISDN support via CAPI</flag> </use> </pkgmetadata> diff --git a/app-emulation/crossover-office-bin/metadata.xml b/app-emulation/crossover-office-bin/metadata.xml index 27f54c9973..871916a5cc 100644 --- a/app-emulation/crossover-office-bin/metadata.xml +++ b/app-emulation/crossover-office-bin/metadata.xml @@ -1,5 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> -<herd>wine</herd> +<maintainer type="project"> + <email>wine@gentoo.org</email> + <name>Wine</name> +</maintainer> </pkgmetadata> diff --git a/app-emulation/crossover-office-pro-bin/metadata.xml b/app-emulation/crossover-office-pro-bin/metadata.xml index 27f54c9973..871916a5cc 100644 --- a/app-emulation/crossover-office-pro-bin/metadata.xml +++ b/app-emulation/crossover-office-pro-bin/metadata.xml @@ -1,5 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> -<herd>wine</herd> +<maintainer type="project"> + <email>wine@gentoo.org</email> + <name>Wine</name> +</maintainer> </pkgmetadata> diff --git a/app-emulation/dinero/metadata.xml b/app-emulation/dinero/metadata.xml index d9cd2cad66..097975e3ad 100644 --- a/app-emulation/dinero/metadata.xml +++ b/app-emulation/dinero/metadata.xml @@ -1,7 +1,4 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> -<maintainer> -<email>maintainer-needed@gentoo.org</email> -</maintainer> </pkgmetadata> diff --git a/app-emulation/dlx/metadata.xml b/app-emulation/dlx/metadata.xml index 59e2b8f78c..097975e3ad 100644 --- a/app-emulation/dlx/metadata.xml +++ b/app-emulation/dlx/metadata.xml @@ -1,8 +1,4 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer> - <email>maintainer-needed@gentoo.org</email> - <name>Default assignee for orphaned packages</name> - </maintainer> </pkgmetadata> diff --git a/app-emulation/docker-compose/Manifest b/app-emulation/docker-compose/Manifest index a2bae4afaf..488a7f4797 100644 --- a/app-emulation/docker-compose/Manifest +++ b/app-emulation/docker-compose/Manifest @@ -1,2 +1,3 @@ -DIST docker-compose-1.2.0.tar.gz 57150 SHA256 46ef3c5cb7dd79fa7fd1d5fc5ec5be6a5c634192bc09c604c0ea75adb89cb652 SHA512 d13f6d6d22979dbc4554c003e611097627e2273f06dd13a1c666c1ba138288597ebef08f1beaf6d342721391cb49ad5ce9ae2ff03367a041fc0c53fbb62c9ac4 WHIRLPOOL c7bb3e14a4c2788eb49241ce02dcaed5e49fe60652ca1a51d13e1712f946046415f5397d5bf892b5e0451059a4aee1b156ee7bdfdf64a22d000caae7b17254c0 DIST docker-compose-1.4.0.tar.gz 79532 SHA256 2748cc8dd0829b44f0f686e36683cab58e1a4bc869442a04508504d2f62d0337 SHA512 470442aa78ddb24e8b9287953031e17a96a89780edd3a85955c923ffe00f4bfe655412dc15422437121593d7e2899f0847813d3716fc9ed576f93e6455cb868b WHIRLPOOL 9dc6731dad3df6422ec1e1b66049c8e9f04068b2fc2c8180da44220c1fbedc4919dfe17475cd539c3f33a079f3d04f875baaf769a7bc0875de48cf622670dc4b +DIST docker-compose-1.5.1.tar.gz 104331 SHA256 df5e885fd758a2b5983574d6718b5a07f92c7166c5706dc6ff88687d27bfaf55 SHA512 be6678c27b73516e14bf80255e52bde72517bd65a91f1be2393a15f0f0b87ff9ddd785e22016a9a5e1a68d5e6b9be395a96d60b7bc862f24647adf81752b9baa WHIRLPOOL 0b1312cb0d99a7cf02d8a88a7b00f3105f497c1cfa0ac3b32b369cd3984f2b1eaa8ea2c9e2e5a70ada3a371fb8a774245b75eaf5a7665170398df5f703793311 +DIST docker-compose-1.5.2.tar.gz 106583 SHA256 79aa7e2e6ef9ab1936f8777476ffd4bb329875ec3d3664d239896d2f2a3c4f4f SHA512 be671503bbb91fdb5fdf9ff593f28d290d1c65738d055629d8252cf4c4eea7f5931a1e1d6d7a0b27640166671ecb095b413cb694b768437be3ec207e059f4ccc WHIRLPOOL bb12df93739329b9577db41a317a22976dc97ca1d1d3dd72e2ff4b8c245caf106f1aab466d42ffa7b9e6a7bf6f628f8977d2700460591051dade074535f0175e diff --git a/app-emulation/docker-compose/docker-compose-1.2.0-r1.ebuild b/app-emulation/docker-compose/docker-compose-1.5.1.ebuild index 45293cc09b..e20684f266 100644 --- a/app-emulation/docker-compose/docker-compose-1.2.0-r1.ebuild +++ b/app-emulation/docker-compose/docker-compose-1.5.1.ebuild @@ -18,45 +18,45 @@ IUSE="test" CDEPEND=" dev-python/setuptools[${PYTHON_USEDEP}] - >=dev-python/dockerpty-0.3.2[${PYTHON_USEDEP}] + >=dev-python/dockerpty-0.3.4[${PYTHON_USEDEP}] <dev-python/dockerpty-0.4[${PYTHON_USEDEP}] - >=dev-python/docker-py-1.0.0[${PYTHON_USEDEP}] - <dev-python/docker-py-1.2[${PYTHON_USEDEP}] + >=dev-python/docker-py-1.5.0[${PYTHON_USEDEP}] + <dev-python/docker-py-2[${PYTHON_USEDEP}] >=dev-python/docopt-0.6.1[${PYTHON_USEDEP}] <dev-python/docopt-0.7[${PYTHON_USEDEP}] + >=dev-python/jsonschema-2.5.1[${PYTHON_USEDEP}] + <dev-python/jsonschema-3[${PYTHON_USEDEP}] >=dev-python/pyyaml-3.10[${PYTHON_USEDEP}] <dev-python/pyyaml-4[${PYTHON_USEDEP}] - >=dev-python/requests-2.2.1[${PYTHON_USEDEP}] + >=dev-python/requests-2.6.1[${PYTHON_USEDEP}] + <dev-python/requests-2.8[${PYTHON_USEDEP}] >=dev-python/six-1.3.0[${PYTHON_USEDEP}] <dev-python/six-2[${PYTHON_USEDEP}] >=dev-python/texttable-0.8.1[${PYTHON_USEDEP}] <dev-python/texttable-0.9[${PYTHON_USEDEP}] - >=dev-python/websocket-client-0.11.0[${PYTHON_USEDEP}] + >=dev-python/websocket-client-0.32.0[${PYTHON_USEDEP}] <dev-python/websocket-client-1.0[${PYTHON_USEDEP}] + $(python_gen_cond_dep '>=dev-python/enum34-1.0.4[${PYTHON_USEDEP}]' 'python2_7' ) + $(python_gen_cond_dep '<dev-python/enum34-2[${PYTHON_USEDEP}]' 'python2_7' ) " DEPEND=" test? ( ${CDEPEND} - >=dev-python/mock-1.0.1[${PYTHON_USEDEP}] - dev-python/nose[${PYTHON_USEDEP}] + dev-python/pytest[${PYTHON_USEDEP}] + $(python_gen_cond_dep '>=dev-python/mock-1.0.1[${PYTHON_USEDEP}]' 'python2_7' ) ) " RDEPEND="${CDEPEND}" -python_prepare_all() { - local PATCHES=( - "${FILESDIR}"/requests-requirements.patch - ) - - distutils-r1_python_prepare_all -} - python_test() { - nosetests tests/unit || die "tests failed under ${EPYTHON}" + ${PYTHON} -m pytest tests/unit || die "tests failed under ${EPYTHON}" } python_install_all() { newbashcomp contrib/completion/bash/docker-compose ${PN} + insinto /usr/share/zsh/site-functions + doins contrib/completion/zsh/* + distutils-r1_python_install_all } diff --git a/app-emulation/docker-compose/docker-compose-1.5.2.ebuild b/app-emulation/docker-compose/docker-compose-1.5.2.ebuild new file mode 100644 index 0000000000..e20684f266 --- /dev/null +++ b/app-emulation/docker-compose/docker-compose-1.5.2.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=( python2_7 ) + +inherit bash-completion-r1 distutils-r1 + +DESCRIPTION="Multi-container orchestration for Docker" +HOMEPAGE="https://www.docker.com/" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" +IUSE="test" + +CDEPEND=" + dev-python/setuptools[${PYTHON_USEDEP}] + >=dev-python/dockerpty-0.3.4[${PYTHON_USEDEP}] + <dev-python/dockerpty-0.4[${PYTHON_USEDEP}] + >=dev-python/docker-py-1.5.0[${PYTHON_USEDEP}] + <dev-python/docker-py-2[${PYTHON_USEDEP}] + >=dev-python/docopt-0.6.1[${PYTHON_USEDEP}] + <dev-python/docopt-0.7[${PYTHON_USEDEP}] + >=dev-python/jsonschema-2.5.1[${PYTHON_USEDEP}] + <dev-python/jsonschema-3[${PYTHON_USEDEP}] + >=dev-python/pyyaml-3.10[${PYTHON_USEDEP}] + <dev-python/pyyaml-4[${PYTHON_USEDEP}] + >=dev-python/requests-2.6.1[${PYTHON_USEDEP}] + <dev-python/requests-2.8[${PYTHON_USEDEP}] + >=dev-python/six-1.3.0[${PYTHON_USEDEP}] + <dev-python/six-2[${PYTHON_USEDEP}] + >=dev-python/texttable-0.8.1[${PYTHON_USEDEP}] + <dev-python/texttable-0.9[${PYTHON_USEDEP}] + >=dev-python/websocket-client-0.32.0[${PYTHON_USEDEP}] + <dev-python/websocket-client-1.0[${PYTHON_USEDEP}] + $(python_gen_cond_dep '>=dev-python/enum34-1.0.4[${PYTHON_USEDEP}]' 'python2_7' ) + $(python_gen_cond_dep '<dev-python/enum34-2[${PYTHON_USEDEP}]' 'python2_7' ) +" +DEPEND=" + test? ( + ${CDEPEND} + dev-python/pytest[${PYTHON_USEDEP}] + $(python_gen_cond_dep '>=dev-python/mock-1.0.1[${PYTHON_USEDEP}]' 'python2_7' ) + ) +" +RDEPEND="${CDEPEND}" + +python_test() { + ${PYTHON} -m pytest tests/unit || die "tests failed under ${EPYTHON}" +} + +python_install_all() { + newbashcomp contrib/completion/bash/docker-compose ${PN} + + insinto /usr/share/zsh/site-functions + doins contrib/completion/zsh/* + + distutils-r1_python_install_all +} diff --git a/app-emulation/docker-compose/metadata.xml b/app-emulation/docker-compose/metadata.xml index c78064c4e7..74cde27ef4 100644 --- a/app-emulation/docker-compose/metadata.xml +++ b/app-emulation/docker-compose/metadata.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer> + <maintainer type="person"> <email>alunduil@gentoo.org</email> <name>Alex Brandt</name> </maintainer> diff --git a/app-emulation/docker-machine/Manifest b/app-emulation/docker-machine/Manifest index 7e184a71d9..1ef894c1f8 100644 --- a/app-emulation/docker-machine/Manifest +++ b/app-emulation/docker-machine/Manifest @@ -1 +1,3 @@ DIST docker-machine-0.4.1.tar.gz 1620966 SHA256 f089657b2de7a3ce15374e69be3f654b0866f75eb077ca363f8a5933ccf51cda SHA512 29b21c075c7964cce00cda484bb31768988c95d6e1a9c4aa625619bead49aebe5b756fdaee7be07baa469c2a675538e69c1e2d3a33cfd32c0c8b79dd4dc8b6b7 WHIRLPOOL 8f200b43f4d40b170646cd3b96b8dac7ae56014641d30ed82ab53eb38be537a408a45fcef7d1f97eba632c86f471516ca3c7f19c121072a72b19847b9d04fe82 +DIST docker-machine-0.5.2.tar.gz 1452215 SHA256 2dd6ed03e546a7c733ec6964b47b85b6d328e830ebca318240f6ddfcaed6f98a SHA512 4a724cc4ad867a2b3b79bd0006b554ae072c142daa7ca29c6430bb6614bc6b971eeca79d93cae98b8f38d97b5a1a5e872f9015cc09200b69551732998b1ba601 WHIRLPOOL 249d9e2456ad79867a0c380c549704b88275a177a78ae610ae207bed5189f20f6279e1f604dc10cbf9fc1feb75bff7460d2eb4a39aaabcc427e8bbaa419e7940 +DIST docker-machine-0.5.4.tar.gz 1586940 SHA256 050640764c9f55e76b9475b04ebd9d6069e63cf7e2b54c2d07eda9254722d90e SHA512 47fcee2d236154be7ca57646620f91b09127918f36d239e79e9381b219791eb67a635210d7006eb98ff1c6271aacbf4b9d5a7dfce8a02b6e392745c954d0dd48 WHIRLPOOL a9cdb5e2c9767e481b7e704cb1492ea0e95cbc9cadf59886dbc07bba13864718e19f2d278412662d503d71f554dfa302d56de4129d5c2f09f88a1d85b421477f diff --git a/app-emulation/docker-machine/docker-machine-0.5.2.ebuild b/app-emulation/docker-machine/docker-machine-0.5.2.ebuild new file mode 100644 index 0000000000..22922f6472 --- /dev/null +++ b/app-emulation/docker-machine/docker-machine-0.5.2.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +EGO_PN=github.com/docker/machine/... + +if [[ ${PV} = *9999* ]]; then + inherit golang-vcs +else + KEYWORDS="~amd64" + EGIT_COMMIT="v${PV}" + SRC_URI="https://${EGO_PN%/*}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" + inherit golang-vcs-snapshot +fi +inherit golang-build + +DESCRIPTION="Machine management for a container-centric world" +HOMEPAGE="https://docs.docker.com/machine/ " +LICENSE="Apache-2.0" +SLOT="0" +IUSE="" +RESTRICT="test" +DEPEND=">=dev-lang/go-1.5:=" +RDEPEND="" +S=${WORKDIR}/${P}/src/${EGO_PN%/*} + +src_prepare() { + # don't pre-strip binaries + sed -e 's|\(GO_LDFLAGS := $(GO_LDFLAGS) -w\) -s|\1|' -i mk/main.mk ||die +} + +src_compile() { + GOPATH="${WORKDIR}/${P}:$(get_golibdir_gopath)" emake build || die +} + +src_install() { + dobin bin/* + dodoc CHANGELOG.md CONTRIBUTING.md README.md ROADMAP.md +} diff --git a/app-emulation/docker-machine/docker-machine-0.5.4.ebuild b/app-emulation/docker-machine/docker-machine-0.5.4.ebuild new file mode 100644 index 0000000000..22922f6472 --- /dev/null +++ b/app-emulation/docker-machine/docker-machine-0.5.4.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +EGO_PN=github.com/docker/machine/... + +if [[ ${PV} = *9999* ]]; then + inherit golang-vcs +else + KEYWORDS="~amd64" + EGIT_COMMIT="v${PV}" + SRC_URI="https://${EGO_PN%/*}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" + inherit golang-vcs-snapshot +fi +inherit golang-build + +DESCRIPTION="Machine management for a container-centric world" +HOMEPAGE="https://docs.docker.com/machine/ " +LICENSE="Apache-2.0" +SLOT="0" +IUSE="" +RESTRICT="test" +DEPEND=">=dev-lang/go-1.5:=" +RDEPEND="" +S=${WORKDIR}/${P}/src/${EGO_PN%/*} + +src_prepare() { + # don't pre-strip binaries + sed -e 's|\(GO_LDFLAGS := $(GO_LDFLAGS) -w\) -s|\1|' -i mk/main.mk ||die +} + +src_compile() { + GOPATH="${WORKDIR}/${P}:$(get_golibdir_gopath)" emake build || die +} + +src_install() { + dobin bin/* + dodoc CHANGELOG.md CONTRIBUTING.md README.md ROADMAP.md +} diff --git a/app-emulation/docker-machine/metadata.xml b/app-emulation/docker-machine/metadata.xml index 77868d9465..8549b7fc81 100644 --- a/app-emulation/docker-machine/metadata.xml +++ b/app-emulation/docker-machine/metadata.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer> + <maintainer type="person"> <email>zmedico@gentoo.org</email> </maintainer> <upstream> diff --git a/app-emulation/docker-swarm/Manifest b/app-emulation/docker-swarm/Manifest index 8103b975b9..11b40d44ca 100644 --- a/app-emulation/docker-swarm/Manifest +++ b/app-emulation/docker-swarm/Manifest @@ -1 +1,2 @@ DIST docker-swarm-0.4.0.tar.gz 853254 SHA256 c3ee1a34ce86da4d31f652c871dfa120fc78d5cc835e391034d740e83b48f7a3 SHA512 ffaa5560d67cafcc97b091d87b7792d6a0bfed2fb08837854a8313175742d535ee671fe45c4b96eeb69bf613a31e2e37cf92524f93ad20fbfbd54647b956c9c1 WHIRLPOOL 3acb07bfbcf33d70dffbfff4c5028767f36d51bd3500143d50e109d062cfd0107dfdc9f45724d08f874d81e15429089ed18a664fd591c26d7f2ff14ea933f93a +DIST docker-swarm-1.0.1.tar.gz 1187966 SHA256 33c6566af395affbf9861d1491613c48a70e6c61c532910cef2210be7b1323f7 SHA512 ed5e6a37cd0f5a816367cab451d21ac20183f8ce767a30dc3086f849da8e0d2662c9f9b7e56d826e7e8cf5d4ec3d9f1ee8c159cca294af7ec45c2c1a21eaaf80 WHIRLPOOL e17705a3bef077e5fed552131aa7cd4891934a537dc93bbb8dfe81bf2e82c281d7f74a5150febdde26f492cf5ad4eec8417aac9a7edc6e48812f4af3ed1b624e diff --git a/app-emulation/docker-swarm/docker-swarm-1.0.1.ebuild b/app-emulation/docker-swarm/docker-swarm-1.0.1.ebuild new file mode 100644 index 0000000000..bb35aaeb8a --- /dev/null +++ b/app-emulation/docker-swarm/docker-swarm-1.0.1.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +EGO_PN=github.com/docker/${PN##*-}/... + +if [[ ${PV} = *9999* ]]; then + inherit golang-vcs +else + KEYWORDS="~amd64" + EGIT_COMMIT="v${PV}" + SRC_URI="https://${EGO_PN%/*}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" + inherit golang-vcs-snapshot +fi +inherit golang-build + +DESCRIPTION="A Docker-native clustering system" +HOMEPAGE="https://docs.docker.com/${PN##*-}/" +LICENSE="Apache-2.0" +SLOT="0" +IUSE="" +RESTRICT="test" +DEPEND="" +RDEPEND="" +S=${WORKDIR}/${P}/src/${EGO_PN%/*} + +src_compile() { + GOPATH="${WORKDIR}/${P}:${S}/Godeps/_workspace:$(get_golibdir_gopath)" \ + go build -v -work -x ${EGO_BUILD_FLAGS} -o ${PN} || die +} + +src_install() { + dobin ${PN} + dodoc CHANGELOG.md CONTRIBUTING.md README.md ROADMAP.md +} diff --git a/app-emulation/docker-swarm/metadata.xml b/app-emulation/docker-swarm/metadata.xml index cdf127b3bd..127ef4728e 100644 --- a/app-emulation/docker-swarm/metadata.xml +++ b/app-emulation/docker-swarm/metadata.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer> + <maintainer type="person"> <email>zmedico@gentoo.org</email> </maintainer> <upstream> diff --git a/app-emulation/docker/Manifest b/app-emulation/docker/Manifest index c36b331997..57053680b5 100644 --- a/app-emulation/docker/Manifest +++ b/app-emulation/docker/Manifest @@ -4,3 +4,4 @@ DIST docker-1.7.1.tar.gz 6853527 SHA256 9cd26415d68a88d3cf576e7e78c2fe97f42af795 DIST docker-1.8.1.tar.gz 7562594 SHA256 7f22e88a994dc1bc143f87215de01ccd902450e6e8d747467d042a56db792b03 SHA512 6c015b236914da945d9e5bf2fed3e8a0a4d1e0c44ee02bf6edc04b2bb48b626353e37de45cd99c486b7ced70807e606d5eac2f1bdb3f8a7ba86cd9b71e4f5504 WHIRLPOOL 8d514fb309f0ddbb92bcf84f4d79320e18c26211536919bbed68888f5af77247f14f93239e5c890c5214cf0a9663acc48a45545a87227f0fe4bf8866ac7d7c5c DIST docker-1.8.2.tar.gz 7563667 SHA256 457569ca8edd70293132789bfe51636f86cd8a46a60c6d02d5ee8600cf79f74b SHA512 c44f3cc0e0b7db463730620c0ec4b1aa1ea4a42f6528c891914318cb945aaa906e8eeaf91d32fb2d87a11ea1be428d1cf0de7d3ce4681c7db37390e4e1f79c67 WHIRLPOOL 2023f433ae25cc11fed6e4109a81dd949765daf342011f08a0ce8c1a8572ced595273ab78c45ac09abe895766c4443ff5a3219c5fce37725503bcdc39f49a947 DIST docker-1.9.0.tar.gz 7815144 SHA256 1c06baea61971a711f9e510800fb4de5e0d8a6560963cfdc891e0037b40dc974 SHA512 16c7fd900ff1122ccd62ce93b84209b026a165ff647cd4875e32c16251098c05e9e7de834cc6f27d164b5be168f8fd16323ec60593287a787f6fa8fcef144291 WHIRLPOOL 4031e3aa03f74afaf395a412668d7142f867e6279a9d0ac5334a6b1d8b3ad5cccc93961d0e1c63aa7fc46179555a6f106ce6e8acbec774d21a7af37a147a2ea0 +DIST docker-1.9.1.tar.gz 7824414 SHA256 ff0ad9647b756381758a16440a48e6f3c8615bbc903e53680569aac0b0a85157 SHA512 db9db1d5095b2afe2285265414c36026d2b42d5547301d7d462151b81553f33e242b403b566e7835727d51b77e3176c049f1e9f37f60b59b3c66b95403c97b9d WHIRLPOOL 93118093947c8a490a2007003e45974d7923afae4111c59e2f026787cf57f99b275be1be4a9e69b17cddf576f2d2af7fadcaa1f7ebc0ca08ce0e42a055ace22b diff --git a/app-emulation/docker/docker-1.9.1.ebuild b/app-emulation/docker/docker-1.9.1.ebuild new file mode 100644 index 0000000000..f490eac0e2 --- /dev/null +++ b/app-emulation/docker/docker-1.9.1.ebuild @@ -0,0 +1,265 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +EGO_PN="github.com/docker/docker" + +if [[ ${PV} = *9999* ]]; then + # Docker cannot be fetched via "go get", thanks to autogenerated code + EGIT_REPO_URI="https://${EGO_PN}.git" + EGIT_CHECKOUT_DIR="${WORKDIR}/${P}/src/${EGO_PN}" + inherit git-r3 +else + MY_PV="${PV/_/-}" + DOCKER_GITCOMMIT="a34a1d5" + EGIT_COMMIT="v${MY_PV}" + SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64" + [ "$DOCKER_GITCOMMIT" ] || die "DOCKER_GITCOMMIT must be added manually for each bump!" + inherit golang-vcs-snapshot +fi +inherit bash-completion-r1 linux-info multilib systemd udev user + +DESCRIPTION="Docker complements kernel namespacing with a high-level API which operates at the process level" +HOMEPAGE="https://dockerproject.org" +LICENSE="Apache-2.0" +SLOT="0" +IUSE="apparmor aufs btrfs +device-mapper experimental overlay" + +# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#build-dependencies +CDEPEND=" + >=dev-db/sqlite-3.7.9:3 + device-mapper? ( + >=sys-fs/lvm2-2.02.89[thin] + ) +" + +DEPEND=" + ${CDEPEND} + + dev-go/go-md2man + + btrfs? ( + >=sys-fs/btrfs-progs-3.8 + ) +" + +# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#runtime-dependencies +# https://github.com/docker/docker/blob/master/hack/PACKAGERS.md#optional-dependencies +RDEPEND=" + ${CDEPEND} + + !app-emulation/docker-bin + >=net-firewall/iptables-1.4 + sys-process/procps + >=dev-vcs/git-1.7 + >=app-arch/xz-utils-4.9 + + apparmor? ( + sys-libs/libapparmor[static-libs] + ) +" + +RESTRICT="installsources strip" + +# see "contrib/check-config.sh" from upstream's sources +CONFIG_CHECK=" + ~NAMESPACES ~NET_NS ~PID_NS ~IPC_NS ~UTS_NS + ~DEVPTS_MULTIPLE_INSTANCES + ~CGROUPS ~CGROUP_CPUACCT ~CGROUP_DEVICE ~CGROUP_FREEZER ~CGROUP_SCHED ~CPUSETS ~MEMCG + ~MACVLAN ~VETH ~BRIDGE ~BRIDGE_NETFILTER + ~NF_NAT_IPV4 ~IP_NF_FILTER ~IP_NF_TARGET_MASQUERADE + ~NETFILTER_XT_MATCH_ADDRTYPE ~NETFILTER_XT_MATCH_CONNTRACK + ~NF_NAT ~NF_NAT_NEEDED + + ~POSIX_MQUEUE + + ~MEMCG_KMEM ~MEMCG_SWAP ~MEMCG_SWAP_ENABLED + + ~BLK_CGROUP ~IOSCHED_CFQ + ~CGROUP_PERF + ~CGROUP_HUGETLB + ~NET_CLS_CGROUP + ~CFS_BANDWIDTH ~FAIR_GROUP_SCHED ~RT_GROUP_SCHED +" + +ERROR_MEMCG_KMEM="CONFIG_MEMCG_KMEM: is optional" +ERROR_MEMCG_SWAP="CONFIG_MEMCG_SWAP: is required if you wish to limit swap usage of containers" +ERROR_RESOURCE_COUNTERS="CONFIG_RESOURCE_COUNTERS: is optional for container statistics gathering" + +ERROR_BLK_CGROUP="CONFIG_BLK_CGROUP: is optional for container statistics gathering" +ERROR_IOSCHED_CFQ="CONFIG_IOSCHED_CFQ: is optional for container statistics gathering" +ERROR_CGROUP_PERF="CONFIG_CGROUP_PERF: is optional for container statistics gathering" +ERROR_CFS_BANDWIDTH="CONFIG_CFS_BANDWIDTH: is optional for container statistics gathering" + +pkg_setup() { + if kernel_is lt 3 10; then + ewarn "" + ewarn "Using Docker with kernels older than 3.10 is unstable and unsupported." + ewarn " - http://docs.docker.com/installation/binaries/#check-kernel-dependencies" + fi + + # for where these kernel versions come from, see: + # https://www.google.com/search?q=945b2b2d259d1a4364a2799e80e8ff32f8c6ee6f+site%3Akernel.org%2Fpub%2Flinux%2Fkernel+file%3AChangeLog* + if ! { + kernel_is ge 3 16 \ + || { kernel_is 3 15 && kernel_is ge 3 15 5; } \ + || { kernel_is 3 14 && kernel_is ge 3 14 12; } \ + || { kernel_is 3 12 && kernel_is ge 3 12 25; } + }; then + ewarn "" + ewarn "There is a serious Docker-related kernel panic that has been fixed in 3.16+" + ewarn " (and was backported to 3.15.5+, 3.14.12+, and 3.12.25+)" + ewarn "" + ewarn "See also https://github.com/docker/docker/issues/2960" + fi + + if kernel_is le 3 18; then + CONFIG_CHECK+=" + ~RESOURCE_COUNTERS + " + fi + + if kernel_is le 3 13; then + CONFIG_CHECK+=" + ~NETPRIO_CGROUP + " + else + CONFIG_CHECK+=" + ~CGROUP_NET_PRIO + " + fi + + if use aufs; then + CONFIG_CHECK+=" + ~AUFS_FS + ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY + " + ERROR_AUFS_FS="CONFIG_AUFS_FS: is required to be set if and only if aufs-sources are used instead of aufs4/aufs3" + fi + + if use btrfs; then + CONFIG_CHECK+=" + ~BTRFS_FS + " + fi + + if use device-mapper; then + CONFIG_CHECK+=" + ~BLK_DEV_DM ~DM_THIN_PROVISIONING ~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY + " + fi + + if use overlay; then + CONFIG_CHECK+=" + ~OVERLAY_FS ~EXT4_FS_SECURITY ~EXT4_FS_POSIX_ACL + " + fi + + linux-info_pkg_setup + + # create docker group for the code checking for it in /etc/group + enewgroup docker +} + +src_prepare() { + cd "src/${EGO_PN}" || die + epatch "${FILESDIR}"/18074-disable-journald-arm.patch + # allow user patches (use sparingly - upstream won't support them) + epatch_user +} + +src_compile() { + cd "src/${EGO_PN}" || die + export GOPATH="${WORKDIR}/${P}:${PWD}/vendor:$(get_golibdir_gopath)" + + # setup CFLAGS and LDFLAGS for separate build target + # see https://github.com/tianon/docker-overlay/pull/10 + export CGO_CFLAGS="-I${ROOT}/usr/include" + export CGO_LDFLAGS="-L${ROOT}/usr/$(get_libdir)" + + # if we're building from a zip, we need the GITCOMMIT value + [ "$DOCKER_GITCOMMIT" ] && export DOCKER_GITCOMMIT + + if gcc-specs-pie; then + sed -i "s/EXTLDFLAGS_STATIC='/EXTLDFLAGS_STATIC='-fno-PIC /" hack/make.sh || die + grep -q -- '-fno-PIC' hack/make.sh || die 'hardened sed failed' + + sed -i "s/LDFLAGS_STATIC_DOCKER='/LDFLAGS_STATIC_DOCKER='-extldflags -fno-PIC /" hack/make/dynbinary || die + grep -q -- '-fno-PIC' hack/make/dynbinary || die 'hardened sed failed' + fi + + # let's set up some optional features :) + export DOCKER_BUILDTAGS='' + for gd in aufs btrfs device-mapper overlay; do + if ! use $gd; then + DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}" + fi + done + + if use apparmor; then + DOCKER_BUILDTAGS+=' apparmor' + fi + + # https://github.com/docker/docker/pull/13338 + if use experimental; then + export DOCKER_EXPERIMENTAL=1 + else + unset DOCKER_EXPERIMENTAL + fi + + # time to build! + ./hack/make.sh dynbinary || die 'dynbinary failed' + + # build the man pages too + ./man/md2man-all.sh || die "unable to generate man pages" +} + +src_install() { + cd "src/${EGO_PN}" || die + VERSION="$(cat VERSION)" + newbin "bundles/$VERSION/dynbinary/docker-$VERSION" docker + exeinto /usr/libexec/docker + newexe "bundles/$VERSION/dynbinary/dockerinit-$VERSION" dockerinit + + newinitd contrib/init/openrc/docker.initd docker + newconfd contrib/init/openrc/docker.confd docker + + systemd_dounit contrib/init/systemd/docker.{service,socket} + + udev_dorules contrib/udev/*.rules + + dodoc AUTHORS CONTRIBUTING.md CHANGELOG.md NOTICE README.md + dodoc -r docs/* + doman man/man*/* + + dobashcomp contrib/completion/bash/* + + insinto /usr/share/zsh/site-functions + doins contrib/completion/zsh/* + + insinto /usr/share/vim/vimfiles + doins -r contrib/syntax/vim/ftdetect + doins -r contrib/syntax/vim/syntax + + # note: intentionally not using "doins" so that we preserve +x bits + mkdir -p "${D}/usr/share/${PN}/contrib" + cp -R contrib/* "${D}/usr/share/${PN}/contrib" +} + +pkg_postinst() { + udev_reload + + elog + elog "To use Docker, the Docker daemon must be running as root. To automatically" + elog "start the Docker daemon at boot, add Docker to the default runlevel:" + elog " rc-update add docker default" + elog "Similarly for systemd:" + elog " systemctl enable docker.service" + elog + elog "To use Docker as a non-root user, add yourself to the 'docker' group:" + elog " usermod -aG docker youruser" + elog +} diff --git a/app-emulation/docker/files/18074-disable-journald-arm.patch b/app-emulation/docker/files/18074-disable-journald-arm.patch new file mode 100644 index 0000000000..e7c9a2f675 --- /dev/null +++ b/app-emulation/docker/files/18074-disable-journald-arm.patch @@ -0,0 +1,30 @@ +diff --git a/daemon/logger/journald/journald.go b/daemon/logger/journald/journald.go +index c729b56..97c379c 100644 +--- a/daemon/logger/journald/journald.go ++++ b/daemon/logger/journald/journald.go +@@ -1,4 +1,4 @@ +-// +build linux ++// +build linux,!arm + + // Package journald provides the log driver for forwarding server logs + // to endpoints that receive the systemd format. +diff --git a/daemon/logger/journald/journald_unsupported.go b/daemon/logger/journald/journald_unsupported.go +index d52ca92..8e9034a 100644 +--- a/daemon/logger/journald/journald_unsupported.go ++++ b/daemon/logger/journald/journald_unsupported.go +@@ -1,4 +1,4 @@ +-// +build !linux ++// +build !linux linux,arm + + package journald + +diff --git a/daemon/logger/journald/read.go b/daemon/logger/journald/read.go +index 80c1fbd..0477c04 100644 +--- a/daemon/logger/journald/read.go ++++ b/daemon/logger/journald/read.go +@@ -1,4 +1,4 @@ +-// +build linux,cgo,!static_build,journald ++// +build linux,cgo,!static_build,journald,!arm + + package journald + diff --git a/app-emulation/docker/metadata.xml b/app-emulation/docker/metadata.xml index 907d5d1da2..708ff9a68b 100644 --- a/app-emulation/docker/metadata.xml +++ b/app-emulation/docker/metadata.xml @@ -8,23 +8,26 @@ scale, in production, on VMs, bare metal, OpenStack clusters, public clouds and more. </longdescription> - <herd>proxy-maintainers</herd> - <maintainer status="active"> + <maintainer status="active" type="person"> <email>admwiggin@gmail.com</email> <name>Tianon</name> </maintainer> - <maintainer> + <maintainer type="person"> <email>xarthisius@gentoo.org</email> <name>Kacper Kowalik</name> </maintainer> - <maintainer> + <maintainer type="person"> <email>alunduil@gentoo.org</email> <name>Alex Brandt</name> </maintainer> - <maintainer> + <maintainer type="person"> <email>williamh@gentoo.org</email> <name>William Hubbs</name> </maintainer> + <maintainer type="project"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> <use> <flag name="aufs"> Enables dependencies for the "aufs" graph driver, including diff --git a/app-emulation/domi/metadata.xml b/app-emulation/domi/metadata.xml index 001651048e..0af225b549 100644 --- a/app-emulation/domi/metadata.xml +++ b/app-emulation/domi/metadata.xml @@ -1,8 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer> - <email>maintainer-needed@gentoo.org</email> - </maintainer> <longdescription>Scripts for building Xen domains</longdescription> </pkgmetadata> diff --git a/app-emulation/dosemu/metadata.xml b/app-emulation/dosemu/metadata.xml index 14ef792f53..2a8f72ea2c 100644 --- a/app-emulation/dosemu/metadata.xml +++ b/app-emulation/dosemu/metadata.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer> + <maintainer type="person"> <email>hanno@gentoo.org</email> </maintainer> - <maintainer> + <maintainer type="person"> <email>slyfox@gentoo.org</email> <name>Sergei Trofimovich</name> </maintainer> diff --git a/app-emulation/dynamips/metadata.xml b/app-emulation/dynamips/metadata.xml index c9d9b33556..3b49ea6a89 100644 --- a/app-emulation/dynamips/metadata.xml +++ b/app-emulation/dynamips/metadata.xml @@ -1,11 +1,11 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer> + <maintainer type="person"> <email>bman@gentoo.org</email> <name>Aaron Bauman</name> </maintainer> - <maintainer> + <maintainer type="person"> <email>pinkbyte@gentoo.org</email> <name>Sergey Popov</name> </maintainer> diff --git a/app-emulation/e-uae/metadata.xml b/app-emulation/e-uae/metadata.xml index 2314e7afa1..0b22e90aff 100644 --- a/app-emulation/e-uae/metadata.xml +++ b/app-emulation/e-uae/metadata.xml @@ -1,16 +1,13 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer> - <email>maintainer-needed@gentoo.org</email> - </maintainer> <longdescription lang="en"> E-UAE is a fork of UAE which intends to merge all the new features of WinUAE with UAE. </longdescription> <use> - <flag name='capslib'>Add CAPS library support</flag> - <flag name='sdl-sound'>Use <pkg>media-libs/sdl-sound</pkg> for audio + <flag name="capslib">Add CAPS library support</flag> + <flag name="sdl-sound">Use <pkg>media-libs/sdl-sound</pkg> for audio output</flag> </use> </pkgmetadata> diff --git a/app-emulation/edumips64/metadata.xml b/app-emulation/edumips64/metadata.xml index 75e63da88f..32181fd62a 100644 --- a/app-emulation/edumips64/metadata.xml +++ b/app-emulation/edumips64/metadata.xml @@ -1,11 +1,14 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <herd>java</herd> - <maintainer> + <maintainer type="person"> <email>lxnay@gentoo.org</email> <name>Fabio Erculiani</name> </maintainer> + <maintainer type="project"> + <email>java@gentoo.org</email> + <name>Java</name> + </maintainer> <upstream> <remote-id type="sourceforge">edumips64</remote-id> </upstream> diff --git a/app-emulation/flannel/metadata.xml b/app-emulation/flannel/metadata.xml index bd78c24598..26007a60b4 100644 --- a/app-emulation/flannel/metadata.xml +++ b/app-emulation/flannel/metadata.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer> + <maintainer type="person"> <email>zmedico@gentoo.org</email> </maintainer> <upstream> diff --git a/app-emulation/free42/metadata.xml b/app-emulation/free42/metadata.xml index ae876330a7..6a06bd3b7d 100644 --- a/app-emulation/free42/metadata.xml +++ b/app-emulation/free42/metadata.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer> + <maintainer type="person"> <email>nimiux@gentoo.org</email> <name>Chema Alonso</name> </maintainer> diff --git a/app-emulation/fuse-utils/metadata.xml b/app-emulation/fuse-utils/metadata.xml index b5eea7296d..f693c71c6a 100644 --- a/app-emulation/fuse-utils/metadata.xml +++ b/app-emulation/fuse-utils/metadata.xml @@ -1,17 +1,20 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <herd>proxy-maintainers</herd> - <maintainer> + <maintainer type="person"> <email>neurogeek@gentoo.org</email> <name>Jesus Rivero</name> <description>Proxy Maintainer. Please CC on bugs.</description> </maintainer> - <maintainer> + <maintainer type="person"> <email>jmfo1982@yahoo.es</email> <description>Proxied Maintainer. Please assign on bugs.</description> <name>José Manuel Ferrer Ortiz</name> </maintainer> + <maintainer type="project"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> <use> <flag name="gcrypt">Use <pkg>dev-libs/libgcrypt</pkg> for low-level crypto of some features, including logfiles.</flag> diff --git a/app-emulation/fuse/metadata.xml b/app-emulation/fuse/metadata.xml index f7c150dc0e..16cd319eef 100644 --- a/app-emulation/fuse/metadata.xml +++ b/app-emulation/fuse/metadata.xml @@ -1,17 +1,20 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <herd>proxy-maintainers</herd> - <maintainer> + <maintainer type="person"> <email>jmfo1982@yahoo.es</email> <description>Proxied Maintainer. Please assign on bugs.</description> <name>José Manuel Ferrer Ortiz</name> </maintainer> - <maintainer> + <maintainer type="person"> <email>neurogeek@gentoo.org</email> <name>Jesus Rivero</name> <description>Proxy Maintainer. Please CC on bugs</description> </maintainer> + <maintainer type="project"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> <upstream> <remote-id type="sourceforge">fuse-emulator</remote-id> </upstream> diff --git a/app-emulation/ganeti-htools/metadata.xml b/app-emulation/ganeti-htools/metadata.xml index 235f15f035..56690a9ca1 100644 --- a/app-emulation/ganeti-htools/metadata.xml +++ b/app-emulation/ganeti-htools/metadata.xml @@ -1,8 +1,14 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <herd>virtualization</herd> - <herd>haskell</herd> + <maintainer type="project"> + <email>virtualization@gentoo.org</email> + <name>Gentoo Virtualization Project</name> + </maintainer> + <maintainer type="project"> + <email>haskell@gentoo.org</email> + <name>Gentoo Haskell</name> + </maintainer> <longdescription lang="en"> These are some simple cluster tools for fixing common allocation problems on Ganeti 2.0 clusters. @@ -19,4 +25,3 @@ rebalance the cluster. </longdescription> </pkgmetadata> - diff --git a/app-emulation/ganeti-instance-debian-etch/metadata.xml b/app-emulation/ganeti-instance-debian-etch/metadata.xml index a49a834500..33287910bd 100644 --- a/app-emulation/ganeti-instance-debian-etch/metadata.xml +++ b/app-emulation/ganeti-instance-debian-etch/metadata.xml @@ -1,9 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer> - <email>maintainer-needed@gentoo.org</email> - </maintainer> <upstream> <remote-id type="google-code">ganeti</remote-id> </upstream> diff --git a/app-emulation/ganeti-instance-debootstrap/metadata.xml b/app-emulation/ganeti-instance-debootstrap/metadata.xml index 92e4e2a9c1..26710bfe63 100644 --- a/app-emulation/ganeti-instance-debootstrap/metadata.xml +++ b/app-emulation/ganeti-instance-debootstrap/metadata.xml @@ -1,7 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <herd>virtualization</herd> + <maintainer type="project"> + <email>virtualization@gentoo.org</email> + <name>Gentoo Virtualization Project</name> + </maintainer> <longdescription lang="en">This is a guest OS definition for Ganeti (https://code.google.com/p/ganeti). It will install a minimal version of Debian or Ubuntu via debootstrap (thus it requires network access). This only works if you have a Debian-based node diff --git a/app-emulation/ganeti-instance-image/metadata.xml b/app-emulation/ganeti-instance-image/metadata.xml index cee84c2396..2577434a47 100644 --- a/app-emulation/ganeti-instance-image/metadata.xml +++ b/app-emulation/ganeti-instance-image/metadata.xml @@ -1,10 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer> - <email>maintainer-needed@gentoo.org</email> - </maintainer> <longdescription lang="en"> </longdescription> </pkgmetadata> - diff --git a/app-emulation/ganeti/Manifest b/app-emulation/ganeti/Manifest index 92034398b8..7a8e1416f1 100644 --- a/app-emulation/ganeti/Manifest +++ b/app-emulation/ganeti/Manifest @@ -5,4 +5,5 @@ DIST ganeti-2.12.3.tar.gz 4373350 SHA256 e66fc4c3dde1e90d85749ceb5c1c90bd6eaed1d DIST ganeti-2.13.0.tar.gz 4573781 SHA256 30ccfa971b15d49b45a4bfb75bb9631c0993adbd7feac0562c11305ae8c13753 SHA512 bd847ae7e12cb978fae59a458a4d0e33fee470c51748964453b5d0ea6615e6d959519c84922e92229e942a88f1ad88a6d1cb655f58391d033d5f5dfc249ef941 WHIRLPOOL 925159e36fde1cd36214b4fe54b4e06958cc8bd3ded28e32bc4f99842aafcb4c53c701c8a651421559dc13b4d18ae2cc11f1b9d1d2da1e862561cca81d009bda DIST ganeti-2.14.1.tar.gz 4655994 SHA256 ae90c69f0c02d2ee558363a1c021dfaaaf4ccb59b662a72fa6485b406766e133 SHA512 2d3927bf888ea56df6b6275a869979c53d4b01e2e527e2dddea2a4835c90e85831e9e7691162999e5c58e9d214e03a37690e84f8fde9f1a0631897b06db348c3 WHIRLPOOL 3554161afd646af41e587fffa9dc85788f6ef13102121c636802946b64161cdeaeea326103171b70577b06635eebf6988b2f3942024a944612642aefd92b89bb DIST ganeti-2.15.1.tar.gz 4701531 SHA256 a0bc6b9f78c8c9440ca67a73e2011d4499776e18ff42289dff66e90f0a532b72 SHA512 198dd17c8cb1670b1db39f9dd9fdcc416648d5a8c6ed9cbfc2ef3db32ed88a3b445729774a89516f60d443360f42c1fe3cf5c9c015127a4aa1c95027d86d96ba WHIRLPOOL df03b5334299533b34c063026edc57a1be76af74797266bbf1ffba9c3c36aa4fafb2c04687043d4ed734652c1c07d61a06e3c4281721021351845a21a17d8866 +DIST ganeti-2.15.2.tar.gz 4723007 SHA256 1e09d29cae5020142d20a96165b23f3b62b5511b875051b6374d09c4c13c0b83 SHA512 e0707aa535857779622e0eb18cccb89bc34fe4acf373628c30524e3f7e572c4b3d628946ad219149c14615d6471c4d72dbd0c6e3e1855a9f3644b4605544df85 WHIRLPOOL a09a13d64e7c6fa7823072d767fa6495cd814bb22e7a5fc708c8b339103a41da4e45f38574a2c665fe89c8774f220a2715c3aba180eb674eae603730dd2d25ad DIST ganeti-2.4.5.tar.gz 1828118 SHA256 9141379f3802238fb209309ec12f7090d872b77d7a473c91fe766d1fcec97c89 SHA512 e3abc2fd7c031fbef41c6e993f4cb129fa1dd4cb8c44961a2574da23832fd8412b8b3664b2e05ba8236cb8e58e8d70c3c9081f3f1b6dba8ffdc28d298c8a5099 WHIRLPOOL 897c2b3cdf0c7b03232a4ec99314439dbd29afd65eb2502d21a9f197cc098323a4b9ec0671c24ef7aad44b5327316ee68731e7e5304c8730d03f8ca908b93b62 diff --git a/app-emulation/ganeti/files/ganeti-2.15.2-remove-sandbox-failing-tests.patch b/app-emulation/ganeti/files/ganeti-2.15.2-remove-sandbox-failing-tests.patch new file mode 100644 index 0000000000..bc79bbbcad --- /dev/null +++ b/app-emulation/ganeti/files/ganeti-2.15.2-remove-sandbox-failing-tests.patch @@ -0,0 +1,58 @@ +diff --git a/test/py/ganeti.hooks_unittest.py b/test/py/ganeti.hooks_unittest.py +index 19d41bb..3382c7f 100755 +--- a/test/py/ganeti.hooks_unittest.py ++++ b/test/py/ganeti.hooks_unittest.py +@@ -193,17 +193,17 @@ class TestHooksRunner(unittest.TestCase): + expect.sort() + self.failUnlessEqual(self.hr.RunHooks(self.hpath, phase, {}), expect) + +- def testEnv(self): +- """Test environment execution""" +- for phase in (constants.HOOKS_PHASE_PRE, constants.HOOKS_PHASE_POST): +- fbase = "success" +- fname = "%s/%s" % (self.ph_dirs[phase], fbase) +- os.symlink("/usr/bin/env", fname) +- self.torm.append((fname, False)) +- env_snt = {"PHASE": phase} +- env_exp = "PHASE=%s" % phase +- self.failUnlessEqual(self.hr.RunHooks(self.hpath, phase, env_snt), +- [(self._rname(fname), HKR_SUCCESS, env_exp)]) ++ #def testEnv(self): ++ # """Test environment execution""" ++ # for phase in (constants.HOOKS_PHASE_PRE, constants.HOOKS_PHASE_POST): ++ # fbase = "success" ++ # fname = "%s/%s" % (self.ph_dirs[phase], fbase) ++ # os.symlink("/usr/bin/env", fname) ++ # self.torm.append((fname, False)) ++ # env_snt = {"PHASE": phase} ++ # env_exp = "PHASE=%s" % phase ++ # self.failUnlessEqual(self.hr.RunHooks(self.hpath, phase, env_snt), ++ # [(self._rname(fname), HKR_SUCCESS, env_exp)]) + + + def FakeHooksRpcSuccess(node_list, hpath, phase, env): +diff --git a/test/py/ganeti.utils.process_unittest.py b/test/py/ganeti.utils.process_unittest.py +index 82fc81e..4a59aa4 100755 +--- a/test/py/ganeti.utils.process_unittest.py ++++ b/test/py/ganeti.utils.process_unittest.py +@@ -358,13 +358,13 @@ class TestRunCmd(testutils.GanetiTestCase): + cwd = os.getcwd() + self.failUnlessEqual(utils.RunCmd(["pwd"], cwd=cwd).stdout.strip(), cwd) + +- def testResetEnv(self): +- """Test environment reset functionality""" +- self.failUnlessEqual(utils.RunCmd(["env"], reset_env=True).stdout.strip(), +- "") +- self.failUnlessEqual(utils.RunCmd(["env"], reset_env=True, +- env={"FOO": "bar",}).stdout.strip(), +- "FOO=bar") ++ #def testResetEnv(self): ++ # """Test environment reset functionality""" ++ # self.failUnlessEqual(utils.RunCmd(["env"], reset_env=True).stdout.strip(), ++ # "") ++ # self.failUnlessEqual(utils.RunCmd(["env"], reset_env=True, ++ # env={"FOO": "bar",}).stdout.strip(), ++ # "FOO=bar") + + def testNoFork(self): + """Test that nofork raise an error""" diff --git a/app-emulation/ganeti/ganeti-2.15.1-r1.ebuild b/app-emulation/ganeti/ganeti-2.15.1-r1.ebuild new file mode 100644 index 0000000000..d3adc439cb --- /dev/null +++ b/app-emulation/ganeti/ganeti-2.15.1-r1.ebuild @@ -0,0 +1,309 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=(python2_7) +PYTHON_REQ_USE="ipv6(+)?" + +inherit eutils user autotools bash-completion-r1 python-single-r1 versionator + +MY_PV="${PV/_rc/~rc}" +MY_PV="${MY_PV/_beta/~beta}" +MY_P="${PN}-${MY_PV}" +SERIES="$(get_version_component_range 1-2)" + +if [[ ${PV} =~ [9]{4,} ]] ; then + EGIT_REPO_URI="git://git.ganeti.org/ganeti.git" + inherit git-2 + KEYWORDS="" + GIT_DEPEND="dev-python/docutils + dev-python/sphinx[${PYTHON_USEDEP}] + media-gfx/graphviz + media-fonts/urw-fonts" +else + SRC_URI="http://downloads.ganeti.org/releases/${SERIES}/${MY_P}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +DESCRIPTION="Ganeti is a virtual server management software tool" +HOMEPAGE="http://www.ganeti.org/" + +LICENSE="GPL-2" +SLOT="0" +IUSE="drbd haskell-daemons htools ipv6 kvm lxc monitoring multiple-users rbd syslog test xen" +REQUIRED_USE="|| ( kvm xen lxc ) test? ( ipv6 ) ${PYTHON_REQUIRED_USE}" + +USER_PREFIX="${GANETI_USER_PREFIX:-"gnt-"}" +GROUP_PREFIX="${GANETI_GROUP_PREFIX:-"${USER_PREFIX}"}" + +DOC_DEPEND="dev-python/sphinx[${PYTHON_USEDEP}] + dev-python/docutils + media-fonts/urw-fonts + media-gfx/graphviz" + +DEPEND=" + dev-libs/openssl:0 + dev-python/paramiko[${PYTHON_USEDEP}] + dev-python/pyopenssl[${PYTHON_USEDEP}] + dev-python/simplejson[${PYTHON_USEDEP}] + dev-python/pyparsing[${PYTHON_USEDEP}] + dev-python/pyinotify[${PYTHON_USEDEP}] + dev-python/pycurl[${PYTHON_USEDEP}] + dev-python/ipaddr[${PYTHON_USEDEP}] + dev-python/bitarray[${PYTHON_USEDEP}] + net-analyzer/arping + net-analyzer/fping + net-misc/bridge-utils + net-misc/curl[ssl] + net-misc/openssh + net-misc/socat + sys-apps/iproute2 + sys-fs/lvm2 + >=sys-apps/baselayout-2.0 + dev-lang/ghc + dev-haskell/cabal:0= + dev-haskell/cabal-install:0= + >=dev-haskell/mtl-2.1.1:0= + >=dev-haskell/old-time-1.1.0.0:0= + >=dev-haskell/random-1.0.1.1:0= + haskell-daemons? ( >=dev-haskell/text-0.11.1.13:0= ) + >=dev-haskell/transformers-0.3.0.0:0= + + >=dev-haskell/attoparsec-0.10.1.1:0= + <dev-haskell/attoparsec-0.13:0 + >=dev-haskell/base64-bytestring-1.0.0.1:0= + <dev-haskell/base64-bytestring-1.1:0= + >=dev-haskell/crypto-4.2.4:0= + <dev-haskell/crypto-4.3:0= + >=dev-haskell/curl-1.3.7:0= + <dev-haskell/curl-1.4:0= + >=dev-haskell/hinotify-0.3.2:0= + <dev-haskell/hinotify-0.4:0= + >=dev-haskell/hslogger-1.1.4:0= + <dev-haskell/hslogger-1.3:0= + >=dev-haskell/json-0.5:0= + <dev-haskell/json-0.9:0= + >=dev-haskell/lens-3.10:0= + <dev-haskell/lens-4.8:0= + >=dev-haskell/lifted-base-0.2.0.3:0= + <dev-haskell/lifted-base-0.3:0= + >=dev-haskell/monad-control-0.3.1.3:0= + <dev-haskell/monad-control-1.1:0= + >=dev-haskell/network-2.3.0.13:0= + <dev-haskell/network-2.7:0= + >=dev-haskell/parallel-3.2.0.2:3= + <dev-haskell/parallel-3.3:3= + >=dev-haskell/temporary-1.1.2.3:0= + <dev-haskell/temporary-1.3:0= + >=dev-haskell/regex-pcre-0.94.2:0= + <dev-haskell/regex-pcre-0.95:0= + >=dev-haskell/transformers-base-0.4.1:0= + <dev-haskell/transformers-base-0.5:0= + >=dev-haskell/utf8-string-0.3.7:0= + <dev-haskell/utf8-string-0.4:0= + >=dev-haskell/zlib-0.5.3.3:0= + <dev-haskell/zlib-0.6:0= + + >=dev-haskell/psqueue-1.1:0= + <dev-haskell/psqueue-1.2:0= + >=dev-haskell/snap-core-0.8.1:0= + <dev-haskell/snap-core-0.10:0= + >=dev-haskell/snap-server-0.8.1:0= + <dev-haskell/snap-server-0.10:0= + >=dev-haskell/case-insensitive-0.4.0.1 + + dev-haskell/vector:0= + <dev-haskell/semigroupoids-4.1:0= + <dev-haskell/contravariant-0.6 + <dev-haskell/transformers-compat-0.4[three] + xen? ( >=app-emulation/xen-3.0 ) + kvm? ( + dev-python/psutil + app-emulation/qemu + ) + lxc? ( app-emulation/lxc ) + drbd? ( + || ( + <sys-cluster/drbd-8.5 + sys-cluster/drbd-utils + ) + ) + rbd? ( sys-cluster/ceph ) + ipv6? ( net-misc/ndisc6 ) + ${PYTHON_DEPS} + ${GIT_DEPEND}" +RDEPEND="${DEPEND} + !app-emulation/ganeti-htools" +DEPEND+="sys-devel/m4 + app-text/pandoc + >=dev-haskell/test-framework-0.6:0= + <dev-haskell/test-framework-0.9:0= + >=dev-haskell/test-framework-hunit-0.2.7:0= + <dev-haskell/test-framework-hunit-0.4:0= + >=dev-haskell/test-framework-quickcheck2-0.2.12.1:0= + <dev-haskell/test-framework-quickcheck2-0.4:0= + test? ( + dev-python/mock + dev-python/pyyaml + dev-haskell/haddock:0= + >=dev-haskell/hunit-1.2.4.2:0= + <dev-haskell/hunit-1.3:0= + >=dev-haskell/quickcheck-2.4.2:2= + <dev-haskell/quickcheck-2.8:2= + sys-apps/fakeroot + net-misc/socat + dev-util/shelltestrunner + ${DOC_DEPEND} + )" + +PATCHES=( + "${FILESDIR}/${PN}-2.12-start-stop-daemon-args.patch" + "${FILESDIR}/${PN}-2.11-add-pgrep.patch" + "${FILESDIR}/${PN}-2.15-daemon-util.patch" + "${FILESDIR}/${PN}-2.7-fix-tests.patch" + "${FILESDIR}/${PN}-2.9-disable-root-tests.patch" + "${FILESDIR}/${PN}-2.9-skip-cli-test.patch" + "${FILESDIR}/${PN}-2.10-rundir.patch" + "${FILESDIR}/${PN}-2.12-qemu-enable-kvm.patch" + "${FILESDIR}/${PN}-2.11-tests.patch" + "${FILESDIR}/${PN}-lockdir.patch" + "${FILESDIR}/${PN}-2.11-dont-nest-libdir.patch" + "${FILESDIR}/${PN}-2.11-dont-print-man-help.patch" + "${FILESDIR}/${PN}-2.11-daemon-util-tests.patch" + "${FILESDIR}/${PN}-2.13-process_unittest.patch" + "${FILESDIR}/${PN}-2.15-python-mock.patch" +) + +REQUIRED_USE="kvm? ( || ( amd64 x86 ) )" + +S="${WORKDIR}/${MY_P}" + +QA_WX_LOAD=" + usr/lib*/${PN}/${SERIES}/usr/sbin/ganeti-*d + usr/lib*/${PN}/${SERIES}/usr/bin/htools +" + +pkg_setup () { + local user + python-single-r1_pkg_setup + + if use multiple-users; then + for user in gnt-{masterd,confd,luxid,rapi,daemons,admin}; do + enewgroup ${user} + enewuser ${user} -1 -1 -1 ${user} + done + fi +} + +src_prepare() { + local testfile + epatch "${PATCHES[@]}" + + # not sure why these tests are failing + # should remove this on next version bump if possible + for testfile in test/py/import-export_unittest.bash; do + printf '#!/bin/bash\ntrue\n' > "${testfile}" + done + + # take the sledgehammer approach to bug #526270 + grep -lr '/bin/sh' "${S}" | xargs -r -- sed -i 's:/bin/sh:/bin/bash:g' + + [[ ${PV} =~ [9]{4,} ]] && ./autogen.sh + rm autotools/missing + eautoreconf +} + +src_configure () { + # this is kind of a hack to work around the removal of the qemu-kvm wrapper + local kvm_arch + + if use amd64; then + kvm_arch=x86_64 + elif use x86; then + kvm_arch=i386 + elif use kvm; then + die "Could not determine qemu system to use for kvm" + fi + + econf --localstatedir=/var \ + --sharedstatedir=/var \ + --disable-symlinks \ + --docdir=/usr/share/doc/${P} \ + --with-ssh-initscript=/etc/init.d/sshd \ + --with-export-dir=/var/lib/ganeti-storage/export \ + --with-os-search-path=/usr/share/${PN}/os \ + $(use_enable test haskell-tests) \ + $(usex multiple-users "--with-default-user=" "" "gnt-daemons" "") \ + $(usex multiple-users "--with-user-prefix=" "" "${USER_PREFIX}" "") \ + $(usex multiple-users "--with-default-group=" "" "gnt-daemons" "") \ + $(usex multiple-users "--with-group-prefix=" "" "${GROUP_PREFIX}" "") \ + $(use_enable syslog) \ + $(use_enable monitoring) \ + $(usex kvm '--with-kvm-path=' '' "/usr/bin/qemu-system-${kvm_arch}" '') \ + $(usex haskell-daemons "--enable-confd=haskell" '' '' '') +} + +src_install () { + emake V=1 DESTDIR="${D}" install || die "emake install failed" + + newinitd "${FILESDIR}"/ganeti.initd-r3 ${PN} + newconfd "${FILESDIR}"/ganeti.confd-r2 ${PN} + + if use kvm; then + newinitd "${FILESDIR}"/ganeti-kvm-poweroff.initd ganeti-kvm-poweroff + newconfd "${FILESDIR}"/ganeti-kvm-poweroff.confd ganeti-kvm-poweroff + fi + + # ganeti installs it's own docs in a generic location + rm -rf "${D}"/{usr/share/doc/${PN},run} + + sed -i "s:/usr/$(get_libdir)/${PN}/tools/burnin:burnin:" doc/examples/bash_completion + newbashcomp doc/examples/bash_completion gnt-instance + bashcomp_alias gnt-instance burnin ganeti-{cleaner,confd} \ + h{space,check,scan,info,ail,arep,roller,squeeze,bal} \ + gnt-{os,job,filter,debug,storage,group,node,network,backup,cluster} + + dodoc INSTALL UPGRADE NEWS README doc/*.rst + dohtml -r doc/html/* doc/css/*.css + + docinto examples + dodoc doc/examples/{ganeti.cron,gnt-config-backup} doc/examples/*.ocf + + docinto examples/hooks + dodoc doc/examples/hooks/{ipsec,ethers} + + insinto /etc/cron.d + newins doc/examples/ganeti.cron ${PN} + + insinto /etc/logrotate.d + newins doc/examples/ganeti.logrotate ${PN} + + # need to dodir rather than keepdir here (bug #552482) + dodir /var/lib/${PN} + + keepdir /var/log/${PN}/ + keepdir /usr/share/${PN}/${SERIES}/os/ + keepdir /var/lib/ganeti-storage/{export,file,shared}/ + + dosym ${SERIES} "/usr/share/${PN}/default" + dosym ${SERIES} "/usr/$(get_libdir)/${PN}/default" + + python_fix_shebang "${ED}" "${D}"/usr/"$(get_libdir)"/${PN}/${SERIES} +} + +pkg_postinst() { + if use multiple-users; then + elog "You have enable multiple user support, the users for this must" + elog "be created. You can use the provided tool for this, which is" + elog "located at:" + elog " /usr/$(get_libdir)/${PN}/tools/users-setup" + fi +} + +src_test () { + PATH="${S}/scripts:${S}/src:${PATH}" \ + TMPDIR="/tmp" \ + GANETI_MASTER="$(hostname -f)" \ + emake check || die "emake check failed" +} diff --git a/app-emulation/ganeti/ganeti-2.15.2.ebuild b/app-emulation/ganeti/ganeti-2.15.2.ebuild new file mode 100644 index 0000000000..b9c86e4ede --- /dev/null +++ b/app-emulation/ganeti/ganeti-2.15.2.ebuild @@ -0,0 +1,309 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=(python2_7) +PYTHON_REQ_USE="ipv6(+)?" + +inherit eutils user autotools bash-completion-r1 python-single-r1 versionator + +MY_PV="${PV/_rc/~rc}" +MY_PV="${MY_PV/_beta/~beta}" +MY_P="${PN}-${MY_PV}" +SERIES="$(get_version_component_range 1-2)" + +if [[ ${PV} =~ [9]{4,} ]] ; then + EGIT_REPO_URI="git://git.ganeti.org/ganeti.git" + inherit git-2 + KEYWORDS="" + GIT_DEPEND="dev-python/docutils + dev-python/sphinx[${PYTHON_USEDEP}] + media-gfx/graphviz + media-fonts/urw-fonts" +else + SRC_URI="http://downloads.ganeti.org/releases/${SERIES}/${MY_P}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +DESCRIPTION="Ganeti is a virtual server management software tool" +HOMEPAGE="http://www.ganeti.org/" + +LICENSE="GPL-2" +SLOT="0" +IUSE="drbd haskell-daemons htools ipv6 kvm lxc monitoring multiple-users rbd syslog test xen" +REQUIRED_USE="|| ( kvm xen lxc ) test? ( ipv6 ) ${PYTHON_REQUIRED_USE}" + +USER_PREFIX="${GANETI_USER_PREFIX:-"gnt-"}" +GROUP_PREFIX="${GANETI_GROUP_PREFIX:-"${USER_PREFIX}"}" + +DOC_DEPEND="dev-python/sphinx[${PYTHON_USEDEP}] + dev-python/docutils + media-fonts/urw-fonts + media-gfx/graphviz" + +DEPEND=" + dev-libs/openssl:0 + dev-python/paramiko[${PYTHON_USEDEP}] + dev-python/pyopenssl[${PYTHON_USEDEP}] + dev-python/simplejson[${PYTHON_USEDEP}] + dev-python/pyparsing[${PYTHON_USEDEP}] + dev-python/pyinotify[${PYTHON_USEDEP}] + dev-python/pycurl[${PYTHON_USEDEP}] + dev-python/ipaddr[${PYTHON_USEDEP}] + dev-python/bitarray[${PYTHON_USEDEP}] + net-analyzer/arping + net-analyzer/fping + net-misc/bridge-utils + net-misc/curl[ssl] + net-misc/openssh + net-misc/socat + sys-apps/iproute2 + sys-fs/lvm2 + >=sys-apps/baselayout-2.0 + dev-lang/ghc + dev-haskell/cabal:0= + dev-haskell/cabal-install:0= + >=dev-haskell/mtl-2.1.1:0= + >=dev-haskell/old-time-1.1.0.0:0= + >=dev-haskell/random-1.0.1.1:0= + haskell-daemons? ( >=dev-haskell/text-0.11.1.13:0= ) + >=dev-haskell/transformers-0.3.0.0:0= + + >=dev-haskell/attoparsec-0.10.1.1:0= + <dev-haskell/attoparsec-0.13:0 + >=dev-haskell/base64-bytestring-1.0.0.1:0= + <dev-haskell/base64-bytestring-1.1:0= + >=dev-haskell/crypto-4.2.4:0= + <dev-haskell/crypto-4.3:0= + >=dev-haskell/curl-1.3.7:0= + <dev-haskell/curl-1.4:0= + >=dev-haskell/hinotify-0.3.2:0= + <dev-haskell/hinotify-0.4:0= + >=dev-haskell/hslogger-1.1.4:0= + <dev-haskell/hslogger-1.3:0= + >=dev-haskell/json-0.5:0= + <dev-haskell/json-0.9:0= + >=dev-haskell/lens-3.10:0= + <dev-haskell/lens-4.8:0= + >=dev-haskell/lifted-base-0.2.0.3:0= + <dev-haskell/lifted-base-0.3:0= + >=dev-haskell/monad-control-0.3.1.3:0= + <dev-haskell/monad-control-1.1:0= + >=dev-haskell/network-2.3.0.13:0= + <dev-haskell/network-2.7:0= + >=dev-haskell/parallel-3.2.0.2:3= + <dev-haskell/parallel-3.3:3= + >=dev-haskell/temporary-1.1.2.3:0= + <dev-haskell/temporary-1.3:0= + >=dev-haskell/regex-pcre-0.94.2:0= + <dev-haskell/regex-pcre-0.95:0= + >=dev-haskell/transformers-base-0.4.1:0= + <dev-haskell/transformers-base-0.5:0= + >=dev-haskell/utf8-string-0.3.7:0= + <dev-haskell/utf8-string-0.4:0= + >=dev-haskell/zlib-0.5.3.3:0= + <dev-haskell/zlib-0.6:0= + + >=dev-haskell/psqueue-1.1:0= + <dev-haskell/psqueue-1.2:0= + >=dev-haskell/snap-core-0.8.1:0= + <dev-haskell/snap-core-0.10:0= + >=dev-haskell/snap-server-0.8.1:0= + <dev-haskell/snap-server-0.10:0= + >=dev-haskell/case-insensitive-0.4.0.1 + + dev-haskell/vector:0= + <dev-haskell/semigroupoids-4.1:0= + <dev-haskell/contravariant-0.6 + <dev-haskell/transformers-compat-0.4[three] + xen? ( >=app-emulation/xen-3.0 ) + kvm? ( + dev-python/psutil + app-emulation/qemu + ) + lxc? ( app-emulation/lxc ) + drbd? ( + || ( + <sys-cluster/drbd-8.5 + sys-cluster/drbd-utils + ) + ) + rbd? ( sys-cluster/ceph ) + ipv6? ( net-misc/ndisc6 ) + ${PYTHON_DEPS} + ${GIT_DEPEND}" +RDEPEND="${DEPEND} + !app-emulation/ganeti-htools" +DEPEND+="sys-devel/m4 + app-text/pandoc + >=dev-haskell/test-framework-0.6:0= + <dev-haskell/test-framework-0.9:0= + >=dev-haskell/test-framework-hunit-0.2.7:0= + <dev-haskell/test-framework-hunit-0.4:0= + >=dev-haskell/test-framework-quickcheck2-0.2.12.1:0= + <dev-haskell/test-framework-quickcheck2-0.4:0= + test? ( + dev-python/mock + dev-python/pyyaml + dev-haskell/haddock:0= + >=dev-haskell/hunit-1.2.4.2:0= + <dev-haskell/hunit-1.3:0= + >=dev-haskell/quickcheck-2.4.2:2= + <dev-haskell/quickcheck-2.8:2= + sys-apps/fakeroot + net-misc/socat + dev-util/shelltestrunner + ${DOC_DEPEND} + )" + +PATCHES=( + "${FILESDIR}/${PN}-2.12-start-stop-daemon-args.patch" + "${FILESDIR}/${PN}-2.11-add-pgrep.patch" + "${FILESDIR}/${PN}-2.15-daemon-util.patch" + "${FILESDIR}/${PN}-2.9-disable-root-tests.patch" + "${FILESDIR}/${PN}-2.9-skip-cli-test.patch" + "${FILESDIR}/${PN}-2.10-rundir.patch" + "${FILESDIR}/${PN}-2.12-qemu-enable-kvm.patch" + "${FILESDIR}/${PN}-2.11-tests.patch" + "${FILESDIR}/${PN}-lockdir.patch" + "${FILESDIR}/${PN}-2.11-dont-nest-libdir.patch" + "${FILESDIR}/${PN}-2.11-dont-print-man-help.patch" + "${FILESDIR}/${PN}-2.11-daemon-util-tests.patch" + "${FILESDIR}/${PN}-2.13-process_unittest.patch" + "${FILESDIR}/${PN}-2.15-python-mock.patch" + "${FILESDIR}/${PN}-2.15.2-remove-sandbox-failing-tests.patch" +) + +REQUIRED_USE="kvm? ( || ( amd64 x86 ) )" + +S="${WORKDIR}/${MY_P}" + +QA_WX_LOAD=" + usr/lib*/${PN}/${SERIES}/usr/sbin/ganeti-*d + usr/lib*/${PN}/${SERIES}/usr/bin/htools +" + +pkg_setup () { + local user + python-single-r1_pkg_setup + + if use multiple-users; then + for user in gnt-{masterd,confd,luxid,rapi,daemons,admin}; do + enewgroup ${user} + enewuser ${user} -1 -1 -1 ${user} + done + fi +} + +src_prepare() { + local testfile + epatch "${PATCHES[@]}" + + # not sure why these tests are failing + # should remove this on next version bump if possible + for testfile in test/py/import-export_unittest.bash; do + printf '#!/bin/bash\ntrue\n' > "${testfile}" + done + + # take the sledgehammer approach to bug #526270 + grep -lr '/bin/sh' "${S}" | xargs -r -- sed -i 's:/bin/sh:/bin/bash:g' + + [[ ${PV} =~ [9]{4,} ]] && ./autogen.sh + rm autotools/missing + eautoreconf +} + +src_configure () { + # this is kind of a hack to work around the removal of the qemu-kvm wrapper + local kvm_arch + + if use amd64; then + kvm_arch=x86_64 + elif use x86; then + kvm_arch=i386 + elif use kvm; then + die "Could not determine qemu system to use for kvm" + fi + + econf --localstatedir=/var \ + --sharedstatedir=/var \ + --disable-symlinks \ + --docdir=/usr/share/doc/${P} \ + --with-ssh-initscript=/etc/init.d/sshd \ + --with-export-dir=/var/lib/ganeti-storage/export \ + --with-os-search-path=/usr/share/${PN}/os \ + $(use_enable test haskell-tests) \ + $(usex multiple-users "--with-default-user=" "" "gnt-daemons" "") \ + $(usex multiple-users "--with-user-prefix=" "" "${USER_PREFIX}" "") \ + $(usex multiple-users "--with-default-group=" "" "gnt-daemons" "") \ + $(usex multiple-users "--with-group-prefix=" "" "${GROUP_PREFIX}" "") \ + $(use_enable syslog) \ + $(use_enable monitoring) \ + $(usex kvm '--with-kvm-path=' '' "/usr/bin/qemu-system-${kvm_arch}" '') \ + $(usex haskell-daemons "--enable-confd=haskell" '' '' '') +} + +src_install () { + emake V=1 DESTDIR="${D}" install || die "emake install failed" + + newinitd "${FILESDIR}"/ganeti.initd-r3 ${PN} + newconfd "${FILESDIR}"/ganeti.confd-r2 ${PN} + + if use kvm; then + newinitd "${FILESDIR}"/ganeti-kvm-poweroff.initd ganeti-kvm-poweroff + newconfd "${FILESDIR}"/ganeti-kvm-poweroff.confd ganeti-kvm-poweroff + fi + + # ganeti installs it's own docs in a generic location + rm -rf "${D}"/{usr/share/doc/${PN},run} + + sed -i "s:/usr/$(get_libdir)/${PN}/tools/burnin:burnin:" doc/examples/bash_completion + newbashcomp doc/examples/bash_completion gnt-instance + bashcomp_alias gnt-instance burnin ganeti-{cleaner,confd} \ + h{space,check,scan,info,ail,arep,roller,squeeze,bal} \ + gnt-{os,job,filter,debug,storage,group,node,network,backup,cluster} + + dodoc INSTALL UPGRADE NEWS README doc/*.rst + dohtml -r doc/html/* doc/css/*.css + + docinto examples + dodoc doc/examples/{ganeti.cron,gnt-config-backup} doc/examples/*.ocf + + docinto examples/hooks + dodoc doc/examples/hooks/{ipsec,ethers} + + insinto /etc/cron.d + newins doc/examples/ganeti.cron ${PN} + + insinto /etc/logrotate.d + newins doc/examples/ganeti.logrotate ${PN} + + # need to dodir rather than keepdir here (bug #552482) + dodir /var/lib/${PN} + + keepdir /var/log/${PN}/ + keepdir /usr/share/${PN}/${SERIES}/os/ + keepdir /var/lib/ganeti-storage/{export,file,shared}/ + + dosym ${SERIES} "/usr/share/${PN}/default" + dosym ${SERIES} "/usr/$(get_libdir)/${PN}/default" + + python_fix_shebang "${ED}" "${D}"/usr/"$(get_libdir)"/${PN}/${SERIES} +} + +pkg_postinst() { + if use multiple-users; then + elog "You have enable multiple user support, the users for this must" + elog "be created. You can use the provided tool for this, which is" + elog "located at:" + elog " /usr/$(get_libdir)/${PN}/tools/users-setup" + fi +} + +src_test () { + PATH="${S}/scripts:${S}/src:${PATH}" \ + TMPDIR="/tmp" \ + GANETI_MASTER="$(hostname -f)" \ + emake check || die "emake check failed" +} diff --git a/app-emulation/ganeti/metadata.xml b/app-emulation/ganeti/metadata.xml index e517e17910..e49a71c7d4 100644 --- a/app-emulation/ganeti/metadata.xml +++ b/app-emulation/ganeti/metadata.xml @@ -1,11 +1,14 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <herd>virtualization</herd> - <maintainer> + <maintainer type="person"> <email>chutzpah@gentoo.org</email> <name>Patrick McLean</name> </maintainer> + <maintainer type="project"> + <email>virtualization@gentoo.org</email> + <name>Gentoo Virtualization Project</name> + </maintainer> <longdescription lang="en"> Ganeti is a cluster virtual server management software tool built on top of existing virtualization technologies such as Xen or KVM and other Open @@ -21,16 +24,15 @@ failures using commodity hardware. </longdescription> <use> - <flag name='drbd'>Enable DRBD support</flag> - <flag name='filestorage'>Enable File Storage</flag> - <flag name='haskell-daemons'>Build haskell daemons instead of python</flag> - <flag name='htools'>Enable htools support</flag> - <flag name='kvm'>Enable KVM support</flag> - <flag name='lxc'>Enable Linux Countainers support</flag> - <flag name='multiple-users'>Enable support for running VMs as different users</flag> - <flag name='monitoring'>Enable the ganeti monitoring daemon</flag> - <flag name='rbd'>Enable rados block device support via sys-cluster/ceph</flag> - <flag name='xen'>Enable Xen support</flag> + <flag name="drbd">Enable DRBD support</flag> + <flag name="filestorage">Enable File Storage</flag> + <flag name="haskell-daemons">Build haskell daemons instead of python</flag> + <flag name="htools">Enable htools support</flag> + <flag name="kvm">Enable KVM support</flag> + <flag name="lxc">Enable Linux Countainers support</flag> + <flag name="multiple-users">Enable support for running VMs as different users</flag> + <flag name="monitoring">Enable the ganeti monitoring daemon</flag> + <flag name="rbd">Enable rados block device support via sys-cluster/ceph</flag> + <flag name="xen">Enable Xen support</flag> </use> </pkgmetadata> - diff --git a/app-emulation/gxemul/metadata.xml b/app-emulation/gxemul/metadata.xml index f7b826fbae..943208f562 100644 --- a/app-emulation/gxemul/metadata.xml +++ b/app-emulation/gxemul/metadata.xml @@ -1,9 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer> - <email>maintainer-needed@gentoo.org</email> - </maintainer> <longdescription>Machine Emulator. Supports emulation across several architectures. Primarily for MIPS support, but other platform support coming soon.</longdescription> <upstream> <remote-id type="sourceforge">gxemul</remote-id> diff --git a/app-emulation/hercules/metadata.xml b/app-emulation/hercules/metadata.xml index feb9acec70..a530a8643a 100644 --- a/app-emulation/hercules/metadata.xml +++ b/app-emulation/hercules/metadata.xml @@ -1,7 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> -<herd>s390</herd> +<maintainer type="project"> + <email>s390@gentoo.org</email> + <name>Gentoo Linux s390 Development</name> +</maintainer> <longdescription> Hercules is an emulator for the IBM System/360, System/370, ESA/390, and z/Architecture series of mainframe computer systems. It will run any diff --git a/app-emulation/libcacard/Manifest b/app-emulation/libcacard/Manifest index 3385cd7ae5..474b0c8b5c 100644 --- a/app-emulation/libcacard/Manifest +++ b/app-emulation/libcacard/Manifest @@ -1 +1,2 @@ DIST libcacard-0.1.2.tar.bz2 276430 SHA256 ca100118865ee24f16cf39367f74434cddbbb003a12a1adc8645f3dc34791daf SHA512 a3622b29fe3a059e069ad6f7da428278a915cec362a6aae3c7cad0d47dfadba67308631435993c0f41cabe92a05874b339518dc503b71b8d86db4976bb6987f6 WHIRLPOOL 9e1a156fbbff34148a1debc1f4a6d23aea687213a45cac7feb57134dcbd59fa95a22558e15e5c237ae6c3a7851282c72b49ee6e94c9fff8940feee13d42f08ad +DIST libcacard-2.5.1.tar.xz 325692 SHA256 4bc29c98bea1defc168205652f4ad203ea5746519b4bef8f04ff7cbe099c4e4e SHA512 88e66745f649f52c3fcc7745834d628e76abc21cef1b300e8750e6c0641f65d0e11224da30fa13dea20d6ebe5d36d7a8680d029e15149fddaea43558216ccc21 WHIRLPOOL 5affa8ad2f047553b0a241a123b89d0db5b7620860da1fafb6123f26efafb7680bfd4d971b3b67e82674664daddf45fe0d973153e97944955e8417ea591d412a diff --git a/app-emulation/libcacard/libcacard-2.5.1.ebuild b/app-emulation/libcacard/libcacard-2.5.1.ebuild new file mode 100644 index 0000000000..f24df6c1c5 --- /dev/null +++ b/app-emulation/libcacard/libcacard-2.5.1.ebuild @@ -0,0 +1,29 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +DESCRIPTION="virtual Common Access Card (CAC) library emulator" +HOMEPAGE="http://spice-space.org/" +SRC_URI="http://spice-space.org/download/${PN}/${P}.tar.xz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc x86" +IUSE="static-libs" + +RDEPEND=">=dev-libs/nss-3.13 + >=dev-libs/glib-2.22 + >=sys-apps/pcsc-lite-1.8" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +src_configure() { + econf $(use_enable static-libs static) +} + +src_install() { + default + 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 6804d7590f..e225897fe9 100644 --- a/app-emulation/libcacard/metadata.xml +++ b/app-emulation/libcacard/metadata.xml @@ -1,9 +1,12 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <herd>virtualization</herd> - <maintainer> + <maintainer type="person"> <email>dev-zero@gentoo.org</email> <name>Tiziano Müller</name> </maintainer> +<maintainer type="project"> + <email>virtualization@gentoo.org</email> + <name>Gentoo Virtualization Project</name> + </maintainer> </pkgmetadata> diff --git a/app-emulation/libguestfs-appliance/metadata.xml b/app-emulation/libguestfs-appliance/metadata.xml index 4b62b2824c..8c0299af58 100644 --- a/app-emulation/libguestfs-appliance/metadata.xml +++ b/app-emulation/libguestfs-appliance/metadata.xml @@ -1,18 +1,21 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> -<herd>proxy-maintainers</herd> -<maintainer> +<maintainer type="person"> <email>andreis.vinogradovs@gmail.com</email> <name>Andreis Vinogradovs</name> </maintainer> -<maintainer> +<maintainer type="person"> <email>maksbotan@gentoo.org</email> <name>Maxim Koltsov</name> </maintainer> -<maintainer> +<maintainer type="person"> <email>rich@annexia.org</email> <name>Richard Jones</name> <description>Upstream - please CC on bugs that concerns upstream</description> </maintainer> +<maintainer type="project"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> +</maintainer> </pkgmetadata> diff --git a/app-emulation/libguestfs/metadata.xml b/app-emulation/libguestfs/metadata.xml index c9f268cb4b..122b2529d0 100644 --- a/app-emulation/libguestfs/metadata.xml +++ b/app-emulation/libguestfs/metadata.xml @@ -1,21 +1,25 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> -<herd>proxy-maintainers</herd> -<maintainer> +<maintainer type="person"> <email>andreis.vinogradovs@gmail.com</email> <name>Andreis Vinogradovs</name> </maintainer> -<maintainer> +<maintainer type="person"> <email>maksbotan@gentoo.org</email> <name>Maxim Koltsov</name> </maintainer> -<maintainer> +<maintainer type="person"> <email>rich@annexia.org</email> <name>Richard Jones</name> <description>Upstream - please CC on bugs that concerns upstream</description> </maintainer> +<maintainer type="project"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> +</maintainer> + <longdescription>Libguestfs is a library and tool set for accessing and modifying virtual machine (VM) disk images</longdescription> <use> diff --git a/app-emulation/libspectrum/metadata.xml b/app-emulation/libspectrum/metadata.xml index c54cad01d6..d891a3f418 100644 --- a/app-emulation/libspectrum/metadata.xml +++ b/app-emulation/libspectrum/metadata.xml @@ -1,17 +1,20 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <herd>proxy-maintainers</herd> - <maintainer> + <maintainer type="person"> <email>neurogeek@gentoo.org</email> <name>Jesus Rivero</name> <description>Proxy Maintainer</description> </maintainer> - <maintainer> + <maintainer type="person"> <email>jmfo1982@yahoo.es</email> <description>Proxied Maintainer. Please CC on bugs.</description> <name>José Manuel Ferrer Ortiz</name> </maintainer> + <maintainer type="project"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> <longdescription> libspectrum is a library designed to make the input and output of some ZX Spectrum emulator files slightly easier. It is intended to be usable on Unix diff --git a/app-emulation/libvirt-glib/Manifest b/app-emulation/libvirt-glib/Manifest index 74c17e9e3d..155d400310 100644 --- a/app-emulation/libvirt-glib/Manifest +++ b/app-emulation/libvirt-glib/Manifest @@ -1,3 +1,2 @@ -DIST libvirt-glib-0.2.0.tar.gz 836245 SHA256 30b7e0f224f9cdcf34c1b05b08803cb617d057613ee96395ae517f4ee6c44a0b SHA512 23b698fe297247dd5ce06d9e37eed2025064ab76a52f008cb89cd835364a52c8fe60ae535f68e67fb6c3454d41328dd77c392efd594a3fb1a237d1beb25d19ae WHIRLPOOL 6ef50cc740fa1b43dafc4666ac221bb57312dd937ee693bd12e582e3cec784a5c7a5d22e3c15cc369ac0a24ae26ce64edc69d2c4b55fc2ea83a8e350bc8003ab -DIST libvirt-glib-0.2.1.tar.gz 844657 SHA256 d856d37b708bc8bf9e6ac294edca7a53f2baa6d857c6f5859be58517a714a2fb SHA512 bd38b5c415f65bd6e8824d419c787afdd43aa322f03045f517f9bae88575de1a0975f0340b24bf776421eeb54632227d798e801a1611ce932878ad7bace3adfb WHIRLPOOL 99408b22553d8b4bea5df75750aea2339800ad45b7497eae1afdc79e11be256f0e79d29fe879ef4bc8992817178850058ee361fa4ac5a4b2213f09a6fa825cb2 DIST libvirt-glib-0.2.2.tar.gz 853052 SHA256 d7be16025231c91ccae43838b7cdb1d55d181856a2a50b0f7b1c5078ad202d9d SHA512 77adcf74dd057b8c5e3c21e1fbe0a99eedbe0005d0247c0173bce69e4e6209dbffe18c7a2f0de9a4c279f138ab5bcc360c14cc2335d0b2b55f22b5819c3e5b70 WHIRLPOOL 628d76cf20fe0b707a56688ad4f17c2c95b12b89fe89f4628e42cee2e8c5855aeac0e06ad45fe71fb63ae935b1ff7a17ee69f294b8358653f7cbcd03aea59876 +DIST libvirt-glib-0.2.3.tar.gz 876258 SHA256 c3b11aa34584b3416148b36bb005505e461830c73c9fd2f40143cca3309250dd SHA512 007e642724658e7f2d4ad10094e70a93186196467140662d5e71644ae8efac25a7f60dcf51b55b60d056d3079ecf0798428e077cb6110292ce5f2a474db9e369 WHIRLPOOL 594ab70f4647e053d9540e857aeba7853491200d825eed713a1025afe5eabbe2f3c698d30b00e0da1735f2fc8465212eae2a965fb93a68099df5d11ce494a0d2 diff --git a/app-emulation/libvirt-glib/libvirt-glib-0.2.0.ebuild b/app-emulation/libvirt-glib/libvirt-glib-0.2.0.ebuild deleted file mode 100644 index 1bde313269..0000000000 --- a/app-emulation/libvirt-glib/libvirt-glib-0.2.0.ebuild +++ /dev/null @@ -1,54 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=5 -GCONF_DEBUG="no" -GNOME2_LA_PUNT="yes" -VALA_MIN_API_VERSION="0.14" -PYTHON_COMPAT=( python2_7 ) - -inherit gnome2 python-single-r1 vala - -DESCRIPTION="GLib and GObject mappings for libvirt" -HOMEPAGE="http://libvirt.org/git/?p=libvirt-glib.git" -SRC_URI="ftp://libvirt.org/libvirt/glib/${P}.tar.gz" - -LICENSE="LGPL-2.1" -SLOT="0" -KEYWORDS="amd64 x86" -IUSE="+introspection python +vala" -REQUIRED_USE=" - python? ( ${PYTHON_REQUIRED_USE} ) - vala? ( introspection ) -" - -# https://bugzilla.redhat.com/show_bug.cgi?id=1093633 -RESTRICT="test" - -RDEPEND=" - dev-libs/libxml2:2 - >=app-emulation/libvirt-0.9.10:= - >=dev-libs/glib-2.38.0:2 - introspection? ( >=dev-libs/gobject-introspection-0.10.8:= ) - python? ( ${PYTHON_DEPS} ) -" -DEPEND="${RDEPEND} - dev-util/gtk-doc-am - >=dev-util/intltool-0.35.0 - virtual/pkgconfig - vala? ( $(vala_depend) ) -" - -pkg_setup() { - use python && python-single-r1_pkg_setup -} - -src_configure() { - gnome2_src_configure \ - --disable-test-coverage \ - --disable-static \ - $(use_enable introspection) \ - $(use_enable vala) \ - $(use_with python) -} diff --git a/app-emulation/libvirt-glib/libvirt-glib-0.2.1.ebuild b/app-emulation/libvirt-glib/libvirt-glib-0.2.3.ebuild index 27caa06e58..a5ccb744bd 100644 --- a/app-emulation/libvirt-glib/libvirt-glib-0.2.1.ebuild +++ b/app-emulation/libvirt-glib/libvirt-glib-0.2.3.ebuild @@ -15,7 +15,7 @@ SRC_URI="ftp://libvirt.org/libvirt/glib/${P}.tar.gz" LICENSE="LGPL-2.1" SLOT="0" -KEYWORDS="amd64 ~x86" +KEYWORDS="~amd64 ~x86" IUSE="+introspection python +vala" REQUIRED_USE=" python? ( ${PYTHON_REQUIRED_USE} ) @@ -27,7 +27,7 @@ RESTRICT="test" RDEPEND=" dev-libs/libxml2:2 - >=app-emulation/libvirt-0.9.10:= + >=app-emulation/libvirt-1.2.6:= >=dev-libs/glib-2.38.0:2 introspection? ( >=dev-libs/gobject-introspection-0.10.8:= ) python? ( ${PYTHON_DEPS} ) diff --git a/app-emulation/libvirt-glib/metadata.xml b/app-emulation/libvirt-glib/metadata.xml index 670adf6150..3d9b69dab4 100644 --- a/app-emulation/libvirt-glib/metadata.xml +++ b/app-emulation/libvirt-glib/metadata.xml @@ -1,10 +1,13 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> -<herd>gnome</herd> -<maintainer> +<maintainer type="person"> <email>tamiko@gentoo.org</email> <name>Matthias Maier</name> <description>Please CC me on bugs</description> </maintainer> +<maintainer type="project"> + <email>gnome@gentoo.org</email> + <name>Gentoo GNOME Desktop</name> +</maintainer> </pkgmetadata> diff --git a/app-emulation/libvirt-snmp/metadata.xml b/app-emulation/libvirt-snmp/metadata.xml index 75dd2ca7d3..acd00be69f 100644 --- a/app-emulation/libvirt-snmp/metadata.xml +++ b/app-emulation/libvirt-snmp/metadata.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer> + <maintainer type="person"> <email>dev-zero@gentoo.org</email> <name>Tiziano Müller</name> </maintainer> diff --git a/app-emulation/libvirt/Manifest b/app-emulation/libvirt/Manifest index ea286cf0f2..a7622e1e11 100644 --- a/app-emulation/libvirt/Manifest +++ b/app-emulation/libvirt/Manifest @@ -1,4 +1,4 @@ -DIST libvirt-1.2.18.tar.gz 29412554 SHA256 d5a5ff18af4cced21fed986d28fa0a21b782d256920326bf0ff1c7731eeb6ade SHA512 e89d494066ebec4de4c9a53089f015635b7b5ccf4a10ab9749883cc81f6f9607b18ca91a1bd01a9cdacb3a46de86223f0432fae3954106cb92dd275e5b4138c5 WHIRLPOOL dbbbd627ccb9be154bc680407898cd32dfdbc218a67f54560e6b0f0200cbc157a9aa05834de5d9d23e3b6da0625fd5943b4c8e38f8bb9a6ff920bc5820287bfc -DIST libvirt-1.2.19.tar.gz 29644247 SHA256 282c141f03331d640020c15f81464b27400e0ee307ef4c5190393b021caedd6e SHA512 2f3f26b90120a39861683f1b5af93ac661ab561e23514c71c2ebfb1ab88da99d25acee9a5d11bec35478e38b9105f3779bffb4d4649f16a91aeccdcaa61e4aa4 WHIRLPOOL 4262beb2248495746d32bc7b16c3eec69d9cba7d4fb3870fcd560bd4d222827cf90eb9cc3df647f3fe10467d1562e72138cbf871adc5f63d4788069e1b9740ac -DIST libvirt-1.2.20.tar.gz 29725368 SHA256 df0b5d8a150863a86b98cf809a586c91b2d49af25b74a354049ea416b0b27d30 SHA512 2c7f7995d38d15453de99cc34e63db9c39c653fc24a4fd949207e62c0241f2a5ff3ab5505909ffae77f7a91d321396372188aa29124b8271f876d93546c44d07 WHIRLPOOL 553517c8eec3f601987d9a9205668a81ffcaf9081ee0d79de847ce1d2c9bcd9115471adf2022095143d440a07f7d48059cfd88094b7dda7046a784c93c449817 +DIST libvirt-1.2.21-20151222.tar.xz 1684 SHA256 6c97f288470ec58bcbe98507563c6a191892c6f8813a7b9688c09b823934cbe5 SHA512 4fd43f0e12434b78ac3e671ad8eb0e402d384cff6278f6d0db322a068c2c8807c7c7f7e5774aa9d19e2a85e49f6d9888908b32fca5fc04980134edaccba0afe2 WHIRLPOOL 2bfbc3cbf1ca44a2bb06ddf2e8eabeb116165560b9c73d649d7b8cc9baba851f5e9246414bfc2c4740f27d0d0d42b6176eaec43b05e8c1e54de2804150c2cde1 DIST libvirt-1.2.21.tar.gz 29848954 SHA256 8d406582f5fe88d739d1d83e0ba7ac7f91f5a8da4be82162ab85631744d8925b SHA512 5c15d0ba5d75c13f735c6a60dfdbad007426f77e113f95894d520f7fc358fa4361d5cce7bb9a548a436f323b845f13b8940abbad568b8b146418430068bb970e WHIRLPOOL d53bbb07c85b3aa2d9b0f38ff2edd3cd0a2a5300627f3e2f0a82bc057303617cab9d6f1d8a9a771bd968b0496d38d3a39a0154f88bdca44dda359a65fdc2c650 +DIST libvirt-1.3.0-20151222.tar.xz 1684 SHA256 3628c3398862eae2966ccf0e55822e4cb8f47e6e8c1b0d17b6fdb9f69dc5490b SHA512 71c8dabc9cb8ead2858bf2d77d3831db59ac34076c99a4ae607c7bb4678b0af28a9f31fdca047ee174237f0e91fbb8db3a843e605256514e1d0ad527fc412275 WHIRLPOOL 47ebd21dd7d17812b8e97ebb70453574550cac18b0cf88cd38c152565d1e01f725a6da90878c41c7836a59318c1294859870e5bb523981954618fdde6704360e +DIST libvirt-1.3.0.tar.gz 30114683 SHA256 ebcf5645fa565e3fe2fe94a86e841db9b768cf0e0a7e6cf395c6327f9a23bd64 SHA512 e252390a05b76e9cd9ed02caadd0ee0d674505f60940bb6ced955e17f69c7dd55fe5b38204ae5c25b6e5703415a0f6a12fc545d138d0e8b016457a85dc8fa2b8 WHIRLPOOL 852c592b27be86d3fb2ec75ca5debf9a1e0ac5de6d1ab06c55c2d70e83de125d10c2fc967b7578fba9137ed7a30b7a7e195f4e5f8d35708deeeddc97424d5e40 diff --git a/app-emulation/libvirt/files/libvirt-1.3.0-do_not_use_sysconf.patch b/app-emulation/libvirt/files/libvirt-1.3.0-do_not_use_sysconf.patch new file mode 100644 index 0000000000..47010c4f74 --- /dev/null +++ b/app-emulation/libvirt/files/libvirt-1.3.0-do_not_use_sysconf.patch @@ -0,0 +1,114 @@ +diff --git a/daemon/Makefile.am b/daemon/Makefile.am +index be1b5a9..5ce0e1e 100644 +--- a/daemon/Makefile.am ++++ b/daemon/Makefile.am +@@ -385,9 +385,7 @@ uninstall-logrotate: + rmdir $(DESTDIR)$(sysconfdir)/logrotate.d || : + + install-sysconfig: +- $(MKDIR_P) $(DESTDIR)$(sysconfdir)/sysconfig +- $(INSTALL_DATA) $(srcdir)/libvirtd.sysconf \ +- $(DESTDIR)$(sysconfdir)/sysconfig/libvirtd ++ + uninstall-sysconfig: + rm -f $(DESTDIR)$(sysconfdir)/sysconfig/libvirtd + rmdir $(DESTDIR)$(sysconfdir)/sysconfig || : +diff --git a/daemon/libvirtd.service.in b/daemon/libvirtd.service.in +index 608221c..63708f4 100644 +--- a/daemon/libvirtd.service.in ++++ b/daemon/libvirtd.service.in +@@ -12,8 +12,7 @@ Documentation=http://libvirt.org + + [Service] + Type=notify +-EnvironmentFile=-/etc/sysconfig/libvirtd +-ExecStart=@sbindir@/libvirtd $LIBVIRTD_ARGS ++ExecStart=@sbindir@/libvirtd + ExecReload=/bin/kill -HUP $MAINPID + KillMode=process + Restart=on-failure +diff --git a/src/Makefile.am b/src/Makefile.am +index 7219f7c..c474a23 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -2473,11 +2473,6 @@ EXTRA_DIST += \ + logging/virtlogd.sysconf + + install-sysconfig: +- $(MKDIR_P) $(DESTDIR)$(sysconfdir)/sysconfig +- $(INSTALL_DATA) $(srcdir)/locking/virtlockd.sysconf \ +- $(DESTDIR)$(sysconfdir)/sysconfig/virtlockd +- $(INSTALL_DATA) $(srcdir)/logging/virtlogd.sysconf \ +- $(DESTDIR)$(sysconfdir)/sysconfig/virtlogd + + uninstall-sysconfig: + rm -f $(DESTDIR)$(sysconfdir)/sysconfig/virtlogd +diff --git a/src/locking/virtlockd.service.in b/src/locking/virtlockd.service.in +index 57089b0..ace0c83 100644 +--- a/src/locking/virtlockd.service.in ++++ b/src/locking/virtlockd.service.in +@@ -5,8 +5,7 @@ Documentation=man:virtlockd(8) + Documentation=http://libvirt.org + + [Service] +-EnvironmentFile=-/etc/sysconfig/virtlockd +-ExecStart=@sbindir@/virtlockd $VIRTLOCKD_ARGS ++ExecStart=@sbindir@/virtlockd + ExecReload=/bin/kill -USR1 $MAINPID + # Loosing the locks is a really bad thing that will + # cause the machine to be fenced (rebooted), so make +diff --git a/src/logging/virtlogd.service.in b/src/logging/virtlogd.service.in +index a264d3a..b467884 100644 +--- a/src/logging/virtlogd.service.in ++++ b/src/logging/virtlogd.service.in +@@ -5,8 +5,7 @@ Documentation=man:virtlogd(8) + Documentation=http://libvirt.org + + [Service] +-EnvironmentFile=-/etc/sysconfig/virtlogd +-ExecStart=@sbindir@/virtlogd $VIRTLOGD_ARGS ++ExecStart=@sbindir@/virtlogd + ExecReload=/bin/kill -USR1 $MAINPID + # Loosing the logs is a really bad thing that will + # cause the machine to be fenced (rebooted), so make +diff --git a/tools/Makefile.am b/tools/Makefile.am +index 9180564..e72d5f4 100644 +--- a/tools/Makefile.am ++++ b/tools/Makefile.am +@@ -293,7 +293,7 @@ uninstall-local: uninstall-init uninstall-systemd + install-sysconfig: + $(MKDIR_P) $(DESTDIR)$(sysconfdir)/sysconfig + $(INSTALL_DATA) $(srcdir)/libvirt-guests.sysconf \ +- $(DESTDIR)$(sysconfdir)/sysconfig/libvirt-guests ++ $(DESTDIR)$(sysconfdir)/libvirt/libvirt-guests.conf + + uninstall-sysconfig: + rm -f $(DESTDIR)$(sysconfdir)/sysconfig/libvirt-guests +diff --git a/tools/libvirt-guests.service.in b/tools/libvirt-guests.service.in +index c31f663..71cb79d 100644 +--- a/tools/libvirt-guests.service.in ++++ b/tools/libvirt-guests.service.in +@@ -5,7 +5,7 @@ Documentation=man:libvirtd(8) + Documentation=http://libvirt.org + + [Service] +-EnvironmentFile=-/etc/sysconfig/libvirt-guests ++EnvironmentFile=-/etc/libvirt/libvirt-guests.conf + # Hack just call traditional service until we factor + # out the code + ExecStart=@libexecdir@/libvirt-guests.sh start +diff --git a/tools/libvirt-guests.sysconf b/tools/libvirt-guests.sysconf +index 2770056..accd4f5 100644 +--- a/tools/libvirt-guests.sysconf ++++ b/tools/libvirt-guests.sysconf +@@ -1,3 +1,10 @@ ++# ++# Warning: This configuration file is only sourced by the systemd ++# libvirt-guests.service unit. The coresponding openrc facility is in ++# /etc/init.d/libvirtd and /etc/conf.d/libvirtd ++# ++ ++ + # URIs to check for running guests + # example: URIS='default xen:/// vbox+tcp://host/system lxc:///' + #URIS=default diff --git a/app-emulation/libvirt/files/libvirtd.confd-r4 b/app-emulation/libvirt/files/libvirtd.confd-r4 deleted file mode 100644 index 48ab1252e3..0000000000 --- a/app-emulation/libvirt/files/libvirtd.confd-r4 +++ /dev/null @@ -1,43 +0,0 @@ -# /etc/conf.d/libvirtd - -# Startup dependency -# libvirtd typically requires all networks to be up and settled which -# is what rc_need="net" provides. However if you only use specific networks -# for libvirtd, you may override this. Or if you only use libvirtd locally. -rc_need="net" - -# LIBVIRTD_OPTS -# You may want to add '--listen' to have libvirtd listen for tcp/ip connections -# if you want to use libvirt for remote control -# Please consult 'libvirtd --help' for more options -#LIBVIRTD_OPTS="--listen" - -# LIBVIRTD_KVM_SHUTDOWN -# Valid options: -# * shutdown - Sends an ACPI shutdown (think when you tap the power button -# on your machine and it begins a graceful shutdown). If your -# VM ignores this, it will have the power yanked out from under -# it in LIBVIRTD_KVM_SHUTDOWN_MAXWAIT seconds. -# * managedsave - Performs a state save external to the VM. qemu-kvm will stop -# stop the CPU and save off all state to a separate file. When -# the machine is started again, it will resume like nothing ever -# happened. This is guarenteed to always successfully stop your -# machine and restart it. However it may take some time to finish. -# * none - No attempts will be made to stop any VMs. If you are restarting your -# machine the qemu-kvm process will be simply killed, which may result -# in your VMs having disk corruption. -LIBVIRTD_KVM_SHUTDOWN="managedsave" - -# LIBVIRTD_KVM_SHUTDOWN_MAXWAIT -# Timeout in seconds until stopping libvirtd and "pulling the plug" on the -# remaining VM's still in a running state -#LIBVIRTD_KVM_SHUTDOWN_MAXWAIT="500" - -# LIBVIRTD_KVM_NET_SHUTDOWN -# If libvirtd created networks for you (e.g. NATed networks) then this init -# script will shut them down for you if this is set to 'yes'. Otherwise, -# the networks will be left running once libvirt is shutdown. For this -# option to be useful you must have enabled the 'virt-network' USE flag and -# have had libvirt create a NATed network for you. -# Valid values: 'yes' or 'no' -#LIBVIRTD_KVM_NET_SHUTDOWN="yes" diff --git a/app-emulation/libvirt/files/libvirtd.init-r14 b/app-emulation/libvirt/files/libvirtd.init-r14 deleted file mode 100644 index 7bab68249e..0000000000 --- a/app-emulation/libvirt/files/libvirtd.init-r14 +++ /dev/null @@ -1,139 +0,0 @@ -#!/sbin/runscript - -description="Virtual Machine Management daemon (libvirt)" -extra_started_commands="reload halt" -description_halt="Stops the libvirt daemon without stopping your VMs" -description_reload="Restarts the libvirt daemon without stopping your VMs" - -depend() { - USE_FLAG_FIREWALLD - use USE_FLAG_AVAHI USE_FLAG_ISCSI USE_FLAG_RBD dbus virtlockd - after ntp-client ntpd nfs nfsmount portmap rpc.statd iptables ip6tables ebtables corosync sanlock cgconfig xenconsoled -} - -libvirtd_virsh() { - local mode=$1 - shift - - # Silence errors because virsh always throws an error about - # not finding the hypervisor version when connecting to libvirtd - LC_ALL=C virsh -c ${mode}:///system "$@" 2>/dev/null -} - -libvirtd_dom_list() { - # Make sure that it wouldn't be confused if the domain name - # contains the word running. - libvirtd_virsh $1 list | awk '$3 == "running" { print $1 }' -} - -libvirtd_dom_count() { - # Make sure that it wouldn't be confused if the domain name - # contains the word running. - libvirtd_virsh $1 list | awk 'BEGIN { count = 0 } \ - $3 == "running" { count++ } \ - END { print count }' -} - -libvirtd_net_list() { - # The purpose of the awk is to avoid networks with 'active' in the name - libvirtd_virsh $1 net-list | awk '$2 == "active" { print $1 }' -} - -libvirtd_net_count() { - # The purpose of the awk is to avoid networks with 'active' in the name - libvirtd_virsh $1 net-list | awk 'BEGIN { count = 0 } \ - $2 == "active" { count++ } \ - END { print count }' -} - - -start() { - # Test configuration directories in /etc/libvirt/ to be either not - # present or a directory, i.e. not a regular file, bug #532892 - for dir in lxc nwfilter qemu storage; do - if [ -f /etc/libvirt/$dir ]; then - eerror "/etc/libvirt/$dir was created as a regular file. It must be either" - eerror "a directory or not present for libvirtd to start up successfully." - return 1 - fi - done - - ebegin "Starting libvirtd" - start-stop-daemon --start \ - --env KRB5_KTNAME=/etc/libvirt/krb5.tab \ - --exec /usr/sbin/libvirtd -- -d ${LIBVIRTD_OPTS} - eend $? -} - -stop() { - local counter= - local vm_name= - local net_name= - local dom_id= - - ebegin "Stopping libvirtd" - # try to shutdown all (KVM/Qemu) domains - if [ "${LIBVIRTD_KVM_SHUTDOWN}" != "none" ] \ - && [ "$(libvirtd_dom_count qemu)" != "0" ] ; then - - einfo " Shutting down domain(s):" - for dom_id in $(libvirtd_dom_list qemu) ; do - vm_name="$(libvirtd_virsh qemu domname ${dom_id} | head -n 1)" - einfo " ${vm_name}" - libvirtd_virsh qemu ${LIBVIRTD_KVM_SHUTDOWN} ${dom_id} > /dev/null - done - - if [ -n "${LIBVIRTD_KVM_SHUTDOWN_MAXWAIT}" ] ; then - counter="${LIBVIRTD_KVM_SHUTDOWN_MAXWAIT}" - else - counter=500 - fi - - if [ "${LIBVIRTD_KVM_SHUTDOWN}" = "shutdown" ]; then - einfo " Waiting ${counter} seconds while domains shutdown ..." - DOM_COUNT="$(libvirtd_dom_count qemu)" - while [ ${DOM_COUNT} -gt 0 ] && [ ${counter} -gt 0 ] ; do - DOM_COUNT="$(libvirtd_dom_count qemu)" - sleep 1 - counter=$((${counter} - 1)) - echo -n "." - done - fi - - if [ "$(libvirtd_dom_count qemu)" != "0" ] ; then - eerror " !!! Some guests are still running, stopping anyway" - fi - - fi - - if [ "${LIBVIRTD_KVM_NET_SHUTDOWN}" != "no" ] \ - && [ "$(libvirtd_net_count qemu)" != "0" ]; then - - einfo " Shutting down network(s):" - for net_name in $(libvirtd_net_list qemu); do - einfo " ${net_name}" - libvirtd_virsh qemu net-destroy ${net_name} > /dev/null - done - - if [ "$(libvirtd_net_count qemu)" != "0" ]; then - eerror " !!! Some networks are still active, stopping anyway" - fi - fi - - # Now actually stop the daemon - start-stop-daemon --stop --quiet --exec \ - /usr/sbin/libvirtd --pidfile=/var/run/libvirtd.pid - eend $? -} - -halt() { - ebegin "Stopping libvirtd without shutting down your VMs" - start-stop-daemon --stop --quiet --exec \ - /usr/sbin/libvirtd --pidfile=/var/run/libvirtd.pid - eend $? -} - -reload() { - halt - start -} diff --git a/app-emulation/libvirt/files/libvirtd.init-r16 b/app-emulation/libvirt/files/libvirtd.init-r16 new file mode 100644 index 0000000000..2aa9a880db --- /dev/null +++ b/app-emulation/libvirt/files/libvirtd.init-r16 @@ -0,0 +1,35 @@ +#!/sbin/runscript +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +description="Virtual Machine Management daemon (libvirt)" + +LIBVIRTD_OPTS=${LIBVIRTD_OPTS:-"${LIBVIRTD_OPTS}"} +LIBVIRTD_TIMEOUT=${LIBVIRTD_TERMTIMEOUT:-"TERM/25/KILL/5"} + +command="/usr/sbin/libvirtd" +command_args="-d ${LIBVIRTD_OPTS}" +start_stop_daemon_args="--env KRB5_KTNAME=/etc/libvirt/krb5.tab" +pidfile="/var/run/libvirtd.pid" +retry="${LIBVIRTD_TERMTIMEOUT}" + +depend() { + need virtlogd + use dbus virtlockd + after ntp-client ntpd nfs nfsmount portmap rpc.statd iptables ip6tables ebtables corosync sanlock cgconfig xenconsoled + USE_FLAG_FIREWALLD + USE_FLAG_AVAHI + USE_FLAG_ISCSI + USE_FLAG_RBD +} + +start_pre() { + # Test configuration directories in /etc/libvirt/ to be either not + # present or a directory, i.e. not a regular file, bug #532892 + + checkpath --directory /etc/libvirt/lxc || return 1 + checkpath --directory /etc/libvirt/nwfilter || return 1 + checkpath --directory /etc/libvirt/qemu || return 1 + checkpath --directory /etc/libvirt/storage || return 1 +} diff --git a/app-emulation/libvirt/files/virtlogd.init-r1 b/app-emulation/libvirt/files/virtlogd.init-r1 new file mode 100644 index 0000000000..fac51d99b4 --- /dev/null +++ b/app-emulation/libvirt/files/virtlogd.init-r1 @@ -0,0 +1,24 @@ +#!/sbin/runscript +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +description="libvirt virtual machine logging manager" +command="/usr/sbin/virtlogd" +command_args="-d" +pidfile="/var/run/virtlogd.pid" + +extra_started_commands="reload" +description_reload="re-exec the daemon, while maintaining open connections" + + +depend() { + after ntp-client ntpd nfs nfsmount corosync +} + +reload() { + ebegin "re-exec() virtlogd" + + start-stop-daemon --signal SIGUSR1 \ + --exec "${command}" --pidfile "${pidfile}" +} diff --git a/app-emulation/libvirt/libvirt-1.2.18-r1.ebuild b/app-emulation/libvirt/libvirt-1.2.18-r1.ebuild deleted file mode 100644 index 9ffa581469..0000000000 --- a/app-emulation/libvirt/libvirt-1.2.18-r1.ebuild +++ /dev/null @@ -1,480 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=5 - -AUTOTOOLIZE=yes - -MY_P="${P/_rc/-rc}" - -inherit eutils user autotools linux-info systemd readme.gentoo - -BACKPORTS="" - -if [[ ${PV} = *9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="git://libvirt.org/libvirt.git" - SRC_URI="" - KEYWORDS="" - SLOT="0" -else - # Versions with 4 numbers are stable updates: - if [[ ${PV} =~ ^[0-9]+(\.[0-9]+){3} ]]; then - SRC_URI="http://libvirt.org/sources/stable_updates/${MY_P}.tar.gz" - else - SRC_URI="http://libvirt.org/sources/${MY_P}.tar.gz" - fi - SRC_URI+=" ${BACKPORTS:+ - https://dev.gentoo.org/~cardoe/distfiles/${P}-${BACKPORTS}.tar.xz - https://dev.gentoo.org/~tamiko/distfiles/${P}-${BACKPORTS}.tar.xz}" - KEYWORDS="amd64 x86" - SLOT="0/${PV}" -fi -S="${WORKDIR}/${P%_rc*}" - -DESCRIPTION="C toolkit to manipulate virtual machines" -HOMEPAGE="http://www.libvirt.org/" -LICENSE="LGPL-2.1" -# TODO: Reenable IUSE wireshark-plugins -IUSE="apparmor audit avahi +caps firewalld fuse glusterfs iscsi +libvirtd lvm \ - lxc +macvtap nfs nls numa openvz parted pcap phyp policykit +qemu rbd sasl \ - selinux +udev uml +vepa virtualbox virt-network wireshark-plugins xen \ - elibc_glibc systemd" -REQUIRED_USE="libvirtd? ( || ( lxc openvz qemu uml virtualbox xen ) ) - lxc? ( caps libvirtd ) - openvz? ( libvirtd ) - qemu? ( libvirtd ) - uml? ( libvirtd ) - vepa? ( macvtap ) - virtualbox? ( libvirtd ) - xen? ( libvirtd ) - virt-network? ( libvirtd ) - firewalld? ( virt-network )" - -# 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="sys-libs/readline:= - sys-libs/ncurses:0= - >=net-misc/curl-7.18.0 - net-firewall/ebtables - >=net-firewall/iptables-1.4.10[ipv6] - dev-libs/libgcrypt:0 - >=dev-libs/libxml2-2.7.6 - dev-libs/libnl:3 - >=net-libs/gnutls-1.0.25 - net-libs/libssh2 - sys-apps/dmidecode - >=sys-apps/util-linux-2.17 - sys-devel/gettext - >=net-analyzer/netcat6-1.0-r2 - app-misc/scrub - apparmor? ( sys-libs/libapparmor ) - audit? ( sys-process/audit ) - avahi? ( >=net-dns/avahi-0.6[dbus] ) - caps? ( sys-libs/libcap-ng ) - fuse? ( >=sys-fs/fuse-2.8.6 ) - glusterfs? ( >=sys-cluster/glusterfs-3.4.1 ) - iscsi? ( sys-block/open-iscsi ) - lxc? ( !systemd? ( sys-power/pm-utils ) ) - lvm? ( >=sys-fs/lvm2-2.02.48-r2 ) - nfs? ( net-fs/nfs-utils ) - numa? ( - >sys-process/numactl-2.0.2 - sys-process/numad - ) - openvz? ( sys-kernel/openvz-sources:* ) - parted? ( - >=sys-block/parted-1.8[device-mapper] - sys-fs/lvm2 - ) - pcap? ( >=net-libs/libpcap-1.0.0 ) - policykit? ( >=sys-auth/polkit-0.9 ) - qemu? ( - >=app-emulation/qemu-0.13.0 - dev-libs/yajl - !systemd? ( sys-power/pm-utils ) - ) - rbd? ( sys-cluster/ceph ) - sasl? ( dev-libs/cyrus-sasl ) - selinux? ( >=sys-libs/libselinux-2.0.85 ) - systemd? ( sys-apps/systemd ) - virtualbox? ( || ( app-emulation/virtualbox >=app-emulation/virtualbox-bin-2.2.0 ) ) - wireshark-plugins? ( net-analyzer/wireshark:= ) - xen? ( app-emulation/xen-tools app-emulation/xen ) - udev? ( virtual/udev >=x11-libs/libpciaccess-0.10.9 ) - virt-network? ( net-dns/dnsmasq[script] - net-misc/radvd - sys-apps/iproute2[-minimal] - firewalld? ( net-firewall/firewalld ) - ) - elibc_glibc? ( || ( >=net-libs/libtirpc-0.2.2-r1 <sys-libs/glibc-2.14 ) )" - -DEPEND="${RDEPEND} - virtual/pkgconfig - app-text/xhtml1 - dev-lang/perl - dev-perl/XML-XPath - dev-libs/libxslt" - -# gentoo.readme stuff: -DISABLE_AUTOFORMATTING=true -DOC_CONTENTS="For the basic networking support (bridged and routed networks) you don't -need any extra software. For more complex network modes including but not -limited to NATed network, you can enable the 'virt-network' USE flag. - -If you are using dnsmasq on your system, you will have to configure -/etc/dnsmasq.conf to enable the following settings: - bind-interfaces - interface or except-interface -Otherwise you might have issues with your existing DNS server. - -For openrc users: - - Please use /etc/conf.d/libvirtd to control the '--listen' parameter for - libvirtd. - - The default configuration will suspend and resume running kvm guests - with 'managedsave'. This behavior can be changed under - /etc/conf.d/libvirtd - -For systemd users: - - Please use /etc/systemd/system/libvirtd.service.d/00gentoo.conf - to control the '--listen' parameter for libvirtd. - - The configuration for the 'libvirt-guests.service' is found under - /etc/libvirt/libvirt-guests.conf" - -! use policykit && DOC_CONTENTS+=" - -To allow normal users to connect to libvirtd you must change the unix sock -group and/or perms in /etc/libvirt/libvirtd.conf" - -use caps && use qemu && DOC_CONTENTS+=" - -libvirt will now start qemu/kvm VMs with non-root privileges. Ensure any -resources your VMs use are accessible by qemu:qemu" - -LXC_CONFIG_CHECK=" - ~CGROUPS - ~CGROUP_FREEZER - ~CGROUP_DEVICE - ~CGROUP_CPUACCT - ~CGROUP_SCHED - ~CGROUP_PERF - ~BLK_CGROUP - ~NET_CLS_CGROUP - ~CGROUP_NET_PRIO - ~CPUSETS - ~NAMESPACES - ~UTS_NS - ~IPC_NS - ~PID_NS - ~NET_NS - ~USER_NS - ~DEVPTS_MULTIPLE_INSTANCES - ~VETH - ~MACVLAN - ~POSIX_MQUEUE - ~SECURITYFS - ~!GRKERNSEC_CHROOT_MOUNT - ~!GRKERNSEC_CHROOT_DOUBLE - ~!GRKERNSEC_CHROOT_PIVOT - ~!GRKERNSEC_CHROOT_CHMOD - ~!GRKERNSEC_CHROOT_CAPS -" - -VIRTNET_CONFIG_CHECK=" - ~BRIDGE_NF_EBTABLES - ~BRIDGE_EBT_MARK_T - ~NETFILTER_ADVANCED - ~NETFILTER_XT_TARGET_CHECKSUM - ~NETFILTER_XT_CONNMARK - ~NETFILTER_XT_MARK -" - -BWLMT_CONFIG_CHECK=" - ~BRIDGE_EBT_T_NAT - ~NET_SCH_HTB - ~NET_SCH_SFQ - ~NET_SCH_INGRESS - ~NET_CLS_FW - ~NET_CLS_U32 - ~NET_ACT_POLICE -" - -MACVTAP_CONFIG_CHECK=" ~MACVTAP" - -LVM_CONFIG_CHECK=" ~BLK_DEV_DM ~DM_SNAPSHOT ~DM_MULTIPATH" - -ERROR_USER_NS="Optional depending on LXC configuration." - -pkg_setup() { - enewgroup qemu 77 - enewuser qemu 77 -1 -1 qemu kvm - - # Some people used the masked ebuild which was not adding the qemu - # user to the kvm group originally. This results in VMs failing to - # start for some users. bug #430808 - egetent group kvm | grep -q qemu - if [[ $? -ne 0 ]]; then - gpasswd -a qemu kvm - fi - - # Handle specific kernel versions for different features - kernel_is lt 3 6 && LXC_CONFIG_CHECK+=" ~CGROUP_MEM_RES_CTLR" - kernel_is ge 3 6 && LXC_CONFIG_CHECK+=" ~MEMCG ~MEMCG_SWAP ~MEMCG_KMEM" - - CONFIG_CHECK="" - use fuse && CONFIG_CHECK+=" ~FUSE_FS" - use lvm && CONFIG_CHECK+="${LVM_CONFIG_CHECK}" - use lxc && CONFIG_CHECK+="${LXC_CONFIG_CHECK}" - use macvtap && CONFIG_CHECK+="${MACVTAP_CONFIG_CHECK}" - use virt-network && CONFIG_CHECK+="${VIRTNET_CONFIG_CHECK}" - # Bandwidth Limiting Support - use virt-network && CONFIG_CHECK+="${BWLMT_CONFIG_CHECK}" - if [[ -n ${CONFIG_CHECK} ]]; then - linux-info_pkg_setup - fi -} - -src_prepare() { - touch "${S}/.mailmap" - - 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 - - epatch \ - "${FILESDIR}"/${PN}-1.2.9-do_not_use_sysconf.patch \ - "${FILESDIR}"/${PN}-1.2.16-fix_paths_in_libvirt-guests_sh.patch \ - "${FILESDIR}"/${PN}-1.2.17-fix_paths_for_apparmor.patch - - [[ -n ${BACKPORTS} ]] && \ - EPATCH_FORCE=yes EPATCH_SUFFIX="patch" \ - EPATCH_SOURCE="${WORKDIR}/patches" epatch - - epatch_user - - [[ -n ${AUTOTOOLIZE} ]] && eautoreconf - - # Tweak the init script - local avahi_init= - local iscsi_init= - local rbd_init= - local firewalld_init= - cp "${FILESDIR}/libvirtd.init-r14" "${S}/libvirtd.init" - use avahi && avahi_init='avahi-daemon' - use iscsi && iscsi_init='iscsid' - use rbd && rbd_init='ceph' - use firewalld && firewalld_init='need firewalld' - - sed -e "s/USE_FLAG_FIREWALLD/${firewalld_init}/" -i "${S}/libvirtd.init" - sed -e "s/USE_FLAG_AVAHI/${avahi_init}/" -i "${S}/libvirtd.init" - sed -e "s/USE_FLAG_ISCSI/${iscsi_init}/" -i "${S}/libvirtd.init" - sed -e "s/USE_FLAG_RBD/${rbd_init}/" -i "${S}/libvirtd.init" -} - -src_configure() { - local myconf="" - - ## enable/disable daemon, otherwise client only utils - myconf+=" $(use_with libvirtd)" - - ## enable/disable the daemon using avahi to find VMs - myconf+=" $(use_with avahi)" - - ## hypervisors on the local host - myconf+=" $(use_with xen) $(use_with xen xen-inotify)" - myconf+=" --without-xenapi" - if use xen && has_version ">=app-emulation/xen-tools-4.2.0"; then - myconf+=" --with-libxl" - else - myconf+=" --without-libxl" - fi - myconf+=" $(use_with openvz)" - myconf+=" $(use_with lxc)" - if use virtualbox && has_version app-emulation/virtualbox-ose; then - myconf+=" --with-vbox=/usr/lib/virtualbox-ose/" - else - myconf+=" $(use_with virtualbox vbox)" - fi - myconf+=" $(use_with uml)" - myconf+=" $(use_with qemu)" - myconf+=" $(use_with qemu yajl)" # Use QMP over HMP - myconf+=" $(use_with phyp)" - myconf+=" --with-esx" - myconf+=" --with-vmware" - - ## additional host drivers - myconf+=" $(use_with apparmor)" - myconf+=" $(use_with apparmor apparmor-profiles)" - myconf+=" $(use_with virt-network network)" - myconf+=" --with-storage-fs" - myconf+=" $(use_with lvm storage-lvm)" - myconf+=" $(use_with iscsi storage-iscsi)" - myconf+=" $(use_with parted storage-disk)" - myconf+=" $(use_with glusterfs)" - myconf+=" $(use_with glusterfs storage-gluster)" - myconf+=" $(use_with lvm storage-mpath)" - myconf+=" $(use_with rbd storage-rbd)" - myconf+=" $(use_with numa numactl)" - myconf+=" $(use_with numa numad)" - myconf+=" $(use_with selinux)" - myconf+=" $(use_with fuse)" - - # udev for device support details - myconf+=" $(use_with udev)" - myconf+=" --without-hal" - - # linux capability support so we don't need privileged accounts - myconf+=" $(use_with caps capng)" - - ## auth stuff - myconf+=" $(use_with policykit polkit)" - myconf+=" $(use_with sasl)" - - # network bits - myconf+=" $(use_with macvtap)" - myconf+=" $(use_with pcap libpcap)" - myconf+=" $(use_with vepa virtualport)" - myconf+=" $(use_with firewalld)" - - ## other - myconf+=" $(use_enable nls)" - - # user privilege bits fir qemu/kvm - if use caps; then - myconf+=" --with-qemu-user=qemu" - myconf+=" --with-qemu-group=qemu" - else - myconf+=" --with-qemu-user=root" - myconf+=" --with-qemu-group=root" - fi - - # audit support - myconf+=" $(use_with audit)" - - # wireshark dissector - myconf+=" $(use_with wireshark-plugins wireshark-dissector)" - - ## stuff we don't yet support - myconf+=" --without-netcf" - - # locking support - myconf+=" --without-sanlock" - - # systemd unit files - myconf+=" $(use_with systemd systemd-daemon)" - use systemd && myconf+=" --with-init-script=systemd" - - # this is a nasty trick to work around the problem in bug - # #275073. The reason why we don't solve this properly is that - # it'll require us to rebuild autotools (and we don't really want - # to do that right now). The proper solution has been sent - # upstream and should hopefully land in 0.7.7, in the mean time, - # mime the same functionality with this. - case ${CHOST} in - *cygwin* | *mingw* ) - ;; - *) - ac_cv_prog_WINDRES=no - ;; - esac - - econf \ - ${myconf} \ - --disable-static \ - --disable-werror \ - --with-remote \ - --docdir=/usr/share/doc/${PF} \ - --localstatedir=/var - - if [[ ${PV} = *9999* ]]; then - # Restore gnulib's config.sub and config.guess - # bug #377279 - (cd .gnulib && git reset --hard > /dev/null) - fi -} - -src_test() { - # Explicitly allow parallel build of tests - export VIR_TEST_DEBUG=1 - HOME="${T}" emake check || die "tests failed" -} - -src_install() { - emake install \ - DESTDIR="${D}" \ - HTML_DIR=/usr/share/doc/${PF}/html \ - DOCS_DIR=/usr/share/doc/${PF} \ - EXAMPLE_DIR=/usr/share/doc/${PF}/examples \ - SYSTEMD_UNIT_DIR="$(systemd_get_unitdir)" \ - || die "emake install failed" - - find "${D}" -name '*.la' -delete || die - - # Remove bogus, empty directories. They are either not used, or - # libvirtd is able to create them on demand - rm -rf "${D}"/etc/sysconfig - rm -rf "${D}"/var/cache - rm -rf "${D}"/var/run - rm -rf "${D}"/var/log - - use libvirtd || return 0 - # From here, only libvirtd-related instructions, be warned! - - use systemd && systemd_install_serviced \ - "${FILESDIR}"/libvirtd.service.conf libvirtd.service - - systemd_newtmpfilesd "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf - - newinitd "${S}/libvirtd.init" libvirtd || die - newconfd "${FILESDIR}/libvirtd.confd-r4" libvirtd || die - newinitd "${FILESDIR}/virtlockd.init-r1" virtlockd || die - - 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 - - # We really don't want to use or support old PolicyKit cause it - # screws with the new polkit integration - if has_version sys-auth/policykit; then - rm -rf "${D}"/usr/share/PolicyKit/policy/org.libvirt.unix.policy - fi - - # Only sysctl files ending in .conf work - dodir /etc/sysctl.d - mv "${D}"/usr/lib/sysctl.d/libvirtd.conf "${D}"/etc/sysctl.d/libvirtd.conf -} - -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! - - if [[ -n ${REPLACING_VERSIONS} ]] && ! version_is_at_least 1.2.17-r2 ${REPLACING_VERSIONS} ]]; then - FORCE_PRINT_ELOG=true - fi - - readme.gentoo_print_elog -} diff --git a/app-emulation/libvirt/libvirt-1.2.20-r1.ebuild b/app-emulation/libvirt/libvirt-1.2.21-r2.ebuild index 724342a1bb..80333eeb4b 100644 --- a/app-emulation/libvirt/libvirt-1.2.20-r1.ebuild +++ b/app-emulation/libvirt/libvirt-1.2.21-r2.ebuild @@ -6,7 +6,7 @@ EAPI=5 inherit eutils user autotools-utils linux-info systemd readme.gentoo -BACKPORTS="" +BACKPORTS="20151222" # CVE-2015-5313 if [[ ${PV} = *9999* ]]; then inherit git-r3 @@ -24,7 +24,7 @@ else SRC_URI+=" ${BACKPORTS:+ https://dev.gentoo.org/~cardoe/distfiles/${P}-${BACKPORTS}.tar.xz https://dev.gentoo.org/~tamiko/distfiles/${P}-${BACKPORTS}.tar.xz}" - KEYWORDS="~amd64 ~x86" + KEYWORDS="amd64 x86" SLOT="0/${PV}" fi @@ -109,7 +109,7 @@ RDEPEND=" wireshark-plugins? ( net-analyzer/wireshark:= ) xen? ( app-emulation/xen - app-emulation/xen-tools + app-emulation/xen-tools:= ) udev? ( virtual/udev @@ -295,8 +295,7 @@ src_configure() { --disable-static --disable-werror - --docdir=/usr/share/doc/${PF} - --htmldir=/usr/share/doc/${PF}/html + --with-html-subdir=${PF}/html --localstatedir=/var ) diff --git a/app-emulation/libvirt/libvirt-1.2.19-r1.ebuild b/app-emulation/libvirt/libvirt-1.3.0-r1.ebuild index cb757f002e..f4d64e7119 100644 --- a/app-emulation/libvirt/libvirt-1.2.19-r1.ebuild +++ b/app-emulation/libvirt/libvirt-1.3.0-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ @@ -6,7 +6,7 @@ EAPI=5 inherit eutils user autotools-utils linux-info systemd readme.gentoo -BACKPORTS="" +BACKPORTS="20151222" # CVE-2015-5313 if [[ ${PV} = *9999* ]]; then inherit git-r3 @@ -34,7 +34,7 @@ LICENSE="LGPL-2.1" IUSE="apparmor audit avahi +caps firewalld fuse glusterfs iscsi +libvirtd lvm \ lxc +macvtap nfs nls numa openvz parted pcap phyp policykit +qemu rbd sasl \ selinux systemd +udev uml +vepa virtualbox virt-network wireshark-plugins \ - xen elibc_glibc" + xen" REQUIRED_USE=" firewalld? ( virt-network ) @@ -109,13 +109,12 @@ RDEPEND=" wireshark-plugins? ( net-analyzer/wireshark:= ) xen? ( app-emulation/xen - app-emulation/xen-tools + app-emulation/xen-tools:= ) udev? ( virtual/udev >=x11-libs/libpciaccess-0.10.9 - ) - elibc_glibc? ( || ( >=net-libs/libtirpc-0.2.2-r1 <sys-libs/glibc-2.14 ) )" + )" DEPEND="${RDEPEND} app-text/xhtml1 @@ -219,7 +218,7 @@ src_prepare() { fi epatch \ - "${FILESDIR}"/${PN}-1.2.9-do_not_use_sysconf.patch \ + "${FILESDIR}"/${P}-do_not_use_sysconf.patch \ "${FILESDIR}"/${PN}-1.2.16-fix_paths_in_libvirt-guests_sh.patch \ "${FILESDIR}"/${PN}-1.2.17-fix_paths_for_apparmor.patch @@ -230,11 +229,11 @@ src_prepare() { epatch_user # Tweak the init script: - cp "${FILESDIR}/libvirtd.init-r15" "${S}/libvirtd.init" || die + 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 avahi avahi-daemon '')/" \ - -e "s/USE_FLAG_ISCSI/$(usex iscsi iscsid '')/" \ - -e "s/USE_FLAG_RBD/$(usex rbd ceph '')/" \ + -e "s/USE_FLAG_AVAHI/$(usex avahi '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" AUTOTOOLS_AUTORECONF=true @@ -296,8 +295,7 @@ src_configure() { --disable-static --disable-werror - --docdir=/usr/share/doc/${PF} - --htmldir=/usr/share/doc/${PF}/html + --with-html-subdir=${PF}/html --localstatedir=/var ) @@ -314,6 +312,10 @@ src_configure() { # bug #377279 (cd .gnulib && git reset --hard > /dev/null) fi + + # Workaround: Sometimes this subdirectory is missing and leads to a + # build failure. + mkdir -p "${BUILD_DIR}"/docs/internals } src_test() { @@ -347,6 +349,7 @@ src_install() { newinitd "${S}/libvirtd.init" libvirtd || die newinitd "${FILESDIR}/libvirt-guests.init-r1" 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 diff --git a/app-emulation/libvirt/libvirt-1.2.21.ebuild b/app-emulation/libvirt/libvirt-1.3.0.ebuild index 724342a1bb..0f03ffa5a7 100644 --- a/app-emulation/libvirt/libvirt-1.2.21.ebuild +++ b/app-emulation/libvirt/libvirt-1.3.0.ebuild @@ -6,7 +6,7 @@ EAPI=5 inherit eutils user autotools-utils linux-info systemd readme.gentoo -BACKPORTS="" +BACKPORTS="20151222" # CVE-2015-5313 if [[ ${PV} = *9999* ]]; then inherit git-r3 @@ -109,7 +109,7 @@ RDEPEND=" wireshark-plugins? ( net-analyzer/wireshark:= ) xen? ( app-emulation/xen - app-emulation/xen-tools + app-emulation/xen-tools:= ) udev? ( virtual/udev @@ -218,7 +218,7 @@ src_prepare() { fi epatch \ - "${FILESDIR}"/${PN}-1.2.9-do_not_use_sysconf.patch \ + "${FILESDIR}"/${P}-do_not_use_sysconf.patch \ "${FILESDIR}"/${PN}-1.2.16-fix_paths_in_libvirt-guests_sh.patch \ "${FILESDIR}"/${PN}-1.2.17-fix_paths_for_apparmor.patch @@ -295,8 +295,7 @@ src_configure() { --disable-static --disable-werror - --docdir=/usr/share/doc/${PF} - --htmldir=/usr/share/doc/${PF}/html + --with-html-subdir=${PF}/html --localstatedir=/var ) @@ -313,6 +312,10 @@ src_configure() { # bug #377279 (cd .gnulib && git reset --hard > /dev/null) fi + + # Workaround: Sometimes this subdirectory is missing and leads to a + # build failure. + mkdir -p "${BUILD_DIR}"/docs/internals } src_test() { @@ -346,6 +349,7 @@ src_install() { newinitd "${S}/libvirtd.init" libvirtd || die newinitd "${FILESDIR}/libvirt-guests.init-r1" 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 diff --git a/app-emulation/libvirt/libvirt-9999.ebuild b/app-emulation/libvirt/libvirt-9999.ebuild index 724342a1bb..f07387ffca 100644 --- a/app-emulation/libvirt/libvirt-9999.ebuild +++ b/app-emulation/libvirt/libvirt-9999.ebuild @@ -109,7 +109,7 @@ RDEPEND=" wireshark-plugins? ( net-analyzer/wireshark:= ) xen? ( app-emulation/xen - app-emulation/xen-tools + app-emulation/xen-tools:= ) udev? ( virtual/udev @@ -218,7 +218,7 @@ src_prepare() { fi epatch \ - "${FILESDIR}"/${PN}-1.2.9-do_not_use_sysconf.patch \ + "${FILESDIR}"/${PN}-1.3.0-do_not_use_sysconf.patch \ "${FILESDIR}"/${PN}-1.2.16-fix_paths_in_libvirt-guests_sh.patch \ "${FILESDIR}"/${PN}-1.2.17-fix_paths_for_apparmor.patch @@ -295,8 +295,7 @@ src_configure() { --disable-static --disable-werror - --docdir=/usr/share/doc/${PF} - --htmldir=/usr/share/doc/${PF}/html + --with-html-subdir=${PF}/html --localstatedir=/var ) @@ -346,6 +345,7 @@ src_install() { newinitd "${S}/libvirtd.init" libvirtd || die newinitd "${FILESDIR}/libvirt-guests.init-r1" 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 diff --git a/app-emulation/libvirt/metadata.xml b/app-emulation/libvirt/metadata.xml index 7a316de694..d1981e9085 100644 --- a/app-emulation/libvirt/metadata.xml +++ b/app-emulation/libvirt/metadata.xml @@ -1,16 +1,19 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> -<maintainer> +<maintainer type="person"> <email>tamiko@gentoo.org</email> <name>Matthias Maier</name> <description>Please assign bugs to me</description> </maintainer> -<maintainer> +<maintainer type="person"> <email>cardoe@gentoo.org</email> <name>Doug Goldstein</name> </maintainer> -<herd>virtualization</herd> +<maintainer type="project"> + <email>virtualization@gentoo.org</email> + <name>Gentoo Virtualization Project</name> +</maintainer> <use> <!-- Pool backend flags --> <flag name="iscsi"> diff --git a/app-emulation/lxc/Manifest b/app-emulation/lxc/Manifest index 59c2136be7..4e61c43acb 100644 --- a/app-emulation/lxc/Manifest +++ b/app-emulation/lxc/Manifest @@ -1,7 +1,9 @@ DIST lxc-1.0.6.tar.gz 561249 SHA256 2aea199a89e2cd946f93406af6c3f62844f36954b79a6991b36d2c33022cb11c SHA512 fe85ccb57865d86704df6b4b79d60f31892785b07dc9dd2580cc6c384c89c29c23516e906b7a16bc03c6582c1fb2432bb8ff11bd17c09efa8f6a035fb41f46b1 WHIRLPOOL 9e77453fbe31523a2e8f39cfaba6f09fef68d00b54549167a0cde56c00934f827f5b4190b9fb64242f36782a9fcda63e6796c35fd47420870c2cee7b9bc0a1c8 DIST lxc-1.0.7.tar.gz 564985 SHA256 a0b1b09592e076e270dcb3ba004616d9ac3147f9de0b78ca39a30f8956b0a8f2 SHA512 e6ff42a7b41177e1be0d2cd47d4c554565c7fc35355f3aa8aeba00d4adc7a0f364ecd060ddb6c97b2fe5968329c4e4c4b3cb022bffd2da145f30880f077264a8 WHIRLPOOL f07e5e9efb8ff394aa9cdd6c3e725b453c8137ec221399cbf910d57dbc9268fc84e7227273567792821415dc14e774942b76a58a1a478de57d5c82e545702000 +DIST lxc-1.0.8.tar.gz 575127 SHA256 399ac3eb4e0a89d657fb2e2a57f686ed061d3f1ea4733e7521b1539e9906c7ee SHA512 f552a4f48bb47d26c6b9ddaf8221a439c0848e3f54ec41b77d54717c21bddd56193941046cc96c699790e8265e762a926469c25ee687adcf7795f2906b1c260a WHIRLPOOL 72cd0b8b0345692dd9a3ed8785ee27f5e575794a96c515db1f1d073c29be4c06ae8c1ee24fa375a5ede2bba2494704916710b2e8814ed991d43330a40dff3d56 DIST lxc-1.1.0.tar.gz 592543 SHA256 216e806f7e18e5bfbc782493a9e44fc255f24a587d6faee94cda848a0b949155 SHA512 160da88d6dc96cd9f0679f948bfed057c024adcd459fa4b79e872d12284fa3774ac33a13923c6e150072886a371ccfcdf7ab2c4587efa7f6175fc91a67525c4a WHIRLPOOL 2caf81418850ea8b1ecf25b25e799895563ecf1819f32310fcbb4efe88f711eafe2bcb16a0d3b8ee59072c770a5520b4df90a5962215b932e68a4705c4a56d61 DIST lxc-1.1.1.tar.gz 594112 SHA256 64951fdd39df2bea083bb5a8ac35a7390daf2dc7753d8fce33138129892ef672 SHA512 8af3fb43127b57de4e252baf5cb387270955062ff3838e4807a93d04520ca23f0457913bc8274da51b20961fb08650f9b976a84d395785aca2b2d300b285d549 WHIRLPOOL 4f28b976dd6710705d6361b9a45fef9a1265dffef0cedd0fb304f2820585ece3e2bb64d4c5289d444b3ab55bac265850943c63cdf258c40c45c99176a788ca2a DIST lxc-1.1.2.tar.gz 597158 SHA256 f22fcf2659ca98dfe864e632374de98c42cdf465d0c694834b6f6098a3cb8519 SHA512 7c4c9b5418321eedcd37a3f5c2c99ff227de48f672cabd1722a74722077d33badb038675ec95fc3e338eaf2b06972c4ffb2e11f36347587ef71a95fad5b66daa WHIRLPOOL 2b657a9195b6357a367f6aa7609952d9162aae7d7be3f2c5e4cda4b2e81f2c7411835e75af5740cca053d445a3cf7dc7457f9e76ca866de7265e99ed42c744e9 DIST lxc-1.1.3.tar.gz 599889 SHA256 b75fb8e376d3313e152f31fb7372b68f33a953a12191a39de4cded04fff94300 SHA512 cafa4fbe4fe23b8c0b98007a79f20899c4a3b98c51d797b9c16e38dfec1eee5a513b58621308fe6551707d38028d9e5bd78ade8822691ffe4a7a369b10a48dda WHIRLPOOL 04ad57d8b189ab089b27adad8e511dcc2e5c563505f8134323ac9d738283bd5d0d929ebadeb69cd49ea68ea3e182f22c72590505cbf6f9d8438112e46909e1b5 DIST lxc-1.1.4.tar.gz 604167 SHA256 b087baf5ac4b94618388e6e759d9cdafcf5c98ed67bf9012ee9660076f9fb0d1 SHA512 b239c285b68ddb25c165e998307d69b368bb802e89c1e26de9daab956ffc05cb8e80bf7c796233552b08a57d1cc37c22777bb7a7469db111582184ee13272c93 WHIRLPOOL 2d69d0540c15274627cdbd0f1944a119b601e1298b9328ba336beae0aa6bffd62dfdf85af82f54c3926489e19b4cee7eaa6c35bcfb72e4b3904f85102055ae85 +DIST lxc-1.1.5.tar.gz 607219 SHA256 eefce4cc679656cb8636bf0849f3ba6981c48167884e13dbcb377820a717c09c SHA512 e48ab549f1317afcb5f7768ab988ba27a3e9f1458504e1d70b2e27c502233e7b3538b8ce0b79940140a59a37681bcd8e459416e814f9e4814a4ed86b89e8df1c WHIRLPOOL 0d65ec400913b3298517ba0cb50e064b894d8b26cbd331662e11caee285a37aa1e0d1e4623b69e75585c4369544ca02ff97db90d5127c697cd53fde87d2bc968 diff --git a/app-emulation/lxc/files/lxc-1.0.8-bash-completion.patch b/app-emulation/lxc/files/lxc-1.0.8-bash-completion.patch new file mode 100644 index 0000000000..e9e0e6c98d --- /dev/null +++ b/app-emulation/lxc/files/lxc-1.0.8-bash-completion.patch @@ -0,0 +1,35 @@ +Index: lxc-lxc-1.0.8/config/bash/Makefile.am +=================================================================== +--- lxc-lxc-1.0.8.orig/config/bash/Makefile.am ++++ lxc-lxc-1.0.8/config/bash/Makefile.am +@@ -2,12 +2,12 @@ EXTRA_DIST = lxc + + if ENABLE_BASH + install-bash: +- $(MKDIR_P) $(DESTDIR)$(sysconfdir)/bash_completion.d/ +- $(INSTALL_DATA) lxc $(DESTDIR)$(sysconfdir)/bash_completion.d/ ++ $(MKDIR_P) $(DESTDIR)$(datarootdir)/bash-completion/completions/ ++ $(INSTALL_DATA) lxc $(DESTDIR)$(datarootdir)/bash-completion/completions/ + + uninstall-bash: +- rm -f $(DESTDIR)$(sysconfdir)/bash_completion.d/lxc +- rmdir $(DESTDIR)$(sysconfdir)/bash_completion.d/ || : ++ rm -f $(DESTDIR)$(datarootdir)/bash-completion/completions/lxc ++ rmdir $(DESTDIR)$(datarootdir)/bash-completion// || : + + install-data-local: install-bash + uninstall-local: uninstall-bash +Index: lxc-lxc-1.0.8/config/bash/lxc.in +=================================================================== +--- lxc-lxc-1.0.8.orig/config/bash/lxc.in ++++ lxc-lxc-1.0.8/config/bash/lxc.in +@@ -1,4 +1,3 @@ +-have lxc-start && { + _lxc_names() { + COMPREPLY=( $( compgen -W "$( lxc-ls )" "$cur" ) ) + } +@@ -100,4 +99,3 @@ have lxc-start && { + + complete -o default -F _lxc_generic_o lxc-clone + complete -o default -F _lxc_generic_o lxc-start-ephemeral +-} diff --git a/app-emulation/lxc/lxc-1.0.8.ebuild b/app-emulation/lxc/lxc-1.0.8.ebuild new file mode 100644 index 0000000000..3eed768ba8 --- /dev/null +++ b/app-emulation/lxc/lxc-1.0.8.ebuild @@ -0,0 +1,189 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +MY_P="${P/_/-}" +PYTHON_COMPAT=( python{3_3,3_4} ) +DISTUTILS_OPTIONAL=1 + +inherit autotools bash-completion-r1 distutils-r1 eutils linux-info versionator flag-o-matic systemd + +DESCRIPTION="LinuX Containers userspace utilities" +HOMEPAGE="https://linuxcontainers.org/" +SRC_URI="https://github.com/lxc/lxc/archive/${MY_P}.tar.gz" + +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" + +LICENSE="LGPL-3" +SLOT="0" +IUSE="doc examples lua python seccomp" + +RDEPEND="net-libs/gnutls + sys-libs/libcap + lua? ( >=dev-lang/lua-5.1:= ) + python? ( ${PYTHON_DEPS} ) + seccomp? ( sys-libs/libseccomp )" + +DEPEND="${RDEPEND} + doc? ( 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 + ~RESOURCE_COUNTERS + ~CGROUP_SCHED + + ~NAMESPACES + ~IPC_NS ~USER_NS ~PID_NS + + ~DEVPTS_MULTIPLE_INSTANCES + ~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 +" + +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" + +DOCS=(AUTHORS CONTRIBUTING MAINTAINERS NEWS README doc/FAQ.txt) + +S="${WORKDIR}/${PN}-${MY_P}" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +src_prepare() { + sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.ac || die + if [[ -n ${BACKPORTS} ]]; then + epatch "${WORKDIR}"/patches/* + fi + + epatch "${FILESDIR}"/${PN}-1.0.8-bash-completion.patch + + eautoreconf +} + +src_configure() { + append-flags -fno-strict-aliasing + + econf \ + --localstatedir=/var \ + --bindir=/usr/sbin \ + --docdir=/usr/share/doc/${PF} \ + --with-config-path=/etc/lxc \ + --with-rootfs-path=/usr/lib/lxc/rootfs \ + --with-distro=gentoo \ + $(use_enable doc) \ + --disable-apparmor \ + $(use_enable examples) \ + $(use_enable lua) \ + $(use_enable seccomp) \ + --disable-python +} + +python_compile() { + distutils-r1_python_compile build_ext -I ../ -L ../${PN} +} + +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 + bashcomp_alias ${PN}-start \ + ${PN}-{attach,cgroup,clone,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 /usr/lib/lxc/rootfs /var/log/lxc + + find "${D}" -name '*.la' -delete + + # Gentoo-specific additions! + # Use initd.3 per #517144 + newinitd "${FILESDIR}/${PN}.initd.3" ${PN} + + # lxc-devsetup script + exeinto /usr/libexec/${PN} + doexe config/init/systemd/${PN}-devsetup + # Use that script with the systemd service (Similar to upstream + # Makefile.am + cp "${FILESDIR}"/${PN}_at.service ${PN}_at.service || die + sed -i \ + "/Restart=always/a ExecStartPre=/usr/libexec/${PN}/${PN}-devsetup" \ + ${PN}_at.service \ + || die "Failed to add ${PN}-devsetup to the systemd service file" + systemd_newunit ${PN}_at.service "lxc@.service" +} + +pkg_postinst() { + elog "There is an init script provided with the package now; no documentation" + elog "is currently available though, so please check out /etc/init.d/lxc ." + elog "You _should_ only need to symlink it to /etc/init.d/lxc.configname" + elog "to start the container defined into /etc/lxc/configname.conf ." + elog "For further information about LXC development see" + elog "http://blog.flameeyes.eu/tag/lxc" # remove once proper doc is available + elog "" + ewarn "With version 0.7.4, the mountpoint syntax came back to the one used by 0.7.2" + ewarn "and previous versions. This means you'll have to use syntax like the following" + ewarn "" + ewarn " lxc.rootfs = /container" + ewarn " lxc.mount.entry = /usr/portage /container/usr/portage none bind 0 0" + ewarn "" + ewarn "To use the Fedora, Debian and (various) Ubuntu auto-configuration scripts, you" + ewarn "will need sys-apps/yum or dev-util/debootstrap." + ewarn "" + ewarn "Some GrSecurity settings in relation to chroot security will cause LXC not to" + ewarn "work, while others will actually make it much more secure. Please refer to" + ewarn "Diego Elio Pettenò's weblog at http://blog.flameeyes.eu/tag/lxc for further" + ewarn "details." +} diff --git a/app-emulation/lxc/lxc-1.1.5.ebuild b/app-emulation/lxc/lxc-1.1.5.ebuild new file mode 100644 index 0000000000..12c1751993 --- /dev/null +++ b/app-emulation/lxc/lxc-1.1.5.ebuild @@ -0,0 +1,198 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +MY_P="${P/_/-}" +PYTHON_COMPAT=( python{3_3,3_4,3_5} ) +DISTUTILS_OPTIONAL=1 + +inherit autotools bash-completion-r1 distutils-r1 eutils linux-info versionator flag-o-matic systemd + +DESCRIPTION="LinuX Containers userspace utilities" +HOMEPAGE="https://linuxcontainers.org/" +SRC_URI="https://github.com/lxc/lxc/archive/${MY_P}.tar.gz" + +KEYWORDS="~amd64 ~arm ~arm64" + +LICENSE="LGPL-3" +SLOT="0" +IUSE="cgmanager doc examples lua python seccomp" + +RDEPEND="net-libs/gnutls + sys-libs/libcap + cgmanager? ( app-admin/cgmanager ) + lua? ( >=dev-lang/lua-5.1:= ) + python? ( ${PYTHON_DEPS} ) + seccomp? ( sys-libs/libseccomp )" + +DEPEND="${RDEPEND} + doc? ( app-text/docbook-sgml-utils ) + >=sys-kernel/linux-headers-3.2" + +RDEPEND="${RDEPEND} + sys-process/criu + 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 + + ~DEVPTS_MULTIPLE_INSTANCES + ~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) + +S="${WORKDIR}/${PN}-${MY_P}" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +src_prepare() { + + epatch "${FILESDIR}"/${PN}-1.1.3-bash-completion.patch + 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. + econf \ + --localstatedir=/var \ + --bindir=/usr/bin \ + --sbindir=/usr/bin \ + --docdir=/usr/share/doc/${PF} \ + --with-config-path=/var/lib/lxc \ + --with-rootfs-path=/var/lib/lxc/rootfs \ + --with-distro=gentoo \ + --with-runtime-path=/run \ + --disable-apparmor \ + $(use_enable cgmanager) \ + $(use_enable doc) \ + $(use_enable examples) \ + $(use_enable lua) \ + $(use_enable python) \ + $(use_enable seccomp) +} + +python_compile() { + distutils-r1_python_compile build_ext -I ../ -L ../${PN} +} + +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 + bashcomp_alias ${PN}-start \ + ${PN}-{attach,cgroup,clone,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! + # Use initd.3 per #517144 + newinitd "${FILESDIR}/${PN}.initd.3" ${PN} + + # lxc-devsetup script + exeinto /usr/libexec/${PN} + doexe config/init/systemd/${PN}-devsetup + # Remember to compare our systemd unit file with the upstream one + # config/init/systemd/lxc.service.in + systemd_newunit "${FILESDIR}"/${PN}_at.service.2 "lxc@.service" +} + +pkg_postinst() { + elog "" + elog "Starting from version ${PN}-1.1.0-r3, the default lxc path has been" + elog "moved from /etc/lxc to /var/lib/lxc. If you still want to use /etc/lxc" + elog "please add the following to your /etc/lxc/default.conf" + elog "lxc.lxcpath = /etc/lxc" + elog "" + elog "There is an init script provided with the package now; no documentation" + elog "is currently available though, so please check out /etc/init.d/lxc ." + elog "You _should_ only need to symlink it to /etc/init.d/lxc.configname" + elog "to start the container defined into /etc/lxc/configname.conf ." + elog "For further information about LXC development see" + elog "http://blog.flameeyes.eu/tag/lxc" # remove once proper doc is available + elog "" +} diff --git a/app-emulation/lxc/metadata.xml b/app-emulation/lxc/metadata.xml index 536d8f3d85..a1fcb3db26 100644 --- a/app-emulation/lxc/metadata.xml +++ b/app-emulation/lxc/metadata.xml @@ -1,16 +1,19 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <herd>virtualization</herd> - <maintainer> + <maintainer type="person"> <email>flameeyes@gentoo.org</email> </maintainer> - <maintainer> + <maintainer type="person"> <email>dev-zero@gentoo.org</email> </maintainer> - <maintainer> + <maintainer type="person"> <email>hwoarang@gentoo.org</email> </maintainer> + <maintainer type="project"> + <email>virtualization@gentoo.org</email> + <name>Gentoo Virtualization Project</name> + </maintainer> <use> <flag name="cgmanager">Enable support for cgroup management using <pkg>app-admin/cgmanager</pkg></flag> </use> diff --git a/app-emulation/lxd/Manifest b/app-emulation/lxd/Manifest index b8bca616b4..fcb60cb019 100644 --- a/app-emulation/lxd/Manifest +++ b/app-emulation/lxd/Manifest @@ -1,3 +1,3 @@ -DIST lxd-0.20.tar.bz2 2687718 SHA256 a071b92015f676746137e1ffeab1886d90297d0d5832bbf5ee6aff081acc4840 SHA512 2064daa7d1aeb4764a15d559e3d4178918942d82dbba31e964d713aab48d2ee30ce6a63632701c41b13de4aea541acd76d55b52f12de10a99ffeaa3cb945ad44 WHIRLPOOL 1ffa9d6bf1cb7132b82e731002eae7b7ff3544fb03958827916c2e00e02a0bdd10bbadd2401f7799187c2c0338987f24b46d8e138131f7df888162e56b3f4fe5 -DIST lxd-0.21.tar.bz2 2683517 SHA256 06e9ed72d1d45af532664e47d9772a886dc1d757e83d673498b05798249c66c8 SHA512 588225ed77cd8a86b34579ee3f3b2b3ba8166ce9d85872e6076fa5075bc5a3846c82255dee6e701a6d51bdd9bf8280bbd5fab08ca4438de5320de8f0388685eb WHIRLPOOL c85f103e38f44c4cd859faf330764c3d076cede6d09f976b4686d7f91b6ca233e09721df418493fed19cb8bf3118b2a0a6723f3084da532bba4a5344de8a4b9c -DIST lxd-0.22.tar.bz2 2685133 SHA256 66dc30b82fba7f606658280d0dbac67a32152644a403ab00285fc3907b50082e SHA512 ab5384143edd03dfa1ef956c64e9fce2d845ce07c5388f719c202fd1ff9059282e104400f39f23ff1c4fefc8a23dd1d4c6c9094b497c40c659b087989bf07d44 WHIRLPOOL 27559c50f6aa55edb533046bb49b04784c63003569e7920261504a7b4c69891a80ff8432421352c13f274bb21876f2cf5266e9de2b1302d69e0254be87c17137 +DIST lxd-0.25.tar.bz2 1983043 SHA256 1cfdf1a5e8638060e2368e9e5cf8763406857309f08c4668fa0756e85ba7b89e SHA512 001e52826a3bbe00121115ddace14b3f552321f16e97700763ff6dd23b5babd3c1393cbc9b9b263b6a18c31e49c30d612e3d7153d4987644689989be0be50d00 WHIRLPOOL 496f3f19c50c1ee79ba8b5625cf34b6f57683f4066a09b3edc2cbd017cc5ebc2cc7ac9e569c94bcba0d699c6efb722b79ae43541e0dfddc2fb8d877131519b06 +DIST lxd-0.26.tar.bz2 1985288 SHA256 71079140946e3e66563cc3025c3e4f756fd45cc413af1d5396c56a608427d0aa SHA512 25aa73274b03163698646fe2f49c2401ae93a9b90be46f0ba0414521bc920e68c61db7e6617d75a19675e22a705afd5d3220e24a518e30819daf3dc75670b900 WHIRLPOOL d59471f02744efbe3d3dbb1ae32dcf17141f8414a1614535451e75c5422928d3c5d54dceebcf0d829f7395ae3cb49bf424ff7999d1e32b9384a3f81b3d3ab01e +DIST lxd-0.27.tar.bz2 2247266 SHA256 290d05a792f2f146b302d500eadd3168822ed99aecb4ea96762570580f29910a SHA512 37d5fef677a943dc7e84c73836aa1d4e5f0353c165aa33cefcd87dcd1fdae574760e74fb290404182badfee96e04ef929a81d6633d2c0f91c458ccd19996b9c3 WHIRLPOOL d1d0c0fad0e604f41482c133f4425461546599aded2e948d5c58f7698eba963746ac8c3c3085ffbd244b0169cedb26ad8ec5d85babea6aa9a7688ee6ce342589 diff --git a/app-emulation/lxd/files/lxd-0.20-nc-binary-name.patch b/app-emulation/lxd/files/lxd-0.20-nc-binary-name.patch deleted file mode 100644 index b88b7f7e50..0000000000 --- a/app-emulation/lxd/files/lxd-0.20-nc-binary-name.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- lxd/rsync.go.orig 2015-09-17 21:00:29.290772099 -0500 -+++ lxd/rsync.go 2015-09-17 21:00:54.737770359 -0500 -@@ -73,7 +73,7 @@ - * command (i.e. the command to run on --server). However, we're - * hardcoding that at the other end, so we can just ignore it. - */ -- rsyncCmd := fmt.Sprintf("sh -c \"nc -U %s\"", f.Name()) -+ rsyncCmd := fmt.Sprintf("sh -c \"nc.openbsd -U %s\"", f.Name()) - cmd := exec.Command("rsync", "-arvP", "--devices", "--partial", path, "localhost:/tmp/foo", "-e", rsyncCmd) - if err := cmd.Start(); err != nil { - return nil, nil, err diff --git a/app-emulation/lxd/files/lxd-0.21-nc-binary-name.patch b/app-emulation/lxd/files/lxd-0.21-nc-binary-name.patch deleted file mode 100644 index b88b7f7e50..0000000000 --- a/app-emulation/lxd/files/lxd-0.21-nc-binary-name.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- lxd/rsync.go.orig 2015-09-17 21:00:29.290772099 -0500 -+++ lxd/rsync.go 2015-09-17 21:00:54.737770359 -0500 -@@ -73,7 +73,7 @@ - * command (i.e. the command to run on --server). However, we're - * hardcoding that at the other end, so we can just ignore it. - */ -- rsyncCmd := fmt.Sprintf("sh -c \"nc -U %s\"", f.Name()) -+ rsyncCmd := fmt.Sprintf("sh -c \"nc.openbsd -U %s\"", f.Name()) - cmd := exec.Command("rsync", "-arvP", "--devices", "--partial", path, "localhost:/tmp/foo", "-e", rsyncCmd) - if err := cmd.Start(); err != nil { - return nil, nil, err diff --git a/app-emulation/lxd/files/lxd-0.20-dont-go-get.patch b/app-emulation/lxd/files/lxd-0.25-dont-go-get.patch index 1b229ea99c..9964af6aec 100644 --- a/app-emulation/lxd/files/lxd-0.20-dont-go-get.patch +++ b/app-emulation/lxd/files/lxd-0.25-dont-go-get.patch @@ -1,9 +1,10 @@ ---- Makefile.orig 2015-09-17 20:37:16.481867339 -0500 -+++ Makefile 2015-09-17 20:53:27.715800926 -0500 -@@ -12,15 +12,11 @@ +--- Makefile.orig 2015-12-28 19:23:28.425122306 -0600 ++++ Makefile 2015-12-28 19:25:09.482123654 -0600 +@@ -12,17 +12,11 @@ .PHONY: default default: +- # Must run twice due to go get race - -go get -t -v -d ./... - -go get -t -v -d ./... go install -v ./... @@ -11,6 +12,7 @@ .PHONY: client client: +- # Must run twice due to go get race - -go get -t -v -d ./... - -go get -t -v -d ./... go install -v ./lxc diff --git a/app-emulation/lxd/files/lxd-0.22-nc-binary-name.patch b/app-emulation/lxd/files/lxd-0.25-nc-binary-name.patch index 7373b66969..7373b66969 100644 --- a/app-emulation/lxd/files/lxd-0.22-nc-binary-name.patch +++ b/app-emulation/lxd/files/lxd-0.25-nc-binary-name.patch diff --git a/app-emulation/lxd/files/lxd-0.20.confd b/app-emulation/lxd/files/lxd-0.25.confd index 3d553276a5..3d553276a5 100644 --- a/app-emulation/lxd/files/lxd-0.20.confd +++ b/app-emulation/lxd/files/lxd-0.25.confd diff --git a/app-emulation/lxd/files/lxd-0.22.initd b/app-emulation/lxd/files/lxd-0.25.initd index 65915f0ae5..ec23258c19 100644 --- a/app-emulation/lxd/files/lxd-0.22.initd +++ b/app-emulation/lxd/files/lxd-0.25.initd @@ -6,11 +6,14 @@ DAEMON=/usr/sbin/lxd PIDFILE=/run/lxd.pid -extra_commands="shutdown" +extra_commands="stopall" depend() { - need cgmanager need net + use lxcfs + + # remove with 2.0 release + need cgmanager } start() { @@ -28,14 +31,18 @@ start() { } stop() { - ebegin "Stopping lxd server" - start-stop-daemon --stop --quiet -R TERM/45 -p ${PIDFILE} - eend $? + 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 } -shutdown() { - ebegin "Stopping lxd server and containers" - if ${DAEMON} shutdown; then +stopall() { + ebegin "Stopping lxd service and containers" + if "${DAEMON}" shutdown; then /etc/init.d/lxd zap rm -f ${PIDFILE} fi diff --git a/app-emulation/lxd/files/lxd-0.22-dont-go-get.patch b/app-emulation/lxd/files/lxd-0.26-dont-go-get.patch index 1b229ea99c..9964af6aec 100644 --- a/app-emulation/lxd/files/lxd-0.22-dont-go-get.patch +++ b/app-emulation/lxd/files/lxd-0.26-dont-go-get.patch @@ -1,9 +1,10 @@ ---- Makefile.orig 2015-09-17 20:37:16.481867339 -0500 -+++ Makefile 2015-09-17 20:53:27.715800926 -0500 -@@ -12,15 +12,11 @@ +--- Makefile.orig 2015-12-28 19:23:28.425122306 -0600 ++++ Makefile 2015-12-28 19:25:09.482123654 -0600 +@@ -12,17 +12,11 @@ .PHONY: default default: +- # Must run twice due to go get race - -go get -t -v -d ./... - -go get -t -v -d ./... go install -v ./... @@ -11,6 +12,7 @@ .PHONY: client client: +- # Must run twice due to go get race - -go get -t -v -d ./... - -go get -t -v -d ./... go install -v ./lxc diff --git a/app-emulation/lxd/files/lxd-0.26-nc-binary-name.patch b/app-emulation/lxd/files/lxd-0.26-nc-binary-name.patch new file mode 100644 index 0000000000..7373b66969 --- /dev/null +++ b/app-emulation/lxd/files/lxd-0.26-nc-binary-name.patch @@ -0,0 +1,11 @@ +--- lxd/rsync.go.orig 2015-11-11 20:54:37.402700202 -0600 ++++ lxd/rsync.go 2015-11-11 20:55:06.704698199 -0600 +@@ -91,7 +91,7 @@ + * command (i.e. the command to run on --server). However, we're + * hardcoding that at the other end, so we can just ignore it. + */ +- rsyncCmd := fmt.Sprintf("sh -c \"nc -U %s\"", f.Name()) ++ rsyncCmd := fmt.Sprintf("sh -c \"nc.openbsd -U %s\"", f.Name()) + cmd := exec.Command( + "rsync", + "-arvP", diff --git a/app-emulation/lxd/files/lxd-0.21.confd b/app-emulation/lxd/files/lxd-0.26.confd index 3d553276a5..3d553276a5 100644 --- a/app-emulation/lxd/files/lxd-0.21.confd +++ b/app-emulation/lxd/files/lxd-0.26.confd diff --git a/app-emulation/lxd/files/lxd-0.20.initd b/app-emulation/lxd/files/lxd-0.26.initd index 2b75e51c8a..ec23258c19 100644 --- a/app-emulation/lxd/files/lxd-0.20.initd +++ b/app-emulation/lxd/files/lxd-0.26.initd @@ -6,9 +6,14 @@ DAEMON=/usr/sbin/lxd PIDFILE=/run/lxd.pid +extra_commands="stopall" + depend() { - need cgmanager need net + use lxcfs + + # remove with 2.0 release + need cgmanager } start() { @@ -26,7 +31,20 @@ start() { } stop() { - ebegin "Stopping lxd server" - start-stop-daemon --stop --quiet -R TERM/45 -p ${PIDFILE} + 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/files/lxd-0.21-dont-go-get.patch b/app-emulation/lxd/files/lxd-0.27-dont-go-get.patch index 1b229ea99c..9964af6aec 100644 --- a/app-emulation/lxd/files/lxd-0.21-dont-go-get.patch +++ b/app-emulation/lxd/files/lxd-0.27-dont-go-get.patch @@ -1,9 +1,10 @@ ---- Makefile.orig 2015-09-17 20:37:16.481867339 -0500 -+++ Makefile 2015-09-17 20:53:27.715800926 -0500 -@@ -12,15 +12,11 @@ +--- Makefile.orig 2015-12-28 19:23:28.425122306 -0600 ++++ Makefile 2015-12-28 19:25:09.482123654 -0600 +@@ -12,17 +12,11 @@ .PHONY: default default: +- # Must run twice due to go get race - -go get -t -v -d ./... - -go get -t -v -d ./... go install -v ./... @@ -11,6 +12,7 @@ .PHONY: client client: +- # Must run twice due to go get race - -go get -t -v -d ./... - -go get -t -v -d ./... go install -v ./lxc diff --git a/app-emulation/lxd/files/lxd-0.27-nc-binary-name.patch b/app-emulation/lxd/files/lxd-0.27-nc-binary-name.patch new file mode 100644 index 0000000000..7373b66969 --- /dev/null +++ b/app-emulation/lxd/files/lxd-0.27-nc-binary-name.patch @@ -0,0 +1,11 @@ +--- lxd/rsync.go.orig 2015-11-11 20:54:37.402700202 -0600 ++++ lxd/rsync.go 2015-11-11 20:55:06.704698199 -0600 +@@ -91,7 +91,7 @@ + * command (i.e. the command to run on --server). However, we're + * hardcoding that at the other end, so we can just ignore it. + */ +- rsyncCmd := fmt.Sprintf("sh -c \"nc -U %s\"", f.Name()) ++ rsyncCmd := fmt.Sprintf("sh -c \"nc.openbsd -U %s\"", f.Name()) + cmd := exec.Command( + "rsync", + "-arvP", diff --git a/app-emulation/lxd/files/lxd-0.22.confd b/app-emulation/lxd/files/lxd-0.27.confd index 3d553276a5..3d553276a5 100644 --- a/app-emulation/lxd/files/lxd-0.22.confd +++ b/app-emulation/lxd/files/lxd-0.27.confd diff --git a/app-emulation/lxd/files/lxd-0.21.initd b/app-emulation/lxd/files/lxd-0.27.initd index 2b75e51c8a..ec23258c19 100644 --- a/app-emulation/lxd/files/lxd-0.21.initd +++ b/app-emulation/lxd/files/lxd-0.27.initd @@ -6,9 +6,14 @@ DAEMON=/usr/sbin/lxd PIDFILE=/run/lxd.pid +extra_commands="stopall" + depend() { - need cgmanager need net + use lxcfs + + # remove with 2.0 release + need cgmanager } start() { @@ -26,7 +31,20 @@ start() { } stop() { - ebegin "Stopping lxd server" - start-stop-daemon --stop --quiet -R TERM/45 -p ${PIDFILE} + 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-0.22.ebuild b/app-emulation/lxd/lxd-0.25.ebuild index a56c9bda52..549dff584e 100644 --- a/app-emulation/lxd/lxd-0.22.ebuild +++ b/app-emulation/lxd/lxd-0.25.ebuild @@ -19,9 +19,12 @@ IUSE="+daemon nls test" # IUSE and PLOCALES must be defined before l10n inherited inherit bash-completion-r1 eutils golang-build l10n systemd user vcs-snapshot +# The compiler is forced in golang-base: +# DEPEND=">=dev-lang/go-1.4.2:=" +# ... so the dep is omitted here (and I disagree with := in this case) + DEPEND=" dev-go/go-crypto - >=dev-lang/go-1.4.2:= dev-libs/protobuf dev-vcs/git nls? ( sys-devel/gettext ) @@ -57,7 +60,7 @@ RDEPEND=" # this package directly. src_prepare() { - cd "${S}/src/${EGO_PN}" + cd "${S}/src/${EGO_PN}" || die "Failed to change to deep src dir" epatch "${FILESDIR}/${P}-dont-go-get.patch" @@ -72,7 +75,7 @@ src_prepare() { src_compile() { golang-build_src_compile - cd "${S}/src/${EGO_PN}" + cd "${S}/src/${EGO_PN}" || die "Failed to change to deep src dir" if use daemon; then # Build binaries @@ -98,11 +101,7 @@ src_install() { cd "${S}" dobin bin/lxc - if use daemon; then - dobin bin/fuidshift - - dosbin bin/lxd - fi + use daemon && dosbin bin/lxd cd "src/${EGO_PN}" @@ -149,6 +148,7 @@ pkg_postinst() { 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 diff --git a/app-emulation/lxd/lxd-0.21.ebuild b/app-emulation/lxd/lxd-0.26.ebuild index dd67b7be7a..ce1664213f 100644 --- a/app-emulation/lxd/lxd-0.21.ebuild +++ b/app-emulation/lxd/lxd-0.26.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ @@ -19,9 +19,12 @@ IUSE="+daemon nls test" # IUSE and PLOCALES must be defined before l10n inherited inherit bash-completion-r1 eutils golang-build l10n systemd user vcs-snapshot +# The compiler is forced in golang-base: +# DEPEND=">=dev-lang/go-1.4.2:=" +# ... so the dep is omitted here (and I disagree with := in this case) + DEPEND=" dev-go/go-crypto - >=dev-lang/go-1.4.2:= dev-libs/protobuf dev-vcs/git nls? ( sys-devel/gettext ) @@ -55,12 +58,9 @@ RDEPEND=" # - since 0.15 gccgo is a supported compiler ('make gccgo'). It would # be preferable for that support to go into the golang-build eclass not # this package directly. -# - integrate "lxd shutdown" into initscript as custom action (default "stop" -# action should _not_ stop containers amirite?) -# "Perform a clean shutdown of LXD and all running containers" src_prepare() { - cd "${S}/src/${EGO_PN}" + cd "${S}/src/${EGO_PN}" || die "Failed to change to deep src dir" epatch "${FILESDIR}/${P}-dont-go-get.patch" @@ -75,7 +75,7 @@ src_prepare() { src_compile() { golang-build_src_compile - cd "${S}/src/${EGO_PN}" + cd "${S}/src/${EGO_PN}" || die "Failed to change to deep src dir" if use daemon; then # Build binaries @@ -101,11 +101,7 @@ src_install() { cd "${S}" dobin bin/lxc - if use daemon; then - dobin bin/fuidshift - - dosbin bin/lxd - fi + use daemon && dosbin bin/lxd cd "src/${EGO_PN}" @@ -152,18 +148,10 @@ pkg_postinst() { 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." - - if test -n "${REPLACING_VERSIONS}"; then - einfo - einfo "If you are upgrading from version 0.14 or older, note that the --tcp" - einfo "is no longer available in /etc/conf.d/lxd. Instead, configure the" - einfo "listen address/port by setting the core.https_address server option." - fi - - einfo } diff --git a/app-emulation/lxd/lxd-0.20.ebuild b/app-emulation/lxd/lxd-0.27.ebuild index ab08cd16c4..ba679e3248 100644 --- a/app-emulation/lxd/lxd-0.20.ebuild +++ b/app-emulation/lxd/lxd-0.27.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ @@ -8,7 +8,7 @@ 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" -SRC_URI="http://961db08fe45d5f5dd062-b8a7a040508aea6d369676e49b80719d.r29.cf2.rackcdn.com/${P}.tar.bz2" +SRC_URI="https://dev.gentoo.org/~stasibear/distfiles/${P}.tar.bz2" LICENSE="Apache-2.0" SLOT="0" KEYWORDS="~amd64" @@ -19,9 +19,12 @@ IUSE="+daemon nls test" # IUSE and PLOCALES must be defined before l10n inherited inherit bash-completion-r1 eutils golang-build l10n systemd user vcs-snapshot +# The compiler is forced in golang-base: +# DEPEND=">=dev-lang/go-1.4.2:=" +# ... so the dep is omitted here (and I disagree with := in this case) + DEPEND=" dev-go/go-crypto - >=dev-lang/go-1.4.2:= dev-libs/protobuf dev-vcs/git nls? ( sys-devel/gettext ) @@ -55,12 +58,9 @@ RDEPEND=" # - since 0.15 gccgo is a supported compiler ('make gccgo'). It would # be preferable for that support to go into the golang-build eclass not # this package directly. -# - integrate "lxd shutdown" into initscript as custom action (default "stop" -# action should _not_ stop containers amirite?) -# "Perform a clean shutdown of LXD and all running containers" src_prepare() { - cd "${S}/src/${EGO_PN}" + cd "${S}/src/${EGO_PN}" || die "Failed to change to deep src dir" epatch "${FILESDIR}/${P}-dont-go-get.patch" @@ -75,7 +75,7 @@ src_prepare() { src_compile() { golang-build_src_compile - cd "${S}/src/${EGO_PN}" + cd "${S}/src/${EGO_PN}" || die "Failed to change to deep src dir" if use daemon; then # Build binaries @@ -101,11 +101,7 @@ src_install() { cd "${S}" dobin bin/lxc - if use daemon; then - dobin bin/fuidshift - - dosbin bin/lxd - fi + use daemon && dosbin bin/lxd cd "src/${EGO_PN}" @@ -124,7 +120,7 @@ src_install() { systemd_dounit "${FILESDIR}"/lxd.service fi - newbashcomp config/bash/lxc.in lxc + newbashcomp config/bash/lxd-client lxc dodoc AUTHORS CONTRIBUTING.md README.md @@ -152,18 +148,10 @@ pkg_postinst() { 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." - - if test -n "${REPLACING_VERSIONS}"; then - einfo - einfo "If you are upgrading from version 0.14 or older, note that the --tcp" - einfo "is no longer available in /etc/conf.d/lxd. Instead, configure the" - einfo "listen address/port by setting the core.https_address server option." - fi - - einfo } diff --git a/app-emulation/lxd/metadata.xml b/app-emulation/lxd/metadata.xml index 0ff516e1ca..6550e45afb 100644 --- a/app-emulation/lxd/metadata.xml +++ b/app-emulation/lxd/metadata.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer status="active"> + <maintainer status="active" type="person"> <email>stasibear@gentoo.org</email> <name>Erik Mackdanz</name> </maintainer> diff --git a/app-emulation/open-vm-tools-kmod/metadata.xml b/app-emulation/open-vm-tools-kmod/metadata.xml index 2560d63532..5e7e7fc702 100644 --- a/app-emulation/open-vm-tools-kmod/metadata.xml +++ b/app-emulation/open-vm-tools-kmod/metadata.xml @@ -1,11 +1,14 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <herd>vmware</herd> - <maintainer> + <maintainer type="person"> <email>floppym@gentoo.org</email> <name>Mike Gilbert</name> </maintainer> + <maintainer type="project"> + <email>vmware@gentoo.org</email> + <name>Gentoo VMware Project</name> + </maintainer> <longdescription> The Open Virtual Machine Tools (open-vm-tools) are the open source implementation of VMware Tools. They are a set of guest operating system diff --git a/app-emulation/open-vm-tools/metadata.xml b/app-emulation/open-vm-tools/metadata.xml index 021bf9a90f..2532b4e57e 100644 --- a/app-emulation/open-vm-tools/metadata.xml +++ b/app-emulation/open-vm-tools/metadata.xml @@ -1,11 +1,14 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <herd>vmware</herd> - <maintainer> + <maintainer type="person"> <email>floppym@gentoo.org</email> <name>Mike Gilbert</name> </maintainer> + <maintainer type="project"> + <email>vmware@gentoo.org</email> + <name>Gentoo VMware Project</name> + </maintainer> <longdescription> The Open Virtual Machine Tools (open-vm-tools) are the open source implementation of VMware Tools. They are a set of guest operating system diff --git a/app-emulation/open-vm-tools/open-vm-tools-10.0.0_p3000743.ebuild b/app-emulation/open-vm-tools/open-vm-tools-10.0.0_p3000743.ebuild index 9c136f953a..3cc623f333 100644 --- a/app-emulation/open-vm-tools/open-vm-tools-10.0.0_p3000743.ebuild +++ b/app-emulation/open-vm-tools/open-vm-tools-10.0.0_p3000743.ebuild @@ -63,6 +63,10 @@ src_prepare() { } src_configure() { + # libsigc++-2.0 >= 2.5.1 requires C++11. Using -std=c++11 + # does not provide "linux" definition, we need gnu++11 + append-cxxflags -std=gnu++11 + # https://bugs.gentoo.org/402279 export CUSTOM_PROCPS_NAME=procps export CUSTOM_PROCPS_LIBS="$($(tc-getPKG_CONFIG) --libs libprocps)" diff --git a/app-emulation/openstack-guest-agents-unix/metadata.xml b/app-emulation/openstack-guest-agents-unix/metadata.xml index 1edaa77a24..314a2ed030 100644 --- a/app-emulation/openstack-guest-agents-unix/metadata.xml +++ b/app-emulation/openstack-guest-agents-unix/metadata.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer> + <maintainer type="person"> <email>robbat2@gentoo.org</email> </maintainer> - <maintainer> + <maintainer type="person"> <email>alunduil@gentoo.org</email> </maintainer> <upstream> diff --git a/app-emulation/phpvirtualbox/metadata.xml b/app-emulation/phpvirtualbox/metadata.xml index 404a88dcca..cc3e57de02 100644 --- a/app-emulation/phpvirtualbox/metadata.xml +++ b/app-emulation/phpvirtualbox/metadata.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer> + <maintainer type="person"> <email>hwoarang@gentoo.org</email> <name>Markos Chandras</name> </maintainer> diff --git a/app-emulation/phpvirtualbox/phpvirtualbox-4.1.11.ebuild b/app-emulation/phpvirtualbox/phpvirtualbox-4.1.11.ebuild index adf58b45d0..036938d36c 100644 --- a/app-emulation/phpvirtualbox/phpvirtualbox-4.1.11.ebuild +++ b/app-emulation/phpvirtualbox/phpvirtualbox-4.1.11.ebuild @@ -1,10 +1,10 @@ -# Copyright 1999-2013 Gentoo Foundation +# Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ EAPI="2" -inherit versionator eutils webapp depend.php +inherit versionator eutils webapp MY_PV="$(replace_version_separator 2 '-')" MY_P="${PN}-${MY_PV}" diff --git a/app-emulation/phpvirtualbox/phpvirtualbox-4.2.7.ebuild b/app-emulation/phpvirtualbox/phpvirtualbox-4.2.7.ebuild index 591b528b81..984a92caf7 100644 --- a/app-emulation/phpvirtualbox/phpvirtualbox-4.2.7.ebuild +++ b/app-emulation/phpvirtualbox/phpvirtualbox-4.2.7.ebuild @@ -1,10 +1,10 @@ -# Copyright 1999-2013 Gentoo Foundation +# Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ EAPI="5" -inherit versionator eutils webapp depend.php readme.gentoo +inherit versionator eutils webapp readme.gentoo MY_PV="$(replace_version_separator 2 '-')" MY_P="${PN}-${MY_PV}" diff --git a/app-emulation/phpvirtualbox/phpvirtualbox-4.3.0.ebuild b/app-emulation/phpvirtualbox/phpvirtualbox-4.3.0.ebuild index 951edd15e0..ecda72e539 100644 --- a/app-emulation/phpvirtualbox/phpvirtualbox-4.3.0.ebuild +++ b/app-emulation/phpvirtualbox/phpvirtualbox-4.3.0.ebuild @@ -1,10 +1,10 @@ -# Copyright 1999-2013 Gentoo Foundation +# Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ EAPI="5" -inherit versionator eutils webapp depend.php readme.gentoo +inherit versionator eutils webapp readme.gentoo MY_PV="$(replace_version_separator 2 '-')" MY_P="${PN}-${MY_PV}" diff --git a/app-emulation/phpvirtualbox/phpvirtualbox-5.0.3.ebuild b/app-emulation/phpvirtualbox/phpvirtualbox-5.0.3.ebuild index 5d046cb1bc..db6c8798a0 100644 --- a/app-emulation/phpvirtualbox/phpvirtualbox-5.0.3.ebuild +++ b/app-emulation/phpvirtualbox/phpvirtualbox-5.0.3.ebuild @@ -1,10 +1,10 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ EAPI="5" -inherit versionator eutils webapp depend.php readme.gentoo +inherit versionator eutils webapp readme.gentoo MY_PV="$(replace_version_separator 2 '-')" MY_P="${PN}-${MY_PV}" diff --git a/app-emulation/playonlinux/metadata.xml b/app-emulation/playonlinux/metadata.xml index d94fe6d47e..2a8ec20278 100644 --- a/app-emulation/playonlinux/metadata.xml +++ b/app-emulation/playonlinux/metadata.xml @@ -1,13 +1,15 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <herd>wine</herd> - <maintainer> + <maintainer type="person"> <email>np-hardass@gentoo.org</email> <name>NP-Hardass</name> </maintainer> + <maintainer type="project"> + <email>wine@gentoo.org</email> + <name>Wine</name> + </maintainer> <use> <flag name="winbind">Enables support for the winbind auth daemon</flag> </use> </pkgmetadata> - diff --git a/app-emulation/q4wine/Manifest b/app-emulation/q4wine/Manifest index f203be4b98..5dbb9f0501 100644 --- a/app-emulation/q4wine/Manifest +++ b/app-emulation/q4wine/Manifest @@ -1,2 +1,3 @@ DIST q4wine-1.0-r3.tar.bz2 889308 SHA256 9f1319dd0baff3834a3938e0a048c1529cb9ea521158370176b706fce0d4d2ff SHA512 df10a2fbf6874f4c4e02dd9c43031453a46c76f03d83321f2d6e9544d0540dd07da1bc9246767c5c91ce17d67d5d236227294efaed9de09f3d5a18afbd60b224 WHIRLPOOL 51b5b4cfc157da6b99154269ef4ef9f38ff91f861864158b789352505af485d8b523a21c6d4b59544804ed3c15cb1c6c756db3f3203c8e3ba55c8396c3630df3 DIST q4wine-1.1-r2.tar.bz2 888990 SHA256 01463f9ec3ef9f7ef987d2b77425f2806cf2b60f574deb6644458366782eafc7 SHA512 8aaeec46d239a86a9eb10377842d63d84a35864f920f9dc46a022ae1cf3e010273d3759701595e058a089f6418a297a0bf94ed62b580a71fa1c8c27a80f4ec7e WHIRLPOOL 6ae891e33a2bf3759c45930820e21a273b2bf36f2c386a841a96c3bf14cfdb6741871d3c90383dde3b6b01df1a87f5b1537ae40bac5a494bdd3023248c526244 +DIST q4wine-1.2-r2.tar.bz2 690922 SHA256 44bac78060233504d0db945533e5da4a92bf8b4ca4ef87928032d14451e42160 SHA512 c47fc3adc756ea4bc33dc10f6de03e0a0e72258d1b4b238930136653a7938869d221ce08f6fcafcd5f012583b28227cf827505a59ee5322e9ab90c2c819fd7cb WHIRLPOOL 564eb944097528248f340ac59462f63bec22211d554ad26f125d46382a30ee2a8b7c8d00dd8874fabe92ae939f6bcf13665158957e0e8dad26e077018e495c0d diff --git a/app-emulation/q4wine/metadata.xml b/app-emulation/q4wine/metadata.xml index 4ad3c6023f..fba48c5b16 100644 --- a/app-emulation/q4wine/metadata.xml +++ b/app-emulation/q4wine/metadata.xml @@ -1,11 +1,14 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <herd>qt</herd> - <maintainer> + <maintainer type="person"> <email>hwoarang@gentoo.org</email> <name>Markos Chandras</name> </maintainer> + <maintainer type="project"> + <email>qt@gentoo.org</email> + <name>Gentoo Qt Project</name> + </maintainer> <use> <flag name="gnome">Use the gksu sudo GUI for managing the devices</flag> <flag name="icoutils">Enable icoutils support</flag> diff --git a/app-emulation/q4wine/q4wine-1.2_p2.ebuild b/app-emulation/q4wine/q4wine-1.2_p2.ebuild new file mode 100644 index 0000000000..686546e9b4 --- /dev/null +++ b/app-emulation/q4wine/q4wine-1.2_p2.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +PLOCALES="af_ZA cs_CZ de_DE en_US es_ES fa_IR he_IL it_IT pl_PL pt_BR ru_RU uk_UA" +PLOCALE_BACKUP="en_US" + +inherit cmake-utils l10n + +DESCRIPTION="Qt4 GUI configuration tool for Wine" +HOMEPAGE="http://q4wine.brezblock.org.ua/" + +# Upstream names the package PV-rX. We change that to +# PV_pX so we can use portage revisions. +MY_PV="${PV/_p/-r}" +MY_P="${PN}-${MY_PV}" +SRC_URI="mirror://sourceforge/${PN}/${PN}/${PN}%20${MY_PV}/${MY_P}.tar.bz2" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="+dbus debug +icoutils +wineappdb" + +DEPEND=" + dev-qt/qtcore:4 + dev-qt/qtgui:4 + dev-qt/qtsingleapplication[qt4(+),X] + dev-qt/qtsql:4[sqlite] + dbus? ( dev-qt/qtdbus:4 ) +" +RDEPEND="${DEPEND} + app-admin/sudo + app-emulation/wine + >=sys-apps/which-2.19 + sys-fs/fuseiso + icoutils? ( >=media-gfx/icoutils-0.26.0 ) +" + +S="${WORKDIR}/${MY_P}" + +DOCS=( AUTHORS ChangeLog README ) + +src_configure() { + local enabled_linguas + construct_LINGUAS() { + local current_locale="$(echo ${1} | tr '[:upper:]' '[:lower:]')" + enabled_linguas="${enabled_linguas};${current_locale}" + } + l10n_for_each_locale_do construct_LINGUAS + local mycmakeargs=( + -DLINGUAS="${enabled_linguas}" + -DQT5=OFF + -DWITH_SYSTEM_SINGLEAPP=ON + $(cmake-utils_use debug) + $(cmake-utils_use_with dbus) + $(cmake-utils_use_with icoutils) + $(cmake-utils_use_with wineappdb) + ) + cmake-utils_src_configure +} diff --git a/app-emulation/qemu-guest-agent/Manifest b/app-emulation/qemu-guest-agent/Manifest index dd9b756a37..ec5d4409b1 100644 --- a/app-emulation/qemu-guest-agent/Manifest +++ b/app-emulation/qemu-guest-agent/Manifest @@ -1,3 +1,4 @@ DIST qemu-2.3.0.tar.bz2 24683085 SHA256 b6bab7f763d5be73e7cb5ee7d4c8365b7a8df2972c52fa5ded18893bd8281588 SHA512 7a40d213c5696b27784abd2a3119e49d42c38c923be431826c73a8f14c19074435d7f1a652686c53baf08e81f5a3005b2ddc92d67c32f6a2b19659ab627e9eaa WHIRLPOOL 9dad6e342027c3be512b4e0b40e810e0a6f1dc84a16847aa5aac74d97f7a347e60d42e770335a090f83e90a1614294f86552a84edc1faafc7093d3e32602f5de DIST qemu-2.3.1.tar.bz2 24692020 SHA256 661d029809421cae06b4b1bc74ac0e560cb4ed47c9523c676ff277fa26dca15f SHA512 309e6df7dcc0a064d1a17c7dac2f60398700dfa8c6b60b66e4202966248097cbc49af75aa97725bc34773151be6fd75836810e9f0741ba65cdc208414fa78f6b WHIRLPOOL 26750ee00513daa99cdcd585c4b8407b8258a9c3559ae6335266d7754cb6679e7c10c56f8d12ae0ef2b5cd5d6a9a6a536213f8e86e81ced37e46205c796a773e DIST qemu-2.4.0.tar.bz2 25070979 SHA256 72b0b991bbcc540663a019e1e8c4f714053b691dda32c9b9ee80b25f367e6620 SHA512 8740e0fb2c654ed897dff4649f1f83d14d57cfa9cbde723899f115982f93253ce9a2bddd60aab379d241027d2044137770efe4c0b3c83d5b20f3a2a06f05a5dc WHIRLPOOL 8c6cfae096624e01f0d5daeb86aa2dccbeaa86d2aeab626cf55cf20b7edace82d0b0f3a1d85eeb2dc1fd53abaaa9dccf8f0d7ddc657a1f5ffd72fd68301648f1 +DIST qemu-2.5.0.tar.bz2 25464996 SHA256 3443887401619fe33bfa5d900a4f2d6a79425ae2b7e43d5b8c36eb7a683772d4 SHA512 12153f94cc7f834fd6a85f25690c36f2331d88d414426fb8b9ac20a34e6f9222b1eda30b727674af583580fae90dfd6d0614a905dce1567d94cd049d426b9dd3 WHIRLPOOL 8f5717989d8d234ecf1763ee386b2e1f20c3b17918de130c6dae255e4523a230b2b01a759eba25e4b9f604c680d9b868c56f58bd71b7c6c2c22a2e46804435ef diff --git a/app-emulation/qemu-guest-agent/metadata.xml b/app-emulation/qemu-guest-agent/metadata.xml index 6645932c48..c7b88a32f7 100644 --- a/app-emulation/qemu-guest-agent/metadata.xml +++ b/app-emulation/qemu-guest-agent/metadata.xml @@ -1,6 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <herd>qemu</herd> + <maintainer type="project"> + <email>qemu@gentoo.org</email> + <name>Gentoo QEMU Project</name> + </maintainer> </pkgmetadata> - diff --git a/app-emulation/qemu-guest-agent/qemu-guest-agent-2.5.0.ebuild b/app-emulation/qemu-guest-agent/qemu-guest-agent-2.5.0.ebuild new file mode 100644 index 0000000000..e634cfe2f5 --- /dev/null +++ b/app-emulation/qemu-guest-agent/qemu-guest-agent-2.5.0.ebuild @@ -0,0 +1,88 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) + +inherit eutils systemd udev python-any-r1 + +MY_PN="qemu" +MY_P="${MY_PN}-${PV}" + +if [[ ${PV} == *9999* ]]; then + EGIT_REPO_URI="git://git.qemu.org/qemu.git" + inherit git-2 +else + SRC_URI="http://wiki.qemu.org/download/${MY_P}.tar.bz2" + KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~x86-fbsd" +fi + +DESCRIPTION="QEMU Guest Agent (qemu-ga) for use when running inside a VM" +HOMEPAGE="http://wiki.qemu.org/Features/QAPI/GuestAgent" + +LICENSE="GPL-2 BSD-2" +SLOT="0" +IUSE="" + +RDEPEND=">=dev-libs/glib-2.22 + !<app-emulation/qemu-1.1.1-r1 + !<sys-apps/sysvinit-2.88-r5" +DEPEND="${RDEPEND} + ${PYTHON_DEPS}" + +S="${WORKDIR}/${MY_P}" + +src_prepare() { + epatch_user +} + +src_configure() { + tc-export AR LD OBJCOPY + + local myconf=( + --prefix=/usr + --sysconfdir=/etc + --libdir="/usr/$(get_libdir)" + --localstatedir=/ + --disable-bsd-user + --disable-linux-user + --disable-system + --disable-strip + --disable-werror + --enable-guest-agent + --python="${PYTHON}" + --cc="$(tc-getCC)" + --cxx="$(tc-getCXX)" + --host-cc="$(tc-getBUILD_CC)" + ) + echo "./configure ${myconf[*]}" + ./configure "${myconf[@]}" || die +} + +src_compile() { + emake V=1 qemu-ga +} + +src_install() { + dobin qemu-ga + + # Normal init stuff + newinitd "${FILESDIR}/qemu-ga.init-r1" qemu-guest-agent + newconfd "${FILESDIR}/qemu-ga.conf-r1" qemu-guest-agent + + insinto /etc/logrotate.d + newins "${FILESDIR}/qemu-ga.logrotate" qemu-guest-agent + + # systemd stuff + udev_newrules "${FILESDIR}/qemu-ga-systemd.udev" 99-qemu-guest-agent.rules + + systemd_newunit "${FILESDIR}/qemu-ga-systemd.service" \ + qemu-guest-agent.service +} + +pkg_postinst() { + elog "You should add 'qemu-guest-agent' to the default runlevel." + elog "e.g. rc-update add qemu-guest-agent default" +} diff --git a/app-emulation/qemu/Manifest b/app-emulation/qemu/Manifest index 861b373036..6269bb7f2f 100644 --- a/app-emulation/qemu/Manifest +++ b/app-emulation/qemu/Manifest @@ -1,5 +1,2 @@ -DIST qemu-2.3.0.tar.bz2 24683085 SHA256 b6bab7f763d5be73e7cb5ee7d4c8365b7a8df2972c52fa5ded18893bd8281588 SHA512 7a40d213c5696b27784abd2a3119e49d42c38c923be431826c73a8f14c19074435d7f1a652686c53baf08e81f5a3005b2ddc92d67c32f6a2b19659ab627e9eaa WHIRLPOOL 9dad6e342027c3be512b4e0b40e810e0a6f1dc84a16847aa5aac74d97f7a347e60d42e770335a090f83e90a1614294f86552a84edc1faafc7093d3e32602f5de -DIST qemu-2.3.1.tar.bz2 24692020 SHA256 661d029809421cae06b4b1bc74ac0e560cb4ed47c9523c676ff277fa26dca15f SHA512 309e6df7dcc0a064d1a17c7dac2f60398700dfa8c6b60b66e4202966248097cbc49af75aa97725bc34773151be6fd75836810e9f0741ba65cdc208414fa78f6b WHIRLPOOL 26750ee00513daa99cdcd585c4b8407b8258a9c3559ae6335266d7754cb6679e7c10c56f8d12ae0ef2b5cd5d6a9a6a536213f8e86e81ced37e46205c796a773e -DIST qemu-2.4.0.1.tar.bz2 25068555 SHA256 ecfe8b88037e41e817d72c460c56c6a0b573d540d6ba38b162d0de4fd22d1bdb SHA512 08eabe92fa9096386ef00f8e9d99eeec1508d15e5a98431e043a729cbaca2d96d6e3afc612e7c4a0fe5a6bba80006276185f1066b4c73105b2ea24b7e9133b84 WHIRLPOOL 1daaec23d6ada6af8bf4902e590fb96375e7149d2f53ff6bf6d8fb39722c182a2d2efcc0d40bee673a8316f621983c512daa54202bb4e632b3a4b09f0268cd09 -DIST qemu-2.4.0.tar.bz2 25070979 SHA256 72b0b991bbcc540663a019e1e8c4f714053b691dda32c9b9ee80b25f367e6620 SHA512 8740e0fb2c654ed897dff4649f1f83d14d57cfa9cbde723899f115982f93253ce9a2bddd60aab379d241027d2044137770efe4c0b3c83d5b20f3a2a06f05a5dc WHIRLPOOL 8c6cfae096624e01f0d5daeb86aa2dccbeaa86d2aeab626cf55cf20b7edace82d0b0f3a1d85eeb2dc1fd53abaaa9dccf8f0d7ddc657a1f5ffd72fd68301648f1 DIST qemu-2.4.1.tar.bz2 25087522 SHA256 e3d5cf4c8b1f9129c9c797329a515bfb6b3b1ded0ab8b394c8a316490fe3a177 SHA512 fde32b71a50d888c1055e61f4e6dfc45bb97e8e9ebee490c545965fbdcbd5ffd859fbf20648abed1f4fa9fcc5635e9b22e1829bbe802fc8aaf989d6013235917 WHIRLPOOL a698cfa5d2d138eeddb3c6bea57e3b89ca5d47165c04ed1cfd66a81647ac59cbdd594c919abef67bf198278da1160c5b9f3a0da84cd73827f3eb19a6e6f05436 +DIST qemu-2.5.0.tar.bz2 25464996 SHA256 3443887401619fe33bfa5d900a4f2d6a79425ae2b7e43d5b8c36eb7a683772d4 SHA512 12153f94cc7f834fd6a85f25690c36f2331d88d414426fb8b9ac20a34e6f9222b1eda30b727674af583580fae90dfd6d0614a905dce1567d94cd049d426b9dd3 WHIRLPOOL 8f5717989d8d234ecf1763ee386b2e1f20c3b17918de130c6dae255e4523a230b2b01a759eba25e4b9f604c680d9b868c56f58bd71b7c6c2c22a2e46804435ef diff --git a/app-emulation/qemu/files/qemu-2.2.1-CVE-2015-1779-1.patch b/app-emulation/qemu/files/qemu-2.2.1-CVE-2015-1779-1.patch deleted file mode 100644 index 35ef8fdebf..0000000000 --- a/app-emulation/qemu/files/qemu-2.2.1-CVE-2015-1779-1.patch +++ /dev/null @@ -1,241 +0,0 @@ -From a2bebfd6e09d285aa793cae3fb0fc3a39a9fee6e Mon Sep 17 00:00:00 2001 -From: "Daniel P. Berrange" <berrange@redhat.com> -Date: Mon, 23 Mar 2015 22:58:21 +0000 -Subject: [PATCH] CVE-2015-1779: incrementally decode websocket frames - -The logic for decoding websocket frames wants to fully -decode the frame header and payload, before allowing the -VNC server to see any of the payload data. There is no -size limit on websocket payloads, so this allows a -malicious network client to consume 2^64 bytes in memory -in QEMU. It can trigger this denial of service before -the VNC server even performs any authentication. - -The fix is to decode the header, and then incrementally -decode the payload data as it is needed. With this fix -the websocket decoder will allow at most 4k of data to -be buffered before decoding and processing payload. - -Signed-off-by: Daniel P. Berrange <berrange@redhat.com> - -[ kraxel: fix frequent spurious disconnects, suggested by Peter Maydell ] - - @@ -361,7 +361,7 @@ int vncws_decode_frame_payload(Buffer *input, - - *payload_size = input->offset; - + *payload_size = *payload_remain; - -[ kraxel: fix 32bit build ] - - @@ -306,7 +306,7 @@ struct VncState - - uint64_t ws_payload_remain; - + size_t ws_payload_remain; - -Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> ---- - ui/vnc-ws.c | 105 ++++++++++++++++++++++++++++++++++++++++-------------------- - ui/vnc-ws.h | 9 ++++-- - ui/vnc.h | 2 ++ - 3 files changed, 80 insertions(+), 36 deletions(-) - -diff --git a/ui/vnc-ws.c b/ui/vnc-ws.c -index 85dbb7e..0b7de4e 100644 ---- a/ui/vnc-ws.c -+++ b/ui/vnc-ws.c -@@ -107,7 +107,7 @@ long vnc_client_read_ws(VncState *vs) - { - int ret, err; - uint8_t *payload; -- size_t payload_size, frame_size; -+ size_t payload_size, header_size; - VNC_DEBUG("Read websocket %p size %zd offset %zd\n", vs->ws_input.buffer, - vs->ws_input.capacity, vs->ws_input.offset); - buffer_reserve(&vs->ws_input, 4096); -@@ -117,18 +117,39 @@ long vnc_client_read_ws(VncState *vs) - } - vs->ws_input.offset += ret; - -- /* make sure that nothing is left in the ws_input buffer */ -+ ret = 0; -+ /* consume as much of ws_input buffer as possible */ - do { -- err = vncws_decode_frame(&vs->ws_input, &payload, -- &payload_size, &frame_size); -- if (err <= 0) { -- return err; -+ if (vs->ws_payload_remain == 0) { -+ err = vncws_decode_frame_header(&vs->ws_input, -+ &header_size, -+ &vs->ws_payload_remain, -+ &vs->ws_payload_mask); -+ if (err <= 0) { -+ return err; -+ } -+ -+ buffer_advance(&vs->ws_input, header_size); - } -+ if (vs->ws_payload_remain != 0) { -+ err = vncws_decode_frame_payload(&vs->ws_input, -+ &vs->ws_payload_remain, -+ &vs->ws_payload_mask, -+ &payload, -+ &payload_size); -+ if (err < 0) { -+ return err; -+ } -+ if (err == 0) { -+ return ret; -+ } -+ ret += err; - -- buffer_reserve(&vs->input, payload_size); -- buffer_append(&vs->input, payload, payload_size); -+ buffer_reserve(&vs->input, payload_size); -+ buffer_append(&vs->input, payload, payload_size); - -- buffer_advance(&vs->ws_input, frame_size); -+ buffer_advance(&vs->ws_input, payload_size); -+ } - } while (vs->ws_input.offset > 0); - - return ret; -@@ -265,15 +286,14 @@ void vncws_encode_frame(Buffer *output, const void *payload, - buffer_append(output, payload, payload_size); - } - --int vncws_decode_frame(Buffer *input, uint8_t **payload, -- size_t *payload_size, size_t *frame_size) -+int vncws_decode_frame_header(Buffer *input, -+ size_t *header_size, -+ size_t *payload_remain, -+ WsMask *payload_mask) - { - unsigned char opcode = 0, fin = 0, has_mask = 0; -- size_t header_size = 0; -- uint32_t *payload32; -+ size_t payload_len; - WsHeader *header = (WsHeader *)input->buffer; -- WsMask mask; -- int i; - - if (input->offset < WS_HEAD_MIN_LEN + 4) { - /* header not complete */ -@@ -283,7 +303,7 @@ int vncws_decode_frame(Buffer *input, uint8_t **payload, - fin = (header->b0 & 0x80) >> 7; - opcode = header->b0 & 0x0f; - has_mask = (header->b1 & 0x80) >> 7; -- *payload_size = header->b1 & 0x7f; -+ payload_len = header->b1 & 0x7f; - - if (opcode == WS_OPCODE_CLOSE) { - /* disconnect */ -@@ -300,40 +320,57 @@ int vncws_decode_frame(Buffer *input, uint8_t **payload, - return -2; - } - -- if (*payload_size < 126) { -- header_size = 6; -- mask = header->u.m; -- } else if (*payload_size == 126 && input->offset >= 8) { -- *payload_size = be16_to_cpu(header->u.s16.l16); -- header_size = 8; -- mask = header->u.s16.m16; -- } else if (*payload_size == 127 && input->offset >= 14) { -- *payload_size = be64_to_cpu(header->u.s64.l64); -- header_size = 14; -- mask = header->u.s64.m64; -+ if (payload_len < 126) { -+ *payload_remain = payload_len; -+ *header_size = 6; -+ *payload_mask = header->u.m; -+ } else if (payload_len == 126 && input->offset >= 8) { -+ *payload_remain = be16_to_cpu(header->u.s16.l16); -+ *header_size = 8; -+ *payload_mask = header->u.s16.m16; -+ } else if (payload_len == 127 && input->offset >= 14) { -+ *payload_remain = be64_to_cpu(header->u.s64.l64); -+ *header_size = 14; -+ *payload_mask = header->u.s64.m64; - } else { - /* header not complete */ - return 0; - } - -- *frame_size = header_size + *payload_size; -+ return 1; -+} -+ -+int vncws_decode_frame_payload(Buffer *input, -+ size_t *payload_remain, WsMask *payload_mask, -+ uint8_t **payload, size_t *payload_size) -+{ -+ size_t i; -+ uint32_t *payload32; - -- if (input->offset < *frame_size) { -- /* frame not complete */ -+ *payload = input->buffer; -+ /* If we aren't at the end of the payload, then drop -+ * off the last bytes, so we're always multiple of 4 -+ * for purpose of unmasking, except at end of payload -+ */ -+ if (input->offset < *payload_remain) { -+ *payload_size = input->offset - (input->offset % 4); -+ } else { -+ *payload_size = *payload_remain; -+ } -+ if (*payload_size == 0) { - return 0; - } -- -- *payload = input->buffer + header_size; -+ *payload_remain -= *payload_size; - - /* unmask frame */ - /* process 1 frame (32 bit op) */ - payload32 = (uint32_t *)(*payload); - for (i = 0; i < *payload_size / 4; i++) { -- payload32[i] ^= mask.u; -+ payload32[i] ^= payload_mask->u; - } - /* process the remaining bytes (if any) */ - for (i *= 4; i < *payload_size; i++) { -- (*payload)[i] ^= mask.c[i % 4]; -+ (*payload)[i] ^= payload_mask->c[i % 4]; - } - - return 1; -diff --git a/ui/vnc-ws.h b/ui/vnc-ws.h -index ef229b7..14d4230 100644 ---- a/ui/vnc-ws.h -+++ b/ui/vnc-ws.h -@@ -83,7 +83,12 @@ long vnc_client_read_ws(VncState *vs); - void vncws_process_handshake(VncState *vs, uint8_t *line, size_t size); - void vncws_encode_frame(Buffer *output, const void *payload, - const size_t payload_size); --int vncws_decode_frame(Buffer *input, uint8_t **payload, -- size_t *payload_size, size_t *frame_size); -+int vncws_decode_frame_header(Buffer *input, -+ size_t *header_size, -+ size_t *payload_remain, -+ WsMask *payload_mask); -+int vncws_decode_frame_payload(Buffer *input, -+ size_t *payload_remain, WsMask *payload_mask, -+ uint8_t **payload, size_t *payload_size); - - #endif /* __QEMU_UI_VNC_WS_H */ -diff --git a/ui/vnc.h b/ui/vnc.h -index e19ac39..3f7c6a9 100644 ---- a/ui/vnc.h -+++ b/ui/vnc.h -@@ -306,6 +306,8 @@ struct VncState - #ifdef CONFIG_VNC_WS - Buffer ws_input; - Buffer ws_output; -+ size_t ws_payload_remain; -+ WsMask ws_payload_mask; - #endif - /* current output mode information */ - VncWritePixels *write_pixels; --- -2.3.5 - diff --git a/app-emulation/qemu/files/qemu-2.2.1-CVE-2015-1779-2.patch b/app-emulation/qemu/files/qemu-2.2.1-CVE-2015-1779-2.patch deleted file mode 100644 index c7a8c8b3ec..0000000000 --- a/app-emulation/qemu/files/qemu-2.2.1-CVE-2015-1779-2.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 2cdb5e142fb93e875fa53c52864ef5eb8d5d8b41 Mon Sep 17 00:00:00 2001 -From: "Daniel P. Berrange" <berrange@redhat.com> -Date: Mon, 23 Mar 2015 22:58:22 +0000 -Subject: [PATCH] CVE-2015-1779: limit size of HTTP headers from websockets - clients - -The VNC server websockets decoder will read and buffer data from -websockets clients until it sees the end of the HTTP headers, -as indicated by \r\n\r\n. In theory this allows a malicious to -trick QEMU into consuming an arbitrary amount of RAM. In practice, -because QEMU runs g_strstr_len() across the buffered header data, -it will spend increasingly long burning CPU time searching for -the substring match and less & less time reading data. So while -this does cause arbitrary memory growth, the bigger problem is -that QEMU will be burning 100% of available CPU time. - -A novnc websockets client typically sends headers of around -512 bytes in length. As such it is reasonable to place a 4096 -byte limit on the amount of data buffered while searching for -the end of HTTP headers. - -Signed-off-by: Daniel P. Berrange <berrange@redhat.com> -Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> ---- - ui/vnc-ws.c | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - -diff --git a/ui/vnc-ws.c b/ui/vnc-ws.c -index 0b7de4e..62eb97f 100644 ---- a/ui/vnc-ws.c -+++ b/ui/vnc-ws.c -@@ -81,8 +81,11 @@ void vncws_handshake_read(void *opaque) - VncState *vs = opaque; - uint8_t *handshake_end; - long ret; -- buffer_reserve(&vs->ws_input, 4096); -- ret = vnc_client_read_buf(vs, buffer_end(&vs->ws_input), 4096); -+ /* Typical HTTP headers from novnc are 512 bytes, so limiting -+ * total header size to 4096 is easily enough. */ -+ size_t want = 4096 - vs->ws_input.offset; -+ buffer_reserve(&vs->ws_input, want); -+ ret = vnc_client_read_buf(vs, buffer_end(&vs->ws_input), want); - - if (!ret) { - if (vs->csock == -1) { -@@ -99,6 +102,9 @@ void vncws_handshake_read(void *opaque) - vncws_process_handshake(vs, vs->ws_input.buffer, vs->ws_input.offset); - buffer_advance(&vs->ws_input, handshake_end - vs->ws_input.buffer + - strlen(WS_HANDSHAKE_END)); -+ } else if (vs->ws_input.offset >= 4096) { -+ VNC_DEBUG("End of headers not found in first 4096 bytes\n"); -+ vnc_client_error(vs); - } - } - --- -2.3.5 - diff --git a/app-emulation/qemu/files/qemu-2.3.0-CVE-2015-3209.patch b/app-emulation/qemu/files/qemu-2.3.0-CVE-2015-3209.patch deleted file mode 100644 index 885db3b52e..0000000000 --- a/app-emulation/qemu/files/qemu-2.3.0-CVE-2015-3209.patch +++ /dev/null @@ -1,51 +0,0 @@ -https://bugs.gentoo.org/551752 - -From 9f7c594c006289ad41169b854d70f5da6e400a2a Mon Sep 17 00:00:00 2001 -From: Petr Matousek <pmatouse@redhat.com> -Date: Sun, 24 May 2015 10:53:44 +0200 -Subject: [PATCH] pcnet: force the buffer access to be in bounds during tx - -4096 is the maximum length per TMD and it is also currently the size of -the relay buffer pcnet driver uses for sending the packet data to QEMU -for further processing. With packet spanning multiple TMDs it can -happen that the overall packet size will be bigger than sizeof(buffer), -which results in memory corruption. - -Fix this by only allowing to queue maximum sizeof(buffer) bytes. - -This is CVE-2015-3209. - -[Fixed 3-space indentation to QEMU's 4-space coding standard. ---Stefan] - -Signed-off-by: Petr Matousek <pmatouse@redhat.com> -Reported-by: Matt Tait <matttait@google.com> -Reviewed-by: Peter Maydell <peter.maydell@linaro.org> -Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> -Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> ---- - hw/net/pcnet.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/hw/net/pcnet.c b/hw/net/pcnet.c -index bdfd38f..68b9981 100644 ---- a/hw/net/pcnet.c -+++ b/hw/net/pcnet.c -@@ -1241,6 +1241,14 @@ static void pcnet_transmit(PCNetState *s) - } - - bcnt = 4096 - GET_FIELD(tmd.length, TMDL, BCNT); -+ -+ /* if multi-tmd packet outsizes s->buffer then skip it silently. -+ Note: this is not what real hw does */ -+ if (s->xmit_pos + bcnt > sizeof(s->buffer)) { -+ s->xmit_pos = -1; -+ goto txdone; -+ } -+ - s->phys_mem_read(s->dma_opaque, PHYSADDR(s, tmd.tbadr), - s->buffer + s->xmit_pos, bcnt, CSR_BSWP(s)); - s->xmit_pos += bcnt; --- -2.2.0.rc0.207.ga3a616c - diff --git a/app-emulation/qemu/files/qemu-2.3.0-CVE-2015-3214.patch b/app-emulation/qemu/files/qemu-2.3.0-CVE-2015-3214.patch deleted file mode 100644 index 7fee8fdcac..0000000000 --- a/app-emulation/qemu/files/qemu-2.3.0-CVE-2015-3214.patch +++ /dev/null @@ -1,41 +0,0 @@ -From: Petr Matousek <pmatouse@redhat.com> -Date: Wed, 17 Jun 2015 10:46:11 +0000 (+0200) -Subject: i8254: fix out-of-bounds memory access in pit_ioport_read() -X-Git-Tag: v2.4.0-rc0~43^2~9 -X-Git-Url: http://git.qemu.org/?p=qemu.git;a=commitdiff_plain;h=d4862a87e31a51de9eb260f25c9e99a75efe3235;hp=9dacf32d2cbd66cbcce7944ebdfd6b2df20e33b8 - -i8254: fix out-of-bounds memory access in pit_ioport_read() - -Due converting PIO to the new memory read/write api we no longer provide -separate I/O region lenghts for read and write operations. As a result, -reading from PIT Mode/Command register will end with accessing -pit->channels with invalid index. - -Fix this by ignoring read from the Mode/Command register. - -This is CVE-2015-3214. - -Reported-by: Matt Tait <matttait@google.com> -Fixes: 0505bcdec8228d8de39ab1a02644e71999e7c052 -Cc: qemu-stable@nongnu.org -Signed-off-by: Petr Matousek <pmatouse@redhat.com> -Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> ---- - -diff --git a/hw/timer/i8254.c b/hw/timer/i8254.c -index 3450c98..9b65a33 100644 ---- a/hw/timer/i8254.c -+++ b/hw/timer/i8254.c -@@ -196,6 +196,12 @@ static uint64_t pit_ioport_read(void *opaque, hwaddr addr, - PITChannelState *s; - - addr &= 3; -+ -+ if (addr == 3) { -+ /* Mode/Command register is write only, read is ignored */ -+ return 0; -+ } -+ - s = &pit->channels[addr]; - if (s->status_latched) { - s->status_latched = 0; diff --git a/app-emulation/qemu/files/qemu-2.3.0-CVE-2015-3456.patch b/app-emulation/qemu/files/qemu-2.3.0-CVE-2015-3456.patch deleted file mode 100644 index 87697d08ef..0000000000 --- a/app-emulation/qemu/files/qemu-2.3.0-CVE-2015-3456.patch +++ /dev/null @@ -1,86 +0,0 @@ -https://bugs.gentoo.org/549404 - -From e907746266721f305d67bc0718795fedee2e824c Mon Sep 17 00:00:00 2001 -From: Petr Matousek <pmatouse@redhat.com> -Date: Wed, 6 May 2015 09:48:59 +0200 -Subject: [PATCH] fdc: force the fifo access to be in bounds of the allocated buffer - -During processing of certain commands such as FD_CMD_READ_ID and -FD_CMD_DRIVE_SPECIFICATION_COMMAND the fifo memory access could -get out of bounds leading to memory corruption with values coming -from the guest. - -Fix this by making sure that the index is always bounded by the -allocated memory. - -This is CVE-2015-3456. - -Signed-off-by: Petr Matousek <pmatouse@redhat.com> -Reviewed-by: John Snow <jsnow@redhat.com> -Signed-off-by: John Snow <jsnow@redhat.com> ---- - hw/block/fdc.c | 17 +++++++++++------ - 1 files changed, 11 insertions(+), 6 deletions(-) - -diff --git a/hw/block/fdc.c b/hw/block/fdc.c -index f72a392..d8a8edd 100644 ---- a/hw/block/fdc.c -+++ b/hw/block/fdc.c -@@ -1497,7 +1497,7 @@ static uint32_t fdctrl_read_data(FDCtrl *fdctrl) - { - FDrive *cur_drv; - uint32_t retval = 0; -- int pos; -+ uint32_t pos; - - cur_drv = get_cur_drv(fdctrl); - fdctrl->dsr &= ~FD_DSR_PWRDOWN; -@@ -1506,8 +1506,8 @@ static uint32_t fdctrl_read_data(FDCtrl *fdctrl) - return 0; - } - pos = fdctrl->data_pos; -+ pos %= FD_SECTOR_LEN; - if (fdctrl->msr & FD_MSR_NONDMA) { -- pos %= FD_SECTOR_LEN; - if (pos == 0) { - if (fdctrl->data_pos != 0) - if (!fdctrl_seek_to_next_sect(fdctrl, cur_drv)) { -@@ -1852,10 +1852,13 @@ static void fdctrl_handle_option(FDCtrl *fdctrl, int direction) - static void fdctrl_handle_drive_specification_command(FDCtrl *fdctrl, int direction) - { - FDrive *cur_drv = get_cur_drv(fdctrl); -+ uint32_t pos; - -- if (fdctrl->fifo[fdctrl->data_pos - 1] & 0x80) { -+ pos = fdctrl->data_pos - 1; -+ pos %= FD_SECTOR_LEN; -+ if (fdctrl->fifo[pos] & 0x80) { - /* Command parameters done */ -- if (fdctrl->fifo[fdctrl->data_pos - 1] & 0x40) { -+ if (fdctrl->fifo[pos] & 0x40) { - fdctrl->fifo[0] = fdctrl->fifo[1]; - fdctrl->fifo[2] = 0; - fdctrl->fifo[3] = 0; -@@ -1955,7 +1958,7 @@ static uint8_t command_to_handler[256]; - static void fdctrl_write_data(FDCtrl *fdctrl, uint32_t value) - { - FDrive *cur_drv; -- int pos; -+ uint32_t pos; - - /* Reset mode */ - if (!(fdctrl->dor & FD_DOR_nRESET)) { -@@ -2004,7 +2007,9 @@ static void fdctrl_write_data(FDCtrl *fdctrl, uint32_t value) - } - - FLOPPY_DPRINTF("%s: %02x\n", __func__, value); -- fdctrl->fifo[fdctrl->data_pos++] = value; -+ pos = fdctrl->data_pos++; -+ pos %= FD_SECTOR_LEN; -+ fdctrl->fifo[pos] = value; - if (fdctrl->data_pos == fdctrl->data_len) { - /* We now have all parameters - * and will be able to treat the command --- -1.7.0.4 - diff --git a/app-emulation/qemu/files/qemu-2.3.0-CVE-2015-5154-1.patch b/app-emulation/qemu/files/qemu-2.3.0-CVE-2015-5154-1.patch deleted file mode 100644 index 759e403c5e..0000000000 --- a/app-emulation/qemu/files/qemu-2.3.0-CVE-2015-5154-1.patch +++ /dev/null @@ -1,75 +0,0 @@ -From d2ff85854512574e7209f295e87b0835d5b032c6 Mon Sep 17 00:00:00 2001 -From: Kevin Wolf <kwolf@redhat.com> -Date: Sun, 26 Jul 2015 23:42:53 -0400 -Subject: [PATCH] ide: Check array bounds before writing to io_buffer - (CVE-2015-5154) - -If the end_transfer_func of a command is called because enough data has -been read or written for the current PIO transfer, and it fails to -correctly call the command completion functions, the DRQ bit in the -status register and s->end_transfer_func may remain set. This allows the -guest to access further bytes in s->io_buffer beyond s->data_end, and -eventually overflowing the io_buffer. - -One case where this currently happens is emulation of the ATAPI command -START STOP UNIT. - -This patch fixes the problem by adding explicit array bounds checks -before accessing the buffer instead of relying on end_transfer_func to -function correctly. - -Cc: qemu-stable@nongnu.org -Signed-off-by: Kevin Wolf <kwolf@redhat.com> -Reviewed-by: John Snow <jsnow@redhat.com> ---- - hw/ide/core.c | 16 ++++++++++++++++ - 1 file changed, 16 insertions(+) - -diff --git a/hw/ide/core.c b/hw/ide/core.c -index 122e955..44fcc23 100644 ---- a/hw/ide/core.c -+++ b/hw/ide/core.c -@@ -2021,6 +2021,10 @@ void ide_data_writew(void *opaque, uint32_t addr, uint32_t val) - } - - p = s->data_ptr; -+ if (p + 2 > s->data_end) { -+ return; -+ } -+ - *(uint16_t *)p = le16_to_cpu(val); - p += 2; - s->data_ptr = p; -@@ -2042,6 +2046,10 @@ uint32_t ide_data_readw(void *opaque, uint32_t addr) - } - - p = s->data_ptr; -+ if (p + 2 > s->data_end) { -+ return 0; -+ } -+ - ret = cpu_to_le16(*(uint16_t *)p); - p += 2; - s->data_ptr = p; -@@ -2063,6 +2071,10 @@ void ide_data_writel(void *opaque, uint32_t addr, uint32_t val) - } - - p = s->data_ptr; -+ if (p + 4 > s->data_end) { -+ return; -+ } -+ - *(uint32_t *)p = le32_to_cpu(val); - p += 4; - s->data_ptr = p; -@@ -2084,6 +2096,10 @@ uint32_t ide_data_readl(void *opaque, uint32_t addr) - } - - p = s->data_ptr; -+ if (p + 4 > s->data_end) { -+ return 0; -+ } -+ - ret = cpu_to_le32(*(uint32_t *)p); - p += 4; - s->data_ptr = p; diff --git a/app-emulation/qemu/files/qemu-2.3.0-CVE-2015-5154-2.patch b/app-emulation/qemu/files/qemu-2.3.0-CVE-2015-5154-2.patch deleted file mode 100644 index 6d7902a534..0000000000 --- a/app-emulation/qemu/files/qemu-2.3.0-CVE-2015-5154-2.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 03441c3a4a42beb25460dd11592539030337d0f8 Mon Sep 17 00:00:00 2001 -From: Kevin Wolf <kwolf@redhat.com> -Date: Sun, 26 Jul 2015 23:42:53 -0400 -Subject: [PATCH] ide/atapi: Fix START STOP UNIT command completion - -The command must be completed on all code paths. START STOP UNIT with -pwrcnd set should succeed without doing anything. - -Signed-off-by: Kevin Wolf <kwolf@redhat.com> -Reviewed-by: John Snow <jsnow@redhat.com> ---- - hw/ide/atapi.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/hw/ide/atapi.c b/hw/ide/atapi.c -index 950e311..79dd167 100644 ---- a/hw/ide/atapi.c -+++ b/hw/ide/atapi.c -@@ -983,6 +983,7 @@ static void cmd_start_stop_unit(IDEState *s, uint8_t* buf) - - if (pwrcnd) { - /* eject/load only happens for power condition == 0 */ -+ ide_atapi_cmd_ok(s); - return; - } - diff --git a/app-emulation/qemu/files/qemu-2.3.0-CVE-2015-5154-3.patch b/app-emulation/qemu/files/qemu-2.3.0-CVE-2015-5154-3.patch deleted file mode 100644 index f6f346f197..0000000000 --- a/app-emulation/qemu/files/qemu-2.3.0-CVE-2015-5154-3.patch +++ /dev/null @@ -1,69 +0,0 @@ -From cb72cba83021fa42719e73a5249c12096a4d1cfc Mon Sep 17 00:00:00 2001 -From: Kevin Wolf <kwolf@redhat.com> -Date: Sun, 26 Jul 2015 23:42:53 -0400 -Subject: [PATCH] ide: Clear DRQ after handling all expected accesses - -This is additional hardening against an end_transfer_func that fails to -clear the DRQ status bit. The bit must be unset as soon as the PIO -transfer has completed, so it's better to do this in a central place -instead of duplicating the code in all commands (and forgetting it in -some). - -Signed-off-by: Kevin Wolf <kwolf@redhat.com> -Reviewed-by: John Snow <jsnow@redhat.com> ---- - hw/ide/core.c | 16 ++++++++++++---- - 1 file changed, 12 insertions(+), 4 deletions(-) - -diff --git a/hw/ide/core.c b/hw/ide/core.c -index 44fcc23..50449ca 100644 ---- a/hw/ide/core.c -+++ b/hw/ide/core.c -@@ -2028,8 +2028,10 @@ void ide_data_writew(void *opaque, uint32_t addr, uint32_t val) - *(uint16_t *)p = le16_to_cpu(val); - p += 2; - s->data_ptr = p; -- if (p >= s->data_end) -+ if (p >= s->data_end) { -+ s->status &= ~DRQ_STAT; - s->end_transfer_func(s); -+ } - } - - uint32_t ide_data_readw(void *opaque, uint32_t addr) -@@ -2053,8 +2055,10 @@ uint32_t ide_data_readw(void *opaque, uint32_t addr) - ret = cpu_to_le16(*(uint16_t *)p); - p += 2; - s->data_ptr = p; -- if (p >= s->data_end) -+ if (p >= s->data_end) { -+ s->status &= ~DRQ_STAT; - s->end_transfer_func(s); -+ } - return ret; - } - -@@ -2078,8 +2082,10 @@ void ide_data_writel(void *opaque, uint32_t addr, uint32_t val) - *(uint32_t *)p = le32_to_cpu(val); - p += 4; - s->data_ptr = p; -- if (p >= s->data_end) -+ if (p >= s->data_end) { -+ s->status &= ~DRQ_STAT; - s->end_transfer_func(s); -+ } - } - - uint32_t ide_data_readl(void *opaque, uint32_t addr) -@@ -2103,8 +2109,10 @@ uint32_t ide_data_readl(void *opaque, uint32_t addr) - ret = cpu_to_le32(*(uint32_t *)p); - p += 4; - s->data_ptr = p; -- if (p >= s->data_end) -+ if (p >= s->data_end) { -+ s->status &= ~DRQ_STAT; - s->end_transfer_func(s); -+ } - return ret; - } - diff --git a/app-emulation/qemu/files/qemu-2.3.0-CVE-2015-5158.patch b/app-emulation/qemu/files/qemu-2.3.0-CVE-2015-5158.patch deleted file mode 100644 index 9badc9b928..0000000000 --- a/app-emulation/qemu/files/qemu-2.3.0-CVE-2015-5158.patch +++ /dev/null @@ -1,40 +0,0 @@ -commit c170aad8b057223b1139d72e5ce7acceafab4fa9 -Author: Paolo Bonzini <pbonzini@redhat.com> -Date: Tue Jul 21 08:59:39 2015 +0200 - - scsi: fix buffer overflow in scsi_req_parse_cdb (CVE-2015-5158) - - This is a guest-triggerable buffer overflow present in QEMU 2.2.0 - and newer. scsi_cdb_length returns -1 as an error value, but the - caller does not check it. - - Luckily, the massive overflow means that QEMU will just SIGSEGV, - making the impact much smaller. - - Reported-by: Zhu Donghai (朱东海) <donghai.zdh@alibaba-inc.com> - Fixes: 1894df02811f6b79ea3ffbf1084599d96f316173 - Reviewed-by: Fam Zheng <famz@redhat.com> - Cc: qemu-stable@nongnu.org - Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> - -diff --git a/hw/scsi/scsi-bus.c b/hw/scsi/scsi-bus.c -index f50b2f0..f0ae462 100644 ---- a/hw/scsi/scsi-bus.c -+++ b/hw/scsi/scsi-bus.c -@@ -1239,10 +1239,15 @@ int scsi_cdb_length(uint8_t *buf) { - int scsi_req_parse_cdb(SCSIDevice *dev, SCSICommand *cmd, uint8_t *buf) - { - int rc; -+ int len; - - cmd->lba = -1; -- cmd->len = scsi_cdb_length(buf); -+ len = scsi_cdb_length(buf); -+ if (len < 0) { -+ return -1; -+ } - -+ cmd->len = len; - switch (dev->type) { - case TYPE_TAPE: - rc = scsi_req_stream_xfer(cmd, dev, buf); diff --git a/app-emulation/qemu/files/qemu-2.3.0-CVE-2015-5165-1.patch b/app-emulation/qemu/files/qemu-2.3.0-CVE-2015-5165-1.patch deleted file mode 100644 index 043d189357..0000000000 --- a/app-emulation/qemu/files/qemu-2.3.0-CVE-2015-5165-1.patch +++ /dev/null @@ -1,82 +0,0 @@ -From 5e0c290415b9d57077a86e70c8e6a058868334d3 Mon Sep 17 00:00:00 2001 -From: Stefan Hajnoczi <stefanha@redhat.com> -Date: Wed, 15 Jul 2015 18:16:58 +0100 -Subject: [PATCH 1/7] rtl8139: avoid nested ifs in IP header parsing - -Transmit offload needs to parse packet headers. If header fields have -unexpected values the offload processing is skipped. - -The code currently uses nested ifs because there is relatively little -input validation. The next patches will add missing input validation -and a goto label is more appropriate to avoid deep if statement nesting. - -Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> ---- - hw/net/rtl8139.c | 41 ++++++++++++++++++++++------------------- - 1 file changed, 22 insertions(+), 19 deletions(-) - -diff --git a/hw/net/rtl8139.c b/hw/net/rtl8139.c -index 5f0197c..91ba33b 100644 ---- a/hw/net/rtl8139.c -+++ b/hw/net/rtl8139.c -@@ -2174,28 +2174,30 @@ static int rtl8139_cplus_transmit_one(RTL8139State *s) - size_t eth_payload_len = 0; - - int proto = be16_to_cpu(*(uint16_t *)(saved_buffer + 12)); -- if (proto == ETH_P_IP) -+ if (proto != ETH_P_IP) - { -- DPRINTF("+++ C+ mode has IP packet\n"); -- -- /* not aligned */ -- eth_payload_data = saved_buffer + ETH_HLEN; -- eth_payload_len = saved_size - ETH_HLEN; -- -- ip = (ip_header*)eth_payload_data; -- -- if (IP_HEADER_VERSION(ip) != IP_HEADER_VERSION_4) { -- DPRINTF("+++ C+ mode packet has bad IP version %d " -- "expected %d\n", IP_HEADER_VERSION(ip), -- IP_HEADER_VERSION_4); -- ip = NULL; -- } else { -- hlen = IP_HEADER_LENGTH(ip); -- ip_protocol = ip->ip_p; -- ip_data_len = be16_to_cpu(ip->ip_len) - hlen; -- } -+ goto skip_offload; - } - -+ DPRINTF("+++ C+ mode has IP packet\n"); -+ -+ /* not aligned */ -+ eth_payload_data = saved_buffer + ETH_HLEN; -+ eth_payload_len = saved_size - ETH_HLEN; -+ -+ ip = (ip_header*)eth_payload_data; -+ -+ if (IP_HEADER_VERSION(ip) != IP_HEADER_VERSION_4) { -+ DPRINTF("+++ C+ mode packet has bad IP version %d " -+ "expected %d\n", IP_HEADER_VERSION(ip), -+ IP_HEADER_VERSION_4); -+ goto skip_offload; -+ } -+ -+ hlen = IP_HEADER_LENGTH(ip); -+ ip_protocol = ip->ip_p; -+ ip_data_len = be16_to_cpu(ip->ip_len) - hlen; -+ - if (ip) - { - if (txdw0 & CP_TX_IPCS) -@@ -2391,6 +2393,7 @@ static int rtl8139_cplus_transmit_one(RTL8139State *s) - } - } - -+skip_offload: - /* update tally counter */ - ++s->tally_counters.TxOk; - --- -2.1.4 - diff --git a/app-emulation/qemu/files/qemu-2.3.0-CVE-2015-5165-2.patch b/app-emulation/qemu/files/qemu-2.3.0-CVE-2015-5165-2.patch deleted file mode 100644 index 7a76a8a40d..0000000000 --- a/app-emulation/qemu/files/qemu-2.3.0-CVE-2015-5165-2.patch +++ /dev/null @@ -1,373 +0,0 @@ -From 2d7d80e8dc160904fa7276cc05da26c062a50066 Mon Sep 17 00:00:00 2001 -From: Stefan Hajnoczi <stefanha@redhat.com> -Date: Wed, 15 Jul 2015 18:16:59 +0100 -Subject: [PATCH 2/7] rtl8139: drop tautologous if (ip) {...} statement - -The previous patch stopped using the ip pointer as an indicator that the -IP header is present. When we reach the if (ip) {...} statement we know -ip is always non-NULL. - -Remove the if statement to reduce nesting. - -Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> ---- - hw/net/rtl8139.c | 305 +++++++++++++++++++++++++++---------------------------- - 1 file changed, 151 insertions(+), 154 deletions(-) - -diff --git a/hw/net/rtl8139.c b/hw/net/rtl8139.c -index 91ba33b..2f12d42 100644 ---- a/hw/net/rtl8139.c -+++ b/hw/net/rtl8139.c -@@ -2198,198 +2198,195 @@ static int rtl8139_cplus_transmit_one(RTL8139State *s) - ip_protocol = ip->ip_p; - ip_data_len = be16_to_cpu(ip->ip_len) - hlen; - -- if (ip) -+ if (txdw0 & CP_TX_IPCS) - { -- if (txdw0 & CP_TX_IPCS) -- { -- DPRINTF("+++ C+ mode need IP checksum\n"); -+ DPRINTF("+++ C+ mode need IP checksum\n"); - -- if (hlen<sizeof(ip_header) || hlen>eth_payload_len) {/* min header length */ -- /* bad packet header len */ -- /* or packet too short */ -- } -- else -- { -- ip->ip_sum = 0; -- ip->ip_sum = ip_checksum(ip, hlen); -- DPRINTF("+++ C+ mode IP header len=%d checksum=%04x\n", -- hlen, ip->ip_sum); -- } -+ if (hlen<sizeof(ip_header) || hlen>eth_payload_len) {/* min header length */ -+ /* bad packet header len */ -+ /* or packet too short */ - } -- -- if ((txdw0 & CP_TX_LGSEN) && ip_protocol == IP_PROTO_TCP) -+ else - { -- int large_send_mss = (txdw0 >> 16) & CP_TC_LGSEN_MSS_MASK; -+ ip->ip_sum = 0; -+ ip->ip_sum = ip_checksum(ip, hlen); -+ DPRINTF("+++ C+ mode IP header len=%d checksum=%04x\n", -+ hlen, ip->ip_sum); -+ } -+ } - -- DPRINTF("+++ C+ mode offloaded task TSO MTU=%d IP data %d " -- "frame data %d specified MSS=%d\n", ETH_MTU, -- ip_data_len, saved_size - ETH_HLEN, large_send_mss); -+ if ((txdw0 & CP_TX_LGSEN) && ip_protocol == IP_PROTO_TCP) -+ { -+ int large_send_mss = (txdw0 >> 16) & CP_TC_LGSEN_MSS_MASK; - -- int tcp_send_offset = 0; -- int send_count = 0; -+ DPRINTF("+++ C+ mode offloaded task TSO MTU=%d IP data %d " -+ "frame data %d specified MSS=%d\n", ETH_MTU, -+ ip_data_len, saved_size - ETH_HLEN, large_send_mss); - -- /* maximum IP header length is 60 bytes */ -- uint8_t saved_ip_header[60]; -+ int tcp_send_offset = 0; -+ int send_count = 0; - -- /* save IP header template; data area is used in tcp checksum calculation */ -- memcpy(saved_ip_header, eth_payload_data, hlen); -+ /* maximum IP header length is 60 bytes */ -+ uint8_t saved_ip_header[60]; - -- /* a placeholder for checksum calculation routine in tcp case */ -- uint8_t *data_to_checksum = eth_payload_data + hlen - 12; -- // size_t data_to_checksum_len = eth_payload_len - hlen + 12; -+ /* save IP header template; data area is used in tcp checksum calculation */ -+ memcpy(saved_ip_header, eth_payload_data, hlen); - -- /* pointer to TCP header */ -- tcp_header *p_tcp_hdr = (tcp_header*)(eth_payload_data + hlen); -+ /* a placeholder for checksum calculation routine in tcp case */ -+ uint8_t *data_to_checksum = eth_payload_data + hlen - 12; -+ // size_t data_to_checksum_len = eth_payload_len - hlen + 12; - -- int tcp_hlen = TCP_HEADER_DATA_OFFSET(p_tcp_hdr); -+ /* pointer to TCP header */ -+ tcp_header *p_tcp_hdr = (tcp_header*)(eth_payload_data + hlen); - -- /* ETH_MTU = ip header len + tcp header len + payload */ -- int tcp_data_len = ip_data_len - tcp_hlen; -- int tcp_chunk_size = ETH_MTU - hlen - tcp_hlen; -+ int tcp_hlen = TCP_HEADER_DATA_OFFSET(p_tcp_hdr); - -- DPRINTF("+++ C+ mode TSO IP data len %d TCP hlen %d TCP " -- "data len %d TCP chunk size %d\n", ip_data_len, -- tcp_hlen, tcp_data_len, tcp_chunk_size); -+ /* ETH_MTU = ip header len + tcp header len + payload */ -+ int tcp_data_len = ip_data_len - tcp_hlen; -+ int tcp_chunk_size = ETH_MTU - hlen - tcp_hlen; - -- /* note the cycle below overwrites IP header data, -- but restores it from saved_ip_header before sending packet */ -+ DPRINTF("+++ C+ mode TSO IP data len %d TCP hlen %d TCP " -+ "data len %d TCP chunk size %d\n", ip_data_len, -+ tcp_hlen, tcp_data_len, tcp_chunk_size); - -- int is_last_frame = 0; -+ /* note the cycle below overwrites IP header data, -+ but restores it from saved_ip_header before sending packet */ - -- for (tcp_send_offset = 0; tcp_send_offset < tcp_data_len; tcp_send_offset += tcp_chunk_size) -- { -- uint16_t chunk_size = tcp_chunk_size; -- -- /* check if this is the last frame */ -- if (tcp_send_offset + tcp_chunk_size >= tcp_data_len) -- { -- is_last_frame = 1; -- chunk_size = tcp_data_len - tcp_send_offset; -- } -- -- DPRINTF("+++ C+ mode TSO TCP seqno %08x\n", -- be32_to_cpu(p_tcp_hdr->th_seq)); -- -- /* add 4 TCP pseudoheader fields */ -- /* copy IP source and destination fields */ -- memcpy(data_to_checksum, saved_ip_header + 12, 8); -- -- DPRINTF("+++ C+ mode TSO calculating TCP checksum for " -- "packet with %d bytes data\n", tcp_hlen + -- chunk_size); -- -- if (tcp_send_offset) -- { -- memcpy((uint8_t*)p_tcp_hdr + tcp_hlen, (uint8_t*)p_tcp_hdr + tcp_hlen + tcp_send_offset, chunk_size); -- } -- -- /* keep PUSH and FIN flags only for the last frame */ -- if (!is_last_frame) -- { -- TCP_HEADER_CLEAR_FLAGS(p_tcp_hdr, TCP_FLAG_PUSH|TCP_FLAG_FIN); -- } -- -- /* recalculate TCP checksum */ -- ip_pseudo_header *p_tcpip_hdr = (ip_pseudo_header *)data_to_checksum; -- p_tcpip_hdr->zeros = 0; -- p_tcpip_hdr->ip_proto = IP_PROTO_TCP; -- p_tcpip_hdr->ip_payload = cpu_to_be16(tcp_hlen + chunk_size); -- -- p_tcp_hdr->th_sum = 0; -- -- int tcp_checksum = ip_checksum(data_to_checksum, tcp_hlen + chunk_size + 12); -- DPRINTF("+++ C+ mode TSO TCP checksum %04x\n", -- tcp_checksum); -- -- p_tcp_hdr->th_sum = tcp_checksum; -- -- /* restore IP header */ -- memcpy(eth_payload_data, saved_ip_header, hlen); -- -- /* set IP data length and recalculate IP checksum */ -- ip->ip_len = cpu_to_be16(hlen + tcp_hlen + chunk_size); -- -- /* increment IP id for subsequent frames */ -- ip->ip_id = cpu_to_be16(tcp_send_offset/tcp_chunk_size + be16_to_cpu(ip->ip_id)); -- -- ip->ip_sum = 0; -- ip->ip_sum = ip_checksum(eth_payload_data, hlen); -- DPRINTF("+++ C+ mode TSO IP header len=%d " -- "checksum=%04x\n", hlen, ip->ip_sum); -- -- int tso_send_size = ETH_HLEN + hlen + tcp_hlen + chunk_size; -- DPRINTF("+++ C+ mode TSO transferring packet size " -- "%d\n", tso_send_size); -- rtl8139_transfer_frame(s, saved_buffer, tso_send_size, -- 0, (uint8_t *) dot1q_buffer); -- -- /* add transferred count to TCP sequence number */ -- p_tcp_hdr->th_seq = cpu_to_be32(chunk_size + be32_to_cpu(p_tcp_hdr->th_seq)); -- ++send_count; -- } -+ int is_last_frame = 0; - -- /* Stop sending this frame */ -- saved_size = 0; -- } -- else if (txdw0 & (CP_TX_TCPCS|CP_TX_UDPCS)) -+ for (tcp_send_offset = 0; tcp_send_offset < tcp_data_len; tcp_send_offset += tcp_chunk_size) - { -- DPRINTF("+++ C+ mode need TCP or UDP checksum\n"); -+ uint16_t chunk_size = tcp_chunk_size; - -- /* maximum IP header length is 60 bytes */ -- uint8_t saved_ip_header[60]; -- memcpy(saved_ip_header, eth_payload_data, hlen); -+ /* check if this is the last frame */ -+ if (tcp_send_offset + tcp_chunk_size >= tcp_data_len) -+ { -+ is_last_frame = 1; -+ chunk_size = tcp_data_len - tcp_send_offset; -+ } - -- uint8_t *data_to_checksum = eth_payload_data + hlen - 12; -- // size_t data_to_checksum_len = eth_payload_len - hlen + 12; -+ DPRINTF("+++ C+ mode TSO TCP seqno %08x\n", -+ be32_to_cpu(p_tcp_hdr->th_seq)); - - /* add 4 TCP pseudoheader fields */ - /* copy IP source and destination fields */ - memcpy(data_to_checksum, saved_ip_header + 12, 8); - -- if ((txdw0 & CP_TX_TCPCS) && ip_protocol == IP_PROTO_TCP) -+ DPRINTF("+++ C+ mode TSO calculating TCP checksum for " -+ "packet with %d bytes data\n", tcp_hlen + -+ chunk_size); -+ -+ if (tcp_send_offset) - { -- DPRINTF("+++ C+ mode calculating TCP checksum for " -- "packet with %d bytes data\n", ip_data_len); -+ memcpy((uint8_t*)p_tcp_hdr + tcp_hlen, (uint8_t*)p_tcp_hdr + tcp_hlen + tcp_send_offset, chunk_size); -+ } - -- ip_pseudo_header *p_tcpip_hdr = (ip_pseudo_header *)data_to_checksum; -- p_tcpip_hdr->zeros = 0; -- p_tcpip_hdr->ip_proto = IP_PROTO_TCP; -- p_tcpip_hdr->ip_payload = cpu_to_be16(ip_data_len); -+ /* keep PUSH and FIN flags only for the last frame */ -+ if (!is_last_frame) -+ { -+ TCP_HEADER_CLEAR_FLAGS(p_tcp_hdr, TCP_FLAG_PUSH|TCP_FLAG_FIN); -+ } - -- tcp_header* p_tcp_hdr = (tcp_header *) (data_to_checksum+12); -+ /* recalculate TCP checksum */ -+ ip_pseudo_header *p_tcpip_hdr = (ip_pseudo_header *)data_to_checksum; -+ p_tcpip_hdr->zeros = 0; -+ p_tcpip_hdr->ip_proto = IP_PROTO_TCP; -+ p_tcpip_hdr->ip_payload = cpu_to_be16(tcp_hlen + chunk_size); - -- p_tcp_hdr->th_sum = 0; -+ p_tcp_hdr->th_sum = 0; - -- int tcp_checksum = ip_checksum(data_to_checksum, ip_data_len + 12); -- DPRINTF("+++ C+ mode TCP checksum %04x\n", -- tcp_checksum); -+ int tcp_checksum = ip_checksum(data_to_checksum, tcp_hlen + chunk_size + 12); -+ DPRINTF("+++ C+ mode TSO TCP checksum %04x\n", -+ tcp_checksum); - -- p_tcp_hdr->th_sum = tcp_checksum; -- } -- else if ((txdw0 & CP_TX_UDPCS) && ip_protocol == IP_PROTO_UDP) -- { -- DPRINTF("+++ C+ mode calculating UDP checksum for " -- "packet with %d bytes data\n", ip_data_len); -+ p_tcp_hdr->th_sum = tcp_checksum; - -- ip_pseudo_header *p_udpip_hdr = (ip_pseudo_header *)data_to_checksum; -- p_udpip_hdr->zeros = 0; -- p_udpip_hdr->ip_proto = IP_PROTO_UDP; -- p_udpip_hdr->ip_payload = cpu_to_be16(ip_data_len); -+ /* restore IP header */ -+ memcpy(eth_payload_data, saved_ip_header, hlen); - -- udp_header *p_udp_hdr = (udp_header *) (data_to_checksum+12); -+ /* set IP data length and recalculate IP checksum */ -+ ip->ip_len = cpu_to_be16(hlen + tcp_hlen + chunk_size); - -- p_udp_hdr->uh_sum = 0; -+ /* increment IP id for subsequent frames */ -+ ip->ip_id = cpu_to_be16(tcp_send_offset/tcp_chunk_size + be16_to_cpu(ip->ip_id)); - -- int udp_checksum = ip_checksum(data_to_checksum, ip_data_len + 12); -- DPRINTF("+++ C+ mode UDP checksum %04x\n", -- udp_checksum); -+ ip->ip_sum = 0; -+ ip->ip_sum = ip_checksum(eth_payload_data, hlen); -+ DPRINTF("+++ C+ mode TSO IP header len=%d " -+ "checksum=%04x\n", hlen, ip->ip_sum); - -- p_udp_hdr->uh_sum = udp_checksum; -- } -+ int tso_send_size = ETH_HLEN + hlen + tcp_hlen + chunk_size; -+ DPRINTF("+++ C+ mode TSO transferring packet size " -+ "%d\n", tso_send_size); -+ rtl8139_transfer_frame(s, saved_buffer, tso_send_size, -+ 0, (uint8_t *) dot1q_buffer); - -- /* restore IP header */ -- memcpy(eth_payload_data, saved_ip_header, hlen); -+ /* add transferred count to TCP sequence number */ -+ p_tcp_hdr->th_seq = cpu_to_be32(chunk_size + be32_to_cpu(p_tcp_hdr->th_seq)); -+ ++send_count; - } -+ -+ /* Stop sending this frame */ -+ saved_size = 0; -+ } -+ else if (txdw0 & (CP_TX_TCPCS|CP_TX_UDPCS)) -+ { -+ DPRINTF("+++ C+ mode need TCP or UDP checksum\n"); -+ -+ /* maximum IP header length is 60 bytes */ -+ uint8_t saved_ip_header[60]; -+ memcpy(saved_ip_header, eth_payload_data, hlen); -+ -+ uint8_t *data_to_checksum = eth_payload_data + hlen - 12; -+ // size_t data_to_checksum_len = eth_payload_len - hlen + 12; -+ -+ /* add 4 TCP pseudoheader fields */ -+ /* copy IP source and destination fields */ -+ memcpy(data_to_checksum, saved_ip_header + 12, 8); -+ -+ if ((txdw0 & CP_TX_TCPCS) && ip_protocol == IP_PROTO_TCP) -+ { -+ DPRINTF("+++ C+ mode calculating TCP checksum for " -+ "packet with %d bytes data\n", ip_data_len); -+ -+ ip_pseudo_header *p_tcpip_hdr = (ip_pseudo_header *)data_to_checksum; -+ p_tcpip_hdr->zeros = 0; -+ p_tcpip_hdr->ip_proto = IP_PROTO_TCP; -+ p_tcpip_hdr->ip_payload = cpu_to_be16(ip_data_len); -+ -+ tcp_header* p_tcp_hdr = (tcp_header *) (data_to_checksum+12); -+ -+ p_tcp_hdr->th_sum = 0; -+ -+ int tcp_checksum = ip_checksum(data_to_checksum, ip_data_len + 12); -+ DPRINTF("+++ C+ mode TCP checksum %04x\n", -+ tcp_checksum); -+ -+ p_tcp_hdr->th_sum = tcp_checksum; -+ } -+ else if ((txdw0 & CP_TX_UDPCS) && ip_protocol == IP_PROTO_UDP) -+ { -+ DPRINTF("+++ C+ mode calculating UDP checksum for " -+ "packet with %d bytes data\n", ip_data_len); -+ -+ ip_pseudo_header *p_udpip_hdr = (ip_pseudo_header *)data_to_checksum; -+ p_udpip_hdr->zeros = 0; -+ p_udpip_hdr->ip_proto = IP_PROTO_UDP; -+ p_udpip_hdr->ip_payload = cpu_to_be16(ip_data_len); -+ -+ udp_header *p_udp_hdr = (udp_header *) (data_to_checksum+12); -+ -+ p_udp_hdr->uh_sum = 0; -+ -+ int udp_checksum = ip_checksum(data_to_checksum, ip_data_len + 12); -+ DPRINTF("+++ C+ mode UDP checksum %04x\n", -+ udp_checksum); -+ -+ p_udp_hdr->uh_sum = udp_checksum; -+ } -+ -+ /* restore IP header */ -+ memcpy(eth_payload_data, saved_ip_header, hlen); - } - } - --- -2.1.4 - diff --git a/app-emulation/qemu/files/qemu-2.3.0-CVE-2015-5165-3.patch b/app-emulation/qemu/files/qemu-2.3.0-CVE-2015-5165-3.patch deleted file mode 100644 index 5676f46532..0000000000 --- a/app-emulation/qemu/files/qemu-2.3.0-CVE-2015-5165-3.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 043d28507ef7c5fdc34866f5e3b27a72bd0cd072 Mon Sep 17 00:00:00 2001 -From: Stefan Hajnoczi <stefanha@redhat.com> -Date: Wed, 15 Jul 2015 18:17:00 +0100 -Subject: [PATCH 3/7] rtl8139: skip offload on short Ethernet/IP header - -Transmit offload features access Ethernet and IP headers the packet. If -the packet is too short we must not attempt to access header fields: - - int proto = be16_to_cpu(*(uint16_t *)(saved_buffer + 12)); - ... - eth_payload_data = saved_buffer + ETH_HLEN; - ... - ip = (ip_header*)eth_payload_data; - if (IP_HEADER_VERSION(ip) != IP_HEADER_VERSION_4) { - -Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> ---- - hw/net/rtl8139.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/hw/net/rtl8139.c b/hw/net/rtl8139.c -index 2f12d42..d377b6b 100644 ---- a/hw/net/rtl8139.c -+++ b/hw/net/rtl8139.c -@@ -2164,6 +2164,11 @@ static int rtl8139_cplus_transmit_one(RTL8139State *s) - { - DPRINTF("+++ C+ mode offloaded task checksum\n"); - -+ /* Large enough for Ethernet and IP headers? */ -+ if (saved_size < ETH_HLEN + sizeof(ip_header)) { -+ goto skip_offload; -+ } -+ - /* ip packet header */ - ip_header *ip = NULL; - int hlen = 0; --- -2.1.4 - diff --git a/app-emulation/qemu/files/qemu-2.3.0-CVE-2015-5165-4.patch b/app-emulation/qemu/files/qemu-2.3.0-CVE-2015-5165-4.patch deleted file mode 100644 index 495d8d616b..0000000000 --- a/app-emulation/qemu/files/qemu-2.3.0-CVE-2015-5165-4.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 5a75d242fe019d05b46ef9bc330a6892525c84a7 Mon Sep 17 00:00:00 2001 -From: Stefan Hajnoczi <stefanha@redhat.com> -Date: Wed, 15 Jul 2015 18:17:01 +0100 -Subject: [PATCH 4/7] rtl8139: check IP Header Length field - -The IP Header Length field was only checked in the IP checksum case, but -is used in other cases too. - -Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> ---- - hw/net/rtl8139.c | 19 ++++++++----------- - 1 file changed, 8 insertions(+), 11 deletions(-) - -diff --git a/hw/net/rtl8139.c b/hw/net/rtl8139.c -index d377b6b..cd5ac05 100644 ---- a/hw/net/rtl8139.c -+++ b/hw/net/rtl8139.c -@@ -2200,6 +2200,10 @@ static int rtl8139_cplus_transmit_one(RTL8139State *s) - } - - hlen = IP_HEADER_LENGTH(ip); -+ if (hlen < sizeof(ip_header) || hlen > eth_payload_len) { -+ goto skip_offload; -+ } -+ - ip_protocol = ip->ip_p; - ip_data_len = be16_to_cpu(ip->ip_len) - hlen; - -@@ -2207,17 +2211,10 @@ static int rtl8139_cplus_transmit_one(RTL8139State *s) - { - DPRINTF("+++ C+ mode need IP checksum\n"); - -- if (hlen<sizeof(ip_header) || hlen>eth_payload_len) {/* min header length */ -- /* bad packet header len */ -- /* or packet too short */ -- } -- else -- { -- ip->ip_sum = 0; -- ip->ip_sum = ip_checksum(ip, hlen); -- DPRINTF("+++ C+ mode IP header len=%d checksum=%04x\n", -- hlen, ip->ip_sum); -- } -+ ip->ip_sum = 0; -+ ip->ip_sum = ip_checksum(ip, hlen); -+ DPRINTF("+++ C+ mode IP header len=%d checksum=%04x\n", -+ hlen, ip->ip_sum); - } - - if ((txdw0 & CP_TX_LGSEN) && ip_protocol == IP_PROTO_TCP) --- -2.1.4 - diff --git a/app-emulation/qemu/files/qemu-2.3.0-CVE-2015-5165-5.patch b/app-emulation/qemu/files/qemu-2.3.0-CVE-2015-5165-5.patch deleted file mode 100644 index e633ea6b2e..0000000000 --- a/app-emulation/qemu/files/qemu-2.3.0-CVE-2015-5165-5.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 6c79ea275d72bc1fd88bdcf1e7d231b2c9c865de Mon Sep 17 00:00:00 2001 -From: Stefan Hajnoczi <stefanha@redhat.com> -Date: Wed, 15 Jul 2015 18:17:02 +0100 -Subject: [PATCH 5/7] rtl8139: check IP Total Length field - -The IP Total Length field includes the IP header and data. Make sure it -is valid and does not exceed the Ethernet payload size. - -Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> ---- - hw/net/rtl8139.c | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/hw/net/rtl8139.c b/hw/net/rtl8139.c -index cd5ac05..ed2b23b 100644 ---- a/hw/net/rtl8139.c -+++ b/hw/net/rtl8139.c -@@ -2205,7 +2205,12 @@ static int rtl8139_cplus_transmit_one(RTL8139State *s) - } - - ip_protocol = ip->ip_p; -- ip_data_len = be16_to_cpu(ip->ip_len) - hlen; -+ -+ ip_data_len = be16_to_cpu(ip->ip_len); -+ if (ip_data_len < hlen || ip_data_len > eth_payload_len) { -+ goto skip_offload; -+ } -+ ip_data_len -= hlen; - - if (txdw0 & CP_TX_IPCS) - { --- -2.1.4 - diff --git a/app-emulation/qemu/files/qemu-2.3.0-CVE-2015-5165-6.patch b/app-emulation/qemu/files/qemu-2.3.0-CVE-2015-5165-6.patch deleted file mode 100644 index dd716a6d6d..0000000000 --- a/app-emulation/qemu/files/qemu-2.3.0-CVE-2015-5165-6.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 30aa7be430e7c982e9163f3bcc745d3aa57b6aa4 Mon Sep 17 00:00:00 2001 -From: Stefan Hajnoczi <stefanha@redhat.com> -Date: Wed, 15 Jul 2015 18:17:03 +0100 -Subject: [PATCH 6/7] rtl8139: skip offload on short TCP header - -TCP Large Segment Offload accesses the TCP header in the packet. If the -packet is too short we must not attempt to access header fields: - - tcp_header *p_tcp_hdr = (tcp_header*)(eth_payload_data + hlen); - int tcp_hlen = TCP_HEADER_DATA_OFFSET(p_tcp_hdr); - -Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> ---- - hw/net/rtl8139.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/hw/net/rtl8139.c b/hw/net/rtl8139.c -index ed2b23b..c8f0df9 100644 ---- a/hw/net/rtl8139.c -+++ b/hw/net/rtl8139.c -@@ -2224,6 +2224,11 @@ static int rtl8139_cplus_transmit_one(RTL8139State *s) - - if ((txdw0 & CP_TX_LGSEN) && ip_protocol == IP_PROTO_TCP) - { -+ /* Large enough for the TCP header? */ -+ if (ip_data_len < sizeof(tcp_header)) { -+ goto skip_offload; -+ } -+ - int large_send_mss = (txdw0 >> 16) & CP_TC_LGSEN_MSS_MASK; - - DPRINTF("+++ C+ mode offloaded task TSO MTU=%d IP data %d " --- -2.1.4 - diff --git a/app-emulation/qemu/files/qemu-2.3.0-CVE-2015-5165-7.patch b/app-emulation/qemu/files/qemu-2.3.0-CVE-2015-5165-7.patch deleted file mode 100644 index 4c0ad79935..0000000000 --- a/app-emulation/qemu/files/qemu-2.3.0-CVE-2015-5165-7.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 9a084807bf6ca7c16d997a236d304111894a6539 Mon Sep 17 00:00:00 2001 -From: Stefan Hajnoczi <stefanha@redhat.com> -Date: Wed, 15 Jul 2015 18:17:04 +0100 -Subject: [PATCH 7/7] rtl8139: check TCP Data Offset field - -The TCP Data Offset field contains the length of the header. Make sure -it is valid and does not exceed the IP data length. - -Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> ---- - hw/net/rtl8139.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/hw/net/rtl8139.c b/hw/net/rtl8139.c -index c8f0df9..2df4a51 100644 ---- a/hw/net/rtl8139.c -+++ b/hw/net/rtl8139.c -@@ -2253,6 +2253,11 @@ static int rtl8139_cplus_transmit_one(RTL8139State *s) - - int tcp_hlen = TCP_HEADER_DATA_OFFSET(p_tcp_hdr); - -+ /* Invalid TCP data offset? */ -+ if (tcp_hlen < sizeof(tcp_header) || tcp_hlen > ip_data_len) { -+ goto skip_offload; -+ } -+ - /* ETH_MTU = ip header len + tcp header len + payload */ - int tcp_data_len = ip_data_len - tcp_hlen; - int tcp_chunk_size = ETH_MTU - hlen - tcp_hlen; --- -2.1.4 - diff --git a/app-emulation/qemu/files/qemu-2.3.0-CVE-2015-5166.patch b/app-emulation/qemu/files/qemu-2.3.0-CVE-2015-5166.patch deleted file mode 100644 index fc41d7b6a9..0000000000 --- a/app-emulation/qemu/files/qemu-2.3.0-CVE-2015-5166.patch +++ /dev/null @@ -1,36 +0,0 @@ -From: Stefano Stabellini <stefano.stabellini@eu.citrix.com> - -Fix release_drive on unplugged devices (pci_piix3_xen_ide_unplug) - -pci_piix3_xen_ide_unplug should completely unhook the unplugged -IDEDevice from the corresponding BlockBackend, otherwise the next call -to release_drive will try to detach the drive again. - -Suggested-by: Kevin Wolf <kwolf@redhat.com> -Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> - -diff --git a/hw/ide/piix.c b/hw/ide/piix.c -index adb6649..5a26c86 100644 ---- a/hw/ide/piix.c -+++ b/hw/ide/piix.c -@@ -169,6 +169,7 @@ int pci_piix3_xen_ide_unplug(DeviceState *dev) - PCIIDEState *pci_ide; - DriveInfo *di; - int i; -+ IDEDevice *idedev; - - pci_ide = PCI_IDE(dev); - -@@ -181,6 +182,12 @@ int pci_piix3_xen_ide_unplug(DeviceState *dev) - blk_detach_dev(blk, ds); - } - pci_ide->bus[di->bus].ifs[di->unit].blk = NULL; -+ if (!(i % 2)) { -+ idedev = pci_ide->bus[di->bus].master; -+ } else { -+ idedev = pci_ide->bus[di->bus].slave; -+ } -+ idedev->conf.blk = NULL; - blk_unref(blk); - } - } diff --git a/app-emulation/qemu/files/qemu-2.3.0-virtio-serial.patch b/app-emulation/qemu/files/qemu-2.3.0-virtio-serial.patch deleted file mode 100644 index d84797f4e5..0000000000 --- a/app-emulation/qemu/files/qemu-2.3.0-virtio-serial.patch +++ /dev/null @@ -1,34 +0,0 @@ -https://bugs.gentoo.org/557206 - -From 7882080388be5088e72c425b02223c02e6cb4295 Mon Sep 17 00:00:00 2001 -From: "Michael S. Tsirkin" <mst@redhat.com> -Date: Thu, 23 Jul 2015 17:52:02 +0300 -Subject: [PATCH] virtio-serial: fix ANY_LAYOUT - -Don't assume a specific layout for control messages. -Required by virtio 1. - -Signed-off-by: Michael S. Tsirkin <mst@redhat.com> -Reviewed-by: Amit Shah <amit.shah@redhat.com> -Reviewed-by: Jason Wang <jasowang@redhat.com> ---- - hw/char/virtio-serial-bus.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/hw/char/virtio-serial-bus.c b/hw/char/virtio-serial-bus.c -index 78c73e5..929e49c 100644 ---- a/hw/char/virtio-serial-bus.c -+++ b/hw/char/virtio-serial-bus.c -@@ -195,7 +195,8 @@ static size_t send_control_msg(VirtIOSerial *vser, void *buf, size_t len) - return 0; - } - -- memcpy(elem.in_sg[0].iov_base, buf, len); -+ /* TODO: detect a buffer that's too short, set NEEDS_RESET */ -+ iov_from_buf(elem.in_sg, elem.in_num, 0, buf, len); - - virtqueue_push(vq, &elem, len); - virtio_notify(VIRTIO_DEVICE(vser), vq); --- -2.4.4 - diff --git a/app-emulation/qemu/files/qemu-2.4.0-CVE-2015-5225.patch b/app-emulation/qemu/files/qemu-2.4.0-CVE-2015-5225.patch deleted file mode 100644 index de7090d01a..0000000000 --- a/app-emulation/qemu/files/qemu-2.4.0-CVE-2015-5225.patch +++ /dev/null @@ -1,86 +0,0 @@ -https://bugs.gentoo.org/558416 - -fix from upstream git - -From eb8934b0418b3b1d125edddc4fc334a54334a49b Mon Sep 17 00:00:00 2001 -From: Gerd Hoffmann <kraxel@redhat.com> -Date: Mon, 17 Aug 2015 19:56:53 +0200 -Subject: [PATCH] vnc: fix memory corruption (CVE-2015-5225) -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The _cmp_bytes variable added by commit "bea60dd ui/vnc: fix potential -memory corruption issues" can become negative. Result is (possibly -exploitable) memory corruption. Reason for that is it uses the stride -instead of bytes per scanline to apply limits. - -For the server surface is is actually fine. vnc creates that itself, -there is never any padding and thus scanline length always equals stride. - -For the guest surface scanline length and stride are typically identical -too, but it doesn't has to be that way. So add and use a new variable -(guest_ll) for the guest scanline length. Also rename min_stride to -line_bytes to make more clear what it actually is. Finally sprinkle -in an assert() to make sure we never use a negative _cmp_bytes again. - -Reported-by: 范祚至(库特) <zuozhi.fzz@alibaba-inc.com> -Reviewed-by: P J P <ppandit@redhat.com> -Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> ---- - ui/vnc.c | 15 ++++++++++----- - 1 file changed, 10 insertions(+), 5 deletions(-) - -diff --git a/ui/vnc.c b/ui/vnc.c -index e26973a..caf82f5 100644 ---- a/ui/vnc.c -+++ b/ui/vnc.c -@@ -2872,7 +2872,7 @@ static int vnc_refresh_server_surface(VncDisplay *vd) - pixman_image_get_width(vd->server)); - int height = MIN(pixman_image_get_height(vd->guest.fb), - pixman_image_get_height(vd->server)); -- int cmp_bytes, server_stride, min_stride, guest_stride, y = 0; -+ int cmp_bytes, server_stride, line_bytes, guest_ll, guest_stride, y = 0; - uint8_t *guest_row0 = NULL, *server_row0; - VncState *vs; - int has_dirty = 0; -@@ -2891,17 +2891,21 @@ static int vnc_refresh_server_surface(VncDisplay *vd) - * Update server dirty map. - */ - server_row0 = (uint8_t *)pixman_image_get_data(vd->server); -- server_stride = guest_stride = pixman_image_get_stride(vd->server); -+ server_stride = guest_stride = guest_ll = -+ pixman_image_get_stride(vd->server); - cmp_bytes = MIN(VNC_DIRTY_PIXELS_PER_BIT * VNC_SERVER_FB_BYTES, - server_stride); - if (vd->guest.format != VNC_SERVER_FB_FORMAT) { - int width = pixman_image_get_width(vd->server); - tmpbuf = qemu_pixman_linebuf_create(VNC_SERVER_FB_FORMAT, width); - } else { -+ int guest_bpp = -+ PIXMAN_FORMAT_BPP(pixman_image_get_format(vd->guest.fb)); - guest_row0 = (uint8_t *)pixman_image_get_data(vd->guest.fb); - guest_stride = pixman_image_get_stride(vd->guest.fb); -+ guest_ll = pixman_image_get_width(vd->guest.fb) * ((guest_bpp + 7) / 8); - } -- min_stride = MIN(server_stride, guest_stride); -+ line_bytes = MIN(server_stride, guest_ll); - - for (;;) { - int x; -@@ -2932,9 +2936,10 @@ static int vnc_refresh_server_surface(VncDisplay *vd) - if (!test_and_clear_bit(x, vd->guest.dirty[y])) { - continue; - } -- if ((x + 1) * cmp_bytes > min_stride) { -- _cmp_bytes = min_stride - x * cmp_bytes; -+ if ((x + 1) * cmp_bytes > line_bytes) { -+ _cmp_bytes = line_bytes - x * cmp_bytes; - } -+ assert(_cmp_bytes >= 0); - if (memcmp(server_ptr, guest_ptr, _cmp_bytes) == 0) { - continue; - } --- -2.5.0 - diff --git a/app-emulation/qemu/files/qemu-2.4.0-CVE-2015-6855.patch b/app-emulation/qemu/files/qemu-2.4.0-CVE-2015-6855.patch deleted file mode 100644 index 69dd66a1c8..0000000000 --- a/app-emulation/qemu/files/qemu-2.4.0-CVE-2015-6855.patch +++ /dev/null @@ -1,146 +0,0 @@ -https://bugs.gentoo.org/560422 - -From d9033e1d3aa666c5071580617a57bd853c5d794a Mon Sep 17 00:00:00 2001 -From: John Snow <jsnow@redhat.com> -Date: Thu, 17 Sep 2015 14:17:05 -0400 -Subject: [PATCH] ide: fix ATAPI command permissions - -We're a little too lenient with what we'll let an ATAPI drive handle. -Clamp down on the IDE command execution table to remove CD_OK permissions -from commands that are not and have never been ATAPI commands. - -For ATAPI command validity, please see: -- ATA4 Section 6.5 ("PACKET Command feature set") -- ATA8/ACS Section 4.3 ("The PACKET feature set") -- ACS3 Section 4.3 ("The PACKET feature set") - -ACS3 has a historical command validity table in Table B.4 -("Historical Command Assignments") that can be referenced to find when -a command was introduced, deprecated, obsoleted, etc. - -The only reference for ATAPI command validity is by checking that -version's PACKET feature set section. - -ATAPI was introduced by T13 into ATA4, all commands retired prior to ATA4 -therefore are assumed to have never been ATAPI commands. - -Mandatory commands, as listed in ATA8-ACS3, are: - -- DEVICE RESET -- EXECUTE DEVICE DIAGNOSTIC -- IDENTIFY DEVICE -- IDENTIFY PACKET DEVICE -- NOP -- PACKET -- READ SECTOR(S) -- SET FEATURES - -Optional commands as listed in ATA8-ACS3, are: - -- FLUSH CACHE -- READ LOG DMA EXT -- READ LOG EXT -- WRITE LOG DMA EXT -- WRITE LOG EXT - -All other commands are illegal to send to an ATAPI device and should -be rejected by the device. - -CD_OK removal justifications: - -0x06 WIN_DSM Defined in ACS2. Not valid for ATAPI. -0x21 WIN_READ_ONCE Retired in ATA5. Not ATAPI in ATA4. -0x94 WIN_STANDBYNOW2 Retired in ATA4. Did not coexist with ATAPI. -0x95 WIN_IDLEIMMEDIATE2 Retired in ATA4. Did not coexist with ATAPI. -0x96 WIN_STANDBY2 Retired in ATA4. Did not coexist with ATAPI. -0x97 WIN_SETIDLE2 Retired in ATA4. Did not coexist with ATAPI. -0x98 WIN_CHECKPOWERMODE2 Retired in ATA4. Did not coexist with ATAPI. -0x99 WIN_SLEEPNOW2 Retired in ATA4. Did not coexist with ATAPI. -0xE0 WIN_STANDBYNOW1 Not part of ATAPI in ATA4, ACS or ACS3. -0xE1 WIN_IDLEIMMDIATE Not part of ATAPI in ATA4, ACS or ACS3. -0xE2 WIN_STANDBY Not part of ATAPI in ATA4, ACS or ACS3. -0xE3 WIN_SETIDLE1 Not part of ATAPI in ATA4, ACS or ACS3. -0xE4 WIN_CHECKPOWERMODE1 Not part of ATAPI in ATA4, ACS or ACS3. -0xE5 WIN_SLEEPNOW1 Not part of ATAPI in ATA4, ACS or ACS3. -0xF8 WIN_READ_NATIVE_MAX Obsoleted in ACS3. Not ATAPI in ATA4 or ACS. - -This patch fixes a divide by zero fault that can be caused by sending -the WIN_READ_NATIVE_MAX command to an ATAPI drive, which causes it to -attempt to use zeroed CHS values to perform sector arithmetic. - -Reported-by: Qinghao Tang <luodalongde@gmail.com> -Signed-off-by: John Snow <jsnow@redhat.com> -Reviewed-by: Markus Armbruster <armbru@redhat.com> -Message-id: 1441816082-21031-1-git-send-email-jsnow@redhat.com -CC: qemu-stable@nongnu.org ---- - hw/ide/core.c | 30 +++++++++++++++--------------- - 1 file changed, 15 insertions(+), 15 deletions(-) - -diff --git a/hw/ide/core.c b/hw/ide/core.c -index 8ba04df..1cc6945 100644 ---- a/hw/ide/core.c -+++ b/hw/ide/core.c -@@ -1746,11 +1746,11 @@ static const struct { - } ide_cmd_table[0x100] = { - /* NOP not implemented, mandatory for CD */ - [CFA_REQ_EXT_ERROR_CODE] = { cmd_cfa_req_ext_error_code, CFA_OK }, -- [WIN_DSM] = { cmd_data_set_management, ALL_OK }, -+ [WIN_DSM] = { cmd_data_set_management, HD_CFA_OK }, - [WIN_DEVICE_RESET] = { cmd_device_reset, CD_OK }, - [WIN_RECAL] = { cmd_nop, HD_CFA_OK | SET_DSC}, - [WIN_READ] = { cmd_read_pio, ALL_OK }, -- [WIN_READ_ONCE] = { cmd_read_pio, ALL_OK }, -+ [WIN_READ_ONCE] = { cmd_read_pio, HD_CFA_OK }, - [WIN_READ_EXT] = { cmd_read_pio, HD_CFA_OK }, - [WIN_READDMA_EXT] = { cmd_read_dma, HD_CFA_OK }, - [WIN_READ_NATIVE_MAX_EXT] = { cmd_read_native_max, HD_CFA_OK | SET_DSC }, -@@ -1769,12 +1769,12 @@ static const struct { - [CFA_TRANSLATE_SECTOR] = { cmd_cfa_translate_sector, CFA_OK }, - [WIN_DIAGNOSE] = { cmd_exec_dev_diagnostic, ALL_OK }, - [WIN_SPECIFY] = { cmd_nop, HD_CFA_OK | SET_DSC }, -- [WIN_STANDBYNOW2] = { cmd_nop, ALL_OK }, -- [WIN_IDLEIMMEDIATE2] = { cmd_nop, ALL_OK }, -- [WIN_STANDBY2] = { cmd_nop, ALL_OK }, -- [WIN_SETIDLE2] = { cmd_nop, ALL_OK }, -- [WIN_CHECKPOWERMODE2] = { cmd_check_power_mode, ALL_OK | SET_DSC }, -- [WIN_SLEEPNOW2] = { cmd_nop, ALL_OK }, -+ [WIN_STANDBYNOW2] = { cmd_nop, HD_CFA_OK }, -+ [WIN_IDLEIMMEDIATE2] = { cmd_nop, HD_CFA_OK }, -+ [WIN_STANDBY2] = { cmd_nop, HD_CFA_OK }, -+ [WIN_SETIDLE2] = { cmd_nop, HD_CFA_OK }, -+ [WIN_CHECKPOWERMODE2] = { cmd_check_power_mode, HD_CFA_OK | SET_DSC }, -+ [WIN_SLEEPNOW2] = { cmd_nop, HD_CFA_OK }, - [WIN_PACKETCMD] = { cmd_packet, CD_OK }, - [WIN_PIDENTIFY] = { cmd_identify_packet, CD_OK }, - [WIN_SMART] = { cmd_smart, HD_CFA_OK | SET_DSC }, -@@ -1788,19 +1788,19 @@ static const struct { - [WIN_WRITEDMA] = { cmd_write_dma, HD_CFA_OK }, - [WIN_WRITEDMA_ONCE] = { cmd_write_dma, HD_CFA_OK }, - [CFA_WRITE_MULTI_WO_ERASE] = { cmd_write_multiple, CFA_OK }, -- [WIN_STANDBYNOW1] = { cmd_nop, ALL_OK }, -- [WIN_IDLEIMMEDIATE] = { cmd_nop, ALL_OK }, -- [WIN_STANDBY] = { cmd_nop, ALL_OK }, -- [WIN_SETIDLE1] = { cmd_nop, ALL_OK }, -- [WIN_CHECKPOWERMODE1] = { cmd_check_power_mode, ALL_OK | SET_DSC }, -- [WIN_SLEEPNOW1] = { cmd_nop, ALL_OK }, -+ [WIN_STANDBYNOW1] = { cmd_nop, HD_CFA_OK }, -+ [WIN_IDLEIMMEDIATE] = { cmd_nop, HD_CFA_OK }, -+ [WIN_STANDBY] = { cmd_nop, HD_CFA_OK }, -+ [WIN_SETIDLE1] = { cmd_nop, HD_CFA_OK }, -+ [WIN_CHECKPOWERMODE1] = { cmd_check_power_mode, HD_CFA_OK | SET_DSC }, -+ [WIN_SLEEPNOW1] = { cmd_nop, HD_CFA_OK }, - [WIN_FLUSH_CACHE] = { cmd_flush_cache, ALL_OK }, - [WIN_FLUSH_CACHE_EXT] = { cmd_flush_cache, HD_CFA_OK }, - [WIN_IDENTIFY] = { cmd_identify, ALL_OK }, - [WIN_SETFEATURES] = { cmd_set_features, ALL_OK | SET_DSC }, - [IBM_SENSE_CONDITION] = { cmd_ibm_sense_condition, CFA_OK | SET_DSC }, - [CFA_WEAR_LEVEL] = { cmd_cfa_erase_sectors, HD_CFA_OK | SET_DSC }, -- [WIN_READ_NATIVE_MAX] = { cmd_read_native_max, ALL_OK | SET_DSC }, -+ [WIN_READ_NATIVE_MAX] = { cmd_read_native_max, HD_CFA_OK | SET_DSC }, - }; - - static bool ide_cmd_permitted(IDEState *s, uint32_t cmd) --- -2.6.0.rc2.230.g3dd15c0 - diff --git a/app-emulation/qemu/files/qemu-2.4.0-CVE-2015-7295-1.patch b/app-emulation/qemu/files/qemu-2.4.0-CVE-2015-7295-1.patch deleted file mode 100644 index 4ee46e1d10..0000000000 --- a/app-emulation/qemu/files/qemu-2.4.0-CVE-2015-7295-1.patch +++ /dev/null @@ -1,58 +0,0 @@ -https://bugs.gentoo.org/560760 - -From ce317461573bac12b10d67699b4ddf1f97cf066c Mon Sep 17 00:00:00 2001 -From: Jason Wang <jasowang@redhat.com> -Date: Fri, 25 Sep 2015 13:21:28 +0800 -Subject: [PATCH 1/3] virtio: introduce virtqueue_unmap_sg() - -Factor out sg unmapping logic. This will be reused by the patch that -can discard descriptor. - -Cc: Michael S. Tsirkin <mst@redhat.com> -Cc: Andrew James <andrew.james@hpe.com> -Signed-off-by: Jason Wang <jasowang@redhat.com> -Reviewed-by: Michael S. Tsirkin <mst@redhat.com> -Signed-off-by: Michael S. Tsirkin <mst@redhat.com> ---- - hw/virtio/virtio.c | 14 ++++++++++---- - 1 file changed, 10 insertions(+), 4 deletions(-) - -diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c -index 7504f8b..6f2b96c 100644 ---- a/hw/virtio/virtio.c -+++ b/hw/virtio/virtio.c -@@ -244,14 +244,12 @@ int virtio_queue_empty(VirtQueue *vq) - return vring_avail_idx(vq) == vq->last_avail_idx; - } - --void virtqueue_fill(VirtQueue *vq, const VirtQueueElement *elem, -- unsigned int len, unsigned int idx) -+static void virtqueue_unmap_sg(VirtQueue *vq, const VirtQueueElement *elem, -+ unsigned int len) - { - unsigned int offset; - int i; - -- trace_virtqueue_fill(vq, elem, len, idx); -- - offset = 0; - for (i = 0; i < elem->in_num; i++) { - size_t size = MIN(len - offset, elem->in_sg[i].iov_len); -@@ -267,6 +265,14 @@ void virtqueue_fill(VirtQueue *vq, const VirtQueueElement *elem, - cpu_physical_memory_unmap(elem->out_sg[i].iov_base, - elem->out_sg[i].iov_len, - 0, elem->out_sg[i].iov_len); -+} -+ -+void virtqueue_fill(VirtQueue *vq, const VirtQueueElement *elem, -+ unsigned int len, unsigned int idx) -+{ -+ trace_virtqueue_fill(vq, elem, len, idx); -+ -+ virtqueue_unmap_sg(vq, elem, len); - - idx = (idx + vring_used_idx(vq)) % vq->vring.num; - --- -2.6.0.rc2.230.g3dd15c0 - diff --git a/app-emulation/qemu/files/qemu-2.4.0-CVE-2015-7295-2.patch b/app-emulation/qemu/files/qemu-2.4.0-CVE-2015-7295-2.patch deleted file mode 100644 index 8c73fcb7e1..0000000000 --- a/app-emulation/qemu/files/qemu-2.4.0-CVE-2015-7295-2.patch +++ /dev/null @@ -1,54 +0,0 @@ -https://bugs.gentoo.org/560760 - -From 29b9f5efd78ae0f9cc02dd169b6e80d2c404bade Mon Sep 17 00:00:00 2001 -From: Jason Wang <jasowang@redhat.com> -Date: Fri, 25 Sep 2015 13:21:29 +0800 -Subject: [PATCH 2/3] virtio: introduce virtqueue_discard() - -This patch introduces virtqueue_discard() to discard a descriptor and -unmap the sgs. This will be used by the patch that will discard -descriptor when packet is truncated. - -Cc: Michael S. Tsirkin <mst@redhat.com> -Signed-off-by: Jason Wang <jasowang@redhat.com> -Reviewed-by: Michael S. Tsirkin <mst@redhat.com> -Signed-off-by: Michael S. Tsirkin <mst@redhat.com> ---- - hw/virtio/virtio.c | 7 +++++++ - include/hw/virtio/virtio.h | 2 ++ - 2 files changed, 9 insertions(+) - -diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c -index 6f2b96c..d0bc72e 100644 ---- a/hw/virtio/virtio.c -+++ b/hw/virtio/virtio.c -@@ -267,6 +267,13 @@ static void virtqueue_unmap_sg(VirtQueue *vq, const VirtQueueElement *elem, - 0, elem->out_sg[i].iov_len); - } - -+void virtqueue_discard(VirtQueue *vq, const VirtQueueElement *elem, -+ unsigned int len) -+{ -+ vq->last_avail_idx--; -+ virtqueue_unmap_sg(vq, elem, len); -+} -+ - void virtqueue_fill(VirtQueue *vq, const VirtQueueElement *elem, - unsigned int len, unsigned int idx) - { -diff --git a/include/hw/virtio/virtio.h b/include/hw/virtio/virtio.h -index 6201ee8..9d09115 100644 ---- a/include/hw/virtio/virtio.h -+++ b/include/hw/virtio/virtio.h -@@ -146,6 +146,8 @@ void virtio_del_queue(VirtIODevice *vdev, int n); - void virtqueue_push(VirtQueue *vq, const VirtQueueElement *elem, - unsigned int len); - void virtqueue_flush(VirtQueue *vq, unsigned int count); -+void virtqueue_discard(VirtQueue *vq, const VirtQueueElement *elem, -+ unsigned int len); - void virtqueue_fill(VirtQueue *vq, const VirtQueueElement *elem, - unsigned int len, unsigned int idx); - --- -2.6.0.rc2.230.g3dd15c0 - diff --git a/app-emulation/qemu/files/qemu-2.4.0-CVE-2015-7295-3.patch b/app-emulation/qemu/files/qemu-2.4.0-CVE-2015-7295-3.patch deleted file mode 100644 index 96981e973c..0000000000 --- a/app-emulation/qemu/files/qemu-2.4.0-CVE-2015-7295-3.patch +++ /dev/null @@ -1,47 +0,0 @@ -https://bugs.gentoo.org/560760 - -From 0cf33fb6b49a19de32859e2cdc6021334f448fb3 Mon Sep 17 00:00:00 2001 -From: Jason Wang <jasowang@redhat.com> -Date: Fri, 25 Sep 2015 13:21:30 +0800 -Subject: [PATCH 3/3] virtio-net: correctly drop truncated packets - -When packet is truncated during receiving, we drop the packets but -neither discard the descriptor nor add and signal used -descriptor. This will lead several issues: - -- sg mappings are leaked -- rx will be stalled if a lots of packets were truncated - -In order to be consistent with vhost, fix by discarding the descriptor -in this case. - -Cc: Michael S. Tsirkin <mst@redhat.com> -Signed-off-by: Jason Wang <jasowang@redhat.com> -Reviewed-by: Michael S. Tsirkin <mst@redhat.com> -Signed-off-by: Michael S. Tsirkin <mst@redhat.com> ---- - hw/net/virtio-net.c | 8 +------- - 1 file changed, 1 insertion(+), 7 deletions(-) - -diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c -index d388c55..a877614 100644 ---- a/hw/net/virtio-net.c -+++ b/hw/net/virtio-net.c -@@ -1094,13 +1094,7 @@ static ssize_t virtio_net_receive(NetClientState *nc, const uint8_t *buf, size_t - * must have consumed the complete packet. - * Otherwise, drop it. */ - if (!n->mergeable_rx_bufs && offset < size) { --#if 0 -- error_report("virtio-net truncated non-mergeable packet: " -- "i %zd mergeable %d offset %zd, size %zd, " -- "guest hdr len %zd, host hdr len %zd", -- i, n->mergeable_rx_bufs, -- offset, size, n->guest_hdr_len, n->host_hdr_len); --#endif -+ virtqueue_discard(q->rx_vq, &elem, total); - return size; - } - --- -2.6.0.rc2.230.g3dd15c0 - diff --git a/app-emulation/qemu/files/qemu-2.4.0-block-mirror-crash.patch b/app-emulation/qemu/files/qemu-2.4.0-block-mirror-crash.patch deleted file mode 100644 index ad4051e22c..0000000000 --- a/app-emulation/qemu/files/qemu-2.4.0-block-mirror-crash.patch +++ /dev/null @@ -1,124 +0,0 @@ -https://bugs.gentoo.org/558396 - -fix from upstream git - -From e424aff5f307227b1c2512bbb8ece891bb895cef Mon Sep 17 00:00:00 2001 -From: Kevin Wolf <kwolf@redhat.com> -Date: Thu, 13 Aug 2015 10:41:50 +0200 -Subject: [PATCH] mirror: Fix coroutine reentrance - -This fixes a regression introduced by commit dcfb3beb ("mirror: Do zero -write on target if sectors not allocated"), which was reported to cause -aborts with the message "Co-routine re-entered recursively". - -The cause for this bug is the following code in mirror_iteration_done(): - - if (s->common.busy) { - qemu_coroutine_enter(s->common.co, NULL); - } - -This has always been ugly because - unlike most places that reenter - it -doesn't have a specific yield that it pairs with, but is more -uncontrolled. What we really mean here is "reenter the coroutine if -it's in one of the four explicit yields in mirror.c". - -This used to be equivalent with s->common.busy because neither -mirror_run() nor mirror_iteration() call any function that could yield. -However since commit dcfb3beb this doesn't hold true any more: -bdrv_get_block_status_above() can yield. - -So what happens is that bdrv_get_block_status_above() wants to take a -lock that is already held, so it adds itself to the queue of waiting -coroutines and yields. Instead of being woken up by the unlock function, -however, it gets woken up by mirror_iteration_done(), which is obviously -wrong. - -In most cases the code actually happens to cope fairly well with such -cases, but in this specific case, the unlock must already have scheduled -the coroutine for wakeup when mirror_iteration_done() reentered it. And -then the coroutine happened to process the scheduled restarts and tried -to reenter itself recursively. - -This patch fixes the problem by pairing the reenter in -mirror_iteration_done() with specific yields instead of abusing -s->common.busy. - -Cc: qemu-stable@nongnu.org -Signed-off-by: Kevin Wolf <kwolf@redhat.com> -Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> -Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> -Reviewed-by: Jeff Cody <jcody@redhat.com> -Message-id: 1439455310-11263-1-git-send-email-kwolf@redhat.com -Signed-off-by: Jeff Cody <jcody@redhat.com> ---- - block/mirror.c | 15 ++++++++++----- - 1 file changed, 10 insertions(+), 5 deletions(-) - -diff --git a/block/mirror.c b/block/mirror.c -index 0841964..9474443 100644 ---- a/block/mirror.c -+++ b/block/mirror.c -@@ -60,6 +60,7 @@ typedef struct MirrorBlockJob { - int sectors_in_flight; - int ret; - bool unmap; -+ bool waiting_for_io; - } MirrorBlockJob; - - typedef struct MirrorOp { -@@ -114,11 +115,7 @@ static void mirror_iteration_done(MirrorOp *op, int ret) - qemu_iovec_destroy(&op->qiov); - g_slice_free(MirrorOp, op); - -- /* Enter coroutine when it is not sleeping. The coroutine sleeps to -- * rate-limit itself. The coroutine will eventually resume since there is -- * a sleep timeout so don't wake it early. -- */ -- if (s->common.busy) { -+ if (s->waiting_for_io) { - qemu_coroutine_enter(s->common.co, NULL); - } - } -@@ -203,7 +200,9 @@ static uint64_t coroutine_fn mirror_iteration(MirrorBlockJob *s) - /* Wait for I/O to this cluster (from a previous iteration) to be done. */ - while (test_bit(next_chunk, s->in_flight_bitmap)) { - trace_mirror_yield_in_flight(s, sector_num, s->in_flight); -+ s->waiting_for_io = true; - qemu_coroutine_yield(); -+ s->waiting_for_io = false; - } - - do { -@@ -239,7 +238,9 @@ static uint64_t coroutine_fn mirror_iteration(MirrorBlockJob *s) - */ - while (nb_chunks == 0 && s->buf_free_count < added_chunks) { - trace_mirror_yield_buf_busy(s, nb_chunks, s->in_flight); -+ s->waiting_for_io = true; - qemu_coroutine_yield(); -+ s->waiting_for_io = false; - } - if (s->buf_free_count < nb_chunks + added_chunks) { - trace_mirror_break_buf_busy(s, nb_chunks, s->in_flight); -@@ -337,7 +338,9 @@ static void mirror_free_init(MirrorBlockJob *s) - static void mirror_drain(MirrorBlockJob *s) - { - while (s->in_flight > 0) { -+ s->waiting_for_io = true; - qemu_coroutine_yield(); -+ s->waiting_for_io = false; - } - } - -@@ -510,7 +513,9 @@ static void coroutine_fn mirror_run(void *opaque) - if (s->in_flight == MAX_IN_FLIGHT || s->buf_free_count == 0 || - (cnt == 0 && s->in_flight > 0)) { - trace_mirror_yield(s, s->in_flight, s->buf_free_count, cnt); -+ s->waiting_for_io = true; - qemu_coroutine_yield(); -+ s->waiting_for_io = false; - continue; - } else if (cnt != 0) { - delay_ns = mirror_iteration(s); --- -2.5.0 - diff --git a/app-emulation/qemu/files/qemu-2.4.0-e1000-loop.patch b/app-emulation/qemu/files/qemu-2.4.0-e1000-loop.patch deleted file mode 100644 index f2538a723d..0000000000 --- a/app-emulation/qemu/files/qemu-2.4.0-e1000-loop.patch +++ /dev/null @@ -1,39 +0,0 @@ -https://bugs.gentoo.org/559656 - -https://lists.gnu.org/archive/html/qemu-devel/2015-09/msg01199.html - -From: Stefan Hajnoczi <stefanha@redhat.com> -Subject: [PATCH] e1000: Avoid infinite loop in processing transmit descriptor -Newsgroups: gmane.comp.emulators.qemu -Date: 2015-09-04 16:21:06 GMT (2 days, 12 hours and 51 minutes ago) -From: P J P <pjp@fedoraproject.org> - -While processing transmit descriptors, it could lead to an infinite -loop if 'bytes' was to become zero; Add a check to avoid it. - -[The guest can force 'bytes' to 0 by setting the hdr_len and mss -descriptor fields to 0. ---Stefan] - -Signed-off-by: P J P <pjp@fedoraproject.org> -Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> ---- - hw/net/e1000.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/hw/net/e1000.c b/hw/net/e1000.c -index 5c6bcd0..09c9e9d 100644 ---- a/hw/net/e1000.c -+++ b/hw/net/e1000.c -@@ -740,7 +740,8 @@ process_tx_desc(E1000State *s, struct e1000_tx_desc *dp) - memmove(tp->data, tp->header, tp->hdr_len); - tp->size = tp->hdr_len; - } -- } while (split_size -= bytes); -+ split_size -= bytes; -+ } while (bytes && split_size); - } else if (!tp->tse && tp->cptse) { - // context descriptor TSE is not set, while data descriptor TSE is set - DBGOUT(TXERR, "TCP segmentation error\n"); --- -2.4.3 diff --git a/app-emulation/qemu/files/qemu-2.4.1-CVE-2015-7504.patch b/app-emulation/qemu/files/qemu-2.4.1-CVE-2015-7504.patch new file mode 100644 index 0000000000..e86e0c6398 --- /dev/null +++ b/app-emulation/qemu/files/qemu-2.4.1-CVE-2015-7504.patch @@ -0,0 +1,49 @@ +From 837f21aacf5a714c23ddaadbbc5212f9b661e3f7 Mon Sep 17 00:00:00 2001 +From: Prasad J Pandit <pjp@fedoraproject.org> +Date: Fri, 20 Nov 2015 11:50:31 +0530 +Subject: [PATCH] net: pcnet: add check to validate receive data + size(CVE-2015-7504) + +In loopback mode, pcnet_receive routine appends CRC code to the +receive buffer. If the data size given is same as the buffer size, +the appended CRC code overwrites 4 bytes after s->buffer. Added a +check to avoid that. + +Reported by: Qinghao Tang <luodalongde@gmail.com> +Cc: qemu-stable@nongnu.org +Reviewed-by: Michael S. Tsirkin <mst@redhat.com> +Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org> +Signed-off-by: Jason Wang <jasowang@redhat.com> +--- + hw/net/pcnet.c | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +diff --git a/hw/net/pcnet.c b/hw/net/pcnet.c +index 0eb3cc4..309c40b 100644 +--- a/hw/net/pcnet.c ++++ b/hw/net/pcnet.c +@@ -1084,7 +1084,7 @@ ssize_t pcnet_receive(NetClientState *nc, const uint8_t *buf, size_t size_) + uint32_t fcs = ~0; + uint8_t *p = src; + +- while (p != &src[size-4]) ++ while (p != &src[size]) + CRC(fcs, *p++); + crc_err = (*(uint32_t *)p != htonl(fcs)); + } +@@ -1233,8 +1233,10 @@ static void pcnet_transmit(PCNetState *s) + bcnt = 4096 - GET_FIELD(tmd.length, TMDL, BCNT); + + /* if multi-tmd packet outsizes s->buffer then skip it silently. +- Note: this is not what real hw does */ +- if (s->xmit_pos + bcnt > sizeof(s->buffer)) { ++ * Note: this is not what real hw does. ++ * Last four bytes of s->buffer are used to store CRC FCS code. ++ */ ++ if (s->xmit_pos + bcnt > sizeof(s->buffer) - 4) { + s->xmit_pos = -1; + goto txdone; + } +-- +2.6.2 + diff --git a/app-emulation/qemu/files/qemu-2.4.1-CVE-2015-7512.patch b/app-emulation/qemu/files/qemu-2.4.1-CVE-2015-7512.patch new file mode 100644 index 0000000000..4fee9ef5da --- /dev/null +++ b/app-emulation/qemu/files/qemu-2.4.1-CVE-2015-7512.patch @@ -0,0 +1,37 @@ +From 8b98a2f07175d46c3f7217639bd5e03f2ec56343 Mon Sep 17 00:00:00 2001 +From: Jason Wang <jasowang@redhat.com> +Date: Mon, 30 Nov 2015 15:00:06 +0800 +Subject: [PATCH] pcnet: fix rx buffer overflow(CVE-2015-7512) + +Backends could provide a packet whose length is greater than buffer +size. Check for this and truncate the packet to avoid rx buffer +overflow in this case. + +Cc: Prasad J Pandit <pjp@fedoraproject.org> +Cc: qemu-stable@nongnu.org +Reviewed-by: Michael S. Tsirkin <mst@redhat.com> +Signed-off-by: Jason Wang <jasowang@redhat.com> +--- + hw/net/pcnet.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/hw/net/pcnet.c b/hw/net/pcnet.c +index 309c40b..1f4a3db 100644 +--- a/hw/net/pcnet.c ++++ b/hw/net/pcnet.c +@@ -1064,6 +1064,12 @@ ssize_t pcnet_receive(NetClientState *nc, const uint8_t *buf, size_t size_) + int pktcount = 0; + + if (!s->looptest) { ++ if (size > 4092) { ++#ifdef PCNET_DEBUG_RMD ++ fprintf(stderr, "pcnet: truncates rx packet.\n"); ++#endif ++ size = 4092; ++ } + memcpy(src, buf, size); + /* no need to compute the CRC */ + src[size] = 0; +-- +2.6.2 + diff --git a/app-emulation/qemu/files/qemu-2.4.1-CVE-2015-7549.patch b/app-emulation/qemu/files/qemu-2.4.1-CVE-2015-7549.patch new file mode 100644 index 0000000000..897fe347c8 --- /dev/null +++ b/app-emulation/qemu/files/qemu-2.4.1-CVE-2015-7549.patch @@ -0,0 +1,62 @@ +https://bugs.gentoo.org/568214 + +From 43b11a91dd861a946b231b89b7542856ade23d1b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com> +Date: Fri, 26 Jun 2015 14:25:29 +0200 +Subject: [PATCH] msix: implement pba write (but read-only) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +qpci_msix_pending() writes on pba region, causing qemu to SEGV: + + Program received signal SIGSEGV, Segmentation fault. + [Switching to Thread 0x7ffff7fba8c0 (LWP 25882)] + 0x0000000000000000 in ?? () + (gdb) bt + #0 0x0000000000000000 in () + #1 0x00005555556556c5 in memory_region_oldmmio_write_accessor (mr=0x5555579f3f80, addr=0, value=0x7fffffffbf68, size=4, shift=0, mask=4294967295, attrs=...) at /home/elmarco/src/qemu/memory.c:434 + #2 0x00005555556558e1 in access_with_adjusted_size (addr=0, value=0x7fffffffbf68, size=4, access_size_min=1, access_size_max=4, access=0x55555565563e <memory_region_oldmmio_write_accessor>, mr=0x5555579f3f80, attrs=...) at /home/elmarco/src/qemu/memory.c:506 + #3 0x00005555556581eb in memory_region_dispatch_write (mr=0x5555579f3f80, addr=0, data=0, size=4, attrs=...) at /home/elmarco/src/qemu/memory.c:1176 + #4 0x000055555560b6f9 in address_space_rw (as=0x555555eff4e0 <address_space_memory>, addr=3759147008, attrs=..., buf=0x7fffffffc1b0 "", len=4, is_write=true) at /home/elmarco/src/qemu/exec.c:2439 + #5 0x000055555560baa2 in cpu_physical_memory_rw (addr=3759147008, buf=0x7fffffffc1b0 "", len=4, is_write=1) at /home/elmarco/src/qemu/exec.c:2534 + #6 0x000055555564c005 in cpu_physical_memory_write (addr=3759147008, buf=0x7fffffffc1b0, len=4) at /home/elmarco/src/qemu/include/exec/cpu-common.h:80 + #7 0x000055555564cd9c in qtest_process_command (chr=0x55555642b890, words=0x5555578de4b0) at /home/elmarco/src/qemu/qtest.c:378 + #8 0x000055555564db77 in qtest_process_inbuf (chr=0x55555642b890, inbuf=0x55555641b340) at /home/elmarco/src/qemu/qtest.c:569 + #9 0x000055555564dc07 in qtest_read (opaque=0x55555642b890, buf=0x7fffffffc2e0 "writel 0xe0100800 0x0\n", size=22) at /home/elmarco/src/qemu/qtest.c:581 + #10 0x000055555574ce3e in qemu_chr_be_write (s=0x55555642b890, buf=0x7fffffffc2e0 "writel 0xe0100800 0x0\n", len=22) at qemu-char.c:306 + #11 0x0000555555751263 in tcp_chr_read (chan=0x55555642bcf0, cond=G_IO_IN, opaque=0x55555642b890) at qemu-char.c:2876 + #12 0x00007ffff64c9a8a in g_main_context_dispatch (context=0x55555641c400) at gmain.c:3122 + +(without this patch, this can be reproduced with the ivshmem qtest) + +Implement an empty mmio write to avoid the crash. + +Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> +Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> +--- + hw/pci/msix.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/hw/pci/msix.c b/hw/pci/msix.c +index 2fdada4..64c93d8 100644 +--- a/hw/pci/msix.c ++++ b/hw/pci/msix.c +@@ -200,8 +200,14 @@ static uint64_t msix_pba_mmio_read(void *opaque, hwaddr addr, + return pci_get_long(dev->msix_pba + addr); + } + ++static void msix_pba_mmio_write(void *opaque, hwaddr addr, ++ uint64_t val, unsigned size) ++{ ++} ++ + static const MemoryRegionOps msix_pba_mmio_ops = { + .read = msix_pba_mmio_read, ++ .write = msix_pba_mmio_write, + .endianness = DEVICE_LITTLE_ENDIAN, + .valid = { + .min_access_size = 4, +-- +2.6.2 + diff --git a/app-emulation/qemu/files/qemu-2.4.1-CVE-2015-8345.patch b/app-emulation/qemu/files/qemu-2.4.1-CVE-2015-8345.patch new file mode 100644 index 0000000000..f01d9ac341 --- /dev/null +++ b/app-emulation/qemu/files/qemu-2.4.1-CVE-2015-8345.patch @@ -0,0 +1,65 @@ +https://bugs.gentoo.org/566792 + +From 00837731d254908a841d69298a4f9f077babaf24 Mon Sep 17 00:00:00 2001 +From: Stefan Weil <sw@weilnetz.de> +Date: Fri, 20 Nov 2015 08:42:33 +0100 +Subject: [PATCH] eepro100: Prevent two endless loops + +http://lists.nongnu.org/archive/html/qemu-devel/2015-11/msg04592.html +shows an example how an endless loop in function action_command can +be achieved. + +During my code review, I noticed a 2nd case which can result in an +endless loop. + +Reported-by: Qinghao Tang <luodalongde@gmail.com> +Signed-off-by: Stefan Weil <sw@weilnetz.de> +Signed-off-by: Jason Wang <jasowang@redhat.com> +--- + hw/net/eepro100.c | 16 ++++++++++++++++ + 1 file changed, 16 insertions(+) + +diff --git a/hw/net/eepro100.c b/hw/net/eepro100.c +index 60333b7..685a478 100644 +--- a/hw/net/eepro100.c ++++ b/hw/net/eepro100.c +@@ -774,6 +774,11 @@ static void tx_command(EEPRO100State *s) + #if 0 + uint16_t tx_buffer_el = lduw_le_pci_dma(&s->dev, tbd_address + 6); + #endif ++ if (tx_buffer_size == 0) { ++ /* Prevent an endless loop. */ ++ logout("loop in %s:%u\n", __FILE__, __LINE__); ++ break; ++ } + tbd_address += 8; + TRACE(RXTX, logout + ("TBD (simplified mode): buffer address 0x%08x, size 0x%04x\n", +@@ -855,6 +860,10 @@ static void set_multicast_list(EEPRO100State *s) + + static void action_command(EEPRO100State *s) + { ++ /* The loop below won't stop if it gets special handcrafted data. ++ Therefore we limit the number of iterations. */ ++ unsigned max_loop_count = 16; ++ + for (;;) { + bool bit_el; + bool bit_s; +@@ -870,6 +879,13 @@ static void action_command(EEPRO100State *s) + #if 0 + bool bit_sf = ((s->tx.command & COMMAND_SF) != 0); + #endif ++ ++ if (max_loop_count-- == 0) { ++ /* Prevent an endless loop. */ ++ logout("loop in %s:%u\n", __FILE__, __LINE__); ++ break; ++ } ++ + s->cu_offset = s->tx.link; + TRACE(OTHER, + logout("val=(cu start), status=0x%04x, command=0x%04x, link=0x%08x\n", +-- +2.6.2 + diff --git a/app-emulation/qemu/files/qemu-2.4.1-CVE-2015-8504.patch b/app-emulation/qemu/files/qemu-2.4.1-CVE-2015-8504.patch new file mode 100644 index 0000000000..7b0102a3bc --- /dev/null +++ b/app-emulation/qemu/files/qemu-2.4.1-CVE-2015-8504.patch @@ -0,0 +1,46 @@ +https://bugs.gentoo.org/567828 + +From 4c65fed8bdf96780735dbdb92a8bd0d6b6526cc3 Mon Sep 17 00:00:00 2001 +From: Prasad J Pandit <pjp@fedoraproject.org> +Date: Thu, 3 Dec 2015 18:54:17 +0530 +Subject: [PATCH] ui: vnc: avoid floating point exception + +While sending 'SetPixelFormat' messages to a VNC server, +the client could set the 'red-max', 'green-max' and 'blue-max' +values to be zero. This leads to a floating point exception in +write_png_palette while doing frame buffer updates. + +Reported-by: Lian Yihan <lianyihan@360.cn> +Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org> +Reviewed-by: Gerd Hoffmann <kraxel@redhat.com> +Signed-off-by: Peter Maydell <peter.maydell@linaro.org> +--- + ui/vnc.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/ui/vnc.c b/ui/vnc.c +index 7538405..cbe4d33 100644 +--- a/ui/vnc.c ++++ b/ui/vnc.c +@@ -2198,15 +2198,15 @@ static void set_pixel_format(VncState *vs, + return; + } + +- vs->client_pf.rmax = red_max; ++ vs->client_pf.rmax = red_max ? red_max : 0xFF; + vs->client_pf.rbits = hweight_long(red_max); + vs->client_pf.rshift = red_shift; + vs->client_pf.rmask = red_max << red_shift; +- vs->client_pf.gmax = green_max; ++ vs->client_pf.gmax = green_max ? green_max : 0xFF; + vs->client_pf.gbits = hweight_long(green_max); + vs->client_pf.gshift = green_shift; + vs->client_pf.gmask = green_max << green_shift; +- vs->client_pf.bmax = blue_max; ++ vs->client_pf.bmax = blue_max ? blue_max : 0xFF; + vs->client_pf.bbits = hweight_long(blue_max); + vs->client_pf.bshift = blue_shift; + vs->client_pf.bmask = blue_max << blue_shift; +-- +2.6.2 + diff --git a/app-emulation/qemu/files/qemu-2.5.0-CVE-2015-8558.patch b/app-emulation/qemu/files/qemu-2.5.0-CVE-2015-8558.patch new file mode 100644 index 0000000000..fbc6a0add3 --- /dev/null +++ b/app-emulation/qemu/files/qemu-2.5.0-CVE-2015-8558.patch @@ -0,0 +1,50 @@ +https://bugs.gentoo.org/568246 + +From 156a2e4dbffa85997636a7a39ef12da6f1b40254 Mon Sep 17 00:00:00 2001 +From: Gerd Hoffmann <kraxel@redhat.com> +Date: Mon, 14 Dec 2015 09:21:23 +0100 +Subject: [PATCH] ehci: make idt processing more robust + +Make ehci_process_itd return an error in case we didn't do any actual +iso transfer because we've found no active transaction. That'll avoid +ehci happily run in circles forever if the guest builds a loop out of +idts. + +This is CVE-2015-8558. + +Cc: qemu-stable@nongnu.org +Reported-by: Qinghao Tang <luodalongde@gmail.com> +Tested-by: P J P <ppandit@redhat.com> +Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> +--- + hw/usb/hcd-ehci.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c +index 4e2161b..d07f228 100644 +--- a/hw/usb/hcd-ehci.c ++++ b/hw/usb/hcd-ehci.c +@@ -1389,7 +1389,7 @@ static int ehci_process_itd(EHCIState *ehci, + { + USBDevice *dev; + USBEndpoint *ep; +- uint32_t i, len, pid, dir, devaddr, endp; ++ uint32_t i, len, pid, dir, devaddr, endp, xfers = 0; + uint32_t pg, off, ptr1, ptr2, max, mult; + + ehci->periodic_sched_active = PERIODIC_ACTIVE; +@@ -1479,9 +1479,10 @@ static int ehci_process_itd(EHCIState *ehci, + ehci_raise_irq(ehci, USBSTS_INT); + } + itd->transact[i] &= ~ITD_XACT_ACTIVE; ++ xfers++; + } + } +- return 0; ++ return xfers ? 0 : -1; + } + + +-- +2.6.2 + diff --git a/app-emulation/qemu/files/qemu-2.5.0-CVE-2015-8567.patch b/app-emulation/qemu/files/qemu-2.5.0-CVE-2015-8567.patch new file mode 100644 index 0000000000..e1960436a2 --- /dev/null +++ b/app-emulation/qemu/files/qemu-2.5.0-CVE-2015-8567.patch @@ -0,0 +1,95 @@ +https://bugs.gentoo.org/567868 + +From aa4a3dce1c88ed51b616806b8214b7c8428b7470 Mon Sep 17 00:00:00 2001 +From: P J P <ppandit@redhat.com> +Date: Tue, 15 Dec 2015 12:27:54 +0530 +Subject: [PATCH] net: vmxnet3: avoid memory leakage in activate_device + +Vmxnet3 device emulator does not check if the device is active +before activating it, also it did not free the transmit & receive +buffers while deactivating the device, thus resulting in memory +leakage on the host. This patch fixes both these issues to avoid +host memory leakage. + +Reported-by: Qinghao Tang <luodalongde@gmail.com> +Reviewed-by: Dmitry Fleytman <dmitry@daynix.com> +Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org> +Cc: qemu-stable@nongnu.org +Signed-off-by: Jason Wang <jasowang@redhat.com> +--- + hw/net/vmxnet3.c | 24 ++++++++++++++++-------- + 1 file changed, 16 insertions(+), 8 deletions(-) + +diff --git a/hw/net/vmxnet3.c b/hw/net/vmxnet3.c +index a5dd79a..9c1adfc 100644 +--- a/hw/net/vmxnet3.c ++++ b/hw/net/vmxnet3.c +@@ -1194,8 +1194,13 @@ static void vmxnet3_reset_mac(VMXNET3State *s) + + static void vmxnet3_deactivate_device(VMXNET3State *s) + { +- VMW_CBPRN("Deactivating vmxnet3..."); +- s->device_active = false; ++ if (s->device_active) { ++ VMW_CBPRN("Deactivating vmxnet3..."); ++ vmxnet_tx_pkt_reset(s->tx_pkt); ++ vmxnet_tx_pkt_uninit(s->tx_pkt); ++ vmxnet_rx_pkt_uninit(s->rx_pkt); ++ s->device_active = false; ++ } + } + + static void vmxnet3_reset(VMXNET3State *s) +@@ -1204,7 +1209,6 @@ static void vmxnet3_reset(VMXNET3State *s) + + vmxnet3_deactivate_device(s); + vmxnet3_reset_interrupt_states(s); +- vmxnet_tx_pkt_reset(s->tx_pkt); + s->drv_shmem = 0; + s->tx_sop = true; + s->skip_current_tx_pkt = false; +@@ -1431,6 +1435,12 @@ static void vmxnet3_activate_device(VMXNET3State *s) + return; + } + ++ /* Verify if device is active */ ++ if (s->device_active) { ++ VMW_CFPRN("Vmxnet3 device is active"); ++ return; ++ } ++ + vmxnet3_adjust_by_guest_type(s); + vmxnet3_update_features(s); + vmxnet3_update_pm_state(s); +@@ -1627,7 +1637,7 @@ static void vmxnet3_handle_command(VMXNET3State *s, uint64_t cmd) + break; + + case VMXNET3_CMD_QUIESCE_DEV: +- VMW_CBPRN("Set: VMXNET3_CMD_QUIESCE_DEV - pause the device"); ++ VMW_CBPRN("Set: VMXNET3_CMD_QUIESCE_DEV - deactivate the device"); + vmxnet3_deactivate_device(s); + break; + +@@ -1741,7 +1751,7 @@ vmxnet3_io_bar1_write(void *opaque, + * shared address only after we get the high part + */ + if (val == 0) { +- s->device_active = false; ++ vmxnet3_deactivate_device(s); + } + s->temp_shared_guest_driver_memory = val; + s->drv_shmem = 0; +@@ -2021,9 +2031,7 @@ static bool vmxnet3_peer_has_vnet_hdr(VMXNET3State *s) + static void vmxnet3_net_uninit(VMXNET3State *s) + { + g_free(s->mcast_list); +- vmxnet_tx_pkt_reset(s->tx_pkt); +- vmxnet_tx_pkt_uninit(s->tx_pkt); +- vmxnet_rx_pkt_uninit(s->rx_pkt); ++ vmxnet3_deactivate_device(s); + qemu_del_nic(s->nic); + } + +-- +2.6.2 + diff --git a/app-emulation/qemu/files/qemu-2.5.0-CVE-2015-8701.patch b/app-emulation/qemu/files/qemu-2.5.0-CVE-2015-8701.patch new file mode 100644 index 0000000000..0dab1c3eef --- /dev/null +++ b/app-emulation/qemu/files/qemu-2.5.0-CVE-2015-8701.patch @@ -0,0 +1,49 @@ +https://bugs.gentoo.org/570110 + +From 007cd223de527b5f41278f2d886c1a4beb3e67aa Mon Sep 17 00:00:00 2001 +From: Prasad J Pandit <pjp@fedoraproject.org> +Date: Mon, 28 Dec 2015 16:24:08 +0530 +Subject: [PATCH] net: rocker: fix an incorrect array bounds check + +While processing transmit(tx) descriptors in 'tx_consume' routine +the switch emulator suffers from an off-by-one error, if a +descriptor was to have more than allowed(ROCKER_TX_FRAGS_MAX=16) +fragments. Fix an incorrect bounds check to avoid it. + +Reported-by: Qinghao Tang <luodalongde@gmail.com> +Cc: qemu-stable@nongnu.org +Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org> +Signed-off-by: Jason Wang <jasowang@redhat.com> +--- + hw/net/rocker/rocker.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/hw/net/rocker/rocker.c b/hw/net/rocker/rocker.c +index c57f1a6..2e77e50 100644 +--- a/hw/net/rocker/rocker.c ++++ b/hw/net/rocker/rocker.c +@@ -232,6 +232,9 @@ static int tx_consume(Rocker *r, DescInfo *info) + frag_addr = rocker_tlv_get_le64(tlvs[ROCKER_TLV_TX_FRAG_ATTR_ADDR]); + frag_len = rocker_tlv_get_le16(tlvs[ROCKER_TLV_TX_FRAG_ATTR_LEN]); + ++ if (iovcnt >= ROCKER_TX_FRAGS_MAX) { ++ goto err_too_many_frags; ++ } + iov[iovcnt].iov_len = frag_len; + iov[iovcnt].iov_base = g_malloc(frag_len); + if (!iov[iovcnt].iov_base) { +@@ -244,10 +247,7 @@ static int tx_consume(Rocker *r, DescInfo *info) + err = -ROCKER_ENXIO; + goto err_bad_io; + } +- +- if (++iovcnt > ROCKER_TX_FRAGS_MAX) { +- goto err_too_many_frags; +- } ++ iovcnt++; + } + + if (iovcnt) { +-- +2.6.2 + diff --git a/app-emulation/qemu/files/qemu-2.5.0-CVE-2015-8743.patch b/app-emulation/qemu/files/qemu-2.5.0-CVE-2015-8743.patch new file mode 100644 index 0000000000..b2bca56927 --- /dev/null +++ b/app-emulation/qemu/files/qemu-2.5.0-CVE-2015-8743.patch @@ -0,0 +1,50 @@ +https://bugs.gentoo.org/570988 + +From aa7f9966dfdff500bbbf1956d9e115b1fa8987a6 Mon Sep 17 00:00:00 2001 +From: Prasad J Pandit <pjp@fedoraproject.org> +Date: Thu, 31 Dec 2015 17:05:27 +0530 +Subject: [PATCH] net: ne2000: fix bounds check in ioport operations + +While doing ioport r/w operations, ne2000 device emulation suffers +from OOB r/w errors. Update respective array bounds check to avoid +OOB access. + +Reported-by: Ling Liu <liuling-it@360.cn> +Cc: qemu-stable@nongnu.org +Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org> +Signed-off-by: Jason Wang <jasowang@redhat.com> +--- + hw/net/ne2000.c | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +diff --git a/hw/net/ne2000.c b/hw/net/ne2000.c +index 010f9ef..a3dffff 100644 +--- a/hw/net/ne2000.c ++++ b/hw/net/ne2000.c +@@ -467,8 +467,9 @@ static inline void ne2000_mem_writel(NE2000State *s, uint32_t addr, + uint32_t val) + { + addr &= ~1; /* XXX: check exact behaviour if not even */ +- if (addr < 32 || +- (addr >= NE2000_PMEM_START && addr < NE2000_MEM_SIZE)) { ++ if (addr < 32 ++ || (addr >= NE2000_PMEM_START ++ && addr + sizeof(uint32_t) <= NE2000_MEM_SIZE)) { + stl_le_p(s->mem + addr, val); + } + } +@@ -497,8 +498,9 @@ static inline uint32_t ne2000_mem_readw(NE2000State *s, uint32_t addr) + static inline uint32_t ne2000_mem_readl(NE2000State *s, uint32_t addr) + { + addr &= ~1; /* XXX: check exact behaviour if not even */ +- if (addr < 32 || +- (addr >= NE2000_PMEM_START && addr < NE2000_MEM_SIZE)) { ++ if (addr < 32 ++ || (addr >= NE2000_PMEM_START ++ && addr + sizeof(uint32_t) <= NE2000_MEM_SIZE)) { + return ldl_le_p(s->mem + addr); + } else { + return 0xffffffff; +-- +2.6.2 + diff --git a/app-emulation/qemu/files/qemu-2.5.0-CVE-2016-1568.patch b/app-emulation/qemu/files/qemu-2.5.0-CVE-2016-1568.patch new file mode 100644 index 0000000000..4ce9a35c3f --- /dev/null +++ b/app-emulation/qemu/files/qemu-2.5.0-CVE-2016-1568.patch @@ -0,0 +1,41 @@ +https://bugs.gentoo.org/571566 + +From 4ab0359a8ae182a7ac5c99609667273167703fab Mon Sep 17 00:00:00 2001 +From: Prasad J Pandit <pjp@fedoraproject.org> +Date: Mon, 11 Jan 2016 14:10:42 -0500 +Subject: [PATCH] ide: ahci: reset ncq object to unused on error + +When processing NCQ commands, AHCI device emulation prepares a +NCQ transfer object; To which an aio control block(aiocb) object +is assigned in 'execute_ncq_command'. In case, when the NCQ +command is invalid, the 'aiocb' object is not assigned, and NCQ +transfer object is left as 'used'. This leads to a use after +free kind of error in 'bdrv_aio_cancel_async' via 'ahci_reset_port'. +Reset NCQ transfer object to 'unused' to avoid it. + +[Maintainer edit: s/ACHI/AHCI/ in the commit message. --js] + +Reported-by: Qinghao Tang <luodalongde@gmail.com> +Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org> +Reviewed-by: John Snow <jsnow@redhat.com> +Message-id: 1452282511-4116-1-git-send-email-ppandit@redhat.com +Signed-off-by: John Snow <jsnow@redhat.com> +--- + hw/ide/ahci.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c +index dd1912e..17f1cbd 100644 +--- a/hw/ide/ahci.c ++++ b/hw/ide/ahci.c +@@ -910,6 +910,7 @@ static void ncq_err(NCQTransferState *ncq_tfs) + ide_state->error = ABRT_ERR; + ide_state->status = READY_STAT | ERR_STAT; + ncq_tfs->drive->port_regs.scr_err |= (1 << ncq_tfs->tag); ++ ncq_tfs->used = 0; + } + + static void ncq_finish(NCQTransferState *ncq_tfs) +-- +2.6.2 + diff --git a/app-emulation/qemu/files/qemu-2.5.0-cflags.patch b/app-emulation/qemu/files/qemu-2.5.0-cflags.patch new file mode 100644 index 0000000000..173394fd02 --- /dev/null +++ b/app-emulation/qemu/files/qemu-2.5.0-cflags.patch @@ -0,0 +1,13 @@ +--- a/configure ++++ b/configure +@@ -4468,10 +4468,6 @@ fi + if test "$gcov" = "yes" ; then + CFLAGS="-fprofile-arcs -ftest-coverage -g $CFLAGS" + LDFLAGS="-fprofile-arcs -ftest-coverage $LDFLAGS" +-elif test "$fortify_source" = "yes" ; then +- CFLAGS="-O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 $CFLAGS" +-elif test "$debug" = "no"; then +- CFLAGS="-O2 $CFLAGS" + fi + + ########################################## diff --git a/app-emulation/qemu/metadata.xml b/app-emulation/qemu/metadata.xml index 4a344007d8..e093bf85a9 100644 --- a/app-emulation/qemu/metadata.xml +++ b/app-emulation/qemu/metadata.xml @@ -1,7 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <herd>qemu</herd> + <maintainer type="project"> + <email>qemu@gentoo.org</email> + <name>Gentoo QEMU Project</name> + </maintainer> <use> <flag name="accessibility">Adds support for braille displays using brltty</flag> <flag name="aio">Enables support for Linux's Async IO</flag> @@ -42,6 +45,7 @@ <flag name="uuid">Enable UUID support in the vdi block driver</flag> <flag name="vde">Enable VDE-based networking</flag> <flag name="vhost-net">Enable accelerated networking using vhost-net, see http://www.linux-kvm.org/page/VhostNet</flag> + <flag name="virgl">Enable experimental Virgil 3d (virtual software GPU)</flag> <flag name="virtfs">Enable VirtFS via virtio-9p-pci / fsdev. See http://wiki.qemu.org/Documentation/9psetup</flag> <flag name="vte">Enable terminal support (<pkg>x11-libs/vte</pkg>) in the GTK+ interface</flag> <flag name="xattr">Add support for getting and setting POSIX extended attributes, through diff --git a/app-emulation/qemu/qemu-2.3.0-r5.ebuild b/app-emulation/qemu/qemu-2.3.0-r5.ebuild deleted file mode 100644 index 05e5b6ccd1..0000000000 --- a/app-emulation/qemu/qemu-2.3.0-r5.ebuild +++ /dev/null @@ -1,615 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=5 - -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE="ncurses,readline" - -inherit eutils flag-o-matic linux-info toolchain-funcs multilib python-r1 \ - user udev fcaps readme.gentoo pax-utils - -BACKPORTS= - -if [[ ${PV} = *9999* ]]; then - EGIT_REPO_URI="git://git.qemu.org/qemu.git" - inherit git-2 - SRC_URI="" -else - SRC_URI="http://wiki.qemu-project.org/download/${P}.tar.bz2 - ${BACKPORTS:+ - https://dev.gentoo.org/~cardoe/distfiles/${P}-${BACKPORTS}.tar.xz}" - KEYWORDS="amd64 ~ppc ~ppc64 x86 ~x86-fbsd" -fi - -DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" -HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org" - -LICENSE="GPL-2 LGPL-2 BSD-2" -SLOT="0" -IUSE="accessibility +aio alsa bluetooth +caps +curl debug +fdt glusterfs \ -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 selinux smartcard snappy spice ssh static static-softmmu \ -static-user systemtap tci test +threads tls usb usbredir +uuid vde +vhost-net \ -virtfs +vnc xattr xen xfs" - -COMMON_TARGETS="aarch64 alpha arm cris i386 m68k microblaze microblazeel mips -mips64 mips64el mipsel or32 ppc ppc64 s390x sh4 sh4eb sparc sparc64 unicore32 -x86_64" -IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} lm32 moxie ppcemb xtensa xtensaeb" -IUSE_USER_TARGETS="${COMMON_TARGETS} armeb mipsn32 mipsn32el ppc64abi32 sparc32plus" - -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}" - -# Require at least one softmmu or user target. -# Block USE flag configurations known to not work. -REQUIRED_USE="|| ( ${use_softmmu_targets} ${use_user_targets} ) - ${PYTHON_REQUIRED_USE} - gtk2? ( gtk ) - qemu_softmmu_targets_arm? ( fdt ) - qemu_softmmu_targets_microblaze? ( fdt ) - qemu_softmmu_targets_ppc? ( fdt ) - qemu_softmmu_targets_ppc64? ( fdt ) - static? ( static-softmmu static-user ) - static-softmmu? ( !alsa !pulseaudio !bluetooth !opengl !gtk !gtk2 ) - virtfs? ( xattr )" - -# 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. -COMMON_LIB_DEPEND=">=dev-libs/glib-2.0[static-libs(+)] - sys-libs/zlib[static-libs(+)] - xattr? ( sys-apps/attr[static-libs(+)] )" -SOFTMMU_LIB_DEPEND="${COMMON_LIB_DEPEND} - >=x11-libs/pixman-0.28.0[static-libs(+)] - aio? ( dev-libs/libaio[static-libs(+)] ) - caps? ( sys-libs/libcap-ng[static-libs(+)] ) - curl? ( >=net-misc/curl-7.15.4[static-libs(+)] ) - fdt? ( >=sys-apps/dtc-1.4.0[static-libs(+)] ) - glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] ) - infiniband? ( sys-infiniband/librdmacm:=[static-libs(+)] ) - jpeg? ( virtual/jpeg:=[static-libs(+)] ) - lzo? ( dev-libs/lzo:2[static-libs(+)] ) - ncurses? ( sys-libs/ncurses:0=[static-libs(+)] ) - nfs? ( >=net-fs/libnfs-1.9.3[static-libs(+)] ) - numa? ( sys-process/numactl[static-libs(+)] ) - png? ( media-libs/libpng:0=[static-libs(+)] ) - rbd? ( sys-cluster/ceph[static-libs(+)] ) - sasl? ( dev-libs/cyrus-sasl[static-libs(+)] ) - sdl? ( >=media-libs/libsdl-1.2.11[static-libs(+)] ) - seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] ) - snappy? ( app-arch/snappy[static-libs(+)] ) - spice? ( >=app-emulation/spice-0.12.0[static-libs(+)] ) - ssh? ( >=net-libs/libssh2-1.2.8[static-libs(+)] ) - tls? ( net-libs/gnutls[static-libs(+)] ) - usb? ( >=virtual/libusb-1-r1[static-libs(+)] ) - uuid? ( >=sys-apps/util-linux-2.16.0[static-libs(+)] ) - vde? ( net-misc/vde[static-libs(+)] ) - xfs? ( sys-fs/xfsprogs[static-libs(+)] )" -USER_LIB_DEPEND="${COMMON_LIB_DEPEND}" -X86_FIRMWARE_DEPEND=" - >=sys-firmware/ipxe-1.0.0_p20130624 - pin-upstream-blobs? ( - ~sys-firmware/seabios-1.7.5 - ~sys-firmware/sgabios-0.1_pre8 - ~sys-firmware/vgabios-0.7a - ) - !pin-upstream-blobs? ( - sys-firmware/seabios - sys-firmware/sgabios - sys-firmware/vgabios - )" -CDEPEND=" - !static-softmmu? ( $(printf "%s? ( ${SOFTMMU_LIB_DEPEND//\[static-libs(+)]} ) " ${use_softmmu_targets}) ) - !static-user? ( $(printf "%s? ( ${USER_LIB_DEPEND//\[static-libs(+)]} ) " ${use_user_targets}) ) - qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} ) - accessibility? ( app-accessibility/brltty ) - alsa? ( >=media-libs/alsa-lib-1.0.13 ) - bluetooth? ( net-wireless/bluez ) - gtk? ( - gtk2? ( x11-libs/gtk+:2 ) - !gtk2? ( x11-libs/gtk+:3 ) - x11-libs/vte:2.90 - ) - iscsi? ( net-libs/libiscsi ) - opengl? ( virtual/opengl ) - pulseaudio? ( media-sound/pulseaudio ) - python? ( ${PYTHON_DEPS} ) - sdl? ( media-libs/libsdl[X] ) - smartcard? ( dev-libs/nss !app-emulation/libcacard ) - spice? ( >=app-emulation/spice-protocol-0.12.3 ) - systemtap? ( dev-util/systemtap ) - usbredir? ( >=sys-apps/usbredir-0.6 ) - virtfs? ( sys-libs/libcap ) - xen? ( app-emulation/xen-tools )" -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-softmmu? ( $(printf "%s? ( ${SOFTMMU_LIB_DEPEND} ) " ${use_softmmu_targets}) ) - static-user? ( $(printf "%s? ( ${USER_LIB_DEPEND} ) " ${use_user_targets}) ) - test? ( - dev-libs/glib[utils] - sys-devel/bc - )" -RDEPEND="${CDEPEND} - selinux? ( sec-policy/selinux-qemu ) -" - -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/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-or32 - 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.\n -For AMD CPUs the module is called 'kvm-amd'\n -For Intel CPUs the module is called 'kvm-intel'\n -Please review /etc/conf.d/modules for how to load these\n\n -Make sure your user is in the 'kvm' group\n -Just run 'gpasswd -a <USER> kvm', then have <USER> re-login." - -qemu_support_kvm() { - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 \ - use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64 \ - use qemu_softmmu_targets_s390x; then - return 0 - fi - - return 1 -} - -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 - CONFIG_CHECK+=" ~KVM_AMD ~KVM_INTEL" - 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 -} - -src_prepare() { - # 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 - - # Cheap hack to disable gettext .mo generation. - use nls || rm -f po/*.po - - epatch "${FILESDIR}"/qemu-1.7.0-cflags.patch - epatch "${FILESDIR}"/${P}-CVE-2015-3456.patch #549404 - epatch "${FILESDIR}"/${P}-CVE-2015-3209.patch #551752 - epatch "${FILESDIR}"/${P}-CVE-2015-5158.patch #555680 - epatch "${FILESDIR}"/${P}-CVE-2015-3214.patch #556052 - epatch "${FILESDIR}"/${P}-CVE-2015-5154-1.patch #556050 / #555532 - epatch "${FILESDIR}"/${P}-CVE-2015-5154-2.patch #556050 / #555532 - epatch "${FILESDIR}"/${P}-CVE-2015-5154-3.patch #556050 / #555532 - epatch "${FILESDIR}"/${P}-CVE-2015-5165-1.patch #556304 - epatch "${FILESDIR}"/${P}-CVE-2015-5165-2.patch #556304 - epatch "${FILESDIR}"/${P}-CVE-2015-5165-3.patch #556304 - epatch "${FILESDIR}"/${P}-CVE-2015-5165-4.patch #556304 - epatch "${FILESDIR}"/${P}-CVE-2015-5165-5.patch #556304 - epatch "${FILESDIR}"/${P}-CVE-2015-5165-6.patch #556304 - epatch "${FILESDIR}"/${P}-CVE-2015-5165-7.patch #556304 - epatch "${FILESDIR}"/${P}-CVE-2015-5166.patch #556304 - [[ -n ${BACKPORTS} ]] && \ - EPATCH_FORCE=yes EPATCH_SUFFIX="patch" EPATCH_SOURCE="${S}/patches" \ - epatch - - # Fix ld and objcopy being called directly - tc-export AR LD OBJCOPY - - # Verbose builds - MAKEOPTS+=" V=1" - - epatch_user -} - -## -# 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=$2 - local static_flag="static-${buildtype}" - - # 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}" - - 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 - --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 as the default configure - # options will autoprobe and try to link in a bunch of unused junk. - conf_softmmu() { - if [[ ${buildtype} == "user" ]] ; then - echo "--disable-${2:-$1}" - else - use_enable "$@" - fi - } - conf_opts+=( - $(conf_softmmu accessibility brlapi) - $(conf_softmmu aio linux-aio) - $(conf_softmmu bluetooth bluez) - $(conf_softmmu caps cap-ng) - $(conf_softmmu curl) - $(conf_softmmu fdt) - $(conf_softmmu glusterfs) - $(conf_softmmu gtk) - $(conf_softmmu infiniband rdma) - $(conf_softmmu iscsi libiscsi) - $(conf_softmmu jpeg vnc-jpeg) - $(conf_softmmu kernel_linux kvm) - $(conf_softmmu lzo) - $(conf_softmmu ncurses curses) - $(conf_softmmu nfs libnfs) - $(conf_softmmu numa) - $(conf_softmmu opengl) - $(conf_softmmu png vnc-png) - $(conf_softmmu rbd) - $(conf_softmmu sasl vnc-sasl) - $(conf_softmmu sdl) - $(conf_softmmu seccomp) - $(conf_softmmu smartcard smartcard-nss) - $(conf_softmmu snappy) - $(conf_softmmu spice) - $(conf_softmmu ssh libssh2) - $(conf_softmmu tls quorum) - $(conf_softmmu tls vnc-tls) - $(conf_softmmu tls vnc-ws) - $(conf_softmmu usb libusb) - $(conf_softmmu usbredir usb-redir) - $(conf_softmmu uuid) - $(conf_softmmu vde) - $(conf_softmmu vhost-net) - $(conf_softmmu virtfs) - $(conf_softmmu vnc) - $(conf_softmmu xen) - $(conf_softmmu xen xen-pci-passthrough) - $(conf_softmmu xfs xfsctl) - ) - - case ${buildtype} in - user) - conf_opts+=( - --enable-linux-user - --disable-system - --target-list="${user_targets}" - --disable-blobs - --disable-tools - ) - ;; - softmmu) - conf_opts+=( - --disable-linux-user - --enable-system - --target-list="${softmmu_targets}" - --with-system-pixman - --audio-drv-list="${audio_opts}" - ) - use gtk && conf_opts+=( --with-gtkabi=$(usex gtk2 2.0 3.0) ) - ;; - esac - - # 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 - gcc-specs-pie && conf_opts+=( --enable-pie ) - fi - - einfo "../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 - - [[ -n ${softmmu_targets} ]] && \ - einfo "Building the following softmmu targets: ${softmmu_targets}" - - [[ -n ${user_targets} ]] && \ - einfo "Building the following user targets: ${user_targets}" - - if [[ -n ${softmmu_targets} ]]; then - mkdir "${S}/softmmu-build" - qemu_src_configure "softmmu" "${S}/softmmu-build" - fi - - if [[ -n ${user_targets} ]]; then - mkdir "${S}/user-build" - qemu_src_configure "user" "${S}/user-build" - fi -} - -src_compile() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" - default - fi - - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" - default - fi -} - -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/kvm_stat" - python_doscript "${S}/scripts/kvm/vmxcap" - python_doscript "${S}/scripts/qmp/qmp-shell" - python_doscript "${S}/scripts/qmp/qemu-ga-client" -} - -src_install() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" - emake DESTDIR="${ED}" install - - # Install binfmt handler init script for user targets - newinitd "${FILESDIR}/qemu-binfmt.initd-r1" qemu-binfmt - 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_dorules "${FILESDIR}"/65-kvm.rules - fi - - if use python; then - python_foreach_impl qemu_python_install - fi - fi - - # Disable mprotect on the qemu binaries as they use JITs to be fast #459348 - pushd "${ED}"/usr/bin >/dev/null - pax-mark m "${softmmu_bins[@]}" "${user_bins[@]}" - popd >/dev/null - - # Install config file example for qemu-bridge-helper - insinto "/etc/qemu" - doins "${FILESDIR}/bridge.conf" - - # Remove the docdir placed qmp-commands.txt - mv "${ED}/usr/share/doc/${PF}/html/qmp-commands.txt" "${S}/docs/qmp/" - - cd "${S}" - dodoc Changelog MAINTAINERS docs/specs/pci-ids.txt - newdoc pc-bios/README README.pc-bios - dodoc docs/qmp/*.txt - - if [[ -n ${softmmu_targets} ]]; then - # Remove SeaBIOS since we're using the SeaBIOS packaged one - rm "${ED}/usr/share/qemu/bios.bin" - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../seabios/bios.bin /usr/share/qemu/bios.bin - fi - - # Remove vgabios since we're using the vgabios 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-vmware.bin" - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../vgabios/vgabios.bin /usr/share/qemu/vgabios.bin - dosym ../vgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin - dosym ../vgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin - dosym ../vgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin - dosym ../vgabios/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 - - qemu_support_kvm && readme.gentoo_create_doc -} - -pkg_postinst() { - if qemu_support_kvm; then - readme.gentoo_print_elog - ewarn "Migration from qemu-kvm instances and loading qemu-kvm created" - ewarn "save states has been removed starting with the 1.6.2 release" - ewarn - ewarn "It is recommended that you migrate any VMs that may be running" - ewarn "on qemu-kvm to a host with a newer qemu and regenerate" - ewarn "any saved states with a newer qemu." - ewarn - ewarn "qemu-kvm was the primary qemu provider in Gentoo through 1.2.x" - - if use x86 || use amd64; then - ewarn - ewarn "The /usr/bin/kvm and /usr/bin/qemu-kvm wrappers are no longer" - ewarn "installed. In order to use kvm acceleration, pass the flag" - ewarn "-enable-kvm when running your system target." - fi - fi - - if [[ -n ${softmmu_targets} ]] && use kernel_linux; then - udev_reload - fi - - fcaps cap_net_admin /usr/libexec/qemu-bridge-helper - if use virtfs && [ -n "${softmmu_targets}" ]; then - local virtfs_caps="cap_chown,cap_dac_override,cap_fowner,cap_fsetid,cap_setgid,cap_mknod,cap_setuid" - fcaps ${virtfs_caps} /usr/bin/virtfs-proxy-helper - fi -} - -pkg_info() { - echo "Using:" - echo " $(best_version app-emulation/spice-protocol)" - 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/vgabios)" -} diff --git a/app-emulation/qemu/qemu-2.3.0-r6.ebuild b/app-emulation/qemu/qemu-2.3.0-r6.ebuild deleted file mode 100644 index 5b6cd8229a..0000000000 --- a/app-emulation/qemu/qemu-2.3.0-r6.ebuild +++ /dev/null @@ -1,616 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=5 - -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE="ncurses,readline" - -inherit eutils flag-o-matic linux-info toolchain-funcs multilib python-r1 \ - user udev fcaps readme.gentoo pax-utils - -BACKPORTS= - -if [[ ${PV} = *9999* ]]; then - EGIT_REPO_URI="git://git.qemu.org/qemu.git" - inherit git-2 - SRC_URI="" -else - SRC_URI="http://wiki.qemu-project.org/download/${P}.tar.bz2 - ${BACKPORTS:+ - https://dev.gentoo.org/~cardoe/distfiles/${P}-${BACKPORTS}.tar.xz}" - KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~x86-fbsd" -fi - -DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" -HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org" - -LICENSE="GPL-2 LGPL-2 BSD-2" -SLOT="0" -IUSE="accessibility +aio alsa bluetooth +caps +curl debug +fdt glusterfs \ -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 selinux smartcard snappy spice ssh static static-softmmu \ -static-user systemtap tci test +threads tls usb usbredir +uuid vde +vhost-net \ -virtfs +vnc xattr xen xfs" - -COMMON_TARGETS="aarch64 alpha arm cris i386 m68k microblaze microblazeel mips -mips64 mips64el mipsel or32 ppc ppc64 s390x sh4 sh4eb sparc sparc64 unicore32 -x86_64" -IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} lm32 moxie ppcemb xtensa xtensaeb" -IUSE_USER_TARGETS="${COMMON_TARGETS} armeb mipsn32 mipsn32el ppc64abi32 sparc32plus" - -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}" - -# Require at least one softmmu or user target. -# Block USE flag configurations known to not work. -REQUIRED_USE="|| ( ${use_softmmu_targets} ${use_user_targets} ) - ${PYTHON_REQUIRED_USE} - gtk2? ( gtk ) - qemu_softmmu_targets_arm? ( fdt ) - qemu_softmmu_targets_microblaze? ( fdt ) - qemu_softmmu_targets_ppc? ( fdt ) - qemu_softmmu_targets_ppc64? ( fdt ) - static? ( static-softmmu static-user ) - static-softmmu? ( !alsa !pulseaudio !bluetooth !opengl !gtk !gtk2 ) - virtfs? ( xattr )" - -# 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. -COMMON_LIB_DEPEND=">=dev-libs/glib-2.0[static-libs(+)] - sys-libs/zlib[static-libs(+)] - xattr? ( sys-apps/attr[static-libs(+)] )" -SOFTMMU_LIB_DEPEND="${COMMON_LIB_DEPEND} - >=x11-libs/pixman-0.28.0[static-libs(+)] - aio? ( dev-libs/libaio[static-libs(+)] ) - caps? ( sys-libs/libcap-ng[static-libs(+)] ) - curl? ( >=net-misc/curl-7.15.4[static-libs(+)] ) - fdt? ( >=sys-apps/dtc-1.4.0[static-libs(+)] ) - glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] ) - infiniband? ( sys-infiniband/librdmacm:=[static-libs(+)] ) - jpeg? ( virtual/jpeg:=[static-libs(+)] ) - lzo? ( dev-libs/lzo:2[static-libs(+)] ) - ncurses? ( sys-libs/ncurses:0=[static-libs(+)] ) - nfs? ( >=net-fs/libnfs-1.9.3[static-libs(+)] ) - numa? ( sys-process/numactl[static-libs(+)] ) - png? ( media-libs/libpng:0=[static-libs(+)] ) - rbd? ( sys-cluster/ceph[static-libs(+)] ) - sasl? ( dev-libs/cyrus-sasl[static-libs(+)] ) - sdl? ( >=media-libs/libsdl-1.2.11[static-libs(+)] ) - seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] ) - snappy? ( app-arch/snappy[static-libs(+)] ) - spice? ( >=app-emulation/spice-0.12.0[static-libs(+)] ) - ssh? ( >=net-libs/libssh2-1.2.8[static-libs(+)] ) - tls? ( net-libs/gnutls[static-libs(+)] ) - usb? ( >=virtual/libusb-1-r1[static-libs(+)] ) - uuid? ( >=sys-apps/util-linux-2.16.0[static-libs(+)] ) - vde? ( net-misc/vde[static-libs(+)] ) - xfs? ( sys-fs/xfsprogs[static-libs(+)] )" -USER_LIB_DEPEND="${COMMON_LIB_DEPEND}" -X86_FIRMWARE_DEPEND=" - >=sys-firmware/ipxe-1.0.0_p20130624 - pin-upstream-blobs? ( - ~sys-firmware/seabios-1.7.5 - ~sys-firmware/sgabios-0.1_pre8 - ~sys-firmware/vgabios-0.7a - ) - !pin-upstream-blobs? ( - sys-firmware/seabios - sys-firmware/sgabios - sys-firmware/vgabios - )" -CDEPEND=" - !static-softmmu? ( $(printf "%s? ( ${SOFTMMU_LIB_DEPEND//\[static-libs(+)]} ) " ${use_softmmu_targets}) ) - !static-user? ( $(printf "%s? ( ${USER_LIB_DEPEND//\[static-libs(+)]} ) " ${use_user_targets}) ) - qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} ) - accessibility? ( app-accessibility/brltty ) - alsa? ( >=media-libs/alsa-lib-1.0.13 ) - bluetooth? ( net-wireless/bluez ) - gtk? ( - gtk2? ( x11-libs/gtk+:2 ) - !gtk2? ( x11-libs/gtk+:3 ) - x11-libs/vte:2.90 - ) - iscsi? ( net-libs/libiscsi ) - opengl? ( virtual/opengl ) - pulseaudio? ( media-sound/pulseaudio ) - python? ( ${PYTHON_DEPS} ) - sdl? ( media-libs/libsdl[X] ) - smartcard? ( dev-libs/nss !app-emulation/libcacard ) - spice? ( >=app-emulation/spice-protocol-0.12.3 ) - systemtap? ( dev-util/systemtap ) - usbredir? ( >=sys-apps/usbredir-0.6 ) - virtfs? ( sys-libs/libcap ) - xen? ( app-emulation/xen-tools )" -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-softmmu? ( $(printf "%s? ( ${SOFTMMU_LIB_DEPEND} ) " ${use_softmmu_targets}) ) - static-user? ( $(printf "%s? ( ${USER_LIB_DEPEND} ) " ${use_user_targets}) ) - test? ( - dev-libs/glib[utils] - sys-devel/bc - )" -RDEPEND="${CDEPEND} - selinux? ( sec-policy/selinux-qemu ) -" - -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/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-or32 - 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.\n -For AMD CPUs the module is called 'kvm-amd'\n -For Intel CPUs the module is called 'kvm-intel'\n -Please review /etc/conf.d/modules for how to load these\n\n -Make sure your user is in the 'kvm' group\n -Just run 'gpasswd -a <USER> kvm', then have <USER> re-login." - -qemu_support_kvm() { - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 \ - use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64 \ - use qemu_softmmu_targets_s390x; then - return 0 - fi - - return 1 -} - -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 - CONFIG_CHECK+=" ~KVM_AMD ~KVM_INTEL" - 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 -} - -src_prepare() { - # 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 - - # Cheap hack to disable gettext .mo generation. - use nls || rm -f po/*.po - - epatch "${FILESDIR}"/qemu-1.7.0-cflags.patch - epatch "${FILESDIR}"/${P}-CVE-2015-3456.patch #549404 - epatch "${FILESDIR}"/${P}-CVE-2015-3209.patch #551752 - epatch "${FILESDIR}"/${P}-CVE-2015-5158.patch #555680 - epatch "${FILESDIR}"/${P}-CVE-2015-3214.patch #556052 - epatch "${FILESDIR}"/${P}-CVE-2015-5154-1.patch #556050 / #555532 - epatch "${FILESDIR}"/${P}-CVE-2015-5154-2.patch #556050 / #555532 - epatch "${FILESDIR}"/${P}-CVE-2015-5154-3.patch #556050 / #555532 - epatch "${FILESDIR}"/${P}-CVE-2015-5165-1.patch #556304 - epatch "${FILESDIR}"/${P}-CVE-2015-5165-2.patch #556304 - epatch "${FILESDIR}"/${P}-CVE-2015-5165-3.patch #556304 - epatch "${FILESDIR}"/${P}-CVE-2015-5165-4.patch #556304 - epatch "${FILESDIR}"/${P}-CVE-2015-5165-5.patch #556304 - epatch "${FILESDIR}"/${P}-CVE-2015-5165-6.patch #556304 - epatch "${FILESDIR}"/${P}-CVE-2015-5165-7.patch #556304 - epatch "${FILESDIR}"/${P}-CVE-2015-5166.patch #556304 - epatch "${FILESDIR}"/${P}-virtio-serial.patch #557206 - [[ -n ${BACKPORTS} ]] && \ - EPATCH_FORCE=yes EPATCH_SUFFIX="patch" EPATCH_SOURCE="${S}/patches" \ - epatch - - # Fix ld and objcopy being called directly - tc-export AR LD OBJCOPY - - # Verbose builds - MAKEOPTS+=" V=1" - - epatch_user -} - -## -# 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=$2 - local static_flag="static-${buildtype}" - - # 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}" - - 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 - --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 as the default configure - # options will autoprobe and try to link in a bunch of unused junk. - conf_softmmu() { - if [[ ${buildtype} == "user" ]] ; then - echo "--disable-${2:-$1}" - else - use_enable "$@" - fi - } - conf_opts+=( - $(conf_softmmu accessibility brlapi) - $(conf_softmmu aio linux-aio) - $(conf_softmmu bluetooth bluez) - $(conf_softmmu caps cap-ng) - $(conf_softmmu curl) - $(conf_softmmu fdt) - $(conf_softmmu glusterfs) - $(conf_softmmu gtk) - $(conf_softmmu infiniband rdma) - $(conf_softmmu iscsi libiscsi) - $(conf_softmmu jpeg vnc-jpeg) - $(conf_softmmu kernel_linux kvm) - $(conf_softmmu lzo) - $(conf_softmmu ncurses curses) - $(conf_softmmu nfs libnfs) - $(conf_softmmu numa) - $(conf_softmmu opengl) - $(conf_softmmu png vnc-png) - $(conf_softmmu rbd) - $(conf_softmmu sasl vnc-sasl) - $(conf_softmmu sdl) - $(conf_softmmu seccomp) - $(conf_softmmu smartcard smartcard-nss) - $(conf_softmmu snappy) - $(conf_softmmu spice) - $(conf_softmmu ssh libssh2) - $(conf_softmmu tls quorum) - $(conf_softmmu tls vnc-tls) - $(conf_softmmu tls vnc-ws) - $(conf_softmmu usb libusb) - $(conf_softmmu usbredir usb-redir) - $(conf_softmmu uuid) - $(conf_softmmu vde) - $(conf_softmmu vhost-net) - $(conf_softmmu virtfs) - $(conf_softmmu vnc) - $(conf_softmmu xen) - $(conf_softmmu xen xen-pci-passthrough) - $(conf_softmmu xfs xfsctl) - ) - - case ${buildtype} in - user) - conf_opts+=( - --enable-linux-user - --disable-system - --target-list="${user_targets}" - --disable-blobs - --disable-tools - ) - ;; - softmmu) - conf_opts+=( - --disable-linux-user - --enable-system - --target-list="${softmmu_targets}" - --with-system-pixman - --audio-drv-list="${audio_opts}" - ) - use gtk && conf_opts+=( --with-gtkabi=$(usex gtk2 2.0 3.0) ) - ;; - esac - - # 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 - gcc-specs-pie && conf_opts+=( --enable-pie ) - fi - - einfo "../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 - - [[ -n ${softmmu_targets} ]] && \ - einfo "Building the following softmmu targets: ${softmmu_targets}" - - [[ -n ${user_targets} ]] && \ - einfo "Building the following user targets: ${user_targets}" - - if [[ -n ${softmmu_targets} ]]; then - mkdir "${S}/softmmu-build" - qemu_src_configure "softmmu" "${S}/softmmu-build" - fi - - if [[ -n ${user_targets} ]]; then - mkdir "${S}/user-build" - qemu_src_configure "user" "${S}/user-build" - fi -} - -src_compile() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" - default - fi - - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" - default - fi -} - -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/kvm_stat" - python_doscript "${S}/scripts/kvm/vmxcap" - python_doscript "${S}/scripts/qmp/qmp-shell" - python_doscript "${S}/scripts/qmp/qemu-ga-client" -} - -src_install() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" - emake DESTDIR="${ED}" install - - # Install binfmt handler init script for user targets - newinitd "${FILESDIR}/qemu-binfmt.initd-r1" qemu-binfmt - 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_dorules "${FILESDIR}"/65-kvm.rules - fi - - if use python; then - python_foreach_impl qemu_python_install - fi - fi - - # Disable mprotect on the qemu binaries as they use JITs to be fast #459348 - pushd "${ED}"/usr/bin >/dev/null - pax-mark m "${softmmu_bins[@]}" "${user_bins[@]}" - popd >/dev/null - - # Install config file example for qemu-bridge-helper - insinto "/etc/qemu" - doins "${FILESDIR}/bridge.conf" - - # Remove the docdir placed qmp-commands.txt - mv "${ED}/usr/share/doc/${PF}/html/qmp-commands.txt" "${S}/docs/qmp/" - - cd "${S}" - dodoc Changelog MAINTAINERS docs/specs/pci-ids.txt - newdoc pc-bios/README README.pc-bios - dodoc docs/qmp/*.txt - - if [[ -n ${softmmu_targets} ]]; then - # Remove SeaBIOS since we're using the SeaBIOS packaged one - rm "${ED}/usr/share/qemu/bios.bin" - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../seabios/bios.bin /usr/share/qemu/bios.bin - fi - - # Remove vgabios since we're using the vgabios 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-vmware.bin" - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../vgabios/vgabios.bin /usr/share/qemu/vgabios.bin - dosym ../vgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin - dosym ../vgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin - dosym ../vgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin - dosym ../vgabios/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 - - qemu_support_kvm && readme.gentoo_create_doc -} - -pkg_postinst() { - if qemu_support_kvm; then - readme.gentoo_print_elog - ewarn "Migration from qemu-kvm instances and loading qemu-kvm created" - ewarn "save states has been removed starting with the 1.6.2 release" - ewarn - ewarn "It is recommended that you migrate any VMs that may be running" - ewarn "on qemu-kvm to a host with a newer qemu and regenerate" - ewarn "any saved states with a newer qemu." - ewarn - ewarn "qemu-kvm was the primary qemu provider in Gentoo through 1.2.x" - - if use x86 || use amd64; then - ewarn - ewarn "The /usr/bin/kvm and /usr/bin/qemu-kvm wrappers are no longer" - ewarn "installed. In order to use kvm acceleration, pass the flag" - ewarn "-enable-kvm when running your system target." - fi - fi - - if [[ -n ${softmmu_targets} ]] && use kernel_linux; then - udev_reload - fi - - fcaps cap_net_admin /usr/libexec/qemu-bridge-helper - if use virtfs && [ -n "${softmmu_targets}" ]; then - local virtfs_caps="cap_chown,cap_dac_override,cap_fowner,cap_fsetid,cap_setgid,cap_mknod,cap_setuid" - fcaps ${virtfs_caps} /usr/bin/virtfs-proxy-helper - fi -} - -pkg_info() { - echo "Using:" - echo " $(best_version app-emulation/spice-protocol)" - 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/vgabios)" -} diff --git a/app-emulation/qemu/qemu-2.3.1.ebuild b/app-emulation/qemu/qemu-2.3.1.ebuild deleted file mode 100644 index 421e705bba..0000000000 --- a/app-emulation/qemu/qemu-2.3.1.ebuild +++ /dev/null @@ -1,602 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=5 - -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE="ncurses,readline" - -inherit eutils flag-o-matic linux-info toolchain-funcs multilib python-r1 \ - user udev fcaps readme.gentoo pax-utils - -BACKPORTS= - -if [[ ${PV} = *9999* ]]; then - EGIT_REPO_URI="git://git.qemu.org/qemu.git" - inherit git-2 - SRC_URI="" -else - SRC_URI="http://wiki.qemu-project.org/download/${P}.tar.bz2 - ${BACKPORTS:+ - https://dev.gentoo.org/~cardoe/distfiles/${P}-${BACKPORTS}.tar.xz}" - KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~x86-fbsd" -fi - -DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" -HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org" - -LICENSE="GPL-2 LGPL-2 BSD-2" -SLOT="0" -IUSE="accessibility +aio alsa bluetooth +caps +curl debug +fdt glusterfs \ -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 selinux smartcard snappy spice ssh static static-softmmu \ -static-user systemtap tci test +threads tls usb usbredir +uuid vde +vhost-net \ -virtfs +vnc xattr xen xfs" - -COMMON_TARGETS="aarch64 alpha arm cris i386 m68k microblaze microblazeel mips -mips64 mips64el mipsel or32 ppc ppc64 s390x sh4 sh4eb sparc sparc64 unicore32 -x86_64" -IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} lm32 moxie ppcemb xtensa xtensaeb" -IUSE_USER_TARGETS="${COMMON_TARGETS} armeb mipsn32 mipsn32el ppc64abi32 sparc32plus" - -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}" - -# Require at least one softmmu or user target. -# Block USE flag configurations known to not work. -REQUIRED_USE="|| ( ${use_softmmu_targets} ${use_user_targets} ) - ${PYTHON_REQUIRED_USE} - gtk2? ( gtk ) - qemu_softmmu_targets_arm? ( fdt ) - qemu_softmmu_targets_microblaze? ( fdt ) - qemu_softmmu_targets_ppc? ( fdt ) - qemu_softmmu_targets_ppc64? ( fdt ) - static? ( static-softmmu static-user ) - static-softmmu? ( !alsa !pulseaudio !bluetooth !opengl !gtk !gtk2 ) - virtfs? ( xattr )" - -# 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. -COMMON_LIB_DEPEND=">=dev-libs/glib-2.0[static-libs(+)] - sys-libs/zlib[static-libs(+)] - xattr? ( sys-apps/attr[static-libs(+)] )" -SOFTMMU_LIB_DEPEND="${COMMON_LIB_DEPEND} - >=x11-libs/pixman-0.28.0[static-libs(+)] - aio? ( dev-libs/libaio[static-libs(+)] ) - caps? ( sys-libs/libcap-ng[static-libs(+)] ) - curl? ( >=net-misc/curl-7.15.4[static-libs(+)] ) - fdt? ( >=sys-apps/dtc-1.4.0[static-libs(+)] ) - glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] ) - infiniband? ( sys-infiniband/librdmacm:=[static-libs(+)] ) - jpeg? ( virtual/jpeg:=[static-libs(+)] ) - lzo? ( dev-libs/lzo:2[static-libs(+)] ) - ncurses? ( sys-libs/ncurses:0=[static-libs(+)] ) - nfs? ( >=net-fs/libnfs-1.9.3[static-libs(+)] ) - numa? ( sys-process/numactl[static-libs(+)] ) - png? ( media-libs/libpng:0=[static-libs(+)] ) - rbd? ( sys-cluster/ceph[static-libs(+)] ) - sasl? ( dev-libs/cyrus-sasl[static-libs(+)] ) - sdl? ( >=media-libs/libsdl-1.2.11[static-libs(+)] ) - seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] ) - snappy? ( app-arch/snappy[static-libs(+)] ) - spice? ( >=app-emulation/spice-0.12.0[static-libs(+)] ) - ssh? ( >=net-libs/libssh2-1.2.8[static-libs(+)] ) - tls? ( net-libs/gnutls[static-libs(+)] ) - usb? ( >=virtual/libusb-1-r1[static-libs(+)] ) - uuid? ( >=sys-apps/util-linux-2.16.0[static-libs(+)] ) - vde? ( net-misc/vde[static-libs(+)] ) - xfs? ( sys-fs/xfsprogs[static-libs(+)] )" -USER_LIB_DEPEND="${COMMON_LIB_DEPEND}" -X86_FIRMWARE_DEPEND=" - >=sys-firmware/ipxe-1.0.0_p20130624 - pin-upstream-blobs? ( - ~sys-firmware/seabios-1.7.5 - ~sys-firmware/sgabios-0.1_pre8 - ~sys-firmware/vgabios-0.7a - ) - !pin-upstream-blobs? ( - sys-firmware/seabios - sys-firmware/sgabios - sys-firmware/vgabios - )" -CDEPEND=" - !static-softmmu? ( $(printf "%s? ( ${SOFTMMU_LIB_DEPEND//\[static-libs(+)]} ) " ${use_softmmu_targets}) ) - !static-user? ( $(printf "%s? ( ${USER_LIB_DEPEND//\[static-libs(+)]} ) " ${use_user_targets}) ) - qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} ) - accessibility? ( app-accessibility/brltty ) - alsa? ( >=media-libs/alsa-lib-1.0.13 ) - bluetooth? ( net-wireless/bluez ) - gtk? ( - gtk2? ( x11-libs/gtk+:2 ) - !gtk2? ( x11-libs/gtk+:3 ) - x11-libs/vte:2.90 - ) - iscsi? ( net-libs/libiscsi ) - opengl? ( virtual/opengl ) - pulseaudio? ( media-sound/pulseaudio ) - python? ( ${PYTHON_DEPS} ) - sdl? ( media-libs/libsdl[X] ) - smartcard? ( dev-libs/nss !app-emulation/libcacard ) - spice? ( >=app-emulation/spice-protocol-0.12.3 ) - systemtap? ( dev-util/systemtap ) - usbredir? ( >=sys-apps/usbredir-0.6 ) - virtfs? ( sys-libs/libcap ) - xen? ( app-emulation/xen-tools )" -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-softmmu? ( $(printf "%s? ( ${SOFTMMU_LIB_DEPEND} ) " ${use_softmmu_targets}) ) - static-user? ( $(printf "%s? ( ${USER_LIB_DEPEND} ) " ${use_user_targets}) ) - test? ( - dev-libs/glib[utils] - sys-devel/bc - )" -RDEPEND="${CDEPEND} - selinux? ( sec-policy/selinux-qemu ) -" - -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/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-or32 - 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.\n -For AMD CPUs the module is called 'kvm-amd'\n -For Intel CPUs the module is called 'kvm-intel'\n -Please review /etc/conf.d/modules for how to load these\n\n -Make sure your user is in the 'kvm' group\n -Just run 'gpasswd -a <USER> kvm', then have <USER> re-login." - -qemu_support_kvm() { - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 \ - use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64 \ - use qemu_softmmu_targets_s390x; then - return 0 - fi - - return 1 -} - -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 - CONFIG_CHECK+=" ~KVM_AMD ~KVM_INTEL" - 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 -} - -src_prepare() { - # 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 - - # Cheap hack to disable gettext .mo generation. - use nls || rm -f po/*.po - - epatch "${FILESDIR}"/qemu-1.7.0-cflags.patch - epatch "${FILESDIR}"/${PN}-2.3.0-CVE-2015-3209.patch #551752 - epatch "${FILESDIR}"/${PN}-2.3.0-virtio-serial.patch #557206 - [[ -n ${BACKPORTS} ]] && \ - EPATCH_FORCE=yes EPATCH_SUFFIX="patch" EPATCH_SOURCE="${S}/patches" \ - epatch - - # Fix ld and objcopy being called directly - tc-export AR LD OBJCOPY - - # Verbose builds - MAKEOPTS+=" V=1" - - epatch_user -} - -## -# 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=$2 - local static_flag="static-${buildtype}" - - # 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}" - - 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 - --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 as the default configure - # options will autoprobe and try to link in a bunch of unused junk. - conf_softmmu() { - if [[ ${buildtype} == "user" ]] ; then - echo "--disable-${2:-$1}" - else - use_enable "$@" - fi - } - conf_opts+=( - $(conf_softmmu accessibility brlapi) - $(conf_softmmu aio linux-aio) - $(conf_softmmu bluetooth bluez) - $(conf_softmmu caps cap-ng) - $(conf_softmmu curl) - $(conf_softmmu fdt) - $(conf_softmmu glusterfs) - $(conf_softmmu gtk) - $(conf_softmmu infiniband rdma) - $(conf_softmmu iscsi libiscsi) - $(conf_softmmu jpeg vnc-jpeg) - $(conf_softmmu kernel_linux kvm) - $(conf_softmmu lzo) - $(conf_softmmu ncurses curses) - $(conf_softmmu nfs libnfs) - $(conf_softmmu numa) - $(conf_softmmu opengl) - $(conf_softmmu png vnc-png) - $(conf_softmmu rbd) - $(conf_softmmu sasl vnc-sasl) - $(conf_softmmu sdl) - $(conf_softmmu seccomp) - $(conf_softmmu smartcard smartcard-nss) - $(conf_softmmu snappy) - $(conf_softmmu spice) - $(conf_softmmu ssh libssh2) - $(conf_softmmu tls quorum) - $(conf_softmmu tls vnc-tls) - $(conf_softmmu tls vnc-ws) - $(conf_softmmu usb libusb) - $(conf_softmmu usbredir usb-redir) - $(conf_softmmu uuid) - $(conf_softmmu vde) - $(conf_softmmu vhost-net) - $(conf_softmmu virtfs) - $(conf_softmmu vnc) - $(conf_softmmu xen) - $(conf_softmmu xen xen-pci-passthrough) - $(conf_softmmu xfs xfsctl) - ) - - case ${buildtype} in - user) - conf_opts+=( - --enable-linux-user - --disable-system - --target-list="${user_targets}" - --disable-blobs - --disable-tools - ) - ;; - softmmu) - conf_opts+=( - --disable-linux-user - --enable-system - --target-list="${softmmu_targets}" - --with-system-pixman - --audio-drv-list="${audio_opts}" - ) - use gtk && conf_opts+=( --with-gtkabi=$(usex gtk2 2.0 3.0) ) - ;; - esac - - # 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 - gcc-specs-pie && conf_opts+=( --enable-pie ) - fi - - einfo "../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 - - [[ -n ${softmmu_targets} ]] && \ - einfo "Building the following softmmu targets: ${softmmu_targets}" - - [[ -n ${user_targets} ]] && \ - einfo "Building the following user targets: ${user_targets}" - - if [[ -n ${softmmu_targets} ]]; then - mkdir "${S}/softmmu-build" - qemu_src_configure "softmmu" "${S}/softmmu-build" - fi - - if [[ -n ${user_targets} ]]; then - mkdir "${S}/user-build" - qemu_src_configure "user" "${S}/user-build" - fi -} - -src_compile() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" - default - fi - - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" - default - fi -} - -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/kvm_stat" - python_doscript "${S}/scripts/kvm/vmxcap" - python_doscript "${S}/scripts/qmp/qmp-shell" - python_doscript "${S}/scripts/qmp/qemu-ga-client" -} - -src_install() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" - emake DESTDIR="${ED}" install - - # Install binfmt handler init script for user targets - newinitd "${FILESDIR}/qemu-binfmt.initd-r1" qemu-binfmt - 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_dorules "${FILESDIR}"/65-kvm.rules - fi - - if use python; then - python_foreach_impl qemu_python_install - fi - fi - - # Disable mprotect on the qemu binaries as they use JITs to be fast #459348 - pushd "${ED}"/usr/bin >/dev/null - pax-mark m "${softmmu_bins[@]}" "${user_bins[@]}" - popd >/dev/null - - # Install config file example for qemu-bridge-helper - insinto "/etc/qemu" - doins "${FILESDIR}/bridge.conf" - - # Remove the docdir placed qmp-commands.txt - mv "${ED}/usr/share/doc/${PF}/html/qmp-commands.txt" "${S}/docs/qmp/" - - cd "${S}" - dodoc Changelog MAINTAINERS docs/specs/pci-ids.txt - newdoc pc-bios/README README.pc-bios - dodoc docs/qmp/*.txt - - if [[ -n ${softmmu_targets} ]]; then - # Remove SeaBIOS since we're using the SeaBIOS packaged one - rm "${ED}/usr/share/qemu/bios.bin" - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../seabios/bios.bin /usr/share/qemu/bios.bin - fi - - # Remove vgabios since we're using the vgabios 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-vmware.bin" - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../vgabios/vgabios.bin /usr/share/qemu/vgabios.bin - dosym ../vgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin - dosym ../vgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin - dosym ../vgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin - dosym ../vgabios/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 - - qemu_support_kvm && readme.gentoo_create_doc -} - -pkg_postinst() { - if qemu_support_kvm; then - readme.gentoo_print_elog - ewarn "Migration from qemu-kvm instances and loading qemu-kvm created" - ewarn "save states has been removed starting with the 1.6.2 release" - ewarn - ewarn "It is recommended that you migrate any VMs that may be running" - ewarn "on qemu-kvm to a host with a newer qemu and regenerate" - ewarn "any saved states with a newer qemu." - ewarn - ewarn "qemu-kvm was the primary qemu provider in Gentoo through 1.2.x" - - if use x86 || use amd64; then - ewarn - ewarn "The /usr/bin/kvm and /usr/bin/qemu-kvm wrappers are no longer" - ewarn "installed. In order to use kvm acceleration, pass the flag" - ewarn "-enable-kvm when running your system target." - fi - fi - - if [[ -n ${softmmu_targets} ]] && use kernel_linux; then - udev_reload - fi - - fcaps cap_net_admin /usr/libexec/qemu-bridge-helper - if use virtfs && [ -n "${softmmu_targets}" ]; then - local virtfs_caps="cap_chown,cap_dac_override,cap_fowner,cap_fsetid,cap_setgid,cap_mknod,cap_setuid" - fcaps ${virtfs_caps} /usr/bin/virtfs-proxy-helper - fi -} - -pkg_info() { - echo "Using:" - echo " $(best_version app-emulation/spice-protocol)" - 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/vgabios)" -} diff --git a/app-emulation/qemu/qemu-2.4.0.1-r1.ebuild b/app-emulation/qemu/qemu-2.4.0.1-r1.ebuild deleted file mode 100644 index 6b53c66421..0000000000 --- a/app-emulation/qemu/qemu-2.4.0.1-r1.ebuild +++ /dev/null @@ -1,649 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=5 - -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE="ncurses,readline" - -inherit eutils flag-o-matic linux-info toolchain-funcs multilib python-r1 \ - user udev fcaps readme.gentoo pax-utils - -BACKPORTS= - -if [[ ${PV} = *9999* ]]; then - EGIT_REPO_URI="git://git.qemu.org/qemu.git" - inherit git-2 - SRC_URI="" -else - SRC_URI="http://wiki.qemu-project.org/download/${P}.tar.bz2 - ${BACKPORTS:+ - https://dev.gentoo.org/~cardoe/distfiles/${P}-${BACKPORTS}.tar.xz}" - KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~x86-fbsd" -fi - -DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" -HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org" - -LICENSE="GPL-2 LGPL-2 BSD-2" -SLOT="0" -IUSE="accessibility +aio alsa bluetooth +caps +curl debug +fdt glusterfs \ -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-softmmu -static-user systemtap tci test +threads tls usb usbredir +uuid vde +vhost-net \ -virtfs +vnc vte xattr xen xfs" - -COMMON_TARGETS="aarch64 alpha arm cris i386 m68k microblaze microblazeel mips -mips64 mips64el mipsel or32 ppc ppc64 s390x sh4 sh4eb sparc sparc64 unicore32 -x86_64" -IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} lm32 moxie ppcemb tricore xtensa xtensaeb" -IUSE_USER_TARGETS="${COMMON_TARGETS} armeb mipsn32 mipsn32el ppc64abi32 ppc64le sparc32plus" - -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_ppc? ( fdt ) - qemu_softmmu_targets_ppc64? ( fdt ) - sdl2? ( sdl ) - static? ( static-softmmu static-user ) - static-softmmu? ( !alsa !pulseaudio !bluetooth !opengl !gtk !gtk2 ) - virtfs? ( xattr ) - vte? ( gtk )" - -# 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. -COMMON_LIB_DEPEND=">=dev-libs/glib-2.0[static-libs(+)] - sys-libs/zlib[static-libs(+)] - xattr? ( sys-apps/attr[static-libs(+)] )" -SOFTMMU_LIB_DEPEND="${COMMON_LIB_DEPEND} - >=x11-libs/pixman-0.28.0[static-libs(+)] - accessibility? ( app-accessibility/brltty[static-libs(+)] ) - aio? ( dev-libs/libaio[static-libs(+)] ) - alsa? ( >=media-libs/alsa-lib-1.0.13 ) - bluetooth? ( net-wireless/bluez ) - caps? ( sys-libs/libcap-ng[static-libs(+)] ) - curl? ( >=net-misc/curl-7.15.4[static-libs(+)] ) - fdt? ( >=sys-apps/dtc-1.4.0[static-libs(+)] ) - glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] ) - gtk? ( - gtk2? ( - x11-libs/gtk+:2 - vte? ( x11-libs/vte:0 ) - ) - !gtk2? ( - x11-libs/gtk+:3 - vte? ( x11-libs/vte:2.90 ) - ) - ) - infiniband? ( sys-infiniband/librdmacm:=[static-libs(+)] ) - iscsi? ( net-libs/libiscsi ) - jpeg? ( virtual/jpeg:=[static-libs(+)] ) - lzo? ( dev-libs/lzo:2[static-libs(+)] ) - ncurses? ( 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,gles2] - ) - 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? ( dev-libs/nss !app-emulation/libcacard ) - snappy? ( app-arch/snappy[static-libs(+)] ) - spice? ( - >=app-emulation/spice-protocol-0.12.3 - >=app-emulation/spice-0.12.0[static-libs(+)] - ) - ssh? ( >=net-libs/libssh2-1.2.8[static-libs(+)] ) - tls? ( net-libs/gnutls[static-libs(+)] ) - usb? ( >=virtual/libusb-1-r2[static-libs(+)] ) - usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] ) - uuid? ( >=sys-apps/util-linux-2.16.0[static-libs(+)] ) - vde? ( net-misc/vde[static-libs(+)] ) - virtfs? ( sys-libs/libcap ) - xfs? ( sys-fs/xfsprogs[static-libs(+)] )" -USER_LIB_DEPEND="${COMMON_LIB_DEPEND}" -X86_FIRMWARE_DEPEND=" - >=sys-firmware/ipxe-1.0.0_p20130624 - pin-upstream-blobs? ( - ~sys-firmware/seabios-1.8.2 - ~sys-firmware/sgabios-0.1_pre8 - ~sys-firmware/vgabios-0.7a - ) - !pin-upstream-blobs? ( - sys-firmware/seabios - sys-firmware/sgabios - sys-firmware/vgabios - )" -CDEPEND=" - !static-softmmu? ( $(printf "%s? ( ${SOFTMMU_LIB_DEPEND//\[static-libs(+)]} ) " ${use_softmmu_targets}) ) - !static-user? ( $(printf "%s? ( ${USER_LIB_DEPEND//\[static-libs(+)]} ) " ${use_user_targets}) ) - qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} ) - python? ( ${PYTHON_DEPS} ) - systemtap? ( dev-util/systemtap ) - xen? ( app-emulation/xen-tools )" -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-softmmu? ( $(printf "%s? ( ${SOFTMMU_LIB_DEPEND} ) " ${use_softmmu_targets}) ) - static-user? ( $(printf "%s? ( ${USER_LIB_DEPEND} ) " ${use_user_targets}) ) - test? ( - dev-libs/glib[utils] - sys-devel/bc - )" -RDEPEND="${CDEPEND} - selinux? ( sec-policy/selinux-qemu ) -" - -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/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-or32 - 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.\n -For AMD CPUs the module is called 'kvm-amd'\n -For Intel CPUs the module is called 'kvm-intel'\n -Please review /etc/conf.d/modules for how to load these\n\n -Make sure your user is in the 'kvm' group\n -Just run 'gpasswd -a <USER> kvm', then have <USER> re-login." - -qemu_support_kvm() { - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 \ - use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64 \ - use qemu_softmmu_targets_s390x; then - return 0 - fi - - return 1 -} - -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 - CONFIG_CHECK+=" ~KVM_AMD ~KVM_INTEL" - 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 -} - -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 - - # Cheap hack to disable gettext .mo generation. - use nls || rm -f po/*.po - - epatch "${FILESDIR}"/qemu-1.7.0-cflags.patch - epatch "${FILESDIR}"/${PN}-2.4.0-block-mirror-crash.patch #558396 - epatch "${FILESDIR}"/${PN}-2.4.0-CVE-2015-7295-{1,2,3}.patch #560760 - epatch "${FILESDIR}"/${PN}-2.4.0-CVE-2015-6855.patch #560422 - [[ -n ${BACKPORTS} ]] && \ - EPATCH_FORCE=yes EPATCH_SUFFIX="patch" EPATCH_SOURCE="${S}/patches" \ - epatch - - # MIPS specific fixes. Bug #563162 - for x in "${FILESDIR}"/${PN}-2.4-mips-*; do - epatch "${x}" - done - - # Fix ld and objcopy being called directly - tc-export AR LD OBJCOPY - - # Verbose builds - MAKEOPTS+=" V=1" - - epatch_user -} - -## -# 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" - local static_flag="static-${buildtype}" - - 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 - --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 as the default configure - # options will autoprobe and try to link in a bunch of unused junk. - conf_softmmu() { - if [[ ${buildtype} == "user" ]] ; then - echo "--disable-${2:-$1}" - else - use_enable "$@" - fi - } - conf_opts+=( - $(conf_softmmu accessibility brlapi) - $(conf_softmmu aio linux-aio) - $(conf_softmmu bluetooth bluez) - $(conf_softmmu caps cap-ng) - $(conf_softmmu curl) - $(conf_softmmu fdt) - $(conf_softmmu glusterfs) - $(conf_softmmu gtk) - $(conf_softmmu infiniband rdma) - $(conf_softmmu iscsi libiscsi) - $(conf_softmmu jpeg vnc-jpeg) - $(conf_softmmu kernel_linux kvm) - $(conf_softmmu lzo) - $(conf_softmmu ncurses curses) - $(conf_softmmu nfs libnfs) - $(conf_softmmu numa) - $(conf_softmmu opengl) - $(conf_softmmu png vnc-png) - $(conf_softmmu rbd) - $(conf_softmmu sasl vnc-sasl) - $(conf_softmmu sdl) - $(conf_softmmu seccomp) - $(conf_softmmu smartcard smartcard-nss) - $(conf_softmmu snappy) - $(conf_softmmu spice) - $(conf_softmmu ssh libssh2) - $(conf_softmmu tls vnc-tls) - $(conf_softmmu usb libusb) - $(conf_softmmu usbredir usb-redir) - $(conf_softmmu uuid) - $(conf_softmmu vde) - $(conf_softmmu vhost-net) - $(conf_softmmu virtfs) - $(conf_softmmu vnc) - $(conf_softmmu vte) - $(conf_softmmu xen) - $(conf_softmmu xen xen-pci-passthrough) - $(conf_softmmu xfs xfsctl) - ) - - case ${buildtype} in - user) - conf_opts+=( - --enable-linux-user - --disable-system - --disable-blobs - --disable-tools - ) - ;; - softmmu) - # 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+=( - --disable-linux-user - --enable-system - --with-system-pixman - --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) ) - ;; - tools) - conf_opts+=( - --disable-linux-user - --disable-system - --disable-blobs - ) - 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 - gcc-specs-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" - [[ -z ${softmmu_targets}${user_targets} ]] && 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 - - if [[ -z ${softmmu_targets}${user_targets} ]]; then - cd "${S}/tools-build" - default - fi -} - -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/kvm_stat" - python_doscript "${S}/scripts/kvm/vmxcap" - python_doscript "${S}/scripts/qmp/qmp-shell" - python_doscript "${S}/scripts/qmp/qemu-ga-client" -} - -src_install() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" - emake DESTDIR="${ED}" install - - # Install binfmt handler init script for user targets - newinitd "${FILESDIR}/qemu-binfmt.initd-r1" qemu-binfmt - 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_dorules "${FILESDIR}"/65-kvm.rules - fi - - if use python; then - python_foreach_impl qemu_python_install - fi - fi - - if [[ -z ${softmmu_targets}${user_targets} ]]; then - cd "${S}/tools-build" - emake DESTDIR="${ED}" install - fi - - # Disable mprotect on the qemu binaries as they use JITs to be fast #459348 - pushd "${ED}"/usr/bin >/dev/null - pax-mark m "${softmmu_bins[@]}" "${user_bins[@]}" - popd >/dev/null - - # Install config file example for qemu-bridge-helper - insinto "/etc/qemu" - doins "${FILESDIR}/bridge.conf" - - # Remove the docdir placed qmp-commands.txt - mv "${ED}/usr/share/doc/${PF}/html/qmp-commands.txt" "${S}/docs/qmp/" - - cd "${S}" - dodoc Changelog MAINTAINERS docs/specs/pci-ids.txt - newdoc pc-bios/README README.pc-bios - dodoc docs/qmp/*.txt - - if [[ -n ${softmmu_targets} ]]; then - # Remove SeaBIOS since we're using the SeaBIOS packaged one - rm "${ED}/usr/share/qemu/bios.bin" - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../seabios/bios.bin /usr/share/qemu/bios.bin - fi - - # Remove vgabios since we're using the vgabios 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-vmware.bin" - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../vgabios/vgabios.bin /usr/share/qemu/vgabios.bin - dosym ../vgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin - dosym ../vgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin - dosym ../vgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin - dosym ../vgabios/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 - - qemu_support_kvm && readme.gentoo_create_doc -} - -pkg_postinst() { - if qemu_support_kvm; then - readme.gentoo_print_elog - fi - - if [[ -n ${softmmu_targets} ]] && use kernel_linux; then - udev_reload - fi - - fcaps cap_net_admin /usr/libexec/qemu-bridge-helper - if use virtfs && [ -n "${softmmu_targets}" ]; then - local virtfs_caps="cap_chown,cap_dac_override,cap_fowner,cap_fsetid,cap_setgid,cap_mknod,cap_setuid" - fcaps ${virtfs_caps} /usr/bin/virtfs-proxy-helper - fi -} - -pkg_info() { - echo "Using:" - echo " $(best_version app-emulation/spice-protocol)" - 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/vgabios)" -} diff --git a/app-emulation/qemu/qemu-2.4.1.ebuild b/app-emulation/qemu/qemu-2.4.1-r2.ebuild index 63252bea4b..a42f99b194 100644 --- a/app-emulation/qemu/qemu-2.4.1.ebuild +++ b/app-emulation/qemu/qemu-2.4.1-r2.ebuild @@ -20,7 +20,7 @@ else SRC_URI="http://wiki.qemu-project.org/download/${P}.tar.bz2 ${BACKPORTS:+ https://dev.gentoo.org/~cardoe/distfiles/${P}-${BACKPORTS}.tar.xz}" - KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~x86-fbsd" + KEYWORDS="amd64 ~ppc ~ppc64 x86 ~x86-fbsd" fi DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" @@ -150,7 +150,7 @@ CDEPEND=" qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} ) python? ( ${PYTHON_DEPS} ) systemtap? ( dev-util/systemtap ) - xen? ( app-emulation/xen-tools )" + xen? ( app-emulation/xen-tools:= )" DEPEND="${CDEPEND} dev-lang/perl =dev-lang/python-2* @@ -301,6 +301,10 @@ src_prepare() { use nls || rm -f po/*.po epatch "${FILESDIR}"/qemu-1.7.0-cflags.patch + epatch "${FILESDIR}"/${PN}-2.4.1-CVE-2015-{7504,7512}.patch #567144 + epatch "${FILESDIR}"/${PN}-2.4.1-CVE-2015-8345.patch #566792 + epatch "${FILESDIR}"/${PN}-2.4.1-CVE-2015-8504.patch #567828 + epatch "${FILESDIR}"/${PN}-2.4.1-CVE-2015-7549.patch #568214 epatch "${FILESDIR}"/${PN}-2.4-mips-* #563162 [[ -n ${BACKPORTS} ]] && \ EPATCH_FORCE=yes EPATCH_SUFFIX="patch" EPATCH_SOURCE="${S}/patches" \ @@ -622,10 +626,6 @@ pkg_postinst() { fi fcaps cap_net_admin /usr/libexec/qemu-bridge-helper - if use virtfs && [ -n "${softmmu_targets}" ]; then - local virtfs_caps="cap_chown,cap_dac_override,cap_fowner,cap_fsetid,cap_setgid,cap_mknod,cap_setuid" - fcaps ${virtfs_caps} /usr/bin/virtfs-proxy-helper - fi } pkg_info() { diff --git a/app-emulation/qemu/qemu-2.4.0-r1.ebuild b/app-emulation/qemu/qemu-2.5.0-r1.ebuild index 8d50bd3e7b..8c35339196 100644 --- a/app-emulation/qemu/qemu-2.4.0-r1.ebuild +++ b/app-emulation/qemu/qemu-2.5.0-r1.ebuild @@ -29,18 +29,18 @@ HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org" LICENSE="GPL-2 LGPL-2 BSD-2" SLOT="0" IUSE="accessibility +aio alsa bluetooth +caps +curl debug +fdt glusterfs \ -gtk gtk2 infiniband iscsi +jpeg \ +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-softmmu -static-user systemtap tci test +threads tls usb usbredir +uuid vde +vhost-net \ -virtfs +vnc vte xattr xen xfs" +static-user systemtap tci test +threads usb usbredir +uuid vde +vhost-net \ +virgl virtfs +vnc vte xattr xen xfs" COMMON_TARGETS="aarch64 alpha arm cris i386 m68k microblaze microblazeel mips mips64 mips64el mipsel or32 ppc ppc64 s390x sh4 sh4eb sparc sparc64 unicore32 x86_64" IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} lm32 moxie ppcemb tricore xtensa xtensaeb" -IUSE_USER_TARGETS="${COMMON_TARGETS} armeb mipsn32 mipsn32el ppc64abi32 ppc64le sparc32plus" +IUSE_USER_TARGETS="${COMMON_TARGETS} 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}) @@ -65,6 +65,9 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE} # 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. +# +# Older versions of gnutls are supported, but it's simpler to just require +# the latest versions. This is also why we require nettle. COMMON_LIB_DEPEND=">=dev-libs/glib-2.0[static-libs(+)] sys-libs/zlib[static-libs(+)] xattr? ( sys-apps/attr[static-libs(+)] )" @@ -78,6 +81,10 @@ SOFTMMU_LIB_DEPEND="${COMMON_LIB_DEPEND} curl? ( >=net-misc/curl-7.15.4[static-libs(+)] ) fdt? ( >=sys-apps/dtc-1.4.0[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 @@ -116,18 +123,18 @@ SOFTMMU_LIB_DEPEND="${COMMON_LIB_DEPEND} ) ) seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] ) - smartcard? ( dev-libs/nss !app-emulation/libcacard ) + smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] ) snappy? ( app-arch/snappy[static-libs(+)] ) spice? ( >=app-emulation/spice-protocol-0.12.3 >=app-emulation/spice-0.12.0[static-libs(+)] ) ssh? ( >=net-libs/libssh2-1.2.8[static-libs(+)] ) - tls? ( net-libs/gnutls[static-libs(+)] ) usb? ( >=virtual/libusb-1-r2[static-libs(+)] ) usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] ) uuid? ( >=sys-apps/util-linux-2.16.0[static-libs(+)] ) vde? ( net-misc/vde[static-libs(+)] ) + virgl? ( media-libs/virglrenderer[static-libs(+)] ) virtfs? ( sys-libs/libcap ) xfs? ( sys-fs/xfsprogs[static-libs(+)] )" USER_LIB_DEPEND="${COMMON_LIB_DEPEND}" @@ -150,7 +157,7 @@ CDEPEND=" qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} ) python? ( ${PYTHON_DEPS} ) systemtap? ( dev-util/systemtap ) - xen? ( app-emulation/xen-tools )" + xen? ( app-emulation/xen-tools:= )" DEPEND="${CDEPEND} dev-lang/perl =dev-lang/python-2* @@ -300,14 +307,17 @@ src_prepare() { # Cheap hack to disable gettext .mo generation. use nls || rm -f po/*.po - epatch "${FILESDIR}"/qemu-1.7.0-cflags.patch - epatch "${FILESDIR}"/${P}-block-mirror-crash.patch #558396 - epatch "${FILESDIR}"/${P}-CVE-2015-5225.patch #558416 - epatch "${FILESDIR}"/${PN}-2.4.0-e1000-loop.patch #559656 + epatch "${FILESDIR}"/qemu-2.5.0-cflags.patch [[ -n ${BACKPORTS} ]] && \ EPATCH_FORCE=yes EPATCH_SUFFIX="patch" EPATCH_SOURCE="${S}/patches" \ epatch + epatch "${FILESDIR}"/${P}-CVE-2015-8567.patch #567868 + epatch "${FILESDIR}"/${P}-CVE-2015-8558.patch #568246 + epatch "${FILESDIR}"/${P}-CVE-2015-8701.patch #570110 + epatch "${FILESDIR}"/${P}-CVE-2015-8743.patch #570988 + epatch "${FILESDIR}"/${P}-CVE-2016-1568.patch #571566 + # Fix ld and objcopy being called directly tc-export AR LD OBJCOPY @@ -339,6 +349,11 @@ qemu_src_configure() { --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)" @@ -367,6 +382,8 @@ qemu_src_configure() { $(conf_softmmu curl) $(conf_softmmu fdt) $(conf_softmmu glusterfs) + $(conf_softmmu gnutls) + $(conf_softmmu gnutls nettle) $(conf_softmmu gtk) $(conf_softmmu infiniband rdma) $(conf_softmmu iscsi libiscsi) @@ -382,16 +399,16 @@ qemu_src_configure() { $(conf_softmmu sasl vnc-sasl) $(conf_softmmu sdl) $(conf_softmmu seccomp) - $(conf_softmmu smartcard smartcard-nss) + $(conf_softmmu smartcard) $(conf_softmmu snappy) $(conf_softmmu spice) $(conf_softmmu ssh libssh2) - $(conf_softmmu tls vnc-tls) $(conf_softmmu usb libusb) $(conf_softmmu usbredir usb-redir) $(conf_softmmu uuid) $(conf_softmmu vde) $(conf_softmmu vhost-net) + $(conf_softmmu virgl virglrenderer) $(conf_softmmu virtfs) $(conf_softmmu vnc) $(conf_softmmu vte) @@ -565,12 +582,12 @@ src_install() { doins "${FILESDIR}/bridge.conf" # Remove the docdir placed qmp-commands.txt - mv "${ED}/usr/share/doc/${PF}/html/qmp-commands.txt" "${S}/docs/qmp/" + mv "${ED}/usr/share/doc/${PF}/html/qmp-commands.txt" "${S}/docs/" || die cd "${S}" dodoc Changelog MAINTAINERS docs/specs/pci-ids.txt newdoc pc-bios/README README.pc-bios - dodoc docs/qmp/*.txt + dodoc docs/qmp-*.txt if [[ -n ${softmmu_targets} ]]; then # Remove SeaBIOS since we're using the SeaBIOS packaged one @@ -624,10 +641,6 @@ pkg_postinst() { fi fcaps cap_net_admin /usr/libexec/qemu-bridge-helper - if use virtfs && [ -n "${softmmu_targets}" ]; then - local virtfs_caps="cap_chown,cap_dac_override,cap_fowner,cap_fsetid,cap_setgid,cap_mknod,cap_setuid" - fcaps ${virtfs_caps} /usr/bin/virtfs-proxy-helper - fi } pkg_info() { diff --git a/app-emulation/qemu/qemu-2.4.0.1.ebuild b/app-emulation/qemu/qemu-2.5.0.ebuild index 50ceedb990..70f595ea5b 100644 --- a/app-emulation/qemu/qemu-2.4.0.1.ebuild +++ b/app-emulation/qemu/qemu-2.5.0.ebuild @@ -29,18 +29,18 @@ HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org" LICENSE="GPL-2 LGPL-2 BSD-2" SLOT="0" IUSE="accessibility +aio alsa bluetooth +caps +curl debug +fdt glusterfs \ -gtk gtk2 infiniband iscsi +jpeg \ +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-softmmu -static-user systemtap tci test +threads tls usb usbredir +uuid vde +vhost-net \ -virtfs +vnc vte xattr xen xfs" +static-user systemtap tci test +threads usb usbredir +uuid vde +vhost-net \ +virgl virtfs +vnc vte xattr xen xfs" COMMON_TARGETS="aarch64 alpha arm cris i386 m68k microblaze microblazeel mips mips64 mips64el mipsel or32 ppc ppc64 s390x sh4 sh4eb sparc sparc64 unicore32 x86_64" IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} lm32 moxie ppcemb tricore xtensa xtensaeb" -IUSE_USER_TARGETS="${COMMON_TARGETS} armeb mipsn32 mipsn32el ppc64abi32 ppc64le sparc32plus" +IUSE_USER_TARGETS="${COMMON_TARGETS} 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}) @@ -65,6 +65,9 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE} # 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. +# +# Older versions of gnutls are supported, but it's simpler to just require +# the latest versions. This is also why we require nettle. COMMON_LIB_DEPEND=">=dev-libs/glib-2.0[static-libs(+)] sys-libs/zlib[static-libs(+)] xattr? ( sys-apps/attr[static-libs(+)] )" @@ -78,6 +81,10 @@ SOFTMMU_LIB_DEPEND="${COMMON_LIB_DEPEND} curl? ( >=net-misc/curl-7.15.4[static-libs(+)] ) fdt? ( >=sys-apps/dtc-1.4.0[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 @@ -116,18 +123,18 @@ SOFTMMU_LIB_DEPEND="${COMMON_LIB_DEPEND} ) ) seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] ) - smartcard? ( dev-libs/nss !app-emulation/libcacard ) + smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] ) snappy? ( app-arch/snappy[static-libs(+)] ) spice? ( >=app-emulation/spice-protocol-0.12.3 >=app-emulation/spice-0.12.0[static-libs(+)] ) ssh? ( >=net-libs/libssh2-1.2.8[static-libs(+)] ) - tls? ( net-libs/gnutls[static-libs(+)] ) usb? ( >=virtual/libusb-1-r2[static-libs(+)] ) usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] ) uuid? ( >=sys-apps/util-linux-2.16.0[static-libs(+)] ) vde? ( net-misc/vde[static-libs(+)] ) + virgl? ( media-libs/virglrenderer[static-libs(+)] ) virtfs? ( sys-libs/libcap ) xfs? ( sys-fs/xfsprogs[static-libs(+)] )" USER_LIB_DEPEND="${COMMON_LIB_DEPEND}" @@ -150,7 +157,7 @@ CDEPEND=" qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} ) python? ( ${PYTHON_DEPS} ) systemtap? ( dev-util/systemtap ) - xen? ( app-emulation/xen-tools )" + xen? ( app-emulation/xen-tools:= )" DEPEND="${CDEPEND} dev-lang/perl =dev-lang/python-2* @@ -300,10 +307,7 @@ src_prepare() { # Cheap hack to disable gettext .mo generation. use nls || rm -f po/*.po - epatch "${FILESDIR}"/qemu-1.7.0-cflags.patch - epatch "${FILESDIR}"/${PN}-2.4.0-block-mirror-crash.patch #558396 - epatch "${FILESDIR}"/${PN}-2.4.0-CVE-2015-7295-{1,2,3}.patch #560760 - epatch "${FILESDIR}"/${PN}-2.4.0-CVE-2015-6855.patch #560422 + epatch "${FILESDIR}"/qemu-2.5.0-cflags.patch [[ -n ${BACKPORTS} ]] && \ EPATCH_FORCE=yes EPATCH_SUFFIX="patch" EPATCH_SOURCE="${S}/patches" \ epatch @@ -339,6 +343,11 @@ qemu_src_configure() { --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)" @@ -367,6 +376,8 @@ qemu_src_configure() { $(conf_softmmu curl) $(conf_softmmu fdt) $(conf_softmmu glusterfs) + $(conf_softmmu gnutls) + $(conf_softmmu gnutls nettle) $(conf_softmmu gtk) $(conf_softmmu infiniband rdma) $(conf_softmmu iscsi libiscsi) @@ -382,16 +393,16 @@ qemu_src_configure() { $(conf_softmmu sasl vnc-sasl) $(conf_softmmu sdl) $(conf_softmmu seccomp) - $(conf_softmmu smartcard smartcard-nss) + $(conf_softmmu smartcard) $(conf_softmmu snappy) $(conf_softmmu spice) $(conf_softmmu ssh libssh2) - $(conf_softmmu tls vnc-tls) $(conf_softmmu usb libusb) $(conf_softmmu usbredir usb-redir) $(conf_softmmu uuid) $(conf_softmmu vde) $(conf_softmmu vhost-net) + $(conf_softmmu virgl virglrenderer) $(conf_softmmu virtfs) $(conf_softmmu vnc) $(conf_softmmu vte) @@ -565,12 +576,12 @@ src_install() { doins "${FILESDIR}/bridge.conf" # Remove the docdir placed qmp-commands.txt - mv "${ED}/usr/share/doc/${PF}/html/qmp-commands.txt" "${S}/docs/qmp/" + mv "${ED}/usr/share/doc/${PF}/html/qmp-commands.txt" "${S}/docs/" || die cd "${S}" dodoc Changelog MAINTAINERS docs/specs/pci-ids.txt newdoc pc-bios/README README.pc-bios - dodoc docs/qmp/*.txt + dodoc docs/qmp-*.txt if [[ -n ${softmmu_targets} ]]; then # Remove SeaBIOS since we're using the SeaBIOS packaged one @@ -624,10 +635,6 @@ pkg_postinst() { fi fcaps cap_net_admin /usr/libexec/qemu-bridge-helper - if use virtfs && [ -n "${softmmu_targets}" ]; then - local virtfs_caps="cap_chown,cap_dac_override,cap_fowner,cap_fsetid,cap_setgid,cap_mknod,cap_setuid" - fcaps ${virtfs_caps} /usr/bin/virtfs-proxy-helper - fi } pkg_info() { diff --git a/app-emulation/qemu/qemu-9999.ebuild b/app-emulation/qemu/qemu-9999.ebuild index 3123715862..70f595ea5b 100644 --- a/app-emulation/qemu/qemu-9999.ebuild +++ b/app-emulation/qemu/qemu-9999.ebuild @@ -34,7 +34,7 @@ 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-softmmu static-user systemtap tci test +threads usb usbredir +uuid vde +vhost-net \ -virtfs +vnc vte xattr xen xfs" +virgl virtfs +vnc vte xattr xen xfs" COMMON_TARGETS="aarch64 alpha arm cris i386 m68k microblaze microblazeel mips mips64 mips64el mipsel or32 ppc ppc64 s390x sh4 sh4eb sparc sparc64 unicore32 @@ -123,7 +123,7 @@ SOFTMMU_LIB_DEPEND="${COMMON_LIB_DEPEND} ) ) seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] ) - smartcard? ( dev-libs/nss !app-emulation/libcacard ) + smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] ) snappy? ( app-arch/snappy[static-libs(+)] ) spice? ( >=app-emulation/spice-protocol-0.12.3 @@ -134,6 +134,7 @@ SOFTMMU_LIB_DEPEND="${COMMON_LIB_DEPEND} usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] ) uuid? ( >=sys-apps/util-linux-2.16.0[static-libs(+)] ) vde? ( net-misc/vde[static-libs(+)] ) + virgl? ( media-libs/virglrenderer[static-libs(+)] ) virtfs? ( sys-libs/libcap ) xfs? ( sys-fs/xfsprogs[static-libs(+)] )" USER_LIB_DEPEND="${COMMON_LIB_DEPEND}" @@ -156,7 +157,7 @@ CDEPEND=" qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} ) python? ( ${PYTHON_DEPS} ) systemtap? ( dev-util/systemtap ) - xen? ( app-emulation/xen-tools )" + xen? ( app-emulation/xen-tools:= )" DEPEND="${CDEPEND} dev-lang/perl =dev-lang/python-2* @@ -306,7 +307,7 @@ src_prepare() { # Cheap hack to disable gettext .mo generation. use nls || rm -f po/*.po - epatch "${FILESDIR}"/qemu-1.7.0-cflags.patch + epatch "${FILESDIR}"/qemu-2.5.0-cflags.patch [[ -n ${BACKPORTS} ]] && \ EPATCH_FORCE=yes EPATCH_SUFFIX="patch" EPATCH_SOURCE="${S}/patches" \ epatch @@ -342,6 +343,11 @@ qemu_src_configure() { --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)" @@ -371,6 +377,7 @@ qemu_src_configure() { $(conf_softmmu fdt) $(conf_softmmu glusterfs) $(conf_softmmu gnutls) + $(conf_softmmu gnutls nettle) $(conf_softmmu gtk) $(conf_softmmu infiniband rdma) $(conf_softmmu iscsi libiscsi) @@ -395,6 +402,7 @@ qemu_src_configure() { $(conf_softmmu uuid) $(conf_softmmu vde) $(conf_softmmu vhost-net) + $(conf_softmmu virgl virglrenderer) $(conf_softmmu virtfs) $(conf_softmmu vnc) $(conf_softmmu vte) @@ -627,10 +635,6 @@ pkg_postinst() { fi fcaps cap_net_admin /usr/libexec/qemu-bridge-helper - if use virtfs && [ -n "${softmmu_targets}" ]; then - local virtfs_caps="cap_chown,cap_dac_override,cap_fowner,cap_fsetid,cap_setgid,cap_mknod,cap_setuid" - fcaps ${virtfs_caps} /usr/bin/virtfs-proxy-helper - fi } pkg_info() { diff --git a/app-emulation/qtemu/metadata.xml b/app-emulation/qtemu/metadata.xml index 6f617db635..ca6ad88536 100644 --- a/app-emulation/qtemu/metadata.xml +++ b/app-emulation/qtemu/metadata.xml @@ -1,9 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer> - <email>maintainer-needed@gentoo.org</email> - </maintainer> <upstream> <remote-id type="sourceforge">qtemu</remote-id> </upstream> diff --git a/app-emulation/rex-client/metadata.xml b/app-emulation/rex-client/metadata.xml index 3b15722d89..097975e3ad 100644 --- a/app-emulation/rex-client/metadata.xml +++ b/app-emulation/rex-client/metadata.xml @@ -1,8 +1,4 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> -<maintainer> - <email>maintainer-needed@gentoo.org</email> -</maintainer> </pkgmetadata> - diff --git a/app-emulation/rkt/metadata.xml b/app-emulation/rkt/metadata.xml index 1100d241c8..790b77b4fb 100644 --- a/app-emulation/rkt/metadata.xml +++ b/app-emulation/rkt/metadata.xml @@ -1,11 +1,11 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer> + <maintainer type="person"> <email>mail@stefanjunker.de</email> <name>Stefan Junker</name> </maintainer> - <maintainer> + <maintainer type="person"> <email>alunduil@gentoo.org</email> <name>Alex Brandt</name> </maintainer> diff --git a/app-emulation/runc/Manifest b/app-emulation/runc/Manifest index 1494296fb3..3733259516 100644 --- a/app-emulation/runc/Manifest +++ b/app-emulation/runc/Manifest @@ -1 +1,2 @@ DIST runc-0.0.2.tar.gz 370712 SHA256 3d0aa68ebb1622853d0bbed432ebd4b6c9ef210881ac74f3a695b4e914d246dc SHA512 e0a44d5dd8a1b8eaeaf7d466cebc7dc8beaa26f49bd0e76d3a955cef9c5c266d2afe6652f28fa905a408b5b93966f52e345112fa7aef373216561ad7069181c5 WHIRLPOOL e7ed1ee3d159a81fb0b2b0f5fac9a9a66116035babc88f6f266a6c8455953ce372e93351baf7c621c42ab8c5907961fd899b1d158e7f7b1335f83fcef7252c71 +DIST runc-0.0.5.tar.gz 441874 SHA256 e80323412883e4afcfcf8e1b2eaefdcb74632628d02fd7f48618caf78e5e4aa0 SHA512 625d67ec02e23c66a3d1a97113a0c58f3f200404866839556bc3cd5b3e34342230b8091613d17ef4a38d05ca51df586cd7366dc6bddeeddd6b69bb9a2ae7efda WHIRLPOOL 862b08621b67fc57286940ad5e20557d90cfef63aae5be0a90fc6f5b764d032b187ba5ad5dcb1fa99fb5ec59d6217941aa19ca9048637bd02b64e52c8cecdce6 diff --git a/app-emulation/runc/metadata.xml b/app-emulation/runc/metadata.xml index ba8b76a7d1..826b17b408 100644 --- a/app-emulation/runc/metadata.xml +++ b/app-emulation/runc/metadata.xml @@ -5,7 +5,7 @@ runc is a CLI tool for spawning and running containers according to the OCF (Open Container Format) specification. </longdescription> - <maintainer> + <maintainer type="person"> <email>cardoe@gentoo.org</email> <name>Doug Goldstein</name> </maintainer> diff --git a/app-emulation/runc/runc-0.0.5.ebuild b/app-emulation/runc/runc-0.0.5.ebuild new file mode 100644 index 0000000000..5cd38367f2 --- /dev/null +++ b/app-emulation/runc/runc-0.0.5.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit eutils multilib + +DESCRIPTION="runc container cli tools" +HOMEPAGE="http://runc.io" + +GITHUB_URI="github.com/opencontainers/runc" + +if [[ ${PV} == *9999* ]]; then + EGIT_REPO_URI="git://${GITHUB_URI}.git" + inherit git-r3 +else + SRC_URI="https://${GITHUB_URI}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64" +fi + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="+seccomp" + +DEPEND=">=dev-lang/go-1.4:=" +RDEPEND="seccomp? ( sys-libs/libseccomp )" + +src_prepare() { + epatch_user +} + +src_compile() { + # Taken from app-emulation/docker-1.7.0-r1 + export CGO_CFLAGS="-I${ROOT}/usr/include" + export CGO_LDFLAGS="-L${ROOT}/usr/$(get_libdir)" + + # Setup GOPATH so things build + rm -rf .gopath + mkdir -p .gopath/src/"$(dirname "${GITHUB_URI}")" + ln -sf ../../../.. .gopath/src/"${GITHUB_URI}" + export GOPATH="${PWD}/.gopath:${PWD}/vendor" + + # build up optional flags + local options=( $(usex seccomp "seccomp") ) + + emake BUILDTAGS="${options[@]}" +} + +src_install() { + dobin runc +} diff --git a/app-emulation/simh/metadata.xml b/app-emulation/simh/metadata.xml index 1adcc96178..494099c897 100644 --- a/app-emulation/simh/metadata.xml +++ b/app-emulation/simh/metadata.xml @@ -1,13 +1,16 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <herd>proxy-maintainers</herd> - <maintainer> + <maintainer type="person"> <email>alex.buell@munted.eu</email> <name>Alex Buell</name> </maintainer> - <maintainer> + <maintainer type="person"> <email>xmw@gentoo.org</email> <name>Michael Weber</name> </maintainer> +<maintainer type="project"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> </pkgmetadata> diff --git a/app-emulation/ski/metadata.xml b/app-emulation/ski/metadata.xml index 96baef6ac8..a82c03848d 100644 --- a/app-emulation/ski/metadata.xml +++ b/app-emulation/ski/metadata.xml @@ -1,7 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <herd>ia64</herd> + <maintainer type="project"> + <email>ia64@gentoo.org</email> + <name>Gentoo Linux IA-64 Development</name> + </maintainer> <upstream> <remote-id type="sourceforge">ski</remote-id> </upstream> diff --git a/app-emulation/skyeye/Manifest b/app-emulation/skyeye/Manifest deleted file mode 100644 index 9b609bece4..0000000000 --- a/app-emulation/skyeye/Manifest +++ /dev/null @@ -1 +0,0 @@ -DIST skyeye-1.0.0.tar.bz2 235167 SHA256 b3a773354ab98932f70cbb5cdcee98369640827d85902b94cd6a1565c42df688 SHA512 d1407f254b2465b7f5e4ef40f7c0ecd4237d0183e8328b1b183c9657a79fcca006376b9525d8e64dacfceaaac5b3b87ca15c3e3ce0ed082e7f4c55b87ff3892a WHIRLPOOL 580fd902a638642963f430244b13c58d79497a29d666ebdd1f3f880a632b77c237ac011ec269747f60bdc4be6d442c43a700cd64ed85de01bb7380981b88e1af diff --git a/app-emulation/skyeye/metadata.xml b/app-emulation/skyeye/metadata.xml deleted file mode 100644 index 5454528f20..0000000000 --- a/app-emulation/skyeye/metadata.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> -<pkgmetadata> -<herd>arm</herd> -</pkgmetadata> diff --git a/app-emulation/skyeye/skyeye-1.0.0.ebuild b/app-emulation/skyeye/skyeye-1.0.0.ebuild deleted file mode 100644 index 8fbb1b1191..0000000000 --- a/app-emulation/skyeye/skyeye-1.0.0.ebuild +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright 1999-2012 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI="2" - -DESCRIPTION="an ARM embedded hardware simulator" -HOMEPAGE="http://www.skyeye.org/" -SRC_URI="http://download.gro.clinux.org/skyeye/${P}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~x86" -IUSE="" - -RDEPEND="sys-libs/ncurses - media-libs/freetype - x11-libs/gtk+:2 - dev-libs/glib:2 - x11-libs/pango" -DEPEND="${RDEPEND} - virtual/pkgconfig" - -src_install() { - dobin binary/skyeye || die "skyeye" - dodoc ChangeLog README -} diff --git a/app-emulation/softgun/metadata.xml b/app-emulation/softgun/metadata.xml index 3e94ca3428..a1d277727e 100644 --- a/app-emulation/softgun/metadata.xml +++ b/app-emulation/softgun/metadata.xml @@ -1,7 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <herd>arm</herd> + <maintainer type="project"> + <email>arm@gentoo.org</email> + <name>Gentoo Linux ARM Development</name> + </maintainer> <upstream> <remote-id type="sourceforge">softgun</remote-id> </upstream> diff --git a/app-emulation/spectemu/metadata.xml b/app-emulation/spectemu/metadata.xml index d9cd2cad66..097975e3ad 100644 --- a/app-emulation/spectemu/metadata.xml +++ b/app-emulation/spectemu/metadata.xml @@ -1,7 +1,4 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> -<maintainer> -<email>maintainer-needed@gentoo.org</email> -</maintainer> </pkgmetadata> diff --git a/app-emulation/spice-protocol/metadata.xml b/app-emulation/spice-protocol/metadata.xml index 6804d7590f..e225897fe9 100644 --- a/app-emulation/spice-protocol/metadata.xml +++ b/app-emulation/spice-protocol/metadata.xml @@ -1,9 +1,12 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <herd>virtualization</herd> - <maintainer> + <maintainer type="person"> <email>dev-zero@gentoo.org</email> <name>Tiziano Müller</name> </maintainer> +<maintainer type="project"> + <email>virtualization@gentoo.org</email> + <name>Gentoo Virtualization Project</name> + </maintainer> </pkgmetadata> diff --git a/app-emulation/spice-protocol/spice-protocol-0.12.10.ebuild b/app-emulation/spice-protocol/spice-protocol-0.12.10.ebuild index 2380c21a86..de05530877 100644 --- a/app-emulation/spice-protocol/spice-protocol-0.12.10.ebuild +++ b/app-emulation/spice-protocol/spice-protocol-0.12.10.ebuild @@ -10,7 +10,7 @@ SRC_URI="http://spice-space.org/download/releases/${P}.tar.bz2" LICENSE="BSD" SLOT="0" -KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc x86" +KEYWORDS="alpha amd64 ~arm ia64 ppc ~ppc64 sparc x86" IUSE="" DEPEND="" diff --git a/app-emulation/spice-vdagent/metadata.xml b/app-emulation/spice-vdagent/metadata.xml index 7b4cb96eca..3ba36c8dab 100644 --- a/app-emulation/spice-vdagent/metadata.xml +++ b/app-emulation/spice-vdagent/metadata.xml @@ -1,11 +1,14 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <herd>virtualization</herd> - <maintainer> + <maintainer type="person"> <email>dev-zero@gentoo.org</email> <name>Tiziano Müller</name> </maintainer> + <maintainer type="project"> + <email>virtualization@gentoo.org</email> + <name>Gentoo Virtualization Project</name> + </maintainer> <use> <flag name="consolekit">Use <pkg>sys-auth/consolekit</pkg> to determine the master vdagentd in case of multiple running vdagentds (highly diff --git a/app-emulation/spice/Manifest b/app-emulation/spice/Manifest index cd51bb5e3c..4d02ae7878 100644 --- a/app-emulation/spice/Manifest +++ b/app-emulation/spice/Manifest @@ -1 +1,2 @@ DIST spice-0.12.6.tar.bz2 1181088 SHA256 f148ea30135bf80a4f465ce723a1cd6d4ccb34c098b6298a020b378ace8569b6 SHA512 877d9c447a09055c61db7839ae1a2bbd97ab1178d8fd30fff83883064f8a2f269479649e696732095833ed3fda2d0cc0cbe2a420decb89d36d2cf2f18ad9a3db WHIRLPOOL e381cf469a29be9a91ab442ee5f426a44ee569528d9297401df1c927cbf558e9daee7709cd69a4cc6389481b0c5aa26b19e56f0e97576e270d768842581544fe +DIST spice-0.13.0.tar.bz2 1215334 SHA256 4862e2d11da10abdf46dd6cc834d79fa4ef3490efac8dbcdd19fa96f81147bbb SHA512 be9960e8f40415f2d0c2445aca701729f904b4598492b64993fc53b2cfb27652642f11721b43c44c953e6ba4982865b15260c995bb12c4f29ea9c7e962043795 WHIRLPOOL 88d92a4498e76eb279c073e4da87a0b0efe7697f6da1211b4830681a1cc6c828809dcaaec54e0876766a8fd4365e55439910c13c03e7a50d0ccbdcf98bbec781 diff --git a/app-emulation/spice/metadata.xml b/app-emulation/spice/metadata.xml index fc2293f753..bc1f503810 100644 --- a/app-emulation/spice/metadata.xml +++ b/app-emulation/spice/metadata.xml @@ -1,11 +1,14 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <herd>virtualization</herd> - <maintainer> + <maintainer type="person"> <email>dev-zero@gentoo.org</email> <name>Tiziano Müller</name> </maintainer> + <maintainer type="project"> + <email>virtualization@gentoo.org</email> + <name>Gentoo Virtualization Project</name> + </maintainer> <use> <flag name="smartcard">Enable smartcard remoting using <pkg>app-emulation/libcacard</pkg></flag> </use> diff --git a/app-emulation/spice/spice-0.13.0.ebuild b/app-emulation/spice/spice-0.13.0.ebuild new file mode 100644 index 0000000000..9f06219e09 --- /dev/null +++ b/app-emulation/spice/spice-0.13.0.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +PYTHON_COMPAT=( python{2_7,3_4} ) + +inherit eutils python-any-r1 + +DESCRIPTION="SPICE server" +HOMEPAGE="http://spice-space.org/" +SRC_URI="http://spice-space.org/download/releases/${P}.tar.bz2" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="libressl sasl smartcard static-libs" + +# 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[static-libs(+)?] ) + smartcard? ( >=app-emulation/libcacard-0.1.2 ) + sasl? ( dev-libs/cyrus-sasl[static-libs(+)?] )" + +DEPEND=" + >=app-emulation/spice-protocol-0.12.10 + 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] ) + ${RDEPEND}" + +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 +} + +# maintainer notes: +# * opengl support is currently broken + +src_prepare() { + epatch "${FILESDIR}/0.11.0-gold.patch" + + epatch_user +} + +src_configure() { + econf \ + $(use_enable static-libs static) \ + $(use_with sasl) \ + $(use_enable smartcard) \ + --disable-gui +} + +src_install() { + default + use static-libs || prune_libtool_files +} diff --git a/app-emulation/spim/metadata.xml b/app-emulation/spim/metadata.xml index 8260022a7f..29d31ab004 100644 --- a/app-emulation/spim/metadata.xml +++ b/app-emulation/spim/metadata.xml @@ -1,9 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer> - <email>maintainer-needed@gentoo.org</email> - </maintainer> <longdescription lang="en"> A self-contained simulator that will run MIPS32 assembly language programs. It also provides a simple debugger and a minimal set of diff --git a/app-emulation/spim/spim-8.0-r1.ebuild b/app-emulation/spim/spim-8.0-r1.ebuild index f00ca7fe08..fb0b06b975 100644 --- a/app-emulation/spim/spim-8.0-r1.ebuild +++ b/app-emulation/spim/spim-8.0-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ @@ -23,6 +23,8 @@ DEPEND="${RDEPEND} x11-proto/xproto ) >=sys-apps/sed-4 sys-devel/bison" +# test hangs forever, disabling it +RESTRICT="test" src_prepare() { # fix bugs 240005 and 243588 @@ -60,8 +62,7 @@ src_install() { fi doicon "${FILESDIR}"/xspim.svg || die - make_desktop_entry xspim xSPIM xspim "ComputerScience;Science;Education" \ - "Comment=Graphical MIPS32 Assembly language emulator" + make_desktop_entry xspim xSPIM xspim "ComputerScience;Science;Education" dohtml Documentation/SPIM.html || die dodoc ChangeLog Documentation/BLURB README VERSION || die diff --git a/app-emulation/uade/metadata.xml b/app-emulation/uade/metadata.xml index d3c2cc926f..78274e0fa5 100644 --- a/app-emulation/uade/metadata.xml +++ b/app-emulation/uade/metadata.xml @@ -1,5 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> -<herd>games</herd> +<maintainer type="project"> + <email>games@gentoo.org</email> + <name>Gentoo Games Project</name> +</maintainer> </pkgmetadata> diff --git a/app-emulation/uae/metadata.xml b/app-emulation/uae/metadata.xml index 542646bcd4..0a4b82da8b 100644 --- a/app-emulation/uae/metadata.xml +++ b/app-emulation/uae/metadata.xml @@ -1,9 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer> - <email>maintainer-needed@gentoo.org</email> - </maintainer> <longdescription> UAE is a mostly complete software emulation of the hardware of the Commodore Amiga 500/1000/2000. A Commodore Amiga is a 16/32 bit computer @@ -13,6 +10,6 @@ successful A500 and A2000 models. </longdescription> <use> - <flag name='scsi'>Enable the uaescsi.device</flag> + <flag name="scsi">Enable the uaescsi.device</flag> </use> </pkgmetadata> diff --git a/app-emulation/vagrant/Manifest b/app-emulation/vagrant/Manifest index a4955742ee..24578f105f 100644 --- a/app-emulation/vagrant/Manifest +++ b/app-emulation/vagrant/Manifest @@ -1 +1 @@ -DIST vagrant-1.4.3.tar.gz 2391973 SHA256 09ccc0d87999a3c133b9ef52a5cff58402745ee64af6080b2a5d304eb06c9c58 SHA512 93fd1cfa263004cadbf670fac4dc318db9719d2a86afe188857cbc97c1317e6ef2387be498ef9278ca95cdda6bd41400426e3bf52448eb59c31877c9fd0624e4 WHIRLPOOL e581e8488e0b1e75bcdd75f4572b89f9c23338e422d3acb57b1d5d513d9357ec0b061371d926ad0bb1087bf890e70422d4e3527dfd518329ba910f42f0733673 +DIST vagrant-1.8.1.tar.gz 2873082 SHA256 12cfa43eb82399d3dd1c3fd24691797fa30187fc142474580c72e5c9f83b9dfd SHA512 efbb74e26b4678075b1cbcc1a8e0bdef929f8c7de186dec1931a5cd52f944a046992491681573283c6cab7e48bf25fce86b0da96df17063d2398b69401fa0f08 WHIRLPOOL 237cbec487f820f00c8bd5b57c44c2f2ffd3b716988f64265124c52e3fe1ef696f93a5e61004ee7c57531bfb1765c47d56c53b61880c761ddf5efc5b6545c261 diff --git a/app-emulation/vagrant/files/vagrant-1.2.1-no-warning.patch b/app-emulation/vagrant/files/vagrant-1.2.1-no-warning.patch deleted file mode 100644 index 08d1d3568b..0000000000 --- a/app-emulation/vagrant/files/vagrant-1.2.1-no-warning.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- vagrant-1.2.1/bin/vagrant -+++ vagrant-1.2.1/bin/vagrant -@@ -74,9 +74,6 @@ - warned = true - end - end -- -- # If we're not in the installer, warn. -- env.ui.warn(I18n.t("vagrant.general.not_in_installer")) if !warned - end - - begin diff --git a/app-emulation/vagrant/files/vagrant-1.2.2-rvm.patch b/app-emulation/vagrant/files/vagrant-1.2.2-rvm.patch deleted file mode 100644 index 99265a26bf..0000000000 --- a/app-emulation/vagrant/files/vagrant-1.2.2-rvm.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- vagrant-1.2.2/bin/vagrant -+++ vagrant-1.2.2/bin/vagrant -@@ -5,6 +5,9 @@ - # initializing which have historically resulted in stack traces. - Signal.trap("INT") { exit 1 } - -+ENV.delete('GEM_HOME') -+ENV.delete('GEM_PATH') -+ - require 'log4r' - require 'vagrant' - require 'vagrant/cli' diff --git a/app-emulation/vagrant/files/vagrant-1.8.1 b/app-emulation/vagrant/files/vagrant-1.8.1 new file mode 100755 index 0000000000..760db569ea --- /dev/null +++ b/app-emulation/vagrant/files/vagrant-1.8.1 @@ -0,0 +1,46 @@ +#!/usr/bin/env bash +# +# This is a wrapper to properly execute Vagrant within the embedded +# Vagrant installation directory. This sets up proper environmental variables +# so that everything loads and compiles to proper directories. + +VAGRANT_DIR="$( ruby -e 'print Gem::default_path[-1] + "/gems/vagrant-1.8.1"' )" + +# Export GEM_HOME based on VAGRANT_HOME +# +# This needs to be set because Bundler includes gem paths +# from RubyGems' Gem.paths. +if [ -z $VAGRANT_HOME ]; then + VAGRANT_HOME=$(eval echo "~/.vagrant.d") +fi +export GEM_HOME="$VAGRANT_HOME/gems" + +# SSL certs +export SSL_CERT_FILE="/etc/ssl/certs/ca-certificates.crt" + +# Export an environmental variable to say we're in a Vagrant +# installer created environment. +export VAGRANT_INSTALLER_ENV=1 + +# This is currently used only in Vagrant::Plugin::Manager.system_plugins_file +# to locate plugins configuration file. +export VAGRANT_INSTALLER_EMBEDDED_DIR="/var/lib/vagrant" +export VAGRANT_INSTALLER_VERSION="2" + +# Determine the OS that we're on, which is used in some later checks. +# It is very important we do this _before_ setting the PATH below +# because uname dependencies can conflict on some platforms. +OS=$(uname -s 2>/dev/null) + +# Export the OS as an environmental variable that Vagrant can access +# so that it can behave better. +export VAGRANT_DETECTED_OS="${OS}" + +VAGRANT_EXECUTABLE="${VAGRANT_DIR}/bin/vagrant" +VAGRANT_LAUNCHER="${VAGRANT_DIR}/lib/vagrant/pre-rubygems.rb" + +# Export the VAGRANT_EXECUTABLE so that pre-rubygems can optimize a bit +export VAGRANT_EXECUTABLE + +# Call the actual Vagrant bin with our arguments +exec ruby "${VAGRANT_LAUNCHER}" "$@" diff --git a/app-emulation/vagrant/files/vagrant-1.8.1-disable-embedded-cacert.patch b/app-emulation/vagrant/files/vagrant-1.8.1-disable-embedded-cacert.patch new file mode 100644 index 0000000000..afcb6f707f --- /dev/null +++ b/app-emulation/vagrant/files/vagrant-1.8.1-disable-embedded-cacert.patch @@ -0,0 +1,17 @@ +diff --git a/lib/vagrant/util/downloader.rb b/lib/vagrant/util/downloader.rb +index 8756fc3..7fb2be8 100644 +--- a/lib/vagrant/util/downloader.rb ++++ b/lib/vagrant/util/downloader.rb +@@ -215,8 +215,9 @@ module Vagrant + # If we're in Vagrant, then we use the packaged CA bundle + if Vagrant.in_installer? + subprocess_options[:env] ||= {} +- subprocess_options[:env]["CURL_CA_BUNDLE"] = +- File.expand_path("cacert.pem", ENV["VAGRANT_INSTALLER_EMBEDDED_DIR"]) ++ # Use system certificates. ++ # subprocess_options[:env]["CURL_CA_BUNDLE"] = ++ # File.expand_path("cacert.pem", ENV["VAGRANT_INSTALLER_EMBEDDED_DIR"]) + end + + return [options, subprocess_options] + diff --git a/app-emulation/vagrant/files/vagrant-1.8.1-install-plugins-in-isolation.patch b/app-emulation/vagrant/files/vagrant-1.8.1-install-plugins-in-isolation.patch new file mode 100644 index 0000000000..c6934ab527 --- /dev/null +++ b/app-emulation/vagrant/files/vagrant-1.8.1-install-plugins-in-isolation.patch @@ -0,0 +1,122 @@ +diff --git a/bin/vagrant b/bin/vagrant +index fce68c8..781fc63 100755 +--- a/bin/vagrant ++++ b/bin/vagrant +@@ -69,6 +69,11 @@ end + require "bundler" + begin + $vagrant_bundler_runtime = Bundler.setup(:default, :plugins) ++# Invalidate the cached Gemfile.lock if necessary and try again ++rescue Bundler::GemNotFound ++ FileUtils.rm File.expand_path("~/.vagrant.d/Gemfile") if File.exists? File.expand_path("~/.vagrant.d/Gemfile") ++ FileUtils.rm File.expand_path("~/.vagrant.d/Gemfile.lock") if File.exists? File.expand_path("~/.vagrant.d/Gemfile.lock") ++ $vagrant_bundler_runtime = Bundler.setup(:default, :plugins) + rescue Bundler::GemNotFound + $stderr.puts "Bundler, the underlying system used to manage Vagrant plugins," + $stderr.puts "is reporting that a plugin or its dependency can't be found." +diff --git a/lib/vagrant/bundler.rb b/lib/vagrant/bundler.rb +index ea8c056..0543963 100644 +--- a/lib/vagrant/bundler.rb ++++ b/lib/vagrant/bundler.rb +@@ -63,6 +63,13 @@ module Vagrant + @configfile = File.open(Tempfile.new("vagrant").path + "1", "w+") + @configfile.close + ++ # Ensure the path to user's Gemfile exists ++ gemfile = Vagrant.user_data_path.join("Gemfile") ++ unless File.exists? gemfile ++ FileUtils.mkdir_p(File.dirname(gemfile)) ++ File.open(gemfile, 'w') {} ++ end ++ + # Build up the Gemfile for our Bundler context. We make sure to + # lock Vagrant to our current Vagrant version. In addition to that, + # we add all our plugin dependencies. +@@ -141,7 +148,7 @@ module Vagrant + + # Clean removes any unused gems. + def clean(plugins) +- gemfile = build_gemfile(plugins) ++ gemfile = build_gemfile(plugins, false, true) + lockfile = "#{gemfile.path}.lock" + definition = ::Bundler::Definition.build(gemfile, lockfile, nil) + root = File.dirname(gemfile.path) +@@ -172,11 +179,24 @@ module Vagrant + # Builds a valid Gemfile for use with Bundler given the list of + # plugins. + # ++ # @param [Hash|Bool] update Hash of gems to update or true for all ++ # @param [Bool] invalidate Invalidate Gemfile.lock + # @return [Tempfile] +- def build_gemfile(plugins) ++ def build_gemfile(plugins, update = false, invalidate = false) + sources = plugins.values.map { |p| p["sources"] }.flatten.compact.uniq + +- f = File.open(Tempfile.new("vagrant").path + "2", "w+") ++ # Determine what gems to update ++ if update.is_a? Hash ++ update_gems = update[:gems] ++ elsif update === true ++ update_gems = plugins.map{ |p| p[0] } ++ else ++ update_gems = [] ++ end ++ ++ gemfile = Vagrant.user_data_path.join("Gemfile") ++ f = File.open(gemfile, "w+") ++ + f.tap do |gemfile| + if !sources.include?("http://rubygems.org") + gemfile.puts(%Q[source "https://rubygems.org"]) +@@ -190,6 +210,19 @@ module Vagrant + + gemfile.puts(%Q[gemspec :path => "#{File.expand_path '../../..', __FILE__}"]) + ++ locked_gems = [] ++ ++ # Use Gemfile.lock to lock the gem versions ++ if ENV["VAGRANT_INTERNAL_BUNDLERIZED"] && File.exist?("#{gemfile.path}.lock") && !invalidate ++ lockfile = ::Bundler::LockfileParser.new(::Bundler.read_file("#{gemfile.path}.lock")) ++ lockfile.specs.each do |s| ++ if s.name != 'vagrant' && !(update_gems.include? s.name) ++ gemfile.puts(%Q[gem "#{s.name}", "#{s.version.to_s}"]) ++ end ++ end ++ locked_gems = lockfile.specs.map(&:name) - update_gems ++ end ++ + gemfile.puts("group :plugins do") + plugins.each do |name, plugin| + version = plugin["gem_version"] +@@ -199,13 +232,19 @@ module Vagrant + if plugin["require"] && plugin["require"] != "" + opts[:require] = plugin["require"] + end +- +- gemfile.puts(%Q[gem "#{name}", #{version.inspect}, #{opts.inspect}]) ++ gemfile.puts(%Q[gem "#{name}", #{version.inspect}, #{opts.inspect}]) unless locked_gems.include? name + end + gemfile.puts("end") +- + gemfile.close + end ++ ++ # Create Gemfile.lock if missing and re-generate Gemfile ++ if !File.exist?("#{f.path}.lock") && File.exist?(f.path) ++ lockfile = "#{f.path}.lock" ++ ENV['BUNDLE_GEMFILE'] = f.path ++ definition = ::Bundler::Definition.build(f.path, lockfile, false) ++ end ++ f + end + + # This installs a set of plugins and optionally updates those gems. +@@ -215,7 +254,7 @@ module Vagrant + # can be a hash of options. See Bundler.definition. + # @return [Array<Gem::Specification>] + def internal_install(plugins, update, **extra) +- gemfile = build_gemfile(plugins) ++ gemfile = build_gemfile(plugins, update) + lockfile = "#{gemfile.path}.lock" + definition = ::Bundler::Definition.build(gemfile, lockfile, update) + root = File.dirname(gemfile.path) diff --git a/app-emulation/vagrant/files/vagrant-1.8.1-rvm.patch b/app-emulation/vagrant/files/vagrant-1.8.1-rvm.patch new file mode 100644 index 0000000000..81d17be010 --- /dev/null +++ b/app-emulation/vagrant/files/vagrant-1.8.1-rvm.patch @@ -0,0 +1,11 @@ +--- vagrant-1.8.1/bin/vagrant ++++ vagrant-1.8.1/bin/vagrant +@@ -5,6 +5,8 @@ + # initializing which have historically resulted in stack traces. + Signal.trap("INT") { abort } + ++ENV.delete('GEM_PATH') ++ + # Split arguments by "--" if its there, we'll recombine them later + argv = ARGV.dup + argv_extra = [] diff --git a/app-emulation/vagrant/metadata.xml b/app-emulation/vagrant/metadata.xml index 5125c656be..8fedf524af 100644 --- a/app-emulation/vagrant/metadata.xml +++ b/app-emulation/vagrant/metadata.xml @@ -1,10 +1,21 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer> - <email>maintainer-needed@gentoo.org</email> - </maintainer> - <upstream> - <remote-id type="github">mitchellh/vagrant</remote-id> - </upstream> + <maintainer type="person"> + <email>hydrapolic@gmail.com</email> + <name>Tomas Mozes</name> + <description>Proxy maintainer</description> + </maintainer> + <maintainer type="project"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <use> + <flag name="virtualbox"> + Use VirtualBox provider. + </flag> + </use> + <upstream> + <remote-id type="github">mitchellh/vagrant</remote-id> + </upstream> </pkgmetadata> diff --git a/app-emulation/vagrant/vagrant-1.4.3-r2.ebuild b/app-emulation/vagrant/vagrant-1.4.3-r2.ebuild deleted file mode 100644 index edac95f3c3..0000000000 --- a/app-emulation/vagrant/vagrant-1.4.3-r2.ebuild +++ /dev/null @@ -1,69 +0,0 @@ -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI="5" -USE_RUBY="ruby20" - -RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.md" -RUBY_FAKEGEM_GEMSPEC="vagrant.gemspec" -RUBY_FAKEGEM_EXTRAINSTALL="config keys plugins templates" -RUBY_FAKEGEM_TASK_DOC="" - -inherit ruby-fakegem eutils - -DESCRIPTION="A tool for building and distributing virtual machines using VirtualBox" -HOMEPAGE="http://vagrantup.com/" -SRC_URI="https://github.com/mitchellh/vagrant/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64 ~x86 ~x64-macos" -IUSE="test" - -# Missing ebuild for contest -RESTRICT="test" - -RDEPEND="${RDEPEND} - app-arch/libarchive - net-misc/curl - !x64-macos? ( || ( app-emulation/virtualbox app-emulation/virtualbox-bin ) )" - -ruby_add_rdepend " - >=dev-ruby/childprocess-0.3.7 - >=dev-ruby/erubis-2.7.0 - dev-ruby/i18n:0.6 - >=dev-ruby/json-1.5.1 - >=dev-ruby/log4r-1.1.9 - >=dev-ruby/net-ssh-2.6.6 - >=dev-ruby/net-scp-1.1.0 -" - -ruby_add_bdepend " - dev-ruby/rake - test? ( dev-ruby/mocha virtual/ruby-minitest ) -" - -all_ruby_prepare() { - # remove bundler support - sed -i '/[Bb]undler/d' Rakefile || die - rm Gemfile || die - - # loosen dependencies - sed -e '/childprocess\|erubis\|log4r\|net-scp/s/~>/>=/' \ - -e '/net-ssh/s:, "< 2.8.0"::' \ - -i ${PN}.gemspec || die - - epatch "${FILESDIR}"/${PN}-1.2.1-no-warning.patch - epatch "${FILESDIR}"/${PN}-1.2.2-rvm.patch -} - -pkg_postinst() { - if use x64-macos ; then - ewarn - ewarn "For Mac OS X prefixes, you must install the virtualbox" - ewarn "package specifically for OS X which can be found at:" - ewarn "https://www.virtualbox.org/wiki/Downloads" - ewarn - fi -} diff --git a/app-emulation/vagrant/vagrant-1.8.1.ebuild b/app-emulation/vagrant/vagrant-1.8.1.ebuild new file mode 100644 index 0000000000..766211ac39 --- /dev/null +++ b/app-emulation/vagrant/vagrant-1.8.1.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" +USE_RUBY="ruby20 ruby21" + +RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.md" +RUBY_FAKEGEM_GEMSPEC="vagrant.gemspec" +RUBY_FAKEGEM_EXTRAINSTALL="keys plugins templates version.txt" +RUBY_FAKEGEM_TASK_DOC="" + +inherit bash-completion-r1 ruby-fakegem eutils + +DESCRIPTION="A tool for building and distributing development environments" +HOMEPAGE="http://vagrantup.com/" +SRC_URI="https://github.com/mitchellh/vagrant/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="+virtualbox" + +RDEPEND="${RDEPEND} + app-arch/libarchive + net-misc/curl + virtualbox? ( || ( app-emulation/virtualbox app-emulation/virtualbox-bin ) )" + +ruby_add_rdepend " + >=dev-ruby/bundler-1.5.2 <=dev-ruby/bundler-1.10.6 + >=dev-ruby/childprocess-0.5.0 + >=dev-ruby/erubis-2.7.0 + >=dev-ruby/i18n-0.6.0:* <dev-ruby/i18n-0.8.0:* + >=dev-ruby/listen-3.0.2 + >=dev-ruby/hashicorp-checkpoint-0.1.1 + >=dev-ruby/log4r-1.1.9 <dev-ruby/log4r-1.1.11 + >=dev-ruby/net-ssh-3.0.1 + >=dev-ruby/net-sftp-2.1 + >=dev-ruby/net-scp-1.1.0 + >=dev-ruby/rest-client-1.6.0 <dev-ruby/rest-client-2.0 + >=dev-ruby/nokogiri-1.6.3.1 + >=dev-ruby/mime-types-2.6.2:* <dev-ruby/mime-types-3:* +" + +ruby_add_bdepend " + dev-ruby/rake +" + +all_ruby_prepare() { + # remove bundler support + sed -i '/[Bb]undler/d' Rakefile || die + rm Gemfile || die + + # loosen dependencies + sed -e '/hashicorp-checkpoint\|listen\|net-ssh\|net-scp/s/~>/>=/' \ + -e '/nokogiri/s/=/>=/' \ + -i ${PN}.gemspec || die + + # remove windows-specific gems + sed -e '/wdm\|winrm/d' \ + -i ${PN}.gemspec || die + + # remove bsd-specific gems + sed -e '/rb-kqueue/d' \ + -i ${PN}.gemspec || die + + # see https://github.com/mitchellh/vagrant/pull/5877 + epatch "${FILESDIR}"/${P}-install-plugins-in-isolation.patch + + # disable embedded CA certs and use system ones + epatch "${FILESDIR}"/${P}-disable-embedded-cacert.patch + + # fix rvm issue (bug #474476) + epatch "${FILESDIR}"/${P}-rvm.patch +} + +all_ruby_install() { + newbashcomp contrib/bash/completion.sh ${PN} + all_fakegem_install + + # provide executable similar to upstream: + # https://github.com/mitchellh/vagrant-installers/blob/master/substrate/modules/vagrant_installer/templates/vagrant.erb + newbin "${FILESDIR}/${P}" "${PN}" + + # directory for plugins.json + dodir /var/lib/vagrant +} diff --git a/app-emulation/vboxgtk/metadata.xml b/app-emulation/vboxgtk/metadata.xml index e96e35b1a3..097975e3ad 100644 --- a/app-emulation/vboxgtk/metadata.xml +++ b/app-emulation/vboxgtk/metadata.xml @@ -1,8 +1,4 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer> - <email>maintainer-needed@gentoo.org</email> - </maintainer> </pkgmetadata> - diff --git a/app-emulation/vice/Manifest b/app-emulation/vice/Manifest index 2180a638c1..64ad04117a 100644 --- a/app-emulation/vice/Manifest +++ b/app-emulation/vice/Manifest @@ -1,3 +1 @@ -DIST vice-2.4.20.tar.gz 25156408 SHA256 e5d3d125940f0fafe409aabeec9de4e3ae8d9c19a731aa7ec6a57f6d2b897c5f SHA512 a27b1672ca356d0e8f2890c91e449b78ef76512f6d81bdf25350b90c1f472d57ae6d23646d0176c5544c47d81023aa3deb172e3a02eeb0022ea32a13311b5a76 WHIRLPOOL 5f25bfa72ade54dbe09699b5932df2c37017c3993daba048eb09f723a4351300b6722cf06ceb264202459051780a775f45b787b6ea60db78560d5c65da684541 DIST vice-2.4.22.tar.gz 25180343 SHA256 767e00eb9dbd1a9bcc6db8b4cd1697b8bc744b1d507bbac930975ee130378d9d SHA512 b43e609ae2f43717d10e079d3b8ac284e5c4920ed222c7502e9a7b75dfe32784628031ae6cf8672c8d9d50576fb714cecdd1a9292bf53477f4bbd52c10403975 WHIRLPOOL 580de25d739585c0316c91aba44bb17b2cd4cc19f162e3c5e53b8a7a9e3f694e8c5d8d549b232259d5c9ed077549410b220169a3c026ebad55bc7c537922be81 -DIST vice-2.4.tar.gz 13656511 SHA256 ff8b8d5f0f497d1f8e75b95bbc4204993a789284a08a8a59ba727ad81dcace10 SHA512 ad197fc35eb80c9738b7f4f551d350dbb4440c7c8103e5d472b7f7ea5106c1356e9d6e3f481552a028a313129ef233833d3147e03f6f00b9890229d5708e3ebb WHIRLPOOL 80f89f7c144fe1ef2305e109049b49e47dfa4af9b69d0d848bf7b06bd0f2d210669acece363b550abad1c50f53dd45a30397eb1bfacfaa443c9e865c686d0823 diff --git a/app-emulation/vice/files/vice-2.4-arm.patch b/app-emulation/vice/files/vice-2.4-arm.patch deleted file mode 100644 index 55e2d5a35b..0000000000 --- a/app-emulation/vice/files/vice-2.4-arm.patch +++ /dev/null @@ -1,38 +0,0 @@ ---- vice/configure.in -+++ vice/configure.in -@@ -2299,6 +2299,7 @@ - - if test x"$PARSID_SUPPORT" = "xno"; then - AC_CHECK_FUNCS(ioperm,[PARSID_SUPPORT=yes],) -+ AC_CHECK_FUNCS(outb_p inb_p) - fi - - if test x"$PARSID_SUPPORT" = "xyes"; then ---- vice/src/arch/unix/parsid.c -+++ vice/src/arch/unix/parsid.c -@@ -217,8 +217,12 @@ - #endif - #endif - #ifdef HAVE_IOPERM -+#ifndef HAVE_OUTB_P -+ outb(value, addr); -+#else - outb_p(value, addr); - #endif -+#endif - } - - BYTE parsid_inb(int addr) -@@ -237,8 +241,12 @@ - #endif - #endif - #ifdef HAVE_IOPERM -+#ifndef HAVE_INB_P -+ return inb((unsigned short)addr); -+#else - return inb_p((unsigned short)addr); - #endif -+#endif - } - - /* chip control pin assignments */ diff --git a/app-emulation/vice/files/vice-2.4-autotools.patch b/app-emulation/vice/files/vice-2.4-autotools.patch deleted file mode 100644 index f67113f0b4..0000000000 --- a/app-emulation/vice/files/vice-2.4-autotools.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- vice-2.4.orig/configure.in -+++ vice-2.4/configure.in -@@ -105,7 +105,7 @@ - AC_SUBST(VICE_VERSION) - - AM_INIT_AUTOMAKE(vice, $VICE_VERSION) --AM_CONFIG_HEADER(src/config.h) -+AC_CONFIG_HEADERS(src/config.h) - - if test x"$VICE_VERSION_BUILD" = "x" -o x"$VICE_VERSION_BUILD" = "x0" ; then - VERSION_RC=$VICE_VERSION_MAJOR","$VICE_VERSION_MINOR",0,0" diff --git a/app-emulation/vice/files/vice-2.4-buffer.patch b/app-emulation/vice/files/vice-2.4-buffer.patch deleted file mode 100644 index dc5fab9b57..0000000000 --- a/app-emulation/vice/files/vice-2.4-buffer.patch +++ /dev/null @@ -1,14 +0,0 @@ -avoid writing past the end of the gcr_track buffer -https://bugs.gentoo.org/show_bug.cgi?id=464708 - ---- ./src/diskimage/fsimage-create.c.orig -+++ ./src/diskimage/fsimage-create.c -@@ -262,7 +262,7 @@ - gcrptr = gcr_track; - util_word_to_le_buf(gcrptr, disk_image_raw_track_size(image->type, track)); - gcrptr += 2; -- memset(gcrptr, 0x55, NUM_MAX_BYTES_TRACK); -+ memset(gcrptr, 0x55, NUM_MAX_BYTES_TRACK - 2); - - header.track = track; - for (sector = 0; diff --git a/app-emulation/vice/files/vice-2.4-ffmpeg-1.patch b/app-emulation/vice/files/vice-2.4-ffmpeg-1.patch deleted file mode 100644 index 4aefda2458..0000000000 --- a/app-emulation/vice/files/vice-2.4-ffmpeg-1.patch +++ /dev/null @@ -1,135 +0,0 @@ -Fixes build with recent FFmpeg versions. - -https://bugs.gentoo.org/show_bug.cgi?id=443218 -https://sourceforge.net/tracker/?func=detail&aid=3601992&group_id=223021&atid=1057619 - ---- vice-2.4.orig/src/gfxoutputdrv/ffmpegdrv.c -+++ vice-2.4/src/gfxoutputdrv/ffmpegdrv.c -@@ -343,7 +343,7 @@ static int ffmpegmovie_init_audio(int sp - c = st->codec; - c->codec_id = ffmpegdrv_fmt->audio_codec; - c->codec_type = AVMEDIA_TYPE_AUDIO; -- c->sample_fmt = SAMPLE_FMT_S16; -+ c->sample_fmt = AV_SAMPLE_FMT_S16; - - /* put sample parameters */ - c->bit_rate = audio_bitrate; -@@ -613,12 +613,7 @@ static int ffmpegdrv_init_file(void) - if (!video_init_done || !audio_init_done) - return 0; - -- if ((*ffmpeglib.p_av_set_parameters)(ffmpegdrv_oc, NULL) < 0) { -- log_debug("ffmpegdrv: Invalid output format parameters"); -- return -1; -- } -- -- (*ffmpeglib.p_dump_format)(ffmpegdrv_oc, 0, ffmpegdrv_oc->filename, 1); -+ (*ffmpeglib.p_av_dump_format)(ffmpegdrv_oc, 0, ffmpegdrv_oc->filename, 1); - - if (video_st && (ffmpegdrv_open_video(ffmpegdrv_oc, video_st) < 0)) { - ui_error(translate_text(IDGS_FFMPEG_CANNOT_OPEN_VSTREAM)); -@@ -632,8 +627,8 @@ static int ffmpegdrv_init_file(void) - } - - if (!(ffmpegdrv_fmt->flags & AVFMT_NOFILE)) { -- if ((*ffmpeglib.p_url_fopen)(&ffmpegdrv_oc->pb, ffmpegdrv_oc->filename, -- URL_WRONLY) < 0) -+ if ((*ffmpeglib.p_avio_open)(&ffmpegdrv_oc->pb, ffmpegdrv_oc->filename, -+ AVIO_FLAG_WRITE) < 0) - { - ui_error(translate_text(IDGS_FFMPEG_CANNOT_OPEN_S), ffmpegdrv_oc->filename); - screenshot_stop_recording(); -@@ -642,7 +637,7 @@ static int ffmpegdrv_init_file(void) - - } - -- (*ffmpeglib.p_av_write_header)(ffmpegdrv_oc); -+ (*ffmpeglib.p_avformat_write_header)(ffmpegdrv_oc,NULL); - - log_debug("ffmpegdrv: Initialized file successfully"); - -@@ -724,7 +719,7 @@ static int ffmpegdrv_close(screenshot_t - (*ffmpeglib.p_av_write_trailer)(ffmpegdrv_oc); - if (!(ffmpegdrv_fmt->flags & AVFMT_NOFILE)) { - /* close the output file */ -- (*ffmpeglib.p_url_fclose)(ffmpegdrv_oc->pb); -+ (*ffmpeglib.p_avio_close)(ffmpegdrv_oc->pb); - } - } - ---- vice-2.4.orig/src/gfxoutputdrv/ffmpeglib.c -+++ vice-2.4/src/gfxoutputdrv/ffmpeglib.c -@@ -208,13 +208,12 @@ static int load_avformat(ffmpeglib_t *li - GET_SYMBOL_AND_TEST_AVFORMAT(av_init_packet); - GET_SYMBOL_AND_TEST_AVFORMAT(av_register_all); - GET_SYMBOL_AND_TEST_AVFORMAT(av_new_stream); -- GET_SYMBOL_AND_TEST_AVFORMAT(av_set_parameters); -- GET_SYMBOL_AND_TEST_AVFORMAT(av_write_header); -+ GET_SYMBOL_AND_TEST_AVFORMAT(avformat_write_header); - GET_SYMBOL_AND_TEST_AVFORMAT(av_write_frame); - GET_SYMBOL_AND_TEST_AVFORMAT(av_write_trailer); -- GET_SYMBOL_AND_TEST_AVFORMAT(url_fopen); -- GET_SYMBOL_AND_TEST_AVFORMAT(url_fclose); -- GET_SYMBOL_AND_TEST_AVFORMAT(dump_format); -+ GET_SYMBOL_AND_TEST_AVFORMAT(avio_open); -+ GET_SYMBOL_AND_TEST_AVFORMAT(avio_close); -+ GET_SYMBOL_AND_TEST_AVFORMAT(av_dump_format); - GET_SYMBOL_AND_TEST_AVFORMAT(av_guess_format); - #ifndef HAVE_FFMPEG_SWSCALE - GET_SYMBOL_AND_TEST_AVFORMAT(img_convert); -@@ -240,13 +239,12 @@ static void free_avformat(ffmpeglib_t *l - lib->p_av_init_packet = NULL; - lib->p_av_register_all = NULL; - lib->p_av_new_stream = NULL; -- lib->p_av_set_parameters = NULL; -- lib->p_av_write_header = NULL; -+ lib->p_avformat_write_header = NULL; - lib->p_av_write_frame = NULL; - lib->p_av_write_trailer = NULL; -- lib->p_url_fopen = NULL; -- lib->p_url_fclose = NULL; -- lib->p_dump_format = NULL; -+ lib->p_avio_open = NULL; -+ lib->p_avio_close = NULL; -+ lib->p_av_dump_format = NULL; - lib->p_av_guess_format = NULL; - #ifndef HAVE_FFMPEG_SWSCALE - lib->p_img_convert = NULL; ---- vice-2.4.orig/src/gfxoutputdrv/ffmpeglib.h -+++ vice-2.4/src/gfxoutputdrv/ffmpeglib.h -@@ -80,13 +80,12 @@ typedef int (*avpicture_get_size_t) (int - typedef void (*av_init_packet_t) (AVPacket *pkt); - typedef void (*av_register_all_t) (void); - typedef AVStream* (*av_new_stream_t) (AVFormatContext*, int); --typedef int (*av_set_parameters_t) (AVFormatContext*, AVFormatParameters*); --typedef int (*av_write_header_t) (AVFormatContext*); -+typedef int (*avformat_write_header_t) (AVFormatContext*,AVDictionary **); - typedef int (*av_write_frame_t) (AVFormatContext*, AVPacket*); - typedef int (*av_write_trailer_t) (AVFormatContext*); --typedef int (*url_fopen_t) (ByteIOContext**, const char*, int); --typedef int (*url_fclose_t) (ByteIOContext*); --typedef void (*dump_format_t) (AVFormatContext *, int, const char*, int); -+typedef int (*avio_open_t) (AVIOContext**, const char*, int); -+typedef int (*avio_close_t) (AVIOContext*); -+typedef void (*av_dump_format_t) (AVFormatContext *, int, const char*, int); - typedef AVOutputFormat* (*av_guess_format_t) (const char*, const char*, const char*); - typedef int (*img_convert_t) (AVPicture*, int, AVPicture*, int, int, int); - -@@ -118,13 +117,12 @@ struct ffmpeglib_s { - av_init_packet_t p_av_init_packet; - av_register_all_t p_av_register_all; - av_new_stream_t p_av_new_stream; -- av_set_parameters_t p_av_set_parameters; -- av_write_header_t p_av_write_header; -+ avformat_write_header_t p_avformat_write_header; - av_write_frame_t p_av_write_frame; - av_write_trailer_t p_av_write_trailer; -- url_fopen_t p_url_fopen; -- url_fclose_t p_url_fclose; -- dump_format_t p_dump_format; -+ avio_open_t p_avio_open; -+ avio_close_t p_avio_close; -+ av_dump_format_t p_av_dump_format; - av_guess_format_t p_av_guess_format; - #ifndef HAVE_FFMPEG_SWSCALE - img_convert_t p_img_convert; diff --git a/app-emulation/vice/files/vice-2.4.20-autotools.patch b/app-emulation/vice/files/vice-2.4.20-autotools.patch deleted file mode 100644 index 7bebd2800e..0000000000 --- a/app-emulation/vice/files/vice-2.4.20-autotools.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- vice-2.4.7.orig/configure.ac -+++ vice-2.4.7/configure.ac -@@ -124,7 +118,7 @@ - AC_SUBST(VICE_VERSION) - - AM_INIT_AUTOMAKE(vice, $VICE_VERSION) --AM_CONFIG_HEADER(src/config.h) -+AC_CONFIG_HEADERS(src/config.h) - - if test x"$VICE_VERSION_BUILD" = "x" -o x"$VICE_VERSION_BUILD" = "x0" ; then - VERSION_RC=$VICE_VERSION_MAJOR","$VICE_VERSION_MINOR",0,0" diff --git a/app-emulation/vice/files/vice-2.4.20-format.patch b/app-emulation/vice/files/vice-2.4.20-format.patch deleted file mode 100644 index 1c782fd61e..0000000000 --- a/app-emulation/vice/files/vice-2.4.20-format.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- src/main.c.old 2015-10-19 17:25:07.549164652 +0200 -+++ src/main.c 2015-10-19 17:25:33.106694706 +0200 -@@ -227,7 +227,7 @@ - for (i = 0; core_team[i].name; i++) {
- n += strlen(core_team[i].name);
- if (n > 74) {
-- log_message(LOG_DEFAULT, tmp);
-+ log_message(LOG_DEFAULT, "%s", tmp);
- n = 0; *tmp = 0;
- }
- strcat(tmp, core_team[i].name);
-@@ -235,7 +235,7 @@ - strcat(tmp, ", ");
- } else {
- strcat(tmp, ".");
-- log_message(LOG_DEFAULT, tmp);
-+ log_message(LOG_DEFAULT, "%s", tmp);
- }
- }
- lib_free(tmp);
diff --git a/app-emulation/vice/files/vice-2.4.20-xf86extensions.patch b/app-emulation/vice/files/vice-2.4.20-xf86extensions.patch deleted file mode 100644 index 357d686665..0000000000 --- a/app-emulation/vice/files/vice-2.4.20-xf86extensions.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/trunk/vice/src/arch/unix/x11/gnome/x11ui.c -+++ b/trunk/vice/src/arch/unix/x11/gnome/x11ui.c -@@ -102,9 +102,10 @@ - #include "ui-threads.h" - #endif - --#ifdef USE_XF86_EXTENSIONS -+#if defined(USE_XF86_EXTENSIONS) || !defined(HAVE_VTE) - #include <gdk/gdkx.h> - #endif -+ - #include "x11ui.h" - - #ifdef DEBUG_X11UI - diff --git a/app-emulation/vice/metadata.xml b/app-emulation/vice/metadata.xml index 9364cf9ad6..ff9234728a 100644 --- a/app-emulation/vice/metadata.xml +++ b/app-emulation/vice/metadata.xml @@ -1,15 +1,15 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <herd>games</herd> + <maintainer type="project"> + <email>games@gentoo.org</email> + <name>Gentoo Games Project</name> + </maintainer> <use> <flag name="ethernet">Enable ethernet emulation</flag> <flag name="fullscreen">Enable the ability to run fullscreen</flag> - <flag name="gtk2">Use GTK+2 for GUI instead of GTK+3</flag> - <flag name="memmap">Enable extra monitor features</flag> <flag name="sdlsound">Use <pkg>media-libs/libsdl</pkg> for sound support</flag> <flag name="vte">Enable support for <pkg>x11-libs/vte</pkg> in the GTK+ interface</flag> - <flag name="xrandr">Enable support for the X xrandr extension</flag> </use> <upstream> <remote-id type="sourceforge">vice-emu</remote-id> diff --git a/app-emulation/vice/vice-2.4.20.ebuild b/app-emulation/vice/vice-2.4.20.ebuild deleted file mode 100644 index 1ee7dc6d33..0000000000 --- a/app-emulation/vice/vice-2.4.20.ebuild +++ /dev/null @@ -1,173 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=5 -inherit autotools eutils toolchain-funcs flag-o-matic games - -DESCRIPTION="The Versatile Commodore 8-bit Emulator" -HOMEPAGE="http://vice-emu.sourceforge.net/" -SRC_URI="mirror://sourceforge/vice-emu/releases/${P}.tar.gz" - -LICENSE="GPL-2+" -SLOT="0" -KEYWORDS="amd64 ppc ~sparc x86" -IUSE="Xaw3d alsa ethernet ffmpeg fullscreen +gtk2 ipv6 lame nls oss png pulseaudio sdl +sdlsound threads vte zlib" - -# upstream says gtk3 and sdl2 shouldn't be exposed yet. -#REQUIRED_USE="?? ( gtk2 gtk3 sdl )" -REQUIRED_USE="?? ( gtk2 sdl )" - -GTK_COMMON=" - x11-libs/pango - x11-libs/cairo" -# gtk3? ( -# x11-libs/gtk+:3 -# vte? ( x11-libs/vte:2.90 ) -# ${GTK_COMMON} -# ) -RDEPEND=" - virtual/jpeg:0 - virtual/opengl - media-libs/giflib - alsa? ( media-libs/alsa-lib ) - pulseaudio? ( media-sound/pulseaudio ) - sdlsound? ( media-libs/libsdl[sound] ) - ethernet? ( - >=net-libs/libpcap-0.9.8 - >=net-libs/libnet-1.1.2.1:1.1 - ) - ffmpeg? ( virtual/ffmpeg ) - lame? ( media-sound/lame ) - nls? ( virtual/libintl ) - png? ( media-libs/libpng:0 ) - zlib? ( sys-libs/zlib ) - sdl? ( - media-libs/libsdl[joystick,video] - ) - !sdl? ( - fullscreen? ( - x11-libs/libXrandr - x11-libs/libXxf86vm ) - x11-libs/libX11 - x11-libs/libXext - sys-libs/readline - ) - gtk2? ( - x11-libs/gtk+:2 - vte? ( x11-libs/vte:0 ) - x11-libs/gtkglext - ${GTK_COMMON} - ) - !sdl? ( !gtk2? ( - x11-libs/libXmu - x11-libs/libXpm - x11-libs/libXt - x11-libs/libXv - Xaw3d? ( x11-libs/libXaw3d ) - !Xaw3d? ( x11-libs/libXaw ) - ) ) - " -DEPEND="${RDEPEND} - virtual/pkgconfig - !sdl? ( - fullscreen? ( x11-proto/xf86vidmodeproto ) - !gtk2? ( - x11-libs/libICE - x11-libs/libSM - ) - ) - x11-apps/bdftopcf - x11-apps/mkfontdir - x11-proto/xproto - x11-proto/xextproto - media-libs/fontconfig - x11-proto/videoproto - nls? ( sys-devel/gettext )" - -src_prepare() { - epatch \ - "${FILESDIR}"/${P}-autotools.patch \ - "${FILESDIR}"/${P}-format.patch \ - "${FILESDIR}"/${P}-xf86extensions.patch - sed -i \ - -e 's/building//' \ - doc/Makefile.am || die - sed -i \ - -e "/^docdir =/s:=.*:=/usr/share/doc/${PF}:" \ - doc/Makefile.am \ - doc/readmes/Makefile.am || die - sed -i \ - -e "/^docdir =/s:=.*:=/usr/share/doc/${PF}/html:" \ - doc/html/Makefile.am || die - sed -i \ - -e "s:/usr/local/lib/VICE:$(games_get_libdir)/${PN}:" \ - man/vice.1 \ - $(grep -rl --exclude="*texi" /usr/local/lib doc) || die - sed -i \ - -e "/VICEDIR=/s:=.*:=\"$(games_get_libdir)/${PN}\";:" \ - configure.ac || die - sed -i \ - -e "s:\(#define LIBDIR \).*:\1\"$(games_get_libdir)/${PN}\":" \ - -e "s:\(#define DOCDIR \).*:\1\"/usr/share/doc/${PF}\":" \ - src/arch/unix/archdep.h \ - src/arch/sdl/archdep_unix.h || die - rm -rf src/lib/{libffmpeg,liblame} || die - sed -i \ - -e '/SUBDIRS/s/libffmpeg//;' \ - -e '/SUBDIRS/s/liblame//;' \ - src/lib/Makefile.am || die - AT_NO_RECURSIVE=1 eautoreconf -} - -src_configure() { - local gui_arg snd_arg - - snd_arg+=" $(use_with alsa)" - snd_arg+=" $(use_with oss)" - snd_arg+=" $(use_with pulseaudio pulse)" - snd_arg+=" $(use_with sdlsound)" - - gui_arg+=" $(use_enable sdl sdlui)" - # The gtk UI code has raw calls to XOpenDisplay and - # is missing -lX11 if vte doesn't pull it in. - #if use gtk2 || use gtk3 ; then - if use gtk2 ; then - use vte || append-libs -lX11 - fi - gui_arg+=" $(use_enable gtk2 gnomeui)" - #gui_arg+=" $(use_enable gtk3 gnomeui3)" - gui_arg+=" $(use_enable Xaw3d xaw3d)" - - # --with-readline is forced to avoid using the embedded copy - # don't try to actually run fc-cache (bug #280976) - FCCACHE=/bin/true \ - PKG_CONFIG=$(tc-getPKG_CONFIG) \ - egamesconf \ - --enable-parsid \ - --with-resid \ - --with-readline \ - --without-arts \ - --without-midas \ - $(use_enable ethernet) \ - $(use_enable ffmpeg) \ - $(use_enable ffmpeg external-ffmpeg) \ - $(use_enable fullscreen) \ - $(use_enable ipv6) \ - $(use_enable lame) \ - $(use_enable nls) \ - $(use_enable vte) \ - $(use_with png) \ - $(use_with threads uithreads) \ - $(use_with zlib) \ - ${gui_arg} \ - ${snd_arg} \ - --disable-option-checking - # --disable-option-checking has to be last -} - -src_install() { - DOCS="AUTHORS ChangeLog FEEDBACK README" \ - default - prepgamesdirs -} diff --git a/app-emulation/vice/vice-2.4.22.ebuild b/app-emulation/vice/vice-2.4.22.ebuild index a186624904..a5d8a2818f 100644 --- a/app-emulation/vice/vice-2.4.22.ebuild +++ b/app-emulation/vice/vice-2.4.22.ebuild @@ -11,7 +11,7 @@ SRC_URI="mirror://sourceforge/vice-emu/releases/${P}.tar.gz" LICENSE="GPL-2+" SLOT="0" -KEYWORDS="~amd64 ~ppc ~sparc ~x86" +KEYWORDS="amd64 ppc ~sparc x86" IUSE="Xaw3d alsa ethernet ffmpeg fullscreen +gtk ipv6 lame nls oss png pulseaudio sdl +sdlsound threads vte zlib" # upstream says gtk3 and sdl2 shouldn't be exposed yet. diff --git a/app-emulation/vice/vice-2.4.ebuild b/app-emulation/vice/vice-2.4.ebuild deleted file mode 100644 index 21350933eb..0000000000 --- a/app-emulation/vice/vice-2.4.ebuild +++ /dev/null @@ -1,117 +0,0 @@ -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=5 -inherit autotools eutils toolchain-funcs games - -DESCRIPTION="The Versatile Commodore 8-bit Emulator" -HOMEPAGE="http://vice-emu.sourceforge.net/" -SRC_URI="mirror://sourceforge/vice-emu/releases/${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 ppc ~sparc x86" -IUSE="Xaw3d alsa gnome nls png readline sdl ipv6 memmap ethernet oss zlib X gif jpeg xv dga xrandr ffmpeg lame pulseaudio" - -RDEPEND=" - x11-libs/libX11 - x11-libs/libXext - x11-libs/libXpm - x11-libs/libICE - x11-libs/libSM - x11-libs/libXt - x11-libs/libXxf86vm - x11-apps/xset - Xaw3d? ( x11-libs/libXaw3d ) - !Xaw3d? ( !gnome? ( x11-libs/libXaw ) ) - alsa? ( media-libs/alsa-lib ) - gnome? ( - x11-libs/gtk+:2 - x11-libs/vte:0 - dev-libs/atk - x11-libs/pango - ) - lame? ( media-sound/lame ) - ffmpeg? ( virtual/ffmpeg ) - ethernet? ( - >=net-libs/libpcap-0.9.8 - >=net-libs/libnet-1.1.2.1 - ) - nls? ( virtual/libintl ) - png? ( media-libs/libpng:0 ) - readline? ( sys-libs/readline ) - sdl? ( media-libs/libsdl ) - gif? ( media-libs/giflib ) - jpeg? ( virtual/jpeg ) - xv? ( x11-libs/libXv ) - dga? ( x11-libs/libXxf86dga ) - xrandr? ( x11-libs/libXrandr )" -DEPEND="${RDEPEND} - virtual/pkgconfig - x11-apps/bdftopcf - x11-apps/mkfontdir - x11-proto/xproto - x11-proto/xf86vidmodeproto - x11-proto/xextproto - media-libs/fontconfig - dga? ( x11-proto/xf86dgaproto ) - xv? ( x11-proto/videoproto ) - nls? ( sys-devel/gettext )" - -src_prepare() { - epatch "${FILESDIR}"/${P}-arm.patch \ - "${FILESDIR}"/${P}-ffmpeg-1.patch \ - "${FILESDIR}"/${P}-buffer.patch \ - "${FILESDIR}"/${P}-autotools.patch - sed -i \ - -e "s:/usr/local/lib/VICE:${GAMES_DATADIR}/${PN}:" \ - man/vice.1 \ - $(grep -rl --exclude="*texi" /usr/local/lib doc) \ - || die - sed -i \ - -e '/VICE_ARG_LIST_CHECK/d' \ - -e "/VICEDIR=/s:=.*:=\"${GAMES_DATADIR}/${PN}\";:" \ - configure.in || die - sed -i \ - -e "s:\(#define LIBDIR \).*:\1\"${GAMES_DATADIR}/${PN}\":" \ - -e "s:\(#define DOCDIR \).*:\1\"/usr/share/doc/${PF}\":" \ - src/arch/unix/archdep.h \ - src/arch/sdl/archdep_unix.h - mv configure.in configure.ac || die - AT_NO_RECURSIVE=1 eautoreconf -} - -src_configure() { - # don't try to actually run fc-cache (bug #280976) - FCCACHE=/bin/true \ - PKG_CONFIG=$(tc-getPKG_CONFIG) \ - egamesconf \ - --enable-fullscreen \ - --enable-parsid \ - --with-resid \ - --without-arts \ - --without-midas \ - $(use_enable ffmpeg) \ - $(use_enable lame) \ - $(use_enable gnome gnomeui) \ - $(use_enable nls) \ - $(use_with Xaw3d xaw3d) \ - $(use_with alsa) \ - $(use_with pulseaudio pulse) \ - $(use_with png) \ - $(use_with readline) \ - $(use_with sdl sdlsound) \ - $(use_enable ipv6) \ - $(use oss || echo --without-oss) \ - $(use_enable memmap) \ - $(use_enable ethernet) \ - $(use_with zlib) \ - $(use_with X x) -} - -src_install() { - emake DESTDIR="${D}" install - dodoc AUTHORS ChangeLog FEEDBACK README - prepgamesdirs -} diff --git a/app-emulation/virt-manager/Manifest b/app-emulation/virt-manager/Manifest index 9dde0f24c6..452a7d4309 100644 --- a/app-emulation/virt-manager/Manifest +++ b/app-emulation/virt-manager/Manifest @@ -1,2 +1,4 @@ DIST virt-manager-1.1.0.tar.gz 2509440 SHA256 ab0906cb15a132f1893f89ac4ca211c6c2c9c2d1860fbc285edbf9451c0f7941 SHA512 8c3aa56e13f1ec4a67e353b15b4f61bdc067300dbc459790b04e5f5258bf526694ec712a9f74d7af48ddd271081d48ae98d576f4bc5ed139e046620a9aa64e2d WHIRLPOOL aaffdf75b313c88a10648503bf552357139aff2a1624da1b17cac3975fec21ad6c3ccce00999ef8f4f1f4731aabf5ae2c07e70e453785caefe932c3b0deab456 DIST virt-manager-1.2.1.tar.gz 2524812 SHA256 74bba80e72e5e1b4d84f1d5b7211b874e9c4ae00a0a44149d1721acab38ce6be SHA512 b99144f498bc2f28c98bb2395e0a9c2fe244a3da476892698ff0f1fd4a6d36a8ddf53e13561593c5e94932ce8176a27092c818ed218634fc5201666ad6792791 WHIRLPOOL d2402087453ec720add0a815433e9feda1bd36e253178dfe1cf27f52e0ad41a13e1e1d6a9977b63485ed8acc257d93c903625b775c6ab130ea7235e52be0e8fc +DIST virt-manager-1.3.0.tar.gz 2564090 SHA256 a6ebec0dd695b195778c5d710c7b6f1cd28d3ccb8b128fa006eebb35b156a315 SHA512 8cba9ad45aa3b070e29ec72cc45c5eb88231dfb0ef2a24cdc913acdf30158d29cc0b18e23f168fb5eafa4d890b5cd286a04669210b1411701adc912e29274101 WHIRLPOOL 379c54e1541b2186b1c218849758a917a8913e92603f8c492e707c206ef1fb7084bb7f21c474d6829e613b5ba524684562c1b3d696823478909f2a9d5a0f780f +DIST virt-manager-1.3.2.tar.gz 2564573 SHA256 270c1f631fd029fee5291e83f50d69e261db666aa952c184643bc6cece77fdb3 SHA512 a60efa8ecd0a3fad50f2ab3b7f27347e3fc7ac1928e7bfc13860f6fed6d929399fbd072d1dfe2424de38a3926fcf03d0092a43b958601bc6af6f87f2cad0aaab WHIRLPOOL b1e59c17d5891aa19a2965a93d601e7f677141b1730ad3a717b97e9d799328bc94f276c12c53f7ea61f1d67458ca7d7a37d5dedf49a1a95a446b1651a6e575a3 diff --git a/app-emulation/virt-manager/metadata.xml b/app-emulation/virt-manager/metadata.xml index 26005ac4f6..024a5205e5 100644 --- a/app-emulation/virt-manager/metadata.xml +++ b/app-emulation/virt-manager/metadata.xml @@ -1,14 +1,17 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <herd>virtualization</herd> + <maintainer type="project"> + <email>virtualization@gentoo.org</email> + <name>Gentoo Virtualization Project</name> + </maintainer> <use> - <flag name='policykit'> + <flag name="policykit"> Enables <pkg>sys-auth/polkit</pkg> authentication support, required when using <pkg>app-emulation/libvirt</pkg> with PolicyKit authentication </flag> - <flag name='sasl'> + <flag name="sasl"> Depend on the proper libraries needed to connect to SASL-enabled libvirtd instances (e.g. Kerberos-protected instances). </flag> diff --git a/app-emulation/virt-manager/virt-manager-1.3.0-r1.ebuild b/app-emulation/virt-manager/virt-manager-1.3.0-r1.ebuild new file mode 100644 index 0000000000..9a6fb846d3 --- /dev/null +++ b/app-emulation/virt-manager/virt-manager-1.3.0-r1.ebuild @@ -0,0 +1,105 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) +DISTUTILS_SINGLE_IMPL=1 + +inherit gnome2 distutils-r1 + +DESCRIPTION="A graphical tool for administering virtual machines" +HOMEPAGE="http://virt-manager.org" + +if [[ ${PV} = *9999* ]]; then + inherit git-2 + SRC_URI="" + KEYWORDS="" + EGIT_REPO_URI="https://github.com/virt-manager/virt-manager.git" +else + SRC_URI="http://virt-manager.org/download/sources/${PN}/${P}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +VM_LINGUAS=( as bg bn_IN bs ca cmn cs da de en_GB es fi fr gu hi hr hu is + it ja kn ko ml mr ms nb nl or pa pl pt pt_BR ro ru sk sr sr@latin sv ta te + tr uk vi zh_CN zh_TW ) + +LICENSE="GPL-2" +SLOT="0" +IUSE="gnome-keyring gtk policykit sasl ${VM_LINGUAS[@]/#/linguas_}" + +RDEPEND="!app-emulation/virtinst + dev-python/libvirt-python[${PYTHON_USEDEP}] + >=app-emulation/libvirt-glib-0.0.9[introspection,python,${PYTHON_USEDEP}] + ${PYTHON_DEPS} + dev-libs/libxml2[python,${PYTHON_USEDEP}] + dev-python/ipaddr[${PYTHON_USEDEP}] + dev-python/pygobject:3[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + >=sys-libs/libosinfo-0.2.10[introspection] + gtk? ( + x11-libs/gtk+:3[introspection] + gnome-base/dconf + >=net-libs/gtk-vnc-0.3.8[gtk3,introspection,python,${PYTHON_USEDEP}] + net-misc/spice-gtk[usbredir,gtk3,introspection,python,sasl?,${PYTHON_USEDEP}] + net-misc/x11-ssh-askpass + x11-libs/vte:2.90[introspection] + gnome-keyring? ( dev-python/gnome-keyring-python ) + policykit? ( sys-auth/polkit[introspection] ) + x11-themes/gnome-icon-theme + )" +DEPEND="${RDEPEND} + dev-lang/perl + dev-util/intltool" + +DOCS=( README NEWS ) + +src_prepare() { + distutils-r1_src_prepare + + local lang + for lang in ${VM_LINGUAS[@]}; do + use linguas_${lang} || rm -v "po/${lang}.po" || die + done +} + +distutils-r1_python_compile() { + local defgraphics= + + esetup.py configure \ + --qemu-user=qemu \ + --default-graphics=spice +} + +src_install() { + local mydistutilsargs=( --no-update-icon-cache --no-compile-schemas ) + + distutils-r1_src_install + + python_fix_shebang \ + "${ED}"/usr/share/virt-manager/virt-{clone,convert,install,manager} +} + +pkg_preinst() { + if use gtk; then + gnome2_pkg_preinst + + cd "${ED}" + export GNOME2_ECLASS_ICONS=$(find 'usr/share/virt-manager/icons' -maxdepth 1 -mindepth 1 -type d 2> /dev/null) + else + rm -rf "${ED}/usr/share/virt-manager/virtManager" + rm -f "${ED}/usr/share/virt-manager/virt-manager" + rm -rf "${ED}/usr/share/virt-manager/ui/" + rm -rf "${ED}/usr/share/virt-manager/icons/" + rm -rf "${ED}/usr/share/man/man1/virt-manager.1*" + rm -rf "${ED}/usr/share/icons/" + rm -rf "${ED}/usr/share/applications/virt-manager.desktop" + rm -rf "${ED}/usr/bin/virt-manager" + fi +} + +pkg_postinst() { + use gtk && gnome2_pkg_postinst +} diff --git a/app-emulation/virt-manager/virt-manager-1.3.2.ebuild b/app-emulation/virt-manager/virt-manager-1.3.2.ebuild new file mode 100644 index 0000000000..dced9d8224 --- /dev/null +++ b/app-emulation/virt-manager/virt-manager-1.3.2.ebuild @@ -0,0 +1,105 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) +DISTUTILS_SINGLE_IMPL=1 + +inherit gnome2 distutils-r1 + +DESCRIPTION="A graphical tool for administering virtual machines" +HOMEPAGE="http://virt-manager.org" + +if [[ ${PV} = *9999* ]]; then + inherit git-2 + SRC_URI="" + KEYWORDS="" + EGIT_REPO_URI="https://github.com/virt-manager/virt-manager.git" +else + SRC_URI="http://virt-manager.org/download/sources/${PN}/${P}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +VM_LINGUAS=( as bg bn_IN bs ca cmn cs da de en_GB es fi fr gu hi hr hu is + it ja kn ko ml mr ms nb nl or pa pl pt pt_BR ro ru sk sr sr@latin sv ta te + tr uk vi zh_CN zh_TW ) + +LICENSE="GPL-2" +SLOT="0" +IUSE="gnome-keyring gtk policykit sasl ${VM_LINGUAS[@]/#/linguas_}" + +RDEPEND="!app-emulation/virtinst + dev-python/libvirt-python[${PYTHON_USEDEP}] + >=app-emulation/libvirt-glib-0.0.9[introspection,python,${PYTHON_USEDEP}] + ${PYTHON_DEPS} + dev-libs/libxml2[python,${PYTHON_USEDEP}] + dev-python/ipaddr[${PYTHON_USEDEP}] + dev-python/pygobject:3[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + >=sys-libs/libosinfo-0.2.10[introspection] + gtk? ( + x11-libs/gtk+:3[introspection] + gnome-base/dconf + >=net-libs/gtk-vnc-0.3.8[gtk3,introspection,python,${PYTHON_USEDEP}] + net-misc/spice-gtk[usbredir,gtk3,introspection,python,sasl?,${PYTHON_USEDEP}] + net-misc/x11-ssh-askpass + || ( x11-libs/vte:2.91[introspection] x11-libs/vte:2.90[introspection] ) + gnome-keyring? ( dev-python/gnome-keyring-python ) + policykit? ( sys-auth/polkit[introspection] ) + x11-themes/gnome-icon-theme + )" +DEPEND="${RDEPEND} + dev-lang/perl + dev-util/intltool" + +DOCS=( README NEWS ) + +src_prepare() { + distutils-r1_src_prepare + + local lang + for lang in ${VM_LINGUAS[@]}; do + use linguas_${lang} || rm -v "po/${lang}.po" || die + done +} + +distutils-r1_python_compile() { + local defgraphics= + + esetup.py configure \ + --qemu-user=qemu \ + --default-graphics=spice +} + +src_install() { + local mydistutilsargs=( --no-update-icon-cache --no-compile-schemas ) + + distutils-r1_src_install + + python_fix_shebang \ + "${ED}"/usr/share/virt-manager/virt-{clone,convert,install,manager} +} + +pkg_preinst() { + if use gtk; then + gnome2_pkg_preinst + + cd "${ED}" + export GNOME2_ECLASS_ICONS=$(find 'usr/share/virt-manager/icons' -maxdepth 1 -mindepth 1 -type d 2> /dev/null) + else + rm -rf "${ED}/usr/share/virt-manager/virtManager" + rm -f "${ED}/usr/share/virt-manager/virt-manager" + rm -rf "${ED}/usr/share/virt-manager/ui/" + rm -rf "${ED}/usr/share/virt-manager/icons/" + rm -rf "${ED}/usr/share/man/man1/virt-manager.1*" + rm -rf "${ED}/usr/share/icons/" + rm -rf "${ED}/usr/share/applications/virt-manager.desktop" + rm -rf "${ED}/usr/bin/virt-manager" + fi +} + +pkg_postinst() { + use gtk && gnome2_pkg_postinst +} diff --git a/app-emulation/virt-manager/virt-manager-9999.ebuild b/app-emulation/virt-manager/virt-manager-9999.ebuild index 87e7fde7cb..9a6fb846d3 100644 --- a/app-emulation/virt-manager/virt-manager-9999.ebuild +++ b/app-emulation/virt-manager/virt-manager-9999.ebuild @@ -22,9 +22,13 @@ else KEYWORDS="~amd64 ~x86" fi +VM_LINGUAS=( as bg bn_IN bs ca cmn cs da de en_GB es fi fr gu hi hr hu is + it ja kn ko ml mr ms nb nl or pa pl pt pt_BR ro ru sk sr sr@latin sv ta te + tr uk vi zh_CN zh_TW ) + LICENSE="GPL-2" SLOT="0" -IUSE="gnome-keyring gtk policykit sasl" +IUSE="gnome-keyring gtk policykit sasl ${VM_LINGUAS[@]/#/linguas_}" RDEPEND="!app-emulation/virtinst dev-python/libvirt-python[${PYTHON_USEDEP}] @@ -38,7 +42,7 @@ RDEPEND="!app-emulation/virtinst gtk? ( x11-libs/gtk+:3[introspection] gnome-base/dconf - >=net-libs/gtk-vnc-0.3.8[gtk3,introspection] + >=net-libs/gtk-vnc-0.3.8[gtk3,introspection,python,${PYTHON_USEDEP}] net-misc/spice-gtk[usbredir,gtk3,introspection,python,sasl?,${PYTHON_USEDEP}] net-misc/x11-ssh-askpass x11-libs/vte:2.90[introspection] @@ -54,6 +58,11 @@ DOCS=( README NEWS ) src_prepare() { distutils-r1_src_prepare + + local lang + for lang in ${VM_LINGUAS[@]}; do + use linguas_${lang} || rm -v "po/${lang}.po" || die + done } distutils-r1_python_compile() { @@ -64,10 +73,13 @@ distutils-r1_python_compile() { --default-graphics=spice } -python_install_all() { - distutils-r1_python_install_all +src_install() { + local mydistutilsargs=( --no-update-icon-cache --no-compile-schemas ) + + distutils-r1_src_install + python_fix_shebang \ - "${ED}"/usr/share/virt-manager/virt-{clone,convert,image,install,manager} + "${ED}"/usr/share/virt-manager/virt-{clone,convert,install,manager} } pkg_preinst() { diff --git a/app-emulation/virt-viewer/Manifest b/app-emulation/virt-viewer/Manifest index 307c60892f..85a94395de 100644 --- a/app-emulation/virt-viewer/Manifest +++ b/app-emulation/virt-viewer/Manifest @@ -1,2 +1,3 @@ -DIST virt-viewer-0.5.6.tar.gz 664421 SHA256 b397e9da15c454e8b53765cef65cdbf1b9939d4f9976965b7942ae9a9aa45857 SHA512 a4a7aa4dfe7fa9d5ae8e907831b27ad04b6337c6feaf5c5d2635ea308fa8eef8f9b138fd37ef2a574cd4b65b2f45cba5103003ee17db6430985edb8817323668 WHIRLPOOL 8843416e3b2f75e2e258f6e641b262cfd60b6e126565d6408af0ad3fc93351cd5ef1ed2eea87f2dfed4b0849ecd9ab92ec0863e81157e0e16f5adc2bf2e122df DIST virt-viewer-2.0.tar.gz 771874 SHA256 e9c583bcb5acdabac6a8a13eff6ce4e093a3050645771628f832e15ce685d437 SHA512 271ded11e4af3f1dd208c7b8ab7d1c0cd24f641a79e05178d0762a03de3dcf99ae7432acde2b67460e7a98d1fa562587b6b08cf06ab3cf80f025a7b259e8203e WHIRLPOOL aba5eabc490c5b998dfb4b1f5bbac6ae43affc782ccf19072e3a23333607256ce65328e80d46673ab6c25e38ba1bcd8410c270e213d0e28534fd141fd7d90ed3 +DIST virt-viewer-3.0.tar.gz 832490 SHA256 6331fd64ef9e999e0943844ddc0f89d35bd91bcc9c8e919f7274500930e97144 SHA512 8a7ca7ef6315d63e15b5ed5232d82c1ce119468e7e0b098a4c2aaf7ef8b85b02070183275523f944ee8aa93e0d2feafa863f632eadc78d15bd4dfa81f0b2abd3 WHIRLPOOL d3fe3d9aea3c35e8554d0fe6bdecad47231f476d40e11f6303e54d8476aba524a9a6ce0edadb3302b903e5d7aec5ac5caaf28c376f7ffddc33ace23ee9dbcc48 +DIST virt-viewer-3.1.tar.gz 835147 SHA256 be4e49470b650fc22513c2c01f2e13e30ee2d494d0d7b319b6f414ca781078c7 SHA512 72deb289c32a315fc4e1d73148d0b0a366cf929ff9fb389b62d750d317d02a43e2bf3bc170f43d9f37a184d8c7754b3e282de404fbcfa59ff278a87e4aa0acaf WHIRLPOOL 90f47dfc79f1529272fae8fbaf7553c369a9c2161b63071037fcb5279050a5ff9391800922e2a43f5c37e133b13f6736b59f3574531e22ce7dd27d2de9c714cf diff --git a/app-emulation/virt-viewer/files/virt-viewer-0.6.0-fix-c99-compat.patch b/app-emulation/virt-viewer/files/virt-viewer-0.6.0-fix-c99-compat.patch deleted file mode 100644 index b6768381ad..0000000000 --- a/app-emulation/virt-viewer/files/virt-viewer-0.6.0-fix-c99-compat.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff --git a/src/virt-viewer-session.c b/src/virt-viewer-session.c -index 20d5fb1..b600481 100644 ---- a/src/virt-viewer-session.c -+++ b/src/virt-viewer-session.c -@@ -395,13 +395,14 @@ virt_viewer_session_on_monitor_geometry_changed(VirtViewerSession* self, - gboolean all_fullscreen = TRUE; - guint nmonitors = 0; - GdkRectangle *monitors = NULL; -+ GList *l; - - klass = VIRT_VIEWER_SESSION_GET_CLASS(self); - if (!klass->apply_monitor_geometry) - return; - - /* find highest monitor ID so we can create the sparse array */ -- for (GList *l = self->priv->displays; l; l = l->next) { -+ for (l = self->priv->displays; l; l = l->next) { - VirtViewerDisplay *d = VIRT_VIEWER_DISPLAY(l->data); - guint nth = 0; - g_object_get(d, "nth-display", &nth, NULL); -@@ -410,7 +411,7 @@ virt_viewer_session_on_monitor_geometry_changed(VirtViewerSession* self, - } - - monitors = g_new0(GdkRectangle, nmonitors); -- for (GList *l = self->priv->displays; l; l = l->next) { -+ for (l = self->priv->displays; l; l = l->next) { - VirtViewerDisplay *d = VIRT_VIEWER_DISPLAY(l->data); - guint nth = 0; - GdkRectangle *rect = NULL; diff --git a/app-emulation/virt-viewer/metadata.xml b/app-emulation/virt-viewer/metadata.xml index cdeb87ceef..62904a2c95 100644 --- a/app-emulation/virt-viewer/metadata.xml +++ b/app-emulation/virt-viewer/metadata.xml @@ -1,7 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <herd>virtualization</herd> + <maintainer type="project"> + <email>virtualization@gentoo.org</email> + <name>Gentoo Virtualization Project</name> + </maintainer> <use> <flag name="spice">Support connecting to SPICE-enabled virtual machines.</flag> @@ -9,4 +12,3 @@ machines.</flag> </use> </pkgmetadata> - diff --git a/app-emulation/virt-viewer/virt-viewer-0.5.6.ebuild b/app-emulation/virt-viewer/virt-viewer-3.0.ebuild index 9cb96ba2ad..0e7c8b5778 100644 --- a/app-emulation/virt-viewer/virt-viewer-0.5.6.ebuild +++ b/app-emulation/virt-viewer/virt-viewer-3.0.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2013 Gentoo Foundation +# Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ EAPI=5 -inherit eutils gnome2 toolchain-funcs +inherit eutils gnome2 fdo-mime DESCRIPTION="Graphical console client for connecting to virtual machines" HOMEPAGE="http://virt-manager.org/" @@ -11,25 +11,25 @@ SRC_URI="http://virt-manager.org/download/sources/${PN}/${P}.tar.gz" LICENSE="GPL-2" SLOT="0" -KEYWORDS="amd64 x86" +KEYWORDS="~amd64 ~x86" IUSE="sasl +spice +vnc" RDEPEND=">=app-emulation/libvirt-0.10.0[sasl?] >=dev-libs/libxml2-2.6 x11-libs/gtk+:3 - spice? ( >=net-misc/spice-gtk-0.18[sasl?,gtk3] ) + spice? ( >=net-misc/spice-gtk-0.30[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.10.1 )" + spice? ( >=app-emulation/spice-protocol-0.12.10 )" REQUIRED_USE="|| ( spice vnc )" pkg_setup() { G2CONF="$(use_with vnc gtk-vnc) $(use_with spice spice-gtk)" - G2CONF="${G2CONF} --with-gtk=3.0" + G2CONF="${G2CONF} --with-gtk=3.0 --without-ovirt --disable-update-mimedb" } src_prepare() { @@ -43,3 +43,7 @@ src_test() { src_install() { default } + +pkg_postinst() { + fdo-mime_mime_database_update +} diff --git a/app-emulation/virt-viewer/virt-viewer-3.1.ebuild b/app-emulation/virt-viewer/virt-viewer-3.1.ebuild new file mode 100644 index 0000000000..2aae4d7c57 --- /dev/null +++ b/app-emulation/virt-viewer/virt-viewer-3.1.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +inherit eutils gnome2 fdo-mime + +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?] + >=dev-libs/libxml2-2.6 + x11-libs/gtk+:3 + spice? ( >=net-misc/spice-gtk-0.30[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 )" + +pkg_setup() { + G2CONF="$(use_with vnc gtk-vnc) $(use_with spice spice-gtk)" + G2CONF="${G2CONF} --with-gtk=3.0 --without-ovirt --disable-update-mimedb" +} + +src_prepare() { + epatch_user +} + +src_test() { + default +} + +src_install() { + default +} + +pkg_postinst() { + fdo-mime_mime_database_update +} diff --git a/app-emulation/virt-what/metadata.xml b/app-emulation/virt-what/metadata.xml index 0bc914a7f9..5d38a8b1ce 100644 --- a/app-emulation/virt-what/metadata.xml +++ b/app-emulation/virt-what/metadata.xml @@ -1,12 +1,11 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer> + <maintainer type="person"> <email>cardoe@gentoo.org</email> <name>Doug Goldstein</name> </maintainer> <use> - <flag name='dmi'>Use <pkg>sys-apps/dmidecode</pkg> to read firmware data</flag> + <flag name="dmi">Use <pkg>sys-apps/dmidecode</pkg> to read firmware data</flag> </use> </pkgmetadata> - diff --git a/app-emulation/virtualbox-additions/Manifest b/app-emulation/virtualbox-additions/Manifest index 685e5fe987..2bbb6f9b0a 100644 --- a/app-emulation/virtualbox-additions/Manifest +++ b/app-emulation/virtualbox-additions/Manifest @@ -1,5 +1,5 @@ DIST VBoxGuestAdditions_4.3.28.iso 58241024 SHA256 9f52e186d6c9407b2676d4b2ed1cdf96940ec129cc2bd92e54b24526271a9733 SHA512 78055f389dc1a7bd62577f1fa670b8f8899ab3a58a87953d30fcaea1cd0c77f8662e15fea932c434309747971a2a61b61854b6f087654d9d2fb2de07fb6f1b5c WHIRLPOOL 64275e44c01f4f260899a7c16aaeb494ebe81277e7cbdec87e487736833cc239338f3c32c00759244b3be55c5754788593b81d06dab7d9ab26991369fa9d65fd DIST VBoxGuestAdditions_4.3.32.iso 58349568 SHA256 187f49b567dea056d9de255c155f8eaa3449dffe08ccf22ae8ab1dda708f78fe SHA512 3938ade4fd030f2471b34b11296af3874c3936659c635a9d7e222697f2dc72c65fc4f73f42800def8a8bcc518951bb9a3504156811af18e00722a6f61c03b6a4 WHIRLPOOL 8e5f25709ea1b74f94f303f29ef7d1601f29681515981b2f16fddd4af4c9bec842101bfab7626112777284c3f243f8e4a66a23d09a23af353e4f1e0645043618 DIST VBoxGuestAdditions_4.3.34.iso 58361856 SHA256 a6f20f5b8ec11ae127ae48bcb19c20de488d38dbf807a8608a6468da7353a9a8 SHA512 b243558b510548518e1ed863bc4a5d8c849573f7664ce6c398766a10fe9cb5aa0f34e8ff4f9ac948e06929033800e8e2fa3583fcb92ecd44fb0cd755521be236 WHIRLPOOL 29019b8e14a9a28622b7c07c7049153aab7b846aa58713e7537d66addebe5a6627dcedbcd36944bc1a2ebe382f2f3acc3f793e2c2cee9bab9805f931e88b870e -DIST VBoxGuestAdditions_5.0.10.iso 59002880 SHA256 8f7ffee3fac75793e48d1859b65a95879b3ed5bc1c3164c967e85d69244c594b SHA512 95080cc991f99d11aea771088b980faa42c9f0d33ee31afc53de758d49cb62db0275bd5907ff2bf29382194e6227e965986ccdbec7bf50e254e178689e291b65 WHIRLPOOL 24a2c79f3868d14da387c4f282af848411d0a78a8c4431b72f64474cc05ca2bb24aef923e3e1d9e0f1ae17cc342aa821c2ad782d8af233f3c09c4b26afb4c7f9 -DIST VBoxGuestAdditions_5.0.8.iso 58992640 SHA256 a6ab45a043e460c87f145ec626c1cc2a1ae74222f15aa725004cdc84bf48e9f3 SHA512 8a808b964b916930748cdde96cbf0b3657506758155336b5d7a294cde28129cff50ec5e88fdd5e0c3bad8a5df99e8244c08677811aa4e3982f4255273d66820a WHIRLPOOL a2fe1cb6c334f44a4dd962a0479b1a2956ebd9a9d5aee9c6a3a2203c22a1f764aa1829f1a813d14f60cfdebef27ddb59c554a0db50b18641df2da6a1d67d20c5 +DIST VBoxGuestAdditions_5.0.12.iso 58990592 SHA256 61a19c9ec4b449cbc6bb41b636b03a16bf5a47ffa4943423d262863017e8bc9b SHA512 9232752f1d71fde887755e917b9e146d53fabe3cc2736e96216a04b1a3faf692d00da47458f7c700587d424b5817debb56c375c068e3e5baa925b7f6732d0ab4 WHIRLPOOL a87eb9877c0a4d7c432d32c3d4ec408d1167d152a09feaf037bc37dc8c31be0287af93e2c6eb73d01cdda859430f7517e1a1a2aabaf92301aabb9d5a81ff8955 +DIST VBoxGuestAdditions_5.0.14.iso 59015168 SHA256 cec0df18671adfe62a34d3810543f76f76206b212b2b61791fe026214c77507c SHA512 4c4acf385260faa1339c27989ec712b4d0ecc2f873e8e3868d3aa79a34cb7b9d315ffeb7a3390afff26fbf4116f51251a8d4c55182d92c0fab72d5e86bf7136b WHIRLPOOL 3268930d2e3a2d341d578b6f8b9c9995bdc0adda953c6c94b90848bcfc3fc86ac84780ab246dcc3e8d8c0619e32fd23f96fced2d5a3ce38a67d4fc203b508da0 diff --git a/app-emulation/virtualbox-additions/metadata.xml b/app-emulation/virtualbox-additions/metadata.xml index cefd27ea32..ff95e9c2ad 100644 --- a/app-emulation/virtualbox-additions/metadata.xml +++ b/app-emulation/virtualbox-additions/metadata.xml @@ -1,11 +1,11 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer> + <maintainer type="person"> <email>polynomial-c@gentoo.org</email> <name>Lars Wendler</name> </maintainer> - <maintainer> + <maintainer type="person"> <email>patrick@gentoo.org</email> <name>Patrick Lauer</name> </maintainer> diff --git a/app-emulation/virtualbox-additions/virtualbox-additions-5.0.10.ebuild b/app-emulation/virtualbox-additions/virtualbox-additions-5.0.12.ebuild index e46434cb51..e46434cb51 100644 --- a/app-emulation/virtualbox-additions/virtualbox-additions-5.0.10.ebuild +++ b/app-emulation/virtualbox-additions/virtualbox-additions-5.0.12.ebuild diff --git a/app-emulation/virtualbox-additions/virtualbox-additions-5.0.8.ebuild b/app-emulation/virtualbox-additions/virtualbox-additions-5.0.14.ebuild index e46434cb51..45e9b02a61 100644 --- a/app-emulation/virtualbox-additions/virtualbox-additions-5.0.8.ebuild +++ b/app-emulation/virtualbox-additions/virtualbox-additions-5.0.14.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ diff --git a/app-emulation/virtualbox-bin/Manifest b/app-emulation/virtualbox-bin/Manifest index 4df303773b..a980caf935 100644 --- a/app-emulation/virtualbox-bin/Manifest +++ b/app-emulation/virtualbox-bin/Manifest @@ -1,20 +1,20 @@ DIST Oracle_VM_VirtualBox_Extension_Pack-4.3.28-100309.tar.gz 15961939 SHA256 72e101d9dc5eabeb76d1ab5bd6d2f817a11c89adfe8bb72cc5d614a2eef532d1 SHA512 57ad44a99a7abcad195e6ceccc1fe7b494979da65601a52e0be8336bb819812d5cef48a8bc0fe9f74f3a05238e6fd29562ac678d4ef7e0c78587fe81c287a65e WHIRLPOOL fb08189c53841664119bffb4de6a76d6f72fb035f887ed5e948f38faa5be2891e35de0806da02d299e818370285bcddba06eb84bea7db4d3cfa09d92f8042db7 DIST Oracle_VM_VirtualBox_Extension_Pack-4.3.32-103443.tar.gz 15994576 SHA256 3f041c019985c35974bf034a9f7d941149fcc3e23a6200b47579140405af5f88 SHA512 212c21f6fc0af093e2d409827348d776377164b9c78b6c01dc710d4a63f53fa7ef52a66491d81b96dc64af4747d79ca0d0df55b052cf6b1c8ceb239c32dc1c75 WHIRLPOOL d67b55c409c6e06080010a25a4a64e660dcd0efaadffe2311166bed06c3f494a5f20cff131a42e07e82aba3cab7f53dea101fb3e5fabeecc2bdb0dd4a167c0ce DIST Oracle_VM_VirtualBox_Extension_Pack-4.3.34-104062.tar.gz 15994268 SHA256 b9c03b6db79de16f70134884c18cb4854a8c24cb36f90e3a9d2b93eb09fb6b37 SHA512 39b06eb26fcc01dc70de0a9d099a8919c53f72d9a74133d803bb5d10ea06cd390a6dd3853a024b311695c57805d6e2b664ec667fa0d882142f4a33fdfb01b642 WHIRLPOOL 1a3e98def84beeb73a8cc531bc1bfb98cdb3a3c02373aff910c89b023c85d22eb46d349a2c6ca19f37032113bad2dbc7f61b0960f7af3b2ca4d4c63a301a27f7 -DIST Oracle_VM_VirtualBox_Extension_Pack-5.0.10-104061.tar.gz 16918255 SHA256 c846fa26fec8587e57180c85c408cad377c48ad26830b0dc839ebf9025e3d29c SHA512 ae6bab29c14b1ace849ebf5715360fc0921950c62345e18709347f44c07f88727bf1785d53437e39d67f8c56d92cef1f6e3d03c3f7d6dd76c6d4d9ee7f1f1d5b WHIRLPOOL 822c3c9b20f9171b3e9d1896c2ff648ead049d63e45b8353da5d37e7f874433878fedcfb2f10ae5f50e4860466560a37b6102e8ffb3e9625106ce5188f491726 -DIST Oracle_VM_VirtualBox_Extension_Pack-5.0.8-103449.tar.gz 16880584 SHA256 febd2c99909cb932a98c2b9f73ce8eb03fc183c8c8f2fc874985cf3d598f6b94 SHA512 6a29aa1c52b460bded6e342cc66bb28d93f7f4c71eb108854dd2ba6934ae399e6ee7bd8acd29dda934f2933eb05b2e3878568fee76e5eb55ae43a695123568df WHIRLPOOL d6865e702c787c441da30a49e5aaff818a7530f2a82313c326a509cb3bb98f7cf22d511e3265b99a14402b2b9a7c4614d40ed570e6a6ba5522f4752248e2f338 +DIST Oracle_VM_VirtualBox_Extension_Pack-5.0.12-104815.tar.gz 16937595 SHA256 ac1bc8452b7fdf183325272149e9f18b9810cc07adf18e48755385a9cd1b236d SHA512 4a21cd155d1e60d3b6a4f4864cd8ca8ccd75f02448e832d72b42284dde5aa3c4aeba7f7297e3e7e198e4b4c665d770ac65c1aeca3df1dfa6a8454c47553baad7 WHIRLPOOL bcf032d0e72b57be37fdfd40d3c2f418eab10e04bfcbf1b99374b1fa9d2b5ced38c5cfc560b1c13492144a32a3c035b72649d9ae57851f6d430a4e59897cebe2 +DIST Oracle_VM_VirtualBox_Extension_Pack-5.0.14-105127.tar.gz 16939032 SHA256 4a404b0d09dfd3952107e314ab63262293b2fb0a4dc6837b57fb7274bd016865 SHA512 b71cd8562d8bcd10a051d9b3c69183aa17d42b0866fc597b8412c28d5690d3369f9b4bcfae98c609df7ad19f84dcebe6057e6b9b0a44b650acdb573b7ce3b4f0 WHIRLPOOL abd49e5ec7dce4aeb74998b8e1e6d6174ba47808ac4d041a51b237cf32ec595b0c1d95bd992bd1a4f186bdf6722263898f9b99cb00ca21ba7f84695b4d3e4010 DIST VirtualBox-4.3.28-100309-Linux_amd64.run 85677523 SHA256 8c862533f876dc32fbfae993597b1123e2feac81a302c60e73b7ee891e17a77f SHA512 75dc2cd257b187b0a497b87c2f1e576a57ceece290327a98804c903810522444b0a64a704bc51a25945dbaa5c0caf30898ba258829577e2f17f7c736fcf59bb0 WHIRLPOOL c8d5d885807ad633bf1c4c6f98cac8dddf4002dc2e21ed2d2fb2f0a859f447b7ce06d1c49c4daff4147b25ca4992da14b6b75b39f47075c861732e6ef00091d1 DIST VirtualBox-4.3.28-100309-Linux_x86.run 85083598 SHA256 aeb224d7136314865db8175db665408a3dc08f50ed68fbd4bf1568b32b7ea2f6 SHA512 110e20a45657c7677fcab0158d31052c909893b8f618adad2a2c95ad119d47d7c35d4aedf3692dd650fda62ba0747acf202364c14034e5c10d17cd45a9918707 WHIRLPOOL 35c97248985d11c77194ac03448357331e08b7ef64a77ba416564b6051eaf74ffb5a0acdf835bfcf71657c5fdd58066947b0ba1c42e91d34dbf026434f662f67 DIST VirtualBox-4.3.32-103443-Linux_amd64.run 81100243 SHA256 e99dbf0e382081fa78cbc5803b473e2fe4bc945eb50cf0b5717853f4cdb34da3 SHA512 c68cf69de524ec0229d07943087bc433b0902710f48ddd67106f0f10500d38d38a0e3ff97e40bc81495f12f2bcd68ee0f3d19fda46c999960fd1b3f64bf220f3 WHIRLPOOL 15aa5ce0b49ac7c75fc6191e4a0283a721db247a667f63b94f04dbf1f00122958c8945181f4ec5791b1a6ba6425f98a3bf92f80eebf29b831260cc8274cf1cd7 DIST VirtualBox-4.3.32-103443-Linux_x86.run 80496078 SHA256 89e3493052b43574454c1f6bed2a1ddf3504dbcf5096cb2f541b242dd6636cfc SHA512 66455075385879364afe7c77051d7b7873dff543647bbbdcdb9e0e63ef9fa2c49a11a45ac3c2cb96cbb59fe75e5e502c3d4cd99ac1ba8c580e65ae3e3da5c427 WHIRLPOOL bdbd2b62fc8bf83604ffa217f5e592ff48058a6f6c10e0fb07e214847d6cc915f858fef03b6c196625339f3d31f2ce6c4614b9ae206eacfb35957253893bea06 DIST VirtualBox-4.3.34-104062-Linux_amd64.run 81212882 SHA256 4deaf99020c73b0a4911434579afb3659e87bfdc2d44bdc50d64902eead35706 SHA512 83b2da49ed126353532b6414a33fcbec0e260aae8bdd8a1205e63d1c5d8ea42722706e934fcc8e97e416913a8c6ad48d3166c2b1af5365ea2b5992f2f0457c09 WHIRLPOOL 3f09680e4b09d2aaf5691a24969b0372f8b7b8b25ccbb1ae02f35e21bbcffaf341f861785b92739783d926da6c20aae8fbc218610a803e57b5cafaee04f3595e DIST VirtualBox-4.3.34-104062-Linux_x86.run 80567757 SHA256 c113c44582898436cec4374b0c1dd2e150227add4507a836664a5717e2bf8655 SHA512 cd47ee3fafaea2f43cfd01db29d380f9dde883039ad07ed9bc79a0b4884bfb0c9e1c97a9750642e73b6969af501cc34b59929b6ee6ac28e60d95ab2fdf41d24e WHIRLPOOL 5047c599b3a7f091f012a68889792d37e5463213ee5be151f1e2665c38f991aadf1bcf85df2495d9bf3e62e35f3e2627c103a0d293119d9550beed8d20b4dffb -DIST VirtualBox-5.0.10-104061-Linux_amd64.run 84448721 SHA256 77c3500f460f24850c796fbef84d7ecd7cf05b5a34256e712172e6f159f119e9 SHA512 431edd417f7e7931dfa4314ef095aedc3eb489349d16a13cb8bae1c9fbf6b19aed00e845b9389ff1805959649b8cabb6b8e38c36cb7b65f8450d403f68b6d414 WHIRLPOOL 0d598ec0be6a8ea41c3908c47c072480bd37542a633493834367941c063734104d73f2cb2c8ceb2d34625d89249e18bc98383970f5647c69858b1caa0c7e9447 -DIST VirtualBox-5.0.10-104061-Linux_x86.run 83537357 SHA256 7860f1a07f2535873ccfe2a46f63d71fa8ee491e7f194e577001d2f27ba4f7c3 SHA512 657071112ce8b54335d1ff67feab8785c13e5e09370763472d8f99970bef41aa4da3a4db158d5f778e8a39af05464538047c71742156a5749c2858cf7d6a04aa WHIRLPOOL 78718e91978e13eacbc4ac9b035b07043effb5785ffec3475f710e775b94736df98c4b45a6fdcd93733e418fc62a91992cf761c41b98e7288ec4714599669aab -DIST VirtualBox-5.0.8-103449-Linux_amd64.run 84540882 SHA256 91bea0393f0b0afdc139660f23d77512723d367446d482545ded2eeeaba851d0 SHA512 5ab4d98070ba062cdacd88f60454333bdfa416fe0065978d3358fe1aaa7bb839f4a940630e9bb2f0e114879f2a839e3e1daf6d5000d11094c56951decda5babf WHIRLPOOL 915e6c7f30012087d9e37283fe3f073b9119aaadfb8a996899d9201003a8b30a490a5ecd9c61e3c919e957cda5ba9483df15d59d7ea2a13b600818ec9cc5f9d4 -DIST VirtualBox-5.0.8-103449-Linux_x86.run 83752397 SHA256 3b18e5bb5cde12d4d91add03c500862292cf44a4d4e9831ab8668312644562f8 SHA512 d4b7d602ebfc93df92f6dd4b3e050ab765c2f0caf7bbf0b85e674f8a349f9fe6c878777e85fffb3b74888252dd94c7c3d0447e6463ac2d6d39af3a20a67f7397 WHIRLPOOL 94cdd4d5f1b4504ab681aa511cbb2befcf1cebbd61b9eeec694b4758d887769b458daa20afc68a5fbadabbe97627e7c81718f17f5902f5de3e80ce6b59d3fb25 +DIST VirtualBox-5.0.12-104815-Linux_amd64.run 84592081 SHA256 5f182a1c98f72888c973d9ebb8429835fef8c48e9bd2ed436dd7cbeebe0e0f02 SHA512 6a14d92794bab5fdf7b79e48b02afe91863d693aa5d94f15e5d69ac377c1597fe3b6e0e390cf5ae5b0de77f85f52aa07b776bb50f3ed4a89e504b38d28da0411 WHIRLPOOL 6c9531c6833bad16486300c04635e454e96ff15c1dfaed1f85602eadd21a269e2ede3499dfd2a0641527cf49276e7f1ccfa80578e3f296f03d86d5c3b1725e77 +DIST VirtualBox-5.0.12-104815-Linux_x86.run 83752398 SHA256 a428cc9e260ec6c730fe4efdd99ac4fb14d1523d57dc97f8e38f3dd6bbdb073e SHA512 4a89eaa5a269ac6624d7c9bc0d3937d77cfb0d024629850e9e3b9bb616282e8cf252aa23acc69008d9380cfbd20f99c0cd7f5e74f6edd1912094cf037ee51e71 WHIRLPOOL e016412b5ff2bf256a4a4e5d37b2ea73f12f55e0d3f10d17c090185a6dbfee1b1de474e99739de72dbbd898151db6ee51470e71453b4fedf98918e195e98ae90 +DIST VirtualBox-5.0.14-105127-Linux_amd64.run 84714962 SHA256 1c05ca5038dd299f28a6e5e253ddc01adb029a2ae2cac40c5d7affc8b2541945 SHA512 f5002a642eef08912172c52f5ff58febfcb62320b0920c8e2da93578cda51514a72094ef60fac41b57003236236f2b89fbccfa828741de5fa0b39d0d72a4019e WHIRLPOOL 688cfc2fa4e4ed67caeba3aeef74ef638b8c67edb16137fc0c02192def4f5fbd78d6ba035938d3f58a21016f9f9cc33c317c1b442552c77eb40556731063b45f +DIST VirtualBox-5.0.14-105127-Linux_x86.run 83865038 SHA256 0014c6557a8c5b67b3d71a237f9abbd33ec809a8e9d8ad221397eb6fa812a171 SHA512 7f17957bfa46a0bc3cec9974d2b1c979ed6f1cd1ec6a5c35c0bb73460c3ed59d4da0081089b373375f828731ee893f06100faee1291f25b403011eaf96a6b231 WHIRLPOOL db2fed44be4c0a59478ad9e7995a92758e589a71307be26276fb01502b1f20bd99c58205d34a7e13651dddbd4ce26dcf05476bed34b80ce5700d7695f851386f DIST VirtualBoxSDK-4.3.28-100309.zip 11698378 SHA256 fe0cc316cecb3dfe9bbb925e6c023620d4cfd8e137b2a9b9f40f22f527af16fa SHA512 6af7d2107cff080281a356cbf522961b2e9d1917e861e410b169ce5ca3cefe05cc87e4e01f78ae171f8716f7006c031f14fc01d8d282a872a4f619638049b11a WHIRLPOOL 23a77dbc410a28b2799264da88d79b2c4335c07da67dd8bf4be26cac271e3ed38a9bf4fb2966ec0a3c06fb869bb252f5fa6a34a9a9c62cbb9a2fb0ad76442f66 DIST VirtualBoxSDK-4.3.32-103443.zip 11435565 SHA256 84ff42f0e9d8f8945387247e7f57123d37cc2c53035ab1eca5414ca82102613a SHA512 914951d91adfa0d77e29863c7108d2e116a01562d0e0454b1203ae7d6e7e0a224f65a51cbf1e83b8067cb40da65708d2022ab5be35f2905a28f032653c827869 WHIRLPOOL 2e53a6f2d6e6e4f328139b03de8bf09b1a72ca3981addef7a2d02d8dbc02e8ea6c319b16facdcdb1be5d941d7d24b64598990112d3d52ca5e5c9b0a2c4d8e89e DIST VirtualBoxSDK-4.3.34-104062.zip 11436429 SHA256 5663713e2eb0eb248941e332f8bd06c2e98c3411f7ec354bbc32d5460c2044ad SHA512 cb3a85317370788ac8aa23d12110feb5a821c51acb27fc83ee8912cb3e38391897b9174eea54c88be139c0083f637bbf0146253d92fbdc83cf0a377b27bf68f7 WHIRLPOOL c885e99160e7fe94879692cbaae7532542b5af74c18f3f68b09d0c9a190cd009978ae24c7321e27828b247e48ddaaedf6e42cdc3d1b6d05a3651113c868f5f4e -DIST VirtualBoxSDK-5.0.10-104061.zip 9634423 SHA256 270b9e8eb29ca7490cabe94cb7992c1a91f3bb002d1698d64ab4c787e55e9d80 SHA512 69dbbd49b1bee9ccc23bc5e9b2fd001043687d3993d0ecc285158aeca1282cd18b8308aa340e2d7b18c9c170c55f229df7041408a1e9811d78ba890c0ebc4ed0 WHIRLPOOL 1ea777baff50ba59544e0dde00b9969477b229f6d9db705a5e64d035f9ca532dce3f453e0e59fe7a12976d431e9048d43a7c23f42bdbd58e25b1014e6366abfc -DIST VirtualBoxSDK-5.0.8-103449.zip 9635495 SHA256 c79826d184058701d0d2dbd345b7f188cee5dcac4297895f326cc18fc1253e92 SHA512 7161e8366cc9487bcadabc4a9ed9b27df6abdbc7d3fd82b9f824cc3a3054a6840526204b4e0366962a50d54f19f528f90efcb27cd2ddbf7b9e36d27ae7a573de WHIRLPOOL 933b70e5ebf33f3512e8f25312d27ebcbd3b272f9e07e41edad60f7e3fe6dc88f3b5a9d3b00c2e6d23d2ae8ec9c2d7e6f64680678a168e4d67f94bd9d8b15b65 +DIST VirtualBoxSDK-5.0.12-104815.zip 9632898 SHA256 2abc87108dfbca1e1818c7d420d2aa6cc382d7722f29edce2f7fa1c63772f0af SHA512 1acf69cfe33ecea59b8294f758150c8ed6d64d209c700e0555ef17abb4e66e81398ee1512406d14f5833d10d7a61f9446a020e68ed360a228946824f4bae9cee WHIRLPOOL ae2f33d10c13ab2927c5457bde024c10badf63b440820c25302cea216ca684eb28983c68f49de2c1fb0200cb48d6741c7270cb99a8075177ec60183c8b5777b2 +DIST VirtualBoxSDK-5.0.14-105127.zip 9637074 SHA256 83ef500188bd10e30d0f4c7d2265ddd00ff55dc5a38fb986a6e47c1b5ffcf2b0 SHA512 691833d07c62025bf03a96e998bcf04d2a411bb42ab9b100c9374e70b659abf3c55f8849dc09184fcaa1fb8674b00e1b7369bf1e02408adfb13f43ced80e9d21 WHIRLPOOL a4e6364602dcac32cc602ec46264261e80827b488b85f3e60999029e0c18760007eba65e3d0c3c35ec98f66b5877c5be4fd9f0b98f5f0e73ffe232ccf0500808 diff --git a/app-emulation/virtualbox-bin/metadata.xml b/app-emulation/virtualbox-bin/metadata.xml index 8ad5c4d1f4..606af8f29e 100644 --- a/app-emulation/virtualbox-bin/metadata.xml +++ b/app-emulation/virtualbox-bin/metadata.xml @@ -1,16 +1,16 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer> + <maintainer type="person"> <email>patrick@gentoo.org</email> <name>Patrick Lauer</name> </maintainer> <use> - <flag name='additions'>Install Guest System Tools ISO</flag> - <flag name='chm'>Install kchmviewer binary to enable online help (in MS CHM format)</flag> - <flag name='headless'>Install without any graphic frontend</flag> - <flag name='sdk'>Enable building of SDK</flag> - <flag name='vboxwebsrv'>Install the VirtualBox webservice</flag> - <flag name='rdesktop-vrdp'>Install the rdesktop client integration</flag> + <flag name="additions">Install Guest System Tools ISO</flag> + <flag name="chm">Install kchmviewer binary to enable online help (in MS CHM format)</flag> + <flag name="headless">Install without any graphic frontend</flag> + <flag name="sdk">Enable building of SDK</flag> + <flag name="vboxwebsrv">Install the VirtualBox webservice</flag> + <flag name="rdesktop-vrdp">Install the rdesktop client integration</flag> </use> </pkgmetadata> diff --git a/app-emulation/virtualbox-bin/virtualbox-bin-5.0.10.104061.ebuild b/app-emulation/virtualbox-bin/virtualbox-bin-5.0.12.104815.ebuild index be7050520b..be7050520b 100644 --- a/app-emulation/virtualbox-bin/virtualbox-bin-5.0.10.104061.ebuild +++ b/app-emulation/virtualbox-bin/virtualbox-bin-5.0.12.104815.ebuild diff --git a/app-emulation/virtualbox-bin/virtualbox-bin-5.0.8.103449.ebuild b/app-emulation/virtualbox-bin/virtualbox-bin-5.0.14.105127.ebuild index be7050520b..386cb6118f 100644 --- a/app-emulation/virtualbox-bin/virtualbox-bin-5.0.8.103449.ebuild +++ b/app-emulation/virtualbox-bin/virtualbox-bin-5.0.14.105127.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ diff --git a/app-emulation/virtualbox-extpack-oracle/Manifest b/app-emulation/virtualbox-extpack-oracle/Manifest index 7ce640622c..b9e517eca4 100644 --- a/app-emulation/virtualbox-extpack-oracle/Manifest +++ b/app-emulation/virtualbox-extpack-oracle/Manifest @@ -1,5 +1,5 @@ DIST Oracle_VM_VirtualBox_Extension_Pack-4.3.28-100309.tar.gz 15961939 SHA256 72e101d9dc5eabeb76d1ab5bd6d2f817a11c89adfe8bb72cc5d614a2eef532d1 SHA512 57ad44a99a7abcad195e6ceccc1fe7b494979da65601a52e0be8336bb819812d5cef48a8bc0fe9f74f3a05238e6fd29562ac678d4ef7e0c78587fe81c287a65e WHIRLPOOL fb08189c53841664119bffb4de6a76d6f72fb035f887ed5e948f38faa5be2891e35de0806da02d299e818370285bcddba06eb84bea7db4d3cfa09d92f8042db7 DIST Oracle_VM_VirtualBox_Extension_Pack-4.3.32-103443.tar.gz 15994576 SHA256 3f041c019985c35974bf034a9f7d941149fcc3e23a6200b47579140405af5f88 SHA512 212c21f6fc0af093e2d409827348d776377164b9c78b6c01dc710d4a63f53fa7ef52a66491d81b96dc64af4747d79ca0d0df55b052cf6b1c8ceb239c32dc1c75 WHIRLPOOL d67b55c409c6e06080010a25a4a64e660dcd0efaadffe2311166bed06c3f494a5f20cff131a42e07e82aba3cab7f53dea101fb3e5fabeecc2bdb0dd4a167c0ce DIST Oracle_VM_VirtualBox_Extension_Pack-4.3.34-104062.tar.gz 15994268 SHA256 b9c03b6db79de16f70134884c18cb4854a8c24cb36f90e3a9d2b93eb09fb6b37 SHA512 39b06eb26fcc01dc70de0a9d099a8919c53f72d9a74133d803bb5d10ea06cd390a6dd3853a024b311695c57805d6e2b664ec667fa0d882142f4a33fdfb01b642 WHIRLPOOL 1a3e98def84beeb73a8cc531bc1bfb98cdb3a3c02373aff910c89b023c85d22eb46d349a2c6ca19f37032113bad2dbc7f61b0960f7af3b2ca4d4c63a301a27f7 -DIST Oracle_VM_VirtualBox_Extension_Pack-5.0.10-104061.tar.gz 16918255 SHA256 c846fa26fec8587e57180c85c408cad377c48ad26830b0dc839ebf9025e3d29c SHA512 ae6bab29c14b1ace849ebf5715360fc0921950c62345e18709347f44c07f88727bf1785d53437e39d67f8c56d92cef1f6e3d03c3f7d6dd76c6d4d9ee7f1f1d5b WHIRLPOOL 822c3c9b20f9171b3e9d1896c2ff648ead049d63e45b8353da5d37e7f874433878fedcfb2f10ae5f50e4860466560a37b6102e8ffb3e9625106ce5188f491726 -DIST Oracle_VM_VirtualBox_Extension_Pack-5.0.8-103449.tar.gz 16880584 SHA256 febd2c99909cb932a98c2b9f73ce8eb03fc183c8c8f2fc874985cf3d598f6b94 SHA512 6a29aa1c52b460bded6e342cc66bb28d93f7f4c71eb108854dd2ba6934ae399e6ee7bd8acd29dda934f2933eb05b2e3878568fee76e5eb55ae43a695123568df WHIRLPOOL d6865e702c787c441da30a49e5aaff818a7530f2a82313c326a509cb3bb98f7cf22d511e3265b99a14402b2b9a7c4614d40ed570e6a6ba5522f4752248e2f338 +DIST Oracle_VM_VirtualBox_Extension_Pack-5.0.12-104815.tar.gz 16937595 SHA256 ac1bc8452b7fdf183325272149e9f18b9810cc07adf18e48755385a9cd1b236d SHA512 4a21cd155d1e60d3b6a4f4864cd8ca8ccd75f02448e832d72b42284dde5aa3c4aeba7f7297e3e7e198e4b4c665d770ac65c1aeca3df1dfa6a8454c47553baad7 WHIRLPOOL bcf032d0e72b57be37fdfd40d3c2f418eab10e04bfcbf1b99374b1fa9d2b5ced38c5cfc560b1c13492144a32a3c035b72649d9ae57851f6d430a4e59897cebe2 +DIST Oracle_VM_VirtualBox_Extension_Pack-5.0.14-105127.tar.gz 16939032 SHA256 4a404b0d09dfd3952107e314ab63262293b2fb0a4dc6837b57fb7274bd016865 SHA512 b71cd8562d8bcd10a051d9b3c69183aa17d42b0866fc597b8412c28d5690d3369f9b4bcfae98c609df7ad19f84dcebe6057e6b9b0a44b650acdb573b7ce3b4f0 WHIRLPOOL abd49e5ec7dce4aeb74998b8e1e6d6174ba47808ac4d041a51b237cf32ec595b0c1d95bd992bd1a4f186bdf6722263898f9b99cb00ca21ba7f84695b4d3e4010 diff --git a/app-emulation/virtualbox-extpack-oracle/metadata.xml b/app-emulation/virtualbox-extpack-oracle/metadata.xml index cefd27ea32..ff95e9c2ad 100644 --- a/app-emulation/virtualbox-extpack-oracle/metadata.xml +++ b/app-emulation/virtualbox-extpack-oracle/metadata.xml @@ -1,11 +1,11 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer> + <maintainer type="person"> <email>polynomial-c@gentoo.org</email> <name>Lars Wendler</name> </maintainer> - <maintainer> + <maintainer type="person"> <email>patrick@gentoo.org</email> <name>Patrick Lauer</name> </maintainer> diff --git a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-5.0.10.104061.ebuild b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-5.0.12.104815.ebuild index 19d40ce0c1..19d40ce0c1 100644 --- a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-5.0.10.104061.ebuild +++ b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-5.0.12.104815.ebuild diff --git a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-5.0.8.103449.ebuild b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-5.0.14.105127.ebuild index 19d40ce0c1..9cc2060128 100644 --- a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-5.0.8.103449.ebuild +++ b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-5.0.14.105127.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ diff --git a/app-emulation/virtualbox-guest-additions/Manifest b/app-emulation/virtualbox-guest-additions/Manifest index 2abbf724df..712f840d25 100644 --- a/app-emulation/virtualbox-guest-additions/Manifest +++ b/app-emulation/virtualbox-guest-additions/Manifest @@ -1,5 +1,5 @@ DIST VirtualBox-4.3.28.tar.bz2 100092002 SHA256 e157ab76d1958ae2c56b2a3875194fbff3de82486ad0e30032fd5bd772297c31 SHA512 b6e849a1420515b6dbda8cee0ab64940dd93296ec58cde76676ac257ff3dad0459aa1fd0bda7e1d0abc751d2d59f055465b198a546fdbb4e70e934a78654a8fc WHIRLPOOL 1b739f1f989032e07829a23ffadadd49e31109d70b0effbc44126a48a165218ff3ebafa576fa0e4f2af76a404033b60e5c9804ac43db5dd3024f1eca25ca70da DIST VirtualBox-4.3.32.tar.bz2 98168101 SHA256 dc5bf4e6f9989792d31bac174d20d7fc9e638654fa5a99c02b20a60557927261 SHA512 856b36cd90647cdceb7e182d066e9e1489d2bae0b71ce8b2f6324cd2d9854806eaea0fe0aad2d4e8b84bd836c688e13258ae69e094320572729b7d886c8d35f0 WHIRLPOOL 441041947dcd190d73a9cc5007bc0001b6eeb36ba958f4a09fca775670faff690423095d334e258fc0d6dcbef01d74a085505c8549397ced5dbe75ca96724144 DIST VirtualBox-4.3.34.tar.bz2 98166680 SHA256 076507e924d3c5ae05c5e80a720b897da4a57a636a506a7d369b28f08b11d6c1 SHA512 1eeca08990d426155550d8920c159e41320bfedb53561b1752bd6816fa588588672ad364e73baf9b7b45e8352ae8feb1c649ba1748253da47586b55fe89e8fe3 WHIRLPOOL 1249e1d61aec38d439d1060457a1a0d0294a65d78dfa426026f3abe1882c429c628ea58f556bdeaf1a88d3cdd3b9095f1e4c6f1fae2176f39f8da5bb3d091809 -DIST VirtualBox-5.0.10.tar.bz2 110904399 SHA256 56eafae439b91ea3c3748f2128b2969ba76983acf821acaa08e043c129b45a89 SHA512 8836e5b57ed46b57b12a9fdb6a632e895c3106dad58c3ab3e28f9178ce69499c493a935b6df8b872dc4677c12eb826a46113bdb902e4fb3d2f8ee6d768e53930 WHIRLPOOL 05516c1d9a3cd876a67a73b86df47ec7d1ef08ed921cb3e25ef483676413982ac8a7ce6562f3003240d862a33759aee5e6c94a303a2a35b66025d72cb15d4404 -DIST VirtualBox-5.0.8.tar.bz2 110540476 SHA256 e043518b7ab150e478c00b622360a5feb95f4e5b19e72bfcc71174356e2dacb3 SHA512 2a8e0f3e5fbb4b45786aa48cb408cf712cd968af65b25219eb39d54274612978704359b620179d751e828783950eb29d4cf330ac408a84dd65edbd0d98e25aa4 WHIRLPOOL 2b054cdb5c7c39008e876f0703e154509f4a79183aa85c4998717ae07a72e015a71bd22dc0427c8a464b3e16db92ebe9d731971f9788fbe56c8cc936669496fe +DIST VirtualBox-5.0.12.tar.bz2 111001547 SHA256 de0362b1d404d1ca0298db1984acb6f0f1c6210313aeb744fea345ad9201e86e SHA512 eef01d1a5121905d2fbfcd48081f18db06433187bfbfea6a006b3adea11cad8c8351025fd19fa115c132231592330b17bfeba033a3a168f3064176a3f7586d7a WHIRLPOOL bd73e67c83a524cb021ff92c4c3d655f6a1019e2d48f3ec97aee937543ca9da6f7ba2a1e70a6b75092dce3c8db8f3c7887300104fafa23432b94bc832c5e5447 +DIST VirtualBox-5.0.14.tar.bz2 111033626 SHA256 69abac7255b2251a18fd73c0b7c200d5f8ce72a59fa019b53a5cdbf7f2843002 SHA512 5547da58b50c9cf5d096f81c005134e1f56c4fb55d4d40a6fbd1efe1fe1fbeebc0747f0903933da9238a24c63eeed2c6c15bfc5cae5ce6e3e2eb4a18511d6258 WHIRLPOOL 785e0fa7a0652825b977562a1febbd95463ce49a9257a004827725597e0fbd59f9bdf75cc31f5b04e0f04be3d0d68e90148c06dd5d03875063312f8a3cd5bc86 diff --git a/app-emulation/virtualbox-guest-additions/metadata.xml b/app-emulation/virtualbox-guest-additions/metadata.xml index e71fc2f6ed..4ed7567d1e 100644 --- a/app-emulation/virtualbox-guest-additions/metadata.xml +++ b/app-emulation/virtualbox-guest-additions/metadata.xml @@ -1,11 +1,11 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer> + <maintainer type="person"> <email>patrick@gentoo.org</email> <name>Patrick Lauer</name> </maintainer> - <maintainer> + <maintainer type="person"> <email>polynomial-c@gentoo.org</email> <name>Lars Wendler</name> </maintainer> diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.0.10.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.0.12.ebuild index a1d8560671..a1d8560671 100644 --- a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.0.10.ebuild +++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.0.12.ebuild diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.0.8.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.0.14.ebuild index a1d8560671..b6b298ad98 100644 --- a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.0.8.ebuild +++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.0.14.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ diff --git a/app-emulation/virtualbox-modules/Manifest b/app-emulation/virtualbox-modules/Manifest index 4e1b450874..f0c334a9e7 100644 --- a/app-emulation/virtualbox-modules/Manifest +++ b/app-emulation/virtualbox-modules/Manifest @@ -1,5 +1,5 @@ DIST vbox-kernel-module-src-4.3.28.tar.xz 539876 SHA256 fb052997ec4992b0ee102475051b5d7bd8485e17405c6b3dcc94e1fa4a53b761 SHA512 637149f8595cb023e75116f83237bb4cef1b05627f58d475fa952ac86a85aa3cbab5f0cec723d730979f831999c920f35248e5f8db8f6987fb4c15c4a29bd517 WHIRLPOOL ab1ed07ee148a1ef352c0fda3f09865405be4146b987a5dffcb753d7512a00aa88c2ba1f7184b56d694c88320b350c6ececd3bec5636dd1586fc14a6be8a874d DIST vbox-kernel-module-src-4.3.32.tar.xz 546132 SHA256 4f0cf8a2d0f6714a5825551fa6ad38b85a70aac3a9949771bdcd85916ed12dae SHA512 7289dc1dd3a7e8812a57d3d1411c99ac25ddb33991e06e49a6212b030c6b6c2f08075c471f474c539b26be8a221934261af8f67a1aa4572f2e9cdb7433623a57 WHIRLPOOL 771c655bb5a7179d798330e438a3799d79cd1711844e491badaf7b6e0cb25fe2017a753675b0700b6ee2d8251bcc603f84a703cbe73b5bfcb46859b781d7c2d9 DIST vbox-kernel-module-src-4.3.34.tar.xz 543584 SHA256 ab9ab4c0c9e315ee447813a056b83b264e7baea073195c347903f9e7014dd0c8 SHA512 44eaf10a7063d0761c98e02ec8b6dda2c20de9cd188b8beedd9546dd348e976440ade034779a6adcaaf385fd34b4600f254dc5a987d580db4eb81da5c0b57509 WHIRLPOOL 3279d351493af02ab8ea3e66f14b3ab7e2073f3478b0cfd757424c825f512d739a65dc8d6d074f57d4639e61a6205ede63aa0483340d72ba938e823cf28e0ede -DIST vbox-kernel-module-src-5.0.10.tar.xz 592612 SHA256 d62362fe55291e94dfde20461549a4898fa782869e0cf88301cc3c09e6638f30 SHA512 e9a6166912f0550dde2fc2d62a104480ed179c3121c43ca66e4ee17ade51c71b3d9bfb2fc00a9af318a8fe0b2115f650023a80612d3f279d2b3b33a767664bbb WHIRLPOOL 4889f17ca4b33a12bc1d99e9ac5418834003957d8590ffcad9875ba5172edb26055c74c3d0daf0dba2c7b0c60faf3eb1ac92c94c63b74abe7965a46ef080d972 -DIST vbox-kernel-module-src-5.0.8.tar.xz 594164 SHA256 16513e3bec113e6e594a58ff0999ba70de4214c889dafed90ca181a6a603457d SHA512 91faf0054cd359a7455c1933dea3a37829f092eb966d8d2c6855061d3ecadfa1ea91a2258479f5696f373577f7aef1939bdd5808f9ca336e15f5476f4f6d464e WHIRLPOOL 837578475126fe8484e89140248971ce89e637a629a26b1324dc0b8b22d65fe351a1860d5c009223723a9d420d1a6f859c12c17ade510451177a6213f1905328 +DIST vbox-kernel-module-src-5.0.12.tar.xz 593196 SHA256 c24f56bbd04ccfb34af94d7d89c921e23d470b5b5720c2b819811c93226a072c SHA512 d6d474db87d854f2932639e564f0f6bb12d8852d5bbf8e19408aff0c53280116a3c0177b83f61b1c034edaa7404e9ba6584f762ad3b9003846016c8f873a9715 WHIRLPOOL 19d555eb05dfc4fae67595cdb8f4db38710ec66fca95216ce7783ef46c15a04d9347c82403877c1ddb01f16b6b02c2f9196879905a1d40ac81ca5db965472d47 +DIST vbox-kernel-module-src-5.0.14.tar.xz 593192 SHA256 15934e23601195e4f6d63c9f01a8f996bf9d278c572efe21bdabd223011da32a SHA512 0745b56974b751f812aac24a6bddabbbb1d8253ca80e3f221435c4162846280dbff616c5391ee9fce977fe6c4cbb4af8694c589931b058f0ca9306622ad448e2 WHIRLPOOL dc00622a7bcd284683cc123235ac4b2a9c05ec5512726f8de914a36aa676c60968fc7f9ffae2dad9601de6f1494443455368785536eea71207efc9d28d5dc6ac diff --git a/app-emulation/virtualbox-modules/metadata.xml b/app-emulation/virtualbox-modules/metadata.xml index 7401e9b145..a4aa4afb29 100644 --- a/app-emulation/virtualbox-modules/metadata.xml +++ b/app-emulation/virtualbox-modules/metadata.xml @@ -1,11 +1,11 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer> + <maintainer type="person"> <email>polynomial-c@gentoo.org</email> <name>Lars Wendler</name> </maintainer> - <maintainer> + <maintainer type="person"> <email>patrick@gentoo.org</email> <name>Patrick Lauer</name> </maintainer> diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-5.0.10.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-5.0.12.ebuild index 4bf941558d..4bf941558d 100644 --- a/app-emulation/virtualbox-modules/virtualbox-modules-5.0.10.ebuild +++ b/app-emulation/virtualbox-modules/virtualbox-modules-5.0.12.ebuild diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-5.0.8.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-5.0.14.ebuild index 4bf941558d..8ae1ff2e98 100644 --- a/app-emulation/virtualbox-modules/virtualbox-modules-5.0.8.ebuild +++ b/app-emulation/virtualbox-modules/virtualbox-modules-5.0.14.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ diff --git a/app-emulation/virtualbox/Manifest b/app-emulation/virtualbox/Manifest index 9453ddaced..6cc1e6a806 100644 --- a/app-emulation/virtualbox/Manifest +++ b/app-emulation/virtualbox/Manifest @@ -1,7 +1,7 @@ DIST VirtualBox-4.3.28.tar.bz2 100092002 SHA256 e157ab76d1958ae2c56b2a3875194fbff3de82486ad0e30032fd5bd772297c31 SHA512 b6e849a1420515b6dbda8cee0ab64940dd93296ec58cde76676ac257ff3dad0459aa1fd0bda7e1d0abc751d2d59f055465b198a546fdbb4e70e934a78654a8fc WHIRLPOOL 1b739f1f989032e07829a23ffadadd49e31109d70b0effbc44126a48a165218ff3ebafa576fa0e4f2af76a404033b60e5c9804ac43db5dd3024f1eca25ca70da DIST VirtualBox-4.3.32.tar.bz2 98168101 SHA256 dc5bf4e6f9989792d31bac174d20d7fc9e638654fa5a99c02b20a60557927261 SHA512 856b36cd90647cdceb7e182d066e9e1489d2bae0b71ce8b2f6324cd2d9854806eaea0fe0aad2d4e8b84bd836c688e13258ae69e094320572729b7d886c8d35f0 WHIRLPOOL 441041947dcd190d73a9cc5007bc0001b6eeb36ba958f4a09fca775670faff690423095d334e258fc0d6dcbef01d74a085505c8549397ced5dbe75ca96724144 DIST VirtualBox-4.3.34.tar.bz2 98166680 SHA256 076507e924d3c5ae05c5e80a720b897da4a57a636a506a7d369b28f08b11d6c1 SHA512 1eeca08990d426155550d8920c159e41320bfedb53561b1752bd6816fa588588672ad364e73baf9b7b45e8352ae8feb1c649ba1748253da47586b55fe89e8fe3 WHIRLPOOL 1249e1d61aec38d439d1060457a1a0d0294a65d78dfa426026f3abe1882c429c628ea58f556bdeaf1a88d3cdd3b9095f1e4c6f1fae2176f39f8da5bb3d091809 -DIST VirtualBox-5.0.10.tar.bz2 110904399 SHA256 56eafae439b91ea3c3748f2128b2969ba76983acf821acaa08e043c129b45a89 SHA512 8836e5b57ed46b57b12a9fdb6a632e895c3106dad58c3ab3e28f9178ce69499c493a935b6df8b872dc4677c12eb826a46113bdb902e4fb3d2f8ee6d768e53930 WHIRLPOOL 05516c1d9a3cd876a67a73b86df47ec7d1ef08ed921cb3e25ef483676413982ac8a7ce6562f3003240d862a33759aee5e6c94a303a2a35b66025d72cb15d4404 -DIST VirtualBox-5.0.8.tar.bz2 110540476 SHA256 e043518b7ab150e478c00b622360a5feb95f4e5b19e72bfcc71174356e2dacb3 SHA512 2a8e0f3e5fbb4b45786aa48cb408cf712cd968af65b25219eb39d54274612978704359b620179d751e828783950eb29d4cf330ac408a84dd65edbd0d98e25aa4 WHIRLPOOL 2b054cdb5c7c39008e876f0703e154509f4a79183aa85c4998717ae07a72e015a71bd22dc0427c8a464b3e16db92ebe9d731971f9788fbe56c8cc936669496fe +DIST VirtualBox-5.0.12.tar.bz2 111001547 SHA256 de0362b1d404d1ca0298db1984acb6f0f1c6210313aeb744fea345ad9201e86e SHA512 eef01d1a5121905d2fbfcd48081f18db06433187bfbfea6a006b3adea11cad8c8351025fd19fa115c132231592330b17bfeba033a3a168f3064176a3f7586d7a WHIRLPOOL bd73e67c83a524cb021ff92c4c3d655f6a1019e2d48f3ec97aee937543ca9da6f7ba2a1e70a6b75092dce3c8db8f3c7887300104fafa23432b94bc832c5e5447 +DIST VirtualBox-5.0.14.tar.bz2 111033626 SHA256 69abac7255b2251a18fd73c0b7c200d5f8ce72a59fa019b53a5cdbf7f2843002 SHA512 5547da58b50c9cf5d096f81c005134e1f56c4fb55d4d40a6fbd1efe1fe1fbeebc0747f0903933da9238a24c63eeed2c6c15bfc5cae5ce6e3e2eb4a18511d6258 WHIRLPOOL 785e0fa7a0652825b977562a1febbd95463ce49a9257a004827725597e0fbd59f9bdf75cc31f5b04e0f04be3d0d68e90148c06dd5d03875063312f8a3cd5bc86 DIST virtualbox-4.3.16-patches-01.tar.xz 4288 SHA256 270c4f01b2c13c4133987b3acc073dfbf78840212cf09f083dbf8fc80407ce6f SHA512 595f88c4b388b4807347c15c1750ec73aceba1c82ad993e9a05c7b78dfece7b679aff0338b3a48e2ccee7911fb5ed0dba803052332a270230078551f747052bc WHIRLPOOL 2157ee3fb9beed906cff28647c869e37d62551ad8c93801c0f0ec6893675f11786aa6d92acf11c348d30aa58b6e03a3faa879c664dddac6e5b8525035986c9ca DIST virtualbox-5.0.2-patches-01.tar.xz 4556 SHA256 8fcfa7972b0942f3e65bda73a35a6feb234aad770016fb4caafba105757d7ada SHA512 14ce8f0b17e593b2de676e0beaab688f29606aaea330151038fbb9259d3f5e4c22f254d1fa6cc45f968d81cf9f7d71deb9a7a32f565d07c1d9fa615431472ca9 WHIRLPOOL be73fd5576732f70f6ebb33a9d604d46a8fabdbdb0e187af3435f75412e21f62c0774130a9a6315e6b87ecf96d02398ffce828b3ab8f584716ed9a12e06d7cde diff --git a/app-emulation/virtualbox/files/virtualbox-5-localconfig b/app-emulation/virtualbox/files/virtualbox-5-localconfig index efa8773cf5..05e7dbabda 100644 --- a/app-emulation/virtualbox/files/virtualbox-5-localconfig +++ b/app-emulation/virtualbox/files/virtualbox-5-localconfig @@ -43,3 +43,5 @@ VBOX_WITH_KCHMVIEWER := ## don't build with -Werror VBOX_WITH_WARNINGS_AS_ERRORS := +## fix compilation with USE="doc" (Gentoo bug #554932) +VBOX_PATH_DOCBOOK_DTD := /usr/share/sgml/docbook/sgml-dtd-4.4 diff --git a/app-emulation/virtualbox/metadata.xml b/app-emulation/virtualbox/metadata.xml index 7150ec6cbf..2e30fb8801 100644 --- a/app-emulation/virtualbox/metadata.xml +++ b/app-emulation/virtualbox/metadata.xml @@ -1,20 +1,20 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer> + <maintainer type="person"> <email>polynomial-c@gentoo.org</email> <name>Lars Wendler</name> </maintainer> - <maintainer> + <maintainer type="person"> <email>patrick@gentoo.org</email> <name>Patrick Lauer</name> </maintainer> <use> - <flag name='additions'>Install Guest System Tools ISO</flag> - <flag name='extensions'>Install extension module packages</flag> - <flag name='headless'>Build without any graphic frontend</flag> - <flag name='sdk'>Enable building of SDK</flag> - <flag name='udev'>Controls installation of special USB udev rules.</flag> - <flag name='vboxwebsrv'>Build and install the VirtualBox webservice</flag> + <flag name="additions">Install Guest System Tools ISO</flag> + <flag name="extensions">Install extension module packages</flag> + <flag name="headless">Build without any graphic frontend</flag> + <flag name="sdk">Enable building of SDK</flag> + <flag name="udev">Controls installation of special USB udev rules.</flag> + <flag name="vboxwebsrv">Build and install the VirtualBox webservice</flag> </use> </pkgmetadata> diff --git a/app-emulation/virtualbox/virtualbox-5.0.10.ebuild b/app-emulation/virtualbox/virtualbox-5.0.12.ebuild index 6a55b85601..6a55b85601 100644 --- a/app-emulation/virtualbox/virtualbox-5.0.10.ebuild +++ b/app-emulation/virtualbox/virtualbox-5.0.12.ebuild diff --git a/app-emulation/virtualbox/virtualbox-5.0.8.ebuild b/app-emulation/virtualbox/virtualbox-5.0.14.ebuild index 6a55b85601..4c09818cfd 100644 --- a/app-emulation/virtualbox/virtualbox-5.0.8.ebuild +++ b/app-emulation/virtualbox/virtualbox-5.0.14.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ diff --git a/app-emulation/vmips-cross-bin/metadata.xml b/app-emulation/vmips-cross-bin/metadata.xml index 10ebbcc16e..16f5903317 100644 --- a/app-emulation/vmips-cross-bin/metadata.xml +++ b/app-emulation/vmips-cross-bin/metadata.xml @@ -1,9 +1,6 @@ -<?xml version='1.0' encoding='UTF-8'?> +<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer> - <email>maintainer-needed@gentoo.org</email> - </maintainer> <upstream> <remote-id type="sourceforge">vmips</remote-id> </upstream> diff --git a/app-emulation/vmips/metadata.xml b/app-emulation/vmips/metadata.xml index 54b23519c1..16f5903317 100644 --- a/app-emulation/vmips/metadata.xml +++ b/app-emulation/vmips/metadata.xml @@ -1,9 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer> - <email>maintainer-needed@gentoo.org</email> - </maintainer> <upstream> <remote-id type="sourceforge">vmips</remote-id> </upstream> diff --git a/app-emulation/vmware-modules/metadata.xml b/app-emulation/vmware-modules/metadata.xml index 313c1627f0..dec09dcab0 100644 --- a/app-emulation/vmware-modules/metadata.xml +++ b/app-emulation/vmware-modules/metadata.xml @@ -1,7 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <herd>vmware</herd> + <maintainer type="project"> + <email>vmware@gentoo.org</email> + <name>Gentoo VMware Project</name> + </maintainer> <longdescription> VMware kernel modules. </longdescription> diff --git a/app-emulation/vmware-player/metadata.xml b/app-emulation/vmware-player/metadata.xml index 47a08130e1..611b1a2983 100644 --- a/app-emulation/vmware-player/metadata.xml +++ b/app-emulation/vmware-player/metadata.xml @@ -1,9 +1,12 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <herd>vmware</herd> + <maintainer type="project"> + <email>vmware@gentoo.org</email> + <name>Gentoo VMware Project</name> + </maintainer> <use> - <flag name='ovftool'>Install OVF tool for importing and exporting appliance files</flag> + <flag name="ovftool">Install OVF tool for importing and exporting appliance files</flag> <flag name="vmware-tools">Install VMware Tools images</flag> </use> </pkgmetadata> diff --git a/app-emulation/vmware-tools/metadata.xml b/app-emulation/vmware-tools/metadata.xml index 672ebec01f..4e48633499 100644 --- a/app-emulation/vmware-tools/metadata.xml +++ b/app-emulation/vmware-tools/metadata.xml @@ -1,5 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <herd>vmware</herd> + <maintainer type="project"> + <email>vmware@gentoo.org</email> + <name>Gentoo VMware Project</name> + </maintainer> </pkgmetadata> diff --git a/app-emulation/vmware-vix/metadata.xml b/app-emulation/vmware-vix/metadata.xml index bf1b34bea2..aa65fcbf15 100644 --- a/app-emulation/vmware-vix/metadata.xml +++ b/app-emulation/vmware-vix/metadata.xml @@ -1,7 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <herd>vmware</herd> + <maintainer type="project"> + <email>vmware@gentoo.org</email> + <name>Gentoo VMware Project</name> + </maintainer> <longdescription> The VIX API allows you to write programs and scripts that automate virtual machine operations, as well as the guests within virtual diff --git a/app-emulation/vmware-workstation/Manifest b/app-emulation/vmware-workstation/Manifest index b2c8179261..aad0aabb39 100644 --- a/app-emulation/vmware-workstation/Manifest +++ b/app-emulation/vmware-workstation/Manifest @@ -4,3 +4,4 @@ DIST VMware-Workstation-11.1.2-2780323.x86_64.bundle.tar 259133440 SHA256 085b50 DIST VMware-Workstation-9.0.3-1410761.i386.bundle.tar 264908800 SHA256 dfe9aaa75987793eac096c0fbdb364f94e354ab668213774ea3e90d5ddcecdc0 SHA512 5d0943400cb1fefca20f1a81d3989bf5cdda5e123d1a70b09ebc20a56498d36f597ed7a0730d2f6f752c3c4baad2c86d5ef7691e8d245147d944c6f7e4e708b0 WHIRLPOOL 14a950f2deb03c3b7a088d4fb50378c7109330d89903965c28ead0be1e2223dbce05a628b1ea859215d31a8978f497bd8f807652cf266667d67893eaf2d7372b DIST VMware-Workstation-9.0.3-1410761.x86_64.bundle.tar 232724480 SHA256 2612f8a523c9f23164d7557c105520bc6e010af82b3e6d4a3ada04d8ff03cbf0 SHA512 07923231e481550cb0348e40ef341c2d0682ac0daf6c8e0ada130c03113f43a37bf322e64fb9dc73511dea0fd2851f3cb4f5e755bbad4beba9e3cc4e69566070 WHIRLPOOL d979f2d9ef8888be89d5747c16e0db7ca45609cd9d77d84baf8485b4956f9e9f99bf46c33a2690b7b1fea851c0495ed0a06b36e3e69b51abfc11604d9a62fe4d DIST gentoo-01.tar.gz 1884 SHA256 e92c694865f1b29f4d7a39efa1dd87bc71dc5f922573f00a3d31ee8e27a8c335 SHA512 454ab93997781bd0a9accddb2ac7bb446f07ea7cddef5640369025c30e03592e14869e0f0f7b4457db2f1ada31c98051426016c86201afa8bc8e3aa4ccc2f875 WHIRLPOOL 9202583b617532ab2612b384da307218e7c93c2962f0d233e28bea066b07163c9bc51c0a599309f9d703c5575ebeb292d787716225624dc1c2fdff3c44fa3513 +DIST vmware-systemd-gentoo-01.tgz 1884 SHA256 e92c694865f1b29f4d7a39efa1dd87bc71dc5f922573f00a3d31ee8e27a8c335 SHA512 454ab93997781bd0a9accddb2ac7bb446f07ea7cddef5640369025c30e03592e14869e0f0f7b4457db2f1ada31c98051426016c86201afa8bc8e3aa4ccc2f875 WHIRLPOOL 9202583b617532ab2612b384da307218e7c93c2962f0d233e28bea066b07163c9bc51c0a599309f9d703c5575ebeb292d787716225624dc1c2fdff3c44fa3513 diff --git a/app-emulation/vmware-workstation/metadata.xml b/app-emulation/vmware-workstation/metadata.xml index 7570b9e39a..9845071542 100644 --- a/app-emulation/vmware-workstation/metadata.xml +++ b/app-emulation/vmware-workstation/metadata.xml @@ -1,12 +1,16 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <herd>vmware</herd> + <maintainer type="project"> + <email>vmware@gentoo.org</email> + <name>Gentoo VMware Project</name> + </maintainer> <longdescription> VMWare Workstation is a virtual machine which can be used to install other operating systems in a virtual environment to run on top of Gentoo. </longdescription> <use> + <flag name="bundled-libs">Use precompiled bundled libraries instead of the system installation</flag> <flag name="ovftool">Install OVF tool.</flag> <flag name="server">Install VMware Workstation Server component.</flag> <flag name="vix">Install VIX. The VIX API allows you to write programs and scripts diff --git a/app-emulation/vmware-workstation/vmware-workstation-11.1.2.2780323.ebuild b/app-emulation/vmware-workstation/vmware-workstation-11.1.2.2780323-r4.ebuild index cf0493d20c..530e270810 100644 --- a/app-emulation/vmware-workstation/vmware-workstation-11.1.2.2780323.ebuild +++ b/app-emulation/vmware-workstation/vmware-workstation-11.1.2.2780323-r4.ebuild @@ -1,10 +1,10 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ EAPI=5 -inherit eutils versionator fdo-mime systemd gnome2-utils pam vmware-bundle +inherit eutils versionator readme.gentoo fdo-mime systemd gnome2-utils pam vmware-bundle MY_PN="VMware-Workstation" MY_PV=$(get_version_component_range 1-3) @@ -14,33 +14,89 @@ MY_P="${MY_PN}-${MY_PV}-${PV_BUILD}" SYSTEMD_UNITS_TAG="gentoo-01" -DESCRIPTION="Emulate a complete PC on your PC without the usual performance overhead of most emulators" +DESCRIPTION="Emulate a complete PC without the performance overhead of most emulators" HOMEPAGE="http://www.vmware.com/products/workstation/" BASE_URI="https://softwareupdate.vmware.com/cds/vmw-desktop/ws/${MY_PV}/${PV_BUILD}/linux/core/" SRC_URI=" amd64? ( ${BASE_URI}${MY_P}.x86_64.bundle.tar ) - https://github.com/akhuettel/systemd-vmware/archive/${SYSTEMD_UNITS_TAG}.tar.gz + https://github.com/akhuettel/systemd-vmware/archive/${SYSTEMD_UNITS_TAG}.tar.gz -> vmware-systemd-${SYSTEMD_UNITS_TAG}.tgz " LICENSE="vmware GPL-2" SLOT="0" KEYWORDS="-* ~amd64" -IUSE="cups doc ovftool server vix vmware-tools" -RESTRICT="mirror strip" +IUSE="cups bundled-libs doc ovftool server vix vmware-tools" +RESTRICT="mirror strip preserve-libs" + +BUNDLED_LIBS_DIR=/opt/vmware/lib/vmware/lib + +BUNDLED_LIBS=" + libXau.so.6 + libXcomposite.so.1 + libXcursor.so.1 + libXdamage.so.1 + libXdmcp.so.6 + libXfixes.so.3 + libXft.so.2 + libXinerama.so.1 + libXrandr.so.2 + libXrender.so.1 + libaio.so.1 + libatk-1.0.so.0 + libatkmm-1.6.so.1 + libatspi.so.0 + libcairo.so.2 + libcairomm-1.0.so.1 + libcurl.so.4 + libdbus-1.so.3 + libfontconfig.so.1 + libfreetype.so.6 + libfuse.so.2 + libgailutil.so.18 + libgdk-x11-2.0.so.0 + libgcrypt.so.11 + libgdk_pixbuf-2.0.so.0 + libgdkmm-2.4.so.1 + libgio-2.0.so.0 + libgiomm-2.4.so.1 +" + +BUNDLED_LIB_DEPENDS=" + x11-libs/libXau + x11-libs/libXcomposite + x11-libs/libXcursor + x11-libs/libXdamage + x11-libs/libXdmcp + x11-libs/libXfixes + x11-libs/libXft + x11-libs/libXinerama + x11-libs/libXrandr + x11-libs/libXrender + dev-libs/libaio + dev-libs/atk + dev-cpp/atkmm + app-accessibility/at-spi2-core + x11-libs/cairo + dev-cpp/cairomm + net-misc/curl + media-libs/fontconfig + media-libs/freetype + sys-fs/fuse + x11-libs/gtk+:2 + =dev-libs/libgcrypt-1.5* + x11-libs/gdk-pixbuf:2 + dev-cpp/gtkmm:2.4 + dev-libs/glib:2 + dev-cpp/glibmm:2 +" # vmware-workstation should not use virtual/libc as this is a # precompiled binary package thats linked to glibc. -RDEPEND="dev-cpp/cairomm - dev-cpp/glibmm:2 - dev-cpp/gtkmm:2.4 +RDEPEND=" dev-cpp/libgnomecanvasmm dev-cpp/pangomm - dev-libs/atk - dev-libs/glib:2 dev-libs/icu dev-libs/expat - dev-libs/libaio - =dev-libs/libgcrypt-1.5* - dev-libs/libsigc++ + dev-libs/libsigc++:2 dev-libs/libxml2 dev-libs/openssl:0.9.8 dev-libs/xmlrpc-c @@ -48,43 +104,30 @@ RDEPEND="dev-cpp/cairomm gnome-base/libgtop:2 gnome-base/librsvg:2 gnome-base/orbit - media-libs/fontconfig - media-libs/freetype media-libs/libart_lgpl media-libs/libpng:1.2 media-libs/libpng media-libs/tiff:3 - net-misc/curl cups? ( net-print/cups ) sys-devel/gcc - sys-fs/fuse sys-libs/glibc sys-libs/zlib - x11-libs/cairo - x11-libs/gtk+:2 x11-libs/libgksu x11-libs/libICE x11-libs/libSM x11-libs/libX11 - x11-libs/libXau x11-libs/libxcb - x11-libs/libXcomposite - x11-libs/libXcursor - x11-libs/libXdamage - x11-libs/libXdmcp x11-libs/libXext - x11-libs/libXfixes - x11-libs/libXft x11-libs/libXi - x11-libs/libXinerama - x11-libs/libXrandr - x11-libs/libXrender x11-libs/libXtst x11-libs/pango x11-libs/pangox-compat x11-libs/startup-notification x11-themes/hicolor-icon-theme - !app-emulation/vmware-player" + !app-emulation/vmware-player + !bundled-libs? ( ${BUNDLED_LIB_DEPENDS} ) + sys-apps/dbus +" PDEPEND="~app-emulation/vmware-modules-304.${PV_MINOR} vmware-tools? ( app-emulation/vmware-tools )" @@ -93,6 +136,10 @@ VM_INSTALL_DIR="/opt/vmware" VM_DATA_STORE_DIR="/var/lib/vmware/Shared VMs" VM_HOSTD_USER="root" +QA_PREBUILT="/opt/*" + +QA_WX_LOAD="/opt/vmware/lib/vmware/tools-upgraders/vmware-tools-upgrader-32 /opt/vmware/lib/vmware/bin/vmware-vmx-stats /opt/vmware/lib/vmware/bin/vmware-vmx-debug /opt/vmware/lib/vmware/bin/vmware-vmx" + src_unpack() { default local bundle @@ -123,6 +170,13 @@ src_unpack() { fi } +clean_bundled_libs() { + einfo Removing bundled libraries + for libname in ${BUNDLED_LIBS} ; do + rm -rv "${S}"/lib/lib/${libname} || die "Failed removing bundled ${libname}" + done +} + src_prepare() { rm -f bin/vmware-modconfig rm -rf lib/modules/binary @@ -135,20 +189,18 @@ src_prepare() { find "${S}" -name '*.a' -delete -# clean_bundled_libs -} + if ! use bundled-libs ; then + clean_bundled_libs + fi -clean_bundled_libs() { - ebegin 'Removing superfluous libraries' - cd lib/lib || die - ldconfig -p | \ - sed 's:^\s\+\([^(]*[^( ]\).*=> /.*$:\1:g;t;d' | \ - fgrep -vx 'libcrypto.so.0.9.8 -libssl.so.0.9.8i -libgcr.so.0 -libglib-2.0.so.0' | - xargs -d'\n' -r rm -rf - eend + DOC_CONTENTS=" +/etc/env.d is updated during ${PN} installation. Please run:\n +env-update && source /etc/profile\n +Before you can use vmware workstation, you must configure a default network setup. +You can do this by running 'emerge --config ${PN}'.\n +To be able to run ${PN} your user must be in the vmware group.\n +You MUST set USE=bundled-libs if you are running gcc-5, otherwise vmware will not start. +" } src_install() { @@ -317,6 +369,9 @@ src_install() { PATH='${VM_INSTALL_DIR}/bin' ROOTPATH='${VM_INSTALL_DIR}/bin' EOF + + use bundled-libs && echo 'VMWARE_USE_SHIPPED_LIBS=1' >> "${envd}" + doenvd "${envd}" # create the configuration @@ -465,6 +520,8 @@ src_install() { # install systemd unit files systemd_dounit "${WORKDIR}/systemd-vmware-${SYSTEMD_UNITS_TAG}/"*.{service,target} + + readme.gentoo_create_doc } pkg_config() { @@ -478,12 +535,7 @@ pkg_preinst() { pkg_postinst() { fdo-mime_desktop_database_update gnome2_icon_cache_update - - ewarn "/etc/env.d was updated. Please run:" - ewarn "env-update && source /etc/profile" - ewarn "" - ewarn "Before you can use vmware workstation, you must configure a default network setup." - ewarn "You can do this by running 'emerge --config ${PN}'." + readme.gentoo_pkg_postinst } pkg_prerm() { diff --git a/app-emulation/vov/metadata.xml b/app-emulation/vov/metadata.xml index 2abfac6f73..ea5b19f45f 100644 --- a/app-emulation/vov/metadata.xml +++ b/app-emulation/vov/metadata.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer> + <maintainer type="person"> <email>dlan@gentoo.org</email> <name>Yixun Lan</name> </maintainer> @@ -12,6 +12,6 @@ manipulation. It is a very useful tool to see if your programs work and how. </longdescription> <use> - <flag name='gprof'>build with profiling support</flag> + <flag name="gprof">build with profiling support</flag> </use> </pkgmetadata> diff --git a/app-emulation/vpcs/metadata.xml b/app-emulation/vpcs/metadata.xml index ae582a9022..dd7e2b1559 100644 --- a/app-emulation/vpcs/metadata.xml +++ b/app-emulation/vpcs/metadata.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer> + <maintainer type="person"> <email>bman@gentoo.org</email> <name>Aaron Bauman</name> </maintainer> diff --git a/app-emulation/wine/Manifest b/app-emulation/wine/Manifest index b3ed6a94c7..3592040b6f 100644 --- a/app-emulation/wine/Manifest +++ b/app-emulation/wine/Manifest @@ -38,9 +38,11 @@ DIST wine-1.7.51.tar.bz2 22639053 SHA256 397fc95b463d6ae1b65ab0477d9fe5d0871e8e2 DIST wine-1.7.52.tar.bz2 22707539 SHA256 0773b32a0c358323db4c383ceb1e9e28d5d4ed4ea37570af2bcb41fecf0d554b SHA512 834a77553d1352840c747ab5dc3e582b15da4ea65f16f9d58d0cc8afb460b4a0fded859929331dd32d9f4f66ab14bb890cf239d0a283bf9ffd92b48f9d1687de WHIRLPOOL 7e6cc679d994449e7f822c2593d1e8cc87d439df6084ad7d48897f3829b866219a0674e81e1fecdc5629225cd3c6ca2735212e1a0cb9d41a236af4674b62d077 DIST wine-1.7.53.tar.bz2 22763993 SHA256 efba70b106cde683a50a4b1f42df3d900f8ffc291a3689cb897afcc12cc2c6a3 SHA512 82c53c5a7913f5c3ab38239f6cd4dc5ec16db878b8ff9ff46162f11f72c13a3da9c1dc80e7eddef5eb2b909e7b8cd771294cfdc79d734d643aecfeefb0059401 WHIRLPOOL 054640d64794e0eac3b41c359353a8d322f9ae9a9a01969616fe6f9207d4276909d4fa17c7a2b167d705166490df523b3dcaf738efab0a71bfab26ea59eeafe1 DIST wine-1.7.54.tar.bz2 22800326 SHA256 e0f311f392815468df774b33312cde80bf1ff3a894c9c2b462825fd49619bb27 SHA512 15c9c80518d41486da416d531f7be101353d379bcd8fd309395d2932eceabb3fa5cd8180066f73d13c6a211495146bb544a8878657cf9ca8e5e14987a038a6c7 WHIRLPOOL b1f6f3e4149307f8c0b3feb443dd7b36e8a5c81b8b7b41f6c39167590fb13057174c95723f262082465fe1696c17d9216ea93ad2f8ce1e8f5c8d7aadc12d5425 +DIST wine-1.7.55-gstreamer-v5.patch.bz2 5800 SHA256 9ce03b6bc404dec4ed82208dcaa5cbe282c6df7da51392369fcb933de9273c2c SHA512 2f73c44ca66462cc64570645771fd4b3289525393098ef499ba7199745f836c313572145e3f3d259f9f1c6b7c876e15b2f909a914dd1e21eaa79d9671b40f105 WHIRLPOOL 444e456fb82de3b59342eb6d3a28805a3f068e70e6417a16489c784932c486e812807698f29dee5d9715d22bd1e31c733ed649d7396746008a552bc78ee27e55 DIST wine-1.7.55.tar.bz2 22814631 SHA256 a148f6c9cb45a75ef1a15e60a7db9c22fce985e0e58fe1350e7931dfe5d36119 SHA512 f47025017836ce1bbf2ed69c7d7421bd8a2f33ff94ced4a5caf92f4fabdf336119c80a28aeb8ba1ebe0239871a6ac62d8af8435d220c317624c17aabc2100dd7 WHIRLPOOL c5575d2ef687caccbdb5cc09a0c6a4ba9f65ec9674cbe3f23ecfced62710dcb0019a11ff66f2ec4c2eafdb30d9891abad158ac4f865cc580a2878067de7304d7 DIST wine-1.7.8.tar.bz2 21463503 SHA256 30e17f5f863a09416f3d229666566b318dbb40f683d4ca6630012c60bb511804 SHA512 1fdaddb7909f818050854bf351d20f445cf6a5906b1bcc789c96ee8d5058c90815a91bbbc6444f3e4527748764f03ab5297585c174b433093a3354a827402fea WHIRLPOOL 3b5b18384ff04b80b936160c2c6e03676d69663c023f484981305c9272d0601b74cda5c5f7d56008b3900d702b1a4fe1929f16b1fba304a6480b076ffede663a DIST wine-1.7.9.tar.bz2 21323337 SHA256 79f99ecc24696915439c474c4953bb77652ab53f16b41daa4da270fe43279c5a SHA512 29f8aa715ebe47c8a06bd5f6a80cac3fb75b2ca7aa81648cc8aed5461cfd825e4da68b6209ca672dce42b968521cfd9bffffaadd2d85b904b55d99687a1c83d0 WHIRLPOOL 333fee72b2a0e9d6ab8a003712c38166bd27aaff384a2b940c089ecc846f7669c59efbeb5cdc2fc87a46d63b0d29d0335873bb7c22f05913bad430b81990241a +DIST wine-1.8.tar.bz2 22843418 SHA256 f33b45c18112b2071fbf9edee0e8c575407f9e2a9855ca4ee918ed33efa7c6f4 SHA512 34308e82e04dee714fdbd10f29cd6cf6326e5e6e9134f7076e58b09988211065b8c6584881b7e5dcbc9b3906a819ab8a72b612b060cb9aa50b5b67f03bdab089 WHIRLPOOL 335a48f1b34cd1038d62290e52c3189b842d4077b7cf0bcb9d003595992360dc36eac1c592d31db44598de68010f3934daa1f4bcd0a2ca74aa130a39a74f7ce3 DIST wine-gentoo-2013.06.24.tar.bz2 85442 SHA256 bfbf6b25e98f717320de2ede467e3628fbc749d936b8449f8477c9dc6f41e04b SHA512 b6819889314f6a6ea16c1332f4b177c43623116763969c31b23b61754cd304dd085f5d3eafbe847159331eb97dddd9b4c10699430129ea4a71da418c1fe175f0 WHIRLPOOL 227e0ac6569736d4ad5813cef49f775dae956f4fc9255de95753d5d3cba1bf6cf3db31d23d3702bb54d2e60c5a6f779b602f0efb2096e4c827c924565b273d00 DIST wine-gentoo-2015.03.07.tar.bz2 85419 SHA256 f13f93dc49bbc33a294c4d511b6e01aec2d38bff77a1e44d07668291add1ab04 SHA512 bae1d2d5575d340d01f44008104f0e5ec0c4a4982995dec37d501594cd21d07a2b4ad4465c4273646d5bf6521996b4b82471097864be75342abe3e7d478a56bd WHIRLPOOL 0f254dd692e87a1f71dd19f6c1c8c59b8a91b994e75912a2e6e3ba5e875b85119fe497a331a95c2ce33bbf5f064143d23ee00275da92c494227de0807c9abb06 DIST wine-mono-0.0.8.msi 46967296 SHA256 3dfc23bbc29015e4e538dab8b83cb825d3248a0e5cf3b3318503ee7331115402 SHA512 d3009f2301b0a006136e880025a736f24612faa7a954956896124ec7282d35b678f02658e8be12b1c02ee217e594a2c728a9258c36ccb346b186a4781951adbd WHIRLPOOL 1d4b2e88ebab1f603326a238cc908982c7e135a33340087e8645572838d2b6034764e9fe787bb890792dea4c0531d26f9a6a811a7c200edb99ab82f975179389 @@ -74,6 +76,7 @@ DIST wine-staging-1.7.52.tar.gz 9654310 SHA256 84354a10e4226b5e456abb6d5727f4514 DIST wine-staging-1.7.53.tar.gz 9638222 SHA256 438f41165987a57635694dba2f67cc435cd630581b13cafe0c85daacf37a102a SHA512 716840c44923848a28b481f6b4e422ef84fe33bef33a650c183c62be0dbec34471375fe2b1911382282f293fd5135ce133cdb775acd7df98029be2e4646b6d9e WHIRLPOOL 702555a706e50521ca6864b7b29ee4a4774fc8d770775c5186728b19e2c71ba6040ce98f86a772435c0d2f0a4363bc2a1e8f0b13ffbbe9395c072d3d89d1118c DIST wine-staging-1.7.54.tar.gz 9647030 SHA256 b244ab05326e0a4c149beba0684afc100d44dca8e6ff606bcfee883b21b27303 SHA512 f6e58be01ba10121d6904cb238b2d91dd79cb7d14d623c00a897e655adb88332bea125cedf3fad85e680c76aacfbab16dd5035c322278155defd3b493054aa23 WHIRLPOOL 4c053ad96e67f4e82c93d3cfa9b6f885c4c3fe693946dd0e2a30cef556aac55f9dcafb5c56ced0f714f8ea9448cb4e22f144ea7f3561cfdb5bbff1b049d34f07 DIST wine-staging-1.7.55.tar.gz 9604441 SHA256 856b630fe95250e3d2dfc80588529e42e92e37f2e974ce8d3da37b39bf5cc3c3 SHA512 a6fbfa01b6d6efc75f79235aea86091c32ddf91ca300c73325c8347949c627f53ceb0fe085d6c212602797b0496d36c0a79f08eae4644a17774e95906332032d WHIRLPOOL ad232568c9df5d436a79a3557c82e231eed121356d8db1f5a3c0e7249b6c2760d87bb433ff30d6db53ce190b2d49401aa387b06f0c3f74925aefea7b1d73f112 +DIST wine-staging-1.8.tar.gz 9632566 SHA256 c66f3dd6a760d516affe7467c4fb2d15ea8e2f0c72bcda1982219948dcdff11b SHA512 7b030b217ed0b37b8037d782406f75fcdb681c81371eafcab87175c0e6ac8b50fc58fe364e933e79eff168c1755412276fae3f914b7c36a6937aea1f6e35b022 WHIRLPOOL 8cff5d1d4c23405b820dbf9e7f73f7bba785e04ec2d9087b0977bb7aa1e6b84c2e6c3ac2f9cc72ba3c16f2b9c8c3607ea02ef1cd52d428a2b441333a424d9a21 DIST wine_gecko-2.21-x86.msi 20871680 SHA256 f01fafa6d7aab995c38add77315c4cbc2f32f52d5d6a9350056f42b62d631fd8 SHA512 f4ca9ca5b876dc39e906991e58c6da8ef4103782f83ba781ff27556c0ebdab7fe10c14f0551e900442a5d57a2c619da6e5ed6ed42323edcdd55ce9789c4c83ac WHIRLPOOL d1db97175b047652499c97c968b71c08c5b44774423f22ae626f89b4dde3d03b46295e5caae228f1f8614209e943e8246854b478eef3abb186e8de4c341b0a0d DIST wine_gecko-2.21-x86_64.msi 21646336 SHA256 bc370bdc899f66d98f31c4d410a6952aa82c0c9c0a0ec27f2a11243c9b412c3f SHA512 2a48a7697beba4e45816a9eff09e181de353d8c93e02a70108fa77d27136cd5cd75b21c42caa7702a09f86544669ae2bbfc6975b1fc0d7fcb20150a4bc4ea514 WHIRLPOOL 2fce9b9a190a52c173551d47428dd8b8dc54d5878682733e0006a3f06f216cd9f47a88ada49f92fa5697ece8b2942a88f937bd2722b4cb85d2c35c19bda29b85 DIST wine_gecko-2.24-x86.msi 22373888 SHA256 6e38acae87ea66e2c1e8f2f0afe88f89eed3e6e0b431cd3da38dea814b71202c SHA512 f158d28ca09bc900a2680892e7ac10770e06050a9251e1ec3a953fee0bf9b1c326e166f92fb88a4648297b6587c91a5ef5af35f267bb2ba5f679da4c8fdb6898 WHIRLPOOL bbe7a2572d89dc5e0347ba11b2014bac79fc4427d7551655313a46b147a79c1607b7f46596877c459ddaa0e202337fb3d217429ddd6a4df49ee33b373a788487 diff --git a/app-emulation/wine/files/wine-1.7.55-gstreamer-v5-staging-post.patch b/app-emulation/wine/files/wine-1.7.55-gstreamer-v5-staging-post.patch new file mode 100644 index 0000000000..c36dd4d750 --- /dev/null +++ b/app-emulation/wine/files/wine-1.7.55-gstreamer-v5-staging-post.patch @@ -0,0 +1,51 @@ +From 2f0514345d325ecd20a88e3b0cb896ca9d23deae Mon Sep 17 00:00:00 2001 +From: Sebastian Lackner <sebastian@fds-team.de> +Date: Thu, 19 Mar 2015 07:56:04 +0100 +Subject: Reapply various changes conflicting with Maarten Lankhorst's + gstreamer hack v5. + +--- + dlls/ntdll/ntdll_misc.h | 1 + + dlls/ntdll/thread.c | 7 +++++++ + 2 files changed, 8 insertions(+) + +diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h +index e1be304..d5bc678 100644 +--- a/dlls/ntdll/ntdll_misc.h ++++ b/dlls/ntdll/ntdll_misc.h +@@ -244,6 +244,7 @@ struct ntdll_thread_data + WINE_VM86_TEB_INFO vm86; /* 1fc vm86 private data */ + void *exit_frame; /* 204 exit frame pointer */ + #endif ++ void *pthread_stack; /* 208/318 pthread stack */ + struct list entry; + BOOL detached; + }; +diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c +index 2011c1e2..9f824eb 100644 +--- a/dlls/ntdll/thread.c ++++ b/dlls/ntdll/thread.c +@@ -467,6 +467,8 @@ static void exit_thread_common( int status ) + static void *prev_teb; + TEB *teb; + #endif ++ shmlocal_t *shmlocal; ++ sigset_t sigset; + + if (status) /* send the exit code to the server (0 is already the default) */ + { +@@ -508,6 +510,11 @@ static void exit_thread_common( int status ) + reap_thread(NtCurrentTeb()); + #endif + ++ sigemptyset( &sigset ); ++ sigaddset( &sigset, SIGQUIT ); ++ pthread_sigmask( SIG_BLOCK, &sigset, NULL ); ++ if (interlocked_xchg_add( &nb_threads, -1 ) <= 1) _exit( status ); ++ + close( ntdll_get_thread_data()->wait_fd[0] ); + close( ntdll_get_thread_data()->wait_fd[1] ); + close( ntdll_get_thread_data()->reply_fd ); +-- +2.6.4 + diff --git a/app-emulation/wine/files/wine-1.7.55-gstreamer-v5-staging-pre.patch b/app-emulation/wine/files/wine-1.7.55-gstreamer-v5-staging-pre.patch new file mode 100644 index 0000000000..e9c9ac18a1 --- /dev/null +++ b/app-emulation/wine/files/wine-1.7.55-gstreamer-v5-staging-pre.patch @@ -0,0 +1,53 @@ +From c96187cdbddd742728557062b85d05ac320c3e8f Mon Sep 17 00:00:00 2001 +From: Sebastian Lackner <sebastian@fds-team.de> +Date: Thu, 19 Mar 2015 07:51:48 +0100 +Subject: Revert various changes conflicting with Maarten Lankhorst's gstreamer + hack v5. + +Note: These changes have to be reapplied with the corresponding -post patchset +afterwards. +--- + dlls/ntdll/ntdll_misc.h | 1 - + dlls/ntdll/thread.c | 7 ------- + 2 files changed, 8 deletions(-) + +diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h +index e7facf3..88531df 100644 +--- a/dlls/ntdll/ntdll_misc.h ++++ b/dlls/ntdll/ntdll_misc.h +@@ -243,7 +243,6 @@ struct ntdll_thread_data + WINE_VM86_TEB_INFO vm86; /* 1fc vm86 private data */ + void *exit_frame; /* 204 exit frame pointer */ + #endif +- void *pthread_stack; /* 208/318 pthread stack */ + }; + + C_ASSERT( FIELD_OFFSET(TEB, SpareBytes1) + sizeof(struct ntdll_thread_data) <= +diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c +index 6ad4b95..3ad51a2 100644 +--- a/dlls/ntdll/thread.c ++++ b/dlls/ntdll/thread.c +@@ -391,8 +391,6 @@ void terminate_thread( int status ) + void exit_thread( int status ) + { + static void *prev_teb; +- shmlocal_t *shmlocal; +- sigset_t sigset; + TEB *teb; + + if (status) /* send the exit code to the server (0 is already the default) */ +@@ -431,11 +429,6 @@ void exit_thread( int status ) + } + } + +- sigemptyset( &sigset ); +- sigaddset( &sigset, SIGQUIT ); +- pthread_sigmask( SIG_BLOCK, &sigset, NULL ); +- if (interlocked_xchg_add( &nb_threads, -1 ) <= 1) _exit( status ); +- + close( ntdll_get_thread_data()->wait_fd[0] ); + close( ntdll_get_thread_data()->wait_fd[1] ); + close( ntdll_get_thread_data()->reply_fd ); +-- +2.6.4 + diff --git a/app-emulation/wine/metadata.xml b/app-emulation/wine/metadata.xml index fbf2c5b682..6efa58c54b 100644 --- a/app-emulation/wine/metadata.xml +++ b/app-emulation/wine/metadata.xml @@ -1,7 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <herd>wine</herd> + <maintainer type="project"> + <email>wine@gentoo.org</email> + <name>Wine</name> + </maintainer> <longdescription> Wine is an Open Source implementation of the Windows API on top of X and Unix. @@ -12,21 +15,25 @@ Think of Wine as a compatibility layer for running Windows programs. Wine does n <flag name="custom-cflags">Bypass strip-flags; use at your own peril</flag> <flag name="dos">Pull in <pkg>games-emulation/dosbox</pkg> to run DOS applications</flag> <flag name="gecko">Add support for the Gecko engine when using iexplore</flag> + <flag name="gstreamer">Use <pkg>media-libs/gstreamer</pkg> to provide DirectShow functionality; + For versions less than wine-1.9.2, uses experimental patch which may break some apps</flag> <flag name="mono">Add support for .NET using Wine's Mono add-on</flag> <flag name="netapi">Use libnetapi from <pkg>net-fs/samba</pkg> to support Windows networks in netapi32.dll</flag> <flag name="opencl">Enable OpenCL support</flag> <flag name="osmesa">Add support for OpenGL in bitmaps using libOSMesa</flag> <flag name="pcap">Support packet capture software (e.g. wireshark)</flag> <flag name="perl">Install helpers written in perl (winedump/winemaker)</flag> - <flag name="pipelight">Apply unofficial Wine-Staging patches for Pipelight/Silverlight support</flag> - <flag name="prelink">Run prelink on DLLs during build -- do not disable if you do not know what this means as it can break things at runtime</flag> + <flag name="pipelight">Apply Wine-Staging patches for Pipelight/Silverlight support</flag> + <flag name="prelink">Run prelink on DLLs during build; + For versions less than wine-1.7.55 or hardened, do not disable if you do not know what this means as it can break things at runtime</flag> <flag name="realtime">Pull in <pkg>sys-auth/rtkit</pkg> for low-latency pulseaudio support</flag> <flag name="run-exes">Use Wine to open and run .EXE and .MSI files</flag> <flag name="s3tc">Pull in <pkg>media-libs/libtxc_dxtn</pkg> for DXTn texture compression, needed for many games</flag> <flag name="samba">Add support for NTLM auth. see http://wiki.winehq.org/NtlmAuthSetupGuide and http://wiki.winehq.org/NtlmSigningAndSealing</flag> - <flag name="staging">Apply unofficial Wine-Staging patches for advanced feature support that haven't made it into upstream Wine yet</flag> + <flag name="staging">Apply Wine-Staging patches for advanced feature support that haven't made it into upstream Wine yet + For versions less than wine-1.8, this patchset is unofficial.</flag> </use> <upstream> <remote-id type="github">wine-compholio/wine-staging</remote-id> diff --git a/app-emulation/wine/wine-1.7.55.ebuild b/app-emulation/wine/wine-1.7.55.ebuild index 74bf02a2c6..5150817f6c 100644 --- a/app-emulation/wine/wine-1.7.55.ebuild +++ b/app-emulation/wine/wine-1.7.55.ebuild @@ -203,7 +203,7 @@ pkg_setup() { src_unpack() { if [[ ${PV} == "9999" ]] ; then git-r3_src_unpack - if use staging || use pulseaudio; then + if use staging; then EGIT_REPO_URI=${STAGING_EGIT_REPO_URI} unset ${PN}_LIVE_REPO; EGIT_CHECKOUT_DIR=${STAGING_DIR} git-r3_src_unpack diff --git a/app-emulation/wine/wine-1.8.ebuild b/app-emulation/wine/wine-1.8.ebuild new file mode 100644 index 0000000000..4c1b6f446a --- /dev/null +++ b/app-emulation/wine/wine-1.8.ebuild @@ -0,0 +1,438 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +AUTOTOOLS_AUTORECONF=1 +PLOCALES="ar bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW" +PLOCALE_BACKUP="en" + +inherit autotools-utils eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator + +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="git://source.winehq.org/git/wine.git http://source.winehq.org/git/wine.git" + EGIT_BRANCH="master" + inherit git-r3 + SRC_URI="" + #KEYWORDS="" +else + MAJOR_V=$(get_version_component_range 1-2) + SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}/${P}.tar.bz2" + KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" +fi + +GV="2.40" +MV="4.5.6" +STAGING_P="wine-staging-${PV}" +STAGING_DIR="${WORKDIR}/${STAGING_P}" +WINE_GENTOO="wine-gentoo-2015.03.07" +GST_P="wine-1.7.55-gstreamer-v5" +DESCRIPTION="Free implementation of Windows(tm) on Unix" +HOMEPAGE="http://www.winehq.org/" +SRC_URI="${SRC_URI} + gecko? ( + abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi ) + abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi ) + ) + mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi ) + gstreamer? ( https://dev.gentoo.org/~np-hardass/distfiles/${PN}/${GST_P}.patch.bz2 ) + https://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2" + +if [[ ${PV} == "9999" ]] ; then + STAGING_EGIT_REPO_URI="git://github.com/wine-compholio/wine-staging.git" +else + SRC_URI="${SRC_URI} + staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )" +fi + +LICENSE="LGPL-2.1" +SLOT="0" +IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml" +REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) + test? ( abi_x86_32 ) + elibc_glibc? ( threads ) + mono? ( abi_x86_32 ) + pipelight? ( staging ) + s3tc? ( staging ) + vaapi? ( staging ) + osmesa? ( opengl )" #286560 + #?? ( gstreamer staging ) #Should be fixed by pre/post patchset + +# FIXME: the test suite is unsuitable for us; many tests require net access +# or fail due to Xvfb's opengl limitations. +RESTRICT="test" + +COMMON_DEPEND=" + truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) + capi? ( net-dialup/capi4k-utils ) + ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) + udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) + fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) + gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) + openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) + gstreamer? ( + media-libs/gstreamer:0.10[${MULTILIB_USEDEP}] + media-libs/gst-plugins-base:0.10[${MULTILIB_USEDEP}] + ) + X? ( + x11-libs/libXcursor[${MULTILIB_USEDEP}] + x11-libs/libXext[${MULTILIB_USEDEP}] + x11-libs/libXrandr[${MULTILIB_USEDEP}] + x11-libs/libXi[${MULTILIB_USEDEP}] + x11-libs/libXxf86vm[${MULTILIB_USEDEP}] + ) + xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) + alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) + cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) + opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) + opengl? ( + virtual/glu[${MULTILIB_USEDEP}] + virtual/opengl[${MULTILIB_USEDEP}] + ) + gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) + jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) + ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) + lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) + mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) + netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) + nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) + odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) + osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] ) + pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) + pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) + staging? ( sys-apps/attr[${MULTILIB_USEDEP}] ) + xml? ( + dev-libs/libxml2[${MULTILIB_USEDEP}] + dev-libs/libxslt[${MULTILIB_USEDEP}] + ) + scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) + ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) + png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) + v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) + vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] ) + xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) + abi_x86_32? ( + !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] + !<app-emulation/emul-linux-x86-baselibs-20140508-r14 + !app-emulation/emul-linux-x86-db[-abi_x86_32(-)] + !<app-emulation/emul-linux-x86-db-20140508-r3 + !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)] + !<app-emulation/emul-linux-x86-medialibs-20140508-r6 + !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)] + !<app-emulation/emul-linux-x86-opengl-20140508-r1 + !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)] + !<app-emulation/emul-linux-x86-sdl-20140508-r1 + !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)] + !<app-emulation/emul-linux-x86-soundlibs-20140508 + !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)] + !<app-emulation/emul-linux-x86-xlibs-20140508 + )" + +RDEPEND="${COMMON_DEPEND} + dos? ( games-emulation/dosbox ) + perl? ( dev-lang/perl dev-perl/XML-Simple ) + s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] ) + samba? ( >=net-fs/samba-3.0.25 ) + selinux? ( sec-policy/selinux-wine ) + udisks? ( sys-fs/udisks:2 ) + pulseaudio? ( realtime? ( sys-auth/rtkit ) )" + +# tools/make_requests requires perl +DEPEND="${COMMON_DEPEND} + staging? ( dev-lang/perl dev-perl/XML-Simple ) + X? ( + x11-proto/inputproto + x11-proto/xextproto + x11-proto/xf86vidmodeproto + ) + xinerama? ( x11-proto/xineramaproto ) + prelink? ( sys-devel/prelink ) + >=sys-kernel/linux-headers-2.6 + virtual/pkgconfig + virtual/yacc + sys-devel/flex" + +# These use a non-standard "Wine" category, which is provided by +# /etc/xdg/applications-merged/wine.menu +QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop +usr/share/applications/wine-notepad.desktop +usr/share/applications/wine-uninstaller.desktop +usr/share/applications/wine-winecfg.desktop" + +wine_build_environment_check() { + [[ ${MERGE_TYPE} = "binary" ]] && return 0 + + # bug #549768 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + einfo "Checking for gcc-5 ms_abi compiler bug ..." + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi + fi + + if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then + eerror "You need gcc-4.4+ to build 64-bit wine" + eerror + return 1 + fi + + if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; then + eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." + eerror "See https://bugs.gentoo.org/487864 for more details." + eerror + return 1 + fi +} + +pkg_pretend() { + wine_build_environment_check || die +} + +pkg_setup() { + wine_build_environment_check || die +} + +src_unpack() { + if [[ ${PV} == "9999" ]] ; then + git-r3_src_unpack + if use staging; then + EGIT_REPO_URI=${STAGING_EGIT_REPO_URI} + unset ${PN}_LIVE_REPO; + EGIT_CHECKOUT_DIR=${STAGING_DIR} git-r3_src_unpack + fi + else + unpack ${P}.tar.bz2 + use staging && unpack "${STAGING_P}.tar.gz" + fi + + unpack "${WINE_GENTOO}.tar.bz2" + use gstreamer && unpack "${GST_P}.patch.bz2" + + l10n_find_plocales_changes "${S}/po" "" ".po" +} + +src_prepare() { + local md5="$(md5sum server/protocol.def)" + local PATCHES=( + "${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726 + "${FILESDIR}"/${PN}-1.4_rc2-multilib-portage.patch #395615 + "${FILESDIR}"/${PN}-1.7.12-osmesa-check.patch #429386 + "${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508 + ) + if use gstreamer; then + # See http://bugs.winehq.org/show_bug.cgi?id=30557 + ewarn "Applying experimental patch to fix GStreamer support. Note that" + ewarn "this patch has been reported to cause crashes in certain games." + + # Wine-Staging 1.7.38 "ntdll: Fix race-condition when threads are killed + # during shutdown" patch and "Added patch to implement shared memory + # wineserver communication for various user32 functions" prevents the + # gstreamer patch from applying cleanly. + # So undo the staging patch, apply gstreamer, then re-apply rebased staging + # patch on top. + if use staging; then + PATCHES+=( + "${FILESDIR}/${PN}-1.7.55-gstreamer-v5-staging-pre.patch" + "${WORKDIR}/${GST_P}.patch" + "${FILESDIR}/${PN}-1.7.55-gstreamer-v5-staging-post.patch" ) + else + PATCHES+=( "${WORKDIR}/${GST_P}.patch" ) + fi + fi + if use staging; then + ewarn "Applying the Wine-Staging patchset. Any bug reports to the" + ewarn "Wine bugzilla should explicitly state that staging was used." + + local STAGING_EXCLUDE="" + use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight" + + # Launch wine-staging patcher in a subshell, using epatch as a backend, and gitapply.sh as a backend for binary patches + ebegin "Running Wine-Staging patch installer" + ( + set -- DESTDIR="${S}" --backend=epatch --no-autoconf --all ${STAGING_EXCLUDE} + cd "${STAGING_DIR}/patches" + source "${STAGING_DIR}/patches/patchinstall.sh" + ) + eend $? + fi + autotools-utils_src_prepare + + # Modification of the server protocol requires regenerating the server requests + if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then + einfo "server/protocol.def was patched; running tools/make_requests" + tools/make_requests || die #432348 + fi + sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die + if ! use run-exes; then + sed -i '/^MimeType/d' loader/wine.desktop || die #117785 + fi + + # hi-res default icon, #472990, http://bugs.winehq.org/show_bug.cgi?id=24652 + cp "${WORKDIR}"/${WINE_GENTOO}/icons/oic_winlogo.ico dlls/user32/resources/ || die + + l10n_get_locales > po/LINGUAS # otherwise wine doesn't respect LINGUAS +} + +src_configure() { + export LDCONFIG=/bin/true + use custom-cflags || strip-flags + + multilib-minimal_src_configure +} + +multilib_src_configure() { + local myconf=( + --sysconfdir=/etc/wine + $(use_with alsa) + $(use_with capi) + $(use_with lcms cms) + $(use_with cups) + $(use_with ncurses curses) + $(use_with udisks dbus) + $(use_with fontconfig) + $(use_with ssl gnutls) + $(use_enable gecko mshtml) + $(use_with gphoto2 gphoto) + $(use_with gsm) + $(use_with gstreamer) + --without-hal + $(use_with jpeg) + $(use_with ldap) + $(use_enable mono mscoree) + $(use_with mp3 mpg123) + $(use_with netapi) + $(use_with nls gettext) + $(use_with openal) + $(use_with opencl) + $(use_with opengl) + $(use_with osmesa) + $(use_with oss) + $(use_with pcap) + $(use_with png) + $(use_with pulseaudio pulse) + $(use_with threads pthread) + $(use_with scanner sane) + $(use_enable test tests) + $(use_with truetype freetype) + $(use_with v4l) + $(use_with X x) + $(use_with xcomposite) + $(use_with xinerama) + $(use_with xml) + $(use_with xml xslt) + ) + + use staging && myconf+=( + --with-xattr + $(use_with vaapi va) + ) + + local PKG_CONFIG AR RANLIB + # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 + # set AR and RANLIB to make QA scripts happy; #483342 + tc-export PKG_CONFIG AR RANLIB + + if use amd64; then + if [[ ${ABI} == amd64 ]]; then + myconf+=( --enable-win64 ) + else + myconf+=( --disable-win64 ) + fi + + # Note: using --with-wine64 results in problems with multilib.eclass + # CC/LD hackery. We're using separate tools instead. + fi + + ECONF_SOURCE=${S} \ + econf "${myconf[@]}" + emake depend +} + +multilib_src_test() { + # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" + if [[ ${ABI} == x86 ]]; then + if [[ $(id -u) == 0 ]]; then + ewarn "Skipping tests since they cannot be run under the root user." + ewarn "To run the test ${PN} suite, add userpriv to FEATURES in make.conf" + return + fi + + WINEPREFIX="${T}/.wine-${ABI}" \ + Xemake test + fi +} + +multilib_src_install_all() { + local DOCS=( ANNOUNCE AUTHORS README ) + local l + add_locale_docs() { + local locale_doc="documentation/README.$1" + [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) + } + l10n_for_each_locale_do add_locale_docs + + einstalldocs + prune_libtool_files --all + + emake -C "../${WINE_GENTOO}" install DESTDIR="${D}" EPREFIX="${EPREFIX}" + if use gecko ; then + insinto /usr/share/wine/gecko + use abi_x86_32 && doins "${DISTDIR}"/wine_gecko-${GV}-x86.msi + use abi_x86_64 && doins "${DISTDIR}"/wine_gecko-${GV}-x86_64.msi + fi + if use mono ; then + insinto /usr/share/wine/mono + doins "${DISTDIR}"/wine-mono-${MV}.msi + fi + if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script + rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die + fi + + use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055 + use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader} + + if use abi_x86_64 && ! use abi_x86_32; then + dosym /usr/bin/wine{64,} # 404331 + dosym /usr/bin/wine{64,}-preloader + fi + + # respect LINGUAS when installing man pages, #469418 + for l in de fr pl; do + use linguas_${l} || rm -r "${D}"usr/share/man/${l}* + done +} + +pkg_preinst() { + gnome2_icon_savelist +} + +pkg_postinst() { + gnome2_icon_cache_update + fdo-mime_desktop_database_update + + if ! use gecko; then + ewarn "Without Wine Gecko, wine prefixes will not have a default" + ewarn "implementation of iexplore. Many older windows applications" + ewarn "rely upon the existence of an iexplore implementation, so" + ewarn "you will likely need to install an external one, like via winetricks" + fi + if ! use mono; then + ewarn "Without Wine Mono, wine prefixes will not have a default" + ewarn "implementation of .NET. Many windows applications rely upon" + ewarn "the existence of a .NET implementation, so you will likely need" + ewarn "to install an external one, like via winetricks" + fi +} + +pkg_postrm() { + gnome2_icon_cache_update + fdo-mime_desktop_database_update +} diff --git a/app-emulation/wine/wine-9999.ebuild b/app-emulation/wine/wine-9999.ebuild index 74bf02a2c6..b44030bba0 100644 --- a/app-emulation/wine/wine-9999.ebuild +++ b/app-emulation/wine/wine-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ @@ -27,16 +27,16 @@ MV="4.5.6" STAGING_P="wine-staging-${PV}" STAGING_DIR="${WORKDIR}/${STAGING_P}" WINE_GENTOO="wine-gentoo-2015.03.07" -GST_P="wine-1.7.34-gstreamer-v5" +GST_P="wine-1.7.55-gstreamer-v5" DESCRIPTION="Free implementation of Windows(tm) on Unix" HOMEPAGE="http://www.winehq.org/" SRC_URI="${SRC_URI} gecko? ( - abi_x86_32? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86.msi ) - abi_x86_64? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86_64.msi ) + abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi ) + abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi ) ) - mono? ( mirror://sourceforge/${PN}/Wine%20Mono/${MV}/wine-mono-${MV}.msi ) - gstreamer? ( https://dev.gentoo.org/~tetromino/distfiles/${PN}/${GST_P}.patch.bz2 ) + mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi ) + gstreamer? ( https://dev.gentoo.org/~np-hardass/distfiles/${PN}/${GST_P}.patch.bz2 ) https://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2" if [[ ${PV} == "9999" ]] ; then @@ -56,8 +56,8 @@ REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) pipelight? ( staging ) s3tc? ( staging ) vaapi? ( staging ) - ?? ( gstreamer staging ) osmesa? ( opengl )" #286560 + #?? ( gstreamer staging ) #Should be fixed by pre/post patchset # FIXME: the test suite is unsuitable for us; many tests require net access # or fail due to Xvfb's opengl limitations. @@ -203,10 +203,22 @@ pkg_setup() { src_unpack() { if [[ ${PV} == "9999" ]] ; then git-r3_src_unpack - if use staging || use pulseaudio; then + if use staging; then + local WINE_COMMIT=${EGIT_VERSION} + EGIT_REPO_URI=${STAGING_EGIT_REPO_URI} unset ${PN}_LIVE_REPO; + unset EGIT_COMMIT; + EGIT_CHECKOUT_DIR=${STAGING_DIR} git-r3_src_unpack + + local STAGING_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die + + if [[ "${WINE_COMMIT}" != "${STAGING_COMMIT}" ]]; then + einfo "The current Staging patchset is not guaranteed to apply on this WINE commit." + einfo "If src_prepare fails, try emerging with the env var EGIT_COMMIT." + einfo "Example: EGIT_COMMIT=${STAGING_COMMIT} emerge -1 wine" + fi fi else unpack ${P}.tar.bz2 @@ -240,17 +252,16 @@ src_prepare() { # patch on top. if use staging; then PATCHES+=( - "${FILESDIR}/${PN}-1.7.39-gstreamer-v5-staging-pre.patch" + "${FILESDIR}/${PN}-1.7.55-gstreamer-v5-staging-pre.patch" "${WORKDIR}/${GST_P}.patch" - "${FILESDIR}/${PN}-1.7.39-gstreamer-v5-staging-post.patch" ) + "${FILESDIR}/${PN}-1.7.55-gstreamer-v5-staging-post.patch" ) else PATCHES+=( "${WORKDIR}/${GST_P}.patch" ) fi fi if use staging; then - ewarn "Applying the unofficial Wine-Staging patchset which is unsupported" - ewarn "by Wine developers. Please don't report bugs to Wine bugzilla" - ewarn "unless you can reproduce them with USE=-staging" + ewarn "Applying the Wine-Staging patchset. Any bug reports to the" + ewarn "Wine bugzilla should explicitly state that staging was used." local STAGING_EXCLUDE="" use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight" @@ -318,7 +329,7 @@ multilib_src_configure() { $(use_with oss) $(use_with pcap) $(use_with png) - $(use_with pulseaudio) + $(use_with pulseaudio pulse) $(use_with threads pthread) $(use_with scanner sane) $(use_enable test tests) diff --git a/app-emulation/winetricks/Manifest b/app-emulation/winetricks/Manifest index efbc594b16..b78a50da93 100644 --- a/app-emulation/winetricks/Manifest +++ b/app-emulation/winetricks/Manifest @@ -1,2 +1,2 @@ -DIST winetricks-20151116.tar.gz 174763 SHA256 a8947974f47ec575e62717abe591a737d7214557e7ece4c39de079599ba4bf70 SHA512 a769eefcc80725b871791dbec9b869bdfdbbbccf816b943a242ee17f3a35e91efeb4433330ade590b98ff7f6884d5f9900d195bb386f52907e91b543ce416230 WHIRLPOOL c15643186c30258d1e590b5a233aea893f071750e4369d1d95b0ff818e077fe0f51415b2e15ff3524429882cd13880aa3a198b3c01ccc5450fe9e68feba39836 +DIST winetricks-20160109.tar.gz 176741 SHA256 6a55db3c1441021bfcb8653b3f0c6eb4260e1ab22fbe98083d28f21470f0ca71 SHA512 41fd0f7bfa2155131d26eb185a584d6e276931f6cc22341847690fa82d3f35e0c9fdeec877a5dc6d4d6092d6a15299e98015be9aaa84677cd5442fbff4fa3891 WHIRLPOOL f6bfa5596c855a942a1ffebcc6252274c379187a9763c036795b3e431ccdcadb7116e48e23ac3109547d96e5cfa9302c3d99a911190ac0d70b073d355974f95e DIST winetricks-gentoo-2012.11.24.tar.bz2 6398 SHA256 dded8c294cc5c2e71e4a5d1531ab165178cf3d2d1d890d0656368c2e499bfeb9 SHA512 59c93b73f3a7b2d11aefcde2ff66659ff1de21ad4b5f232f4b60572f3a48b15a6c49f369b1696862bf1b33fde190bf5598945e9536fb41ddec42d8def4d2be2a WHIRLPOOL 268da9e06712a678fbbcfff8eac1fca364b5e46f0a9c48a591eb88f03260b1a55f203eb2908bfe1f0a534b77c866127ff6f7049b0e43fe8abeaaa26fe55de75b diff --git a/app-emulation/winetricks/metadata.xml b/app-emulation/winetricks/metadata.xml index 0c912e8caf..723f372ad4 100644 --- a/app-emulation/winetricks/metadata.xml +++ b/app-emulation/winetricks/metadata.xml @@ -1,12 +1,18 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <herd>wine</herd> - <herd>proxy-maintainers</herd> - <maintainer> + <maintainer type="person"> <email>NP-Hardass@gentoo.org</email> <name>NP-Hardass</name> </maintainer> + <maintainer type="project"> + <email>wine@gentoo.org</email> + <name>Wine</name> + </maintainer> + <maintainer type="project"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> <upstream> <remote-id type="google-code">winetricks</remote-id> <remote-id type="github">Winetricks/winetricks</remote-id> diff --git a/app-emulation/winetricks/winetricks-20151116.ebuild b/app-emulation/winetricks/winetricks-20160109.ebuild index dba352c251..dba352c251 100644 --- a/app-emulation/winetricks/winetricks-20151116.ebuild +++ b/app-emulation/winetricks/winetricks-20160109.ebuild diff --git a/app-emulation/x48/metadata.xml b/app-emulation/x48/metadata.xml index 52455208f6..b1e78a979e 100644 --- a/app-emulation/x48/metadata.xml +++ b/app-emulation/x48/metadata.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer> + <maintainer type="person"> <email>nimiux@gentoo.org</email> <name>Chema Alonso</name> </maintainer> diff --git a/app-emulation/xe-guest-utilities/metadata.xml b/app-emulation/xe-guest-utilities/metadata.xml index 789adcec8f..1f598c8eba 100644 --- a/app-emulation/xe-guest-utilities/metadata.xml +++ b/app-emulation/xe-guest-utilities/metadata.xml @@ -1,17 +1,26 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> -<herd>openstack</herd> -<herd>virtualization</herd> -<herd>xen</herd> -<maintainer> +<maintainer type="person"> <email>bugs@camisa.org</email> <name>Christopher J. Camisa</name> <description>proxy maintainer</description> </maintainer> -<maintainer> +<maintainer type="person"> <email>robbat2@gentoo.org</email> </maintainer> +<maintainer type="project"> + <email>openstack@gentoo.org</email> + <name>Openstack</name> +</maintainer> +<maintainer type="project"> + <email>virtualization@gentoo.org</email> + <name>Gentoo Virtualization Project</name> +</maintainer> +<maintainer type="project"> + <email>xen@gentoo.org</email> + <name>Gentoo Xen Project</name> +</maintainer> <longdescription>XenServer Virtual Machine Tools</longdescription> <use> <flag name="xenstore">Use xenstore binaries bundled by Citrix instead of building app-emulation/xen-tools</flag> diff --git a/app-emulation/xen-pvgrub/Manifest b/app-emulation/xen-pvgrub/Manifest index 1851d042ad..83297a8a64 100644 --- a/app-emulation/xen-pvgrub/Manifest +++ b/app-emulation/xen-pvgrub/Manifest @@ -3,8 +3,6 @@ DIST lwip-1.3.0.tar.gz 398933 SHA256 772e4d550e07826665ed0528c071dd5404ef7dbe182 DIST newlib-1.16.0.tar.gz 12024353 SHA256 db426394965c48c1d29023e1cc6d965ea6b9a9035d8a849be2750ca4659a3d07 SHA512 40eb96bbc6736a16b6399e0cdb73e853d0d90b685c967e77899183446664d64570277a633fdafdefc351b46ce210a99115769a1d9f47ac749d7e82837d4d1ac3 WHIRLPOOL 47f7afd525f482d79d9e964f0e75ee8a77e59551bd19cd94f9b95ac3af9406afa381c9d8d224f76eb568441ab613b2b194f8e5be50aa222f9ed2d9b9761829db DIST pciutils-2.2.9.tar.bz2 212265 SHA256 f60ae61cfbd5da1d849d0beaa21f593c38dac9359f0b3ddc612f447408265b24 SHA512 2b3d98d027e46d8c08037366dde6f0781ca03c610ef2b380984639e4ef39899ed8d8b8e4cd9c9dc54df101279b95879bd66bfd4d04ad07fef41e847ea7ae32b5 WHIRLPOOL ce801947fcf7ba0b56710029f25e746d3e03a80699af9d3570efcd417b12b546264f286b2e78b1402cca766c08e35bdd0ff0a692ab4ad419295f00bcfe91130e DIST polarssl-1.1.4-gpl.tgz 611340 SHA256 2d29fd04a0d0ba29dae6bd29fb418944c08d3916665dcca74afb297ef37584b6 SHA512 88da614e4d3f4409c4fd3bb3e44c7587ba051e3fed4e33d526069a67e8180212e1ea22da984656f50e290049f60ddca65383e5983c0f8884f648d71f698303ad WHIRLPOOL 39448c00dda142a836a78381b446c7b586272a44d8afc867a7ea702228f105bb2adffe757bd6c23af090cff64ef32e7af0c373dccc5145ff4c11552cf3f28383 -DIST xen-4.2.5.tar.gz 15671925 SHA256 3cf440866315e8085050eb0586f0447b6b47a08dbed6a72226bf5ed5d89ec567 SHA512 42c0fc241952fc55fc44480fb6752b004b54ae40e946159ec047adf229b65cbfbd810271d01b064ad8fdbddb73c640dcdcb6bc19f91e8968829889c129920dac WHIRLPOOL 762a91c0111892b33e6bd3e7f7714709b04697ad7c2b0919fef6cc9570a343a77fd5a2b82833e75dac9d12d4e41acdcf0743b0d593595910ddd326f5cd721368 -DIST xen-4.5.1.tar.gz 18410400 SHA256 668c11d4fca67ac44329e369f810356eacd37b28d28fb96e66aac77f3c5e1371 SHA512 9436243e26bc64bc836a179abdc3a6b1b6fa9d3f2170453092c18be71fa62e18cd4465a9154c0f28a7ac8d69d08361ba1defef240a51197f058c012c3855ba04 WHIRLPOOL 71d8559f86683dd9fb3eb09d3f602de227f281fbd3c8cc258bfdb67c425d9e7c4d21cb0284c123e4263262c1b821fea6d28109861ce60d627f6426d352808d99 DIST xen-4.5.2.tar.gz 18416220 SHA256 4c9e5dac4eea484974e9f76da2756c8e0973b4e884d28d37e955df9ebf00e7e8 SHA512 e0ce01a5356c254bfde48fae0b0e005c42c1615a7ccf4c1ba7dcf90784777b53995e9a9ae4575e3f19ef341014b34cb8c06e39d68be359f7fd69830501a144dd WHIRLPOOL b50ce28e58d8419915f7f85de7ab23128719fa07c54f28165c4ba864ffe57230230fa7cb61dd2ed7608b8bc178a072124aedc30c61a45fb8b745fc616715219b DIST xen-4.6.0.tar.gz 19694350 SHA256 6fa1c2431df55aa5950d248e6093b8c8c0f11c357a0adbd348a2186478e80909 SHA512 b4b02f306ffea360f539dd8c231b2f58c00c3638fdb665cb659c7291b475b40f1075bc59d49a6144767729e57b8bc40a1cfd9030d61de2b8fa4ac97d43655c2b WHIRLPOOL d3f01183440ca1875b6e850bd116db0c382383433e50c0902d3268e9e36b39d184fc65e925bdb5363ef4ca7a232fee15b4749c89baf789137b8a8248565c75a8 DIST zlib-1.2.3.tar.gz 496597 SHA256 1795c7d067a43174113fdf03447532f373e1c6c57c08d61d9e4e9be5e244b05e SHA512 021b958fcd0d346c4ba761bcf0cc40f3522de6186cf5a0a6ea34a70504ce9622b1c2626fce40675bc8282cf5f5ade18473656abc38050f72f5d6480507a2106e WHIRLPOOL 8fd7010faf6a48a9c7ff4bcfe3ce4fe9061eb541259e0a2d0def214e8c4becf2b22e8d6f96f65ca827abffeaa9d96e95ed2402844f99835f7b079fc9f3e84276 diff --git a/app-emulation/xen-pvgrub/metadata.xml b/app-emulation/xen-pvgrub/metadata.xml index cc9d568a33..64e6e97124 100644 --- a/app-emulation/xen-pvgrub/metadata.xml +++ b/app-emulation/xen-pvgrub/metadata.xml @@ -1,5 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> -<herd>xen</herd> +<maintainer type="project"> + <email>xen@gentoo.org</email> + <name>Gentoo Xen Project</name> +</maintainer> </pkgmetadata> diff --git a/app-emulation/xen-pvgrub/xen-pvgrub-4.2.5.ebuild b/app-emulation/xen-pvgrub/xen-pvgrub-4.2.5.ebuild deleted file mode 100644 index 6362385f92..0000000000 --- a/app-emulation/xen-pvgrub/xen-pvgrub-4.2.5.ebuild +++ /dev/null @@ -1,162 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=5 - -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE='xml,threads' - -inherit flag-o-matic eutils multilib python-single-r1 toolchain-funcs - -XEN_EXTFILES_URL="http://xenbits.xensource.com/xen-extfiles" -LIBPCI_URL=ftp://atrey.karlin.mff.cuni.cz/pub/linux/pci -GRUB_URL=mirror://gnu-alpha/grub - -UPSTREAM_VER= -GENTOO_VER= - -[[ -n ${UPSTREAM_VER} ]] && \ - UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P/-pvgrub/}-upstream-patches-${UPSTREAM_VER}.tar.xz" -[[ -n ${GENTOO_VER} ]] && \ - GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P/-pvgrub/}-gentoo-patches-${GENTOO_VER}.tar.xz" - -SRC_URI=" - http://bits.xensource.com/oss-xen/release/${PV}/xen-${PV}.tar.gz - $GRUB_URL/grub-0.97.tar.gz - $XEN_EXTFILES_URL/zlib-1.2.3.tar.gz - $LIBPCI_URL/pciutils-2.2.9.tar.bz2 - $XEN_EXTFILES_URL/lwip-1.3.0.tar.gz - $XEN_EXTFILES_URL/newlib/newlib-1.16.0.tar.gz - ${UPSTREAM_PATCHSET_URI} - ${GENTOO_PATCHSET_URI} - " - -S="${WORKDIR}/xen-${PV}" - -DESCRIPTION="allows to boot Xen domU kernels from a menu.lst laying inside guest filesystem" -HOMEPAGE="http://xen.org/" -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 x86" -IUSE="custom-cflags" - -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -DEPEND="sys-devel/gettext - sys-devel/bin86" - -RDEPEND=">=app-emulation/xen-4.2.1" - -pkg_setup() { - python-single-r1_pkg_setup -} - -retar-externals() { - # Purely to unclutter src_prepare - local set="grub-0.97.tar.gz lwip-1.3.0.tar.gz newlib-1.16.0.tar.gz zlib-1.2.3.tar.gz" - - # epatch can't patch in $WORKDIR, requires a sed; Bug #455194. Patchable, but sed informative - sed -e s':AR=${AR-"ar rc"}:AR=${AR-"ar"}:' \ - -i "${WORKDIR}"/zlib-1.2.3/configure - sed -e 's:^AR=ar rc:AR=ar:' \ - -e s':$(AR) $@:$(AR) rc $@:' \ - -i "${WORKDIR}"/zlib-1.2.3/{Makefile,Makefile.in} - einfo "zlib Makefile edited" - - cd "${WORKDIR}" - tar czp zlib-1.2.3 -f zlib-1.2.3.tar.gz - tar czp grub-0.97 -f grub-0.97.tar.gz - tar czp lwip -f lwip-1.3.0.tar.gz - tar czp newlib-1.16.0 -f newlib-1.16.0.tar.gz - mv $set "${S}"/stubdom/ - einfo "tarballs moved to source" -} - -src_prepare() { - # Upstream's patchset - if [[ -n ${UPSTREAM_VER} ]]; then - EPATCH_SUFFIX="patch" \ - EPATCH_FORCE="yes" \ - epatch "${WORKDIR}"/patches-upstream - fi - - # Gentoo's patchset - if [[ -n ${GENTOO_VER} ]]; then - EPATCH_SUFFIX="patch" \ - EPATCH_FORCE="yes" \ - epatch "${WORKDIR}"/patches-gentoo - 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 {} \; - fi - - # Patch the unmergeable newlib, fix most of the leftover gcc QA issues - cp "${FILESDIR}"/newlib-implicits.patch stubdom || die - - # Patch stubdom/Makefile to patch insource newlib & prevent internal downloading - epatch "${FILESDIR}"/${PN/-pvgrub/}-4.2.1-externals.patch - - # Drop .config and Fix gcc-4.6 - epatch "${FILESDIR}"/${PN/-pvgrub/}-4-fix_dotconfig-gcc.patch - - # fix jobserver in Makefile - epatch "${FILESDIR}"/${PN}-4.2-jserver.patch - - # gcc warnings/QA fix - epatch "${FILESDIR}"/${PN}-4.2.3-qa.patch - - #Substitute for internal downloading. pciutils copied only due to the only .bz2 - cp "${DISTDIR}"/pciutils-2.2.9.tar.bz2 ./stubdom/ || die "pciutils not copied to stubdom" - retar-externals || die "re-tar procedure failed" -} - -src_compile() { - use custom-cflags || unset CFLAGS - if test-flag-CC -fno-strict-overflow; then - append-flags -fno-strict-overflow - fi - - emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" -C tools/include - - if use x86; then - emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" \ - XEN_TARGET_ARCH="x86_32" -C stubdom pv-grub - elif use amd64; then - emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" \ - XEN_TARGET_ARCH="x86_64" -C stubdom pv-grub - if has_multilib_profile; then - multilib_toolchain_setup x86 - emake CC="$(tc-getCC)" AR="$(tc-getAR)" \ - XEN_TARGET_ARCH="x86_32" -C stubdom pv-grub - fi - fi -} - -src_install() { - if use x86; then - emake XEN_TARGET_ARCH="x86_32" DESTDIR="${D}" -C stubdom install-grub - fi - if use amd64; then - emake XEN_TARGET_ARCH="x86_64" DESTDIR="${D}" -C stubdom install-grub - if has_multilib_profile; then - emake XEN_TARGET_ARCH="x86_32" DESTDIR="${D}" -C stubdom install-grub - fi - fi -} - -pkg_postinst() { - elog "Official Xen Guide and the offical wiki page:" - elog "https://www.gentoo.org/doc/en/xen-guide.xml" - elog "http://wiki.xen.org/wiki/Main_Page" -} diff --git a/app-emulation/xen-pvgrub/xen-pvgrub-4.5.1.ebuild b/app-emulation/xen-pvgrub/xen-pvgrub-4.5.1.ebuild deleted file mode 100644 index 8e1c138209..0000000000 --- a/app-emulation/xen-pvgrub/xen-pvgrub-4.5.1.ebuild +++ /dev/null @@ -1,143 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=5 - -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE='xml,threads' - -inherit flag-o-matic eutils multilib python-single-r1 toolchain-funcs - -XEN_EXTFILES_URL="http://xenbits.xensource.com/xen-extfiles" -LIBPCI_URL=ftp://atrey.karlin.mff.cuni.cz/pub/linux/pci -GRUB_URL=mirror://gnu-alpha/grub -SRC_URI=" - http://bits.xensource.com/oss-xen/release/${PV}/xen-${PV}.tar.gz - $GRUB_URL/grub-0.97.tar.gz - $XEN_EXTFILES_URL/zlib-1.2.3.tar.gz - $LIBPCI_URL/pciutils-2.2.9.tar.bz2 - $XEN_EXTFILES_URL/lwip-1.3.0.tar.gz - $XEN_EXTFILES_URL/newlib/newlib-1.16.0.tar.gz - $XEN_EXTFILES_URL/polarssl-1.1.4-gpl.tgz" - -S="${WORKDIR}/xen-${PV}" - -DESCRIPTION="allows to boot Xen domU kernels from a menu.lst laying inside guest filesystem" -HOMEPAGE="http://xen.org/" -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 -x86" -IUSE="custom-cflags" - -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -DEPEND="sys-devel/gettext - sys-devel/bin86 - sys-apps/texinfo" - -RDEPEND=">=app-emulation/xen-4.2.1" - -pkg_setup() { - python-single-r1_pkg_setup -} - -retar-externals() { - # Purely to unclutter src_prepare - local set="grub-0.97.tar.gz lwip-1.3.0.tar.gz newlib-1.16.0.tar.gz polarssl-1.1.4-gpl.tgz zlib-1.2.3.tar.gz" - - # epatch can't patch in $WORKDIR, requires a sed; Bug #455194. Patchable, but sed informative - sed -e s':AR=${AR-"ar rc"}:AR=${AR-"ar"}:' \ - -i "${WORKDIR}"/zlib-1.2.3/configure - sed -e 's:^AR=ar rc:AR=ar:' \ - -e s':$(AR) $@:$(AR) rc $@:' \ - -i "${WORKDIR}"/zlib-1.2.3/{Makefile,Makefile.in} - einfo "zlib Makefile edited" - - cd "${WORKDIR}" - tar czp zlib-1.2.3 -f zlib-1.2.3.tar.gz - tar czp grub-0.97 -f grub-0.97.tar.gz - tar czp lwip -f lwip-1.3.0.tar.gz - tar czp newlib-1.16.0 -f newlib-1.16.0.tar.gz - tar czp polarssl-1.1.4 -f polarssl-1.1.4-gpl.tgz - mv $set "${S}"/stubdom/ - einfo "tarballs moved to source" -} - -src_prepare() { - # 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 {} \; - fi - - # Patch the unmergeable newlib, fix most of the leftover gcc QA issues - cp "${FILESDIR}"/newlib-implicits.patch stubdom || die - - # Patch stubdom/Makefile to patch insource newlib & prevent internal downloading - epatch "${FILESDIR}"/${PN/-pvgrub/}-4.3-externals.patch - - # fix jobserver in Makefile - epatch "${FILESDIR}"/${PN}-4.2-jserver.patch - - #Substitute for internal downloading. pciutils copied only due to the only .bz2 - cp "${DISTDIR}"/pciutils-2.2.9.tar.bz2 ./stubdom/ || die "pciutils not copied to stubdom" - retar-externals || die "re-tar procedure failed" -} - -src_configure() { - local myconf="--prefix=${PREFIX}/usr \ - --libdir=${PREFIX}/usr/$(get_libdir) \ - --libexecdir=${PREFIX}/usr/libexec \ - --disable-werror \ - --disable-xen" - - econf ${myconf} -} - -src_compile() { - use custom-cflags || unset CFLAGS - if test-flag-CC -fno-strict-overflow; then - append-flags -fno-strict-overflow - fi - - emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" -C tools/include - - if use x86; then - emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" \ - XEN_TARGET_ARCH="x86_32" -C stubdom pv-grub - elif use amd64; then - emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" \ - XEN_TARGET_ARCH="x86_64" -C stubdom pv-grub - if has_multilib_profile; then - multilib_toolchain_setup x86 - emake CC="$(tc-getCC)" AR="$(tc-getAR)" \ - XEN_TARGET_ARCH="x86_32" -C stubdom pv-grub - fi - fi -} - -src_install() { - if use x86; then - emake XEN_TARGET_ARCH="x86_32" DESTDIR="${D}" -C stubdom install-grub - fi - if use amd64; then - emake XEN_TARGET_ARCH="x86_64" DESTDIR="${D}" -C stubdom install-grub - if has_multilib_profile; then - emake XEN_TARGET_ARCH="x86_32" DESTDIR="${D}" -C stubdom install-grub - fi - fi -} - -pkg_postinst() { - elog "Official Xen Guide and the offical wiki page:" - elog "https://wiki.gentoo.org/wiki/Xen" - elog "http://wiki.xen.org/wiki/Main_Page" -} diff --git a/app-emulation/xen-pvgrub/xen-pvgrub-4.5.2.ebuild b/app-emulation/xen-pvgrub/xen-pvgrub-4.5.2.ebuild index 8e1c138209..f074d914da 100644 --- a/app-emulation/xen-pvgrub/xen-pvgrub-4.5.2.ebuild +++ b/app-emulation/xen-pvgrub/xen-pvgrub-4.5.2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ @@ -27,7 +27,7 @@ DESCRIPTION="allows to boot Xen domU kernels from a menu.lst laying inside guest HOMEPAGE="http://xen.org/" LICENSE="GPL-2" SLOT="0" -KEYWORDS="amd64 -x86" +KEYWORDS="amd64 x86" IUSE="custom-cflags" REQUIRED_USE="${PYTHON_REQUIRED_USE}" @@ -36,7 +36,7 @@ DEPEND="sys-devel/gettext sys-devel/bin86 sys-apps/texinfo" -RDEPEND=">=app-emulation/xen-4.2.1" +RDEPEND=">=app-emulation/xen-tools-${PV}" pkg_setup() { python-single-r1_pkg_setup diff --git a/app-emulation/xen-pvgrub/xen-pvgrub-4.6.0.ebuild b/app-emulation/xen-pvgrub/xen-pvgrub-4.6.0.ebuild index a47af5897c..eb54859f43 100644 --- a/app-emulation/xen-pvgrub/xen-pvgrub-4.6.0.ebuild +++ b/app-emulation/xen-pvgrub/xen-pvgrub-4.6.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ @@ -27,16 +27,17 @@ DESCRIPTION="allows to boot Xen domU kernels from a menu.lst laying inside guest HOMEPAGE="http://xen.org/" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~amd64 -x86" +KEYWORDS="amd64 x86" IUSE="custom-cflags" REQUIRED_USE="${PYTHON_REQUIRED_USE}" DEPEND="sys-devel/gettext sys-devel/bin86 - sys-apps/texinfo" + sys-apps/texinfo + x11-libs/pixman" -RDEPEND=">=app-emulation/xen-4.2.1" +RDEPEND=">=app-emulation/xen-tools-${PV}" pkg_setup() { python-single-r1_pkg_setup diff --git a/app-emulation/xen-tools/Manifest b/app-emulation/xen-tools/Manifest index 71bcf10ebc..4a880d308c 100644 --- a/app-emulation/xen-tools/Manifest +++ b/app-emulation/xen-tools/Manifest @@ -1,17 +1,16 @@ DIST ovmf-20150629.tar.bz2 24265640 SHA256 9f316dc44e192fa9d5d7486cf1dae3f3094ab4f20f282f80d6251632c2cd6118 SHA512 b15a896b5222b920a500ec8a1eba5d670505441ffd02accf9b6c0deb9a12c1c5513a016f91eae5cb33f75ee9f28435dc957686e6ce8b5d0744c11a7d7262fffd WHIRLPOOL 8db4360dcb85f183dbd827f7381787c84065f94eaf746068b11ef7b30412b16cc0ba75effb04f01dea5f4f67967721f7aca11a2550035e95c59645c7964526ac -DIST seabios-1.6.3.2.tar.gz 422376 SHA256 888aafe37ef3d1f502a73518a5e4dd0e9373ce4cd41681c354771314f1e41dd7 SHA512 c54431d8e81d25b74427696da689e90d3ab68c7c1be1dec05c81658d28b650f53daa34dcee2da826c1cf5d5d39396b12b0b16ea20ed6fd89de8f732163c8cca5 WHIRLPOOL 826c0e034ca46291661faa363189ee6cf56098cabc39f8fc84d2c442cc2da2174c2fa027cc11e11a7c3fed619f2e524f2aee804d9836d256448cdad28631d69a DIST seabios-1.7.5.tar.gz 537566 SHA256 858d9eda4ad91efa1c45a5a401d560ef9ca8dd172f03b0a106f06661c252dc51 SHA512 ecf5fb9ac44dde6e4ac00baa6c920dde51b923f23dd74e62c5a02eceaf235e57b885975c5a8bd0927e268115c72bd1143a080fdfd4eff4e168ebeaa30436280e WHIRLPOOL 5e1e99b3bd82a8607c5986fde4592c7437bec4bd78abd5873710f6c431d075436725e8d0d32e9f0dd2921c9d84b8613108b21d31c5309a73e337ead7adf35e90 -DIST xen-4.2.5-upstream-patches-10.tar.xz 41428 SHA256 b29ce85b049420838c3386b67184f4ba56794846d056837fa780ae89a80b40d0 SHA512 9e8046e27506d864e2d69728897cbba3eea1dd5ca748a3febb722901c5a67cca2ab49bb420071292538bd0345023fa337eb2d176b9ca05ca6bce47562f6710ec WHIRLPOOL 29e534ef6b951cf220a3a9476d1f76ac344bfc5c74998f2b472ec83cbe4781746298272e3c1fe8661a838cbc7d734d2730de6a1e9985b8a60f40c98f54449e2a -DIST xen-4.2.5-upstream-patches-9.tar.xz 23208 SHA256 2206e9a8aeeed207abbae995c5d2baa14d5f0da4120ae44f2de733ecf7ea5af1 SHA512 8a2edaba48002449a521edf2ae078ffe1b3db4f491a85b063886a147a0be3ec7fdb819ce84c90cdae80ed34c10ab2d637506700be10052a67be6ef128fa40fb1 WHIRLPOOL 037820e0fad60d1f7ed054efa797585c992d08f1ffd533705c515ad289f8cdddc72b97f2a3d75ebd683c6bb6988d7285452b4f3cebbe9a879f701156e387ff3b -DIST xen-4.2.5.tar.gz 15671925 SHA256 3cf440866315e8085050eb0586f0447b6b47a08dbed6a72226bf5ed5d89ec567 SHA512 42c0fc241952fc55fc44480fb6752b004b54ae40e946159ec047adf229b65cbfbd810271d01b064ad8fdbddb73c640dcdcb6bc19f91e8968829889c129920dac WHIRLPOOL 762a91c0111892b33e6bd3e7f7714709b04697ad7c2b0919fef6cc9570a343a77fd5a2b82833e75dac9d12d4e41acdcf0743b0d593595910ddd326f5cd721368 -DIST xen-4.5.1-upstream-patches-0.tar.xz 18236 SHA256 95910023cb99f11b4df6d57d82000bbd67714d4ed0700e152619c5b82c1bc6e5 SHA512 531e5bbe6b9920a58361f11bb1bb6df65ebaf01e3af13f9aca018e8512727d950009257dfc9b3d0b0f847968da499cf9423716de8a04869cec6f92f5274462e2 WHIRLPOOL 3e6dda862d1bbe736b85422117148c3db91a308a58eb1476e27bbb7355ea7793269cdfc489697c9e5eea5f0ac5319df5c88f2707b10c9a96b8142927a4169819 -DIST xen-4.5.1.tar.gz 18410400 SHA256 668c11d4fca67ac44329e369f810356eacd37b28d28fb96e66aac77f3c5e1371 SHA512 9436243e26bc64bc836a179abdc3a6b1b6fa9d3f2170453092c18be71fa62e18cd4465a9154c0f28a7ac8d69d08361ba1defef240a51197f058c012c3855ba04 WHIRLPOOL 71d8559f86683dd9fb3eb09d3f602de227f281fbd3c8cc258bfdb67c425d9e7c4d21cb0284c123e4263262c1b821fea6d28109861ce60d627f6426d352808d99 +DIST seabios-1.8.2.tar.gz 538497 SHA256 f59479307fdae840de398b75aacb2333c8eba24a5964d68c77e32ca6c987ee61 SHA512 798d222d5f5725a805cde9e6000b5ce714d0551fd4a3c2642cc6e77b2bdab1a9e239939a358a23bbe0e00112f5ad70696c87d20b90655463c835541fc04e1a00 WHIRLPOOL 9cda0ad502a59dd718c543b759ac3fcf5acb4adee70c3da9bfea95ab188415acf6425827de77f45421ec3be8fd9e0c37fb486e62828217ba3e83f88d942a3f4a DIST xen-4.5.2.tar.gz 18416220 SHA256 4c9e5dac4eea484974e9f76da2756c8e0973b4e884d28d37e955df9ebf00e7e8 SHA512 e0ce01a5356c254bfde48fae0b0e005c42c1615a7ccf4c1ba7dcf90784777b53995e9a9ae4575e3f19ef341014b34cb8c06e39d68be359f7fd69830501a144dd WHIRLPOOL b50ce28e58d8419915f7f85de7ab23128719fa07c54f28165c4ba864ffe57230230fa7cb61dd2ed7608b8bc178a072124aedc30c61a45fb8b745fc616715219b DIST xen-4.6.0-upstream-patches-0.tar.xz 19280 SHA256 8ef2d139f86cb52d2208a17c974e5a85356183ee359ab4b91882067548806e0c SHA512 9fde8d9def1d75e50c10069af7f9fea4b5b6992b7089eb554e1e2a4c78dd080f2977128d0dd541eeb735b951e7d6614a07101f7703457e7743ac6b3be962cdfe WHIRLPOOL 861c7f150811912422f6f5eb77437744d1456740a43bef3dfd88a2e6d6836c0e8460b788ccd4f14a7144652d65a825c08aa984ec4240b2b1ac6d09237695d19d DIST xen-4.6.0.tar.gz 19694350 SHA256 6fa1c2431df55aa5950d248e6093b8c8c0f11c357a0adbd348a2186478e80909 SHA512 b4b02f306ffea360f539dd8c231b2f58c00c3638fdb665cb659c7291b475b40f1075bc59d49a6144767729e57b8bc40a1cfd9030d61de2b8fa4ac97d43655c2b WHIRLPOOL d3f01183440ca1875b6e850bd116db0c382383433e50c0902d3268e9e36b39d184fc65e925bdb5363ef4ca7a232fee15b4749c89baf789137b8a8248565c75a8 -DIST xen-gentoo-patches-1.tar.xz 23044 SHA256 dcff35bbc4b6946473c9b55ad595a5fea88e8dac1bd977cbe18a644b2cced2e0 SHA512 a4c66382d44112e7be09711e3ecf0f8ebd9a30b29e04d8aca536430172bdd111ab8bab7700433e0dc35165f876eb7e9cd2e554d74ce2a166fb2dfd4de482cb7a WHIRLPOOL d0443e1501ac813ac3226df32a6b050c03302c3d74e3b3bd1293ab4ad929b5c314cc0eac13505ce8a826ee357117e8eeaf0713fd8b9c55f40296966fda082c2e DIST xen-gentoo-patches-4.tar.xz 23632 SHA256 5cdb0f93ee32d0a5fc4fc7282270ace73acfdc4df694f7b29c1135180d902049 SHA512 3006ce4cd67e80a9f79d9ba3814a64704b0d762159a439a140b1ec0a2699473cd5537950f0913b55f8f7e3d0fd2e9861f3199793120d8d2502aa3f8ef7816c8f WHIRLPOOL 4a921103df2825ccd8b0481708e7cd692fa45d5aadae286c1522c144a1576920e7d3567648565bb9af85bb6bb597ea9d0ec04ea6abd2115db4caf7e739717b1a -DIST xen-gentoo-patches-5.tar.xz 23664 SHA256 41e23ec6fb5a4ef5a1f8746de0e33579de2c725368afed6bd2b7506df5e8c2b5 SHA512 8370cef1aa06585e8fa8f8c6eb7f29375ac6f5a240c859ebb6982d1c1ec159c9c331c861f39838f53093cdceca24ee1b0d98c1c92874dd4113e73eb884842eac WHIRLPOOL 4b65283220b66555a69b65331d3dcb8b8353fef584eb723c2a703712bc6eac57b70f500eeeffc511e75d3ab5d3a1eac8aac83133baf4c90ab498b1843764eb9f DIST xen-ovmf-patches-1.tar.xz 4724 SHA256 d14e98e62c78c9f4b8a7e7b4a04de6dabf300f393eff44154d06f93aa43d7703 SHA512 a17467762f6d92018ff9bce783ce148039f23159405e801ec2aef4c3db72c3976c6f1e41d8c2a2cb704a9654556a2050302f284cfe8e32f28f393b8e2c6d2f1c WHIRLPOOL de53ad07f20aa14fe76d974db92d5b6808f0a2dd26a627b818914990add7adad8e6135d42641819dc22947031981c5815bae5aeeed0f28785c90beda0a6ff6c8 -DIST xen-security-patches-6.tar.xz 24780 SHA256 b41422583e5f7b4c85b82d89ab66f3e0fa8de8fdb2ae42aa3da40822e9507ef5 SHA512 c58831eb5e26a78a3072623b83bad125ddd4cd67c0075a708be81a7f50ee936cd2e5832a9b88129e11ec81ebafc9cfbc339fb8296d6f4b44c04630b349c4a621 WHIRLPOOL edecaefef0b6dd1a10c479362362640d9bd7a43623085c1f20b1171c65746220d7fdfd0e20892f60ea7d2f6052389da2a1d3c0179a88d7c4d52b3aa33cbef05e +DIST xen-qemu-patches-0.tar.gz 3224 SHA256 ff1ac02a6d91e4abdbe069e1bb75d0b798deff5c2c72d1efb5459c72f4278f00 SHA512 4fd0c663a733436188aca364e927ac430d9bbef9859da65c074d7fd66c330645b05ff1f3e849f4581dfcd7054801d65edcff8445c1c63c2725f11e3903415af0 WHIRLPOOL 5504d7ffbd3c1970026c1f43252d9c76f10c5448ede247719e2698aa8f8e93b20e4cc353da5582b3b6887fb3fd7d1e13765f664ea60daeb6020f052eaca9b9f4 +DIST xen-security-patches-1.tar.gz 7040 SHA256 30733e9ca71bf4291ff212eb191afb22687ccd9b2579767fe0ee013152980c76 SHA512 89c72897f18a86c2060bb76a182e7cca72ad2f33a3aab964ecae66e057aeecafee2e9986204d6feb98f81ccb740460ee2cb37663b1ab79f47adc1dd73e0091bc WHIRLPOOL c27e612b87b4a30abbf59e6be019e2c21a78bfbdf1715da5498d95607d390d616251768d419ac5ce76087bbf7cdfc410dd0088ba48e425082cea971efcb64346 +DIST xen-security-patches-2.tar.gz 7370 SHA256 f24bf4b0cba29b51ee71f6ef82654cddf157c63d62fc1119f17255b2388e03ab SHA512 209dea670467ff1df18428c15b25229c05d676d1a2f646cddb221544ae888241ade48a22be037f97dce249ac322c1f30bb477675e5e2cc04a2fbd839e02f1f57 WHIRLPOOL ae66a2fbc0d0f0a555d407ebd3198fa58ee043515fb9821d7b9eda46d088bc87b3de16fe015fd1142294429dd2c1c7826e414a55980e27123185c1a86fb0a8a6 +DIST xen-security-patches-3.tar.gz 7349 SHA256 a1876b918c0a608618f349deed11b547a65c5909c31d72a89340d4908c572f46 SHA512 f5e8e7ab5d9be6aa036e52627931f1b2648de642664b2922f9cab64f44d19ac8682f5beb7fdbcb842ee19346202093fade3f10e39ba60fcb12a101deb4408818 WHIRLPOOL 14ee65babe4edd901914c8b8ddb5d7b54e6738d77642514fe611bf84541ae0a932bcb48f86179d5e7a6741135b9c7b129e8244cc22922c4e592604a696b6082f +DIST xen-security-patches-5.tar.gz 8716 SHA256 afd114f2cb1b623ac1709d75c771006f91b5b2a0a0695f4da3d6aa6f6b340d9f SHA512 f2276759cb418e252052701f5e41e626e1d232098bd7e393e7e58286d356ef33f249c2f9d7b5b1219279de7c4c66832f0d4f761d36bc51e7c10cea973dd9882e WHIRLPOOL 18cb29a0fde10f1bac698c577713db1307c02408778b5d128a4f017ae8be6fba893feb9b8f09fe2d8164dc761d136190d1dbee8a3eb4caa35d8bf976a498d405 +DIST xen-security-patches-6.tar.gz 8308 SHA256 b0dc1df6b27073a83b12a17a04a01e74af8c19a1c96d9dda580bb738eaab25f3 SHA512 b9155eef3f18e47288a6a6bb570a073d4c84449fe11fbac4c35cceaa4f7c06624597f63a8768bddd735c345b8c430aeee18b71f43e9b188de3cfa0cbf608dc0a WHIRLPOOL 9933ed07a2419170070a9eedfda200ec5ebef67b6b98c1b435793008c126347cdc8c0ef9ff2cb4fe0b7333ff51211545a3fe2ff726ca7c22d46f231d6d1e82aa DIST xen-security-patches-7.tar.xz 22604 SHA256 e831c71f830316f452eb8645a5e7ca497264587aa8b353945fd9535f485166e3 SHA512 051769f4118f5c6d5d961759f547526d3fb0e86a4c1dee265a7f0224f10a88e2217b5b5fcf8dbfc706a1ec3c8d1632ab688d3f70dfd89d830261dc7391dd41c2 WHIRLPOOL 8e6dfb4e1700a07e3e3207b67afaddc5d6aa6fd84db9b3e76bd9ff54f682740fed01070e5860bb5378d50903d5777b55dff88eb3444d45bdd63dba657889393d +DIST xen-upstream-patches-0.tar.gz 2297 SHA256 bf21272ad029391d30bf31896efcadc75267538f6c7de5d239453f19659d58ee SHA512 3f5d60aaebd181bddab4dd02e0064de2f75672f44a687a7331fa40e81d56763fea84504081a449d11403b21ad0ba2dac075f0b1796809ef8d16e244f6be99e3d WHIRLPOOL 4ebe79c8f2ea1c45e88e59941e477ed5639dbca3fe95c9a67e07afb0f4b6fb8b7fea8e58422d7c8f906299e4f37c14b4db15200997e5a92b647df98fa93e10c7 diff --git a/app-emulation/xen-tools/metadata.xml b/app-emulation/xen-tools/metadata.xml index dfd18d1ce5..9b082eb179 100644 --- a/app-emulation/xen-tools/metadata.xml +++ b/app-emulation/xen-tools/metadata.xml @@ -1,18 +1,21 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <herd>xen</herd> + <maintainer type="project"> + <email>xen@gentoo.org</email> + <name>Gentoo Xen Project</name> + </maintainer> <use> - <flag name='api'>Build the C libxenapi bindings</flag> - <flag name='flask'>Enable the Flask XSM module from NSA</flag> - <flag name='hvm'>Enable support for hardware based virtualization (VT-x,AMD-v)</flag> - <flag name='qemu'>Enable IOEMU support via the use of qemu-dm</flag> - <flag name='pygrub'>Install the pygrub boot loader</flag> - <flag name='screen'>Enable support for running domain U console in an <pkg>app-misc/screen</pkg> session</flag> - <flag name='system-qemu'>Using <pkg>app-emulation/qemu</pkg> instead of the bundled one</flag> - <flag name='system-seabios'>Using <pkg>sys-firmware/seabios</pkg> instead of the bundled one</flag> - <flag name='ocaml'>Enable support for the ocaml language</flag> - <flag name='ovmf'>Enable support to boot UEFI guest vm, needed by hvm</flag> - <flag name='pam'>Enable pam support</flag> + <flag name="api">Build the C libxenapi bindings</flag> + <flag name="flask">Enable the Flask XSM module from NSA</flag> + <flag name="hvm">Enable support for hardware based virtualization (VT-x,AMD-v)</flag> + <flag name="qemu">Enable IOEMU support via the use of qemu-dm</flag> + <flag name="pygrub">Install the pygrub boot loader</flag> + <flag name="screen">Enable support for running domain U console in an <pkg>app-misc/screen</pkg> session</flag> + <flag name="system-qemu">Using <pkg>app-emulation/qemu</pkg> instead of the bundled one</flag> + <flag name="system-seabios">Using <pkg>sys-firmware/seabios</pkg> instead of the bundled one</flag> + <flag name="ocaml">Enable support for the ocaml language</flag> + <flag name="ovmf">Enable support to boot UEFI guest vm, needed by hvm</flag> + <flag name="pam">Enable pam support</flag> </use> </pkgmetadata> diff --git a/app-emulation/xen-tools/xen-tools-4.2.5-r10.ebuild b/app-emulation/xen-tools/xen-tools-4.2.5-r10.ebuild deleted file mode 100644 index 67e3d1c51a..0000000000 --- a/app-emulation/xen-tools/xen-tools-4.2.5-r10.ebuild +++ /dev/null @@ -1,391 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=5 - -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE='xml,threads' - -if [[ $PV == *9999 ]]; then - KEYWORDS="" - REPO="xen-unstable.hg" - EHG_REPO_URI="http://xenbits.xensource.com/${REPO}" - S="${WORKDIR}/${REPO}" - live_eclass="mercurial" -else - KEYWORDS="amd64 x86" - UPSTREAM_VER=9 - SECURITY_VER=6 - # xen-tools's gentoo patches tarball - GENTOO_VER=1 - # xen-tools's gentoo patches version which apply to this specific ebuild - GENTOO_GPV=0 - SEABIOS_VER=1.6.3.2 - - [[ -n ${UPSTREAM_VER} ]] && \ - UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${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" - - SRC_URI="http://bits.xensource.com/oss-xen/release/${PV}/xen-${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 - ${UPSTREAM_PATCHSET_URI} - ${SECURITY_PATCHSET_URI} - ${GENTOO_PATCHSET_URI}" - S="${WORKDIR}/xen-${PV}" -fi - -inherit bash-completion-r1 eutils flag-o-matic multilib python-single-r1 toolchain-funcs udev ${live_eclass} - -DESCRIPTION="Xend daemon and tools" -HOMEPAGE="http://xen.org/" -DOCS=( README docs/README.xen-bugtool ) - -LICENSE="GPL-2" -SLOT="0" -IUSE="api custom-cflags debug doc flask hvm qemu ocaml pygrub screen static-libs system-seabios" - -REQUIRED_USE="hvm? ( qemu ) - ${PYTHON_REQUIRED_USE}" - -DEPEND="dev-libs/lzo:2 - dev-libs/glib:2 - dev-libs/yajl - dev-libs/libgcrypt:0 - dev-python/lxml[${PYTHON_USEDEP}] - dev-python/pypam[${PYTHON_USEDEP}] - sys-libs/zlib - sys-power/iasl - system-seabios? ( sys-firmware/seabios ) - sys-firmware/ipxe - dev-ml/findlib - hvm? ( media-libs/libsdl ) - ${PYTHON_DEPS} - api? ( dev-libs/libxml2 - net-misc/curl ) - ${PYTHON_DEPS} - pygrub? ( ${PYTHON_DEPS//${PYTHON_REQ_USE}/ncurses} ) - sys-devel/bin86 - sys-devel/dev86 - dev-lang/perl - app-misc/pax-utils - doc? ( - app-doc/doxygen - dev-tex/latex2html[png,gif] - media-gfx/transfig - media-gfx/graphviz - dev-tex/xcolor - dev-texlive/texlive-latexextra - virtual/latex-base - dev-tex/latexmk - dev-texlive/texlive-latex - dev-texlive/texlive-pictures - dev-texlive/texlive-latexrecommended - ) - hvm? ( x11-proto/xproto - !net-libs/libiscsi )" -RDEPEND="sys-apps/iproute2 - net-misc/bridge-utils - ocaml? ( >=dev-lang/ocaml-4 ) - screen? ( - app-misc/screen - app-admin/logrotate - ) - virtual/udev" - -# hvmloader is used to bootstrap a fully virtualized kernel -# Approved by QA team in bug #144032 -QA_WX_LOAD="usr/lib/xen/boot/hvmloader" - -RESTRICT="test" - -pkg_setup() { - python-single-r1_pkg_setup - export "CONFIG_LOMOUNT=y" - - #bug 522642, disable compile tools/tests - export "CONFIG_TESTS=n" - - if has_version dev-libs/libgcrypt:0; then - export "CONFIG_GCRYPT=y" - fi - - if use qemu; then - export "CONFIG_IOEMU=y" - else - export "CONFIG_IOEMU=n" - fi - - 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" - else - die "Unsupported architecture!" - fi - fi - - use api && export "LIBXENAPI_BINDINGS=y" - use flask && export "FLASK_ENABLE=y" -} - -src_prepare() { - # Upstream's patchset - if [[ -n ${UPSTREAM_VER} ]]; then - einfo "Try to apply Xen Upstream patcheset" - EPATCH_SUFFIX="patch" \ - EPATCH_FORCE="yes" \ - EPATCH_OPTS="-p1" \ - epatch "${WORKDIR}"/patches-upstream - fi - - # Security patchset - if [[ -n ${SECURITY_VER} ]]; then - einfo "Try to apply Xen Security patcheset" - source "${WORKDIR}"/patches-security/${PV}.conf - # apply main xen patches - for i in ${XEN_SECURITY_MAIN}; do - EPATCH_SUFFIX="patch" \ - EPATCH_FORCE="yes" \ - epatch "${WORKDIR}"/patches-security/xen/$i - done - - # apply qemu-traditional patches - pushd "${S}"/tools/qemu-xen-traditional/ > /dev/null - for i in ${XEN_SECURITY_QEMUT}; do - EPATCH_SUFFIX="patch" \ - EPATCH_FORCE="yes" \ - epatch "${WORKDIR}"/patches-security/qemut/$i - done - popd > /dev/null - - # apply qemu-xen/upstream patches - pushd "${S}"/tools/qemu-xen/ > /dev/null - for i in ${XEN_SECURITY_QEMUU}; do - EPATCH_SUFFIX="patch" \ - EPATCH_FORCE="yes" \ - epatch "${WORKDIR}"/patches-security/qemuu/$i - done - popd > /dev/null - fi - - # Gentoo's patchset - if [[ -n ${GENTOO_VER} && -n ${GENTOO_GPV} ]]; then - einfo "Try to apply Gentoo specific patcheset" - source "${FILESDIR}"/gentoo-patches.conf - _gpv=_gpv_${PN/-/_}_${PV//./}_${GENTOO_GPV} - for i in ${!_gpv}; do - EPATCH_SUFFIX="patch" \ - EPATCH_FORCE="yes" \ - epatch "${WORKDIR}"/patches-gentoo/$i - done - fi - - use system-seabios && epatch "${WORKDIR}"/patches-gentoo/${PN}-4-unbundle-seabios.patch - - if gcc-specs-pie; then - epatch "${WORKDIR}"/patches-gentoo/ipxe-nopie.patch - 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 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 - - if ! use pygrub; then - sed -e '/^SUBDIRS-$(PYTHON_TOOLS) += pygrub$/d' -i tools/Makefile || die - fi - - # Disable hvm support on systems that don't support x86_32 binaries. - if ! use hvm; then - sed -e '/^CONFIG_IOEMU := y$/d' -i config/*.mk || die - 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 - - # Don't bother with qemu, only needed for fully virtualised guests - if ! use qemu; then - sed -e "/^CONFIG_IOEMU := y$/d" -i config/*.mk || die - sed -e "s:install-tools\: tools/ioemu-dir:install-tools\: :g" -i Makefile || die - fi - - 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 - - # 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 - - # Bug 445986 - sed -e 's:$(MAKE) PYTHON=$(PYTHON) subdirs-$@:LC_ALL=C "$(MAKE)" PYTHON=$(PYTHON) subdirs-$@:' -i tools/firmware/Makefile || die - - # fix QA warning, create /var/run/, /var/lock dynamically - sed -i -e "/\$(INSTALL_DIR) \$(DESTDIR)\$(XEN_RUN_DIR)/d" \ - tools/libxl/Makefile || die - - sed -i -e "/\/var\/run\//d" \ - tools/xenstore/Makefile \ - tools/pygrub/Makefile || die - - sed -i -e "/\/var\/lock\/subsys/d" \ - tools/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 || die - - epatch_user -} - -src_compile() { - export VARTEXFONTS="${T}/fonts" - local myopt - use debug && myopt="${myopt} debug=y" - - use custom-cflags || unset CFLAGS - if test-flag-CC -fno-strict-overflow; then - append-flags -fno-strict-overflow - fi - - unset LDFLAGS - unset CFLAGS - emake V=1 CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" -C tools ${myopt} - - use doc && emake -C docs txt html - emake -C docs man-pages -} - -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}" install-tools \ - XEN_PYTHON_NATIVE_INSTALL=y install-tools - # Fix the remaining Python shebangs. - python_fix_shebang "${ED}" - - # Remove RedHat-specific stuff - rm -rf "${D}"tmp || die - - # uncomment lines in xl.conf - sed -e 's:^#autoballoon=1:autoballoon=1:' \ - -e 's:^#lockfile="/var/lock/xl":lockfile="/var/lock/xl":' \ - -e 's:^#vifscript="vif-bridge":vifscript="vif-bridge":' \ - -i tools/examples/xl.conf || die - - if use doc; then - emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs - - dohtml -r docs/ - docinto pdf - dodoc ${DOCS[@]} - [ -d "${D}"/usr/share/doc/xen ] && mv "${D}"/usr/share/doc/xen/* "${D}"/usr/share/doc/${PF}/html - fi - - rm -rf "${D}"/usr/share/doc/xen/ - doman docs/man?/* - - 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 xenstored - newinitd "${FILESDIR}"/xenconsoled.initd xenconsoled - newinitd "${FILESDIR}"/xencommons.initd xencommons - newconfd "${FILESDIR}"/xencommons.confd xencommons - - if use screen; then - cat "${FILESDIR}"/xendomains-screen.confd >> "${ED}"/etc/conf.d/xendomains || die - cp "${FILESDIR}"/xen-consoles.logrotate "${ED}"/etc/xen/ || die - keepdir /var/log/xen-consoles - fi - - if [[ "${ARCH}" == 'amd64' ]] && use qemu; then - mkdir -p "${D}"usr/$(get_libdir)/xen/bin || die - mv "${D}"usr/lib/xen/bin/qemu* "${D}"usr/$(get_libdir)/xen/bin/ || die - 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 - - # xend expects these to exist - keepdir /var/lib/xenstored /var/xen/dump /var/lib/xen /var/log/xen - - # for xendomains - keepdir /etc/xen/auto - - # Temp QA workaround - dodir "$(get_udevdir)" - mv "${D}"/etc/udev/* "${D}/$(get_udevdir)" - rm -rf "${D}"/etc/udev - - # 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://www.gentoo.org/doc/en/xen-gu"${D}"usr/ide.xml" - elog "http://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" - - # TODO: we need to have the current Python slot here. - if ! has_version "dev-lang/python[ncurses]"; then - echo - ewarn "NB: Your dev-lang/python is built without USE=ncurses." - ewarn "Please rebuild python with USE=ncurses to make use of xenmon.py." - fi - - if has_version "sys-apps/iproute2[minimal]"; then - echo - ewarn "Your sys-apps/iproute2 is built with USE=minimal. Networking" - ewarn "will not work until you rebuild iproute2 without USE=minimal." - fi - - 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 grep -qsF XENSV= "${ROOT}/etc/conf.d/xend"; then - echo - elog "xensv is broken upstream (Gentoo bug #142011)." - elog "Please remove '${ROOT%/}/etc/conf.d/xend', as it is no longer needed." - fi -} diff --git a/app-emulation/xen-tools/xen-tools-4.5.2.ebuild b/app-emulation/xen-tools/xen-tools-4.5.2-r2.ebuild index 7a70a4dec0..ba2f756b35 100644 --- a/app-emulation/xen-tools/xen-tools-4.5.2.ebuild +++ b/app-emulation/xen-tools/xen-tools-4.5.2-r2.ebuild @@ -19,6 +19,7 @@ else KEYWORDS="amd64 ~arm ~arm64 -x86" UPSTREAM_VER= SECURITY_VER=7 + SEC_VER=1 # xen-tools's gentoo patches tarball GENTOO_VER=4 # xen-tools's gentoo patches version which apply to this specific ebuild @@ -45,7 +46,9 @@ else ${OVMF_PATCHSET_URI} ) ${UPSTREAM_PATCHSET_URI} ${SECURITY_PATCHSET_URI} - ${GENTOO_PATCHSET_URI}" + ${GENTOO_PATCHSET_URI} + https://dev.gentoo.org/~idella4/distfiles/xen-security-patches-${SEC_VER}.tar.gz" + S="${WORKDIR}/xen-${MY_PV}" fi @@ -84,8 +87,8 @@ DEPEND="${COMMON_DEPEND} ${PYTHON_DEPS} api? ( dev-libs/libxml2 net-misc/curl ) - pygrub? ( ${PYTHON_DEPS//${PYTHON_REQ_USE}/ncurses} ) - ovmf? ( ${PYTHON_DEPS//${PYTHON_REQ_USE}/sqlite} ) + pygrub? ( $(python_gen_impl_dep ncurses) ) + ovmf? ( $(python_gen_impl_dep sqlite) ) !amd64? ( >=sys-apps/dtc-1.4.0 ) amd64? ( sys-devel/bin86 system-seabios? ( sys-firmware/seabios ) @@ -94,9 +97,9 @@ DEPEND="${COMMON_DEPEND} sys-power/iasl ) dev-lang/perl app-misc/pax-utils - dev-python/markdown[${PYTHON_USEDEP}] doc? ( app-doc/doxygen + dev-python/markdown[${PYTHON_USEDEP}] dev-tex/latex2html[png,gif] media-gfx/graphviz dev-tex/xcolor @@ -174,6 +177,11 @@ src_prepare() { einfo "Try to apply Xen Security patcheset" source "${WORKDIR}"/patches-security/${PV}.conf # apply main xen patches + # In contrast to xen-4.5.2-r2.ebuild, these are moved into the dir structure + # prepared and deposited by dlan in his devspace + mv "${WORKDIR}"/{xsa156-4.5.patch,xsa15[8-9].patch,xsa160-4.6.patch} \ + "${WORKDIR}"/patches-security/xen || die + XEN_SECURITY_MAIN="${XEN_SECURITY_MAIN} xsa156-4.5.patch xsa15[8-9].patch xsa160-4.6.patch" for i in ${XEN_SECURITY_MAIN}; do EPATCH_SUFFIX="patch" \ EPATCH_FORCE="yes" \ @@ -181,6 +189,9 @@ src_prepare() { done # apply qemu-traditional patches + mv "${WORKDIR}"/xsa162-qemut.patch \ + "${WORKDIR}"/patches-security/qemut/ || die + XEN_SECURITY_QEMUT="xsa162-qemut.patch" pushd "${S}"/tools/qemu-xen-traditional/ > /dev/null for i in ${XEN_SECURITY_QEMUT}; do EPATCH_SUFFIX="patch" \ @@ -190,6 +201,9 @@ src_prepare() { popd > /dev/null # apply qemu-xen/upstream patches + mv "${WORKDIR}"/xsa162-qemuu.patch \ + "${WORKDIR}"/patches-security/qemuu/ || die + XEN_SECURITY_QEMUU="xsa162-qemuu.patch" pushd "${S}"/tools/qemu-xen/ > /dev/null for i in ${XEN_SECURITY_QEMUU}; do EPATCH_SUFFIX="patch" \ @@ -207,7 +221,7 @@ src_prepare() { # Gentoo's patchset if [[ -n ${GENTOO_VER} && -n ${GENTOO_GPV} ]]; then - einfo "Try to apply Gentoo specific patcheset" + einfo "Try to apply Gentoo specific patch set" source "${FILESDIR}"/gentoo-patches.conf _gpv=_gpv_${PN/-/_}_${PV//./}_${GENTOO_GPV} for i in ${!_gpv}; do @@ -219,7 +233,7 @@ src_prepare() { # Ovmf's patchset if [[ -n ${OVMF_VER} ]] && use ovmf; then - einfo "Try to apply Ovmf patcheset" + einfo "Try to apply Ovmf patch set" pushd "${WORKDIR}"/ovmf-*/ > /dev/null EPATCH_SUFFIX="patch" \ EPATCH_FORCE="yes" \ diff --git a/app-emulation/xen-tools/xen-tools-4.6.0-r1.ebuild b/app-emulation/xen-tools/xen-tools-4.5.2-r3.ebuild index 4b02971049..acef34ad2c 100644 --- a/app-emulation/xen-tools/xen-tools-4.6.0-r1.ebuild +++ b/app-emulation/xen-tools/xen-tools-4.5.2-r3.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ @@ -16,9 +16,12 @@ if [[ $PV == *9999 ]]; then S="${WORKDIR}/${REPO}" live_eclass="mercurial" else - KEYWORDS="~amd64 ~arm ~arm64 -x86" - UPSTREAM_VER=0 + KEYWORDS="amd64 ~arm ~arm64 x86" + UPSTREAM_VER= SECURITY_VER=7 + # vars set to reflect https://dev.gentoo.org/~idella4/ + SEC_VER=2 + QEMU_VER=0 # xen-tools's gentoo patches tarball GENTOO_VER=4 # xen-tools's gentoo patches version which apply to this specific ebuild @@ -32,7 +35,9 @@ else [[ -n ${UPSTREAM_VER} ]] && \ UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${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" + SECURITY_PATCHSET_URI="https://dev.gentoo.org/~idella4/distfiles/${PN/-tools}-security-patches-${SECURITY_VER}.tar.xz + https://dev.gentoo.org/~idella4/distfiles/${PN/-tools}-security-patches-${SEC_VER}.tar.gz + https://dev.gentoo.org/~idella4/distfiles/${PN/-tools}-qemu-patches-${QEMU_VER}.tar.gz" [[ -n ${GENTOO_VER} ]] && \ GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-gentoo-patches-${GENTOO_VER}.tar.xz" [[ -n ${OVMF_VER} ]] && \ @@ -46,6 +51,7 @@ else ${UPSTREAM_PATCHSET_URI} ${SECURITY_PATCHSET_URI} ${GENTOO_PATCHSET_URI}" + S="${WORKDIR}/xen-${MY_PV}" fi @@ -79,13 +85,15 @@ COMMON_DEPEND=" DEPEND="${COMMON_DEPEND} dev-python/lxml[${PYTHON_USEDEP}] + x86? ( sys-devel/dev86 + sys-power/iasl ) pam? ( dev-python/pypam[${PYTHON_USEDEP}] ) hvm? ( media-libs/libsdl ) ${PYTHON_DEPS} api? ( dev-libs/libxml2 net-misc/curl ) - pygrub? ( ${PYTHON_DEPS//${PYTHON_REQ_USE}/ncurses} ) - ovmf? ( ${PYTHON_DEPS//${PYTHON_REQ_USE}/sqlite} ) + pygrub? ( $(python_gen_impl_dep ncurses) ) + ovmf? ( $(python_gen_impl_dep sqlite) ) !amd64? ( >=sys-apps/dtc-1.4.0 ) amd64? ( sys-devel/bin86 system-seabios? ( sys-firmware/seabios ) @@ -94,9 +102,9 @@ DEPEND="${COMMON_DEPEND} sys-power/iasl ) dev-lang/perl app-misc/pax-utils - dev-python/markdown[${PYTHON_USEDEP}] doc? ( app-doc/doxygen + dev-python/markdown[${PYTHON_USEDEP}] dev-tex/latex2html[png,gif] media-gfx/graphviz dev-tex/xcolor @@ -174,27 +182,34 @@ src_prepare() { einfo "Try to apply Xen Security patcheset" source "${WORKDIR}"/patches-security/${PV}.conf # apply main xen patches + # Two parallel systems, both work + # Over time they may concdense into one. This will suffice for now + EPATCH_SUFFIX="patch" + EPATCH_FORCE="yes" for i in ${XEN_SECURITY_MAIN}; do - EPATCH_SUFFIX="patch" \ - EPATCH_FORCE="yes" \ - epatch "${WORKDIR}"/patches-security/xen/$i + epatch "${WORKDIR}"/patches-security/xen/$i + done + for i in "${WORKDIR}"/xen-sec/xsa*.patch; do + epatch $i done # apply qemu-traditional patches pushd "${S}"/tools/qemu-xen-traditional/ > /dev/null for i in ${XEN_SECURITY_QEMUT}; do - EPATCH_SUFFIX="patch" \ - EPATCH_FORCE="yes" \ - epatch "${WORKDIR}"/patches-security/qemut/$i + epatch "${WORKDIR}"/patches-security/qemut/$i + done + for i in "${WORKDIR}"/qemu-patches/qemut/xsa*.patch; do + epatch $i done popd > /dev/null # apply qemu-xen/upstream patches pushd "${S}"/tools/qemu-xen/ > /dev/null for i in ${XEN_SECURITY_QEMUU}; do - EPATCH_SUFFIX="patch" \ - EPATCH_FORCE="yes" \ - epatch "${WORKDIR}"/patches-security/qemuu/$i + epatch "${WORKDIR}"/patches-security/qemuu/$i + done + for i in "${WORKDIR}"/qemu-patches/qemuu/xsa*.patch; do + epatch $i done popd > /dev/null fi @@ -207,7 +222,7 @@ src_prepare() { # Gentoo's patchset if [[ -n ${GENTOO_VER} && -n ${GENTOO_GPV} ]]; then - einfo "Try to apply Gentoo specific patcheset" + einfo "Try to apply Gentoo specific patch set" source "${FILESDIR}"/gentoo-patches.conf _gpv=_gpv_${PN/-/_}_${PV//./}_${GENTOO_GPV} for i in ${!_gpv}; do @@ -219,7 +234,7 @@ src_prepare() { # Ovmf's patchset if [[ -n ${OVMF_VER} ]] && use ovmf; then - einfo "Try to apply Ovmf patcheset" + einfo "Try to apply Ovmf patch set" pushd "${WORKDIR}"/ovmf-*/ > /dev/null EPATCH_SUFFIX="patch" \ EPATCH_FORCE="yes" \ diff --git a/app-emulation/xen-tools/xen-tools-4.5.1-r3.ebuild b/app-emulation/xen-tools/xen-tools-4.5.2-r4.ebuild index 80484cddc2..d2be7c5d90 100644 --- a/app-emulation/xen-tools/xen-tools-4.5.1-r3.ebuild +++ b/app-emulation/xen-tools/xen-tools-4.5.2-r4.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ @@ -16,9 +16,12 @@ if [[ $PV == *9999 ]]; then S="${WORKDIR}/${REPO}" live_eclass="mercurial" else - KEYWORDS="amd64 ~arm ~arm64 -x86" - UPSTREAM_VER=0 - SECURITY_VER=6 + KEYWORDS="amd64 ~arm ~arm64 x86" + UPSTREAM_VER= + SECURITY_VER=7 + # vars set to reflect https://dev.gentoo.org/~idella4/ + SEC_VER=6 + QEMU_VER=0 # xen-tools's gentoo patches tarball GENTOO_VER=4 # xen-tools's gentoo patches version which apply to this specific ebuild @@ -32,7 +35,9 @@ else [[ -n ${UPSTREAM_VER} ]] && \ UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${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" + SECURITY_PATCHSET_URI="https://dev.gentoo.org/~idella4/distfiles/${PN/-tools}-security-patches-${SECURITY_VER}.tar.xz + https://dev.gentoo.org/~idella4/distfiles/${PN/-tools}-security-patches-${SEC_VER}.tar.gz + https://dev.gentoo.org/~idella4/distfiles/${PN/-tools}-qemu-patches-${QEMU_VER}.tar.gz" [[ -n ${GENTOO_VER} ]] && \ GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-gentoo-patches-${GENTOO_VER}.tar.xz" [[ -n ${OVMF_VER} ]] && \ @@ -46,6 +51,7 @@ else ${UPSTREAM_PATCHSET_URI} ${SECURITY_PATCHSET_URI} ${GENTOO_PATCHSET_URI}" + S="${WORKDIR}/xen-${MY_PV}" fi @@ -79,13 +85,15 @@ COMMON_DEPEND=" DEPEND="${COMMON_DEPEND} dev-python/lxml[${PYTHON_USEDEP}] + x86? ( sys-devel/dev86 + sys-power/iasl ) pam? ( dev-python/pypam[${PYTHON_USEDEP}] ) hvm? ( media-libs/libsdl ) ${PYTHON_DEPS} api? ( dev-libs/libxml2 net-misc/curl ) - pygrub? ( ${PYTHON_DEPS//${PYTHON_REQ_USE}/ncurses} ) - ovmf? ( ${PYTHON_DEPS//${PYTHON_REQ_USE}/sqlite} ) + pygrub? ( $(python_gen_impl_dep ncurses) ) + ovmf? ( $(python_gen_impl_dep sqlite) ) !amd64? ( >=sys-apps/dtc-1.4.0 ) amd64? ( sys-devel/bin86 system-seabios? ( sys-firmware/seabios ) @@ -94,9 +102,9 @@ DEPEND="${COMMON_DEPEND} sys-power/iasl ) dev-lang/perl app-misc/pax-utils - dev-python/markdown[${PYTHON_USEDEP}] doc? ( app-doc/doxygen + dev-python/markdown[${PYTHON_USEDEP}] dev-tex/latex2html[png,gif] media-gfx/graphviz dev-tex/xcolor @@ -174,27 +182,34 @@ src_prepare() { einfo "Try to apply Xen Security patcheset" source "${WORKDIR}"/patches-security/${PV}.conf # apply main xen patches + # Two parallel systems, both work + # Over time they may concdense into one. This will suffice for now + EPATCH_SUFFIX="patch" + EPATCH_FORCE="yes" for i in ${XEN_SECURITY_MAIN}; do - EPATCH_SUFFIX="patch" \ - EPATCH_FORCE="yes" \ - epatch "${WORKDIR}"/patches-security/xen/$i + epatch "${WORKDIR}"/patches-security/xen/$i + done + for i in "${WORKDIR}"/xen-sec/xsa*.patch; do + epatch $i done # apply qemu-traditional patches pushd "${S}"/tools/qemu-xen-traditional/ > /dev/null for i in ${XEN_SECURITY_QEMUT}; do - EPATCH_SUFFIX="patch" \ - EPATCH_FORCE="yes" \ - epatch "${WORKDIR}"/patches-security/qemut/$i + epatch "${WORKDIR}"/patches-security/qemut/$i + done + for i in "${WORKDIR}"/qemu-patches/qemut/xsa*.patch; do + epatch $i done popd > /dev/null # apply qemu-xen/upstream patches pushd "${S}"/tools/qemu-xen/ > /dev/null for i in ${XEN_SECURITY_QEMUU}; do - EPATCH_SUFFIX="patch" \ - EPATCH_FORCE="yes" \ - epatch "${WORKDIR}"/patches-security/qemuu/$i + epatch "${WORKDIR}"/patches-security/qemuu/$i + done + for i in "${WORKDIR}"/qemu-patches/qemuu/xsa*.patch; do + epatch $i done popd > /dev/null fi @@ -207,7 +222,7 @@ src_prepare() { # Gentoo's patchset if [[ -n ${GENTOO_VER} && -n ${GENTOO_GPV} ]]; then - einfo "Try to apply Gentoo specific patcheset" + einfo "Try to apply Gentoo specific patch set" source "${FILESDIR}"/gentoo-patches.conf _gpv=_gpv_${PN/-/_}_${PV//./}_${GENTOO_GPV} for i in ${!_gpv}; do @@ -219,7 +234,7 @@ src_prepare() { # Ovmf's patchset if [[ -n ${OVMF_VER} ]] && use ovmf; then - einfo "Try to apply Ovmf patcheset" + einfo "Try to apply Ovmf patch set" pushd "${WORKDIR}"/ovmf-*/ > /dev/null EPATCH_SUFFIX="patch" \ EPATCH_FORCE="yes" \ diff --git a/app-emulation/xen-tools/xen-tools-4.2.5-r11.ebuild b/app-emulation/xen-tools/xen-tools-4.6.0-r4.ebuild index ae93f4d27c..e9f84c002c 100644 --- a/app-emulation/xen-tools/xen-tools-4.2.5-r11.ebuild +++ b/app-emulation/xen-tools/xen-tools-4.6.0-r4.ebuild @@ -5,80 +5,104 @@ EAPI=5 PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE='xml,threads' +PYTHON_REQ_USE='ncurses,xml,threads' + +inherit eutils bash-completion-r1 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-unstable.hg" - EHG_REPO_URI="http://xenbits.xensource.com/${REPO}" + REPO="xen.git" + EGIT_REPO_URI="git://xenbits.xen.org/${REPO}" S="${WORKDIR}/${REPO}" - live_eclass="mercurial" else - KEYWORDS="amd64 x86" - UPSTREAM_VER=10 + KEYWORDS="~amd64 ~arm ~arm64 -x86" + UPSTREAM_VER=0 SECURITY_VER=7 + SEC_VER=1 # xen-tools's gentoo patches tarball - GENTOO_VER=5 + GENTOO_VER=4 # xen-tools's gentoo patches version which apply to this specific ebuild - GENTOO_GPV=1 - SEABIOS_VER=1.6.3.2 + GENTOO_GPV=0 + # xen-tools ovmf's patches + OVMF_VER=1 + + SEABIOS_VER=1.8.2 + OVMF_PV=20150629 [[ -n ${UPSTREAM_VER} ]] && \ UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${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" + GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${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="http://bits.xensource.com/oss-xen/release/${PV}/xen-${PV}.tar.gz + SRC_URI="http://bits.xensource.com/oss-xen/release/${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.bz2 + ${OVMF_PATCHSET_URI} ) ${UPSTREAM_PATCHSET_URI} ${SECURITY_PATCHSET_URI} - ${GENTOO_PATCHSET_URI}" - S="${WORKDIR}/xen-${PV}" -fi + ${GENTOO_PATCHSET_URI} + https://dev.gentoo.org/~idella4/distfiles/xen-security-patches-${SEC_VER}.tar.gz" -inherit bash-completion-r1 eutils flag-o-matic multilib python-single-r1 toolchain-funcs udev ${live_eclass} + S="${WORKDIR}/xen-${MY_PV}" +fi -DESCRIPTION="Xend daemon and tools" +DESCRIPTION="Xen tools including QEMU and xl" HOMEPAGE="http://xen.org/" DOCS=( README docs/README.xen-bugtool ) LICENSE="GPL-2" -SLOT="0" -IUSE="api custom-cflags debug doc flask hvm qemu ocaml pygrub screen static-libs system-seabios" - -REQUIRED_USE="hvm? ( qemu ) - ${PYTHON_REQUIRED_USE}" - -DEPEND="dev-libs/lzo: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 qemu ocaml ovmf +pam python pygrub screen sdl static-libs system-qemu system-seabios" + +REQUIRED_USE="hvm? ( || ( qemu system-qemu ) ) + ${PYTHON_REQUIRED_USE} + pygrub? ( python ) + ovmf? ( hvm ) + qemu? ( !system-qemu )" + +COMMON_DEPEND=" + dev-libs/lzo:2 dev-libs/glib:2 dev-libs/yajl + dev-libs/libaio dev-libs/libgcrypt:0 - dev-python/lxml[${PYTHON_USEDEP}] - dev-python/pypam[${PYTHON_USEDEP}] sys-libs/zlib - sys-power/iasl - system-seabios? ( sys-firmware/seabios ) - sys-firmware/ipxe - dev-ml/findlib - hvm? ( media-libs/libsdl ) +" + +DEPEND="${COMMON_DEPEND} + dev-python/lxml[${PYTHON_USEDEP}] + pam? ( dev-python/pypam[${PYTHON_USEDEP}] ) ${PYTHON_DEPS} api? ( dev-libs/libxml2 net-misc/curl ) - ${PYTHON_DEPS} - pygrub? ( ${PYTHON_DEPS//${PYTHON_REQ_USE}/ncurses} ) - sys-devel/bin86 - sys-devel/dev86 + ovmf? ( $(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-doc/doxygen + dev-python/markdown[${PYTHON_USEDEP}] dev-tex/latex2html[png,gif] - media-gfx/transfig media-gfx/graphviz dev-tex/xcolor + media-gfx/transfig dev-texlive/texlive-latexextra virtual/latex-base dev-tex/latexmk @@ -86,20 +110,28 @@ DEPEND="dev-libs/lzo:2 dev-texlive/texlive-pictures dev-texlive/texlive-latexrecommended ) - hvm? ( x11-proto/xproto - !net-libs/libiscsi )" -RDEPEND="sys-apps/iproute2 + hvm? ( x11-proto/xproto + !net-libs/libiscsi ) + qemu? ( + 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 - ocaml? ( >=dev-lang/ocaml-4 ) screen? ( app-misc/screen app-admin/logrotate - ) - virtual/udev" + )" # hvmloader is used to bootstrap a fully virtualized kernel # Approved by QA team in bug #144032 -QA_WX_LOAD="usr/lib/xen/boot/hvmloader" +QA_WX_LOAD="usr/lib/xen/boot/hvmloader + usr/share/qemu-xen/qemu/s390-ccw.img" RESTRICT="test" @@ -114,12 +146,6 @@ pkg_setup() { export "CONFIG_GCRYPT=y" fi - if use qemu; then - export "CONFIG_IOEMU=y" - else - export "CONFIG_IOEMU=n" - fi - if [[ -z ${XEN_TARGET_ARCH} ]] ; then if use x86 && use amd64; then die "Confusion! Both x86 and amd64 are set in your use flags!" @@ -127,19 +153,20 @@ pkg_setup() { 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 - - use api && export "LIBXENAPI_BINDINGS=y" - use flask && export "FLASK_ENABLE=y" } src_prepare() { # Upstream's patchset if [[ -n ${UPSTREAM_VER} ]]; then - einfo "Try to apply Xen Upstream patcheset" + einfo "Try to apply Xen Upstream patch set" EPATCH_SUFFIX="patch" \ EPATCH_FORCE="yes" \ EPATCH_OPTS="-p1" \ @@ -148,9 +175,14 @@ src_prepare() { # Security patchset if [[ -n ${SECURITY_VER} ]]; then - einfo "Try to apply Xen Security patcheset" + einfo "Try to apply Xen Security patch set" source "${WORKDIR}"/patches-security/${PV}.conf # apply main xen patches + # In contrast to xen-4.5.2-r2.ebuild, these are moved into the dir structure + # prepared and deposited by dlan in his devspace + mv "${WORKDIR}"/{xsa15[6-9].patch,xsa160-4.6.patch} \ + "${WORKDIR}"/patches-security/xen || die + XEN_SECURITY_MAIN="${XEN_SECURITY_MAIN} xsa15[6-9].patch xsa160-4.6.patch" for i in ${XEN_SECURITY_MAIN}; do EPATCH_SUFFIX="patch" \ EPATCH_FORCE="yes" \ @@ -158,6 +190,9 @@ src_prepare() { done # apply qemu-traditional patches + mv "${WORKDIR}"/xsa162-qemut.patch \ + "${WORKDIR}"/patches-security/qemut/ || die + XEN_SECURITY_QEMUT="xsa162-qemut.patch" pushd "${S}"/tools/qemu-xen-traditional/ > /dev/null for i in ${XEN_SECURITY_QEMUT}; do EPATCH_SUFFIX="patch" \ @@ -167,6 +202,9 @@ src_prepare() { popd > /dev/null # apply qemu-xen/upstream patches + mv "${WORKDIR}"/xsa162-qemuu.patch \ + "${WORKDIR}"/patches-security/qemuu/ || die + XEN_SECURITY_QEMUU="xsa162-qemuu.patch" pushd "${S}"/tools/qemu-xen/ > /dev/null for i in ${XEN_SECURITY_QEMUU}; do EPATCH_SUFFIX="patch" \ @@ -176,9 +214,15 @@ src_prepare() { 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 patcheset" + einfo "Try to apply Gentoo specific patch set" source "${FILESDIR}"/gentoo-patches.conf _gpv=_gpv_${PN/-/_}_${PV//./}_${GENTOO_GPV} for i in ${!_gpv}; do @@ -188,12 +232,30 @@ src_prepare() { done fi - use system-seabios && epatch "${WORKDIR}"/patches-gentoo/${PN}-4-unbundle-seabios.patch - - if gcc-specs-pie; then - epatch "${WORKDIR}"/patches-gentoo/ipxe-nopie.patch + # Ovmf's patchset + if [[ -n ${OVMF_VER} ]] && use ovmf; then + einfo "Try to apply Ovmf patch set" + pushd "${WORKDIR}"/ovmf-*/ > /dev/null + EPATCH_SUFFIX="patch" \ + EPATCH_FORCE="yes" \ + EPATCH_OPTS="-p1" \ + epatch "${WORKDIR}"/patches-ovmf + popd > /dev/null + 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" @@ -207,15 +269,22 @@ src_prepare() { -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-$(PYTHON_TOOLS) += pygrub$/d' -i tools/Makefile || die + 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 - # Disable hvm support on systems that don't support x86_32 binaries. if ! use hvm; then - sed -e '/^CONFIG_IOEMU := y$/d' -i config/*.mk || die sed -e '/SUBDIRS-$(CONFIG_X86) += firmware/d' -i tools/Makefile || die # Bug 351648 elif ! use x86 && ! has x86 $(get_all_abis); then @@ -224,55 +293,86 @@ src_prepare() { export CPATH="${WORKDIR}"/extra-headers fi - # Don't bother with qemu, only needed for fully virtualised guests - if ! use qemu; then - sed -e "/^CONFIG_IOEMU := y$/d" -i config/*.mk || die - sed -e "s:install-tools\: tools/ioemu-dir:install-tools\: :g" -i Makefile || die + 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 - 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 - # 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 - # Bug 445986 - sed -e 's:$(MAKE) PYTHON=$(PYTHON) subdirs-$@:LC_ALL=C "$(MAKE)" PYTHON=$(PYTHON) subdirs-$@:' -i tools/firmware/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 QA warning, create /var/run/, /var/lock dynamically - sed -i -e "/\$(INSTALL_DIR) \$(DESTDIR)\$(XEN_RUN_DIR)/d" \ - tools/libxl/Makefile || die + # respect multilib, usr/lib/libcacard.so.0.0.0 + sed -e "/^libdir=/s/\/lib/\/$(get_libdir)/" \ + -i tools/qemu-xen/configure || die - sed -i -e "/\/var\/run\//d" \ - tools/xenstore/Makefile \ - tools/pygrub/Makefile || 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 - sed -i -e "/\/var\/lock\/subsys/d" \ - tools/Makefile || die + # use /var instead of /var/lib, consistat with previous ebuild + sed -i -e "/XEN_LOCK_DIR=/s/\$localstatedir/\/var/g" \ + m4/paths.m4 configure tools/configure || die + # use /run instead of /var/run + sed -i -e "/XEN_RUN_DIR=/s/\$localstatedir//g" \ + m4/paths.m4 configure tools/configure || 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 || die + # 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 epatch_user } +src_configure() { + local myconf="--prefix=${PREFIX}/usr \ + --libdir=${PREFIX}/usr/$(get_libdir) \ + --libexecdir=${PREFIX}/usr/libexec \ + --disable-werror \ + --disable-xen \ + --enable-tools \ + --enable-docs \ + $(use_with system-qemu) \ + $(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 qemu || myconf+=" --with-system-qemu" + use amd64 && myconf+=" --enable-qemu-traditional" + econf ${myconf} +} + src_compile() { export VARTEXFONTS="${T}/fonts" local myopt use debug && myopt="${myopt} debug=y" - use custom-cflags || unset CFLAGS if test-flag-CC -fno-strict-overflow; then append-flags -fno-strict-overflow fi - unset LDFLAGS - unset CFLAGS emake V=1 CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" -C tools ${myopt} use doc && emake -C docs txt html @@ -288,20 +388,15 @@ src_install() { local PYTHONDONTWRITEBYTECODE export PYTHONDONTWRITEBYTECODE - emake DESTDIR="${ED}" DOCDIR="/usr/share/doc/${PF}" install-tools \ + emake DESTDIR="${ED}" DOCDIR="/usr/share/doc/${PF}" \ XEN_PYTHON_NATIVE_INSTALL=y install-tools + # Fix the remaining Python shebangs. - python_fix_shebang "${ED}" + python_fix_shebang "${D}" # Remove RedHat-specific stuff rm -rf "${D}"tmp || die - # uncomment lines in xl.conf - sed -e 's:^#autoballoon=1:autoballoon=1:' \ - -e 's:^#lockfile="/var/lock/xl":lockfile="/var/lock/xl":' \ - -e 's:^#vifscript="vif-bridge":vifscript="vif-bridge":' \ - -i tools/examples/xl.conf || die - if use doc; then emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs @@ -322,34 +417,23 @@ src_install() { 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 if use screen; then - cat "${FILESDIR}"/xendomains-screen.confd >> "${ED}"/etc/conf.d/xendomains || die - cp "${FILESDIR}"/xen-consoles.logrotate "${ED}"/etc/xen/ || die + 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 - if [[ "${ARCH}" == 'amd64' ]] && use qemu; then - mkdir -p "${D}"usr/$(get_libdir)/xen/bin || die - mv "${D}"usr/lib/xen/bin/qemu* "${D}"usr/$(get_libdir)/xen/bin/ || die - 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 - # xend expects these to exist - keepdir /var/lib/xenstored /var/xen/dump /var/lib/xen /var/log/xen - # for xendomains keepdir /etc/xen/auto - # Temp QA workaround - dodir "$(get_udevdir)" - mv "${D}"/etc/udev/* "${D}/$(get_udevdir)" - rm -rf "${D}"/etc/udev - # 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 @@ -357,25 +441,12 @@ src_install() { pkg_postinst() { elog "Official Xen Guide and the offical wiki page:" - elog "https://www.gentoo.org/doc/en/xen-gu"${D}"usr/ide.xml" + elog "https://wiki.gentoo.org/wiki/Xen" elog "http://wiki.xen.org/wiki/Main_Page" elog "" - elog "Recommended to utilise the xencommons script to config sytem at boot." + elog "Recommended to utilise the xencommons script to config sytem At boot" elog "Add by use of rc-update on completion of the install" - # TODO: we need to have the current Python slot here. - if ! has_version "dev-lang/python[ncurses]"; then - echo - ewarn "NB: Your dev-lang/python is built without USE=ncurses." - ewarn "Please rebuild python with USE=ncurses to make use of xenmon.py." - fi - - if has_version "sys-apps/iproute2[minimal]"; then - echo - ewarn "Your sys-apps/iproute2 is built with USE=minimal. Networking" - ewarn "will not work until you rebuild iproute2 without USE=minimal." - fi - if ! use hvm; then echo elog "HVM (VT-x and AMD-V) support has been disabled. If you need hvm" @@ -383,9 +454,10 @@ pkg_postinst() { elog "An x86 or amd64 system is required to build HVM support." fi - if grep -qsF XENSV= "${ROOT}/etc/conf.d/xend"; then - echo - elog "xensv is broken upstream (Gentoo bug #142011)." - elog "Please remove '${ROOT%/}/etc/conf.d/xend', as it is no longer needed." + 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.6.0-r5.ebuild b/app-emulation/xen-tools/xen-tools-4.6.0-r5.ebuild new file mode 100644 index 0000000000..3481cb6960 --- /dev/null +++ b/app-emulation/xen-tools/xen-tools-4.6.0-r5.ebuild @@ -0,0 +1,465 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) +PYTHON_REQ_USE='ncurses,xml,threads' + +inherit eutils bash-completion-r1 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=7 + # vars set to reflect https://dev.gentoo.org/~idella4/ + SEC_VER=3 + QEMU_VER=0 + # xen-tools's gentoo patches tarball + GENTOO_VER=4 + # xen-tools's gentoo patches version which apply to this specific ebuild + GENTOO_GPV=0 + # xen-tools ovmf's patches + OVMF_VER=1 + + SEABIOS_VER=1.8.2 + OVMF_PV=20150629 + + [[ -n ${UPSTREAM_VER} ]] && \ + UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz" + [[ -n ${SECURITY_VER} ]] && \ + SECURITY_PATCHSET_URI="https://dev.gentoo.org/~idella4/distfiles/${PN/-tools}-security-patches-${SECURITY_VER}.tar.xz + https://dev.gentoo.org/~idella4/distfiles/${PN/-tools}-security-patches-${SEC_VER}.tar.gz + https://dev.gentoo.org/~idella4/distfiles/${PN/-tools}-qemu-patches-${QEMU_VER}.tar.gz" + [[ -n ${GENTOO_VER} ]] && \ + GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${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="http://bits.xensource.com/oss-xen/release/${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.bz2 + ${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="http://xen.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 qemu ocaml ovmf +pam python pygrub screen sdl static-libs system-qemu system-seabios" + +REQUIRED_USE="hvm? ( || ( qemu system-qemu ) ) + ${PYTHON_REQUIRED_USE} + pygrub? ( python ) + ovmf? ( hvm ) + qemu? ( !system-qemu )" + +COMMON_DEPEND=" + dev-libs/lzo:2 + dev-libs/glib:2 + dev-libs/yajl + dev-libs/libaio + dev-libs/libgcrypt:0 + sys-libs/zlib +" + +DEPEND="${COMMON_DEPEND} + dev-python/lxml[${PYTHON_USEDEP}] + x86? ( sys-devel/dev86 + sys-power/iasl ) + pam? ( dev-python/pypam[${PYTHON_USEDEP}] ) + ${PYTHON_DEPS} + api? ( dev-libs/libxml2 + net-misc/curl ) + ovmf? ( $(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-doc/doxygen + dev-python/markdown[${PYTHON_USEDEP}] + dev-tex/latex2html[png,gif] + media-gfx/graphviz + dev-tex/xcolor + media-gfx/transfig + dev-texlive/texlive-latexextra + virtual/latex-base + dev-tex/latexmk + dev-texlive/texlive-latex + dev-texlive/texlive-pictures + dev-texlive/texlive-latexrecommended + ) + hvm? ( x11-proto/xproto + !net-libs/libiscsi ) + qemu? ( + 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/lib/xen/boot/hvmloader + usr/share/qemu-xen/qemu/s390-ccw.img" + +RESTRICT="test" + +pkg_setup() { + python-single-r1_pkg_setup + export "CONFIG_LOMOUNT=y" + + #bug 522642, disable compile tools/tests + export "CONFIG_TESTS=n" + + if has_version dev-libs/libgcrypt:0; then + export "CONFIG_GCRYPT=y" + fi + + 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() { + # Upstream's patchset + if [[ -n ${UPSTREAM_VER} ]]; then + einfo "Try to apply Xen Upstream patch set" + EPATCH_SUFFIX="patch" \ + EPATCH_FORCE="yes" \ + EPATCH_OPTS="-p1" \ + epatch "${WORKDIR}"/patches-upstream + fi + + # Security patchset + if [[ -n ${SECURITY_VER} ]]; then + einfo "Try to apply Xen Security patch set" + source "${WORKDIR}"/patches-security/${PV}.conf + # 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" + for i in ${XEN_SECURITY_MAIN}; do + epatch "${WORKDIR}"/patches-security/xen/$i + done + + for i in "${WORKDIR}"/xen-sec/xsa*.patch; do + epatch $i + done + + # apply qemu-traditional patches + pushd "${S}"/tools/qemu-xen-traditional/ > /dev/null + for i in ${XEN_SECURITY_QEMUT}; do + epatch "${WORKDIR}"/patches-security/qemut/$i + done + for i in "${WORKDIR}"/qemu-patches/qemut/xsa*.patch; do + epatch $i + done + popd > /dev/null + + # apply qemu-xen/upstream patches + pushd "${S}"/tools/qemu-xen/ > /dev/null + for i in ${XEN_SECURITY_QEMUU}; do + epatch "${WORKDIR}"/patches-security/qemuu/$i + done + for i in "${WORKDIR}"/qemu-patches/qemuu/xsa*.patch; do + epatch $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 + _gpv=_gpv_${PN/-/_}_${PV//./}_${GENTOO_GPV} + for i in ${!_gpv}; do + EPATCH_SUFFIX="patch" \ + EPATCH_FORCE="yes" \ + epatch "${WORKDIR}"/patches-gentoo/$i + done + fi + + # Ovmf's patchset + if [[ -n ${OVMF_VER} ]] && use ovmf; then + einfo "Try to apply Ovmf patch set" + pushd "${WORKDIR}"/ovmf-*/ > /dev/null + EPATCH_SUFFIX="patch" \ + EPATCH_FORCE="yes" \ + EPATCH_OPTS="-p1" \ + epatch "${WORKDIR}"/patches-ovmf + popd > /dev/null + 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 + + # 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 + + # use /var instead of /var/lib, consistat with previous ebuild + sed -i -e "/XEN_LOCK_DIR=/s/\$localstatedir/\/var/g" \ + m4/paths.m4 configure tools/configure || die + # use /run instead of /var/run + sed -i -e "/XEN_RUN_DIR=/s/\$localstatedir//g" \ + m4/paths.m4 configure tools/configure || die + + # 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 + + epatch_user +} + +src_configure() { + local myconf="--prefix=${PREFIX}/usr \ + --libdir=${PREFIX}/usr/$(get_libdir) \ + --libexecdir=${PREFIX}/usr/libexec \ + --disable-werror \ + --disable-xen \ + --enable-tools \ + --enable-docs \ + $(use_with system-qemu) \ + $(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 qemu || myconf+=" --with-system-qemu" + use amd64 && myconf+=" --enable-qemu-traditional" + econf ${myconf} +} + +src_compile() { + export VARTEXFONTS="${T}/fonts" + local myopt + use debug && myopt="${myopt} debug=y" + + if test-flag-CC -fno-strict-overflow; then + append-flags -fno-strict-overflow + fi + + emake V=1 CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" -C tools ${myopt} + + use doc && emake -C docs txt html + emake -C docs man-pages +} + +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 + + # Fix the remaining Python shebangs. + python_fix_shebang "${D}" + + # Remove RedHat-specific stuff + rm -rf "${D}"tmp || die + + if use doc; then + emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs + + dohtml -r docs/ + docinto pdf + dodoc ${DOCS[@]} + [ -d "${D}"/usr/share/doc/xen ] && mv "${D}"/usr/share/doc/xen/* "${D}"/usr/share/doc/${PF}/html + fi + + rm -rf "${D}"/usr/share/doc/xen/ + doman docs/man?/* + + 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 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 + + 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 "http://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.6.0-r6.ebuild b/app-emulation/xen-tools/xen-tools-4.6.0-r6.ebuild new file mode 100644 index 0000000000..b0c8b5fc82 --- /dev/null +++ b/app-emulation/xen-tools/xen-tools-4.6.0-r6.ebuild @@ -0,0 +1,469 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) +PYTHON_REQ_USE='ncurses,xml,threads' + +inherit eutils bash-completion-r1 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=7 + # vars set to reflect https://dev.gentoo.org/~idella4/ + # first instance of UPS_VER (usptream ver) + UPS_VER=0 + SEC_VER=3 + QEMU_VER=0 + # xen-tools's gentoo patches tarball + GENTOO_VER=4 + # xen-tools's gentoo patches version which apply to this specific ebuild + GENTOO_GPV=0 + # xen-tools ovmf's patches + OVMF_VER=1 + + SEABIOS_VER=1.8.2 + OVMF_PV=20150629 + + [[ -n ${UPSTREAM_VER} ]] && \ + UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz + https://dev.gentoo.org/~idella4/distfiles/${PN/-tools}-upstream-patches-${UPS_VER}.tar.gz" + [[ -n ${SECURITY_VER} ]] && \ + SECURITY_PATCHSET_URI="https://dev.gentoo.org/~idella4/distfiles/${PN/-tools}-security-patches-${SECURITY_VER}.tar.xz + https://dev.gentoo.org/~idella4/distfiles/${PN/-tools}-security-patches-${SEC_VER}.tar.gz + https://dev.gentoo.org/~idella4/distfiles/${PN/-tools}-qemu-patches-${QEMU_VER}.tar.gz" + [[ -n ${GENTOO_VER} ]] && \ + GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${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="http://bits.xensource.com/oss-xen/release/${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.bz2 + ${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="http://xen.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 qemu ocaml ovmf +pam python pygrub screen sdl static-libs system-qemu system-seabios" + +REQUIRED_USE="hvm? ( || ( qemu system-qemu ) ) + ${PYTHON_REQUIRED_USE} + pygrub? ( python ) + ovmf? ( hvm ) + qemu? ( !system-qemu )" + +COMMON_DEPEND=" + dev-libs/lzo:2 + dev-libs/glib:2 + dev-libs/yajl + dev-libs/libaio + dev-libs/libgcrypt:0 + sys-libs/zlib +" + +DEPEND="${COMMON_DEPEND} + dev-python/lxml[${PYTHON_USEDEP}] + x86? ( sys-devel/dev86 + sys-power/iasl ) + pam? ( dev-python/pypam[${PYTHON_USEDEP}] ) + ${PYTHON_DEPS} + api? ( dev-libs/libxml2 + net-misc/curl ) + ovmf? ( $(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-doc/doxygen + dev-python/markdown[${PYTHON_USEDEP}] + dev-tex/latex2html[png,gif] + media-gfx/graphviz + dev-tex/xcolor + media-gfx/transfig + dev-texlive/texlive-latexextra + virtual/latex-base + dev-tex/latexmk + dev-texlive/texlive-latex + dev-texlive/texlive-pictures + dev-texlive/texlive-latexrecommended + ) + hvm? ( x11-proto/xproto + !net-libs/libiscsi ) + qemu? ( + 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/lib/xen/boot/hvmloader + usr/share/qemu-xen/qemu/s390-ccw.img" + +RESTRICT="test" + +pkg_setup() { + python-single-r1_pkg_setup + export "CONFIG_LOMOUNT=y" + + #bug 522642, disable compile tools/tests + export "CONFIG_TESTS=n" + + if has_version dev-libs/libgcrypt:0; then + export "CONFIG_GCRYPT=y" + fi + + 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() { + # Upstream's patchset + if [[ -n ${UPSTREAM_VER} ]]; then + einfo "Try to apply Xen Upstream patch set" + EPATCH_SUFFIX="patch" \ + EPATCH_FORCE="yes" \ + EPATCH_OPTS="-p1" \ + epatch "${WORKDIR}"/patches-upstream \ + "${WORKDIR}"/libexec.patch + fi + + # Security patchset + if [[ -n ${SECURITY_VER} ]]; then + einfo "Try to apply Xen Security patch set" + source "${WORKDIR}"/patches-security/${PV}.conf + # 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" + for i in ${XEN_SECURITY_MAIN}; do + epatch "${WORKDIR}"/patches-security/xen/$i + done + + for i in "${WORKDIR}"/xen-sec/xsa*.patch; do + epatch $i + done + + # apply qemu-traditional patches + pushd "${S}"/tools/qemu-xen-traditional/ > /dev/null + for i in ${XEN_SECURITY_QEMUT}; do + epatch "${WORKDIR}"/patches-security/qemut/$i + done + for i in "${WORKDIR}"/qemu-patches/qemut/xsa*.patch; do + epatch $i + done + popd > /dev/null + + # apply qemu-xen/upstream patches + pushd "${S}"/tools/qemu-xen/ > /dev/null + for i in ${XEN_SECURITY_QEMUU}; do + epatch "${WORKDIR}"/patches-security/qemuu/$i + done + for i in "${WORKDIR}"/qemu-patches/qemuu/xsa*.patch; do + epatch $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 + _gpv=_gpv_${PN/-/_}_${PV//./}_${GENTOO_GPV} + for i in ${!_gpv}; do + EPATCH_SUFFIX="patch" \ + EPATCH_FORCE="yes" \ + epatch "${WORKDIR}"/patches-gentoo/$i + done + fi + + # Ovmf's patchset + if [[ -n ${OVMF_VER} ]] && use ovmf; then + einfo "Try to apply Ovmf patch set" + pushd "${WORKDIR}"/ovmf-*/ > /dev/null + EPATCH_SUFFIX="patch" \ + EPATCH_FORCE="yes" \ + EPATCH_OPTS="-p1" \ + epatch "${WORKDIR}"/patches-ovmf + popd > /dev/null + 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 + + # 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 + + # use /var instead of /var/lib, consistat with previous ebuild + sed -i -e "/XEN_LOCK_DIR=/s/\$localstatedir/\/var/g" \ + m4/paths.m4 configure tools/configure || die + # use /run instead of /var/run + sed -i -e "/XEN_RUN_DIR=/s/\$localstatedir//g" \ + m4/paths.m4 configure tools/configure || die + + # 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 + + epatch_user +} + +src_configure() { + local myconf="--prefix=${PREFIX}/usr \ + --libdir=${PREFIX}/usr/$(get_libdir) \ + --libexecdir=${PREFIX}/usr/libexec \ + --disable-werror \ + --disable-xen \ + --enable-tools \ + --enable-docs \ + $(use_with system-qemu) \ + $(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 qemu || myconf+=" --with-system-qemu" + use amd64 && myconf+=" --enable-qemu-traditional" + econf ${myconf} +} + +src_compile() { + export VARTEXFONTS="${T}/fonts" + local myopt + use debug && myopt="${myopt} debug=y" + + if test-flag-CC -fno-strict-overflow; then + append-flags -fno-strict-overflow + fi + + emake V=1 CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" -C tools ${myopt} + + use doc && emake -C docs txt html + emake -C docs man-pages +} + +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 + + # Fix the remaining Python shebangs. + python_fix_shebang "${D}" + + # Remove RedHat-specific stuff + rm -rf "${D}"tmp || die + + if use doc; then + emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs + + dohtml -r docs/ + docinto pdf + dodoc ${DOCS[@]} + [ -d "${D}"/usr/share/doc/xen ] && mv "${D}"/usr/share/doc/xen/* "${D}"/usr/share/doc/${PF}/html + fi + + rm -rf "${D}"/usr/share/doc/xen/ + doman docs/man?/* + + 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 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 + + 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 "http://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.6.0-r7.ebuild b/app-emulation/xen-tools/xen-tools-4.6.0-r7.ebuild new file mode 100644 index 0000000000..d4d83ffe55 --- /dev/null +++ b/app-emulation/xen-tools/xen-tools-4.6.0-r7.ebuild @@ -0,0 +1,469 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) +PYTHON_REQ_USE='ncurses,xml,threads' + +inherit eutils bash-completion-r1 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=7 + # vars set to reflect https://dev.gentoo.org/~idella4/ + # first instance of UPS_VER (usptream ver) + UPS_VER=0 + SEC_VER=5 + QEMU_VER=0 + # xen-tools's gentoo patches tarball + GENTOO_VER=4 + # xen-tools's gentoo patches version which apply to this specific ebuild + GENTOO_GPV=0 + # xen-tools ovmf's patches + OVMF_VER=1 + + SEABIOS_VER=1.8.2 + OVMF_PV=20150629 + + [[ -n ${UPSTREAM_VER} ]] && \ + UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz + https://dev.gentoo.org/~idella4/distfiles/${PN/-tools}-upstream-patches-${UPS_VER}.tar.gz" + [[ -n ${SECURITY_VER} ]] && \ + SECURITY_PATCHSET_URI="https://dev.gentoo.org/~idella4/distfiles/${PN/-tools}-security-patches-${SECURITY_VER}.tar.xz + https://dev.gentoo.org/~idella4/distfiles/${PN/-tools}-security-patches-${SEC_VER}.tar.gz + https://dev.gentoo.org/~idella4/distfiles/${PN/-tools}-qemu-patches-${QEMU_VER}.tar.gz" + [[ -n ${GENTOO_VER} ]] && \ + GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${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="http://bits.xensource.com/oss-xen/release/${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.bz2 + ${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="http://xen.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 qemu ocaml ovmf +pam python pygrub screen sdl static-libs system-qemu system-seabios" + +REQUIRED_USE="hvm? ( || ( qemu system-qemu ) ) + ${PYTHON_REQUIRED_USE} + pygrub? ( python ) + ovmf? ( hvm ) + qemu? ( !system-qemu )" + +COMMON_DEPEND=" + dev-libs/lzo:2 + dev-libs/glib:2 + dev-libs/yajl + dev-libs/libaio + dev-libs/libgcrypt:0 + sys-libs/zlib +" + +DEPEND="${COMMON_DEPEND} + dev-python/lxml[${PYTHON_USEDEP}] + x86? ( sys-devel/dev86 + sys-power/iasl ) + pam? ( dev-python/pypam[${PYTHON_USEDEP}] ) + ${PYTHON_DEPS} + api? ( dev-libs/libxml2 + net-misc/curl ) + ovmf? ( $(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-doc/doxygen + dev-python/markdown[${PYTHON_USEDEP}] + dev-tex/latex2html[png,gif] + media-gfx/graphviz + dev-tex/xcolor + media-gfx/transfig + dev-texlive/texlive-latexextra + virtual/latex-base + dev-tex/latexmk + dev-texlive/texlive-latex + dev-texlive/texlive-pictures + dev-texlive/texlive-latexrecommended + ) + hvm? ( x11-proto/xproto + !net-libs/libiscsi ) + qemu? ( + 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/lib/xen/boot/hvmloader + usr/share/qemu-xen/qemu/s390-ccw.img" + +RESTRICT="test" + +pkg_setup() { + python-single-r1_pkg_setup + export "CONFIG_LOMOUNT=y" + + #bug 522642, disable compile tools/tests + export "CONFIG_TESTS=n" + + if has_version dev-libs/libgcrypt:0; then + export "CONFIG_GCRYPT=y" + fi + + 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() { + # Upstream's patchset + if [[ -n ${UPSTREAM_VER} ]]; then + einfo "Try to apply Xen Upstream patch set" + EPATCH_SUFFIX="patch" \ + EPATCH_FORCE="yes" \ + EPATCH_OPTS="-p1" \ + epatch "${WORKDIR}"/patches-upstream \ + "${WORKDIR}"/libexec.patch + fi + + # Security patchset + if [[ -n ${SECURITY_VER} ]]; then + einfo "Try to apply Xen Security patch set" + source "${WORKDIR}"/patches-security/${PV}.conf + # 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" + for i in ${XEN_SECURITY_MAIN}; do + epatch "${WORKDIR}"/patches-security/xen/$i + done + + for i in "${WORKDIR}"/xen-sec/xsa*.patch; do + epatch $i + done + + # apply qemu-traditional patches + pushd "${S}"/tools/qemu-xen-traditional/ > /dev/null + for i in ${XEN_SECURITY_QEMUT}; do + epatch "${WORKDIR}"/patches-security/qemut/$i + done + for i in "${WORKDIR}"/qemu-patches/qemut/xsa*.patch; do + epatch $i + done + popd > /dev/null + + # apply qemu-xen/upstream patches + pushd "${S}"/tools/qemu-xen/ > /dev/null + for i in ${XEN_SECURITY_QEMUU}; do + epatch "${WORKDIR}"/patches-security/qemuu/$i + done + for i in "${WORKDIR}"/qemu-patches/qemuu/xsa*.patch; do + epatch $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 + _gpv=_gpv_${PN/-/_}_${PV//./}_${GENTOO_GPV} + for i in ${!_gpv}; do + EPATCH_SUFFIX="patch" \ + EPATCH_FORCE="yes" \ + epatch "${WORKDIR}"/patches-gentoo/$i + done + fi + + # Ovmf's patchset + if [[ -n ${OVMF_VER} ]] && use ovmf; then + einfo "Try to apply Ovmf patch set" + pushd "${WORKDIR}"/ovmf-*/ > /dev/null + EPATCH_SUFFIX="patch" \ + EPATCH_FORCE="yes" \ + EPATCH_OPTS="-p1" \ + epatch "${WORKDIR}"/patches-ovmf + popd > /dev/null + 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 + + # 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 + + # use /var instead of /var/lib, consistat with previous ebuild + sed -i -e "/XEN_LOCK_DIR=/s/\$localstatedir/\/var/g" \ + m4/paths.m4 configure tools/configure || die + # use /run instead of /var/run + sed -i -e "/XEN_RUN_DIR=/s/\$localstatedir//g" \ + m4/paths.m4 configure tools/configure || die + + # 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 + + epatch_user +} + +src_configure() { + local myconf="--prefix=${PREFIX}/usr \ + --libdir=${PREFIX}/usr/$(get_libdir) \ + --libexecdir=${PREFIX}/usr/libexec \ + --disable-werror \ + --disable-xen \ + --enable-tools \ + --enable-docs \ + $(use_with system-qemu) \ + $(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 qemu || myconf+=" --with-system-qemu" + use amd64 && myconf+=" --enable-qemu-traditional" + econf ${myconf} +} + +src_compile() { + export VARTEXFONTS="${T}/fonts" + local myopt + use debug && myopt="${myopt} debug=y" + + if test-flag-CC -fno-strict-overflow; then + append-flags -fno-strict-overflow + fi + + emake V=1 CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" -C tools ${myopt} + + use doc && emake -C docs txt html + emake -C docs man-pages +} + +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 + + # Fix the remaining Python shebangs. + python_fix_shebang "${D}" + + # Remove RedHat-specific stuff + rm -rf "${D}"tmp || die + + if use doc; then + emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs + + dohtml -r docs/ + docinto pdf + dodoc ${DOCS[@]} + [ -d "${D}"/usr/share/doc/xen ] && mv "${D}"/usr/share/doc/xen/* "${D}"/usr/share/doc/${PF}/html + fi + + rm -rf "${D}"/usr/share/doc/xen/ + doman docs/man?/* + + 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 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 + + 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 "http://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 629a548eed..09a51fbac2 100644 --- a/app-emulation/xen/Manifest +++ b/app-emulation/xen/Manifest @@ -1,11 +1,10 @@ -DIST xen-4.2.5-upstream-patches-10.tar.xz 41428 SHA256 b29ce85b049420838c3386b67184f4ba56794846d056837fa780ae89a80b40d0 SHA512 9e8046e27506d864e2d69728897cbba3eea1dd5ca748a3febb722901c5a67cca2ab49bb420071292538bd0345023fa337eb2d176b9ca05ca6bce47562f6710ec WHIRLPOOL 29e534ef6b951cf220a3a9476d1f76ac344bfc5c74998f2b472ec83cbe4781746298272e3c1fe8661a838cbc7d734d2730de6a1e9985b8a60f40c98f54449e2a -DIST xen-4.2.5-upstream-patches-9.tar.xz 23208 SHA256 2206e9a8aeeed207abbae995c5d2baa14d5f0da4120ae44f2de733ecf7ea5af1 SHA512 8a2edaba48002449a521edf2ae078ffe1b3db4f491a85b063886a147a0be3ec7fdb819ce84c90cdae80ed34c10ab2d637506700be10052a67be6ef128fa40fb1 WHIRLPOOL 037820e0fad60d1f7ed054efa797585c992d08f1ffd533705c515ad289f8cdddc72b97f2a3d75ebd683c6bb6988d7285452b4f3cebbe9a879f701156e387ff3b -DIST xen-4.2.5.tar.gz 15671925 SHA256 3cf440866315e8085050eb0586f0447b6b47a08dbed6a72226bf5ed5d89ec567 SHA512 42c0fc241952fc55fc44480fb6752b004b54ae40e946159ec047adf229b65cbfbd810271d01b064ad8fdbddb73c640dcdcb6bc19f91e8968829889c129920dac WHIRLPOOL 762a91c0111892b33e6bd3e7f7714709b04697ad7c2b0919fef6cc9570a343a77fd5a2b82833e75dac9d12d4e41acdcf0743b0d593595910ddd326f5cd721368 -DIST xen-4.5.1.tar.gz 18410400 SHA256 668c11d4fca67ac44329e369f810356eacd37b28d28fb96e66aac77f3c5e1371 SHA512 9436243e26bc64bc836a179abdc3a6b1b6fa9d3f2170453092c18be71fa62e18cd4465a9154c0f28a7ac8d69d08361ba1defef240a51197f058c012c3855ba04 WHIRLPOOL 71d8559f86683dd9fb3eb09d3f602de227f281fbd3c8cc258bfdb67c425d9e7c4d21cb0284c123e4263262c1b821fea6d28109861ce60d627f6426d352808d99 DIST xen-4.5.2.tar.gz 18416220 SHA256 4c9e5dac4eea484974e9f76da2756c8e0973b4e884d28d37e955df9ebf00e7e8 SHA512 e0ce01a5356c254bfde48fae0b0e005c42c1615a7ccf4c1ba7dcf90784777b53995e9a9ae4575e3f19ef341014b34cb8c06e39d68be359f7fd69830501a144dd WHIRLPOOL b50ce28e58d8419915f7f85de7ab23128719fa07c54f28165c4ba864ffe57230230fa7cb61dd2ed7608b8bc178a072124aedc30c61a45fb8b745fc616715219b DIST xen-4.6.0-upstream-patches-0.tar.xz 19280 SHA256 8ef2d139f86cb52d2208a17c974e5a85356183ee359ab4b91882067548806e0c SHA512 9fde8d9def1d75e50c10069af7f9fea4b5b6992b7089eb554e1e2a4c78dd080f2977128d0dd541eeb735b951e7d6614a07101f7703457e7743ac6b3be962cdfe WHIRLPOOL 861c7f150811912422f6f5eb77437744d1456740a43bef3dfd88a2e6d6836c0e8460b788ccd4f14a7144652d65a825c08aa984ec4240b2b1ac6d09237695d19d DIST xen-4.6.0.tar.gz 19694350 SHA256 6fa1c2431df55aa5950d248e6093b8c8c0f11c357a0adbd348a2186478e80909 SHA512 b4b02f306ffea360f539dd8c231b2f58c00c3638fdb665cb659c7291b475b40f1075bc59d49a6144767729e57b8bc40a1cfd9030d61de2b8fa4ac97d43655c2b WHIRLPOOL d3f01183440ca1875b6e850bd116db0c382383433e50c0902d3268e9e36b39d184fc65e925bdb5363ef4ca7a232fee15b4749c89baf789137b8a8248565c75a8 DIST xen-security-patches-0.tar.xz 5944 SHA256 c0456793064185f0781668264a09a2412a25e2ff8c4ce0d332204e37b94d7e96 SHA512 de812e66563e608548b220aa00c8fd71973af748a00cea79959f46a5b6893a38248d2ea455026af43f47e3f5e566d08b5a6f3d18f22e940d75d2a2ca76cec3d3 WHIRLPOOL 3e18d32798bdfe584ee8d102963090b569ec3660fd5723d8c608091e5c7d935c1edced5e258d92bf51fe06975455a3ae33dfedd01702c6076aedf97ea61f2d1b -DIST xen-security-patches-3.tar.xz 17028 SHA256 fb6301beb9a5c2d1e5d4de8783d8670e382b1bef48ec61e73d2d9be6901d289f SHA512 787fee8f7822577c6de91c4cf4d56d0e73ce46bac5524537ff66a718b6d7eae9d362265515743e8577b2c75f2841baed9837f71467b3b7b91a3111220da5f236 WHIRLPOOL 5c136289e654776bf918fe125fbecba7dac0929b236f7ae8158026a6bd6be12bc786a5ec96cb4022c18a5e7ffde82155deb57eb9639600e4c42c9c209f4a2ed6 -DIST xen-security-patches-7.tar.xz 22604 SHA256 e831c71f830316f452eb8645a5e7ca497264587aa8b353945fd9535f485166e3 SHA512 051769f4118f5c6d5d961759f547526d3fb0e86a4c1dee265a7f0224f10a88e2217b5b5fcf8dbfc706a1ec3c8d1632ab688d3f70dfd89d830261dc7391dd41c2 WHIRLPOOL 8e6dfb4e1700a07e3e3207b67afaddc5d6aa6fd84db9b3e76bd9ff54f682740fed01070e5860bb5378d50903d5777b55dff88eb3444d45bdd63dba657889393d -DIST xen-security-patches.tar.gz 2105 SHA256 19409f15fdbfbfe41b86627dd929a362563610999fc4b73ab2a9165df0ba8182 SHA512 2733e77b6a9ba25e704e0a15a32a20efe7c74873cabc5e6490f41e8d1b96d9efa83c0d16bbda6169d4bab3f5e9e9a8d7f3400f63e6b2d11cf0c63711a858cc34 WHIRLPOOL 21dda4417d938c45bf46c41f2e9aba524f484b6526fcf59a840ca30aa270148990ffc66536431b2a4b8db6f1a761b02f2266b5935e68e85935ec8dd5511dc892 +DIST xen-security-patches-1.tar.gz 7040 SHA256 30733e9ca71bf4291ff212eb191afb22687ccd9b2579767fe0ee013152980c76 SHA512 89c72897f18a86c2060bb76a182e7cca72ad2f33a3aab964ecae66e057aeecafee2e9986204d6feb98f81ccb740460ee2cb37663b1ab79f47adc1dd73e0091bc WHIRLPOOL c27e612b87b4a30abbf59e6be019e2c21a78bfbdf1715da5498d95607d390d616251768d419ac5ce76087bbf7cdfc410dd0088ba48e425082cea971efcb64346 +DIST xen-security-patches-2.tar.gz 7370 SHA256 f24bf4b0cba29b51ee71f6ef82654cddf157c63d62fc1119f17255b2388e03ab SHA512 209dea670467ff1df18428c15b25229c05d676d1a2f646cddb221544ae888241ade48a22be037f97dce249ac322c1f30bb477675e5e2cc04a2fbd839e02f1f57 WHIRLPOOL ae66a2fbc0d0f0a555d407ebd3198fa58ee043515fb9821d7b9eda46d088bc87b3de16fe015fd1142294429dd2c1c7826e414a55980e27123185c1a86fb0a8a6 +DIST xen-security-patches-4.tar.gz 7731 SHA256 b51c6616a303b4d5123fed1e58240163c8e0cf8e0de32db58c11a40a48124d52 SHA512 cef89bb68bdb4a5f947d6be8ae7a799276fd187e396c5ba85f8aa2b0b5349ba606d3742d5b8d8212df6da38f8af9711416d9a25176e713240a0a7f2194d84fc5 WHIRLPOOL 912dc869fa4eb355a86023133adcb818e87f4979d537a885b3f1c6e35ff141b7d7a33e81105dcddf34aafa4c306df79a210346f5037337173923e1dc8280ac47 +DIST xen-security-patches-5.tar.gz 8716 SHA256 afd114f2cb1b623ac1709d75c771006f91b5b2a0a0695f4da3d6aa6f6b340d9f SHA512 f2276759cb418e252052701f5e41e626e1d232098bd7e393e7e58286d356ef33f249c2f9d7b5b1219279de7c4c66832f0d4f761d36bc51e7c10cea973dd9882e WHIRLPOOL 18cb29a0fde10f1bac698c577713db1307c02408778b5d128a4f017ae8be6fba893feb9b8f09fe2d8164dc761d136190d1dbee8a3eb4caa35d8bf976a498d405 +DIST xen-security-patches-6.tar.gz 8308 SHA256 b0dc1df6b27073a83b12a17a04a01e74af8c19a1c96d9dda580bb738eaab25f3 SHA512 b9155eef3f18e47288a6a6bb570a073d4c84449fe11fbac4c35cceaa4f7c06624597f63a8768bddd735c345b8c430aeee18b71f43e9b188de3cfa0cbf608dc0a WHIRLPOOL 9933ed07a2419170070a9eedfda200ec5ebef67b6b98c1b435793008c126347cdc8c0ef9ff2cb4fe0b7333ff51211545a3fe2ff726ca7c22d46f231d6d1e82aa +DIST xen-upstream-patches-0.tar.gz 2297 SHA256 bf21272ad029391d30bf31896efcadc75267538f6c7de5d239453f19659d58ee SHA512 3f5d60aaebd181bddab4dd02e0064de2f75672f44a687a7331fa40e81d56763fea84504081a449d11403b21ad0ba2dac075f0b1796809ef8d16e244f6be99e3d WHIRLPOOL 4ebe79c8f2ea1c45e88e59941e477ed5639dbca3fe95c9a67e07afb0f4b6fb8b7fea8e58422d7c8f906299e4f37c14b4db15200997e5a92b647df98fa93e10c7 diff --git a/app-emulation/xen/metadata.xml b/app-emulation/xen/metadata.xml index 67c5e0f5da..bdab928793 100644 --- a/app-emulation/xen/metadata.xml +++ b/app-emulation/xen/metadata.xml @@ -1,11 +1,13 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <herd>xen</herd> + <maintainer type="project"> + <email>xen@gentoo.org</email> + <name>Gentoo Xen Project</name> + </maintainer> <use> - <flag name='flask'>Enable the Flask XSM module from NSA</flag> - <flag name='pae'>Enable support for PAE kernels (usually x86-32 with >4GB memory)</flag> - <flag name='xsm'>Enable the Xen Security Modules (XSM)</flag> - <flag name='efi'>Adds efi boot support, requires LDFLAG -melf_x86_64 for amd64</flag> + <flag name="flask">Enable the Flask XSM module from NSA</flag> + <flag name="xsm">Enable the Xen Security Modules (XSM)</flag> + <flag name="efi">Adds efi boot support, requires LDFLAG -melf_x86_64 for amd64</flag> </use> </pkgmetadata> diff --git a/app-emulation/xen/xen-4.2.5-r11.ebuild b/app-emulation/xen/xen-4.2.5-r11.ebuild deleted file mode 100644 index ad795852c0..0000000000 --- a/app-emulation/xen/xen-4.2.5-r11.ebuild +++ /dev/null @@ -1,167 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=5 - -PYTHON_COMPAT=( python2_7 ) - -if [[ $PV == *9999 ]]; then - KEYWORDS="" - REPO="xen-unstable.hg" - EHG_REPO_URI="http://xenbits.xensource.com/${REPO}" - S="${WORKDIR}/${REPO}" - live_eclass="mercurial" -else - KEYWORDS="amd64 x86" - UPSTREAM_VER=9 - SECURITY_VER=3 - GENTOO_VER= - - [[ -n ${UPSTREAM_VER} ]] && \ - UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${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="http://bits.xensource.com/oss-xen/release/${PV}/xen-${PV}.tar.gz - ${UPSTREAM_PATCHSET_URI} - ${SECURITY_PATCHSET_URI} - ${GENTOO_PATCHSET_URI}" -fi - -inherit mount-boot flag-o-matic python-any-r1 toolchain-funcs eutils ${live_eclass} - -DESCRIPTION="The Xen virtual machine monitor" -HOMEPAGE="http://xen.org/" -LICENSE="GPL-2" -SLOT="0" -IUSE="custom-cflags debug efi flask pae xsm" - -DEPEND="${PYTHON_DEPS} - efi? ( >=sys-devel/binutils-2.22[multitarget] ) - !efi? ( >=sys-devel/binutils-2.22[-multitarget] )" -RDEPEND="" -PDEPEND="~app-emulation/xen-tools-${PV}" - -RESTRICT="test" - -# Approved by QA team in bug #144032 -QA_WX_LOAD="boot/xen-syms-${PV}" - -REQUIRED_USE=" - flask? ( xsm ) - " - -pkg_setup() { - python-any-r1_pkg_setup - 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" - else - die "Unsupported architecture!" - fi - fi - - if use flask ; then - export "XSM_ENABLE=y" - export "FLASK_ENABLE=y" - elif use xsm ; then - export "XSM_ENABLE=y" - fi -} - -src_prepare() { - # Upstream's patchset - if [[ -n ${UPSTREAM_VER} ]]; then - EPATCH_SUFFIX="patch" \ - EPATCH_FORCE="yes" \ - EPATCH_OPTS="-p1" \ - epatch "${WORKDIR}"/patches-upstream - fi - - # Security patchset - if [[ -n ${SECURITY_VER} ]]; then - EPATCH_SUFFIX="patch" \ - EPATCH_FORCE="yes" \ - EPATCH_OPTS="-p1" \ - epatch "${WORKDIR}/patches-security/${PV}" - fi - - # Gentoo's patchset - if [[ -n ${GENTOO_VER} ]]; then - EPATCH_SUFFIX="patch" \ - EPATCH_FORCE="yes" \ - epatch "${WORKDIR}"/patches-gentoo - fi - - # Drop .config and fix gcc-4.6 - epatch "${FILESDIR}"/${PN/-pvgrub/}-4-fix_dotconfig-gcc.patch - - if use efi; then - epatch "${FILESDIR}"/${PN}-4.2-efi.patch - 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 - - # not strictly necessary to fix this - sed -i 's/, "-Werror"//' "${S}/tools/python/setup.py" || die "failed to re-set setup.py" - - epatch_user -} - -src_configure() { - use debug && myopt="${myopt} debug=y" - use pae && myopt="${myopt} pae=y" - - if use custom-cflags; then - filter-flags -fPIE -fstack-protector - replace-flags -O3 -O2 - else - unset CFLAGS - fi -} - -src_compile() { - # Send raw LDFLAGS so that --as-needed works - emake CC="$(tc-getCC)" LDFLAGS="$(raw-ldflags)" LD="$(tc-getLD)" -C xen ${myopt} -} - -src_install() { - local myopt - use debug && myopt="${myopt} debug=y" - use pae && myopt="${myopt} pae=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 -} - -pkg_postinst() { - elog "Official Xen Guide and the unoffical wiki page:" - elog " https://wiki.gentoo.org/wiki/Xen" - elog " http://en.gentoo-wiki.com/wiki/Xen/" - - use pae && ewarn "This is a PAE build of Xen. It will *only* boot PAE kernels!" - use efi && einfo "The efi executable is installed in boot/efi/gentoo" -} diff --git a/app-emulation/xen/xen-4.2.5-r12.ebuild b/app-emulation/xen/xen-4.2.5-r12.ebuild deleted file mode 100644 index dd72287ca4..0000000000 --- a/app-emulation/xen/xen-4.2.5-r12.ebuild +++ /dev/null @@ -1,170 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=5 - -PYTHON_COMPAT=( python2_7 ) - -if [[ $PV == *9999 ]]; then - KEYWORDS="" - REPO="xen-unstable.hg" - EHG_REPO_URI="http://xenbits.xensource.com/${REPO}" - S="${WORKDIR}/${REPO}" - live_eclass="mercurial" -else - KEYWORDS="amd64 x86" - UPSTREAM_VER=10 - SECURITY_VER=7 - GENTOO_VER= - - [[ -n ${UPSTREAM_VER} ]] && \ - UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${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="http://bits.xensource.com/oss-xen/release/${PV}/xen-${PV}.tar.gz - ${UPSTREAM_PATCHSET_URI} - ${SECURITY_PATCHSET_URI} - ${GENTOO_PATCHSET_URI}" -fi - -inherit mount-boot flag-o-matic python-any-r1 toolchain-funcs eutils ${live_eclass} - -DESCRIPTION="The Xen virtual machine monitor" -HOMEPAGE="http://xen.org/" -LICENSE="GPL-2" -SLOT="0" -IUSE="custom-cflags debug efi flask pae xsm" - -DEPEND="${PYTHON_DEPS} - efi? ( >=sys-devel/binutils-2.22[multitarget] ) - !efi? ( >=sys-devel/binutils-2.22[-multitarget] )" -RDEPEND="" -PDEPEND="~app-emulation/xen-tools-${PV}" - -RESTRICT="test" - -# Approved by QA team in bug #144032 -QA_WX_LOAD="boot/xen-syms-${PV}" - -REQUIRED_USE=" - flask? ( xsm ) - " - -pkg_setup() { - python-any-r1_pkg_setup - 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" - else - die "Unsupported architecture!" - fi - fi - - if use flask ; then - export "XSM_ENABLE=y" - export "FLASK_ENABLE=y" - elif use xsm ; then - export "XSM_ENABLE=y" - fi -} - -src_prepare() { - # Upstream's patchset - if [[ -n ${UPSTREAM_VER} ]]; then - EPATCH_SUFFIX="patch" \ - EPATCH_FORCE="yes" \ - EPATCH_OPTS="-p1" \ - epatch "${WORKDIR}"/patches-upstream - fi - - if [[ -n ${SECURITY_VER} ]]; then - einfo "Try to apply Xen Security patcheset" - source "${WORKDIR}"/patches-security/${PV}.conf - # apply main xen patches - for i in ${XEN_SECURITY_MAIN}; do - EPATCH_SUFFIX="patch" \ - EPATCH_FORCE="yes" \ - epatch "${WORKDIR}"/patches-security/xen/$i - done - fi - - # Gentoo's patchset - if [[ -n ${GENTOO_VER} ]]; then - EPATCH_SUFFIX="patch" \ - EPATCH_FORCE="yes" \ - epatch "${WORKDIR}"/patches-gentoo - fi - - # Drop .config and fix gcc-4.6 - epatch "${FILESDIR}"/${PN/-pvgrub/}-4-fix_dotconfig-gcc.patch - - if use efi; then - epatch "${FILESDIR}"/${PN}-4.2-efi.patch - 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 - - # not strictly necessary to fix this - sed -i 's/, "-Werror"//' "${S}/tools/python/setup.py" || die "failed to re-set setup.py" - - epatch_user -} - -src_configure() { - use debug && myopt="${myopt} debug=y" - use pae && myopt="${myopt} pae=y" - - if use custom-cflags; then - filter-flags -fPIE -fstack-protector - replace-flags -O3 -O2 - else - unset CFLAGS - fi -} - -src_compile() { - # Send raw LDFLAGS so that --as-needed works - emake CC="$(tc-getCC)" LDFLAGS="$(raw-ldflags)" LD="$(tc-getLD)" -C xen ${myopt} -} - -src_install() { - local myopt - use debug && myopt="${myopt} debug=y" - use pae && myopt="${myopt} pae=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 -} - -pkg_postinst() { - elog "Official Xen Guide and the unoffical wiki page:" - elog " https://wiki.gentoo.org/wiki/Xen" - elog " http://en.gentoo-wiki.com/wiki/Xen/" - - use pae && ewarn "This is a PAE build of Xen. It will *only* boot PAE kernels!" - use efi && einfo "The efi executable is installed in boot/efi/gentoo" -} diff --git a/app-emulation/xen/xen-4.5.1.ebuild b/app-emulation/xen/xen-4.5.1.ebuild deleted file mode 100644 index 16d7962af5..0000000000 --- a/app-emulation/xen/xen-4.5.1.ebuild +++ /dev/null @@ -1,176 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=5 - -PYTHON_COMPAT=( python2_7 ) - -MY_PV=${PV/_/-} -MY_P=${PN}-${PV/_/-} - -if [[ $PV == *9999 ]]; then - KEYWORDS="" - EGIT_REPO_URI="git://xenbits.xen.org/${PN}.git" - live_eclass="git-2" -else - KEYWORDS="amd64 ~arm ~arm64 -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" - [[ -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="http://bits.xensource.com/oss-xen/release/${MY_PV}/${MY_P}.tar.gz - ${UPSTREAM_PATCHSET_URI} - ${SECURITY_PATCHSET_URI} - ${GENTOO_PATCHSET_URI}" - -fi - -inherit mount-boot flag-o-matic python-any-r1 toolchain-funcs eutils ${live_eclass} - -DESCRIPTION="The Xen virtual machine monitor" -HOMEPAGE="http://xen.org/" -LICENSE="GPL-2" -SLOT="0" -IUSE="custom-cflags debug efi flask xsm" - -DEPEND="${PYTHON_DEPS} - efi? ( >=sys-devel/binutils-2.22[multitarget] ) - !efi? ( >=sys-devel/binutils-2.22[-multitarget] )" -RDEPEND="" -PDEPEND="~app-emulation/xen-tools-${PV}" - -RESTRICT="test" - -# Approved by QA team in bug #144032 -QA_WX_LOAD="boot/xen-syms-${PV}" - -REQUIRED_USE="flask? ( xsm ) - arm? ( debug )" - -S="${WORKDIR}/${MY_P}" - -pkg_setup() { - python-any-r1_pkg_setup - 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 - - if use flask ; then - export "XSM_ENABLE=y" - export "FLASK_ENABLE=y" - elif use xsm ; then - export "XSM_ENABLE=y" - fi -} - -src_prepare() { - # Upstream's patchset - if [[ -n ${UPSTREAM_VER} ]]; then - EPATCH_SUFFIX="patch" \ - EPATCH_FORCE="yes" \ - EPATCH_OPTS="-p1" \ - epatch "${WORKDIR}"/patches-upstream - fi - - # Security patchset - if [[ -n ${SECURITY_VER} ]]; then - EPATCH_SUFFIX="patch" \ - EPATCH_FORCE="yes" \ - EPATCH_OPTS="-p1" \ - epatch "${WORKDIR}/patches-security/${PV}" - fi - - # Gentoo's patchset - if [[ -n ${GENTOO_VER} ]]; then - EPATCH_SUFFIX="patch" \ - EPATCH_FORCE="yes" \ - epatch "${WORKDIR}"/patches-gentoo - fi - - # Drop .config - sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop" - - if use efi; then - epatch "${FILESDIR}"/${PN}-4.5-efi.patch - 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 - - # remove -Werror for gcc-4.6's sake - find "${S}" -name 'Makefile*' -o -name '*.mk' -o -name 'common.make' | \ - xargs sed -i 's/ *-Werror */ /' - # not strictly necessary to fix this - sed -i 's/, "-Werror"//' "${S}/tools/python/setup.py" || die "failed to re-set setup.py" - - epatch_user -} - -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 - 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 -} - -pkg_postinst() { - elog "Official Xen Guide and the unoffical wiki page:" - elog " https://wiki.gentoo.org/wiki/Xen" - elog " http://en.gentoo-wiki.com/wiki/Xen/" - - use efi && einfo "The efi executable is installed in boot/efi/gentoo" -} diff --git a/app-emulation/xen/xen-4.5.2-r1.ebuild b/app-emulation/xen/xen-4.5.2-r2.ebuild index 4c013352c4..d703dcf280 100644 --- a/app-emulation/xen/xen-4.5.2-r1.ebuild +++ b/app-emulation/xen/xen-4.5.2-r2.ebuild @@ -17,6 +17,7 @@ else KEYWORDS="amd64 ~arm ~arm64 -x86" UPSTREAM_VER= SECURITY_VER=0 + SEC_VER=1 GENTOO_VER= [[ -n ${UPSTREAM_VER} ]] && \ @@ -29,7 +30,7 @@ else ${UPSTREAM_PATCHSET_URI} ${SECURITY_PATCHSET_URI} ${GENTOO_PATCHSET_URI} - https://dev.gentoo.org/~idella4/distfiles/${PN}-security-patches.tar.gz" + https://dev.gentoo.org/~idella4/distfiles/xen-security-patches-${SEC_VER}.tar.gz" fi @@ -94,15 +95,18 @@ src_prepare() { if [[ -n ${SECURITY_VER} ]]; then einfo "Try to apply Xen Security patcheset" - source "${WORKDIR}"/patches-security/${PV}.conf # apply main xen patches + # Add patches from tarball in devspace ~idella4 to those from ~dlan + mkdir "${WORKDIR}"/patches-security/xen || die + mv "${WORKDIR}"/{xsa156-4.5.patch,xsa15[8-9].patch,xsa160-4.6.patch} \ + "${WORKDIR}"/patches-security/xen || die + XEN_SECURITY_MAIN="xsa156-4.5.patch xsa15[8-9].patch xsa160-4.6.patch" for i in ${XEN_SECURITY_MAIN}; do EPATCH_SUFFIX="patch" \ EPATCH_FORCE="yes" \ epatch "${WORKDIR}"/patches-security/xen/$i done fi - epatch "${WORKDIR}"/xsa156-4.5.patch # Gentoo's patchset if [[ -n ${GENTOO_VER} ]]; then @@ -173,9 +177,14 @@ src_install() { } pkg_postinst() { + local msg="INSTALL_MASK=/boot/xen-syms" elog "Official Xen Guide and the unoffical wiki page:" elog " https://wiki.gentoo.org/wiki/Xen" elog " http://en.gentoo-wiki.com/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.5.2.ebuild b/app-emulation/xen/xen-4.5.2-r3.ebuild index a905fa97be..d76cc3dbf4 100644 --- a/app-emulation/xen/xen-4.5.2.ebuild +++ b/app-emulation/xen/xen-4.5.2-r3.ebuild @@ -6,23 +6,29 @@ EAPI=5 PYTHON_COMPAT=( python2_7 ) +inherit eutils multilib mount-boot flag-o-matic python-any-r1 toolchain-funcs + MY_PV=${PV/_/-} MY_P=${PN}-${PV/_/-} if [[ $PV == *9999 ]]; then + inherit git-r3 KEYWORDS="" EGIT_REPO_URI="git://xenbits.xen.org/${PN}.git" - live_eclass="git-2" + SRC_URI="" else KEYWORDS="amd64 ~arm ~arm64 -x86" UPSTREAM_VER= - SECURITY_VER= + SECURITY_VER=0 + # var set to reflect https://dev.gentoo.org/~idella4/ + SEC_VER=2 GENTOO_VER= [[ -n ${UPSTREAM_VER} ]] && \ UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${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" + SECURITY_PATCHSET_URI="https://dev.gentoo.org/~idella4/distfiles/${PN/-tools}-security-patches-${SECURITY_VER}.tar.xz + https://dev.gentoo.org/~idella4/distfiles/${PN/-tools}-security-patches-${SEC_VER}.tar.gz" [[ -n ${GENTOO_VER} ]] && \ GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-gentoo-patches-${GENTOO_VER}.tar.xz" SRC_URI="http://bits.xensource.com/oss-xen/release/${MY_PV}/${MY_P}.tar.gz @@ -32,8 +38,6 @@ else fi -inherit mount-boot flag-o-matic python-any-r1 toolchain-funcs eutils ${live_eclass} - DESCRIPTION="The Xen virtual machine monitor" HOMEPAGE="http://xen.org/" LICENSE="GPL-2" @@ -93,12 +97,17 @@ src_prepare() { if [[ -n ${SECURITY_VER} ]]; then einfo "Try to apply Xen Security patcheset" - source "${WORKDIR}"/patches-security/${PV}.conf # 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" for i in ${XEN_SECURITY_MAIN}; do - EPATCH_SUFFIX="patch" \ - EPATCH_FORCE="yes" \ - epatch "${WORKDIR}"/patches-security/xen/$i + epatch "${WORKDIR}"/patches-security/xen/$i + done + + for i in "${WORKDIR}"/xen-sec/xsa*.patch; do + epatch $i done fi @@ -176,4 +185,8 @@ pkg_postinst() { elog " http://en.gentoo-wiki.com/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.6.0-r1.ebuild b/app-emulation/xen/xen-4.5.2-r4.ebuild index 960df2a839..659c2909bc 100644 --- a/app-emulation/xen/xen-4.6.0-r1.ebuild +++ b/app-emulation/xen/xen-4.5.2-r4.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ @@ -6,23 +6,29 @@ EAPI=5 PYTHON_COMPAT=( python2_7 ) +inherit eutils multilib mount-boot flag-o-matic python-any-r1 toolchain-funcs + MY_PV=${PV/_/-} MY_P=${PN}-${PV/_/-} if [[ $PV == *9999 ]]; then + inherit git-r3 KEYWORDS="" EGIT_REPO_URI="git://xenbits.xen.org/${PN}.git" - live_eclass="git-2" + SRC_URI="" else - KEYWORDS="~amd64 ~arm ~arm64 -x86" - UPSTREAM_VER=0 - SECURITY_VER= + KEYWORDS="amd64 ~arm ~arm64 -x86" + UPSTREAM_VER= + SECURITY_VER=0 + # var set to reflect https://dev.gentoo.org/~idella4/ + SEC_VER=6 GENTOO_VER= [[ -n ${UPSTREAM_VER} ]] && \ UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${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" + SECURITY_PATCHSET_URI="https://dev.gentoo.org/~idella4/distfiles/${PN/-tools}-security-patches-${SECURITY_VER}.tar.xz + https://dev.gentoo.org/~idella4/distfiles/${PN/-tools}-security-patches-${SEC_VER}.tar.gz" [[ -n ${GENTOO_VER} ]] && \ GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-gentoo-patches-${GENTOO_VER}.tar.xz" SRC_URI="http://bits.xensource.com/oss-xen/release/${MY_PV}/${MY_P}.tar.gz @@ -32,8 +38,6 @@ else fi -inherit mount-boot flag-o-matic python-any-r1 toolchain-funcs eutils ${live_eclass} - DESCRIPTION="The Xen virtual machine monitor" HOMEPAGE="http://xen.org/" LICENSE="GPL-2" @@ -93,12 +97,17 @@ src_prepare() { if [[ -n ${SECURITY_VER} ]]; then einfo "Try to apply Xen Security patcheset" - source "${WORKDIR}"/patches-security/${PV}.conf # 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" for i in ${XEN_SECURITY_MAIN}; do - EPATCH_SUFFIX="patch" \ - EPATCH_FORCE="yes" \ - epatch "${WORKDIR}"/patches-security/xen/$i + epatch "${WORKDIR}"/patches-security/xen/$i + done + + for i in "${WORKDIR}"/xen-sec/xsa*.patch; do + epatch $i done fi @@ -109,12 +118,11 @@ src_prepare() { epatch "${WORKDIR}"/patches-gentoo fi - epatch "${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 + epatch "${FILESDIR}"/${PN}-4.5-efi.patch export EFI_VENDOR="gentoo" export EFI_MOUNTPOINT="boot" fi @@ -177,4 +185,8 @@ pkg_postinst() { elog " http://en.gentoo-wiki.com/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.6.0-r2.ebuild b/app-emulation/xen/xen-4.6.0-r5.ebuild index d6344ca8cf..f4d07387fe 100644 --- a/app-emulation/xen/xen-4.6.0-r2.ebuild +++ b/app-emulation/xen/xen-4.6.0-r5.ebuild @@ -6,44 +6,46 @@ EAPI=5 PYTHON_COMPAT=( python2_7 ) +inherit eutils multilib mount-boot flag-o-matic python-any-r1 toolchain-funcs + MY_PV=${PV/_/-} MY_P=${PN}-${PV/_/-} if [[ $PV == *9999 ]]; then + inherit git-r3 KEYWORDS="" - EGIT_REPO_URI="git://xenbits.xen.org/${PN}.git" - live_eclass="git-2" + EGIT_REPO_URI="git://xenbits.xen.org/xen.git" + SRC_URI="" else - KEYWORDS="~amd64 ~arm ~arm64 -x86" + KEYWORDS="amd64 ~arm ~arm64 -x86" UPSTREAM_VER=0 - SECURITY_VER= + SECURITY_VER=0 + # var set to reflect https://dev.gentoo.org/~idella4/ + SEC_VER=4 GENTOO_VER= [[ -n ${UPSTREAM_VER} ]] && \ UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${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" + SECURITY_PATCHSET_URI="https://dev.gentoo.org/~idella4/distfiles/${PN/-tools}-security-patches-${SECURITY_VER}.tar.xz + https://dev.gentoo.org/~idella4/distfiles/${PN/-tools}-security-patches-${SEC_VER}.tar.gz" [[ -n ${GENTOO_VER} ]] && \ GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-gentoo-patches-${GENTOO_VER}.tar.xz" SRC_URI="http://bits.xensource.com/oss-xen/release/${MY_PV}/${MY_P}.tar.gz ${UPSTREAM_PATCHSET_URI} ${SECURITY_PATCHSET_URI} - ${GENTOO_PATCHSET_URI} - https://dev.gentoo.org/~idella4/distfiles/${PN}-security-patches.tar.gz" - + ${GENTOO_PATCHSET_URI}" fi -inherit mount-boot flag-o-matic python-any-r1 toolchain-funcs eutils ${live_eclass} - DESCRIPTION="The Xen virtual machine monitor" HOMEPAGE="http://xen.org/" LICENSE="GPL-2" SLOT="0" -IUSE="custom-cflags debug efi flask xsm" +IUSE="custom-cflags debug efi flask" DEPEND="${PYTHON_DEPS} efi? ( >=sys-devel/binutils-2.22[multitarget] ) - !efi? ( >=sys-devel/binutils-2.22[-multitarget] )" + !efi? ( >=sys-devel/binutils-2.22 )" RDEPEND="" PDEPEND="~app-emulation/xen-tools-${PV}" @@ -52,19 +54,14 @@ RESTRICT="test" # Approved by QA team in bug #144032 QA_WX_LOAD="boot/xen-syms-${PV}" -REQUIRED_USE="flask? ( xsm ) - arm? ( debug )" +REQUIRED_USE="arm? ( debug )" S="${WORKDIR}/${MY_P}" pkg_setup() { python-any-r1_pkg_setup 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 + if use amd64; then export XEN_TARGET_ARCH="x86_64" elif use arm; then export XEN_TARGET_ARCH="arm32" @@ -78,8 +75,6 @@ pkg_setup() { if use flask ; then export "XSM_ENABLE=y" export "FLASK_ENABLE=y" - elif use xsm ; then - export "XSM_ENABLE=y" fi } @@ -94,15 +89,19 @@ src_prepare() { if [[ -n ${SECURITY_VER} ]]; then einfo "Try to apply Xen Security patcheset" - source "${WORKDIR}"/patches-security/${PV}.conf # 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" for i in ${XEN_SECURITY_MAIN}; do - EPATCH_SUFFIX="patch" \ - EPATCH_FORCE="yes" \ - epatch "${WORKDIR}"/patches-security/xen/$i + epatch "${WORKDIR}"/patches-security/xen/$i + done + + for i in "${WORKDIR}"/xen-sec/xsa*.patch; do + epatch $i done fi - epatch "${WORKDIR}"/xsa156.patch # Gentoo's patchset if [[ -n ${GENTOO_VER} ]]; then @@ -153,6 +152,8 @@ src_configure() { replace-flags -O3 -O2 else unset CFLAGS + unset LDFLAGS + unset ASFLAGS fi } @@ -171,6 +172,9 @@ src_install() { 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() { @@ -179,4 +183,8 @@ pkg_postinst() { elog " http://en.gentoo-wiki.com/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.6.0-r6.ebuild b/app-emulation/xen/xen-4.6.0-r6.ebuild new file mode 100644 index 0000000000..557fe40b34 --- /dev/null +++ b/app-emulation/xen/xen-4.6.0-r6.ebuild @@ -0,0 +1,193 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) + +inherit eutils multilib mount-boot flag-o-matic python-any-r1 toolchain-funcs + +MY_PV=${PV/_/-} +MY_P=${PN}-${PV/_/-} + +if [[ $PV == *9999 ]]; then + inherit git-r3 + KEYWORDS="" + EGIT_REPO_URI="git://xenbits.xen.org/xen.git" + SRC_URI="" +else + KEYWORDS="~amd64 ~arm ~arm64 -x86" + UPSTREAM_VER=0 + SECURITY_VER=0 + # var set to reflect https://dev.gentoo.org/~idella4/ + SEC_VER=4 + GENTOO_VER= + + [[ -n ${UPSTREAM_VER} ]] && \ + UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz" + [[ -n ${SECURITY_VER} ]] && \ + SECURITY_PATCHSET_URI="https://dev.gentoo.org/~idella4/distfiles/${PN/-tools}-security-patches-${SECURITY_VER}.tar.xz + https://dev.gentoo.org/~idella4/distfiles/${PN/-tools}-security-patches-${SEC_VER}.tar.gz" + [[ -n ${GENTOO_VER} ]] && \ + GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-gentoo-patches-${GENTOO_VER}.tar.xz" + SRC_URI="http://bits.xensource.com/oss-xen/release/${MY_PV}/${MY_P}.tar.gz + ${UPSTREAM_PATCHSET_URI} + ${SECURITY_PATCHSET_URI} + ${GENTOO_PATCHSET_URI}" +fi + +DESCRIPTION="The Xen virtual machine monitor" +HOMEPAGE="http://xen.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 + if [[ -n ${UPSTREAM_VER} ]]; then + EPATCH_SUFFIX="patch" \ + EPATCH_FORCE="yes" \ + EPATCH_OPTS="-p1" \ + epatch "${WORKDIR}"/patches-upstream + fi + + if [[ -n ${SECURITY_VER} ]]; then + einfo "Try to apply Xen Security patcheset" + # 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" + for i in ${XEN_SECURITY_MAIN}; do + epatch "${WORKDIR}"/patches-security/xen/$i + done + + for i in "${WORKDIR}"/xen-sec/xsa*.patch; do + epatch $i + done + fi + + # Gentoo's patchset + if [[ -n ${GENTOO_VER} ]]; then + EPATCH_SUFFIX="patch" \ + EPATCH_FORCE="yes" \ + epatch "${WORKDIR}"/patches-gentoo + fi + + epatch "${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 + + # remove -Werror for gcc-4.6's sake + find "${S}" -name 'Makefile*' -o -name '*.mk' -o -name 'common.make' | \ + xargs sed -i 's/ *-Werror */ /' + # not strictly necessary to fix this + sed -i 's/, "-Werror"//' "${S}/tools/python/setup.py" || die "failed to re-set setup.py" + + epatch_user +} + +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 and the unoffical wiki page:" + elog " https://wiki.gentoo.org/wiki/Xen" + elog " http://en.gentoo-wiki.com/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.6.0-r7.ebuild b/app-emulation/xen/xen-4.6.0-r7.ebuild new file mode 100644 index 0000000000..c9b19e3fd9 --- /dev/null +++ b/app-emulation/xen/xen-4.6.0-r7.ebuild @@ -0,0 +1,197 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) + +inherit eutils multilib mount-boot flag-o-matic python-any-r1 toolchain-funcs + +MY_PV=${PV/_/-} +MY_P=${PN}-${PV/_/-} + +if [[ $PV == *9999 ]]; then + inherit git-r3 + KEYWORDS="" + EGIT_REPO_URI="git://xenbits.xen.org/xen.git" + SRC_URI="" +else + KEYWORDS="~amd64 ~arm ~arm64 -x86" + UPSTREAM_VER=0 + SECURITY_VER=0 + # var set to reflect https://dev.gentoo.org/~idella4/ + # first instance of UPS_VER (usptream ver) + UPS_VER=0 + SEC_VER=4 + GENTOO_VER= + + [[ -n ${UPSTREAM_VER} ]] && \ + UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz + https://dev.gentoo.org/~idella4/distfiles/${PN}-upstream-patches-${UPS_VER}.tar.gz" + [[ -n ${SECURITY_VER} ]] && \ + SECURITY_PATCHSET_URI="https://dev.gentoo.org/~idella4/distfiles/${PN/-tools}-security-patches-${SECURITY_VER}.tar.xz + https://dev.gentoo.org/~idella4/distfiles/${PN/-tools}-security-patches-${SEC_VER}.tar.gz" + [[ -n ${GENTOO_VER} ]] && \ + GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-gentoo-patches-${GENTOO_VER}.tar.xz" + SRC_URI="http://bits.xensource.com/oss-xen/release/${MY_PV}/${MY_P}.tar.gz + ${UPSTREAM_PATCHSET_URI} + ${SECURITY_PATCHSET_URI} + ${GENTOO_PATCHSET_URI}" +fi + +DESCRIPTION="The Xen virtual machine monitor" +HOMEPAGE="http://xen.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 + if [[ -n ${UPSTREAM_VER} ]]; then + EPATCH_SUFFIX="patch" \ + EPATCH_FORCE="yes" \ + EPATCH_OPTS="-p1" \ + epatch "${WORKDIR}"/patches-upstream \ + "${WORKDIR}"/libexec.patch + fi + + if [[ -n ${SECURITY_VER} ]]; then + einfo "Try to apply Xen Security patcheset" + # 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" + for i in ${XEN_SECURITY_MAIN}; do + epatch "${WORKDIR}"/patches-security/xen/$i + done + + for i in "${WORKDIR}"/xen-sec/xsa*.patch; do + epatch $i + done + fi + + # Gentoo's patchset + if [[ -n ${GENTOO_VER} ]]; then + EPATCH_SUFFIX="patch" \ + EPATCH_FORCE="yes" \ + epatch "${WORKDIR}"/patches-gentoo + fi + + epatch "${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 + + # remove -Werror for gcc-4.6's sake + find "${S}" -name 'Makefile*' -o -name '*.mk' -o -name 'common.make' | \ + xargs sed -i 's/ *-Werror */ /' + # not strictly necessary to fix this + sed -i 's/, "-Werror"//' "${S}/tools/python/setup.py" || die "failed to re-set setup.py" + + epatch_user +} + +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 and the unoffical wiki page:" + elog " https://wiki.gentoo.org/wiki/Xen" + elog " http://en.gentoo-wiki.com/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.6.0-r8.ebuild b/app-emulation/xen/xen-4.6.0-r8.ebuild new file mode 100644 index 0000000000..45064a4b49 --- /dev/null +++ b/app-emulation/xen/xen-4.6.0-r8.ebuild @@ -0,0 +1,197 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) + +inherit eutils multilib mount-boot flag-o-matic python-any-r1 toolchain-funcs + +MY_PV=${PV/_/-} +MY_P=${PN}-${PV/_/-} + +if [[ $PV == *9999 ]]; then + inherit git-r3 + KEYWORDS="" + EGIT_REPO_URI="git://xenbits.xen.org/xen.git" + SRC_URI="" +else + KEYWORDS="amd64 ~arm ~arm64 -x86" + UPSTREAM_VER=0 + SECURITY_VER=0 + # var set to reflect https://dev.gentoo.org/~idella4/ + # first instance of UPS_VER (usptream ver) + UPS_VER=0 + SEC_VER=5 + GENTOO_VER= + + [[ -n ${UPSTREAM_VER} ]] && \ + UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz + https://dev.gentoo.org/~idella4/distfiles/${PN}-upstream-patches-${UPS_VER}.tar.gz" + [[ -n ${SECURITY_VER} ]] && \ + SECURITY_PATCHSET_URI="https://dev.gentoo.org/~idella4/distfiles/${PN/-tools}-security-patches-${SECURITY_VER}.tar.xz + https://dev.gentoo.org/~idella4/distfiles/${PN}-security-patches-${SEC_VER}.tar.gz" + [[ -n ${GENTOO_VER} ]] && \ + GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-gentoo-patches-${GENTOO_VER}.tar.xz" + SRC_URI="http://bits.xensource.com/oss-xen/release/${MY_PV}/${MY_P}.tar.gz + ${UPSTREAM_PATCHSET_URI} + ${SECURITY_PATCHSET_URI} + ${GENTOO_PATCHSET_URI}" +fi + +DESCRIPTION="The Xen virtual machine monitor" +HOMEPAGE="http://xen.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 + if [[ -n ${UPSTREAM_VER} ]]; then + EPATCH_SUFFIX="patch" \ + EPATCH_FORCE="yes" \ + EPATCH_OPTS="-p1" \ + epatch "${WORKDIR}"/patches-upstream \ + "${WORKDIR}"/libexec.patch + fi + + if [[ -n ${SECURITY_VER} ]]; then + einfo "Try to apply Xen Security patcheset" + # 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" + for i in ${XEN_SECURITY_MAIN}; do + epatch "${WORKDIR}"/patches-security/xen/$i + done + + for i in "${WORKDIR}"/xen-sec/xsa*.patch; do + epatch $i + done + fi + + # Gentoo's patchset + if [[ -n ${GENTOO_VER} ]]; then + EPATCH_SUFFIX="patch" \ + EPATCH_FORCE="yes" \ + epatch "${WORKDIR}"/patches-gentoo + fi + + epatch "${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 + + # remove -Werror for gcc-4.6's sake + find "${S}" -name 'Makefile*' -o -name '*.mk' -o -name 'common.make' | \ + xargs sed -i 's/ *-Werror */ /' + # not strictly necessary to fix this + sed -i 's/, "-Werror"//' "${S}/tools/python/setup.py" || die "failed to re-set setup.py" + + epatch_user +} + +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 and the unoffical wiki page:" + elog " https://wiki.gentoo.org/wiki/Xen" + elog " http://en.gentoo-wiki.com/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/xtrs/metadata.xml b/app-emulation/xtrs/metadata.xml index 8f00a04f28..c7db543a81 100644 --- a/app-emulation/xtrs/metadata.xml +++ b/app-emulation/xtrs/metadata.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> -<maintainer> +<maintainer type="person"> <email>ulm@gentoo.org</email> </maintainer> <longdescription> @@ -18,6 +18,6 @@ bit spartan, but it gets the job done. </longdescription> <use> - <flag name='ls-dos'>Install LS-DOS disk images for Model 4P</flag> + <flag name="ls-dos">Install LS-DOS disk images for Model 4P</flag> </use> </pkgmetadata> |