1
0
forked from pool/virtualbox

Accepting request 699509 from Virtualization

OBS-URL: https://build.opensuse.org/request/show/699509
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/virtualbox?expand=0&rev=177
This commit is contained in:
Dominique Leuenberger 2019-05-03 20:21:29 +00:00 committed by Git OBS Bridge
commit 225f9b51b7
14 changed files with 432 additions and 201 deletions

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3bc1ef7d3f3a88260f9adc789d908749d8e0f41ef0a4150b71e3b84261717a19
size 4326192
oid sha256:f4050a3fd73d8c25d7f02cdaf8c0ad3e3ef10100f4d9d2d5ef1203498d8b7f33
size 4330514

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:94903b78356081bc55d7a0689a31eb165e5b00e9de6a2663676240a24dadb673
size 118626165

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6816256900ca78222c6f103efa231dc0c2ca8f8670720b4da50bb4e7493c50c9
size 118577509

View File

@ -1,20 +0,0 @@
Index: VirtualBox-6.0.2/src/VBox/Additions/linux/sharedfolders/utils.c
===================================================================
--- VirtualBox-6.0.2.orig/src/VBox/Additions/linux/sharedfolders/utils.c
+++ VirtualBox-6.0.2/src/VBox/Additions/linux/sharedfolders/utils.c
@@ -63,11 +63,11 @@ static void sf_timespec_from_ftime(RTTIM
int64_t t = 1000000000 * *time;
RTTimeSpecSetNano(ts, t);
}
-#else /* >= 2.6.0 */
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 18, 0)
-static void sf_ftime_from_timespec(struct timespec *tv, RTTIMESPEC *ts)
-#else
+#else /* >= 2.6.0 */
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 18, 0)
static void sf_ftime_from_timespec(struct timespec64 *tv, RTTIMESPEC *ts)
+#else
+static void sf_ftime_from_timespec(struct timespec *tv, RTTIMESPEC *ts)
#endif
{
int64_t t = RTTimeSpecGetNano(ts);

View File

@ -1,15 +0,0 @@
Index: VirtualBox-5.2.24/src/VBox/Additions/linux/sharedfolders/vfsmod.c
===================================================================
--- VirtualBox-5.2.24.orig/src/VBox/Additions/linux/sharedfolders/vfsmod.c
+++ VirtualBox-5.2.24/src/VBox/Additions/linux/sharedfolders/vfsmod.c
@@ -37,6 +37,9 @@
# include <linux/mount.h>
#endif
#include <linux/seq_file.h>
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 0, 0)
+#include <uapi/linux/mount.h>
+#endif
MODULE_DESCRIPTION(VBOX_PRODUCT " VFS Module for Host File System Access");
MODULE_AUTHOR(VBOX_VENDOR);

View File

