diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /app-emulation/virtualbox-bin | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'app-emulation/virtualbox-bin')
11 files changed, 1263 insertions, 0 deletions
diff --git a/app-emulation/virtualbox-bin/Manifest b/app-emulation/virtualbox-bin/Manifest new file mode 100644 index 000000000000..47ad70e59c70 --- /dev/null +++ b/app-emulation/virtualbox-bin/Manifest @@ -0,0 +1,12 @@ +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.30-101610.tar.gz 15983777 SHA256 770d49247976f2a0d14a66196dddf864c6b9d185671e2a29cab459fc28f105db SHA512 f5d8275fe3e1ea60e8d15af3b0c7382faab172df39369c8904ff734a5105daed87a48215880b2e286c6735ead341c237d2260e6ee923f513818f85cf0b452def WHIRLPOOL 3b1e29a44413ebc65dc250b2366b1fe75d6ea48fd94b722c8ec9eb7e97e6981470e9201c9840d566953c9c9bdd4a7893f9d525b3fac7150ca24391f696bba9c4 +DIST Oracle_VM_VirtualBox_Extension_Pack-5.0.0-101573.tar.gz 18028050 SHA256 c357e36368883df821ed092d261890a95c75e50422b75848c40ad20984086a7a SHA512 8eb21610ab4d4b5ada5901e25adcc99ad2b4ab20e86309c90f9bad993d71007f13eccf81e3670102e5400fa02d3df9c03d0901389f8980e9cdfa092b2d326271 WHIRLPOOL bd0cff1c58d90663b5c4f7983b05be9f3469f201143f30ef729723aaa55508685a34355b00ad952dc5132045589a1b26d71bbc5a5ee0d0fc32b99cf0a5f8e4f8 +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.30-101610-Linux_amd64.run 81069522 SHA256 5745bc9b1edd1d7d28f81ba7fed7fff3ed0bbe7084c39a77bd305018ad0a420d SHA512 928dc5b6b9031892f9391ded3aa10b090a9312c16e5b8bd4d0457d3af3d5f5495323e48a5cc781411c14318aab5d3856de5369bbf1ac3b75068797ef4c5445a7 WHIRLPOOL bf5175a228ddef4319f6972dadefa035dc0902b290691ba14478f10fe89947fbc3f9545b65d4c09f397c06309fb01a7fab6187b5f9f9d2cb39b9f808b0bb5bb5 +DIST VirtualBox-4.3.30-101610-Linux_x86.run 80537038 SHA256 c8e42d247ecfa1ff3e3da6c7988a58e2d64fbb54598e9b08211308226d61c42a SHA512 629907432887606b1e31328a751c5ec3c764e90b3eae4a984c5d9e6b5f77b626e8eafa235bb55a0e1725fe95324dcb3cc1c8e2f441d716a8408d1e1ddf0e5dde WHIRLPOOL c10976693284b7b1c178aa036eb5d28ce76366362ac00eb0f686e8f99ddb93df508654d8acab0912714d3f9215d8f217a91999c25877fb2b973171b9be8b7d09 +DIST VirtualBox-5.0.0-101573-Linux_amd64.run 84284870 SHA256 19d6ffec4fd84924a70cbe07bb9021b77dea26b85082b5a008828e5ecf57e4bc SHA512 5e5aba2325118c60f4fcdf15c306ff0aa3fd036cd4dd7097455a5390b85c8d40a5a435143004085ef263367f987f6e9d7d03175ba7e64c2978be09d698c2900a WHIRLPOOL 20b123932afd3c3b407d1768eec84ab9469dfec7e92e07a73fdf0bd800736b21da113590b5edef85dcc1092040073ecbb3b17e35333600229ae25368c8438d5d +DIST VirtualBox-5.0.0-101573-Linux_x86.run 83353025 SHA256 fddb7946ae68f235ef07a88dfc57130efd2c4e02ae76c9d809c30ecec8896905 SHA512 84363cac2b453469adaeeb58dd93a9b8a69dbc58c0355a0b7f55d5fc65ccebb808da144beb3e1f7550286ce7622cc583f2e0c5de6f99539a335bb5e5e490ce65 WHIRLPOOL fc8f1c948852fb10ab140a3ea9ea3946da35b275adb3382f37e14310cc2d815b7b63ce2b12a8c3bdb8d8e0dc0da1ddadd03e3c0091fa870a337cfebbae43420b +DIST VirtualBoxSDK-4.3.28-100309.zip 11698378 SHA256 fe0cc316cecb3dfe9bbb925e6c023620d4cfd8e137b2a9b9f40f22f527af16fa SHA512 6af7d2107cff080281a356cbf522961b2e9d1917e861e410b169ce5ca3cefe05cc87e4e01f78ae171f8716f7006c031f14fc01d8d282a872a4f619638049b11a WHIRLPOOL 23a77dbc410a28b2799264da88d79b2c4335c07da67dd8bf4be26cac271e3ed38a9bf4fb2966ec0a3c06fb869bb252f5fa6a34a9a9c62cbb9a2fb0ad76442f66 +DIST VirtualBoxSDK-4.3.30-101610.zip 11436700 SHA256 6d8f1a006d56dfa1bbec10a35369c80c75845fdc6127c4d806b5c69cec03ab7e SHA512 2b2b3220d9ce908813699f8fc4cee80de5b29cb134ec968c2ccbb78c40b8d0d8aeb666996627f0f13cd036ef0376582c48f6c12b45acb7593d8b0eefd6eba960 WHIRLPOOL fe82cacecfedc05b6d92feac5285bc41100a9538f6cb37027c85ee08e051580243e2635af9d873c67970ecab5e8ee8eee0cee89e50be59895b44862264aa3fdf +DIST VirtualBoxSDK-5.0.0-101573.zip 9635666 SHA256 769267df1940ed6be0742ace40af98d141b9b79a832c8cc772af5e87628c0b7c SHA512 f115653cf2595bbed59add41c297cb1c96332fc87770cf7d2784a0f6148970492038b533a17a569dd5037f9bf136b14205bd8afa71cde0f54f37a2d722c2b13e WHIRLPOOL 022be41a5ec6d316c588447ced475219102103c4292a4d9bc05eee78d621680cff87c18ff809d0245f01f201b05d1163a014453179f790d58103846ae1c2091e diff --git a/app-emulation/virtualbox-bin/files/10-virtualbox.rules b/app-emulation/virtualbox-bin/files/10-virtualbox.rules new file mode 100644 index 000000000000..014c164a37f5 --- /dev/null +++ b/app-emulation/virtualbox-bin/files/10-virtualbox.rules @@ -0,0 +1,7 @@ +# create second tree of USB devices according to +# http://www.virtualbox.org/ticket/7759#comment:5 + +SUBSYSTEM=="usb_device", ACTION!="remove", RUN="%UDEVDIR%/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass}" +SUBSYSTEM=="usb", ACTION!="remove", ENV{DEVTYPE}=="usb_device", RUN="%UDEVDIR%/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass}" +SUBSYSTEM=="usb_device", ACTION=="remove", RUN="%UDEVDIR%/VBoxCreateUSBNode.sh --remove $major $minor" +SUBSYSTEM=="usb", ACTION=="remove", ENV{DEVTYPE}=="usb_device", RUN="%UDEVDIR%/VBoxCreateUSBNode.sh --remove $major $minor" diff --git a/app-emulation/virtualbox-bin/files/vboxwebsrv-confd b/app-emulation/virtualbox-bin/files/vboxwebsrv-confd new file mode 100644 index 000000000000..14ce08c72ac4 --- /dev/null +++ b/app-emulation/virtualbox-bin/files/vboxwebsrv-confd @@ -0,0 +1,20 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +# The host to bind to (defaults to "localhost"). +VBOXWEBSRV_HOST="localhost" + +# Which port to on the host (defaults to 18083). +VBOXWEBSRV_PORT="18083" + +# Session timeout, in seconds. (defaults to 20). +VBOXWEBSRV_TIMEOUT=20 + +# The interval in which the webservice checks for +# timed-out clients, in seconds. Normally does not +# need to be changed (defaults to 5). +VBOXWEBSRV_INTERVAL=5 + +# User under which vboxwebsrv is running +VBOXWEBSRV_USER="root" diff --git a/app-emulation/virtualbox-bin/files/vboxwebsrv-initd b/app-emulation/virtualbox-bin/files/vboxwebsrv-initd new file mode 100644 index 000000000000..99db87dc4bbf --- /dev/null +++ b/app-emulation/virtualbox-bin/files/vboxwebsrv-initd @@ -0,0 +1,24 @@ +#!/sbin/runscript +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +depend() { + need net +} + +start() { + #checkconfig || return $? + + ebegin "Starting VirtualBox WebService" + start-stop-daemon --start --quiet --user ${VBOXWEBSRV_USER} --pidfile /var/run/vboxwebsrv.pid \ + --background --make-pidfile --exec /opt/bin/vboxwebsrv \ + -- -H ${VBOXWEBSRV_HOST} -p ${VBOXWEBSRV_PORT} -t ${VBOXWEBSRV_TIMEOUT} -i ${VBOXWEBSRV_INTERVAL} + eend $? +} + +stop() { + ebegin "Stopping VirtualBox WebService" + start-stop-daemon --stop --user ${VBOXWEBSRV_USER} --quiet --pidfile /var/run/vboxwebsrv.pid + eend $? +} diff --git a/app-emulation/virtualbox-bin/files/virtualbox-bin-3-wrapper b/app-emulation/virtualbox-bin/files/virtualbox-bin-3-wrapper new file mode 100755 index 000000000000..6f2da490065d --- /dev/null +++ b/app-emulation/virtualbox-bin/files/virtualbox-bin-3-wrapper @@ -0,0 +1,104 @@ +#!/bin/sh +# +# Sun VirtualBox +# +# Copyright (C) 2006-2009 Sun Microsystems, Inc. +# +# This file is part of VirtualBox Open Source Edition (OSE), as +# available from http://www.virtualbox.org. This file is free software; +# you can redistribute it and/or modify it under the terms of the GNU +# General Public License (GPL) as published by the Free Software +# Foundation, in version 2 as it comes in the "COPYING" file of the +# VirtualBox OSE distribution. VirtualBox OSE is distributed in the +# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. +# +# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa +# Clara, CA 95054 USA or visit http://www.sun.com if you need +# additional information or have any questions. +# + +PATH="/usr/bin:/bin:/usr/sbin:/sbin" +CONFIG="/etc/vbox/vbox.cfg" + +if [ ! -r "$CONFIG" ]; then + echo "Could not find VirtualBox installation. Please reinstall." + exit 1 +fi + +. "$CONFIG" + +# Note: This script must not fail if the module was not successfully installed +# because the user might not want to run a VM but only change VM params! + +if [ "$1" = "shutdown" ]; then + SHUTDOWN="true" +elif ! lsmod|grep -q vboxdrv; then + cat << EOF +WARNING: The VirtualBox kernel modules are not loaded. + Please load all the needed kernel modules by: + + for m in vbox{drv,netadp,netflt}; do modprobe \$m; done + + You will not be able to start VMs until this problem is fixed. +EOF +elif [ ! -c /dev/vboxdrv ]; then + cat << EOF +WARNING: The character device /dev/vboxdrv does not exist. + Please try to reload all the needed kernel modules by: + + for m in vbox{netflt,netadp,drv}; do rmmod \$m; done + for m in vbox{drv,netadp,netflt}; do modprobe \$m; done + + and if that is not successful, try to re-install the package by: + + emerge -1av app-emulation/virtualbox-modules + + You will not be able to start VMs until this problem is fixed. +EOF +fi + +SERVER_PID=`ps -U \`whoami\` | grep VBoxSVC | awk '{ print $1 }'` +if [ -z "$SERVER_PID" ]; then + # Server not running yet/anymore, cleanup socket path. + # See IPC_GetDefaultSocketPath()! + if [ -n "$LOGNAME" ]; then + rm -rf /tmp/.vbox-$LOGNAME-ipc > /dev/null 2>&1 + else + rm -rf /tmp/.vbox-$USER-ipc > /dev/null 2>&1 + fi +fi + +if [ "$SHUTDOWN" = "true" ]; then + if [ -n "$SERVER_PID" ]; then + kill -TERM $SERVER_PID + sleep 2 + fi + exit 0 +fi + +APP=`which $0` +APP=`basename $APP` +APP=${APP##/*/} +case "$APP" in + VirtualBox) + exec "$INSTALL_DIR/VirtualBox" "$@" + ;; + VBoxManage) + exec "$INSTALL_DIR/VBoxManage" "$@" + ;; + VBoxSDL) + exec "$INSTALL_DIR/VBoxSDL" "$@" + ;; + VBoxVRDP) + exec "$INSTALL_DIR/VBoxHeadless" "$@" + ;; + VBoxHeadless) + exec "$INSTALL_DIR/VBoxHeadless" "$@" + ;; + vboxwebsrv) + exec "$INSTALL_DIR/vboxwebsrv" "$@" + ;; + *) + echo "Unknown application - $APP" + ;; +esac diff --git a/app-emulation/virtualbox-bin/files/virtualbox-bin-config b/app-emulation/virtualbox-bin/files/virtualbox-bin-config new file mode 100644 index 000000000000..f69e73e2fcb6 --- /dev/null +++ b/app-emulation/virtualbox-bin/files/virtualbox-bin-config @@ -0,0 +1 @@ +INSTALL_DIR=/opt/VirtualBox diff --git a/app-emulation/virtualbox-bin/files/virtualbox-bin.desktop-2 b/app-emulation/virtualbox-bin/files/virtualbox-bin.desktop-2 new file mode 100644 index 000000000000..112e8f81348a --- /dev/null +++ b/app-emulation/virtualbox-bin/files/virtualbox-bin.desktop-2 @@ -0,0 +1,8 @@ +[Desktop Entry] +Name=Oracle xVM VirtualBox +Type=Application +Comment=Run several virtual systems on a single host computer +Exec=VirtualBox +TryExec=VirtualBox +Icon=virtualbox-bin +Categories=System;Emulator; diff --git a/app-emulation/virtualbox-bin/metadata.xml b/app-emulation/virtualbox-bin/metadata.xml new file mode 100644 index 000000000000..8ad5c4d1f45c --- /dev/null +++ b/app-emulation/virtualbox-bin/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <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> +</use> +</pkgmetadata> diff --git a/app-emulation/virtualbox-bin/virtualbox-bin-4.3.28.100309.ebuild b/app-emulation/virtualbox-bin/virtualbox-bin-4.3.28.100309.ebuild new file mode 100644 index 000000000000..e000c4b1cfae --- /dev/null +++ b/app-emulation/virtualbox-bin/virtualbox-bin-4.3.28.100309.ebuild @@ -0,0 +1,357 @@ +# 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 fdo-mime gnome2 pax-utils python-r1 udev unpacker versionator + +MAIN_PV="$(get_version_component_range 1-3)" +if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then + MY_PV="${MAIN_PV}_$(get_version_component_range 5)" + MY_PV="${MY_PV/beta/BETA}" + MY_PV="${MY_PV/rc/RC}" +else + MY_PV="${MAIN_PV}" +fi +VBOX_BUILD_ID="$(get_version_component_range 4)" +VBOX_PV="${MY_PV}-${VBOX_BUILD_ID}" +MY_P="VirtualBox-${VBOX_PV}-Linux" +# needed as sometimes the extpack gets another build ID +EXTP_PV="${VBOX_PV}" +EXTP_PN="Oracle_VM_VirtualBox_Extension_Pack" +EXTP_P="${EXTP_PN}-${EXTP_PV}" +# needed as sometimes the SDK gets another build ID +SDK_PV="${VBOX_PV}" +SDK_P="VirtualBoxSDK-${SDK_PV}" + +DESCRIPTION="Family of powerful x86 virtualization products for enterprise as well as home use" +HOMEPAGE="http://www.virtualbox.org/" +SRC_URI="amd64? ( http://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_amd64.run ) + x86? ( http://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_x86.run ) + http://download.virtualbox.org/virtualbox/${MY_PV}/${EXTP_P}.vbox-extpack -> ${EXTP_P}.tar.gz" + +LICENSE="GPL-2 PUEL" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="+additions +chm headless python vboxwebsrv rdesktop-vrdp" +RESTRICT="mirror" + +if [[ "${PV}" != *beta* ]] ; then + SRC_URI+=" + sdk? ( http://download.virtualbox.org/virtualbox/${MY_PV}/${SDK_P}.zip )" + IUSE+=" sdk" +fi + +DEPEND="app-arch/unzip + ${PYTHON_DEPS}" + +RDEPEND="!!app-emulation/virtualbox + !app-emulation/virtualbox-additions + ~app-emulation/virtualbox-modules-${MAIN_PV} + !headless? ( + x11-libs/libXcursor + media-libs/libsdl[X] + x11-libs/libXrender + x11-libs/libXfixes + media-libs/libpng + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXinerama + x11-libs/libXft + media-libs/freetype + media-libs/fontconfig + x11-libs/libXext + dev-libs/glib + chm? ( dev-libs/expat ) + ) + x11-libs/libXt + dev-libs/libxml2 + x11-libs/libXau + x11-libs/libX11 + x11-libs/libXmu + x11-libs/libSM + x11-libs/libICE + x11-libs/libXdmcp + python? ( ${PYTHON_DEPS} )" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" +S=${WORKDIR} + +QA_TEXTRELS_amd64="opt/VirtualBox/VBoxVMM.so" +QA_TEXTRELS_x86="opt/VirtualBox/VBoxGuestPropSvc.so + opt/VirtualBox/VBoxSDL.so + opt/VirtualBox/VBoxDbg.so + opt/VirtualBox/VBoxSharedFolders.so + opt/VirtualBox/VBoxDD2.so + opt/VirtualBox/VBoxOGLrenderspu.so + opt/VirtualBox/VBoxPython.so + opt/VirtualBox/VBoxPython2_7.so + opt/VirtualBox/VBoxDD.so + opt/VirtualBox/VBoxVRDP.so + opt/VirtualBox/VBoxDDU.so + opt/VirtualBox/VBoxREM64.so + opt/VirtualBox/VBoxSharedClipboard.so + opt/VirtualBox/VBoxHeadless.so + opt/VirtualBox/VBoxRT.so + opt/VirtualBox/VRDPAuth.so + opt/VirtualBox/VBoxREM.so + opt/VirtualBox/VBoxSettings.so + opt/VirtualBox/VBoxKeyboard.so + opt/VirtualBox/VBoxSharedCrOpenGL.so + opt/VirtualBox/VBoxVMM.so + opt/VirtualBox/VirtualBox.so + opt/VirtualBox/VBoxOGLhosterrorspu.so + opt/VirtualBox/components/VBoxC.so + opt/VirtualBox/components/VBoxSVCM.so + opt/VirtualBox/VBoxREM32.so + opt/VirtualBox/VBoxXPCOMC.so + opt/VirtualBox/VBoxOGLhostcrutil.so + opt/VirtualBox/VBoxNetDHCP.so + opt/VirtualBox/VBoxGuestControlSvc.so" +QA_PRESTRIPPED="opt/VirtualBox/VBoxDD.so + opt/VirtualBox/VBoxDD2.so + opt/VirtualBox/VBoxDDU.so + opt/VirtualBox/VBoxDbg.so + opt/VirtualBox/VBoxGuestControlSvc.so + opt/VirtualBox/VBoxGuestPropSvc.so + opt/VirtualBox/VBoxHeadless + opt/VirtualBox/VBoxHeadless.so + opt/VirtualBox/VBoxKeyboard.so + opt/VirtualBox/VBoxManage + opt/VirtualBox/VBoxNetAdpCtl + opt/VirtualBox/VBoxNetDHCP + opt/VirtualBox/VBoxNetDHCP.so + opt/VirtualBox/VBoxOGLhostcrutil.so + opt/VirtualBox/VBoxOGLhosterrorspu.so + opt/VirtualBox/VBoxOGLrenderspu.so + opt/VirtualBox/VBoxPython.so + opt/VirtualBox/VBoxPython2_7.so + opt/VirtualBox/VBoxREM.so + opt/VirtualBox/VBoxREM32.so + opt/VirtualBox/VBoxREM64.so + opt/VirtualBox/VBoxRT.so + opt/VirtualBox/VBoxSDL + opt/VirtualBox/VBoxSDL.so + opt/VirtualBox/VBoxSVC + opt/VirtualBox/VBoxSettings.so + opt/VirtualBox/VBoxSharedClipboard.so + opt/VirtualBox/VBoxSharedCrOpenGL.so + opt/VirtualBox/VBoxSharedFolders.so + opt/VirtualBox/VBoxTestOGL + opt/VirtualBox/VBoxTunctl + opt/VirtualBox/VBoxVMM.so + opt/VirtualBox/VBoxVRDP.so + opt/VirtualBox/VBoxXPCOM.so + opt/VirtualBox/VBoxXPCOMC.so + opt/VirtualBox/VBoxXPCOMIPCD + opt/VirtualBox/VRDPAuth.so + opt/VirtualBox/VirtualBox + opt/VirtualBox/VirtualBox.so + opt/VirtualBox/accessible/libqtaccessiblewidgets.so + opt/VirtualBox/components/VBoxC.so + opt/VirtualBox/components/VBoxSVCM.so + opt/VirtualBox/components/VBoxXPCOMIPCC.so + opt/VirtualBox/kchmviewer + opt/VirtualBox/libQtCoreVBox.so.4 + opt/VirtualBox/libQtGuiVBox.so.4 + opt/VirtualBox/libQtNetworkVBox.so.4 + opt/VirtualBox/libQtOpenGLVBox.so.4 + opt/VirtualBox/vboxwebsrv" + +PYTHON_UPDATER_IGNORE="1" + +src_unpack() { + unpack_makeself ${MY_P}_${ARCH}.run + unpack ./VirtualBox.tar.bz2 + + mkdir "${S}"/${EXTP_PN} || die + pushd "${S}"/${EXTP_PN} &>/dev/null || die + unpack ${EXTP_P}.tar.gz + popd &>/dev/null || die + + if [[ "${PV}" != *beta* ]] && use sdk ; then + unpack VirtualBoxSDK-${SDK_PV}.zip + fi +} + +src_configure() { + :; +} + +src_compile() { + :; +} + +src_install() { + # create virtualbox configurations files + insinto /etc/vbox + newins "${FILESDIR}/${PN}-config" vbox.cfg + + if ! use headless ; then + pushd "${S}"/icons &>/dev/null || die + for size in * ; do + if [ -f "${size}/virtualbox.png" ] ; then + insinto "/usr/share/icons/hicolor/${size}/apps" + newins "${size}/virtualbox.png" ${PN}.png + fi + done + dodir /usr/share/pixmaps + cp "48x48/virtualbox.png" "${D}/usr/share/pixmaps/${PN}.png" \ + || die + popd &>/dev/null || die + + newmenu "${FILESDIR}"/${PN}.desktop-2 ${PN}.desktop + fi + + pushd "${S}"/${EXTP_PN} &>/dev/null || die + insinto /opt/VirtualBox/ExtensionPacks/${EXTP_PN} + doins -r linux.${ARCH} + doins ExtPack* PXE-Intel.rom + popd &>/dev/null || die + rm -rf "${S}"/${EXTP_PN} + + insinto /opt/VirtualBox + dodir /opt/bin + + doins UserManual.pdf + + if [[ "${PV}" != *beta* ]] && use sdk ; then + doins -r sdk + fi + + if use additions; then + doins -r additions + fi + + if use vboxwebsrv; then + doins vboxwebsrv + fowners root:vboxusers /opt/VirtualBox/vboxwebsrv + fperms 0750 /opt/VirtualBox/vboxwebsrv + dosym /opt/VirtualBox/VBox.sh /opt/bin/vboxwebsrv + newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv + newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv + fi + + if use rdesktop-vrdp; then + doins rdesktop-vrdp + doins -r rdesktop-vrdp-keymaps + fperms 0750 /opt/VirtualBox/rdesktop-vrdp + dosym /opt/VirtualBox/rdesktop-vrdp /opt/bin/rdesktop-vrdp + fi + + if ! use headless && use chm; then + doins kchmviewer VirtualBox.chm + fowners root:vboxusers /opt/VirtualBox/kchmviewer + fperms 0750 /opt/VirtualBox/kchmviewer + fi + + # This ebuild / package supports only py2.7. Where py3 comes is unknown. + # The compile phase makes VBoxPython2_[4-7].so. + # py3 support would presumably require a binary pre-compiled by py3. + use python && doins VBoxPython.so VBoxPython2_7.so + + rm -rf src rdesktop* deffiles install* routines.sh runlevel.sh \ + vboxdrv.sh VBox.sh VBox.png vboxnet.sh additions VirtualBox.desktop \ + VirtualBox.tar.bz2 LICENSE VBoxSysInfo.sh rdesktop* vboxwebsrv \ + webtest kchmviewer VirtualBox.chm vbox-create-usb-node.sh \ + 90-vbox-usb.fdi uninstall.sh vboxshell.py vboxdrv-pardus.py \ + VBoxPython?_*.so + + if use headless ; then + rm -rf VBoxSDL VirtualBox VBoxKeyboard.so + fi + + doins -r * || die + + # create symlinks for working around unsupported $ORIGIN/.. in VBoxC.so (setuid) + dosym /opt/VirtualBox/VBoxVMM.so /opt/VirtualBox/components/VBoxVMM.so + dosym /opt/VirtualBox/VBoxREM.so /opt/VirtualBox/components/VBoxREM.so + dosym /opt/VirtualBox/VBoxRT.so /opt/VirtualBox/components/VBoxRT.so + dosym /opt/VirtualBox/VBoxDDU.so /opt/VirtualBox/components/VBoxDDU.so + dosym /opt/VirtualBox/VBoxXPCOM.so /opt/VirtualBox/components/VBoxXPCOM.so + + local each + for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,NetAdpCtl,NetDHCP,NetNAT,TestOGL,ExtPackHelperApp}; do + fowners root:vboxusers /opt/VirtualBox/${each} + fperms 0750 /opt/VirtualBox/${each} + pax-mark -m "${D}"/opt/VirtualBox/${each} + done + # VBoxNetAdpCtl and VBoxNetDHCP binaries need to be suid root in any case.. + fperms 4750 /opt/VirtualBox/VBoxNetAdpCtl + fperms 4750 /opt/VirtualBox/VBoxNetDHCP + fperms 4750 /opt/VirtualBox/VBoxNetNAT + + if ! use headless ; then + # Hardened build: Mark selected binaries set-user-ID-on-execution + for each in VBox{SDL,Headless} VirtualBox; do + fowners root:vboxusers /opt/VirtualBox/${each} + fperms 4510 /opt/VirtualBox/${each} + pax-mark -m "${D}"/opt/VirtualBox/${each} + done + + dosym /opt/VirtualBox/VBox.sh /opt/bin/VirtualBox + dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxSDL + else + # Hardened build: Mark selected binaries set-user-ID-on-execution + fowners root:vboxusers /opt/VirtualBox/VBoxHeadless + fperms 4510 /opt/VirtualBox/VBoxHeadless + pax-mark -m "${D}"/opt/VirtualBox/VBoxHeadless + fi + + exeinto /opt/VirtualBox + newexe "${FILESDIR}/${PN}-3-wrapper" "VBox.sh" + fowners root:vboxusers /opt/VirtualBox/VBox.sh + fperms 0750 /opt/VirtualBox/VBox.sh + + dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxManage + dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxVRDP + dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxHeadless + dosym /opt/VirtualBox/VBoxTunctl /opt/bin/VBoxTunctl + + # set an env-variable for 3rd party tools + echo -n "VBOX_APP_HOME=/opt/VirtualBox" > "${T}/90virtualbox" + doenvd "${T}/90virtualbox" + + local udevdir="$(get_udevdir)" + insinto ${udevdir}/rules.d + doins "${FILESDIR}"/10-virtualbox.rules + sed "s@%UDEVDIR%@${udevdir}@" \ + -i "${D}"${udevdir}/rules.d/10-virtualbox.rules || die + # move udev scripts into ${udevdir} (bug #372491) + mv "${D}"/opt/VirtualBox/VBoxCreateUSBNode.sh "${D}"${udevdir} || die + fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh +} + +pkg_postinst() { + fdo-mime_desktop_database_update + + gnome2_icon_cache_update + + udevadm control --reload-rules && udevadm trigger --subsystem-match=usb + + elog "" + if ! use headless ; then + elog "To launch VirtualBox just type: \"VirtualBox\"" + elog "" + fi + elog "You must be in the vboxusers group to use VirtualBox." + elog "" + elog "For advanced networking setups you should emerge:" + elog "net-misc/bridge-utils and sys-apps/usermode-utilities" + elog "" + elog "Please visit http://www.virtualbox.org/wiki/Editions for" + elog "an overview about the different features of ${PN}" + elog "and virtualbox-ose" + if [ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ] ; then + elog "" + elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\"" + elog "or else USB in ${PN} won't work." + fi +} + +pkg_postrm() { + fdo-mime_desktop_database_update +} diff --git a/app-emulation/virtualbox-bin/virtualbox-bin-4.3.30.101610.ebuild b/app-emulation/virtualbox-bin/virtualbox-bin-4.3.30.101610.ebuild new file mode 100644 index 000000000000..c142de049a09 --- /dev/null +++ b/app-emulation/virtualbox-bin/virtualbox-bin-4.3.30.101610.ebuild @@ -0,0 +1,357 @@ +# 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 fdo-mime gnome2 pax-utils python-r1 udev unpacker versionator + +MAIN_PV="$(get_version_component_range 1-3)" +if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then + MY_PV="${MAIN_PV}_$(get_version_component_range 5)" + MY_PV="${MY_PV/beta/BETA}" + MY_PV="${MY_PV/rc/RC}" +else + MY_PV="${MAIN_PV}" +fi +VBOX_BUILD_ID="$(get_version_component_range 4)" +VBOX_PV="${MY_PV}-${VBOX_BUILD_ID}" +MY_P="VirtualBox-${VBOX_PV}-Linux" +# needed as sometimes the extpack gets another build ID +EXTP_PV="${VBOX_PV}" +EXTP_PN="Oracle_VM_VirtualBox_Extension_Pack" +EXTP_P="${EXTP_PN}-${EXTP_PV}" +# needed as sometimes the SDK gets another build ID +SDK_PV="${VBOX_PV}" +SDK_P="VirtualBoxSDK-${SDK_PV}" + +DESCRIPTION="Family of powerful x86 virtualization products for enterprise as well as home use" +HOMEPAGE="http://www.virtualbox.org/" +SRC_URI="amd64? ( http://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_amd64.run ) + x86? ( http://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_x86.run ) + http://download.virtualbox.org/virtualbox/${MY_PV}/${EXTP_P}.vbox-extpack -> ${EXTP_P}.tar.gz" + +LICENSE="GPL-2 PUEL" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="+additions +chm headless python vboxwebsrv rdesktop-vrdp" +RESTRICT="mirror" + +if [[ "${PV}" != *beta* ]] ; then + SRC_URI+=" + sdk? ( http://download.virtualbox.org/virtualbox/${MY_PV}/${SDK_P}.zip )" + IUSE+=" sdk" +fi + +DEPEND="app-arch/unzip + ${PYTHON_DEPS}" + +RDEPEND="!!app-emulation/virtualbox + !app-emulation/virtualbox-additions + ~app-emulation/virtualbox-modules-${MAIN_PV} + !headless? ( + x11-libs/libXcursor + media-libs/libsdl[X] + x11-libs/libXrender + x11-libs/libXfixes + media-libs/libpng + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXinerama + x11-libs/libXft + media-libs/freetype + media-libs/fontconfig + x11-libs/libXext + dev-libs/glib + chm? ( dev-libs/expat ) + ) + x11-libs/libXt + dev-libs/libxml2 + x11-libs/libXau + x11-libs/libX11 + x11-libs/libXmu + x11-libs/libSM + x11-libs/libICE + x11-libs/libXdmcp + python? ( ${PYTHON_DEPS} )" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" +S=${WORKDIR} + +QA_TEXTRELS_amd64="opt/VirtualBox/VBoxVMM.so" +QA_TEXTRELS_x86="opt/VirtualBox/VBoxGuestPropSvc.so + opt/VirtualBox/VBoxSDL.so + opt/VirtualBox/VBoxDbg.so + opt/VirtualBox/VBoxSharedFolders.so + opt/VirtualBox/VBoxDD2.so + opt/VirtualBox/VBoxOGLrenderspu.so + opt/VirtualBox/VBoxPython.so + opt/VirtualBox/VBoxPython2_7.so + opt/VirtualBox/VBoxDD.so + opt/VirtualBox/VBoxVRDP.so + opt/VirtualBox/VBoxDDU.so + opt/VirtualBox/VBoxREM64.so + opt/VirtualBox/VBoxSharedClipboard.so + opt/VirtualBox/VBoxHeadless.so + opt/VirtualBox/VBoxRT.so + opt/VirtualBox/VRDPAuth.so + opt/VirtualBox/VBoxREM.so + opt/VirtualBox/VBoxSettings.so + opt/VirtualBox/VBoxKeyboard.so + opt/VirtualBox/VBoxSharedCrOpenGL.so + opt/VirtualBox/VBoxVMM.so + opt/VirtualBox/VirtualBox.so + opt/VirtualBox/VBoxOGLhosterrorspu.so + opt/VirtualBox/components/VBoxC.so + opt/VirtualBox/components/VBoxSVCM.so + opt/VirtualBox/VBoxREM32.so + opt/VirtualBox/VBoxXPCOMC.so + opt/VirtualBox/VBoxOGLhostcrutil.so + opt/VirtualBox/VBoxNetDHCP.so + opt/VirtualBox/VBoxGuestControlSvc.so" +QA_PRESTRIPPED="opt/VirtualBox/VBoxDD.so + opt/VirtualBox/VBoxDD2.so + opt/VirtualBox/VBoxDDU.so + opt/VirtualBox/VBoxDbg.so + opt/VirtualBox/VBoxGuestControlSvc.so + opt/VirtualBox/VBoxGuestPropSvc.so + opt/VirtualBox/VBoxHeadless + opt/VirtualBox/VBoxHeadless.so + opt/VirtualBox/VBoxKeyboard.so + opt/VirtualBox/VBoxManage + opt/VirtualBox/VBoxNetAdpCtl + opt/VirtualBox/VBoxNetDHCP + opt/VirtualBox/VBoxNetDHCP.so + opt/VirtualBox/VBoxOGLhostcrutil.so + opt/VirtualBox/VBoxOGLhosterrorspu.so + opt/VirtualBox/VBoxOGLrenderspu.so + opt/VirtualBox/VBoxPython.so + opt/VirtualBox/VBoxPython2_7.so + opt/VirtualBox/VBoxREM.so + opt/VirtualBox/VBoxREM32.so + opt/VirtualBox/VBoxREM64.so + opt/VirtualBox/VBoxRT.so + opt/VirtualBox/VBoxSDL + opt/VirtualBox/VBoxSDL.so + opt/VirtualBox/VBoxSVC + opt/VirtualBox/VBoxSettings.so + opt/VirtualBox/VBoxSharedClipboard.so + opt/VirtualBox/VBoxSharedCrOpenGL.so + opt/VirtualBox/VBoxSharedFolders.so + opt/VirtualBox/VBoxTestOGL + opt/VirtualBox/VBoxTunctl + opt/VirtualBox/VBoxVMM.so + opt/VirtualBox/VBoxVRDP.so + opt/VirtualBox/VBoxXPCOM.so + opt/VirtualBox/VBoxXPCOMC.so + opt/VirtualBox/VBoxXPCOMIPCD + opt/VirtualBox/VRDPAuth.so + opt/VirtualBox/VirtualBox + opt/VirtualBox/VirtualBox.so + opt/VirtualBox/accessible/libqtaccessiblewidgets.so + opt/VirtualBox/components/VBoxC.so + opt/VirtualBox/components/VBoxSVCM.so + opt/VirtualBox/components/VBoxXPCOMIPCC.so + opt/VirtualBox/kchmviewer + opt/VirtualBox/libQtCoreVBox.so.4 + opt/VirtualBox/libQtGuiVBox.so.4 + opt/VirtualBox/libQtNetworkVBox.so.4 + opt/VirtualBox/libQtOpenGLVBox.so.4 + opt/VirtualBox/vboxwebsrv" + +PYTHON_UPDATER_IGNORE="1" + +src_unpack() { + unpack_makeself ${MY_P}_${ARCH}.run + unpack ./VirtualBox.tar.bz2 + + mkdir "${S}"/${EXTP_PN} || die + pushd "${S}"/${EXTP_PN} &>/dev/null || die + unpack ${EXTP_P}.tar.gz + popd &>/dev/null || die + + if [[ "${PV}" != *beta* ]] && use sdk ; then + unpack VirtualBoxSDK-${SDK_PV}.zip + fi +} + +src_configure() { + :; +} + +src_compile() { + :; +} + +src_install() { + # create virtualbox configurations files + insinto /etc/vbox + newins "${FILESDIR}/${PN}-config" vbox.cfg + + if ! use headless ; then + pushd "${S}"/icons &>/dev/null || die + for size in * ; do + if [ -f "${size}/virtualbox.png" ] ; then + insinto "/usr/share/icons/hicolor/${size}/apps" + newins "${size}/virtualbox.png" ${PN}.png + fi + done + dodir /usr/share/pixmaps + cp "48x48/virtualbox.png" "${D}/usr/share/pixmaps/${PN}.png" \ + || die + popd &>/dev/null || die + + newmenu "${FILESDIR}"/${PN}.desktop-2 ${PN}.desktop + fi + + pushd "${S}"/${EXTP_PN} &>/dev/null || die + insinto /opt/VirtualBox/ExtensionPacks/${EXTP_PN} + doins -r linux.${ARCH} + doins ExtPack* PXE-Intel.rom + popd &>/dev/null || die + rm -rf "${S}"/${EXTP_PN} + + insinto /opt/VirtualBox + dodir /opt/bin + + doins UserManual.pdf + + if [[ "${PV}" != *beta* ]] && use sdk ; then + doins -r sdk + fi + + if use additions; then + doins -r additions + fi + + if use vboxwebsrv; then + doins vboxwebsrv + fowners root:vboxusers /opt/VirtualBox/vboxwebsrv + fperms 0750 /opt/VirtualBox/vboxwebsrv + dosym /opt/VirtualBox/VBox.sh /opt/bin/vboxwebsrv + newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv + newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv + fi + + if use rdesktop-vrdp; then + doins rdesktop-vrdp + doins -r rdesktop-vrdp-keymaps + fperms 0750 /opt/VirtualBox/rdesktop-vrdp + dosym /opt/VirtualBox/rdesktop-vrdp /opt/bin/rdesktop-vrdp + fi + + if ! use headless && use chm; then + doins kchmviewer VirtualBox.chm + fowners root:vboxusers /opt/VirtualBox/kchmviewer + fperms 0750 /opt/VirtualBox/kchmviewer + fi + + # This ebuild / package supports only py2.7. Where py3 comes is unknown. + # The compile phase makes VBoxPython2_[4-7].so. + # py3 support would presumably require a binary pre-compiled by py3. + use python && doins VBoxPython.so VBoxPython2_7.so + + rm -rf src rdesktop* deffiles install* routines.sh runlevel.sh \ + vboxdrv.sh VBox.sh VBox.png vboxnet.sh additions VirtualBox.desktop \ + VirtualBox.tar.bz2 LICENSE VBoxSysInfo.sh rdesktop* vboxwebsrv \ + webtest kchmviewer VirtualBox.chm vbox-create-usb-node.sh \ + 90-vbox-usb.fdi uninstall.sh vboxshell.py vboxdrv-pardus.py \ + VBoxPython?_*.so + + if use headless ; then + rm -rf VBoxSDL VirtualBox VBoxKeyboard.so + fi + + doins -r * || die + + # create symlinks for working around unsupported $ORIGIN/.. in VBoxC.so (setuid) + dosym /opt/VirtualBox/VBoxVMM.so /opt/VirtualBox/components/VBoxVMM.so + dosym /opt/VirtualBox/VBoxREM.so /opt/VirtualBox/components/VBoxREM.so + dosym /opt/VirtualBox/VBoxRT.so /opt/VirtualBox/components/VBoxRT.so + dosym /opt/VirtualBox/VBoxDDU.so /opt/VirtualBox/components/VBoxDDU.so + dosym /opt/VirtualBox/VBoxXPCOM.so /opt/VirtualBox/components/VBoxXPCOM.so + + local each + for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,NetAdpCtl,NetDHCP,NetNAT,TestOGL,ExtPackHelperApp}; do + fowners root:vboxusers /opt/VirtualBox/${each} + fperms 0750 /opt/VirtualBox/${each} + pax-mark -m "${D}"/opt/VirtualBox/${each} + done + # VBoxNetAdpCtl and VBoxNetDHCP binaries need to be suid root in any case.. + fperms 4750 /opt/VirtualBox/VBoxNetAdpCtl + fperms 4750 /opt/VirtualBox/VBoxNetDHCP + fperms 4750 /opt/VirtualBox/VBoxNetNAT + + if ! use headless ; then + # Hardened build: Mark selected binaries set-user-ID-on-execution + for each in VBox{SDL,Headless} VirtualBox; do + fowners root:vboxusers /opt/VirtualBox/${each} + fperms 4510 /opt/VirtualBox/${each} + pax-mark -m "${D}"/opt/VirtualBox/${each} + done + + dosym /opt/VirtualBox/VBox.sh /opt/bin/VirtualBox + dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxSDL + else + # Hardened build: Mark selected binaries set-user-ID-on-execution + fowners root:vboxusers /opt/VirtualBox/VBoxHeadless + fperms 4510 /opt/VirtualBox/VBoxHeadless + pax-mark -m "${D}"/opt/VirtualBox/VBoxHeadless + fi + + exeinto /opt/VirtualBox + newexe "${FILESDIR}/${PN}-3-wrapper" "VBox.sh" + fowners root:vboxusers /opt/VirtualBox/VBox.sh + fperms 0750 /opt/VirtualBox/VBox.sh + + dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxManage + dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxVRDP + dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxHeadless + dosym /opt/VirtualBox/VBoxTunctl /opt/bin/VBoxTunctl + + # set an env-variable for 3rd party tools + echo -n "VBOX_APP_HOME=/opt/VirtualBox" > "${T}/90virtualbox" + doenvd "${T}/90virtualbox" + + local udevdir="$(get_udevdir)" + insinto ${udevdir}/rules.d + doins "${FILESDIR}"/10-virtualbox.rules + sed "s@%UDEVDIR%@${udevdir}@" \ + -i "${D}"${udevdir}/rules.d/10-virtualbox.rules || die + # move udev scripts into ${udevdir} (bug #372491) + mv "${D}"/opt/VirtualBox/VBoxCreateUSBNode.sh "${D}"${udevdir} || die + fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh +} + +pkg_postinst() { + fdo-mime_desktop_database_update + + gnome2_icon_cache_update + + udevadm control --reload-rules && udevadm trigger --subsystem-match=usb + + elog "" + if ! use headless ; then + elog "To launch VirtualBox just type: \"VirtualBox\"" + elog "" + fi + elog "You must be in the vboxusers group to use VirtualBox." + elog "" + elog "For advanced networking setups you should emerge:" + elog "net-misc/bridge-utils and sys-apps/usermode-utilities" + elog "" + elog "Please visit http://www.virtualbox.org/wiki/Editions for" + elog "an overview about the different features of ${PN}" + elog "and virtualbox-ose" + if [ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ] ; then + elog "" + elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\"" + elog "or else USB in ${PN} won't work." + fi +} + +pkg_postrm() { + fdo-mime_desktop_database_update +} diff --git a/app-emulation/virtualbox-bin/virtualbox-bin-5.0.0.101573.ebuild b/app-emulation/virtualbox-bin/virtualbox-bin-5.0.0.101573.ebuild new file mode 100644 index 000000000000..be7050520b60 --- /dev/null +++ b/app-emulation/virtualbox-bin/virtualbox-bin-5.0.0.101573.ebuild @@ -0,0 +1,357 @@ +# 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 fdo-mime gnome2 pax-utils python-r1 udev unpacker versionator + +MAIN_PV="$(get_version_component_range 1-3)" +if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then + MY_PV="${MAIN_PV}_$(get_version_component_range 5)" + MY_PV="${MY_PV/beta/BETA}" + MY_PV="${MY_PV/rc/RC}" +else + MY_PV="${MAIN_PV}" +fi +VBOX_BUILD_ID="$(get_version_component_range 4)" +VBOX_PV="${MY_PV}-${VBOX_BUILD_ID}" +MY_P="VirtualBox-${VBOX_PV}-Linux" +# needed as sometimes the extpack gets another build ID +EXTP_PV="${VBOX_PV}" +EXTP_PN="Oracle_VM_VirtualBox_Extension_Pack" +EXTP_P="${EXTP_PN}-${EXTP_PV}" +# needed as sometimes the SDK gets another build ID +SDK_PV="${VBOX_PV}" +SDK_P="VirtualBoxSDK-${SDK_PV}" + +DESCRIPTION="Family of powerful x86 virtualization products for enterprise as well as home use" +HOMEPAGE="http://www.virtualbox.org/" +SRC_URI="amd64? ( http://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_amd64.run ) + x86? ( http://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_x86.run ) + http://download.virtualbox.org/virtualbox/${MY_PV}/${EXTP_P}.vbox-extpack -> ${EXTP_P}.tar.gz" + +LICENSE="GPL-2 PUEL" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="+additions +chm headless python vboxwebsrv rdesktop-vrdp" +RESTRICT="mirror" + +if [[ "${PV}" != *beta* ]] ; then + SRC_URI+=" + sdk? ( http://download.virtualbox.org/virtualbox/${MY_PV}/${SDK_P}.zip )" + IUSE+=" sdk" +fi + +DEPEND="app-arch/unzip + ${PYTHON_DEPS}" + +RDEPEND="!!app-emulation/virtualbox + !app-emulation/virtualbox-additions + ~app-emulation/virtualbox-modules-${MAIN_PV} + !headless? ( + x11-libs/libXcursor + media-libs/libsdl[X] + x11-libs/libXrender + x11-libs/libXfixes + media-libs/libpng + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXinerama + x11-libs/libXft + media-libs/freetype + media-libs/fontconfig + x11-libs/libXext + dev-libs/glib + chm? ( dev-libs/expat ) + ) + x11-libs/libXt + dev-libs/libxml2 + x11-libs/libXau + x11-libs/libX11 + x11-libs/libXmu + x11-libs/libSM + x11-libs/libICE + x11-libs/libXdmcp + ${PYTHON_DEPS}" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" +S=${WORKDIR} + +QA_TEXTRELS_amd64="opt/VirtualBox/VBoxVMM.so" +QA_TEXTRELS_x86="opt/VirtualBox/VBoxGuestPropSvc.so + opt/VirtualBox/VBoxSDL.so + opt/VirtualBox/VBoxDbg.so + opt/VirtualBox/VBoxSharedFolders.so + opt/VirtualBox/VBoxDD2.so + opt/VirtualBox/VBoxOGLrenderspu.so + opt/VirtualBox/VBoxPython.so + opt/VirtualBox/VBoxPython2_7.so + opt/VirtualBox/VBoxDD.so + opt/VirtualBox/VBoxVRDP.so + opt/VirtualBox/VBoxDDU.so + opt/VirtualBox/VBoxREM64.so + opt/VirtualBox/VBoxSharedClipboard.so + opt/VirtualBox/VBoxHeadless.so + opt/VirtualBox/VBoxRT.so + opt/VirtualBox/VRDPAuth.so + opt/VirtualBox/VBoxREM.so + opt/VirtualBox/VBoxSettings.so + opt/VirtualBox/VBoxKeyboard.so + opt/VirtualBox/VBoxSharedCrOpenGL.so + opt/VirtualBox/VBoxVMM.so + opt/VirtualBox/VirtualBox.so + opt/VirtualBox/VBoxOGLhosterrorspu.so + opt/VirtualBox/components/VBoxC.so + opt/VirtualBox/components/VBoxSVCM.so + opt/VirtualBox/VBoxREM32.so + opt/VirtualBox/VBoxXPCOMC.so + opt/VirtualBox/VBoxOGLhostcrutil.so + opt/VirtualBox/VBoxNetDHCP.so + opt/VirtualBox/VBoxGuestControlSvc.so" +QA_PRESTRIPPED="opt/VirtualBox/VBoxDD.so + opt/VirtualBox/VBoxDD2.so + opt/VirtualBox/VBoxDDU.so + opt/VirtualBox/VBoxDbg.so + opt/VirtualBox/VBoxGuestControlSvc.so + opt/VirtualBox/VBoxGuestPropSvc.so + opt/VirtualBox/VBoxHeadless + opt/VirtualBox/VBoxHeadless.so + opt/VirtualBox/VBoxKeyboard.so + opt/VirtualBox/VBoxManage + opt/VirtualBox/VBoxNetAdpCtl + opt/VirtualBox/VBoxNetDHCP + opt/VirtualBox/VBoxNetDHCP.so + opt/VirtualBox/VBoxOGLhostcrutil.so + opt/VirtualBox/VBoxOGLhosterrorspu.so + opt/VirtualBox/VBoxOGLrenderspu.so + opt/VirtualBox/VBoxPython.so + opt/VirtualBox/VBoxPython2_7.so + opt/VirtualBox/VBoxREM.so + opt/VirtualBox/VBoxREM32.so + opt/VirtualBox/VBoxREM64.so + opt/VirtualBox/VBoxRT.so + opt/VirtualBox/VBoxSDL + opt/VirtualBox/VBoxSDL.so + opt/VirtualBox/VBoxSVC + opt/VirtualBox/VBoxSettings.so + opt/VirtualBox/VBoxSharedClipboard.so + opt/VirtualBox/VBoxSharedCrOpenGL.so + opt/VirtualBox/VBoxSharedFolders.so + opt/VirtualBox/VBoxTestOGL + opt/VirtualBox/VBoxTunctl + opt/VirtualBox/VBoxVMM.so + opt/VirtualBox/VBoxVRDP.so + opt/VirtualBox/VBoxXPCOM.so + opt/VirtualBox/VBoxXPCOMC.so + opt/VirtualBox/VBoxXPCOMIPCD + opt/VirtualBox/VRDPAuth.so + opt/VirtualBox/VirtualBox + opt/VirtualBox/VirtualBox.so + opt/VirtualBox/accessible/libqtaccessiblewidgets.so + opt/VirtualBox/components/VBoxC.so + opt/VirtualBox/components/VBoxSVCM.so + opt/VirtualBox/components/VBoxXPCOMIPCC.so + opt/VirtualBox/kchmviewer + opt/VirtualBox/libQtCoreVBox.so.4 + opt/VirtualBox/libQtGuiVBox.so.4 + opt/VirtualBox/libQtNetworkVBox.so.4 + opt/VirtualBox/libQtOpenGLVBox.so.4 + opt/VirtualBox/vboxwebsrv" + +PYTHON_UPDATER_IGNORE="1" + +src_unpack() { + unpack_makeself ${MY_P}_${ARCH}.run + unpack ./VirtualBox.tar.bz2 + + mkdir "${S}"/${EXTP_PN} || die + pushd "${S}"/${EXTP_PN} &>/dev/null || die + unpack ${EXTP_P}.tar.gz + popd &>/dev/null || die + + if [[ "${PV}" != *beta* ]] && use sdk ; then + unpack VirtualBoxSDK-${SDK_PV}.zip + fi +} + +src_configure() { + :; +} + +src_compile() { + :; +} + +src_install() { + # create virtualbox configurations files + insinto /etc/vbox + newins "${FILESDIR}/${PN}-config" vbox.cfg + + if ! use headless ; then + pushd "${S}"/icons &>/dev/null || die + for size in * ; do + if [ -f "${size}/virtualbox.png" ] ; then + insinto "/usr/share/icons/hicolor/${size}/apps" + newins "${size}/virtualbox.png" ${PN}.png + fi + done + dodir /usr/share/pixmaps + cp "48x48/virtualbox.png" "${D}/usr/share/pixmaps/${PN}.png" \ + || die + popd &>/dev/null || die + + newmenu "${FILESDIR}"/${PN}.desktop-2 ${PN}.desktop + fi + + pushd "${S}"/${EXTP_PN} &>/dev/null || die + insinto /opt/VirtualBox/ExtensionPacks/${EXTP_PN} + doins -r linux.${ARCH} + doins ExtPack* PXE-Intel.rom + popd &>/dev/null || die + rm -rf "${S}"/${EXTP_PN} + + insinto /opt/VirtualBox + dodir /opt/bin + + doins UserManual.pdf + + if [[ "${PV}" != *beta* ]] && use sdk ; then + doins -r sdk + fi + + if use additions; then + doins -r additions + fi + + if use vboxwebsrv; then + doins vboxwebsrv + fowners root:vboxusers /opt/VirtualBox/vboxwebsrv + fperms 0750 /opt/VirtualBox/vboxwebsrv + dosym /opt/VirtualBox/VBox.sh /opt/bin/vboxwebsrv + newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv + newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv + fi + + if use rdesktop-vrdp; then + doins rdesktop-vrdp + doins -r rdesktop-vrdp-keymaps + fperms 0750 /opt/VirtualBox/rdesktop-vrdp + dosym /opt/VirtualBox/rdesktop-vrdp /opt/bin/rdesktop-vrdp + fi + + if ! use headless && use chm; then + doins kchmviewer VirtualBox.chm + fowners root:vboxusers /opt/VirtualBox/kchmviewer + fperms 0750 /opt/VirtualBox/kchmviewer + fi + + # This ebuild / package supports only py2.7. Where py3 comes is unknown. + # The compile phase makes VBoxPython2_[4-7].so. + # py3 support would presumably require a binary pre-compiled by py3. + use python && doins VBoxPython.so VBoxPython2_7.so + + rm -rf src rdesktop* deffiles install* routines.sh runlevel.sh \ + vboxdrv.sh VBox.sh VBox.png vboxnet.sh additions VirtualBox.desktop \ + VirtualBox.tar.bz2 LICENSE VBoxSysInfo.sh rdesktop* vboxwebsrv \ + webtest kchmviewer VirtualBox.chm vbox-create-usb-node.sh \ + 90-vbox-usb.fdi uninstall.sh vboxshell.py vboxdrv-pardus.py \ + VBoxPython?_*.so + + if use headless ; then + rm -rf VBoxSDL VirtualBox VBoxKeyboard.so + fi + + doins -r * || die + + # create symlinks for working around unsupported $ORIGIN/.. in VBoxC.so (setuid) + dosym /opt/VirtualBox/VBoxVMM.so /opt/VirtualBox/components/VBoxVMM.so + dosym /opt/VirtualBox/VBoxREM.so /opt/VirtualBox/components/VBoxREM.so + dosym /opt/VirtualBox/VBoxRT.so /opt/VirtualBox/components/VBoxRT.so + dosym /opt/VirtualBox/VBoxDDU.so /opt/VirtualBox/components/VBoxDDU.so + dosym /opt/VirtualBox/VBoxXPCOM.so /opt/VirtualBox/components/VBoxXPCOM.so + + local each + for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,NetAdpCtl,NetDHCP,NetNAT,TestOGL,ExtPackHelperApp}; do + fowners root:vboxusers /opt/VirtualBox/${each} + fperms 0750 /opt/VirtualBox/${each} + pax-mark -m "${D}"/opt/VirtualBox/${each} + done + # VBoxNetAdpCtl and VBoxNetDHCP binaries need to be suid root in any case.. + fperms 4750 /opt/VirtualBox/VBoxNetAdpCtl + fperms 4750 /opt/VirtualBox/VBoxNetDHCP + fperms 4750 /opt/VirtualBox/VBoxNetNAT + + if ! use headless ; then + # Hardened build: Mark selected binaries set-user-ID-on-execution + for each in VBox{SDL,Headless} VirtualBox; do + fowners root:vboxusers /opt/VirtualBox/${each} + fperms 4510 /opt/VirtualBox/${each} + pax-mark -m "${D}"/opt/VirtualBox/${each} + done + + dosym /opt/VirtualBox/VBox.sh /opt/bin/VirtualBox + dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxSDL + else + # Hardened build: Mark selected binaries set-user-ID-on-execution + fowners root:vboxusers /opt/VirtualBox/VBoxHeadless + fperms 4510 /opt/VirtualBox/VBoxHeadless + pax-mark -m "${D}"/opt/VirtualBox/VBoxHeadless + fi + + exeinto /opt/VirtualBox + newexe "${FILESDIR}/${PN}-3-wrapper" "VBox.sh" + fowners root:vboxusers /opt/VirtualBox/VBox.sh + fperms 0750 /opt/VirtualBox/VBox.sh + + dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxManage + dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxVRDP + dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxHeadless + dosym /opt/VirtualBox/VBoxTunctl /opt/bin/VBoxTunctl + + # set an env-variable for 3rd party tools + echo -n "VBOX_APP_HOME=/opt/VirtualBox" > "${T}/90virtualbox" + doenvd "${T}/90virtualbox" + + local udevdir="$(get_udevdir)" + insinto ${udevdir}/rules.d + doins "${FILESDIR}"/10-virtualbox.rules + sed "s@%UDEVDIR%@${udevdir}@" \ + -i "${D}"${udevdir}/rules.d/10-virtualbox.rules || die + # move udev scripts into ${udevdir} (bug #372491) + mv "${D}"/opt/VirtualBox/VBoxCreateUSBNode.sh "${D}"${udevdir} || die + fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh +} + +pkg_postinst() { + fdo-mime_desktop_database_update + + gnome2_icon_cache_update + + udevadm control --reload-rules && udevadm trigger --subsystem-match=usb + + elog "" + if ! use headless ; then + elog "To launch VirtualBox just type: \"VirtualBox\"" + elog "" + fi + elog "You must be in the vboxusers group to use VirtualBox." + elog "" + elog "For advanced networking setups you should emerge:" + elog "net-misc/bridge-utils and sys-apps/usermode-utilities" + elog "" + elog "Please visit http://www.virtualbox.org/wiki/Editions for" + elog "an overview about the different features of ${PN}" + elog "and virtualbox-ose" + if [ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ] ; then + elog "" + elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\"" + elog "or else USB in ${PN} won't work." + fi +} + +pkg_postrm() { + fdo-mime_desktop_database_update +} |