Index: VirtualBox-5.1.20/src/VBox/Additions/linux/installer/vboxadd.sh =================================================================== --- VirtualBox-5.1.20.orig/src/VBox/Additions/linux/installer/vboxadd.sh +++ VirtualBox-5.1.20/src/VBox/Additions/linux/installer/vboxadd.sh @@ -23,9 +23,12 @@ # Provides: vboxadd # Required-Start: # Required-Stop: -# Default-Start: 2 3 4 5 +# Should-Start: $remote_fs +# Should-Stop: $remote_fs +# Default-Start: 2 3 5 # Default-Stop: 0 1 6 # Description: VirtualBox Linux Additions kernel modules +# Short-Description: VirtualBox Linux Additions kernel modules ### END INIT INFO ## @todo This file duplicates a lot of script with vboxdrv.sh. When making @@ -108,7 +111,6 @@ fail() dev=/dev/vboxguest userdev=/dev/vboxuser -config=/var/lib/VBoxGuestAdditions/config owner=vboxadd group=1 @@ -162,12 +164,6 @@ do_vboxguest_non_udev() fail "Cannot create device $dev with major $maj and minor $min" } fi - chown $owner:$group $dev 2>/dev/null || { - rm -f $dev 2>/dev/null - rm -f $userdev 2>/dev/null - rmmod vboxguest 2>/dev/null - fail "Cannot change owner $owner:$group for device $dev" - } if [ ! -c $userdev ]; then maj=10 @@ -178,12 +174,6 @@ do_vboxguest_non_udev() rmmod vboxguest 2>/dev/null fail "Cannot create device $userdev with major $maj and minor $min" } - chown $owner:$group $userdev 2>/dev/null || { - rm -f $dev 2>/dev/null - rm -f $userdev 2>/dev/null - rmmod vboxguest 2>/dev/null - fail "Cannot change owner $owner:$group for device $userdev" - } fi fi } @@ -193,9 +183,8 @@ start() begin "Starting the VirtualBox Guest Additions" console; # If we got this far assume that the slow set-up has been done. QUICKSETUP=yes - if test -z "${INSTALL_NO_MODULE_BUILDS}"; then - uname -r | grep -q -E '^2\.6|^3|^4' 2>/dev/null && - ps -A -o comm | grep -q '/*udevd$' 2>/dev/null || + uname -r | grep -q -E '^2\.6|^3|^4' 2>/dev/null && + ps -A -o comm | grep -q '/*udevd$' 2>/dev/null || no_udev=1 running_vboxguest || { rm -f $dev || { @@ -209,7 +198,7 @@ start() $MODPROBE vboxguest >/dev/null 2>&1 || { setup $MODPROBE vboxguest >/dev/null 2>&1 || { - ${INSTALL_DIR}/init/vboxadd-x11 cleanup + ${INSTALL_DIR}#/init/vboxadd-x11 cleanup fail "modprobe vboxguest failed" } } @@ -234,14 +223,14 @@ start() fi # INSTALL_NO_MODULE_BUILDS # Put the X.Org driver in place. This is harmless if it is not needed. - /sbin/rcvboxadd-x11 setup + #/sbin/rcvboxadd-x11 setup # Install the guest OpenGL drivers. For now we don't support # multi-architecture installations rm -f /etc/ld.so.conf.d/00vboxvideo.conf if /usr/bin/VBoxClient --check3d 2>/dev/null; then mkdir -p /var/lib/VBoxGuestAdditions/lib - ln -sf "${INSTALL_DIR}/lib/VBoxOGL.so" /var/lib/VBoxGuestAdditions/lib/libGL.so.1 - ln -sf "${INSTALL_DIR}/lib/VBoxEGL.so" /var/lib/VBoxGuestAdditions/lib/libEGL.so.1 + ln -sf "/usr/lib64/VBoxOGL.so" /var/lib/VBoxGuestAdditions/lib/libGL.so.1 + ln -sf "/usr/lib64/VBoxEGL.so" /var/lib/VBoxGuestAdditions/lib/libEGL.so.1 # SELinux for the OpenGL libraries, so that gdm can load them during the # acceleration support check. This prevents an "Oh no, something has gone # wrong!" error when starting EL7 guests. @@ -254,6 +243,15 @@ start() chcon -h -t lib_t "/var/lib/VBoxGuestAdditions/lib/libEGL.so.1" fi echo "/var/lib/VBoxGuestAdditions/lib" > /etc/ld.so.conf.d/00vboxvideo.conf + # The above code will enable 3D acceleration for Gnome VM desktops. For Plasma 5 (KDE) + # VM's almost everything breaks. For that reason, acceleration MUST be disabled here. + # Gnome users that want this feature should delete the two 'rm' commands that follow. + # You will need to repeat this modification EVERY time the VirtualBox package is + # reinstalled + # Any KDE user that deletes the two 'rm' commands MUST know how to recover your sustem + # from a mode 3 boot. YOU HAVE BEEN WARNED. + rm /var/lib/VBoxGuestAdditions/lib/* + rm /etc/ld.so.conf.d/00vboxvideo.conf fi ldconfig @@ -394,9 +392,9 @@ create_udev_rule() echo "KERNEL=${udev_fix}\"vboxuser\", NAME=\"vboxuser\", OWNER=\"vboxadd\", MODE=\"0666\"" >> /etc/udev/rules.d/60-vboxadd.rules fi } - -create_module_rebuild_script() -{ + # And an rc file to re-build the kernel modules and re-set-up the X server. + ln -sf "$lib_path/$PACKAGE/vboxadd" /sbin/rcvboxadd + #ln -sf "$lib_path/$PACKAGE/vboxadd-x11" /sbin/rcvboxadd-x11 # And a post-installation script for rebuilding modules when a new kernel # is installed. mkdir -p /etc/kernel/postinst.d /etc/kernel/prerm.d @@ -427,47 +425,18 @@ shared_folder_setup() ## @todo It would be nicer if the kernel module just parsed parameters # itself instead of needing a separate binary to do that. ln -sf "${INSTALL_DIR}/other/mount.vboxsf" /sbin - # SELinux security context for the mount helper. - if test -e /etc/selinux/config; then - # This is correct. semanage maps this to the real path, and it aborts - # with an error, telling you what you should have typed, if you specify - # the real path. The "chcon" is there as a back-up for old guests. - command -v semanage > /dev/null && - semanage fcontext -a -t mount_exec_t "/usr/lib/$PACKAGE/mount.vboxsf" - chcon -t mount_exec_t "$lib_path/$PACKAGE/mount.vboxsf" - fi - succ_msg -} - # setup_script setup() { - export BUILD_TYPE - export USERNAME - - rm -f $LOG - MODULE_SRC="$INSTALL_DIR/src/vboxguest-$INSTALL_VER" - BUILDINTMP="$MODULE_SRC/build_in_tmp" - chcon -t bin_t "$BUILDINTMP" > /dev/null 2>&1 - - test -z "${INSTALL_NO_MODULE_BUILDS}" && setup_modules - create_vbox_user - create_udev_rule - test -z "${INSTALL_NO_MODULE_BUILDS}" && create_module_rebuild_script - test -n "${QUICKSETUP}" && return 0 - shared_folder_setup - if running_vboxguest || running_vboxadd; then - begin "Running kernel modules will not be replaced until the system is restarted" - fi - return 0 + begin "Recompiling VirtualBox kernel module, NOT. It has been packaged." + succ_msg } # cleanup_script cleanup() { - if test -z "${INSTALL_NO_MODULE_BUILDS}"; then - # Delete old versions of VBox modules. - cleanup_modules + # Delete old versions of VBox modules. + cleanup_modules depmod # Remove old module sources @@ -477,13 +446,14 @@ cleanup() fi # Clean-up X11-related bits - ${INSTALL_DIR}/init/vboxadd-x11 cleanup + #/sbin/rcvboxadd-x11 cleanup # Remove other files rm /sbin/mount.vboxsf 2>/dev/null - if test -z "${INSTALL_NO_MODULE_BUILDS}"; then - rm -f /etc/kernel/postinst.d/vboxadd /etc/kernel/prerm.d/vboxadd - rmdir -p /etc/kernel/postinst.d /etc/kernel/prerm.d 2>/dev/null + rm /sbin/rcvboxadd 2>/dev/null + #rm /sbin/rcvboxadd-x11 2>/dev/null + rm -f /etc/kernel/postinst.d/vboxadd /etc/kernel/prerm.d/vboxadd + rmdir -p /etc/kernel/postinst.d /etc/kernel/prerm.d 2>/dev/null fi rm /etc/udev/rules.d/60-vboxadd.rules 2>/dev/null } Index: VirtualBox-5.1.20/src/VBox/Additions/linux/installer/vboxadd-service.sh =================================================================== --- VirtualBox-5.1.20.orig/src/VBox/Additions/linux/installer/vboxadd-service.sh +++ VirtualBox-5.1.20/src/VBox/Additions/linux/installer/vboxadd-service.sh @@ -20,7 +20,7 @@ # Provides: vboxadd-service # Required-Start: vboxadd # Required-Stop: vboxadd -# Default-Start: 2 3 4 5 +# Default-Start: 2 3 5 # Default-Stop: 0 1 6 # Description: VirtualBox Additions Service ### END INIT INFO Index: VirtualBox-5.1.20/src/VBox/Installer/linux/vboxautostart-service.sh =================================================================== --- VirtualBox-5.1.20.orig/src/VBox/Installer/linux/vboxautostart-service.sh +++ VirtualBox-5.1.20/src/VBox/Installer/linux/vboxautostart-service.sh @@ -20,7 +20,7 @@ # Provides: vboxautostart-service # Required-Start: vboxdrv # Required-Stop: vboxdrv -# Default-Start: 2 3 4 5 +# Default-Start: 2 3 5 # Default-Stop: 0 1 6 # Description: VirtualBox autostart service ### END INIT INFO Index: VirtualBox-5.1.20/src/VBox/Installer/linux/vboxballoonctrl-service.sh =================================================================== --- VirtualBox-5.1.20.orig/src/VBox/Installer/linux/vboxballoonctrl-service.sh +++ VirtualBox-5.1.20/src/VBox/Installer/linux/vboxballoonctrl-service.sh @@ -20,7 +20,7 @@ # Provides: vboxballoonctrl-service # Required-Start: vboxdrv # Required-Stop: vboxdrv -# Default-Start: 2 3 4 5 +# Default-Start: 2 3 5 # Default-Stop: 0 1 6 # Description: VirtualBox watchdog daemon ### END INIT INFO Index: VirtualBox-5.1.20/src/VBox/ValidationKit/testboxscript/linux/testboxscript-service.sh =================================================================== --- VirtualBox-5.1.20.orig/src/VBox/ValidationKit/testboxscript/linux/testboxscript-service.sh +++ VirtualBox-5.1.20/src/VBox/ValidationKit/testboxscript/linux/testboxscript-service.sh @@ -31,7 +31,7 @@ # Provides: testboxscript-service # Required-Start: $network # Required-Stop: -# Default-Start: 2 3 4 5 +# Default-Start: 2 3 5 # Default-Stop: 0 1 6 # Description: TestBoxScript service ### END INIT INFO Index: VirtualBox-5.1.20/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs-nat.sh =================================================================== --- VirtualBox-5.1.20.orig/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs-nat.sh +++ VirtualBox-5.1.20/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs-nat.sh @@ -31,7 +31,7 @@ # Provides: vboxtxs # Required-Start: $network # Required-Stop: -# Default-Start: 2 3 4 5 +# Default-Start: 2 3 5 # Default-Stop: 0 1 6 # Description: VirtualBox Test Execution Service ### END INIT INFO Index: VirtualBox-5.1.20/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs.sh =================================================================== --- VirtualBox-5.1.20.orig/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs.sh +++ VirtualBox-5.1.20/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs.sh @@ -31,7 +31,7 @@ # Provides: vboxtxs # Required-Start: $network # Required-Stop: -# Default-Start: 2 3 4 5 +# Default-Start: 2 3 5 # Default-Stop: 0 1 6 # Description: VirtualBox Test Execution Service ### END INIT INFO