@ -1,42 +0,0 @@
Index: VirtualBox-6.0.4/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
===================================================================
--- VirtualBox-6.0.4.orig/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
+++ VirtualBox-6.0.4/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
@@ -38,6 +38,9 @@
#include <iprt/process.h>
#include <iprt/string.h>
#include "internal/memobj.h"
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 1, 0)
+#include <uapi/linux/mman.h>
+#endif
/*********************************************************************************************************************************
Index: VirtualBox-6.0.4/src/VBox/HostDrivers/VBoxPci/linux/VBoxPci-linux.c
===================================================================
--- VirtualBox-6.0.4.orig/src/VBox/HostDrivers/VBoxPci/linux/VBoxPci-linux.c
+++ VirtualBox-6.0.4/src/VBox/HostDrivers/VBoxPci/linux/VBoxPci-linux.c
@@ -372,7 +372,7 @@ static int vboxPciFileWrite(struct file*
mm_segment_t fs_save;
fs_save = get_fs();
- set_fs(get_ds());
+ set_fs(KERNEL_DS);
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 14, 0)
ret = kernel_write(file, data, size, &offset);
#else
Index: VirtualBox-6.0.4/src/VBox/Additions/linux/sharedfolders/regops.c
===================================================================
--- VirtualBox-6.0.4.orig/src/VBox/Additions/linux/sharedfolders/regops.c
+++ VirtualBox-6.0.4/src/VBox/Additions/linux/sharedfolders/regops.c
@@ -588,7 +588,9 @@ static int sf_reg_release(struct inode *
return 0;
}
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 1, 0)
+static vm_fault_t sf_reg_fault(struct vm_fault *vmf)
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
static int sf_reg_fault(struct vm_fault *vmf)
#elif LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 25)
static int sf_reg_fault(struct vm_area_struct *vma, struct vm_fault *vmf)

View File

@ -1,8 +1,8 @@
Index: VirtualBox-5.2.24/src/VBox/Additions/linux/drm/vbox_drv.c
Index: VirtualBox-6.0.6/src/VBox/Additions/linux/drm/vbox_drv.c
===================================================================
--- VirtualBox-5.2.24.orig/src/VBox/Additions/linux/drm/vbox_drv.c
+++ VirtualBox-5.2.24/src/VBox/Additions/linux/drm/vbox_drv.c
@@ -264,12 +264,6 @@ static struct drm_driver driver = {
--- VirtualBox-6.0.6.orig/src/VBox/Additions/linux/drm/vbox_drv.c
+++ VirtualBox-6.0.6/src/VBox/Additions/linux/drm/vbox_drv.c
@@ -283,12 +283,6 @@ static struct drm_driver driver = {
.lastclose = vbox_driver_lastclose,
.master_set = vbox_master_set,
.master_drop = vbox_master_drop,
@ -15,3 +15,154 @@ Index: VirtualBox-5.2.24/src/VBox/Additions/linux/drm/vbox_drv.c
.fops = &vbox_fops,
.irq_handler = vbox_irq_handler,
.name = DRIVER_NAME,
Index: VirtualBox-6.0.6/src/VBox/Additions/linux/drm/vbox_mode.c
===================================================================
--- VirtualBox-6.0.6.orig/src/VBox/Additions/linux/drm/vbox_mode.c
+++ VirtualBox-6.0.6/src/VBox/Additions/linux/drm/vbox_mode.c
@@ -498,7 +498,8 @@ static void vbox_set_edid(struct drm_con
for (i = 0; i < EDID_SIZE - 1; ++i)
sum += edid[i];
edid[EDID_SIZE - 1] = (0x100 - (sum & 0xFF)) & 0xFF;
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 19, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 19, 0) || \
+ defined(CONFIG_SUSE_VERSION)
drm_connector_update_edid_property(connector, (struct edid *)edid);
#else
drm_mode_connector_update_edid_property(connector, (struct edid *)edid);
@@ -669,7 +670,8 @@ static int vbox_connector_init(struct dr
drm_connector_register(connector);
#endif
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 19, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 19, 0) || \
+ defined(CONFIG_SUSE_VERSION)
drm_connector_attach_encoder(connector, encoder);
#else
drm_mode_connector_attach_encoder(connector, encoder);
Index: VirtualBox-6.0.6/src/VBox/Additions/linux/drm/vbox_ttm.c
===================================================================
--- VirtualBox-6.0.6.orig/src/VBox/Additions/linux/drm/vbox_ttm.c
+++ VirtualBox-6.0.6/src/VBox/Additions/linux/drm/vbox_ttm.c
@@ -210,7 +210,8 @@ static struct ttm_backend_func vbox_tt_b
.destroy = &vbox_ttm_backend_destroy,
};
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 17, 0)) && !defined(RHEL_76)
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 17, 0)) && !defined(RHEL_76) && \
+ !defined(CONFIG_SUSE_VERSION)
static struct ttm_tt *vbox_ttm_tt_create(struct ttm_bo_device *bdev,
unsigned long size,
u32 page_flags,
@@ -227,7 +228,8 @@ static struct ttm_tt *vbox_ttm_tt_create
return NULL;
tt->func = &vbox_tt_backend_func;
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 17, 0)) && !defined(RHEL_76)
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 17, 0)) && !defined(RHEL_76) && \
+ !defined(CONFIG_SUSE_VERSION)
if (ttm_tt_init(tt, bdev, size, page_flags, dummy_read_page)) {
#else
if (ttm_tt_init(tt, bo, page_flags)) {
@@ -240,7 +242,8 @@ static struct ttm_tt *vbox_ttm_tt_create
}
#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 17, 0)
-# if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0)) && !defined(RHEL_76)
+# if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0)) && !defined(RHEL_76) && \
+ !defined(CONFIG_SUSE_VERSION)
static int vbox_ttm_tt_populate(struct ttm_tt *ttm)
{
return ttm_pool_populate(ttm);
@@ -274,7 +277,8 @@ static struct ttm_bo_driver vbox_bo_driv
.io_mem_reserve = &vbox_ttm_io_mem_reserve,
.io_mem_free = &vbox_ttm_io_mem_free,
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) || defined(RHEL_75)
-# if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0)) && !defined(RHEL_76)
+# if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0)) && !defined(RHEL_76) && \
+ !defined(CONFIG_SUSE_VERSION)
.io_mem_pfn = ttm_bo_default_io_mem_pfn,
# endif
#endif
@@ -420,7 +424,8 @@ int vbox_bo_create(struct drm_device *de
ret = ttm_bo_init(&vbox->ttm.bdev, &vboxbo->bo, size,
ttm_bo_type_device, &vboxbo->placement,
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 17, 0) && !defined(RHEL_76)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 17, 0) && !defined(RHEL_76) && \
+ !defined(CONFIG_SUSE_VERSION)
align >> PAGE_SHIFT, false, NULL, acc_size,
#else
align >> PAGE_SHIFT, false, acc_size,
@@ -449,7 +454,8 @@ static inline u64 vbox_bo_gpu_offset(str
int vbox_bo_pin(struct vbox_bo *bo, u32 pl_flag, u64 *gpu_addr)
{
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 16, 0)) || defined(RHEL_76)
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 16, 0)) || defined(RHEL_76) || \
+ defined(CONFIG_SUSE_VERSION)
struct ttm_operation_ctx ctx = { false, false };
#endif
int i, ret;
@@ -467,7 +473,8 @@ int vbox_bo_pin(struct vbox_bo *bo, u32
for (i = 0; i < bo->placement.num_placement; i++)
PLACEMENT_FLAGS(bo->placements[i]) |= TTM_PL_FLAG_NO_EVICT;
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0)) && !defined(RHEL_76)
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0)) && !defined(RHEL_76) && \
+ !defined(CONFIG_SUSE_VERSION)
ret = ttm_bo_validate(&bo->bo, &bo->placement, false, false);
#else
ret = ttm_bo_validate(&bo->bo, &bo->placement, &ctx);
@@ -485,7 +492,8 @@ int vbox_bo_pin(struct vbox_bo *bo, u32
int vbox_bo_unpin(struct vbox_bo *bo)
{
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 16, 0)) || defined(RHEL_76)
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 16, 0)) || defined(RHEL_76) || \
+ defined(CONFIG_SUSE_VERSION)
struct ttm_operation_ctx ctx = { false, false };
#endif
int i, ret;
@@ -501,7 +509,8 @@ int vbox_bo_unpin(struct vbox_bo *bo)
for (i = 0; i < bo->placement.num_placement; i++)
PLACEMENT_FLAGS(bo->placements[i]) &= ~TTM_PL_FLAG_NO_EVICT;
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0)) && !defined(RHEL_76)
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0)) && !defined(RHEL_76) && \
+ !defined(CONFIG_SUSE_VERSION)
ret = ttm_bo_validate(&bo->bo, &bo->placement, false, false);
#else
ret = ttm_bo_validate(&bo->bo, &bo->placement, &ctx);
@@ -519,7 +528,8 @@ int vbox_bo_unpin(struct vbox_bo *bo)
*/
int vbox_bo_push_sysram(struct vbox_bo *bo)
{
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 16, 0)) || defined(RHEL_76)
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 16, 0)) || defined(RHEL_76) || \
+ defined(CONFIG_SUSE_VERSION)
struct ttm_operation_ctx ctx = { false, false };
#endif
int i, ret;
@@ -540,7 +550,8 @@ int vbox_bo_push_sysram(struct vbox_bo *
for (i = 0; i < bo->placement.num_placement; i++)
PLACEMENT_FLAGS(bo->placements[i]) |= TTM_PL_FLAG_NO_EVICT;
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0)) && !defined(RHEL_76)
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0)) && !defined(RHEL_76) && \
+ !defined(CONFIG_SUSE_VERSION)
ret = ttm_bo_validate(&bo->bo, &bo->placement, false, false);
#else
ret = ttm_bo_validate(&bo->bo, &bo->placement, &ctx);
Index: VirtualBox-6.0.6/src/VBox/Additions/linux/drm/vbox_main.c
===================================================================
--- VirtualBox-6.0.6.orig/src/VBox/Additions/linux/drm/vbox_main.c
+++ VirtualBox-6.0.6/src/VBox/Additions/linux/drm/vbox_main.c
@@ -600,7 +600,7 @@ int vbox_dumb_destroy(struct drm_file *f
}
#endif
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 19, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 19, 0) && !defined(CONFIG_SUSE_VERSION)
static void ttm_bo_put(struct ttm_buffer_object *bo)
{
ttm_bo_unref(&bo);

View File

@ -5,24 +5,29 @@
#
# January 31, 2019 - Larry Finger
#
Index: VirtualBox-6.0.4/src/VBox/Additions/linux/installer/vboxadd.sh
Index: VirtualBox-6.0.6/src/VBox/Additions/linux/installer/vboxadd.sh
===================================================================
--- VirtualBox-6.0.4.orig/src/VBox/Additions/linux/installer/vboxadd.sh
+++ VirtualBox-6.0.4/src/VBox/Additions/linux/installer/vboxadd.sh
@@ -560,6 +560,9 @@ dmnstatus()
--- VirtualBox-6.0.6.orig/src/VBox/Additions/linux/installer/vboxadd.sh
+++ VirtualBox-6.0.6/src/VBox/Additions/linux/installer/vboxadd.sh
@@ -489,9 +489,11 @@ dmnstatus()
fi
}
-for i; do
- case "$i" in quiet) QUIET=yes;; esac
-done
+echo "This script has insecurities. It must never be used in openSUSE without consultine Security."
+exit 1
+
case "$2" in quiet)
QUIET=yes;;
esac
Index: VirtualBox-6.0.4/src/VBox/Installer/linux/vboxdrv.sh
+case "$2" in quiet)
+ QUIET=yes;;
case "$1" in
# Does setup without clean-up first and marks all kernels currently found on the
# system so that we can see later if any were added.
Index: VirtualBox-6.0.6/src/VBox/Installer/linux/vboxdrv.sh
===================================================================
--- VirtualBox-6.0.4.orig/src/VBox/Installer/linux/vboxdrv.sh
+++ VirtualBox-6.0.4/src/VBox/Installer/linux/vboxdrv.sh
--- VirtualBox-6.0.6.orig/src/VBox/Installer/linux/vboxdrv.sh
+++ VirtualBox-6.0.6/src/VBox/Installer/linux/vboxdrv.sh
@@ -37,6 +37,9 @@ DEVICE=/dev/vboxdrv
MODPROBE=/sbin/modprobe
SCRIPTNAME=vboxdrv.sh

