summaryrefslogtreecommitdiff
path: root/app-emulation
diff options
context:
space:
mode:
Diffstat (limited to 'app-emulation')
-rw-r--r--app-emulation/Manifest.gzbin19026 -> 19031 bytes
-rw-r--r--app-emulation/qemu/Manifest7
-rw-r--r--app-emulation/qemu/qemu-2.11.0-r50.ebuild1
-rw-r--r--app-emulation/qemu/qemu-2.11.0.ebuild1
-rw-r--r--app-emulation/qemu/qemu-2.11.1.ebuild802
-rw-r--r--app-emulation/runc/Manifest1
-rw-r--r--app-emulation/runc/files/runc-1.0.0_rc2-init-non-dumpable.patch108
-rw-r--r--app-emulation/virtualbox-modules/Manifest8
-rw-r--r--app-emulation/virtualbox-modules/files/virtualbox-modules-4.1.4-pax-const.patch20
-rw-r--r--app-emulation/virtualbox-modules/metadata.xml1
-rw-r--r--app-emulation/virtualbox-modules/virtualbox-modules-5.1.32.ebuild7
-rw-r--r--app-emulation/virtualbox-modules/virtualbox-modules-5.2.6.ebuild5
-rw-r--r--app-emulation/virtualbox/Manifest5
-rw-r--r--app-emulation/virtualbox/files/virtualbox-detect-usb-fix.patch24
-rw-r--r--app-emulation/virtualbox/virtualbox-5.1.32.ebuild30
-rw-r--r--app-emulation/virtualbox/virtualbox-5.2.6.ebuild30
16 files changed, 886 insertions, 164 deletions
diff --git a/app-emulation/Manifest.gz b/app-emulation/Manifest.gz
index 8ae58a31e7bd..3f8cbacc5042 100644
--- a/app-emulation/Manifest.gz
+++ b/app-emulation/Manifest.gz
Binary files differ
diff --git a/app-emulation/qemu/Manifest b/app-emulation/qemu/Manifest
index 917a8a988787..91c7142e8142 100644
--- a/app-emulation/qemu/Manifest
+++ b/app-emulation/qemu/Manifest
@@ -9,7 +9,10 @@ AUX qemu-binfmt.initd.head 1445 BLAKE2B 5762a38034331a13e308f6fc8cb979e38ae01a05
AUX qemu-binfmt.initd.tail 245 BLAKE2B dd59f2944c6e3f0c4d282b94b687a9b5c51dd77c5103fb9889bd9ce56874495397676ae6c8375d9e9e23094828477240778d9e0f361e68cdd63fdad574851561 SHA512 bcca16805f8380d52cc591ea3d65a8f6e5de456730618f6aee301510edb75d235a22d4d7aeed224882210392840adb403eb53234b6cb76a4cb24533852a8b737
DIST qemu-2.11.0-patches-r0.tar.xz 16140 BLAKE2B 2e23908075195a7c28df574525a159e171277a2da6d7c0656a341a2db6a622237106d2dd8de5c9d61b5fb62fa5a163e9657406a2996cebc05baa53d42c5f5d15 SHA512 f7d92c2232398565b8cde294d38dc281c13503fb5967cc7871a2233b7fa354799619445e9ec89c285ef051f62ecef0bd38a135b0093bf5528c0b28c6e580c839
DIST qemu-2.11.0.tar.bz2 32816398 BLAKE2B 2014a8246f3cba9069186629d9ec8c221672fcfd3e8cd28a7e57f467add81f7bd84363183ef5cc5d18af91bde9186a4da49c0133c8ead83eae4626b9fc364e99 SHA512 3681700833573c0aa6283af950bfa298970056f1b44489088d8863840a7694512138321f86961ef43b256abf15eddd2612fb9cdbe3d9a358542d4e7037cc2004
-EBUILD qemu-2.11.0-r50.ebuild 23613 BLAKE2B c0434f730029c1e404d4258f5739affc2fc127e3f1497ace9912b6ffa3687ac03c39769cb1a45423f711a4ecd30e04ff2e487b1443e36ef3f70cb2a605a96a5d SHA512 fe4a65d73168c6b1691d1dda304600430ff1be1c293138c345874d5ebae1883265715b270e9759dbe5c0b19f71ce2ffde85e1871e5dfbb779ea091d78acc82c9
-EBUILD qemu-2.11.0.ebuild 23581 BLAKE2B d2b1cb0fe791f060403233de7b574cff1e9efd4b2dcd3c604a222104e0728f821b5a7d644e53a8525c4b6e0dbcb4af00c7c4b612bda8ee7363507116e0c75a96 SHA512 c4cc27015cf279013bcd7e2d6fd6e13944b51879ea2a5779cb0204df4d9f70dd476b471467117a938eae375e89ab464ae8057b3b276988b8e7eac0399fa27119
+DIST qemu-2.11.1-patches-r0.tar.xz 1640 BLAKE2B 8402a0bd086307413c3f088b7b2523adda5f370e3ce8e9ec39db905a5df495842cc2168b93b57e8516e98703ee1620e7cad77740529959a09a1d4224988829bc SHA512 2906f9497e61799da8efca0dac4a19addd3bf59770c742e3ed1600143b69397bbc4eecb2c1f64aef0e103447966d47ced1ec6908f78a793b8d06f99a0aa6dc4a
+DIST qemu-2.11.1.tar.bz2 32819412 BLAKE2B 6b6d4e7b8dcf33aeedb0b33bad267da07ad17c2eeeb5fbd2c038d760bc03224e55ba0f03eb248c62bc0e8636c2c660ea76b367eaea96bee16388053f82c8b8a9 SHA512 1b692bbdfc3dc785738c7192aa2a3f9cf53d9f5bf3b3f49fa8692050dc50f7056c8a4d1b527d48ffb2a674a0fd3a46d87addd1eaaa758f35eec1ab5adfe32354
+EBUILD qemu-2.11.0-r50.ebuild 23612 BLAKE2B 3f45d2b14cf4fc8d106c11e87e18e04c08e9d312df157241067d161cb078723de2a7cd581b09c807d322fe6694b72503396715eb939a830b1e964676318953de SHA512 a563f940264702d5f96ae57793b2cc8829d534d2ec5b1033463e23d40d277f3e0afcc59cb72811467cef5914b9ec06a110164d855dfb18b7e03737a16d227fdc
+EBUILD qemu-2.11.0.ebuild 23580 BLAKE2B 46b02ace6b5c108412ddd2b955e9774e72b6543b2812448fad079322c177825a182c3a900d6b867455100f5454b85b0e4f729108254f17bde07c6c73539f9588 SHA512 7e59f1bb80e42fdc3e6a2641a3edb497a38ac7c912606066255ab9cca9b4509bcb17a440b811df2a899a8efd2b84582b0db9f7f636ecad5bf91d87c3493b740a
+EBUILD qemu-2.11.1.ebuild 23584 BLAKE2B 8b1db2fbffccbcbdb18282258a3e6e08fb7b6ead21381cbde62d98cd6f03e32d2dcfecb47458ad8c9431923537a183629b7a7fbbbc2c2c845b3dda7e9aec47ff SHA512 3258d4095ab1f941970eff407cf4cb883f5b8d1f4418b50ec935e4f9bb2fe5fdcd711ddf2784c5ea0027d06db900faa3d6652a2828417fc51f3c2931982b3001
EBUILD qemu-9999.ebuild 23422 BLAKE2B abe0fbfd0cde763379dd647b73ccd5139c01a7867da41ba28d9c15130181340878c5b2db4758c89d420cb2cdba53e2aa32458534312262271a08decefc3bd991 SHA512 cf7489a649e1b749cc15b773c64d0c9d6ee9806f109eb99f812c3bb9fa05f272258a8827f3caa369eb4d2fa354b209a9a77c8a2a9ce0ba78abee6da827d69d16
MISC metadata.xml 3794 BLAKE2B 626ed8aa0c868513122b44083f2c76fc758f09624600770b1b267328b08335cc60b4167b37a4f418985c810dfea23bb7792c9b874166842e8fd34ba2c24a146a SHA512 10f130f225b90dacf8262247d795a247abfdcbf3ad5fbe0693e8d4db79f755984f690cb150a7eb5a8e5d669ce404145c4fbb6b200d6362319be74759fd78b6d3
diff --git a/app-emulation/qemu/qemu-2.11.0-r50.ebuild b/app-emulation/qemu/qemu-2.11.0-r50.ebuild
index cbd136db0a82..b055fef920a7 100644
--- a/app-emulation/qemu/qemu-2.11.0-r50.ebuild
+++ b/app-emulation/qemu/qemu-2.11.0-r50.ebuild
@@ -26,7 +26,6 @@ else
SRC_URI+=" https://dev.gentoo.org/~tamiko/distfiles/${P}-patches-r0.tar.xz"
fi
-
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org"
diff --git a/app-emulation/qemu/qemu-2.11.0.ebuild b/app-emulation/qemu/qemu-2.11.0.ebuild
index 3965ae8920a0..5a2f53f7be59 100644
--- a/app-emulation/qemu/qemu-2.11.0.ebuild
+++ b/app-emulation/qemu/qemu-2.11.0.ebuild
@@ -25,7 +25,6 @@ else
SRC_URI+=" https://dev.gentoo.org/~tamiko/distfiles/${P}-patches-r0.tar.xz"
fi
-
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org"
diff --git a/app-emulation/qemu/qemu-2.11.1.ebuild b/app-emulation/qemu/qemu-2.11.1.ebuild
new file mode 100644
index 000000000000..36d197d8ea03
--- /dev/null
+++ b/app-emulation/qemu/qemu-2.11.1.ebuild
@@ -0,0 +1,802 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="ncurses,readline"
+
+PLOCALES="bg de_DE fr_FR hu it tr zh_CN"
+
+FIRMWARE_ABI_VERSION="2.9.0-r52"
+
+inherit eutils flag-o-matic linux-info toolchain-funcs multilib python-r1 \
+ user udev fcaps readme.gentoo-r1 pax-utils l10n
+
+if [[ ${PV} = *9999* ]]; then
+ EGIT_REPO_URI="git://git.qemu.org/qemu.git"
+ inherit git-r3
+ SRC_URI=""
+else
+ SRC_URI="http://wiki.qemu-project.org/download/${P}.tar.bz2"
+ KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86 ~x86-fbsd"
+
+ # Gentoo specific patchsets:
+ SRC_URI+=" https://dev.gentoo.org/~chutzpah/distfiles/${P}-patches-r0.tar.xz"
+fi
+
+DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
+HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org"
+
+LICENSE="GPL-2 LGPL-2 BSD-2"
+SLOT="0"
+IUSE="accessibility +aio alsa bluetooth bzip2 +caps +curl debug +fdt
+ glusterfs gnutls gtk gtk2 infiniband iscsi +jpeg kernel_linux
+ kernel_FreeBSD lzo ncurses nfs nls numa opengl +pin-upstream-blobs +png
+ pulseaudio python rbd sasl +seccomp sdl sdl2 selinux smartcard snappy
+ spice ssh static static-user systemtap tci test usb usbredir vde
+ +vhost-net virgl virtfs +vnc vte xattr xen xfs"
+
+COMMON_TARGETS="aarch64 alpha arm cris i386 m68k microblaze microblazeel
+ mips mips64 mips64el mipsel nios2 or1k ppc ppc64 s390x sh4 sh4eb sparc
+ sparc64 x86_64"
+IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS}
+ lm32 moxie ppcemb tricore unicore32 xtensa xtensaeb"
+IUSE_USER_TARGETS="${COMMON_TARGETS}
+ armeb hppa mipsn32 mipsn32el ppc64abi32 ppc64le sparc32plus tilegx"
+
+use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS})
+use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS})
+IUSE+=" ${use_softmmu_targets} ${use_user_targets}"
+
+# Allow no targets to be built so that people can get a tools-only build.
+# Block USE flag configurations known to not work.
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ gtk2? ( gtk )
+ qemu_softmmu_targets_arm? ( fdt )
+ qemu_softmmu_targets_microblaze? ( fdt )
+ qemu_softmmu_targets_mips64el? ( fdt )
+ qemu_softmmu_targets_ppc? ( fdt )
+ qemu_softmmu_targets_ppc64? ( fdt )
+ sdl2? ( sdl )
+ static? ( static-user !alsa !bluetooth !gtk !gtk2 !opengl !pulseaudio )
+ virtfs? ( xattr )
+ vte? ( gtk )"
+
+# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
+# and user/softmmu targets (qemu-*, qemu-system-*).
+#
+# Yep, you need both libcap and libcap-ng since virtfs only uses libcap.
+#
+# The attr lib isn't always linked in (although the USE flag is always
+# respected). This is because qemu supports using the C library's API
+# when available rather than always using the extranl library.
+ALL_DEPEND="
+ >=dev-libs/glib-2.0[static-libs(+)]
+ sys-libs/zlib[static-libs(+)]
+ python? ( ${PYTHON_DEPS} )
+ systemtap? ( dev-util/systemtap )
+ xattr? ( sys-apps/attr[static-libs(+)] )"
+
+# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
+# softmmu targets (qemu-system-*).
+SOFTMMU_TOOLS_DEPEND="
+ >=x11-libs/pixman-0.28.0[static-libs(+)]
+ accessibility? (
+ app-accessibility/brltty[api]
+ app-accessibility/brltty[static-libs(+)]
+ )
+ aio? ( dev-libs/libaio[static-libs(+)] )
+ alsa? ( >=media-libs/alsa-lib-1.0.13 )
+ bluetooth? ( net-wireless/bluez )
+ bzip2? ( app-arch/bzip2[static-libs(+)] )
+ caps? ( sys-libs/libcap-ng[static-libs(+)] )
+ curl? ( >=net-misc/curl-7.15.4[static-libs(+)] )
+ fdt? ( >=sys-apps/dtc-1.4.2[static-libs(+)] )
+ glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
+ gnutls? (
+ dev-libs/nettle:=[static-libs(+)]
+ >=net-libs/gnutls-3.0:=[static-libs(+)]
+ )
+ gtk? (
+ gtk2? (
+ x11-libs/gtk+:2
+ vte? ( x11-libs/vte:0 )
+ )
+ !gtk2? (
+ x11-libs/gtk+:3
+ vte? ( x11-libs/vte:2.91 )
+ )
+ )
+ infiniband? ( sys-fabric/librdmacm:=[static-libs(+)] )
+ iscsi? ( net-libs/libiscsi )
+ jpeg? ( virtual/jpeg:0=[static-libs(+)] )
+ lzo? ( dev-libs/lzo:2[static-libs(+)] )
+ ncurses? (
+ sys-libs/ncurses:0=[unicode]
+ sys-libs/ncurses:0=[static-libs(+)]
+ )
+ nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] )
+ numa? ( sys-process/numactl[static-libs(+)] )
+ opengl? (
+ virtual/opengl
+ media-libs/libepoxy[static-libs(+)]
+ media-libs/mesa[static-libs(+)]
+ media-libs/mesa[egl,gbm]
+ )
+ png? ( media-libs/libpng:0=[static-libs(+)] )
+ pulseaudio? ( media-sound/pulseaudio )
+ rbd? ( sys-cluster/ceph[static-libs(+)] )
+ sasl? ( dev-libs/cyrus-sasl[static-libs(+)] )
+ sdl? (
+ !sdl2? (
+ media-libs/libsdl[X]
+ >=media-libs/libsdl-1.2.11[static-libs(+)]
+ )
+ sdl2? (
+ media-libs/libsdl2[X]
+ media-libs/libsdl2[static-libs(+)]
+ )
+ )
+ seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] )
+ smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] )
+ snappy? ( app-arch/snappy:=[static-libs(+)] )
+ spice? (
+ >=app-emulation/spice-protocol-0.12.3
+ >=app-emulation/spice-0.12.0[static-libs(+)]
+ )
+ ssh? ( >=net-libs/libssh2-1.2.8[static-libs(+)] )
+ usb? ( >=virtual/libusb-1-r2[static-libs(+)] )
+ usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] )
+ vde? ( net-misc/vde[static-libs(+)] )
+ virgl? ( media-libs/virglrenderer[static-libs(+)] )
+ virtfs? ( sys-libs/libcap )
+ xen? ( app-emulation/xen-tools:= )
+ xfs? ( sys-fs/xfsprogs[static-libs(+)] )"
+
+X86_FIRMWARE_DEPEND="
+ pin-upstream-blobs? (
+ ~sys-firmware/edk2-ovmf-2017_pre20170505[binary]
+ ~sys-firmware/ipxe-1.0.0_p20160620
+ ~sys-firmware/seabios-1.10.2[binary,seavgabios]
+ ~sys-firmware/sgabios-0.1_pre8
+ )
+ !pin-upstream-blobs? (
+ sys-firmware/edk2-ovmf
+ sys-firmware/ipxe
+ >=sys-firmware/seabios-1.10.2[seavgabios]
+ sys-firmware/sgabios
+ )"
+PPC64_FIRMWARE_DEPEND="
+ pin-upstream-blobs? (
+ ~sys-firmware/seabios-1.10.2[binary,seavgabios]
+ )
+ !pin-upstream-blobs? (
+ >=sys-firmware/seabios-1.10.2[seavgabios]
+ )
+"
+
+CDEPEND="
+ !static? (
+ ${ALL_DEPEND//\[static-libs(+)]}
+ ${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]}
+ )
+ qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} )
+ qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} )
+ qemu_softmmu_targets_ppc64? ( ${PPC64_FIRMWARE_DEPEND} )
+"
+DEPEND="${CDEPEND}
+ dev-lang/perl
+ =dev-lang/python-2*
+ sys-apps/texinfo
+ virtual/pkgconfig
+ kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
+ gtk? ( nls? ( sys-devel/gettext ) )
+ static? (
+ ${ALL_DEPEND}
+ ${SOFTMMU_TOOLS_DEPEND}
+ )
+ static-user? ( ${ALL_DEPEND} )
+ test? (
+ dev-libs/glib[utils]
+ sys-devel/bc
+ )"
+RDEPEND="${CDEPEND}
+ selinux? ( sec-policy/selinux-qemu )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.5.0-cflags.patch
+ "${FILESDIR}"/${PN}-2.5.0-sysmacros.patch
+ "${FILESDIR}"/${PN}-2.11.0-glibc-2.27.patch
+ "${WORKDIR}"/patches
+)
+
+STRIP_MASK="/usr/share/qemu/palcode-clipper"
+
+QA_PREBUILT="
+ usr/share/qemu/openbios-ppc
+ usr/share/qemu/openbios-sparc64
+ usr/share/qemu/openbios-sparc32
+ usr/share/qemu/palcode-clipper
+ usr/share/qemu/s390-ccw.img
+ usr/share/qemu/s390-netboot.img
+ usr/share/qemu/u-boot.e500"
+
+QA_WX_LOAD="usr/bin/qemu-i386
+ usr/bin/qemu-x86_64
+ usr/bin/qemu-alpha
+ usr/bin/qemu-arm
+ usr/bin/qemu-cris
+ usr/bin/qemu-m68k
+ usr/bin/qemu-microblaze
+ usr/bin/qemu-microblazeel
+ usr/bin/qemu-mips
+ usr/bin/qemu-mipsel
+ usr/bin/qemu-or1k
+ usr/bin/qemu-ppc
+ usr/bin/qemu-ppc64
+ usr/bin/qemu-ppc64abi32
+ usr/bin/qemu-sh4
+ usr/bin/qemu-sh4eb
+ usr/bin/qemu-sparc
+ usr/bin/qemu-sparc64
+ usr/bin/qemu-armeb
+ usr/bin/qemu-sparc32plus
+ usr/bin/qemu-s390x
+ usr/bin/qemu-unicore32"
+
+DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the
+kernel module loaded before running kvm. The easiest way to ensure that the
+kernel module is loaded is to load it on boot.
+ For AMD CPUs the module is called 'kvm-amd'.
+ For Intel CPUs the module is called 'kvm-intel'.
+Please review /etc/conf.d/modules for how to load these.
+
+Make sure your user is in the 'kvm' group. Just run
+ $ gpasswd -a <USER> kvm
+then have <USER> re-login.
+
+For brand new installs, the default permissions on /dev/kvm might not let
+you access it. You can tell udev to reset ownership/perms:
+ $ udevadm trigger -c add /dev/kvm
+
+If you want to register binfmt handlers for qemu user targets:
+For openrc:
+ # rc-update add qemu-binfmt
+For systemd:
+ # ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf"
+
+pkg_pretend() {
+ if use kernel_linux && kernel_is lt 2 6 25; then
+ eerror "This version of KVM requres a host kernel of 2.6.25 or higher."
+ elif use kernel_linux; then
+ if ! linux_config_exists; then
+ eerror "Unable to check your kernel for KVM support"
+ else
+ CONFIG_CHECK="~KVM ~TUN ~BRIDGE"
+ ERROR_KVM="You must enable KVM in your kernel to continue"
+ ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in"
+ ERROR_KVM_AMD+=" your kernel configuration."
+ ERROR_KVM_INTEL="If you have an Intel CPU, you must enable"
+ ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration."
+ ERROR_TUN="You will need the Universal TUN/TAP driver compiled"
+ ERROR_TUN+=" into your kernel or loaded as a module to use the"
+ ERROR_TUN+=" virtual network device if using -net tap."
+ ERROR_BRIDGE="You will also need support for 802.1d"
+ ERROR_BRIDGE+=" Ethernet Bridging for some network configurations."
+ use vhost-net && CONFIG_CHECK+=" ~VHOST_NET"
+ ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net"
+ ERROR_VHOST_NET+=" support"
+
+ if use amd64 || use x86 || use amd64-linux || use x86-linux; then
+ if grep -q AuthenticAMD /proc/cpuinfo; then
+ CONFIG_CHECK+=" ~KVM_AMD"
+ elif grep -q GenuineIntel /proc/cpuinfo; then
+ CONFIG_CHECK+=" ~KVM_INTEL"
+ fi
+ fi
+
+ use python && CONFIG_CHECK+=" ~DEBUG_FS"
+ ERROR_DEBUG_FS="debugFS support required for kvm_stat"
+
+ # Now do the actual checks setup above
+ check_extra_config
+ fi
+ fi
+
+ if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then
+ eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt"
+ eerror "instances are still pointing to it. Please update your"
+ eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag"
+ eerror "and the right system binary (e.g. qemu-system-x86_64)."
+ die "update your virt configs to not use qemu-kvm"
+ fi
+}
+
+pkg_setup() {
+ enewgroup kvm 78
+}
+
+# Sanity check to make sure target lists are kept up-to-date.
+check_targets() {
+ local var=$1 mak=$2
+ local detected sorted
+
+ pushd "${S}"/default-configs >/dev/null || die
+
+ # Force C locale until glibc is updated. #564936
+ detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u))
+ sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u))
+ if [[ ${sorted} != "${detected}" ]] ; then
+ eerror "The ebuild needs to be kept in sync."
+ eerror "${var}: ${sorted}"
+ eerror "$(printf '%-*s' ${#var} configure): ${detected}"
+ die "sync ${var} to the list of targets"
+ fi
+
+ popd >/dev/null
+}
+
+handle_locales() {
+ # Make sure locale list is kept up-to-date.
+ local detected sorted
+ detected=$(echo $(cd po && printf '%s\n' *.po | grep -v messages.po | sed 's:.po$::' | sort -u))
+ sorted=$(echo $(printf '%s\n' ${PLOCALES} | sort -u))
+ if [[ ${sorted} != "${detected}" ]] ; then
+ eerror "The ebuild needs to be kept in sync."
+ eerror "PLOCALES: ${sorted}"
+ eerror " po/*.po: ${detected}"
+ die "sync PLOCALES"
+ fi
+
+ # Deal with selective install of locales.
+ if use nls ; then
+ # Delete locales the user does not want. #577814
+ rm_loc() { rm po/$1.po || die; }
+ l10n_for_each_disabled_locale_do rm_loc
+ else
+ # Cheap hack to disable gettext .mo generation.
+ rm -f po/*.po
+ fi
+}
+
+src_prepare() {
+ check_targets IUSE_SOFTMMU_TARGETS softmmu
+ check_targets IUSE_USER_TARGETS linux-user
+
+ # Alter target makefiles to accept CFLAGS set via flag-o
+ sed -i -r \
+ -e 's/^(C|OP_C|HELPER_C)FLAGS=/\1FLAGS+=/' \
+ Makefile Makefile.target || die
+
+ default
+
+ # Fix ld and objcopy being called directly
+ tc-export AR LD OBJCOPY
+
+ # Verbose builds
+ MAKEOPTS+=" V=1"
+
+ # Run after we've applied all patches.
+ handle_locales
+
+ # Remove bundled copy of libfdt
+ rm -r dtc || die
+}
+
+##
+# configures qemu based on the build directory and the build type
+# we are using.
+#
+qemu_src_configure() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ local buildtype=$1
+ local builddir="${S}/${buildtype}-build"
+
+ mkdir "${builddir}"
+
+ local conf_opts=(
+ --prefix=/usr
+ --sysconfdir=/etc
+ --libdir=/usr/$(get_libdir)
+ --docdir=/usr/share/doc/${PF}/html
+ --disable-bsd-user
+ --disable-guest-agent
+ --disable-strip
+ --disable-werror
+ # We support gnutls/nettle for crypto operations. It is possible
+ # to use gcrypt when gnutls/nettle are disabled (but not when they
+ # are enabled), but it's not really worth the hassle. Disable it
+ # all the time to avoid automatically detecting it. #568856
+ --disable-gcrypt
+ --python="${PYTHON}"
+ --cc="$(tc-getCC)"
+ --cxx="$(tc-getCXX)"
+ --host-cc="$(tc-getBUILD_CC)"
+ $(use_enable debug debug-info)
+ $(use_enable debug debug-tcg)
+ --enable-docs
+ $(use_enable tci tcg-interpreter)
+ $(use_enable xattr attr)
+ )
+
+ # Disable options not used by user targets. This simplifies building
+ # static user targets (USE=static-user) considerably.
+ conf_notuser() {
+ if [[ ${buildtype} == "user" ]] ; then
+ echo "--disable-${2:-$1}"
+ else
+ use_enable "$@"
+ fi
+ }
+ conf_opts+=(
+ $(conf_notuser accessibility brlapi)
+ $(conf_notuser aio linux-aio)
+ $(conf_notuser bzip2)
+ $(conf_notuser bluetooth bluez)
+ $(conf_notuser caps cap-ng)
+ $(conf_notuser curl)
+ $(conf_notuser fdt)
+ $(conf_notuser glusterfs)
+ $(conf_notuser gnutls)
+ $(conf_notuser gnutls nettle)
+ $(conf_notuser gtk)
+ $(conf_notuser infiniband rdma)
+ $(conf_notuser iscsi libiscsi)
+ $(conf_notuser jpeg vnc-jpeg)
+ $(conf_notuser kernel_linux kvm)
+ $(conf_notuser lzo)
+ $(conf_notuser ncurses curses)
+ $(conf_notuser nfs libnfs)
+ $(conf_notuser numa)
+ $(conf_notuser opengl)
+ $(conf_notuser png vnc-png)
+ $(conf_notuser rbd)
+ $(conf_notuser sasl vnc-sasl)
+ $(conf_notuser sdl)
+ $(conf_notuser seccomp)
+ $(conf_notuser smartcard)
+ $(conf_notuser snappy)
+ $(conf_notuser spice)
+ $(conf_notuser ssh libssh2)
+ $(conf_notuser usb libusb)
+ $(conf_notuser usbredir usb-redir)
+ $(conf_notuser vde)
+ $(conf_notuser vhost-net)
+ $(conf_notuser virgl virglrenderer)
+ $(conf_notuser virtfs)
+ $(conf_notuser vnc)
+ $(conf_notuser vte)
+ $(conf_notuser xen)
+ $(conf_notuser xen xen-pci-passthrough)
+ $(conf_notuser xfs xfsctl)
+ )
+
+ if [[ ! ${buildtype} == "user" ]] ; then
+ # audio options
+ local audio_opts="oss"
+ use alsa && audio_opts="alsa,${audio_opts}"
+ use sdl && audio_opts="sdl,${audio_opts}"
+ use pulseaudio && audio_opts="pa,${audio_opts}"
+ conf_opts+=(
+ --audio-drv-list="${audio_opts}"
+ )
+ use gtk && conf_opts+=( --with-gtkabi=$(usex gtk2 2.0 3.0) )
+ use sdl && conf_opts+=( --with-sdlabi=$(usex sdl2 2.0 1.2) )
+ fi
+
+ case ${buildtype} in
+ user)
+ conf_opts+=(
+ --enable-linux-user
+ --disable-system
+ --disable-blobs
+ --disable-tools
+ )
+ local static_flag="static-user"
+ ;;
+ softmmu)
+ conf_opts+=(
+ --disable-linux-user
+ --enable-system
+ --disable-tools
+ )
+ local static_flag="static"
+ ;;
+ tools)
+ conf_opts+=(
+ --disable-linux-user
+ --disable-system
+ --disable-blobs
+ --enable-tools
+ )
+ local static_flag="static"
+ ;;
+ esac
+
+ local targets="${buildtype}_targets"
+ [[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" )
+
+ # Add support for SystemTAP
+ use systemtap && conf_opts+=( --enable-trace-backend=dtrace )
+
+ # We always want to attempt to build with PIE support as it results
+ # in a more secure binary. But it doesn't work with static or if
+ # the current GCC doesn't have PIE support.
+ if use ${static_flag}; then
+ conf_opts+=( --static --disable-pie )
+ else
+ tc-enables-pie && conf_opts+=( --enable-pie )
+ fi
+
+ echo "../configure ${conf_opts[*]}"
+ cd "${builddir}"
+ ../configure "${conf_opts[@]}" || die "configure failed"
+
+ # FreeBSD's kernel does not support QEMU assigning/grabbing
+ # host USB devices yet
+ use kernel_FreeBSD && \
+ sed -i -E -e "s|^(HOST_USB=)bsd|\1stub|" "${S}"/config-host.mak
+}
+
+src_configure() {
+ local target
+
+ python_setup
+
+ softmmu_targets= softmmu_bins=()
+ user_targets= user_bins=()
+
+ for target in ${IUSE_SOFTMMU_TARGETS} ; do
+ if use "qemu_softmmu_targets_${target}"; then
+ softmmu_targets+=",${target}-softmmu"
+ softmmu_bins+=( "qemu-system-${target}" )
+ fi
+ done
+
+ for target in ${IUSE_USER_TARGETS} ; do
+ if use "qemu_user_targets_${target}"; then
+ user_targets+=",${target}-linux-user"
+ user_bins+=( "qemu-${target}" )
+ fi
+ done
+
+ softmmu_targets=${softmmu_targets#,}
+ user_targets=${user_targets#,}
+
+ [[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu"
+ [[ -n ${user_targets} ]] && qemu_src_configure "user"
+ qemu_src_configure "tools"
+}
+
+src_compile() {
+ if [[ -n ${user_targets} ]]; then
+ cd "${S}/user-build"
+ default
+ fi
+
+ if [[ -n ${softmmu_targets} ]]; then
+ cd "${S}/softmmu-build"
+ default
+ fi
+
+ cd "${S}/tools-build"
+ default
+}
+
+src_test() {
+ if [[ -n ${softmmu_targets} ]]; then
+ cd "${S}/softmmu-build"
+ pax-mark m */qemu-system-* #515550
+ emake -j1 check
+ emake -j1 check-report.html
+ fi
+}
+
+qemu_python_install() {
+ python_domodule "${S}/scripts/qmp/qmp.py"
+
+ python_doscript "${S}/scripts/kvm/vmxcap"
+ python_doscript "${S}/scripts/qmp/qmp-shell"
+ python_doscript "${S}/scripts/qmp/qemu-ga-client"
+}
+
+# Generate binfmt support files.
+# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc)
+# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt)
+generate_initd() {
+ local out="${T}/qemu-binfmt"
+ local out_systemd="${T}/qemu.conf"
+ local d="${T}/binfmt.d"
+
+ einfo "Generating qemu binfmt scripts and configuration files"
+
+ # Generate the debian fragments first.
+ mkdir -p "${d}"
+ "${S}"/scripts/qemu-binfmt-conf.sh \
+ --debian \
+ --exportdir "${d}" \
+ --qemu-path "${EPREFIX}/usr/bin" \
+ || die
+ # Then turn the fragments into a shell script we can source.
+ sed -E -i \
+ -e 's:^([^ ]+) (.*)$:\1="\2":' \
+ "${d}"/* || die
+
+ # Generate the init.d script by assembling the fragments from above.
+ local f qcpu package interpreter magic mask
+ cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die
+ for f in "${d}"/qemu-* ; do
+ source "${f}"
+
+ # Normalize the cpu logic like we do in the init.d for the native cpu.
+ qcpu=${package#qemu-}
+ case ${qcpu} in
+ arm*) qcpu="arm";;
+ mips*) qcpu="mips";;
+ ppc*) qcpu="ppc";;
+ s390*) qcpu="s390";;
+ sh*) qcpu="sh";;
+ sparc*) qcpu="sparc";;
+ esac
+
+ cat <<EOF >>"${out}"
+ if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then
+ echo ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register
+ fi
+EOF
+
+ echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}"
+
+ done
+ cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die
+}
+
+src_install() {
+ if [[ -n ${user_targets} ]]; then
+ cd "${S}/user-build"
+ emake DESTDIR="${ED}" install
+
+ # Install binfmt handler init script for user targets.
+ generate_initd
+ doinitd "${T}/qemu-binfmt"
+
+ # Install binfmt/qemu.conf.
+ insinto "/usr/share/qemu/binfmt.d"
+ doins "${T}/qemu.conf"
+ fi
+
+ if [[ -n ${softmmu_targets} ]]; then
+ cd "${S}/softmmu-build"
+ emake DESTDIR="${ED}" install
+
+ # This might not exist if the test failed. #512010
+ [[ -e check-report.html ]] && dohtml check-report.html
+
+ if use kernel_linux; then
+ udev_newrules "${FILESDIR}"/65-kvm.rules-r1 65-kvm.rules
+ fi
+
+ if use python; then
+ python_foreach_impl qemu_python_install
+ fi
+ fi
+
+ cd "${S}/tools-build"
+ emake DESTDIR="${ED}" install
+
+ # Disable mprotect on the qemu binaries as they use JITs to be fast #459348
+ pushd "${ED}"/usr/bin >/dev/null
+ pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594
+ popd >/dev/null
+
+ # Install config file example for qemu-bridge-helper
+ insinto "/etc/qemu"
+ doins "${FILESDIR}/bridge.conf"
+
+ cd "${S}"
+ dodoc Changelog MAINTAINERS docs/specs/pci-ids.txt
+ newdoc pc-bios/README README.pc-bios
+
+ if [[ -n ${softmmu_targets} ]]; then
+ # Remove SeaBIOS since we're using the SeaBIOS packaged one
+ rm "${ED}/usr/share/qemu/bios.bin"
+ rm "${ED}/usr/share/qemu/bios-256k.bin"
+ if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
+ dosym ../seabios/bios.bin /usr/share/qemu/bios.bin
+ dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin
+ fi
+
+ # Remove vgabios since we're using the seavgabios packaged one
+ rm "${ED}/usr/share/qemu/vgabios.bin"
+ rm "${ED}/usr/share/qemu/vgabios-cirrus.bin"
+ rm "${ED}/usr/share/qemu/vgabios-qxl.bin"
+ rm "${ED}/usr/share/qemu/vgabios-stdvga.bin"
+ rm "${ED}/usr/share/qemu/vgabios-virtio.bin"
+ rm "${ED}/usr/share/qemu/vgabios-vmware.bin"
+ # PPC64 loads vgabios-stdvga
+ if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc64; then
+ dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin
+ dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin
+ dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin
+ dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin
+ dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin
+ dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin
+ fi
+
+ # Remove sgabios since we're using the sgabios packaged one
+ rm "${ED}/usr/share/qemu/sgabios.bin"
+ if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
+ dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin
+ fi
+
+ # Remove iPXE since we're using the iPXE packaged one
+ rm "${ED}"/usr/share/qemu/pxe-*.rom
+ if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
+ dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom
+ dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom
+ dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom
+ dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom
+ dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom
+ dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom
+ fi
+ fi
+
+ DISABLE_AUTOFORMATTING=true
+ readme.gentoo_create_doc
+}
+
+firmware_abi_change() {
+ local pv
+ for pv in ${REPLACING_VERSIONS}; do
+ if ! version_is_at_least ${FIRMWARE_ABI_VERSION} ${pv}; then
+ return 0
+ fi
+ done
+ return 1
+}
+
+pkg_postinst() {
+ if [[ -n ${softmmu_targets} ]] && use kernel_linux; then
+ udev_reload
+ fi
+
+ fcaps cap_net_admin /usr/libexec/qemu-bridge-helper
+
+ DISABLE_AUTOFORMATTING=true
+ readme.gentoo_print_elog
+
+ if use pin-upstream-blobs && firmware_abi_change; then
+ ewarn "This version of qemu pins new versions of firmware blobs:"
+ ewarn " $(best_version sys-firmware/edk2-ovmf)"
+ ewarn " $(best_version sys-firmware/ipxe)"
+ ewarn " $(best_version sys-firmware/seabios)"
+ ewarn " $(best_version sys-firmware/sgabios)"
+ ewarn "This might break resume of hibernated guests (started with a different"
+ ewarn "firmware version) and live migration to/from qemu versions with different"
+ ewarn "firmware. Please (cold) restart all running guests. For functional"
+ ewarn "guest migration ensure that all"
+ ewarn "hosts run at least"
+ ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}."
+ fi
+}
+
+pkg_info() {
+ echo "Using:"
+ echo " $(best_version app-emulation/spice-protocol)"
+ echo " $(best_version sys-firmware/edk2-ovmf)"
+ if has_version 'sys-firmware/edk2-ovmf[binary]'; then
+ echo " USE=binary"
+ else
+ echo " USE=''"
+ fi
+ echo " $(best_version sys-firmware/ipxe)"
+ echo " $(best_version sys-firmware/seabios)"
+ if has_version 'sys-firmware/seabios[binary]'; then
+ echo " USE=binary"
+ else
+ echo " USE=''"
+ fi
+ echo " $(best_version sys-firmware/sgabios)"
+}
diff --git a/app-emulation/runc/Manifest b/app-emulation/runc/Manifest
index 5e516c8fcb33..3d7b48d4c9fe 100644
--- a/app-emulation/runc/Manifest
+++ b/app-emulation/runc/Manifest
@@ -1,4 +1,3 @@
-AUX runc-1.0.0_rc2-init-non-dumpable.patch 4016 BLAKE2B 8f39ce2a9862939b797e5b9ca74c990669afa3ff966b5a9b4e0d97d57fc390af715785272100940c73414209012de2cc9720fd97103442fb4477c00fbd8666a4 SHA512 2e10cc4ea85f0a95c53a4de6922b8a20395b6225f06449b9f3a994a79113f476563bb6acf365ba12de7896fc537141130790e14de1c612b97e283eeb82877139
DIST runc-1.0.0_rc4.tar.gz 1090513 BLAKE2B 276303e2085eddd549290e3af1a3af4570d0aef43f66f956267451810b0f0fb77f13ed12fe13b76efcd820fc7e0b46eac370a062f43c8600091a807cb12cf733 SHA512 cc2ae38b96f3f3355d9ba26f7af15c57975276aeaf58dcfe7fe5f0f0411ece8584a7cb51ae7fdd2f4109366f55ac8dfb86f225e26377fe07b685bbc56a2518ed
EBUILD runc-1.0.0_rc4.ebuild 1256 BLAKE2B 7f7b657ae6f25116fbb7945a4c1e4c3690b736965152be821491ea4fdf4cd5ed5e0b3d7dd1a95607f40706e78f1aadab95b2b5d93324adf0ac7ce94c2cb7b463 SHA512 5236b7ffc8c95960f1590d59bb1dccedb4755aea162c9c5c2cce6239fffbf8a2d951bac4c19bcd513335aa9bff24865f1cb0a1ef2909cdea416d8c18684f96ec
EBUILD runc-9999.ebuild 1080 BLAKE2B 09034744e5842eb2a340b3095ee3098c58b0853d81ee899b2b8e84c15ffe59638bfc6fb89d158edd4271f1e630c97dafdb4cbe7fb9286049dfe2bbf5eef213ed SHA512 b026b5cbfd44e110a2c2cd72125c757c6b957137fe9491b85e1f25014b564226a3e76c23ea463fd4d7ad742228b2b7bc533aa6b2539b43ca5c37aa2dd07218e3
diff --git a/app-emulation/runc/files/runc-1.0.0_rc2-init-non-dumpable.patch b/app-emulation/runc/files/runc-1.0.0_rc2-init-non-dumpable.patch
deleted file mode 100644
index 486835ad826c..000000000000
--- a/app-emulation/runc/files/runc-1.0.0_rc2-init-non-dumpable.patch
+++ /dev/null
@@ -1,108 +0,0 @@
-From 50a19c6ff828c58e5dab13830bd3dacde268afe5 Mon Sep 17 00:00:00 2001
-From: Michael Crosby <crosbymichael@gmail.com>
-Date: Wed, 7 Dec 2016 15:05:51 -0800
-Subject: [PATCH] Set init processes as non-dumpable
-
-This sets the init processes that join and setup the container's
-namespaces as non-dumpable before they setns to the container's pid (or
-any other ) namespace.
-
-This settings is automatically reset to the default after the Exec in
-the container so that it does not change functionality for the
-applications that are running inside, just our init processes.
-
-This prevents parent processes, the pid 1 of the container, to ptrace
-the init process before it drops caps and other sets LSMs.
-
-This patch also ensures that the stateDirFD being used is still closed
-prior to exec, even though it is set as O_CLOEXEC, because of the order
-in the kernel.
-
-https://github.com/torvalds/linux/blob/v4.9/fs/exec.c#L1290-L1318
-
-The order during the exec syscall is that the process is set back to
-dumpable before O_CLOEXEC are processed.
-
-Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
----
- libcontainer/init_linux.go | 3 ++-
- libcontainer/nsenter/nsexec.c | 5 +++++
- libcontainer/setns_init_linux.go | 7 ++++++-
- libcontainer/standard_init_linux.go | 3 +++
- 4 files changed, 16 insertions(+), 2 deletions(-)
-
-diff --git a/libcontainer/init_linux.go b/libcontainer/init_linux.go
-index b1e6762..4043d51 100644
---- a/libcontainer/init_linux.go
-+++ b/libcontainer/init_linux.go
-@@ -77,7 +77,8 @@ func newContainerInit(t initType, pipe *os.File, stateDirFD int) (initer, error)
- switch t {
- case initSetns:
- return &linuxSetnsInit{
-- config: config,
-+ config: config,
-+ stateDirFD: stateDirFD,
- }, nil
- case initStandard:
- return &linuxStandardInit{
-diff --git a/libcontainer/nsenter/nsexec.c b/libcontainer/nsenter/nsexec.c
-index b93f827..4b5398b 100644
---- a/libcontainer/nsenter/nsexec.c
-+++ b/libcontainer/nsenter/nsexec.c
-@@ -408,6 +408,11 @@ void nsexec(void)
- if (pipenum == -1)
- return;
-
-+ /* make the process non-dumpable */
-+ if (prctl(PR_SET_DUMPABLE, 0, 0, 0, 0) != 0) {
-+ bail("failed to set process as non-dumpable");
-+ }
-+
- /* Parse all of the netlink configuration. */
- nl_parse(pipenum, &config);
-
-diff --git a/libcontainer/setns_init_linux.go b/libcontainer/setns_init_linux.go
-index 2a8f345..7f5f182 100644
---- a/libcontainer/setns_init_linux.go
-+++ b/libcontainer/setns_init_linux.go
-@@ -5,6 +5,7 @@ package libcontainer
- import (
- "fmt"
- "os"
-+ "syscall"
-
- "github.com/opencontainers/runc/libcontainer/apparmor"
- "github.com/opencontainers/runc/libcontainer/keys"
-@@ -16,7 +17,8 @@ import (
- // linuxSetnsInit performs the container's initialization for running a new process
- // inside an existing container.
- type linuxSetnsInit struct {
-- config *initConfig
-+ config *initConfig
-+ stateDirFD int
- }
-
- func (l *linuxSetnsInit) getSessionRingName() string {
-@@ -49,5 +51,8 @@ func (l *linuxSetnsInit) Init() error {
- if err := label.SetProcessLabel(l.config.ProcessLabel); err != nil {
- return err
- }
-+ // close the statedir fd before exec because the kernel resets dumpable in the wrong order
-+ // https://github.com/torvalds/linux/blob/v4.9/fs/exec.c#L1290-L1318
-+ syscall.Close(l.stateDirFD)
- return system.Execv(l.config.Args[0], l.config.Args[0:], os.Environ())
- }
-diff --git a/libcontainer/standard_init_linux.go b/libcontainer/standard_init_linux.go
-index 2104f1a..6a65154 100644
---- a/libcontainer/standard_init_linux.go
-+++ b/libcontainer/standard_init_linux.go
-@@ -171,6 +171,9 @@ func (l *linuxStandardInit) Init() error {
- return newSystemErrorWithCause(err, "init seccomp")
- }
- }
-+ // close the statedir fd before exec because the kernel resets dumpable in the wrong order
-+ // https://github.com/torvalds/linux/blob/v4.9/fs/exec.c#L1290-L1318
-+ syscall.Close(l.stateDirFD)
- if err := syscall.Exec(name, l.config.Args[0:], os.Environ()); err != nil {
- return newSystemErrorWithCause(err, "exec user process")
- }
diff --git a/app-emulation/virtualbox-modules/Manifest b/app-emulation/virtualbox-modules/Manifest
index 9b3e8c39d0f0..ec55661bd90b 100644
--- a/app-emulation/virtualbox-modules/Manifest
+++ b/app-emulation/virtualbox-modules/Manifest
@@ -1,9 +1,9 @@
AUX create_vbox_modules_tarball.sh 896 BLAKE2B 4153a8fa67cd8fe7187f3c4232691b1ded8e51315f41292f9fcc0adb294e9b235b0c2f1e91f6f728076ab85f687ea1ba2877dc44b511eaceb24e7d6e71a8bbd4 SHA512 c3154a13550817c581fa142e24081edfbdbc145315d34cc4569d12ad87a518fa0bf1443c053b50fdfdea6915bda1325ad973455ee85079294b83a49fd53f4771
-AUX virtualbox-modules-4.1.4-pax-const.patch 2335 BLAKE2B 9d23df0a04e70765b0eb1ec123e7b835a8e3c35d5c89c08239cc3dedcbcf7a34ce49324ab607490738639a1b5d7febef9083ee4b6c3344112695bc2ee079081b SHA512 8f5ffcd53f34e616b895013660e269e6031837411471abf69711df4fd5d745299dcb08d361eda0979dcfde7d9aafa0d24c99fcc9f3875fbf35771945f6b224a1
+AUX virtualbox-modules-4.1.4-pax-const.patch 1729 BLAKE2B 3cada201a2bfde671c073ad49ddd239f90fa2c5338e698b35226e2ac88b4773549a216daa1caeca432e151f892974950dac5defdf91a87916e037d56d5972f5b SHA512 efca9213ace1076e354e168fa3d92da683b2dc27e5306b60452da74cb7f5a024a92033dd07d3559bca70f972aec86be3f0ed186dd951161096df2bcd9e390abe
AUX virtualbox-modules-5.1.30-udp.patch 1239 BLAKE2B d49d96894bae2fdedc2b8a825c849a99ad0cf36a92cc4d89881ce72a0b7ebd53174f39e298c119670654932b790113fe7fbc3a3bae552f2c597cad20a370141f SHA512 f22e6c8edc360e0f97b207ba9a046042ef1898c10c724d9519badef004858720040caef12bffa1ed0f07517ae2d0b831973a0e4ef8ffb239a26faf62706b0618
AUX virtualbox.conf 38 BLAKE2B 853f2ba0ac1627100241e778fa6c35ff4fc86e8c9c753f8aa23cb053ffacf966c131c5630d1fafd481d7b057acc3e9d6f8f1a22766db5d1cf61fffa38de7c01b SHA512 b61936fff57426d31efa6928eadb572cafe40a65d3e31a0eecb53dc784ba9d0a9e0ad5e419df74418b977f89c17873240c38e2ada95949e5252d879110d6094a
DIST vbox-kernel-module-src-5.1.32.tar.xz 626600 BLAKE2B eb3243d62d1a22f41f5ea2307b13a3f5ce17a19edcecb0340f94d34995e557b016195443a53edc9d68a313d064008e5af04c7fff28540ec513c6e9a5955e02e0 SHA512 10ead68e53ae6bd72e39b31d536fc36e0999fe506a6d7fd6a6f9e462d539213ad65deb56e2b926baa5cc4b16fb4071d89e105889e873fda0e4a1f20387a7cd39
DIST vbox-kernel-module-src-5.2.6.tar.xz 635096 BLAKE2B 8c168b9e1d3de395ef663ca81edf63939cb7670f769995c20f9d4cb4f87194b22812707bfd62d52dd85e19de2562c27c182aad22f40928358cf07a0c5ac15d79 SHA512 c85f94e08357a11574af306b00e71c445b80ef6dea6c47d9cf1003c0d9f36d265ebadd2ae27b3dd96f41cc544e501d3eb0551559bebf25d35b9861a282f489bc
-EBUILD virtualbox-modules-5.1.32.ebuild 1739 BLAKE2B 075e707c8710c1c74e7bb279df95f26088f0a2ff47a4b4b3cec48d8f95c18ac078d4181f1feaf4d5a3e4bdd47c17e4b96854ab93705ff5febfee0f061d3e023b SHA512 9ddf65c8b8997dd7fd153e743aff01acd01d1f8c1778758be42eef94cc588c6dbf2f976884ed55414cbcae6644b6e875632e4f9fb4a06b51b91eff6a29ec97f5
-EBUILD virtualbox-modules-5.2.6.ebuild 1499 BLAKE2B 1ebe9aca2a473ff23c839c92091e572be6a8b1d140585cb717610b3403f539ba2b9bc6495298c337341271fe812b7792294e492350388c62aaa9ef21e5512d02 SHA512 5b5aaa85b3e7d6be210a299c79a79f012f733f6df2ecdb08d581ad9078fb7517d5165407146fc957ef4221ca0348db61780becb842d6fd108287d1387c5692cb
-MISC metadata.xml 438 BLAKE2B f6e24affc5a809324d1a844c69318a291111961503a7b0205b2338240b41a8a63d497cd8171994f3a72b4ca29ae4d9ce5c1145e2b16ea9c223fbb12b77f282f0 SHA512 85b1c97f5f2a0e765ae1571386bee4e2b21e3854e1f512701ce4e685cffacdd2442b1557c9af02d0317b292fc2a5471b3e2ec6e44018bdefc4b2282cc988d0c4
+EBUILD virtualbox-modules-5.1.32.ebuild 1584 BLAKE2B 93323411543b48a599a7ac5c8c25e8a546eb0e1eac15f3067207a1f73b6b401ac33fb1791f13322e0a091edde698e52af6001d87f2b6dacbde7b459aec7865a9 SHA512 634a73a9f6fba9986f9b4be79524ea3d2c78bdfa585eb50e46faa1fddf6afceea0a04a20648624ff8aea0b31c5fa7e14dfa5d45742de1a061a463c165842108d
+EBUILD virtualbox-modules-5.2.6.ebuild 1344 BLAKE2B 7d98d4bbb578ca44dec9eff1ff27aeac0d3a403b2f25e09c55397caabc9c92f947099b60ebc333b4fa19993ede0324a3cbdf821752c88e4e9c3226f24c9cfc4e SHA512 8e33b5a833dcaf80f59208ef7ee750dc02686f88c1f5267ccc5437613b6ceea92d7beffdb9ab4801a5144f48fc7345fb90b956df3faa64f73cc296e0646a78b9
+MISC metadata.xml 502 BLAKE2B 043fc7e11b803453d5c193562322ade34ce17f5966c5ba6f557c605174bab43a47fe374684b7f3b10a87d92429c70006abc2759169124c0b29ad28ad4c181b46 SHA512 399c87acfd980b7dc29b42d7eeeead868bc8e9efc085f23aa97507d9da6f4af272e747172c4d5d6c1dfe15dc125193a72a5d6ca47ec82615345e239ff26246e4
diff --git a/app-emulation/virtualbox-modules/files/virtualbox-modules-4.1.4-pax-const.patch b/app-emulation/virtualbox-modules/files/virtualbox-modules-4.1.4-pax-const.patch
index 4e4cde06c784..f9878848ae13 100644
--- a/app-emulation/virtualbox-modules/files/virtualbox-modules-4.1.4-pax-const.patch
+++ b/app-emulation/virtualbox-modules/files/virtualbox-modules-4.1.4-pax-const.patch
@@ -1,6 +1,5 @@
-diff -urp vboxdrv.orig/SUPDrvIDC.h vboxdrv/SUPDrvIDC.h
---- vboxdrv.orig/SUPDrvIDC.h 2011-09-06 15:53:27.852567531 +0200
-+++ vboxdrv/SUPDrvIDC.h 2011-09-06 15:54:05.420565524 +0200
+--- vboxdrv/SUPDrvIDC.h
++++ vboxdrv/SUPDrvIDC.h
@@ -160,7 +160,7 @@ typedef struct SUPDRVIDCREQGETSYM
{
/** The symbol address. */
@@ -10,9 +9,8 @@ diff -urp vboxdrv.orig/SUPDrvIDC.h vboxdrv/SUPDrvIDC.h
} u;
} SUPDRVIDCREQGETSYM;
/** Pointer to a SUPDRV IDC get symbol request. */
-diff -urp vboxnetflt.orig/include/VBox/intnet.h vboxnetflt/include/VBox/intnet.h
---- vboxnetflt.orig/include/VBox/intnet.h 2011-09-06 15:53:27.852567531 +0200
-+++ vboxnetflt/include/VBox/intnet.h 2011-09-06 15:54:05.424565524 +0200
+--- vboxnetflt/include/VBox/intnet.h
++++ vboxnetflt/include/VBox/intnet.h
@@ -783,7 +783,7 @@ typedef struct INTNETTRUNKFACTORY
DECLR0CALLBACKMEMBER(int, pfnCreateAndConnect,(struct INTNETTRUNKFACTORY *pIfFactory, const char *pszName,
PINTNETTRUNKSWPORT pSwitchPort, uint32_t fFlags,
@@ -22,9 +20,8 @@ diff -urp vboxnetflt.orig/include/VBox/intnet.h vboxnetflt/include/VBox/intnet.h
/** Pointer to the trunk factory. */
typedef INTNETTRUNKFACTORY *PINTNETTRUNKFACTORY;
-diff -urp vboxnetflt.orig/linux/VBoxNetFlt-linux.c vboxnetflt/linux/VBoxNetFlt-linux.c
---- vboxnetflt.orig/linux/VBoxNetFlt-linux.c 2011-07-19 12:15:22.000000000 +0200
-+++ vboxnetflt/linux/VBoxNetFlt-linux.c 2011-09-06 15:56:00.516559379 +0200
+--- vboxnetflt/linux/VBoxNetFlt-linux.c
++++ vboxnetflt/linux/VBoxNetFlt-linux.c
@@ -840,7 +840,7 @@ typedef struct ethtool_ops OVR_OPSTYPE;
# else /* LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) */
@@ -34,9 +31,8 @@ diff -urp vboxnetflt.orig/linux/VBoxNetFlt-linux.c vboxnetflt/linux/VBoxNetFlt-l
# define OVR_OPS netdev_ops
# define OVR_XMIT pOrgOps->ndo_start_xmit
-diff -urp vboxpci.orig/include/VBox/rawpci.h vboxpci/include/VBox/rawpci.h
---- vboxpci.orig/include/VBox/rawpci.h 2011-04-18 17:01:12.000000000 +0200
-+++ vboxpci/include/VBox/rawpci.h 2011-09-06 15:57:17.340555277 +0200
+--- vboxpci/include/VBox/rawpci.h
++++ vboxpci/include/VBox/rawpci.h
@@ -545,7 +545,7 @@ typedef struct RAWPCIFACTORY
DECLR0CALLBACKMEMBER(void, pfnDeinitVm,(PRAWPCIFACTORY pFactory,
PVM pVM,
diff --git a/app-emulation/virtualbox-modules/metadata.xml b/app-emulation/virtualbox-modules/metadata.xml
index 3603554891f5..851d70de80c5 100644
--- a/app-emulation/virtualbox-modules/metadata.xml
+++ b/app-emulation/virtualbox-modules/metadata.xml
@@ -7,6 +7,7 @@
</maintainer>
<maintainer type="person">
<email>masterzorag@gmail.com</email>
+ <description>Proxy maintainer. CC him on bugs</description>
</maintainer>
<use>
<flag name="pax_kernel">Apply patch needed for pax enabled kernels</flag>
diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-5.1.32.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-5.1.32.ebuild
index 065ee9010815..38a865402ff3 100644
--- a/app-emulation/virtualbox-modules/virtualbox-modules-5.1.32.ebuild
+++ b/app-emulation/virtualbox-modules/virtualbox-modules-5.1.32.ebuild
@@ -44,11 +44,11 @@ src_prepare() {
fi
if use pax_kernel && kernel_is -ge 3 0 0 ; then
- epatch "${FILESDIR}"/${PN}-4.1.4-pax-const.patch
+ eapply "${FILESDIR}"/${PN}-4.1.4-pax-const.patch
fi
if kernel_is -ge 4 14 0 ; then
- epatch "${FILESDIR}"/${PN}-5.1.30-udp.patch
+ eapply "${FILESDIR}"/${PN}-5.1.30-udp.patch
fi
default
@@ -62,7 +62,4 @@ src_install() {
pkg_postinst() {
linux-mod_pkg_postinst
- elog "If you are using sys-apps/openrc, please add \"vboxdrv\", \"vboxnetflt\","
- elog "\"vboxnetadp\" and \"vboxpci\" to:"
- elog " /etc/conf.d/modules"
}
diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-5.2.6.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-5.2.6.ebuild
index 212a1449e0e5..8bbaca49a8f9 100644
--- a/app-emulation/virtualbox-modules/virtualbox-modules-5.2.6.ebuild
+++ b/app-emulation/virtualbox-modules/virtualbox-modules-5.2.6.ebuild
@@ -39,7 +39,7 @@ pkg_setup() {
src_prepare() {
if use pax_kernel && kernel_is -ge 3 0 0 ; then
- epatch "${FILESDIR}"/${PN}-4.1.4-pax-const.patch
+ eapply "${FILESDIR}"/${PN}-4.1.4-pax-const.patch
fi
default
@@ -53,7 +53,4 @@ src_install() {
pkg_postinst() {
linux-mod_pkg_postinst
- elog "If you are using sys-apps/openrc, please add \"vboxdrv\", \"vboxnetflt\","
- elog "\"vboxnetadp\" and \"vboxpci\" to:"
- elog " /etc/conf.d/modules"
}
diff --git a/app-emulation/virtualbox/Manifest b/app-emulation/virtualbox/Manifest
index 0692c28c40f3..110f4912207e 100644
--- a/app-emulation/virtualbox/Manifest
+++ b/app-emulation/virtualbox/Manifest
@@ -5,12 +5,13 @@ AUX vboxwebsrv-initd 646 BLAKE2B d71673a3afea56aea69ab1d795d8b265bb5fc62296e35d6
AUX virtualbox-4-config 38 BLAKE2B 8eab341f3264a056a89633fe43dd58f274d0d877602156d97a4dcc6260dd8e446509173742988fa40346e62b1fe9368ff3fc9a97e3316cb919962d9a03340d52 SHA512 5455b70b8ac6f25365bae776b78c3ef5710ae2d5a9e939c7013d72c35f65f178268966ebd291a42666913e45f43c7196f8953331be0b0cc88eba66df39205b08
AUX virtualbox-5-localconfig 1553 BLAKE2B dc1e946e97eb6b19a99b5ecf34640ef09c444637c19ea55ae7f0e34583a048b20ea4049e83ef3714a51e44545c50922b1f2758210145319f9881ca71b7d561d4 SHA512 1ec62f872a19ad76ce7d10ed70ee0503c65e817e123d82c20753e6ae4ac7d2ceb4e236da6be1fe3d63b0b104dd355de2cffd6e9d0ec0603c82fbf89662eeb34b
AUX virtualbox-5.1.4-paxmark-bldprogs.patch 2642 BLAKE2B f8c25139dc58f6f2a9def4c3535457013a8f9ab9065d23ab858daede5d32b90a6387a0daab1fa39fad706f809799ba58405c2994c902d224cbf07118fe1af5b9 SHA512 40971ee2a2453cd830b118ee2d1d05468beec60b5c15fc36b2a01c30a454823bfc666149671f03ccbfd82abe1041e50c7d36d670da506cfb9b9faab9edcc83ee
+AUX virtualbox-detect-usb-fix.patch 852 BLAKE2B eeb9c8cbb3c4a9b4bca264a4915e015ebc7768d199ee7dd2f3d316226f967c56bfcba9c58d0911cfa95e68541be3ba394868c8ff714c6f6ca915821b23b3d02e SHA512 e03a32f398a2adf231393a18be1345fe50a1932e20e69ec3ab62977ab6b920c79622e4d6b26604f60e13a5604d919a5b6f757083bff370b8d12c71f6bab1a7b4
AUX virtualbox-ose-5-wrapper 3405 BLAKE2B 92001ed3397a22abb5955617451bfb78d1f1f62f9be99cf87c57c42d118abb42b9436a0a83736d882b34360c9f8e67f9a8adaeffe7e9a3456c4ddc93a7850e53 SHA512 96f9ab8e2a83b5aebbb66916cbca0a7af0e2d69285296fe87869f096149791e0491dec2408f21f7249b68d928eebe396ab710a4ec6b6d6bc9c67120d323effa0
AUX virtualbox-ose.desktop-2 201 BLAKE2B 05fbf657e8c1d8ec46f1b88e681efd50a4e5ab2a0f32f3fd25ca956e1e9bff6357c69a96628e3eba26b01869b6dc596f68f739f9330fa3018c186dfa0fdcea06 SHA512 a678e237ad0451e8785f242ebf822b4f3b03d2e2280a62f71728f79bdcfc84d3465ee60cad90db75e64b2c89a1b0b224de00519728fb605df67ca7c9aee0874c
DIST VirtualBox-5.1.32.tar.bz2 117268301 BLAKE2B 336df054e3407d7e701d6719258cfcba9beec1439cbe94f137570cfcbdea02df3e34374ac36d3b4387c47ebafd17a0f05c2fb710eb4f140d8200117b505aba98 SHA512 052ac1672515a36c4138e2d52672a466d4c768f219f52eefe98e747a292ebebe04e7de35547eae6803654be5dc937b8e6f4d358a65fd4f49a8333eac8862d138
DIST VirtualBox-5.2.6.tar.bz2 118530572 BLAKE2B 19d32a9252e9594a4c09828bc2bc739c46daf409745c01f764fb54bc17faa667081a27534ac11666cbf1b417057cb99a416faa42e3986ce4d2c08378e7e7240c SHA512 ed6f801c055e9b8e152118a1ebfecdc15c310fac2b007ea3cd4a404d17cbbbc83782a3baa76b979c72b9399616844291576846d820f8aefb7c4b4ec2eaf36482
DIST virtualbox-5.1.32-patches-01.tar.xz 2464 BLAKE2B 28f461634ac7f200b74d961e56f56aea486445bdb8d1490000bd34393b4873ee058d1dc9db6c32084921bd7d51a92be1e38b1b098385f443f41b9231c1489829 SHA512 08782c8eecc0cbb370f21fb3951af449ed1c8174a7184210de376a7d4ca5d64b14b2619d121aacef1c85982c8b485e545e260d3c0fc1f95769093efa23cd2cd2
DIST virtualbox-5.2.0-patches-01.tar.xz 2460 BLAKE2B d3f973dc7ee0557c360f801c3bf84065a7e7bc9960984398b8f86d71fab32c59774e970c6cf873be07bcb9666af168570e8a78705a5999b1fc5d863dbbc6e538 SHA512 b91278dd81a50e412f5a281c72949f591a1c53303080549b74b28763cab9e3948948afb0256e0453d17736683cca3372a8e9c6d63f02f3eff3ef92c2a1ea332b
-EBUILD virtualbox-5.1.32.ebuild 13882 BLAKE2B 5a18fb55794831de6c43c6687b4cc1ab9c8d924861e23dc9e8fb13bc5922812df0a3636794efde02ebd7dd1b778e0313aaee2f7951e3d19600311df90a3a5000 SHA512 8aed9a072dcbcb7af288870cc6b165ce012da6255b87695a97bce532d1791867cee366fe0b69746371d508b495f363aa842d1c42f092fd1503a8d9ed899be635
-EBUILD virtualbox-5.2.6.ebuild 13872 BLAKE2B 5f161288ac0f1bc38cc30981351ad89b076e824f76c936f252230baa9f105d57e437d5f51cdc1bcce629c0db7deed48125c0961b93ced54a1d6569bddcbf8044 SHA512 00bb0276f62dc829447bbf662ad2cbba9c50057e4fb2c03bc59c9771dff10f0c8c5de86508a10d87340e6cee762a04ee801246ca3ce7e4eca5a7807efc7a5fae
+EBUILD virtualbox-5.1.32.ebuild 13833 BLAKE2B 843b58959bed9188c41e07d1803e0bb544951d68f55fa33dd581de20a83aeecbfdb11f7114e8b9a8d7dfb620869d1bfdf01be34ea743043803e1a1cd03ffb57d SHA512 7d82de2232678045015a16b72faea3db334506b67542dffa2df0da35dca2d1cbb1543d61eb3ec3b90f136860f0d886fac08d8514535cc074db528a0fd805ef21
+EBUILD virtualbox-5.2.6.ebuild 13823 BLAKE2B 6319e252b6f6682db8c5780e8e9df7d9ee34ec894741795ab0d33615ba0b6e04e8cb519aedf40f6f72e057a59a6ca4160ca46eeeb991bc6ba85f5397fe3ee1b5 SHA512 f8e68510edaf4fe3db317a32fbc9456a6cf24ec93ec547da46acefc15f94c28c20c23247cd7b89ba69e1c47de020555d090fbed7edfe0de7ce337b7321b960b3
MISC metadata.xml 886 BLAKE2B b8d7691c820ac4d8b0aa2033037a9229ebf68ba005b5c870e6d14dee4fbb9b5c0992904223caeb869fc265d48c57cd7f486d628cc4018cc018e8e32999175df3 SHA512 954d38fbbf08cce200af437ee3a0167bd39b4554c53b93d8f8961ac16e21a173fe4c4271fa8bf0ce2e354437c066e0ab4133131b03dac6ffcc2c92564584d081
diff --git a/app-emulation/virtualbox/files/virtualbox-detect-usb-fix.patch b/app-emulation/virtualbox/files/virtualbox-detect-usb-fix.patch
new file mode 100644
index 000000000000..bbb28943c129
--- /dev/null
+++ b/app-emulation/virtualbox/files/virtualbox-detect-usb-fix.patch
@@ -0,0 +1,24 @@
+Patch by Maciej S. Szmigiero to make the script work even if no USB device was
+plugged in before virtualbox got started.
+
+https://bugs.gentoo.org/639352
+
+--- a/src/VBox/Installer/linux/VBoxCreateUSBNode.sh
++++ b/src/VBox/Installer/linux/VBoxCreateUSBNode.sh
+@@ -32,13 +32,13 @@
+ devpath="`printf "/dev/vboxusb/%.3d/%.3d" $bus $device`"
+ case "$do_remove" in
+ 0)
++ case "$group" in "") group="vboxusers";; esac
++ mkdir /dev/vboxusb -m 0750 2>/dev/null
++ chown root:$group /dev/vboxusb 2>/dev/null
+ if test -n "$class" -a "$class" -eq "$usb_class_hub"
+ then
+ exit 0
+ fi
+- case "$group" in "") group="vboxusers";; esac
+- mkdir /dev/vboxusb -m 0750 2>/dev/null
+- chown root:$group /dev/vboxusb 2>/dev/null
+ mkdir "$devdir" -m 0750 2>/dev/null
+ chown root:$group "$devdir" 2>/dev/null
+ mknod "$devpath" c $1 $2 -m 0660 2>/dev/null
diff --git a/app-emulation/virtualbox/virtualbox-5.1.32.ebuild b/app-emulation/virtualbox/virtualbox-5.1.32.ebuild
index 8c962fe7c1ff..08304b19cae9 100644
--- a/app-emulation/virtualbox/virtualbox-5.1.32.ebuild
+++ b/app-emulation/virtualbox/virtualbox-5.1.32.ebuild
@@ -193,6 +193,7 @@ src_prepare() {
fi
eapply "${WORKDIR}/patches"
+ eapply "${FILESDIR}/${PN}-detect-usb-fix.patch"
eapply_user
}
@@ -203,21 +204,26 @@ src_configure() {
--with-g++="$(tc-getCXX)"
--disable-dbus
--disable-kmods
+ $(usex alsa '' --disable-alsa)
+ $(usex debug --build-debug '')
+ $(usex doc '' --disable-docs)
+ $(usex java '' --disable-java)
+ $(usex lvm '' --disable-devmapper)
+ $(usex pulseaudio '' --disable-pulse)
+ $(usex python '' --disable-python)
+ $(usex vboxwebsrv --enable-webservice '')
+ $(usex vnc --enable-vnc '')
)
- use alsa || myconf+=( --disable-alsa )
- use debug && myconf+=( --build-debug )
- use doc || myconf+=( --disable-docs )
- use java || myconf+=( --disable-java )
- use lvm || myconf+=( --disable-devmapper )
- use opengl || myconf+=( --disable-opengl )
- use pulseaudio || myconf+=( --disable-pulse )
- use python || myconf+=( --disable-python )
- use vboxwebsrv && myconf+=( --enable-webservice )
- use vnc && myconf+=( --enable-vnc )
if ! use headless ; then
- use qt5 || myconf+=( --disable-qt )
+ myconf+=(
+ $(usex opengl '' --disable-opengl)
+ $(usex qt5 '' --disable-qt)
+ )
else
- myconf+=( --build-headless --disable-opengl )
+ myconf+=(
+ --build-headless
+ --disable-opengl
+ )
fi
if use amd64 && ! has_multilib_profile ; then
myconf+=( --disable-vmmraw )
diff --git a/app-emulation/virtualbox/virtualbox-5.2.6.ebuild b/app-emulation/virtualbox/virtualbox-5.2.6.ebuild
index 1464aa7bcd9d..7133045118bf 100644
--- a/app-emulation/virtualbox/virtualbox-5.2.6.ebuild
+++ b/app-emulation/virtualbox/virtualbox-5.2.6.ebuild
@@ -193,6 +193,7 @@ src_prepare() {
fi
eapply "${WORKDIR}/patches"
+ eapply "${FILESDIR}/${PN}-detect-usb-fix.patch"
eapply_user
}
@@ -203,21 +204,26 @@ src_configure() {
--with-g++="$(tc-getCXX)"
--disable-dbus
--disable-kmods
+ $(usex alsa '' --disable-alsa)
+ $(usex debug --build-debug '')
+ $(usex doc '' --disable-docs)
+ $(usex java '' --disable-java)
+ $(usex lvm '' --disable-devmapper)
+ $(usex pulseaudio '' --disable-pulse)
+ $(usex python '' --disable-python)
+ $(usex vboxwebsrv --enable-webservice '')
+ $(usex vnc --enable-vnc '')
)
- use alsa || myconf+=( --disable-alsa )
- use debug && myconf+=( --build-debug )
- use doc || myconf+=( --disable-docs )
- use java || myconf+=( --disable-java )
- use lvm || myconf+=( --disable-devmapper )
- use opengl || myconf+=( --disable-opengl )
- use pulseaudio || myconf+=( --disable-pulse )
- use python || myconf+=( --disable-python )
- use vboxwebsrv && myconf+=( --enable-webservice )
- use vnc && myconf+=( --enable-vnc )
if ! use headless ; then
- use qt5 || myconf+=( --disable-qt )
+ myconf+=(
+ $(usex opengl '' --disable-opengl)
+ $(usex qt5 '' --disable-qt)
+ )
else
- myconf+=( --build-headless --disable-opengl )
+ myconf+=(
+ --build-headless
+ --disable-opengl
+ )
fi
if use amd64 && ! has_multilib_profile ; then
myconf+=( --disable-vmmraw )