app-emulation/virtualbox: Install some more tools for vbox-6
authorLars Wendler <polynomial-c@gentoo.org>
Fri, 7 Dec 2018 20:16:44 +0000 (21:16 +0100)
committerLars Wendler <polynomial-c@gentoo.org>
Fri, 7 Dec 2018 20:17:01 +0000 (21:17 +0100)
Package-Manager: Portage-2.3.52, Repoman-2.3.12
Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
app-emulation/virtualbox/files/virtualbox-ose-6-wrapper [new file with mode: 0644]
app-emulation/virtualbox/virtualbox-6.0.0_beta3.ebuild

diff --git a/app-emulation/virtualbox/files/virtualbox-ose-6-wrapper b/app-emulation/virtualbox/files/virtualbox-ose-6-wrapper
new file mode 100644 (file)
index 0000000..43e9c9e
--- /dev/null
@@ -0,0 +1,116 @@
+#!/bin/sh
+## @file
+# Oracle VM VirtualBox startup script, Linux hosts.
+#
+
+#
+# Copyright (C) 2006-2017 Oracle Corporation
+#
+# 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.
+#
+
+PATH="/usr/bin:/bin:/usr/sbin:/sbin"
+CONFIG="/etc/vbox/vbox.cfg"
+
+test -r "${CONFIG}" &&
+    . "${CONFIG}"
+test -z "${INSTALL_DIR}" &&
+    if test -f /usr/lib/virtualbox/VirtualBox &&
+        test -x /usr/lib/virtualbox/VirtualBox; then
+        INSTALL_DIR=/usr/lib/virtualbox
+    else
+        echo "Could not find VirtualBox installation. Please reinstall."
+        exit 1
+    fi
+
+# 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 vboxdrv kernel module is not loaded. Either there is no module
+         available for the current kernel (`uname -r`) or it failed to
+         load. Please recompile the kernel module and install it 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=`basename $0`
+case "$APP" in
+    VirtualBox|virtualbox)
+        exec "$INSTALL_DIR/VirtualBox" "$@"
+        ;;
+    VBoxManage|vboxmanage)
+        exec "$INSTALL_DIR/VBoxManage" "$@"
+        ;;
+    VBoxSDL|vboxsdl)
+        exec "$INSTALL_DIR/VBoxSDL" "$@"
+        ;;
+    VBoxVRDP|VBoxHeadless|vboxheadless)
+        exec "$INSTALL_DIR/VBoxHeadless" "$@"
+        ;;
+    VBoxAutostart|vboxautostart)
+        exec "$INSTALL_DIR/VBoxAutostart" "$@"
+        ;;
+    VBoxBalloonCtrl|vboxballoonctrl)
+        exec "$INSTALL_DIR/VBoxBalloonCtrl" "$@"
+        ;;
+    VBoxBugReport|vboxbugreport)
+       exec "$INSTALL_DIR/VBoxBugReport" "$@"
+       ;;
+    VBoxDTrace|vboxdtrace)
+        exec "$INSTALL_DIR/VBoxDTrace" "$@"
+        ;;
+    vboxwebsrv)
+        exec "$INSTALL_DIR/vboxwebsrv" "$@"
+        ;;
+    *)
+        echo "Unknown application - $APP"
+        exit 1
+        ;;
+esac
+exit 0
index 8aa9d0a6b2f5382174ec8c636f1fec3c6512379d..edda2a369a4b2627707d97ed6f8464782f60fcaf 100644 (file)
@@ -289,7 +289,7 @@ src_install() {
 
        # Install the wrapper script
        exeinto ${vbox_inst_path}
-       newexe "${FILESDIR}/${PN}-ose-5-wrapper" "VBox"
+       newexe "${FILESDIR}/${PN}-ose-6-wrapper" "VBox"
        fowners root:vboxusers ${vbox_inst_path}/VBox
        fperms 0750 ${vbox_inst_path}/VBox
 
@@ -302,7 +302,7 @@ src_install() {
        if use amd64 && ! has_multilib_profile ; then
                rcfiles=""
        fi
-       for each in VBox{ExtPackHelperApp,Manage,SVC,Tunctl,XPCOMIPCD} *so *r0 ${rcfiles} ; do
+       for each in VBox{Autostart,BalloonCtrl,BugReport,CpuReport,ExtPackHelperApp,Manage,SVC,Tunctl,VMMPreload,XPCOMIPCD} *so *r0 ${rcfiles} iPxeBaseBin rdesktop-vrdp ; do
                vbox_inst ${each}
        done
 
@@ -325,7 +325,7 @@ src_install() {
        done
 
        # Symlink binaries to the shipped wrapper
-       for each in vbox{headless,manage} VBox{Headless,Manage,VRDP} ; do
+       for each in vbox{headless,manage} VBox{BugReport,Headless,Manage,VRDP} ; do
                dosym ${vbox_inst_path}/VBox /usr/bin/${each}
        done
        dosym ${vbox_inst_path}/VBoxTunctl /usr/bin/VBoxTunctl
@@ -348,8 +348,10 @@ src_install() {
                done
 
                if use qt5 ; then
-                       vbox_inst VirtualBox
-                       pax-mark -m "${ED%/}"${vbox_inst_path}/VirtualBox
+                       for each in VirtualBox{,VM} ; do
+                               vbox_inst ${each}
+                               pax-mark -m "${ED%/}"${vbox_inst_path}/${each}
+                       done
 
                        if use opengl ; then
                                vbox_inst VBoxTestOGL
@@ -364,7 +366,7 @@ src_install() {
                        doins -r nls
                        doins -r UnattendedTemplates
 
-                       newmenu "${FILESDIR}"/${PN}-ose.desktop-2 ${PN}.desktop
+                       domenu ${PN}.desktop
                fi
 
                pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die