70
vbox-suid-warning.diff Normal file
View File

@ -0,0 +1,70 @@
Index: VirtualBox-6.0.4/src/apps/Makefile.kmk
===================================================================
--- VirtualBox-6.0.4.orig/src/apps/Makefile.kmk
+++ VirtualBox-6.0.4/src/apps/Makefile.kmk
@@ -33,5 +33,7 @@ include $(PATH_SUB_CURRENT)/VBoxPermissi
include $(PATH_SUB_CURRENT)/VBoxUSB_DevRules/Makefile.kmk
+include $(PATH_SUB_CURRENT)/VBoxSUIDMessage/Makefile.kmk
+
include $(FILE_KBUILD_SUB_FOOTER)
Index: VirtualBox-6.0.4/src/apps/VBoxSUIDMessage/Makefile.kmk
===================================================================
--- /dev/null
+++ VirtualBox-6.0.4/src/apps/VBoxSUIDMessage/Makefile.kmk
@@ -0,0 +1,33 @@
+# $Id: Makefile.kmk 28800 2010-04-27 08:22:32Z vboxsync $
+## @file
+#
+# VBoxSUIDMessage is wrapper for suse users
+#
+#
+# Copyright (C) 2009 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.
+#
+
+
+SUB_DEPTH = ../../..
+include $(KBUILD_PATH)/subheader.kmk
+
+PROGRAMS += VBoxSUIDMessage
+
+VBoxSUIDMessage_TEMPLATE = VBOXQTGUIEXE
+VBoxSUIDMessage_SOURCES = VBoxSUIDMessage.cpp
+VBoxSUIDMessage_QT_MODULES = Core Gui
+VBoxSUIDMessage_QT_MODULES += Widgets
+
+#INSTALLS += VBoxSUIDMessage
+
+include $(KBUILD_PATH)/subfooter.kmk
+
+
Index: VirtualBox-6.0.4/src/apps/VBoxSUIDMessage/VBoxSUIDMessage.cpp
===================================================================
--- /dev/null
+++ VirtualBox-6.0.4/src/apps/VBoxSUIDMessage/VBoxSUIDMessage.cpp
@@ -0,0 +1,15 @@
+#include <QtWidgets/QApplication>
+#include <QtWidgets/QMessageBox>
+int main(int argc, char *argv[])
+{
+ QApplication app(argc, argv);
+ QMessageBox msgBox;
+ msgBox.setWindowTitle(QObject::tr("File Permissions problem !"));
+ msgBox.setText(QObject::tr("File VirtualBoxVM must be SUID, but the file permissions are wrong.\n\n"
+ "To fix this problem, please run\n"
+ "sudo chmod 4711 /usr/lib/virtualbox/VirtualBoxVM\n\n"
+ "Until this is done, Virtual Machines cannot run."));
+ msgBox.exec();
+ app.quit();
+ return 0;
+}

