1
0
forked from pool/virtualbox
virtualbox/virtualbox-wrapper.sh

71 lines
2.5 KiB
Bash
Raw Normal View History

#!/bin/bash
export QT_NO_KDE_INTEGRATION=1
# make certain that the user/group combination is valid
/usr/bin/id -nG | grep -v -e "root" -e "vboxusers" >/dev/null && /usr/lib/virtualbox/VBoxPermissionMessage && exit
#
# Handle the issue regarding USB passthru
# The following conditions apply:
# 1. If ~/.config/VirtualBox/enable exists, the user accepts the security risk.
# 2. If ~/.config/VirtualBox/disable exists, the user does not accept the risk. That file will contain the inode of /usr/lib/udev/rules.d/60-vboxdrv.rules.
# When that changes, the VBoxUSB_DevRules will again be displayed as that means that VB has been reloaded.
#
devrules()
{
/usr/lib/virtualbox/VBoxUSB_DevRules
if [ $? -eq 0 ] ; then
# User accepts the risk
touch ~/.config/VirtualBox/enable
rm -f ~/.config/VirtualBox/disable
else
# User declines the risk - save the inode
echo "" > ~/.config/VirtualBox/disable
rm -f ~/.config/VirtualBox/enable
fi
}
# Start of main routine
#
# Ensure that ~/.config/VirtualBox exists
mkdir -p ~/.config/VirtualBox
# Get the inode for /usr/lib/udev/rules.d/60-vboxdrv.rules
INODE=$(stat /usr/lib/udev/rules.d/60-vboxdrv.rules | grep Inode | cut -d' ' -f3)
if [ ! -f ~/.config/VirtualBox/enable ] && [ ! -f ~/.config/VirtualBox/disable ] ; then
# Neither file exists - find what the user wants
devrules
fi
# Get the original Inode if it exists
if [ -f ~/.config/VirtualBox/disable ] ; then
read LINE < ~/.config/VirtualBox/disable
else
LINE=" "
fi
# If user originally declined, make certain that /usr/lib/udev/rules.d/60-vboxdrv.rules has not been changed
if [ -f ~/.config/VirtualBox/disable ] && [ "$LINE" != "$INODE" ] && [ "$LINE" != "" ] ; then
# disable is selected and the Inode has changed - ask again
devrules
fi
if [ -f ~/.config/VirtualBox/disable ] ; then
echo $INODE > ~/.config/VirtualBox/disable
if [ "$LINE" != "$INODE" ] ; then
if [ -f /usr/bin/kdesu ] ; then
kdesu /usr/sbin/vbox-fix-usb-rules.sh
fi
if [ -f /usr/bin/gnomesu ] ; then
gnomesu /usr/sbin/vbox-fix-usb-rules.sh
fi
fi
fi
# Check if extpack needs to be updated
/usr/bin/update-extpack.sh
# Check that /usr/lib/virtualbox/VirtualBoxVM has SUID permissions
PERM=$(ls -l /usr/lib/virtualbox/VirtualBoxVM | grep rwsr)
if [ -z "$PERM" ]
then
logger -s "Wrong permissions for VirtualBoxVM - use 'sudo chmod 4711 /usr/lib/virtualbox/VirtualBoxVM' to fix"
/usr/lib/virtualbox/VBoxSUIDMessage
exit 1
fi
# Now run the VB GUI
- Version bump to 6.0.4 (released January 28 2019 by Oracle) Files "fixes_for_5.0" and "fixes_for_gcc9" are deleted - the code was fixed upstream. This is a maintenance release. The following items were fixed and/or added: Virtualization core: support Shanghai/Zhaoxin CPUs. User interface: handle command line arguments to VirtualBox correctly (bugs #18206 and #18197) User interface: improvements to machine manager window, virtual optical disk creator, storage selector window and log viewer window User interface: various small fixes and improvements Audio: implemented time scheduling for the AC'97 device emulation to keep audio and video in sync Graphics: basic support for VMSVGA graphics device in virtual machines using EFI Network: fix occasional NATNet crashes (bug #13899) Network: worked around problems in certain PCnet drivers on old operating systems Serial: fixed connecting to pseudo terminals on POSIX hosts (6.0.0 regression; bug #18319) Linux hosts and guests: fix for building kernel modules against Linux 5.0. Thank you Kyle Laker - Converted vboxwebsrv to a systemd service. Previously, this was started through init.d. bsc#1116050 Files "vboxweb-service.service" and "vboxweb-service.sh" are added. File "vbox-vboxweb-init-script.diff" is removed. File "fixes_for_4.20.patch" is removed - the code was fixed upstream. File "fix_lib_search.patch" is added to fix the build of VBox0GL. File "fixes_for_5.0.patch" is added to compensate for API changes in kernel 5.0. File "virtualbox-system-x.patch" is removed. File "fixes_for_Leap15.1.patch" is added to fix build errors on Leap 15<F5>.1. - Version bump to 6.0.2 (released January 15 2019 by Oracle) This is a maintenance release. The following items were fixed and/or added: User interface: fixed creation of desktop shortcuts for starting virtual machines (bug #18207) User interface: allow the first run window to selecting host drives (bug #18230) User interface: fixed attaching empty host optical drives (bug #18223) User interface: implemented a new virtual optical disk creation window USB: modified Linux backends to reset USB devices (previously, most guest attempts to reset USB devices were ignored) PCnet: fixed a regression which caused some PCnet PCI guest drivers to not detect the emulated hardware (bug #18286) OBS-URL: https://build.opensuse.org/package/show/Virtualization/virtualbox?expand=0&rev=465
2019-01-28 21:37:13 +01:00
LD_LIBRARY_PATH="/usr/lib/virtualbox${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" /usr/lib/virtualbox/VirtualBox6 $@