forked from pool/virtualbox
015e529abc
This is a maintenance release. The following items were fixed and/or added: VMM: fixed task switches triggered by INTn instruction (bug #17979) Storage: fixed connecting to certain iSCSI targets (bug #17507) Storage: fixed handling of flush requests when configured to be ignored when the host I/O cache is used (bug #17573) Drag and drop: implemented support for UNC paths (bug #17146) Drag and drop: fixed resuming operation when restoring from a saved state (bug #17649) Drag and drop: fixed copying files with long file names (> 248 characters) from guests to Windows hosts (bug #17447) Drag and drop: fixed handling files with Unicode names on Windows guests (bug #15501) Drag and drop: fixed copying empty (0-byte) files to / from guests (bugs #14863 + #17443) Drag and drop: fixed copying over files from hosts to Linux guests (bug #16025) Networking: restore connectivity for guests bridged to host adapters that were unavailable temporarily (Windows hosts, bug #17090) Guest Control: fixed hang when using --wait-stdout and/or --wait-stderr (bug #17386). Needs updating Guest Additions Video recording: fixed starting video recording on VM power up (bug #17307) Linux Additions: various build fixes for kernel modules on recent distributions, and made sure modules end up in initramfs files Linux Additions: build fixes for 4.19, thank you Larry Finger Linux Additions: various small fixes for video driver This version also addresses the following vulnerabilities: CVE-2018-0732, CVE-2018-2909, CVE-2018-3287 CVE-2018-3288, CVE-2018-3289, CVE-2018-3290, CVE-2018-3291, CVE-2018-3292, CVE-2018-3293, CVE-2018-3294, CVE-2018-3295, CVE-2018-3296, CVE-2018-3297, and CVE-2018-3298. bsc#1112097 OBS-URL: https://build.opensuse.org/package/show/Virtualization/virtualbox?expand=0&rev=446
285 lines
11 KiB
Diff
285 lines
11 KiB
Diff
Index: VirtualBox-5.2.20/src/VBox/Additions/linux/installer/vboxadd.sh
|
|
===================================================================
|
|
--- VirtualBox-5.2.20.orig/src/VBox/Additions/linux/installer/vboxadd.sh
|
|
+++ VirtualBox-5.2.20/src/VBox/Additions/linux/installer/vboxadd.sh
|
|
@@ -26,11 +26,14 @@
|
|
# 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
|
|
# X-Start-Before: display-manager
|
|
# X-Service-Type: oneshot
|
|
# 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
|
|
@@ -139,18 +142,9 @@ module_build_log()
|
|
|
|
dev=/dev/vboxguest
|
|
userdev=/dev/vboxuser
|
|
-config=/var/lib/VBoxGuestAdditions/config
|
|
owner=vboxadd
|
|
group=1
|
|
|
|
-if test -r $config; then
|
|
- . $config
|
|
-else
|
|
- fail "Configuration file $config not found"
|
|
-fi
|
|
-test -n "$INSTALL_DIR" -a -n "$INSTALL_VER" ||
|
|
- fail "Configuration file $config not complete"
|
|
-
|
|
running_vboxguest()
|
|
{
|
|
lsmod | grep -q "vboxguest[^_-]"
|
|
@@ -193,12 +187,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
|
|
@@ -209,12 +197,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
|
|
}
|
|
@@ -224,9 +206,8 @@ start()
|
|
begin "Starting."
|
|
# 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 || {
|
|
@@ -239,7 +220,7 @@ start()
|
|
|
|
$MODPROBE vboxguest >/dev/null 2>&1 || {
|
|
setup
|
|
- $MODPROBE vboxguest >/dev/null 2>&1 ||
|
|
+ $MODPROBE vboxguest >/dev/null 2>&1 || {
|
|
fail "modprobe vboxguest failed"
|
|
}
|
|
case "$no_udev" in 1)
|
|
@@ -270,7 +251,8 @@ start()
|
|
rm -Rf /var/lib/VBoxGuestAdditions/lib
|
|
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 "/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.
|
|
@@ -281,6 +263,15 @@ start()
|
|
chcon -h -t lib_t "/var/lib/VBoxGuestAdditions/lib/libGL.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
|
|
|
|
@@ -455,9 +446,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
|
|
@@ -487,20 +478,13 @@ 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 "${INSTALL_DIR}/other/mount.vboxsf"
|
|
- chcon -t mount_exec_t "${INSTALL_DIR}/other/mount.vboxsf"
|
|
- fi
|
|
+ succ_msg
|
|
}
|
|
|
|
# setup_script
|
|
setup()
|
|
{
|
|
+<<<<<<< found
|
|
export BUILD_TYPE
|
|
export USERNAME
|
|
|
|
@@ -517,16 +501,33 @@ setup()
|
|
shared_folder_setup
|
|
if running_vboxguest || running_vboxadd; then
|
|
info "Running kernel modules will not be replaced until the system is restarted"
|
|
- fi
|
|
- return 0
|
|
+||||||| expected
|
|
+ export BUILD_TYPE
|
|
+ export USERNAME
|
|
+
|
|
+ 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
|
|
+ info "Running kernel modules will not be replaced until the system is restarted"
|
|
+=======
|
|
+ begin "Recompiling VirtualBox kernel module, NOT. It has been packaged."
|
|
+>>>>>>> replacement
|
|
+ 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
|
|
@@ -536,13 +537,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.2.20/src/VBox/Additions/linux/installer/vboxadd-service.sh
|
|
===================================================================
|
|
--- VirtualBox-5.2.20.orig/src/VBox/Additions/linux/installer/vboxadd-service.sh
|
|
+++ VirtualBox-5.2.20/src/VBox/Additions/linux/installer/vboxadd-service.sh
|
|
@@ -26,7 +26,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
|
|
# X-Conflicts-With: systemd-timesyncd.service
|
|
# Description: VirtualBox Additions Service
|
|
Index: VirtualBox-5.2.20/src/VBox/Installer/linux/vboxautostart-service.sh
|
|
===================================================================
|
|
--- VirtualBox-5.2.20.orig/src/VBox/Installer/linux/vboxautostart-service.sh
|
|
+++ VirtualBox-5.2.20/src/VBox/Installer/linux/vboxautostart-service.sh
|
|
@@ -23,7 +23,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.2.20/src/VBox/Installer/linux/vboxballoonctrl-service.sh
|
|
===================================================================
|
|
--- VirtualBox-5.2.20.orig/src/VBox/Installer/linux/vboxballoonctrl-service.sh
|
|
+++ VirtualBox-5.2.20/src/VBox/Installer/linux/vboxballoonctrl-service.sh
|
|
@@ -23,7 +23,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.2.20/src/VBox/ValidationKit/testboxscript/linux/testboxscript-service.sh
|
|
===================================================================
|
|
--- VirtualBox-5.2.20.orig/src/VBox/ValidationKit/testboxscript/linux/testboxscript-service.sh
|
|
+++ VirtualBox-5.2.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.2.20/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs-nat.sh
|
|
===================================================================
|
|
--- VirtualBox-5.2.20.orig/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs-nat.sh
|
|
+++ VirtualBox-5.2.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.2.20/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs.sh
|
|
===================================================================
|
|
--- VirtualBox-5.2.20.orig/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs.sh
|
|
+++ VirtualBox-5.2.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
|