View File

@ -1,7 +1,7 @@
Index: VirtualBox-6.0.0/src/VBox/Additions/linux/installer/vboxadd.sh
Index: VirtualBox-6.0.6/src/VBox/Additions/linux/installer/vboxadd.sh
===================================================================
--- VirtualBox-6.0.0.orig/src/VBox/Additions/linux/installer/vboxadd.sh
+++ VirtualBox-6.0.0/src/VBox/Additions/linux/installer/vboxadd.sh
--- VirtualBox-6.0.6.orig/src/VBox/Additions/linux/installer/vboxadd.sh
+++ VirtualBox-6.0.6/src/VBox/Additions/linux/installer/vboxadd.sh
@@ -26,11 +26,14 @@
# Provides: vboxadd
# Required-Start:
@ -18,7 +18,7 @@ Index: VirtualBox-6.0.0/src/VBox/Additions/linux/installer/vboxadd.sh
### END INIT INFO
## @todo This file duplicates a lot of script with vboxdrv.sh. When making
@@ -141,18 +144,9 @@ module_build_log()
@@ -121,20 +124,11 @@ module_build_log()
dev=/dev/vboxguest
userdev=/dev/vboxuser
@ -33,11 +33,13 @@ Index: VirtualBox-6.0.0/src/VBox/Additions/linux/installer/vboxadd.sh
-fi
-test -n "$INSTALL_DIR" -a -n "$INSTALL_VER" ||
- fail "Configuration file $config not complete"
MODULE_SRC="$INSTALL_DIR/src/vboxguest-$INSTALL_VER"
BUILDINTMP="$MODULE_SRC/build_in_tmp"
-
running_vboxguest()
{
lsmod | grep -q "vboxguest[^_-]"
@@ -195,12 +189,6 @@ do_vboxguest_non_udev()
@@ -177,12 +171,6 @@ do_vboxguest_non_udev()
fail "Cannot create device $dev with major $maj and minor $min"
}
fi
@ -50,7 +52,7 @@ Index: VirtualBox-6.0.0/src/VBox/Additions/linux/installer/vboxadd.sh
if [ ! -c $userdev ]; then
maj=10
@@ -211,12 +199,6 @@ do_vboxguest_non_udev()
@@ -193,12 +181,6 @@ do_vboxguest_non_udev()
rmmod vboxguest 2>/dev/null
fail "Cannot create device $userdev with major $maj and minor $min"
}
@ -63,29 +65,16 @@ Index: VirtualBox-6.0.0/src/VBox/Additions/linux/installer/vboxadd.sh
fi
fi
}
@@ -224,10 +206,9 @@ do_vboxguest_non_udev()
start()
{
begin "Starting."
- if test -z "${INSTALL_NO_MODULE_BUILDS}"; then
- setup --quick
+ setup --quick
test -d /sys &&
- ps -A -o comm | grep -q '/*udevd$' 2>/dev/null ||
+ ps -A -o comm | grep -q '/*udevd$' 2>/dev/null ||
no_udev=1
running_vboxguest || {
rm -f $dev || {
@@ -236,7 +217,7 @@ start()
rm -f $userdev || {
fail "Cannot remove $userdev"
}
- $MODPROBE vboxguest >/dev/null 2>&1 ||
+ $MODPROBE vboxguest >/dev/null 2>&1 || {
fail "modprobe vboxguest failed"
case "$no_udev" in 1)
sleep .5;;
@@ -434,9 +415,9 @@ create_udev_rule()
@@ -260,7 +242,7 @@ cleanup_modules()
done
if test -z "${keep}"; then
rm -rf /lib/modules/"${KERN_VER}"
- rm -f /boot/initrd.img-"${KERN_VER}"
+ rm -f /boot/initrd.img-"${KERN_VER}"
fi
done
for i in ${OLDMODULES}; do
@@ -356,9 +338,9 @@ create_udev_rule()
echo "KERNEL=${udev_fix}\"vboxuser\", NAME=\"vboxuser\", OWNER=\"vboxadd\", MODE=\"0666\"" >> /etc/udev/rules.d/60-vboxadd.rules
fi
}
@ -98,54 +87,44 @@ Index: VirtualBox-6.0.0/src/VBox/Additions/linux/installer/vboxadd.sh
# And a post-installation script for rebuilding modules when a new kernel
# is installed.
mkdir -p /etc/kernel/postinst.d /etc/kernel/prerm.d
@@ -467,20 +448,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
}
@@ -403,47 +385,15 @@ shared_folder_setup()
# setup_script
setup()
{
+<<<<<<< found
export BUILD_TYPE
export USERNAME
@@ -517,16 +491,33 @@ setup()
shared_folder_setup
if running_vboxguest || running_vboxadd; then
info "Running kernel modules will not be replaced until the system is restarted"
- # chcon is needed on old Fedora/Redhat systems. No one remembers which.
- test ! -e /etc/selinux/config ||
- chcon -t bin_t "$BUILDINTMP" 2>/dev/null
-
- if test -z "$INSTALL_NO_MODULE_BUILDS"; then
- info "Building the VirtualBox Guest Additions kernel modules. This may take a while."
- info "To build modules for other installed kernels, run"
- info " /sbin/rcvboxadd quicksetup <version>"
- info "or"
- info " /sbin/rcvboxadd quicksetup all"
- if test -d /lib/modules/"$TARGET_VER"/build; then
- setup_modules "$TARGET_VER"
- depmod
- else
- info "Kernel headers not found for target kernel $TARGET_VER. \
-Please install them and execute
- /sbin/rcvboxadd setup"
- fi
- fi
- create_vbox_user
- create_udev_rule
- test -n "${INSTALL_NO_MODULE_BUILDS}" || create_module_rebuild_script
- shared_folder_setup
- if running_vboxguest || running_vboxadd; then
- info "Running kernel modules will not be replaced until the system is restarted"
- fi
-
- # Put the X.Org driver in place. This is harmless if it is not needed.
- # Also set up the OpenGL library.
- myerr=`"${INSTALL_DIR}/init/vboxadd-x11" setup 2>&1`
- test -z "${myerr}" || log "${myerr}"
-
- 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
}
@ -160,7 +139,7 @@ Index: VirtualBox-6.0.0/src/VBox/Additions/linux/installer/vboxadd.sh
depmod
# Remove old module sources
@@ -536,12 +527,13 @@ cleanup()
@@ -453,12 +403,13 @@ cleanup()
fi
# Clean-up X11-related bits
@ -170,18 +149,27 @@ Index: VirtualBox-6.0.0/src/VBox/Additions/linux/installer/vboxadd.sh
# Remove other files
- 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
- rmdir -p /etc/kernel/postinst.d /etc/kernel/prerm.d 2>/dev/null || true
+ 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
+ rmdir -p /etc/kernel/postinst.d /etc/kernel/prerm.d 2>/dev/null || true
fi
rm /sbin/mount.vboxsf 2>/dev/null
rm /etc/udev/rules.d/60-vboxadd.rules 2>/dev/null
Index: VirtualBox-6.0.0/src/VBox/Additions/linux/installer/vboxadd-service.sh
rm -f /sbin/mount.vboxsf 2>/dev/null
rm -f /etc/udev/rules.d/60-vboxadd.rules 2>/dev/null
@@ -489,7 +440,7 @@ start()
rm -f $userdev || {
fail "Cannot remove $userdev"
}
- $MODPROBE vboxguest >/dev/null 2>&1 ||
+ $MODPROBE vboxguest >/dev/null 2>&1 || {
fail "modprobe vboxguest failed"
case "$no_udev" in 1)
sleep .5;;
Index: VirtualBox-6.0.6/src/VBox/Additions/linux/installer/vboxadd-service.sh
===================================================================
--- VirtualBox-6.0.0.orig/src/VBox/Additions/linux/installer/vboxadd-service.sh
+++ VirtualBox-6.0.0/src/VBox/Additions/linux/installer/vboxadd-service.sh
--- VirtualBox-6.0.6.orig/src/VBox/Additions/linux/installer/vboxadd-service.sh
+++ VirtualBox-6.0.6/src/VBox/Additions/linux/installer/vboxadd-service.sh
@@ -26,7 +26,7 @@
# Provides: vboxadd-service
# Required-Start: vboxadd
@ -191,10 +179,10 @@ Index: VirtualBox-6.0.0/src/VBox/Additions/linux/installer/vboxadd-service.sh
# Default-Stop: 0 1 6
# X-Conflicts-With: systemd-timesyncd.service
# Description: VirtualBox Additions Service
Index: VirtualBox-6.0.0/src/VBox/Installer/linux/vboxautostart-service.sh
Index: VirtualBox-6.0.6/src/VBox/Installer/linux/vboxautostart-service.sh
===================================================================
--- VirtualBox-6.0.0.orig/src/VBox/Installer/linux/vboxautostart-service.sh
+++ VirtualBox-6.0.0/src/VBox/Installer/linux/vboxautostart-service.sh
--- VirtualBox-6.0.6.orig/src/VBox/Installer/linux/vboxautostart-service.sh
+++ VirtualBox-6.0.6/src/VBox/Installer/linux/vboxautostart-service.sh
@@ -23,7 +23,7 @@
# Provides: vboxautostart-service
# Required-Start: vboxdrv
@ -204,10 +192,10 @@ Index: VirtualBox-6.0.0/src/VBox/Installer/linux/vboxautostart-service.sh
# Default-Stop: 0 1 6
# Description: VirtualBox autostart service
### END INIT INFO
Index: VirtualBox-6.0.0/src/VBox/Installer/linux/vboxballoonctrl-service.sh
Index: VirtualBox-6.0.6/src/VBox/Installer/linux/vboxballoonctrl-service.sh
===================================================================
--- VirtualBox-6.0.0.orig/src/VBox/Installer/linux/vboxballoonctrl-service.sh
+++ VirtualBox-6.0.0/src/VBox/Installer/linux/vboxballoonctrl-service.sh
--- VirtualBox-6.0.6.orig/src/VBox/Installer/linux/vboxballoonctrl-service.sh
+++ VirtualBox-6.0.6/src/VBox/Installer/linux/vboxballoonctrl-service.sh
@@ -23,7 +23,7 @@
# Provides: vboxballoonctrl-service
# Required-Start: vboxdrv
@ -217,10 +205,10 @@ Index: VirtualBox-6.0.0/src/VBox/Installer/linux/vboxballoonctrl-service.sh
# Default-Stop: 0 1 6
# Description: VirtualBox watchdog daemon
### END INIT INFO
Index: VirtualBox-6.0.0/src/VBox/ValidationKit/testboxscript/linux/testboxscript-service.sh
Index: VirtualBox-6.0.6/src/VBox/ValidationKit/testboxscript/linux/testboxscript-service.sh
===================================================================
--- VirtualBox-6.0.0.orig/src/VBox/ValidationKit/testboxscript/linux/testboxscript-service.sh
+++ VirtualBox-6.0.0/src/VBox/ValidationKit/testboxscript/linux/testboxscript-service.sh
--- VirtualBox-6.0.6.orig/src/VBox/ValidationKit/testboxscript/linux/testboxscript-service.sh
+++ VirtualBox-6.0.6/src/VBox/ValidationKit/testboxscript/linux/testboxscript-service.sh
@@ -31,7 +31,7 @@
# Provides: testboxscript-service
# Required-Start: $network
@ -230,10 +218,10 @@ Index: VirtualBox-6.0.0/src/VBox/ValidationKit/testboxscript/linux/testboxscript
# Default-Stop: 0 1 6
# Description: TestBoxScript service
### END INIT INFO
Index: VirtualBox-6.0.0/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs-nat.sh
Index: VirtualBox-6.0.6/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs-nat.sh
===================================================================
--- VirtualBox-6.0.0.orig/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs-nat.sh
+++ VirtualBox-6.0.0/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs-nat.sh
--- VirtualBox-6.0.6.orig/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs-nat.sh
+++ VirtualBox-6.0.6/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs-nat.sh
@@ -31,7 +31,7 @@
# Provides: vboxtxs
# Required-Start: $network
@ -243,10 +231,10 @@ Index: VirtualBox-6.0.0/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs-
# Default-Stop: 0 1 6
# Description: VirtualBox Test Execution Service
### END INIT INFO
Index: VirtualBox-6.0.0/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs.sh
Index: VirtualBox-6.0.6/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs.sh
===================================================================
--- VirtualBox-6.0.0.orig/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs.sh
+++ VirtualBox-6.0.0/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs.sh
--- VirtualBox-6.0.6.orig/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs.sh
+++ VirtualBox-6.0.6/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs.sh
@@ -31,7 +31,7 @@
# Provides: vboxtxs
# Required-Start: $network

View File

@ -3,3 +3,6 @@
%dir /lib/modules/%2-%1/extra
/lib/modules/%2-%1/extra/vboxsf.ko
/lib/modules/%2-%1/extra/vboxguest.ko
%if 0%{?suse_version} == 1500
/lib/modules/%2-%1/extra/vboxvideo.ko
%endif

View File

@ -54,5 +54,13 @@ if [ -f ~/.vbox/disable ] ; then
fi
fi
fi
# 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
LD_LIBRARY_PATH="/usr/lib/virtualbox${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" /usr/lib/virtualbox/VirtualBox6 $@

View File

@ -8,6 +8,81 @@ Wed Apr 24 17:44:06 UTC 2019 - Martin Liška <mliska@suse.cz>
- Disable LTO (boo#1133289).
-------------------------------------------------------------------
Fri Apr 19 15:45:46 UTC 2019 - Larry Finger <Larry.Finger@gmail.com>
- Updated file "Fixes_for_Leap15.1.patch" to handle one addition problem due to backporting of kernel APIa.
Remove "BuildRequires: quilt" - that package is not needed.
VirtualBox 6.0.6 fixes the following: CVE-2019-2656, CVE-2019-2680, CVE-2019-2696, CVE-2019-2703, CVE-2019-2721,
CVE-2019-2722, CVE-2019-2723, CVE-2019-2657, CVE-2019-2690, CVE-2019-2679,
CVE-2019-2678, and CVE-2019-2574 boo#1132827.
-------------------------------------------------------------------
Thu Apr 18 15:40:18 UTC 2019 - Larry Finger <Larry.Finger@gmail.com>
- Version bump to 6.0.6 (released April 17 2019 by Oracle)
The following files in the openSUSE implemetation are removed: "fix_32_bit_builds.patch", "fixes_for_5.0.patch", and
"fixes_for_5.1.patch". These issues are fixed upstream.
This is a maintenance release. The following items were fixed and/or added by Oracle:
Virtualization core: nested AMD virtualization fixes
User interface: fixed copying directories in file manager
User interface: fixed operation progress in file manager when copying content
User interface: fixed operation progress when deleting snapshots
User interface: fixed unattended installation of recent Ubuntu guests
User interface: various additional improvements
Storage: fixed loading saved states for LsiLogic devices (6.0.0 regression; bug #18263)
Storage: fixed fixed reading certain QCOW2 images and support version 3 of the format readonly
Storage: Improved IDE PCI emulation to allow NetWare IDE drivers to use bus-mastering
Graphics: Improved VMSVGA support to work with old X servers which previously showed only a badly scrambled screen
Graphics: fixed invisible mouse cursor with VMSVGA emulation and without mouse integration (bug #18239)
Graphics: make EFI work with VMSVGA emulation (bug #18282)
Graphics: remember last guest screen size VMSVGA emulation
Graphics: fix RDP to guests using VMSVGA emulation
Graphics: various additional VMSVGA emulation fixes
Audio: implemented audio device enumeration for the DirectSound backend
Network: fixed unwanted padding bytes in Windows host adaptor network packets (bug #18202 and bug #18355)
Serial: fixed possible crash on Windows when using a host device (6.0.0 regression; bug #18319)
Serial: fixed loopback handling in the emulation causing garbage to be sent during boot with Linux guests (6.0.0 regression; bug #18319)
Shared folders: fixed duplicate folders after restoring a saved state (bug #18373 and other)
Drag and drop: fixed copying files from guest host (bug #18305)
Recording: fixed modifying settings via VBoxManage (bug #18494)
VBoxManage: crash fix (bug #18341)
Fixed hangs during failed virtual machine start-up
Linux host and guest: support Linux 5.0 and 5.1, thank you Valdis Kletnieks (see also bug #18515)
Linux host: support kernel 4.4.169 (bug #18315)
Linux host: fix logging when building Linux kernel modules (bug #18226)
Linux host: clarified building Linux host drivers with secure boot (bug #18312)
Installers: reduced size of packages
Web services: work with Java 11
LibreSSL compilation fix, thank you Stefan Strogin
Windows guests: fixed running applications which use complex display topologies with WDDM driver, fixed Skype for Business hangs (bug #17092)
Windows guests: fixed an occasional guest crash with WDDM driver and VBoxSVGA adapter (bug #18369)
Windows guests: shared folder file creation detection issue (bug #9276)
Linux guests: shared folder performance and reliability improvements and missing features (bugs #17360, #819)
OS/2 guests: shared folder fixes (bug #18376 and bug #18379)
-------------------------------------------------------------------
Wed Apr 17 12:42:15 UTC 2019 - Larry Finger <Larry.Finger@gmail.com>
- The VirtualBox packages for both Tumbleweed and Leap 15.1 are now derived from the sources in Factory;
however, the underlying kernels are very different in that vboxvideo.ko is built-into the TW kernel,
thus the package did not try to build that module. The result is that Leap 15.1 guests have only 640x480
resolution (boo#1132439). These changes conditionally turn building of the kernel module back on. As TW
does not need the module, it is only built for Leap 15.1.
-------------------------------------------------------------------
Sun Apr 14 16:32:29 UTC 2019 - Larry Finger <Larry.Finger@gmail.com>
- An instance of /usr/lib/virtualbox/VirtualBoxVM being installed without SUID privilege
has been reported as boo#1132379. Unfortunately, the error message thrown by VB in this
case is rather opaque. To help the user recover, the wrapper /usr/bin/VirtualBox has
been modified to check the permissions and pop up a warning describing the problem and
showing the command needed to fix the problem. File "vbox-suid-warning.diff" is added.
-------------------------------------------------------------------
Fri Apr 5 22:11:52 UTC 2019 - Larry Finger <Larry.Finger@gmail.com>

View File

@ -42,7 +42,7 @@ python3 -O -c "import sys, os, compileall; br='%{buildroot}'; compileall.compile
%define _udevrulesdir /usr/lib/udev/rules.d
Name: virtualbox
# ********* If the VB version exceeds 6.0.x, notify the libvirt maintainer!!
Version: 6.0.4
Version: 6.0.6
Release: 0
Summary: VirtualBox is an Emulator
License: GPL-2.0-or-later
@ -110,6 +110,8 @@ Patch107: virtualbox-sed-params.patch
Patch108: virtualbox-snpritnf-buffer-overflow.patch
# Patch to add code to explain USB Passthru
Patch109: vbox-usb-warning.diff
# Patch to ensure that VirtualBoxVM is SUID
Patch110: vbox-suid-warning.diff
# Fix change in kernel API for ttm_bo_move_memcpy()
Patch112: modify_for_4_8_bo_move.patch
# Remove all mention of _smp_mflags
@ -126,17 +128,12 @@ Patch120: fixes_for_python.patch
Patch122: fixes_for_Qt5.11.patch
# Switch to Python 3.4+
Patch123: switch_to_python3.4+.patch
Patch124: fix_32_bit_builds.patch
# Use build parameters to control video driver problems
Patch125: remove_vbox_video_build.patch
# Fix for API changes in late v5.0
Patch126: fixes_for_5.0.patch
# fix library search
Patch128: fix_lib_search.patch
# Fixes for modified kernel in Leap 15.1
Patch129: fixes_for_Leap15.1.patch
# Fixes for kernel 5.1
Patch130: fixes_for_5.1.patch
# Fixes for Qt5.13
Patch131: fixes_for_qt5.13.patch
#endif
@ -183,7 +180,6 @@ BuildRequires: module-init-tools
BuildRequires: pam-devel
BuildRequires: pulseaudio-devel
BuildRequires: python3-devel
BuildRequires: quilt
BuildRequires: sed
BuildRequires: update-desktop-files
BuildRequires: which
@ -429,6 +425,7 @@ as an "extpack" for VirtualBox. The implementation is licensed under GPL.
%patch107 -p1
%patch108 -p1
%patch109 -p1
%patch110 -p1
%patch112 -p1
%patch113 -p1
%patch115 -p1
@ -437,12 +434,9 @@ as an "extpack" for VirtualBox. The implementation is licensed under GPL.
%patch120 -p1
%patch122 -p1
%patch123 -p1
%patch124 -p1
%patch125 -p1
%patch126 -p1
%patch128 -p1
%patch129 -p1
%patch130 -p1
%if %{qt5ver} >= 51300
%patch131 -p1
@ -524,10 +518,15 @@ install -D -m 644 "COPYING" "%{buildroot}%{_datadir}/licenses/LICENSE.vnc"
#
# build kernel modules for guest and host (check novel-kmp package as example)
# host modules : vboxdrv,vboxnetflt,vboxnetadp,vboxpci
# guest modules : vboxguest,vboxsf
# guest modules : vboxguest,vboxsf vboxvideo (for Leap 15.1)
echo "build kernel modules"
%if 0%{?suse_version} == 1500
for vbox_module in out/linux.*/release/bin/src/vbox{drv,netflt,netadp,pci} \
out/linux.*/release/bin/additions/src/vbox{guest,sf,video}; do
%else
for vbox_module in out/linux.*/release/bin/src/vbox{drv,netflt,netadp,pci} \
out/linux.*/release/bin/additions/src/vbox{guest,sf}; do
%endif
#get the module name from path
module_name=$(basename "$vbox_module")
@ -593,7 +592,11 @@ export INSTALL_MOD_DIR=extra
export INITRD_IN_POSTTRANS=1
export KMP_NEEDS_MKINITRD=0
#to install modules we use here similar steps like in build phase, go through all the modules :
%if 0%{?suse_version} == 1500
for module_name in vbox{drv,netflt,pci,netadp,guest,sf,video}
%else
for module_name in vbox{drv,netflt,pci,netadp,guest,sf}
%endif
do
#and through the all flavors
for flavor in %{flavors_to_build}; do
@ -659,6 +662,7 @@ install -m 755 VBoxXPCOMIPCD %{buildroot}%{_vbox_instdir}
install -m 755 VBoxExtPackHelperApp %{buildroot}%{_vbox_instdir}
install -m 755 VBoxTestOGL %{buildroot}%{_vbox_instdir}
install -m 755 VBoxPermissionMessage %{buildroot}%{_vbox_instdir}
install -m 755 VBoxSUIDMessage %{buildroot}%{_vbox_instdir}
install -m 755 VBoxUSB_DevRules %{buildroot}%{_vbox_instdir}
install -m 755 VBoxNetDHCP %{buildroot}%{_vbox_instdir}
install -m 755 VBoxNetAdpCtl %{buildroot}%{_vbox_instdir}
@ -787,6 +791,9 @@ getent group vboxusers >/dev/null || groupadd -r vboxusers
# Add groups for seamless mode and shared folders:
getent group vboxguest >/dev/null || groupadd -r vboxguest
getent group vboxsf >/dev/null || groupadd -r vboxsf
%if 0%{?suse_version} == 1500
getent group vboxvideo >/dev/null || groupadd -r vboxvideo
%endif
%service_add_pre vboxadd-service.service
%pre websrv
@ -957,6 +964,7 @@ export DISABLE_RESTART_ON_UPDATE=yes
%files qt
%defattr(-, root, root)
%attr(0755,root,vboxusers) %{_vbox_instdir}/VBoxPermissionMessage
%attr(0755,root,vboxusers) %{_vbox_instdir}/VBoxSUIDMessage
%attr(0755,root,vboxusers) %{_vbox_instdir}/VBoxUSB_DevRules
%attr(0755,root,vboxusers) %{_vbox_instdir}/VirtualBox6
%verify(not mode) %attr(0750,root,vboxusers) %{_vbox_instdir}/VirtualBoxVM