1
0
forked from pool/virtualbox
virtualbox/virtualbox-wrapper.sh
Larry Finger 606a5f1184 Accepting request 690451 from home:frispete:kernel
Hi Larry,

here's is my current state of VB affairs. It's more a RFC, but it
contains everything to build that biest for the most prominent
distributions.

The new patch virtualbox-fix-ui-background-color.patch is an attempt
to deuglify the UI with certain color schemes.

Again, RFC stuff for you to look at.

Thanks,
Pete


- adjust patch virtualbox-fix-ui-background-color.patch to really
  fix the background color messing...

- add patch to stop UI messing with Highlight Color for background
- apply fixes_for_qt5.13.patch for Qt versions >= 5.13.0 only

- Add setBadness('permissions-unauthorized-file',333) to rpmlintrc
- Remove suid attributes from all files
- add libgsoap version dependency >= 2.8.50 (recv_maxlength)

- Fix virtualbox wrapper script virtualbox-wrapper.sh to check
  60-vboxdrv.rules in /usr/lib/udev/rules.d, not /etc/udev/rules.d
  Logic is still flawed, until it doesn't take both locations into 
  account
- Add custom /etc/permission.d/virtualbox{,.paranoid} definitions
- Add compatibility symlink to keep old desktop links functional

OBS-URL: https://build.opensuse.org/request/show/690451
OBS-URL: https://build.opensuse.org/package/show/Virtualization/virtualbox?expand=0&rev=479
2019-04-05 14:49:14 +00:00

59 lines
2.0 KiB
Bash

#!/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 ~/.vbox/enable exists, the user accepts the security risk.
# 2. If ~/.vbox/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 ~/.vbox/enable
rm -f ~/.vbox/disable
else
# User declines the risk - save the inode
echo "" > ~/.vbox/disable
rm -f ~/.vbox/enable
fi
}
# Start of main routine
#
# Ensure that ~/.vbox exists
mkdir -p ~/.vbox/
# 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 ~/.vbox/enable ] && [ ! -f ~/.vbox/disable ] ; then
# Neither file exists - find what the user wants
devrules
fi
# Get the original Inode if it exists
if [ -f ~/.vbox/disable ] ; then
read LINE < ~/.vbox/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 ~/.vbox/disable ] && [ "$LINE" != "$INODE" ] && [ "$LINE" != "" ] ; then
# disable is selected and the Inode has changed - ask again
devrules
fi
if [ -f ~/.vbox/disable ] ; then
echo $INODE > ~/.vbox/disable
if [ "$LINE" != "$INODE" ] ; then
if [ -f /usr/bin/kdesu ] ; then
kdesu /sbin/vbox-fix-usb-rules.sh
fi
if [ -f /usr/bin/gnomesu ] ; then
gnomesu /sbin/vbox-fix-usb-rules.sh
fi
fi
fi
# Now run the VB GUI
LD_LIBRARY_PATH="/usr/lib/virtualbox${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" /usr/lib/virtualbox/VirtualBox6 $@