forked from pool/virtualbox
Accepting request 888128 from home:lwfinger:branches:Virtualization
- Version bump to (released April 20 2021 by Oracle) This is a maintenance release. The following items were fixed and/or added: VMM: Fixed extremely poor VM performance depending on the timing of various actions (regression in 6.1.0) VMM: Fixed guest OS hanging under certain circumstances when Hyper-V is present (bug #20141) VMM: Fixed Guru Meditation error when using a nested hypervisor under certain circumstances (bug #20175) VMM: Fixed a SMAP related host panic affecting Solaris 11.4 systems with Intel Haswell CPUs or later (bug #16068) OCI: Add cloud-init support for export to OCI and for OCI instance creation GUI: Fixed "Delete all files" leaving behind Logs/VBoxUI.log (bug #20235) Audio: Multiple fixes and enhancements Audio: Fixed detection of duplex audio devices on macOS (5.0 regression; bug #20171) Network: Fixed link status reporting for "not attached" adapters Network: Fixed connectivity issues with e1000 in OS/2 guests (6.1.18 regression; bug #20148) Network: Fixed VxWorks e1000 driver compatibility issue (bug #20182) Network: Fixed GUI checks for port forwarding rules rejecting IPv6 with "Nat Network" (bug #14847) DHCP: Don't crash in the presence of fixed address assignments (bug #20128) Serial: Fixed possible VM hang when using the a serial port in disconnected mode (bug #19854) Webcam: Fixed interoperability with v4l2loopback and fixed a crash under certain circumstances (bug #20176) NVMe: Fixed sporadic Windows VM hang or reboot on high CPU load VBoxManage: Allow changing network adapter attachment of a saved VM with "modifyvm" vboximg-mount: Fix for argument processing to honor the '--root' option (6.0 regression; bug #20073) Linux host and guest: Support kernel versions 5.11 (bug #20198) and 5.12 Linux host: Maximum MTU size increased to 16110 for host-only adapters on Linux kernels 4.10+ (bug #19122) Linux Guest Additions: Fix vboxvideo module compilation for kernel version 5.10.x Linux Guest Additions: Fixed kernel module build for RHEL 8.4 beta and CentOS Stream (bug #20289) File "fixes-for-5.11.patch" is deleted. The issue is fixed upstream. File "vboxautostart.sh" is replaced by "vboxautostart-service.sh" File "vboxautostart.service" is replaced by "vboxautostart-service.service" Fixes boo#1183329 "virtualbox 6.1.18 crashes when it runs nested VM" Fixes boo#1183125 "Leap 15.3 installation in Virtualbox without VBox integration" Fixes CVE-2021-2264 and boo#1184542. The directory for the <user>.start files for autostarting VMs is moved from /etc/vbox to /etc/vbox/autostart.d. In addition, the autostart service is hardened (by Oracle). OBS-URL: https://build.opensuse.org/request/show/888128 OBS-URL: https://build.opensuse.org/package/show/Virtualization/virtualbox?expand=0&rev=597
This commit is contained in:
parent
ebaeb4f44b
commit
221b12cb3b
@ -20,17 +20,20 @@ Users work
|
|||||||
==========
|
==========
|
||||||
|
|
||||||
The *first* time a user configures autostart, the command:
|
The *first* time a user configures autostart, the command:
|
||||||
VBoxManage setproperty autostartdbpath /etc/vbox
|
VBoxManage setproperty autostartdbpath /etc/vbox/autostart.d
|
||||||
needs to be run.
|
needs to be run.
|
||||||
|
|
||||||
Note: The autostart options are stored in the /etc/vbox file, and in the
|
Note: The autostart options are stored in the /etc/vbox file, and in the
|
||||||
VM itself. If moving a VM, these options may need to be set again.
|
VM itself. If moving a VM, these options may need to be set again.
|
||||||
|
|
||||||
Prepare a VM to start automatically:
|
Prepare a VM to start automatically:
|
||||||
VBoxManage modifyvm <uuid|vmname> --autostart-enabled <on|off>
|
VBoxManage modifyvm <uuid|vmname> --autostart-enabled on
|
||||||
|
|
||||||
Choose a shut down mode:
|
Choose a shut down mode:
|
||||||
VBoxManage modifyvm <uuid|vmname> --autostop-type <disabled|savestate|poweroff|acpishutdown>
|
VBoxManage modifyvm <uuid|vmname> --autostop-type <disabled|savestate|poweroff|acpishutdown>
|
||||||
|
|
||||||
Restart the vboxdrv service to start the VMs in question
|
Restart the vboxdrv service to start the VMs in question
|
||||||
sudo service vboxdrv restart
|
sudo service vboxdrv restart
|
||||||
|
|
||||||
|
To turn off autostart for a VM
|
||||||
|
VBoxManage modifyvm <uuid|vmname> --autostart-enabled off
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:50cf78dc97e9ce7227f6aa1966b5478ff50abad85485626dc603bb5e98808664
|
oid sha256:66b7dd9f1d5b53b6273d883e16b3776d9a168279383bfba5db479f99effa89b4
|
||||||
size 4969463
|
size 4972709
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:81573e1d8cf8b1a8dbd3c643d34bfe42e26105acf5316591a8bd365a3dfebb31
|
|
||||||
size 120586588
|
|
3
VirtualBox-6.1.20-patched.tar.bz2
Normal file
3
VirtualBox-6.1.20-patched.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:604c082b4aa2637fe4c73bab19c23d64bc66e7299c145673b16629bc8fec98bb
|
||||||
|
size 120659635
|
@ -1,14 +0,0 @@
|
|||||||
Index: VirtualBox-6.1.16/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
|
|
||||||
===================================================================
|
|
||||||
--- VirtualBox-6.1.16.orig/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
|
|
||||||
+++ VirtualBox-6.1.16/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
|
|
||||||
@@ -342,6 +342,9 @@ typedef struct ethtool_ops OVR_OPSTYPE;
|
|
||||||
|
|
||||||
# else /* RTLNX_VER_MIN(2,6,29) */
|
|
||||||
|
|
||||||
+#if RTLNX_VER_MIN(5,11,0)
|
|
||||||
+# include <linux/ethtool.h>
|
|
||||||
+#endif
|
|
||||||
typedef struct net_device_ops OVR_OPSTYPE;
|
|
||||||
# define OVR_OPS netdev_ops
|
|
||||||
# define OVR_XMIT pOrgOps->ndo_start_xmit
|
|
@ -1,8 +1,8 @@
|
|||||||
Index: VirtualBox-6.1.16/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
|
Index: VirtualBox-6.1.20/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- VirtualBox-6.1.16.orig/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
|
--- VirtualBox-6.1.20.orig/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
|
||||||
+++ VirtualBox-6.1.16/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
|
+++ VirtualBox-6.1.20/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
|
||||||
@@ -73,6 +73,10 @@
|
@@ -76,6 +76,10 @@
|
||||||
#define VBOXNETFLT_OS_SPECFIC 1
|
#define VBOXNETFLT_OS_SPECFIC 1
|
||||||
#include "../VBoxNetFltInternal.h"
|
#include "../VBoxNetFltInternal.h"
|
||||||
|
|
||||||
@ -13,10 +13,10 @@ Index: VirtualBox-6.1.16/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.
|
|||||||
typedef struct VBOXNETFLTNOTIFIER {
|
typedef struct VBOXNETFLTNOTIFIER {
|
||||||
struct notifier_block Notifier;
|
struct notifier_block Notifier;
|
||||||
PVBOXNETFLTINS pThis;
|
PVBOXNETFLTINS pThis;
|
||||||
Index: VirtualBox-6.1.16/src/VBox/Additions/linux/drm/vbox_drv.c
|
Index: VirtualBox-6.1.20/src/VBox/Additions/linux/drm/vbox_drv.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- VirtualBox-6.1.16.orig/src/VBox/Additions/linux/drm/vbox_drv.c
|
--- VirtualBox-6.1.20.orig/src/VBox/Additions/linux/drm/vbox_drv.c
|
||||||
+++ VirtualBox-6.1.16/src/VBox/Additions/linux/drm/vbox_drv.c
|
+++ VirtualBox-6.1.20/src/VBox/Additions/linux/drm/vbox_drv.c
|
||||||
@@ -310,12 +310,15 @@ static void vbox_master_drop(struct drm_
|
@@ -310,12 +310,15 @@ static void vbox_master_drop(struct drm_
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -34,13 +34,13 @@ Index: VirtualBox-6.1.16/src/VBox/Additions/linux/drm/vbox_drv.c
|
|||||||
- DRIVER_PRIME,
|
- DRIVER_PRIME,
|
||||||
+ DRIVER_MODESET | DRIVER_GEM | DRIVER_HAVE_IRQ,
|
+ DRIVER_MODESET | DRIVER_GEM | DRIVER_HAVE_IRQ,
|
||||||
#else /* >= 5.4.0 && RHEL >= 8.3 */
|
#else /* >= 5.4.0 && RHEL >= 8.3 */
|
||||||
.driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_HAVE_IRQ,
|
.driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_HAVE_IRQ,
|
||||||
#endif /* < 5.4.0 */
|
#endif /* < 5.4.0 */
|
||||||
Index: VirtualBox-6.1.16/src/VBox/Additions/linux/drm/vbox_main.c
|
Index: VirtualBox-6.1.20/src/VBox/Additions/linux/drm/vbox_main.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- VirtualBox-6.1.16.orig/src/VBox/Additions/linux/drm/vbox_main.c
|
--- VirtualBox-6.1.20.orig/src/VBox/Additions/linux/drm/vbox_main.c
|
||||||
+++ VirtualBox-6.1.16/src/VBox/Additions/linux/drm/vbox_main.c
|
+++ VirtualBox-6.1.20/src/VBox/Additions/linux/drm/vbox_main.c
|
||||||
@@ -638,8 +638,12 @@ static inline u64 vbox_bo_mmap_offset(st
|
@@ -640,8 +640,12 @@ static inline u64 vbox_bo_mmap_offset(st
|
||||||
#elif RTLNX_VER_MAX(3,12,0) && !RTLNX_RHEL_MAJ_PREREQ(7,0)
|
#elif RTLNX_VER_MAX(3,12,0) && !RTLNX_RHEL_MAJ_PREREQ(7,0)
|
||||||
return bo->bo.addr_space_offset;
|
return bo->bo.addr_space_offset;
|
||||||
#else
|
#else
|
||||||
@ -53,10 +53,10 @@ Index: VirtualBox-6.1.16/src/VBox/Additions/linux/drm/vbox_main.c
|
|||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
Index: VirtualBox-6.1.16/include/iprt/cdefs.h
|
Index: VirtualBox-6.1.20/include/iprt/cdefs.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- VirtualBox-6.1.16.orig/include/iprt/cdefs.h
|
--- VirtualBox-6.1.20.orig/include/iprt/cdefs.h
|
||||||
+++ VirtualBox-6.1.16/include/iprt/cdefs.h
|
+++ VirtualBox-6.1.20/include/iprt/cdefs.h
|
||||||
@@ -1173,14 +1173,15 @@
|
@@ -1173,14 +1173,15 @@
|
||||||
* Tell the compiler that we're falling through to the next case in a switch.
|
* Tell the compiler that we're falling through to the next case in a switch.
|
||||||
* @sa RT_FALL_THRU */
|
* @sa RT_FALL_THRU */
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
Index: VirtualBox-6.1.18/src/VBox/Additions/linux/drm/vbox_drv.c
|
Index: VirtualBox-6.1.20/src/VBox/Additions/linux/drm/vbox_drv.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- VirtualBox-6.1.18.orig/src/VBox/Additions/linux/drm/vbox_drv.c
|
--- VirtualBox-6.1.20.orig/src/VBox/Additions/linux/drm/vbox_drv.c
|
||||||
+++ VirtualBox-6.1.18/src/VBox/Additions/linux/drm/vbox_drv.c
|
+++ VirtualBox-6.1.20/src/VBox/Additions/linux/drm/vbox_drv.c
|
||||||
@@ -331,7 +331,9 @@ static struct drm_driver driver = {
|
@@ -330,7 +330,9 @@ static struct drm_driver driver = {
|
||||||
.master_drop = vbox_master_drop,
|
.master_drop = vbox_master_drop,
|
||||||
#if RTLNX_VER_MIN(3,18,0) || RTLNX_RHEL_MAJ_PREREQ(7,2)
|
#if RTLNX_VER_MIN(3,18,0) || RTLNX_RHEL_MAJ_PREREQ(7,2)
|
||||||
# if RTLNX_VER_MAX(4,14,0) && !RTLNX_RHEL_MAJ_PREREQ(7,5) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5)
|
# if RTLNX_VER_MAX(4,14,0) && !RTLNX_RHEL_MAJ_PREREQ(7,5) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5)
|
||||||
@ -12,10 +12,10 @@ Index: VirtualBox-6.1.18/src/VBox/Additions/linux/drm/vbox_drv.c
|
|||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
Index: VirtualBox-6.1.18/src/VBox/Additions/linux/drm/vbox_main.c
|
Index: VirtualBox-6.1.20/src/VBox/Additions/linux/drm/vbox_main.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- VirtualBox-6.1.18.orig/src/VBox/Additions/linux/drm/vbox_main.c
|
--- VirtualBox-6.1.20.orig/src/VBox/Additions/linux/drm/vbox_main.c
|
||||||
+++ VirtualBox-6.1.18/src/VBox/Additions/linux/drm/vbox_main.c
|
+++ VirtualBox-6.1.20/src/VBox/Additions/linux/drm/vbox_main.c
|
||||||
@@ -618,11 +618,13 @@ int vbox_dumb_destroy(struct drm_file *f
|
@@ -618,11 +618,13 @@ int vbox_dumb_destroy(struct drm_file *f
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -30,11 +30,11 @@ Index: VirtualBox-6.1.18/src/VBox/Additions/linux/drm/vbox_main.c
|
|||||||
|
|
||||||
void vbox_gem_free_object(struct drm_gem_object *obj)
|
void vbox_gem_free_object(struct drm_gem_object *obj)
|
||||||
{
|
{
|
||||||
Index: VirtualBox-6.1.18/src/VBox/Additions/linux/drm/vbox_ttm.c
|
Index: VirtualBox-6.1.20/src/VBox/Additions/linux/drm/vbox_ttm.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- VirtualBox-6.1.18.orig/src/VBox/Additions/linux/drm/vbox_ttm.c
|
--- VirtualBox-6.1.20.orig/src/VBox/Additions/linux/drm/vbox_ttm.c
|
||||||
+++ VirtualBox-6.1.18/src/VBox/Additions/linux/drm/vbox_ttm.c
|
+++ VirtualBox-6.1.20/src/VBox/Additions/linux/drm/vbox_ttm.c
|
||||||
@@ -256,7 +256,7 @@ static struct ttm_backend_func vbox_tt_b
|
@@ -271,7 +271,7 @@ static struct ttm_backend_func vbox_tt_b
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -43,16 +43,16 @@ Index: VirtualBox-6.1.18/src/VBox/Additions/linux/drm/vbox_ttm.c
|
|||||||
static struct ttm_tt *vbox_ttm_tt_create(struct ttm_bo_device *bdev,
|
static struct ttm_tt *vbox_ttm_tt_create(struct ttm_bo_device *bdev,
|
||||||
unsigned long size,
|
unsigned long size,
|
||||||
u32 page_flags,
|
u32 page_flags,
|
||||||
@@ -275,7 +275,7 @@ static struct ttm_tt *vbox_ttm_tt_create
|
@@ -290,7 +290,7 @@ static struct ttm_tt *vbox_ttm_tt_create
|
||||||
#if RTLNX_VER_MAX(5,10,0)
|
#if RTLNX_VER_MAX(5,10,0)
|
||||||
tt->func = &vbox_tt_backend_func;
|
tt->func = &vbox_tt_backend_func;
|
||||||
#endif
|
#endif
|
||||||
-#if RTLNX_VER_MAX(4,17,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5)
|
-#if RTLNX_VER_MAX(4,17,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5)
|
||||||
+#if RTLNX_VER_MAX(4,17,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5) && !defined(SUSE_SLE12)
|
+#if RTLNX_VER_MAX(4,17,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5) && !defined(SUSE_SLE12)
|
||||||
if (ttm_tt_init(tt, bdev, size, page_flags, dummy_read_page)) {
|
if (ttm_tt_init(tt, bdev, size, page_flags, dummy_read_page)) {
|
||||||
#else
|
#elif RTLNX_VER_MAX(5,11,0)
|
||||||
if (ttm_tt_init(tt, bo, page_flags)) {
|
if (ttm_tt_init(tt, bo, page_flags)) {
|
||||||
@@ -288,7 +288,7 @@ static struct ttm_tt *vbox_ttm_tt_create
|
@@ -305,7 +305,7 @@ static struct ttm_tt *vbox_ttm_tt_create
|
||||||
}
|
}
|
||||||
|
|
||||||
#if RTLNX_VER_MAX(4,17,0)
|
#if RTLNX_VER_MAX(4,17,0)
|
||||||
@ -61,7 +61,7 @@ Index: VirtualBox-6.1.18/src/VBox/Additions/linux/drm/vbox_ttm.c
|
|||||||
static int vbox_ttm_tt_populate(struct ttm_tt *ttm)
|
static int vbox_ttm_tt_populate(struct ttm_tt *ttm)
|
||||||
{
|
{
|
||||||
return ttm_pool_populate(ttm);
|
return ttm_pool_populate(ttm);
|
||||||
@@ -327,7 +327,7 @@ static struct ttm_bo_driver vbox_bo_driv
|
@@ -353,7 +353,7 @@ static struct ttm_bo_driver vbox_bo_driv
|
||||||
.io_mem_reserve = &vbox_ttm_io_mem_reserve,
|
.io_mem_reserve = &vbox_ttm_io_mem_reserve,
|
||||||
.io_mem_free = &vbox_ttm_io_mem_free,
|
.io_mem_free = &vbox_ttm_io_mem_free,
|
||||||
#if RTLNX_VER_MIN(4,12,0) || RTLNX_RHEL_MAJ_PREREQ(7,5)
|
#if RTLNX_VER_MIN(4,12,0) || RTLNX_RHEL_MAJ_PREREQ(7,5)
|
||||||
@ -70,7 +70,7 @@ Index: VirtualBox-6.1.18/src/VBox/Additions/linux/drm/vbox_ttm.c
|
|||||||
.io_mem_pfn = ttm_bo_default_io_mem_pfn,
|
.io_mem_pfn = ttm_bo_default_io_mem_pfn,
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
@@ -500,7 +500,7 @@ int vbox_bo_create(struct drm_device *de
|
@@ -556,7 +556,7 @@ int vbox_bo_create(struct drm_device *de
|
||||||
|
|
||||||
ret = ttm_bo_init(&vbox->ttm.bdev, &vboxbo->bo, size,
|
ret = ttm_bo_init(&vbox->ttm.bdev, &vboxbo->bo, size,
|
||||||
ttm_bo_type_device, &vboxbo->placement,
|
ttm_bo_type_device, &vboxbo->placement,
|
||||||
@ -79,7 +79,7 @@ Index: VirtualBox-6.1.18/src/VBox/Additions/linux/drm/vbox_ttm.c
|
|||||||
align >> PAGE_SHIFT, false, NULL, acc_size,
|
align >> PAGE_SHIFT, false, NULL, acc_size,
|
||||||
#else
|
#else
|
||||||
align >> PAGE_SHIFT, false, acc_size,
|
align >> PAGE_SHIFT, false, acc_size,
|
||||||
@@ -533,7 +533,7 @@ static inline u64 vbox_bo_gpu_offset(str
|
@@ -589,7 +589,7 @@ static inline u64 vbox_bo_gpu_offset(str
|
||||||
|
|
||||||
int vbox_bo_pin(struct vbox_bo *bo, u32 mem_type, u64 *gpu_addr)
|
int vbox_bo_pin(struct vbox_bo *bo, u32 mem_type, u64 *gpu_addr)
|
||||||
{
|
{
|
||||||
@ -87,56 +87,56 @@ Index: VirtualBox-6.1.18/src/VBox/Additions/linux/drm/vbox_ttm.c
|
|||||||
+#if RTLNX_VER_MIN(4,16,0) || RTLNX_RHEL_MAJ_PREREQ(7,6) || RTLNX_SUSE_MAJ_PREREQ(15,1) || RTLNX_SUSE_MAJ_PREREQ(12,5) || defined(SUSE_SLE12)
|
+#if RTLNX_VER_MIN(4,16,0) || RTLNX_RHEL_MAJ_PREREQ(7,6) || RTLNX_SUSE_MAJ_PREREQ(15,1) || RTLNX_SUSE_MAJ_PREREQ(12,5) || defined(SUSE_SLE12)
|
||||||
struct ttm_operation_ctx ctx = { false, false };
|
struct ttm_operation_ctx ctx = { false, false };
|
||||||
#endif
|
#endif
|
||||||
int i, ret;
|
int ret;
|
||||||
@@ -551,7 +551,7 @@ int vbox_bo_pin(struct vbox_bo *bo, u32
|
@@ -612,7 +612,7 @@ 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;
|
PLACEMENT_FLAGS(bo->placements[i]) |= TTM_PL_FLAG_NO_EVICT;
|
||||||
|
#endif
|
||||||
|
|
||||||
-#if RTLNX_VER_MAX(4,16,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5)
|
-#if RTLNX_VER_MAX(4,16,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5)
|
||||||
+#if RTLNX_VER_MAX(4,16,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5) && !defined(SUSE_SLE12)
|
+#if RTLNX_VER_MAX(4,16,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5) && !defined(SUSE_SLE12)
|
||||||
ret = ttm_bo_validate(&bo->bo, &bo->placement, false, false);
|
ret = ttm_bo_validate(&bo->bo, &bo->placement, false, false);
|
||||||
#else
|
#else
|
||||||
ret = ttm_bo_validate(&bo->bo, &bo->placement, &ctx);
|
ret = ttm_bo_validate(&bo->bo, &bo->placement, &ctx);
|
||||||
@@ -569,7 +569,7 @@ int vbox_bo_pin(struct vbox_bo *bo, u32
|
@@ -634,7 +634,7 @@ int vbox_bo_pin(struct vbox_bo *bo, u32
|
||||||
|
|
||||||
int vbox_bo_unpin(struct vbox_bo *bo)
|
int vbox_bo_unpin(struct vbox_bo *bo)
|
||||||
{
|
{
|
||||||
-#if RTLNX_VER_MIN(4,16,0) || RTLNX_RHEL_MAJ_PREREQ(7,6) || RTLNX_SUSE_MAJ_PREREQ(15,1) || RTLNX_SUSE_MAJ_PREREQ(12,5)
|
-#if RTLNX_VER_MIN(4,16,0) || RTLNX_RHEL_MAJ_PREREQ(7,6) || RTLNX_SUSE_MAJ_PREREQ(15,1) || RTLNX_SUSE_MAJ_PREREQ(12,5)
|
||||||
+#if RTLNX_VER_MIN(4,16,0) || RTLNX_RHEL_MAJ_PREREQ(7,6) || RTLNX_SUSE_MAJ_PREREQ(15,1) || RTLNX_SUSE_MAJ_PREREQ(12,5) || defined(SUSE_SLE12)
|
+#if RTLNX_VER_MIN(4,16,0) || RTLNX_RHEL_MAJ_PREREQ(7,6) || RTLNX_SUSE_MAJ_PREREQ(15,1) || RTLNX_SUSE_MAJ_PREREQ(12,5) || defined(SUSE_SLE12)
|
||||||
|
# if RTLNX_VER_MAX(5,11,0)
|
||||||
struct ttm_operation_ctx ctx = { false, false };
|
struct ttm_operation_ctx ctx = { false, false };
|
||||||
#endif
|
# endif
|
||||||
int i, ret;
|
@@ -657,7 +657,7 @@ int vbox_bo_unpin(struct vbox_bo *bo)
|
||||||
@@ -585,7 +585,7 @@ 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;
|
PLACEMENT_FLAGS(bo->placements[i]) &= ~TTM_PL_FLAG_NO_EVICT;
|
||||||
|
#endif
|
||||||
|
|
||||||
-#if RTLNX_VER_MAX(4,16,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5)
|
-#if RTLNX_VER_MAX(4,16,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5)
|
||||||
+#if RTLNX_VER_MAX(4,16,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5) && !defined(SUSE_SLE12)
|
+#if RTLNX_VER_MAX(4,16,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5) && !defined(SUSE_SLE12)
|
||||||
ret = ttm_bo_validate(&bo->bo, &bo->placement, false, false);
|
ret = ttm_bo_validate(&bo->bo, &bo->placement, false, false);
|
||||||
#else
|
#elif RTLNX_VER_MAX(5,11,0)
|
||||||
ret = ttm_bo_validate(&bo->bo, &bo->placement, &ctx);
|
ret = ttm_bo_validate(&bo->bo, &bo->placement, &ctx);
|
||||||
@@ -603,7 +603,7 @@ int vbox_bo_unpin(struct vbox_bo *bo)
|
@@ -680,7 +680,7 @@ int vbox_bo_unpin(struct vbox_bo *bo)
|
||||||
*/
|
*/
|
||||||
int vbox_bo_push_sysram(struct vbox_bo *bo)
|
int vbox_bo_push_sysram(struct vbox_bo *bo)
|
||||||
{
|
{
|
||||||
-#if RTLNX_VER_MIN(4,16,0) || RTLNX_RHEL_MAJ_PREREQ(7,6) || RTLNX_SUSE_MAJ_PREREQ(15,1) || RTLNX_SUSE_MAJ_PREREQ(12,5)
|
-# if RTLNX_VER_MIN(4,16,0) || RTLNX_RHEL_MAJ_PREREQ(7,6) || RTLNX_SUSE_MAJ_PREREQ(15,1) || RTLNX_SUSE_MAJ_PREREQ(12,5)
|
||||||
+#if RTLNX_VER_MIN(4,16,0) || RTLNX_RHEL_MAJ_PREREQ(7,6) || RTLNX_SUSE_MAJ_PREREQ(15,1) || RTLNX_SUSE_MAJ_PREREQ(12,5) || defined(SUSE_SLE12)
|
+# if RTLNX_VER_MIN(4,16,0) || RTLNX_RHEL_MAJ_PREREQ(7,6) || RTLNX_SUSE_MAJ_PREREQ(15,1) || RTLNX_SUSE_MAJ_PREREQ(12,5) || defined(SUSE_SLE12)
|
||||||
struct ttm_operation_ctx ctx = { false, false };
|
struct ttm_operation_ctx ctx = { false, false };
|
||||||
#endif
|
# endif
|
||||||
int i, ret;
|
int i, ret;
|
||||||
@@ -624,7 +624,7 @@ int vbox_bo_push_sysram(struct vbox_bo *
|
@@ -701,7 +701,7 @@ int vbox_bo_push_sysram(struct vbox_bo *
|
||||||
for (i = 0; i < bo->placement.num_placement; i++)
|
for (i = 0; i < bo->placement.num_placement; i++)
|
||||||
PLACEMENT_FLAGS(bo->placements[i]) |= TTM_PL_FLAG_NO_EVICT;
|
PLACEMENT_FLAGS(bo->placements[i]) |= TTM_PL_FLAG_NO_EVICT;
|
||||||
|
|
||||||
-#if RTLNX_VER_MAX(4,16,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5)
|
-# if RTLNX_VER_MAX(4,16,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5)
|
||||||
+#if RTLNX_VER_MAX(4,16,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5) && !defined(SUSE_SLE12)
|
+# if RTLNX_VER_MAX(4,16,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5) && !defined(SUSE_SLE12)
|
||||||
ret = ttm_bo_validate(&bo->bo, &bo->placement, false, false);
|
ret = ttm_bo_validate(&bo->bo, &bo->placement, false, false);
|
||||||
#else
|
# else
|
||||||
ret = ttm_bo_validate(&bo->bo, &bo->placement, &ctx);
|
ret = ttm_bo_validate(&bo->bo, &bo->placement, &ctx);
|
||||||
Index: VirtualBox-6.1.18/src/VBox/Additions/linux/drm/vbox_drv.h
|
Index: VirtualBox-6.1.20/src/VBox/Additions/linux/drm/vbox_drv.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- VirtualBox-6.1.18.orig/src/VBox/Additions/linux/drm/vbox_drv.h
|
--- VirtualBox-6.1.20.orig/src/VBox/Additions/linux/drm/vbox_drv.h
|
||||||
+++ VirtualBox-6.1.18/src/VBox/Additions/linux/drm/vbox_drv.h
|
+++ VirtualBox-6.1.20/src/VBox/Additions/linux/drm/vbox_drv.h
|
||||||
@@ -87,6 +87,9 @@
|
@@ -87,6 +87,9 @@
|
||||||
#else
|
#else
|
||||||
# define RTLNX_RHEL_MAX(a_iMajor, a_iMinor) (0)
|
# define RTLNX_RHEL_MAX(a_iMajor, a_iMinor) (0)
|
||||||
@ -147,10 +147,10 @@ Index: VirtualBox-6.1.18/src/VBox/Additions/linux/drm/vbox_drv.h
|
|||||||
|
|
||||||
/** @def RTLNX_RHEL_RANGE
|
/** @def RTLNX_RHEL_RANGE
|
||||||
* Check that it's a RedHat kernel in the given version range.
|
* Check that it's a RedHat kernel in the given version range.
|
||||||
Index: VirtualBox-6.1.18/src/VBox/Additions/linux/drm/vbox_mode.c
|
Index: VirtualBox-6.1.20/src/VBox/Additions/linux/drm/vbox_mode.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- VirtualBox-6.1.18.orig/src/VBox/Additions/linux/drm/vbox_mode.c
|
--- VirtualBox-6.1.20.orig/src/VBox/Additions/linux/drm/vbox_mode.c
|
||||||
+++ VirtualBox-6.1.18/src/VBox/Additions/linux/drm/vbox_mode.c
|
+++ VirtualBox-6.1.20/src/VBox/Additions/linux/drm/vbox_mode.c
|
||||||
@@ -544,7 +544,8 @@ static void vbox_set_edid(struct drm_con
|
@@ -544,7 +544,8 @@ static void vbox_set_edid(struct drm_con
|
||||||
for (i = 0; i < EDID_SIZE - 1; ++i)
|
for (i = 0; i < EDID_SIZE - 1; ++i)
|
||||||
sum += edid[i];
|
sum += edid[i];
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Index: VirtualBox-6.1.14/src/bldprogs/scm.cpp
|
Index: VirtualBox-6.1.20/src/bldprogs/scm.cpp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- VirtualBox-6.1.14.orig/src/bldprogs/scm.cpp
|
--- VirtualBox-6.1.20.orig/src/bldprogs/scm.cpp
|
||||||
+++ VirtualBox-6.1.14/src/bldprogs/scm.cpp
|
+++ VirtualBox-6.1.20/src/bldprogs/scm.cpp
|
||||||
@@ -2206,7 +2206,7 @@ static int scmProcessFileInner(PSCMRWSTA
|
@@ -2206,7 +2206,7 @@ static int scmProcessFileInner(PSCMRWSTA
|
||||||
pszTreatAs = "shell";
|
pszTreatAs = "shell";
|
||||||
else if ( (cchFirst >= 15 && strncmp(pchFirst, "/usr/bin/python", 15) == 0)
|
else if ( (cchFirst >= 15 && strncmp(pchFirst, "/usr/bin/python", 15) == 0)
|
||||||
@ -11,10 +11,10 @@ Index: VirtualBox-6.1.14/src/bldprogs/scm.cpp
|
|||||||
else if ( (cchFirst >= 13 && strncmp(pchFirst, "/usr/bin/perl", 13) == 0)
|
else if ( (cchFirst >= 13 && strncmp(pchFirst, "/usr/bin/perl", 13) == 0)
|
||||||
|| (cchFirst >= 17 && strncmp(pchFirst, "/usr/bin/env perl", 17) == 0) )
|
|| (cchFirst >= 17 && strncmp(pchFirst, "/usr/bin/env perl", 17) == 0) )
|
||||||
pszTreatAs = "perl";
|
pszTreatAs = "perl";
|
||||||
Index: VirtualBox-6.1.14/src/libs/libxml2-2.9.4/configure
|
Index: VirtualBox-6.1.20/src/libs/libxml2-2.9.4/configure
|
||||||
===================================================================
|
===================================================================
|
||||||
--- VirtualBox-6.1.14.orig/src/libs/libxml2-2.9.4/configure
|
--- VirtualBox-6.1.20.orig/src/libs/libxml2-2.9.4/configure
|
||||||
+++ VirtualBox-6.1.14/src/libs/libxml2-2.9.4/configure
|
+++ VirtualBox-6.1.20/src/libs/libxml2-2.9.4/configure
|
||||||
@@ -15153,10 +15153,10 @@ PYTHON_SITE_PACKAGES=
|
@@ -15153,10 +15153,10 @@ PYTHON_SITE_PACKAGES=
|
||||||
PYTHON_TESTS=
|
PYTHON_TESTS=
|
||||||
pythondir=
|
pythondir=
|
||||||
@ -39,10 +39,10 @@ Index: VirtualBox-6.1.14/src/libs/libxml2-2.9.4/configure
|
|||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||||
$as_echo_n "checking for $ac_word... " >&6; }
|
$as_echo_n "checking for $ac_word... " >&6; }
|
||||||
if ${ac_cv_path_PYTHON+:} false; then :
|
if ${ac_cv_path_PYTHON+:} false; then :
|
||||||
Index: VirtualBox-6.1.14/src/VBox/ValidationKit/testboxscript/setup.sh
|
Index: VirtualBox-6.1.20/src/VBox/ValidationKit/testboxscript/setup.sh
|
||||||
===================================================================
|
===================================================================
|
||||||
--- VirtualBox-6.1.14.orig/src/VBox/ValidationKit/testboxscript/setup.sh
|
--- VirtualBox-6.1.20.orig/src/VBox/ValidationKit/testboxscript/setup.sh
|
||||||
+++ VirtualBox-6.1.14/src/VBox/ValidationKit/testboxscript/setup.sh
|
+++ VirtualBox-6.1.20/src/VBox/ValidationKit/testboxscript/setup.sh
|
||||||
@@ -652,7 +652,7 @@ import sys;\
|
@@ -652,7 +652,7 @@ import sys;\
|
||||||
x = sys.version_info[0] == 2 and (sys.version_info[1] >= 6 or (sys.version_info[1] == 5 and sys.version_info[2] >= 1));\
|
x = sys.version_info[0] == 2 and (sys.version_info[1] >= 6 or (sys.version_info[1] == 5 and sys.version_info[2] >= 1));\
|
||||||
sys.exit(not x);\
|
sys.exit(not x);\
|
||||||
@ -52,14 +52,14 @@ Index: VirtualBox-6.1.14/src/VBox/ValidationKit/testboxscript/setup.sh
|
|||||||
do
|
do
|
||||||
python=`which ${python} 2> /dev/null`
|
python=`which ${python} 2> /dev/null`
|
||||||
if [ -n "${python}" -a -x "${python}" ]; then
|
if [ -n "${python}" -a -x "${python}" ]; then
|
||||||
Index: VirtualBox-6.1.14/src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec
|
Index: VirtualBox-6.1.20/src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec
|
||||||
===================================================================
|
===================================================================
|
||||||
--- VirtualBox-6.1.14.orig/src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec
|
--- VirtualBox-6.1.20.orig/src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec
|
||||||
+++ VirtualBox-6.1.14/src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec
|
+++ VirtualBox-6.1.20/src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec
|
||||||
@@ -20,7 +20,7 @@
|
@@ -20,7 +20,7 @@
|
||||||
%define %PYTHON% 1
|
%define %PYTHON% 1
|
||||||
%define VBOXDOCDIR %{_defaultdocdir}/%NAME%
|
%define VBOXDOCDIR %{_defaultdocdir}/%NAME%
|
||||||
%global __requires_exclude_from ^/usr/lib/virtualbox/VBoxPython.*$
|
%global __requires_exclude_from ^/usr/lib/virtualbox/VBoxPython.*$|^/usr/lib/python.*$|^.*\\.py$
|
||||||
-%{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
|
-%{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
|
||||||
+%{!?python_sitelib: %define python_sitelib python3 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
|
+%{!?python_sitelib: %define python_sitelib python3 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
|
||||||
|
|
||||||
@ -74,10 +74,10 @@ Index: VirtualBox-6.1.14/src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec
|
|||||||
%endif
|
%endif
|
||||||
rm -rf sdk/installer
|
rm -rf sdk/installer
|
||||||
mv nls $RPM_BUILD_ROOT/usr/share/virtualbox
|
mv nls $RPM_BUILD_ROOT/usr/share/virtualbox
|
||||||
Index: VirtualBox-6.1.14/src/libs/libxml2-2.9.4/libxml.spec.in
|
Index: VirtualBox-6.1.20/src/libs/libxml2-2.9.4/libxml.spec.in
|
||||||
===================================================================
|
===================================================================
|
||||||
--- VirtualBox-6.1.14.orig/src/libs/libxml2-2.9.4/libxml.spec.in
|
--- VirtualBox-6.1.20.orig/src/libs/libxml2-2.9.4/libxml.spec.in
|
||||||
+++ VirtualBox-6.1.14/src/libs/libxml2-2.9.4/libxml.spec.in
|
+++ VirtualBox-6.1.20/src/libs/libxml2-2.9.4/libxml.spec.in
|
||||||
@@ -101,11 +101,11 @@ rm -fr %{buildroot}
|
@@ -101,11 +101,11 @@ rm -fr %{buildroot}
|
||||||
|
|
||||||
make install DESTDIR=%{buildroot}
|
make install DESTDIR=%{buildroot}
|
||||||
@ -93,10 +93,10 @@ Index: VirtualBox-6.1.14/src/libs/libxml2-2.9.4/libxml.spec.in
|
|||||||
|
|
||||||
|
|
||||||
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
|
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
|
||||||
Index: VirtualBox-6.1.14/src/libs/libxml2-2.9.4/libxml2.spec
|
Index: VirtualBox-6.1.20/src/libs/libxml2-2.9.4/libxml2.spec
|
||||||
===================================================================
|
===================================================================
|
||||||
--- VirtualBox-6.1.14.orig/src/libs/libxml2-2.9.4/libxml2.spec
|
--- VirtualBox-6.1.20.orig/src/libs/libxml2-2.9.4/libxml2.spec
|
||||||
+++ VirtualBox-6.1.14/src/libs/libxml2-2.9.4/libxml2.spec
|
+++ VirtualBox-6.1.20/src/libs/libxml2-2.9.4/libxml2.spec
|
||||||
@@ -103,7 +103,7 @@ make install DESTDIR=%{buildroot}
|
@@ -103,7 +103,7 @@ make install DESTDIR=%{buildroot}
|
||||||
|
|
||||||
%if 0%{?with_python3}
|
%if 0%{?with_python3}
|
||||||
@ -106,10 +106,10 @@ Index: VirtualBox-6.1.14/src/libs/libxml2-2.9.4/libxml2.spec
|
|||||||
make install DESTDIR=%{buildroot}
|
make install DESTDIR=%{buildroot}
|
||||||
%endif # with_python3
|
%endif # with_python3
|
||||||
|
|
||||||
Index: VirtualBox-6.1.14/src/libs/xpcom18a4/python/src/ErrorUtils.cpp
|
Index: VirtualBox-6.1.20/src/libs/xpcom18a4/python/src/ErrorUtils.cpp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- VirtualBox-6.1.14.orig/src/libs/xpcom18a4/python/src/ErrorUtils.cpp
|
--- VirtualBox-6.1.20.orig/src/libs/xpcom18a4/python/src/ErrorUtils.cpp
|
||||||
+++ VirtualBox-6.1.14/src/libs/xpcom18a4/python/src/ErrorUtils.cpp
|
+++ VirtualBox-6.1.20/src/libs/xpcom18a4/python/src/ErrorUtils.cpp
|
||||||
@@ -439,6 +439,8 @@ char *PyTraceback_AsString(PyObject *exc
|
@@ -439,6 +439,8 @@ char *PyTraceback_AsString(PyObject *exc
|
||||||
{ // a temp scope so I can use temp locals.
|
{ // a temp scope so I can use temp locals.
|
||||||
#if PY_MAJOR_VERSION <= 2
|
#if PY_MAJOR_VERSION <= 2
|
||||||
@ -119,10 +119,10 @@ Index: VirtualBox-6.1.14/src/libs/xpcom18a4/python/src/ErrorUtils.cpp
|
|||||||
#else
|
#else
|
||||||
/* PyUnicode_AsUTF8() is const char * as of Python 3.7, char * earlier. */
|
/* PyUnicode_AsUTF8() is const char * as of Python 3.7, char * earlier. */
|
||||||
const char *tempResult = (const char *)PyUnicode_AsUTF8(obResult);
|
const char *tempResult = (const char *)PyUnicode_AsUTF8(obResult);
|
||||||
Index: VirtualBox-6.1.14/src/libs/xpcom18a4/python/src/PyGBase.cpp
|
Index: VirtualBox-6.1.20/src/libs/xpcom18a4/python/src/PyGBase.cpp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- VirtualBox-6.1.14.orig/src/libs/xpcom18a4/python/src/PyGBase.cpp
|
--- VirtualBox-6.1.20.orig/src/libs/xpcom18a4/python/src/PyGBase.cpp
|
||||||
+++ VirtualBox-6.1.14/src/libs/xpcom18a4/python/src/PyGBase.cpp
|
+++ VirtualBox-6.1.20/src/libs/xpcom18a4/python/src/PyGBase.cpp
|
||||||
@@ -183,7 +183,11 @@ PyG_Base::~PyG_Base()
|
@@ -183,7 +183,11 @@ PyG_Base::~PyG_Base()
|
||||||
// Get the correct interface pointer for this object given the IID.
|
// Get the correct interface pointer for this object given the IID.
|
||||||
void *PyG_Base::ThisAsIID( const nsIID &iid )
|
void *PyG_Base::ThisAsIID( const nsIID &iid )
|
||||||
@ -136,11 +136,11 @@ Index: VirtualBox-6.1.14/src/libs/xpcom18a4/python/src/PyGBase.cpp
|
|||||||
if (iid.Equals(NS_GET_IID(nsISupports)))
|
if (iid.Equals(NS_GET_IID(nsISupports)))
|
||||||
return (nsISupports *)(nsIInternalPython *)this;
|
return (nsISupports *)(nsIInternalPython *)this;
|
||||||
if (iid.Equals(NS_GET_IID(nsISupportsWeakReference)))
|
if (iid.Equals(NS_GET_IID(nsISupportsWeakReference)))
|
||||||
Index: VirtualBox-6.1.14/src/libs/xpcom18a4/python/Makefile.kmk
|
Index: VirtualBox-6.1.20/src/libs/xpcom18a4/python/Makefile.kmk
|
||||||
===================================================================
|
===================================================================
|
||||||
--- VirtualBox-6.1.14.orig/src/libs/xpcom18a4/python/Makefile.kmk
|
--- VirtualBox-6.1.20.orig/src/libs/xpcom18a4/python/Makefile.kmk
|
||||||
+++ VirtualBox-6.1.14/src/libs/xpcom18a4/python/Makefile.kmk
|
+++ VirtualBox-6.1.20/src/libs/xpcom18a4/python/Makefile.kmk
|
||||||
@@ -533,6 +533,52 @@ VBoxPython3_8m_x86_LIBS = $(VBOX_P
|
@@ -579,6 +579,52 @@ VBoxPython3_9m_x86_LIBS = $(VBOX_P
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@ -193,16 +193,16 @@ Index: VirtualBox-6.1.14/src/libs/xpcom18a4/python/Makefile.kmk
|
|||||||
ifdef VBOX_PYTHONDEF_INC
|
ifdef VBOX_PYTHONDEF_INC
|
||||||
#
|
#
|
||||||
# Python without versioning
|
# Python without versioning
|
||||||
Index: VirtualBox-6.1.14/src/libs/xpcom18a4/python/gen_python_deps.py
|
Index: VirtualBox-6.1.20/src/libs/xpcom18a4/python/gen_python_deps.py
|
||||||
===================================================================
|
===================================================================
|
||||||
--- VirtualBox-6.1.14.orig/src/libs/xpcom18a4/python/gen_python_deps.py
|
--- VirtualBox-6.1.20.orig/src/libs/xpcom18a4/python/gen_python_deps.py
|
||||||
+++ VirtualBox-6.1.14/src/libs/xpcom18a4/python/gen_python_deps.py
|
+++ VirtualBox-6.1.20/src/libs/xpcom18a4/python/gen_python_deps.py
|
||||||
@@ -16,7 +16,7 @@ from __future__ import print_function
|
@@ -16,7 +16,7 @@ from __future__ import print_function
|
||||||
import os,sys
|
import os,sys
|
||||||
from distutils.version import StrictVersion
|
from distutils.version import StrictVersion
|
||||||
|
|
||||||
-versions = ["2.6", "2.7", "3.1", "3.2", "3.2m", "3.3", "3.3m", "3.4", "3.4m", "3.5", "3.5m", "3.6", "3.6m", "3.7", "3.7m", "3.8", "3.8m" ]
|
-versions = ["2.6", "2.7", "3.1", "3.2", "3.2m", "3.3", "3.3m", "3.4", "3.4m", "3.5", "3.5m", "3.6", "3.6m", "3.7", "3.7m", "3.8", "3.8m", "3.9", "3.9m" ]
|
||||||
+versions = ["2.6", "2.7", "3.1", "3.2", "3.2m", "3.3", "3.3m", "3.4", "3.4m", "3.5", "3.5m", "3.6", "3.6m", "3.7", "3.7m", "3.8", "3.8m", "3.8", "3.8m" ]
|
+versions = ["2.6", "2.7", "3.1", "3.2", "3.2m", "3.3", "3.3m", "3.4", "3.4m", "3.5", "3.5m", "3.6", "3.6m", "3.7", "3.7m", "3.8", "3.8m", "3.8", "3.8m", "3.9", "3.9m" ]
|
||||||
prefixes = ["/usr", "/usr/local", "/opt", "/opt/local"]
|
prefixes = ["/usr", "/usr/local", "/opt", "/opt/local"]
|
||||||
known = {}
|
known = {}
|
||||||
|
|
||||||
|
20
vboxautostart-service.service
Normal file
20
vboxautostart-service.service
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
[Unit]
|
||||||
|
SourcePath=/usr/lib/virtualbox/vboxautostart-service.sh
|
||||||
|
Description=
|
||||||
|
Before=runlevel2.target runlevel3.target runlevel4.target runlevel5.target shutdown.target
|
||||||
|
After=vboxdrv.service
|
||||||
|
Conflicts=shutdown.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=forking
|
||||||
|
Restart=no
|
||||||
|
TimeoutSec=5min
|
||||||
|
IgnoreSIGPIPE=no
|
||||||
|
KillMode=process
|
||||||
|
GuessMainPID=no
|
||||||
|
RemainAfterExit=yes
|
||||||
|
ExecStart=/usr/lib/virtualbox/vboxautostart-service.sh start
|
||||||
|
ExecStop=/usr/lib/virtualbox/vboxautostart-service.sh stop
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
174
vboxautostart-service.sh
Normal file
174
vboxautostart-service.sh
Normal file
@ -0,0 +1,174 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# $Id: vboxautostart-service.sh 143795 2021-04-15 11:42:37Z vgalitsy $
|
||||||
|
## @file
|
||||||
|
# VirtualBox autostart service init script.
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# Copyright (C) 2012-2020 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.
|
||||||
|
#
|
||||||
|
|
||||||
|
# chkconfig: 345 35 65
|
||||||
|
# description: VirtualBox autostart service
|
||||||
|
#
|
||||||
|
### BEGIN INIT INFO
|
||||||
|
# Provides: vboxautostart-service
|
||||||
|
# Required-Start: vboxdrv
|
||||||
|
# Required-Stop: vboxdrv
|
||||||
|
# Default-Start: 2 3 4 5
|
||||||
|
# Default-Stop: 0 1 6
|
||||||
|
# Description: VirtualBox autostart service
|
||||||
|
### END INIT INFO
|
||||||
|
|
||||||
|
PATH=$PATH:/bin:/sbin:/usr/sbin
|
||||||
|
SCRIPTNAME=vboxautostart-service.sh
|
||||||
|
|
||||||
|
[ -f /etc/debian_release -a -f /lib/lsb/init-functions ] || NOLSB=yes
|
||||||
|
[ -f /etc/vbox/vbox.cfg ] && . /etc/vbox/vbox.cfg
|
||||||
|
|
||||||
|
if [ -n "$INSTALL_DIR" ]; then
|
||||||
|
binary="$INSTALL_DIR/VBoxAutostart"
|
||||||
|
else
|
||||||
|
binary="/usr/lib/virtualbox/VBoxAutostart"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# silently exit if the package was uninstalled but not purged,
|
||||||
|
# applies to Debian packages only (but shouldn't hurt elsewhere)
|
||||||
|
[ ! -f /etc/debian_release -o -x $binary ] || exit 0
|
||||||
|
|
||||||
|
[ -r /etc/default/virtualbox ] && . /etc/default/virtualbox
|
||||||
|
|
||||||
|
# Preamble for Gentoo
|
||||||
|
if [ "`which $0`" = "/sbin/rc" ]; then
|
||||||
|
shift
|
||||||
|
fi
|
||||||
|
|
||||||
|
begin_msg()
|
||||||
|
{
|
||||||
|
test -n "${2}" && echo "${SCRIPTNAME}: ${1}."
|
||||||
|
logger -t "${SCRIPTNAME}" "${1}."
|
||||||
|
}
|
||||||
|
|
||||||
|
succ_msg()
|
||||||
|
{
|
||||||
|
logger -t "${SCRIPTNAME}" "${1}."
|
||||||
|
}
|
||||||
|
|
||||||
|
fail_msg()
|
||||||
|
{
|
||||||
|
echo "${SCRIPTNAME}: failed: ${1}." >&2
|
||||||
|
logger -t "${SCRIPTNAME}" "failed: ${1}."
|
||||||
|
}
|
||||||
|
|
||||||
|
start_daemon() {
|
||||||
|
usr="$1"
|
||||||
|
shift
|
||||||
|
su - $usr -c "$*"
|
||||||
|
}
|
||||||
|
|
||||||
|
if which start-stop-daemon >/dev/null 2>&1; then
|
||||||
|
start_daemon() {
|
||||||
|
usr="$1"
|
||||||
|
shift
|
||||||
|
bin="$1"
|
||||||
|
shift
|
||||||
|
start-stop-daemon --chuid $usr --start --exec $bin -- $@
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
|
||||||
|
vboxdrvrunning() {
|
||||||
|
lsmod | grep -q "vboxdrv[^_-]"
|
||||||
|
}
|
||||||
|
|
||||||
|
valid_db_entry() {
|
||||||
|
|
||||||
|
entry="$1"
|
||||||
|
[ -z "$entry" ] && return 1
|
||||||
|
|
||||||
|
user="$2"
|
||||||
|
[ -z "$user" ] && return 1
|
||||||
|
|
||||||
|
user_name=$(id -n -u "$user" 2>/dev/null)
|
||||||
|
[ -z "$user_name" ] && return 1
|
||||||
|
|
||||||
|
user_id=$(id -u "$user" 2>/dev/null)
|
||||||
|
|
||||||
|
# Verify that @user identifies a user *by name* (i.e. not a numeric id).
|
||||||
|
# Careful, all numeric user names are legal.
|
||||||
|
if [ "$user_id" = "$user" ] && [ "$user_name" != "$user" ]; then
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Verify whether file name is the same as file owner name.
|
||||||
|
[ -z "$(find "$entry" -user "$user" -type f 2>/dev/null)" ] && return 1
|
||||||
|
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
start() {
|
||||||
|
[ -z "$VBOXAUTOSTART_DB" ] && exit 0
|
||||||
|
[ -z "$VBOXAUTOSTART_CONFIG" ] && exit 0
|
||||||
|
begin_msg "Starting VirtualBox VMs configured for autostart" console;
|
||||||
|
vboxdrvrunning || {
|
||||||
|
fail_msg "VirtualBox kernel module not loaded!"
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
PARAMS="--background --start --config $VBOXAUTOSTART_CONFIG"
|
||||||
|
|
||||||
|
# prevent inheriting this setting to VBoxSVC
|
||||||
|
unset VBOX_RELEASE_LOG_DEST
|
||||||
|
|
||||||
|
for entry in "$VBOXAUTOSTART_DB"/*.start
|
||||||
|
do
|
||||||
|
user=$(basename "$entry" .start)
|
||||||
|
[ "$user" = "*" ] && break
|
||||||
|
valid_db_entry "$entry" "$user" || continue
|
||||||
|
|
||||||
|
start_daemon "$user" "$binary" $PARAMS > /dev/null 2>&1
|
||||||
|
done
|
||||||
|
|
||||||
|
return $RETVAL
|
||||||
|
}
|
||||||
|
|
||||||
|
stop() {
|
||||||
|
[ -z "$VBOXAUTOSTART_DB" ] && exit 0
|
||||||
|
[ -z "$VBOXAUTOSTART_CONFIG" ] && exit 0
|
||||||
|
|
||||||
|
PARAMS="--stop --config $VBOXAUTOSTART_CONFIG"
|
||||||
|
|
||||||
|
# prevent inheriting this setting to VBoxSVC
|
||||||
|
unset VBOX_RELEASE_LOG_DEST
|
||||||
|
|
||||||
|
for entry in "$VBOXAUTOSTART_DB"/*.stop
|
||||||
|
do
|
||||||
|
user=$(basename "$entry" .stop)
|
||||||
|
[ "$user" = "*" ] && break
|
||||||
|
valid_db_entry "$entry" "$user" || continue
|
||||||
|
|
||||||
|
start_daemon "$user" "$binary" $PARAMS > /dev/null 2>&1
|
||||||
|
done
|
||||||
|
|
||||||
|
return $RETVAL
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
start)
|
||||||
|
start
|
||||||
|
;;
|
||||||
|
stop)
|
||||||
|
stop
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Usage: $0 {start|stop}"
|
||||||
|
exit 1
|
||||||
|
esac
|
||||||
|
|
||||||
|
exit $RETVAL
|
@ -1,18 +0,0 @@
|
|||||||
[Unit]
|
|
||||||
SourcePath=/usr/lib/virtualbox/vboxautostart.sh
|
|
||||||
Description=VirtualBox Linux autostart module
|
|
||||||
Requires=vboxdrv.service
|
|
||||||
After=vboxdrv.service
|
|
||||||
After=network.target
|
|
||||||
After=time-sync.target
|
|
||||||
After=nss-user-lookup.target
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
ExecStart=/usr/lib/virtualbox/vboxautostart.sh start
|
|
||||||
ExecStop=/usr/lib/virtualbox/vboxautostart.sh stop
|
|
||||||
Type=oneshot
|
|
||||||
RemainAfterExit=yes
|
|
||||||
TimeoutStopSec=0
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
126
vboxautostart.sh
126
vboxautostart.sh
@ -1,126 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
# VirtualBox autostart service init script.
|
|
||||||
|
|
||||||
#
|
|
||||||
# Copyright (C) 2012-2019 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.
|
|
||||||
#
|
|
||||||
|
|
||||||
# chkconfig: 345 35 65
|
|
||||||
# description: VirtualBox autostart service
|
|
||||||
#
|
|
||||||
### BEGIN INIT INFO
|
|
||||||
# Provides: vboxautostart-service
|
|
||||||
# Required-Start: vboxdrv
|
|
||||||
# Required-Stop: vboxdrv
|
|
||||||
# Default-Start: 2 3 4 5
|
|
||||||
# Default-Stop: 0 1 6
|
|
||||||
# Description: VirtualBox autostart service
|
|
||||||
### END INIT INFO
|
|
||||||
|
|
||||||
PATH=/sbin:/bin:/usr/sbin:/usr/bin:$PATH
|
|
||||||
SCRIPTNAME=vboxautostart.sh
|
|
||||||
|
|
||||||
# read vbox config
|
|
||||||
[ -f /etc/vbox/vbox.cfg ] && . /etc/vbox/vbox.cfg
|
|
||||||
|
|
||||||
# read autostart config
|
|
||||||
[ -r /etc/default/virtualbox ] && . /etc/default/virtualbox
|
|
||||||
|
|
||||||
begin_msg()
|
|
||||||
{
|
|
||||||
test -n "${2}" && echo "${SCRIPTNAME}: ${1}."
|
|
||||||
logger -t "${SCRIPTNAME}" "${1}."
|
|
||||||
}
|
|
||||||
|
|
||||||
succ_msg()
|
|
||||||
{
|
|
||||||
logger -t "${SCRIPTNAME}" "${1}."
|
|
||||||
}
|
|
||||||
|
|
||||||
fail_msg()
|
|
||||||
{
|
|
||||||
echo "${SCRIPTNAME}: failed: ${1}." >&2
|
|
||||||
logger -t "${SCRIPTNAME}" "failed: ${1}."
|
|
||||||
}
|
|
||||||
|
|
||||||
vboxdrvrunning() {
|
|
||||||
lsmod | grep -q "vboxdrv[^_-]"
|
|
||||||
}
|
|
||||||
|
|
||||||
start_vms()
|
|
||||||
{
|
|
||||||
OLD_IFS=$IFS
|
|
||||||
IFS=$'\n'
|
|
||||||
[ -z "$VBOXAUTOSTART_DB" ] && return
|
|
||||||
[ -z "$VBOXAUTOSTART_CONFIG" ] && return
|
|
||||||
begin_msg "Starting VirtualBox VMs configured for autostart" console;
|
|
||||||
vboxdrvrunning || {
|
|
||||||
fail_msg "VirtualBox kernel module not loaded!"
|
|
||||||
exit 0
|
|
||||||
}
|
|
||||||
# read autostart config file
|
|
||||||
if [ -r $VBOXAUTOSTART_CONFIG ]; then
|
|
||||||
# prevent inheriting this setting to VBoxSVC
|
|
||||||
unset VBOX_RELEASE_LOG_DEST
|
|
||||||
# find all the files of type username.start
|
|
||||||
var=$(ls $VBOXAUTOSTART_DB | grep start | grep -v auto)
|
|
||||||
# process each file of that type
|
|
||||||
for i in $var; do
|
|
||||||
# Extract the user name - the first word on the line
|
|
||||||
user=$(echo $i | head -n1 | cut -d "." -f1)
|
|
||||||
# autostart the VMs for that user
|
|
||||||
begin_msg "Starting VMs for user $user" console
|
|
||||||
su - $user -c "/usr/lib/virtualbox/VBoxAutostart --start --config $VBOXAUTOSTART_CONFIG"
|
|
||||||
succ_msg "VMs for user $user started"
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
IFS=$OLD_IFS
|
|
||||||
}
|
|
||||||
|
|
||||||
stop_vms()
|
|
||||||
{
|
|
||||||
OLD_IFS=$IFS
|
|
||||||
IFS=$'\n'
|
|
||||||
[ -z "$VBOXAUTOSTART_DB" ] && return
|
|
||||||
[ -z "$VBOXAUTOSTART_CONFIG" ] && return
|
|
||||||
# read autostart config file
|
|
||||||
if [ -r $VBOXAUTOSTART_CONFIG ]; then
|
|
||||||
# prevent inheriting this setting to VBoxSVC
|
|
||||||
unset VBOX_RELEASE_LOG_DEST
|
|
||||||
# find all the files of type username.stop
|
|
||||||
var=$(ls $VBOXAUTOSTART_DB | grep stop | grep -v auto)
|
|
||||||
# process each file of that type
|
|
||||||
for i in $var; do
|
|
||||||
# Extract the user name - the first word on the line
|
|
||||||
user=$(echo $i | head -n1 | cut -d "." -f1)
|
|
||||||
# autostop the VMs for that user
|
|
||||||
begin_msg "Stopping VMs for user $user" console
|
|
||||||
su - $user -c "/usr/lib/virtualbox/VBoxAutostart --stop --config $VBOXAUTOSTART_CONFIG"
|
|
||||||
succ_msg "VMs for user $user stopped"
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
IFS=$OLD_IFS
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
case "$1" in
|
|
||||||
start)
|
|
||||||
start_vms
|
|
||||||
;;
|
|
||||||
stop)
|
|
||||||
stop_vms
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "Usage: $0 {start|stop}"
|
|
||||||
exit 1
|
|
||||||
esac
|
|
||||||
|
|
||||||
exit 0
|
|
@ -1,3 +1,47 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Apr 20 19:27:40 UTC 2021 - Larry Finger <Larry.Finger@gmail.com>
|
||||||
|
|
||||||
|
- Version bump to (released April 20 2021 by Oracle)
|
||||||
|
|
||||||
|
This is a maintenance release. The following items were fixed and/or added:
|
||||||
|
|
||||||
|
VMM: Fixed extremely poor VM performance depending on the timing of various actions (regression in 6.1.0)
|
||||||
|
VMM: Fixed guest OS hanging under certain circumstances when Hyper-V is present (bug #20141)
|
||||||
|
VMM: Fixed Guru Meditation error when using a nested hypervisor under certain circumstances (bug #20175)
|
||||||
|
VMM: Fixed a SMAP related host panic affecting Solaris 11.4 systems with Intel Haswell CPUs or later (bug #16068)
|
||||||
|
OCI: Add cloud-init support for export to OCI and for OCI instance creation
|
||||||
|
GUI: Fixed "Delete all files" leaving behind Logs/VBoxUI.log (bug #20235)
|
||||||
|
Audio: Multiple fixes and enhancements
|
||||||
|
Audio: Fixed detection of duplex audio devices on macOS (5.0 regression; bug #20171)
|
||||||
|
Network: Fixed link status reporting for "not attached" adapters
|
||||||
|
Network: Fixed connectivity issues with e1000 in OS/2 guests (6.1.18 regression; bug #20148)
|
||||||
|
Network: Fixed VxWorks e1000 driver compatibility issue (bug #20182)
|
||||||
|
Network: Fixed GUI checks for port forwarding rules rejecting IPv6 with "Nat Network" (bug #14847)
|
||||||
|
DHCP: Don't crash in the presence of fixed address assignments (bug #20128)
|
||||||
|
Serial: Fixed possible VM hang when using the a serial port in disconnected mode (bug #19854)
|
||||||
|
Webcam: Fixed interoperability with v4l2loopback and fixed a crash under certain circumstances (bug #20176)
|
||||||
|
NVMe: Fixed sporadic Windows VM hang or reboot on high CPU load
|
||||||
|
VBoxManage: Allow changing network adapter attachment of a saved VM with "modifyvm"
|
||||||
|
vboximg-mount: Fix for argument processing to honor the '--root' option (6.0 regression; bug #20073)
|
||||||
|
Linux host and guest: Support kernel versions 5.11 (bug #20198) and 5.12
|
||||||
|
Linux host: Maximum MTU size increased to 16110 for host-only adapters on Linux kernels 4.10+ (bug #19122)
|
||||||
|
Linux Guest Additions: Fix vboxvideo module compilation for kernel version 5.10.x
|
||||||
|
Linux Guest Additions: Fixed kernel module build for RHEL 8.4 beta and CentOS Stream (bug #20289)
|
||||||
|
|
||||||
|
File "fixes-for-5.11.patch" is deleted. The issue is fixed upstream.
|
||||||
|
File "vboxautostart.sh" is replaced by "vboxautostart-service.sh"
|
||||||
|
File "vboxautostart.service" is replaced by "vboxautostart-service.service"
|
||||||
|
Fixes boo#1183329 "virtualbox 6.1.18 crashes when it runs nested VM"
|
||||||
|
Fixes boo#1183125 "Leap 15.3 installation in Virtualbox without VBox integration"
|
||||||
|
Fixes CVE-2021-2264 and boo#1184542. The directory for the <user>.start files for
|
||||||
|
autostarting VMs is moved from /etc/vbox to /etc/vbox/autostart.d. In addition, the autostart
|
||||||
|
service is hardened (by Oracle).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Apr 7 16:21:58 UTC 2021 - Larry Finger <Larry.Finger@gmail.com>
|
||||||
|
|
||||||
|
- Improve autostart security boo#1182918.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Apr 1 09:43:50 UTC 2021 - Richard Brown <rbrown@suse.com>
|
Thu Apr 1 09:43:50 UTC 2021 - Richard Brown <rbrown@suse.com>
|
||||||
|
|
||||||
|
227
virtualbox.spec
227
virtualbox.spec
@ -16,17 +16,6 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
#create a variable that indicates we are building for Leap 15.{2,3}. These versions
|
|
||||||
#need to have the guest modules build. Tumbleweed does not.
|
|
||||||
#
|
|
||||||
%define for_leap 0
|
|
||||||
%if 0%{?sle_version == 150200}
|
|
||||||
%define for_leap 1
|
|
||||||
%endif
|
|
||||||
%if 0%{?sle_version == 150300}
|
|
||||||
%define for_leap 1
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if "@BUILD_FLAVOR@" == "kmp"
|
%if "@BUILD_FLAVOR@" == "kmp"
|
||||||
### macros for virtualbox-kmp ###
|
### macros for virtualbox-kmp ###
|
||||||
%define main_package 0
|
%define main_package 0
|
||||||
@ -77,7 +66,7 @@ python3 -O -c "import sys, os, compileall; br='%{buildroot}'; compileall.compile
|
|||||||
|
|
||||||
# ********* If the VB version exceeds 6.1.x, notify the libvirt maintainer!!
|
# ********* If the VB version exceeds 6.1.x, notify the libvirt maintainer!!
|
||||||
Name: virtualbox%{?dash}%{?name_suffix}
|
Name: virtualbox%{?dash}%{?name_suffix}
|
||||||
Version: 6.1.18
|
Version: 6.1.20
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: %{package_summary}
|
Summary: %{package_summary}
|
||||||
License: GPL-2.0-or-later
|
License: GPL-2.0-or-later
|
||||||
@ -95,11 +84,7 @@ Source2: VirtualBox.appdata.xml
|
|||||||
%endif
|
%endif
|
||||||
Source3: virtualbox-60-vboxguest.rules
|
Source3: virtualbox-60-vboxguest.rules
|
||||||
Source4: virtualbox-default.virtualbox
|
Source4: virtualbox-default.virtualbox
|
||||||
%if %{for_leap}
|
|
||||||
Source5: virtualbox-kmp-files-leap
|
Source5: virtualbox-kmp-files-leap
|
||||||
%else
|
|
||||||
Source5: virtualbox-kmp-files
|
|
||||||
%endif
|
|
||||||
Source7: virtualbox-kmp-preamble
|
Source7: virtualbox-kmp-preamble
|
||||||
Source8: update-extpack.sh
|
Source8: update-extpack.sh
|
||||||
Source9: virtualbox-wrapper.sh
|
Source9: virtualbox-wrapper.sh
|
||||||
@ -108,16 +93,14 @@ Source11: virtualbox-60-vboxdrv.rules
|
|||||||
Source14: vboxdrv.service
|
Source14: vboxdrv.service
|
||||||
Source15: vboxadd-service.service
|
Source15: vboxadd-service.service
|
||||||
Source16: vboxconfig.sh
|
Source16: vboxconfig.sh
|
||||||
%if %{for_leap}
|
|
||||||
Source17: vboxguestconfig.sh
|
Source17: vboxguestconfig.sh
|
||||||
%endif
|
|
||||||
Source18: fix_usb_rules.sh
|
Source18: fix_usb_rules.sh
|
||||||
Source19: vboxdrv.sh
|
Source19: vboxdrv.sh
|
||||||
Source20: README.autostart
|
Source20: README.autostart
|
||||||
Source21: vboxweb-service.service
|
Source21: vboxweb-service.service
|
||||||
Source22: vboxweb-service.sh
|
Source22: vboxweb-service.sh
|
||||||
Source23: vboxautostart.service
|
Source23: vboxautostart-service.service
|
||||||
Source24: vboxautostart.sh
|
Source24: vboxautostart-service.sh
|
||||||
Source97: README.build
|
Source97: README.build
|
||||||
Source98: virtualbox-rpmlintrc
|
Source98: virtualbox-rpmlintrc
|
||||||
Source99: virtualbox-patch-source.sh
|
Source99: virtualbox-patch-source.sh
|
||||||
@ -196,7 +179,6 @@ Patch135: fix-missing-includes-with-qt-5.15.patch
|
|||||||
Patch136: fixes_for_gcc10.patch
|
Patch136: fixes_for_gcc10.patch
|
||||||
# Fix for changes in GSOAP 2.8.103
|
# Fix for changes in GSOAP 2.8.103
|
||||||
Patch137: handle_gsoap_208103.patch
|
Patch137: handle_gsoap_208103.patch
|
||||||
Patch138: fixes-for-5.11.patch
|
|
||||||
# Fix for struct file_operations backport in 15.3
|
# Fix for struct file_operations backport in 15.3
|
||||||
Patch139: fixes_for_leap15.3.patch
|
Patch139: fixes_for_leap15.3.patch
|
||||||
Patch141: vb-6.1.16-modal-dialog-parent.patch
|
Patch141: vb-6.1.16-modal-dialog-parent.patch
|
||||||
@ -326,6 +308,22 @@ and others, and limited virtualization of macOS guests on Apple
|
|||||||
hardware. VirtualBox is freely available as Open Source Software under
|
hardware. VirtualBox is freely available as Open Source Software under
|
||||||
the terms of the GNU Public License (GPL).
|
the terms of the GNU Public License (GPL).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
##########################################
|
##########################################
|
||||||
%package qt
|
%package qt
|
||||||
Summary: Qt GUI part for %{name}
|
Summary: Qt GUI part for %{name}
|
||||||
@ -343,6 +341,22 @@ Obsoletes: %{name}-ose-qt < %{version}
|
|||||||
%description qt
|
%description qt
|
||||||
This package contains the code for the GUI used to control VMs.
|
This package contains the code for the GUI used to control VMs.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#########################################
|
#########################################
|
||||||
%package websrv
|
%package websrv
|
||||||
Summary: WebService GUI part for %{name}
|
Summary: WebService GUI part for %{name}
|
||||||
@ -354,12 +368,28 @@ Obsoletes: %{name}-vboxwebsrv
|
|||||||
%description websrv
|
%description websrv
|
||||||
The VirtualBox web server is used to control headless VMs using a browser.
|
The VirtualBox web server is used to control headless VMs using a browser.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#########################################
|
#########################################
|
||||||
%package guest-x11
|
%package guest-x11
|
||||||
Summary: VirtualBox X11 drivers for mouse and video
|
Summary: VirtualBox X11 drivers for mouse and video
|
||||||
Group: System/X11/Servers/XF86_4
|
Group: System/X11/Servers/XF86_4
|
||||||
Requires: %{name}-kmp = %{version}
|
Requires: %{name}-kmp = %{version}
|
||||||
Supplements: modalias(xorg-x11-server:pci:v000080EEd0000BEEFsv*sd*bc*sc*i*)
|
Supplements: modalias(xorg-x11-server:pci:v000080EEd0000CAFEsv*sd*bc*sc*i*)
|
||||||
#rename from xorg-x11-driver-virtualbox-ose:
|
#rename from xorg-x11-driver-virtualbox-ose:
|
||||||
Provides: xorg-x11-driver-virtualbox-ose = %{version}
|
Provides: xorg-x11-driver-virtualbox-ose = %{version}
|
||||||
Obsoletes: xorg-x11-driver-virtualbox-ose < %{version}
|
Obsoletes: xorg-x11-driver-virtualbox-ose < %{version}
|
||||||
@ -367,12 +397,28 @@ Obsoletes: xorg-x11-driver-virtualbox-ose < %{version}
|
|||||||
%description guest-x11
|
%description guest-x11
|
||||||
This package contains X11 guest utilities and X11 guest mouse and video drivers
|
This package contains X11 guest utilities and X11 guest mouse and video drivers
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###########################################
|
###########################################
|
||||||
%package guest-tools
|
%package guest-tools
|
||||||
Summary: VirtualBox guest tools
|
Summary: VirtualBox guest tools
|
||||||
Group: System/Emulators/PC
|
Group: System/Emulators/PC
|
||||||
Requires: %{name}-kmp = %{version}
|
Requires: %{name}-kmp = %{version}
|
||||||
Supplements: modalias(pci:v000080EEd0000BEEFsv*sd*bc*sc*i*)
|
Supplements: modalias(pci:v000080EEd0000CAFEsv*sd*bc*sc*i*)
|
||||||
#rename from "ose" version:
|
#rename from "ose" version:
|
||||||
Provides: %{name}-ose-guest-tools = %{version}
|
Provides: %{name}-ose-guest-tools = %{version}
|
||||||
Obsoletes: %{name}-ose-guest-tools < %{version}
|
Obsoletes: %{name}-ose-guest-tools < %{version}
|
||||||
@ -383,6 +429,22 @@ Requires(pre): net-tools-deprecated
|
|||||||
%description guest-tools
|
%description guest-tools
|
||||||
VirtualBox guest addition tools.
|
VirtualBox guest addition tools.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###########################################
|
###########################################
|
||||||
%package -n python3-%{name}
|
%package -n python3-%{name}
|
||||||
Summary: Python bindings for %{name}
|
Summary: Python bindings for %{name}
|
||||||
@ -401,6 +463,22 @@ Obsoletes: python3-%{name}-ose < %{version}
|
|||||||
%description -n python3-%{name}
|
%description -n python3-%{name}
|
||||||
Python XPCOM bindings to %{name}. Used e.g. by vboxgtk package.
|
Python XPCOM bindings to %{name}. Used e.g. by vboxgtk package.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###########################################
|
###########################################
|
||||||
%package devel
|
%package devel
|
||||||
Summary: Devel files for %{name}
|
Summary: Devel files for %{name}
|
||||||
@ -414,6 +492,22 @@ Obsoletes: %{name}-ose-devel < %{version}
|
|||||||
%description devel
|
%description devel
|
||||||
Development file for %{name}
|
Development file for %{name}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###########################################
|
###########################################
|
||||||
%package host-source
|
%package host-source
|
||||||
Summary: Source files for %{name} host kernel modules
|
Summary: Source files for %{name} host kernel modules
|
||||||
@ -430,7 +524,6 @@ Source files for %{name} host kernel modules
|
|||||||
These can be built for custom kernels using
|
These can be built for custom kernels using
|
||||||
sudo /sbin/vboxconfig
|
sudo /sbin/vboxconfig
|
||||||
|
|
||||||
%if %{for_leap}
|
|
||||||
%package guest-source
|
%package guest-source
|
||||||
Summary: Source files for %{name} guest kernel modules
|
Summary: Source files for %{name} guest kernel modules
|
||||||
Group: Development/Sources
|
Group: Development/Sources
|
||||||
@ -444,7 +537,7 @@ BuildArch: noarch
|
|||||||
Source files for %{name} guest kernel modules
|
Source files for %{name} guest kernel modules
|
||||||
These can be built for custom kernels using
|
These can be built for custom kernels using
|
||||||
sudo /sbin/vboxguestconfig
|
sudo /sbin/vboxguestconfig
|
||||||
%endif
|
|
||||||
|
|
||||||
###########################################
|
###########################################
|
||||||
%package guest-desktop-icons
|
%package guest-desktop-icons
|
||||||
@ -457,6 +550,22 @@ BuildArch: noarch
|
|||||||
%description guest-desktop-icons
|
%description guest-desktop-icons
|
||||||
This package contains icons for guest desktop files that were created on the desktop.
|
This package contains icons for guest desktop files that were created on the desktop.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###########################################
|
###########################################
|
||||||
%package vnc
|
%package vnc
|
||||||
Summary: VNC desktop sharing
|
Summary: VNC desktop sharing
|
||||||
@ -524,7 +633,6 @@ This package contains the kernel-modules that VirtualBox uses to create or run v
|
|||||||
%patch135 -p1
|
%patch135 -p1
|
||||||
%patch136 -p1
|
%patch136 -p1
|
||||||
%patch137 -p1
|
%patch137 -p1
|
||||||
%patch138 -p1
|
|
||||||
%if 0%{?sle_version} == 150300 && 0%{?is_opensuse}
|
%if 0%{?sle_version} == 150300 && 0%{?is_opensuse}
|
||||||
# Patch for Leap 15.3
|
# Patch for Leap 15.3
|
||||||
%patch139 -p1
|
%patch139 -p1
|
||||||
@ -632,6 +740,7 @@ install -d -m 755 %{buildroot}%{_sysconfdir}/init.d
|
|||||||
install -d %{buildroot}%{_unitdir}
|
install -d %{buildroot}%{_unitdir}
|
||||||
install -d %{buildroot}%{_unitdir}/multi-user.target.wants
|
install -d %{buildroot}%{_unitdir}/multi-user.target.wants
|
||||||
install -d -m 755 %{buildroot}%{_sysconfdir}/vbox
|
install -d -m 755 %{buildroot}%{_sysconfdir}/vbox
|
||||||
|
install -d -m 755 %{buildroot}%{_sysconfdir}/vbox/autostart.d
|
||||||
install -d -m 755 %{buildroot}%{_udevrulesdir}
|
install -d -m 755 %{buildroot}%{_udevrulesdir}
|
||||||
install -d -m 755 %{buildroot}%{_sysconfdir}/X11/xinit/xinitrc.d
|
install -d -m 755 %{buildroot}%{_sysconfdir}/X11/xinit/xinitrc.d
|
||||||
|
|
||||||
@ -717,9 +826,7 @@ install -m 644 nls/* %{buildroot}%{_datadir}/virtualbox/nls/
|
|||||||
# install kmp src
|
# install kmp src
|
||||||
mkdir -p %{buildroot}%{_usrsrc}/kernel-modules/virtualbox
|
mkdir -p %{buildroot}%{_usrsrc}/kernel-modules/virtualbox
|
||||||
mkdir -p %{buildroot}%{_usrsrc}/kernel-modules/additions
|
mkdir -p %{buildroot}%{_usrsrc}/kernel-modules/additions
|
||||||
%if %{for_leap}
|
|
||||||
tar jcf %{buildroot}%{_usrsrc}/kernel-modules/additions/guest_src.tar.bz2 additions/src
|
tar jcf %{buildroot}%{_usrsrc}/kernel-modules/additions/guest_src.tar.bz2 additions/src
|
||||||
%endif
|
|
||||||
cp -a src %{buildroot}%{_usrsrc}/kernel-modules/virtualbox
|
cp -a src %{buildroot}%{_usrsrc}/kernel-modules/virtualbox
|
||||||
install -m 644 %{SOURCE11} %{buildroot}%{_udevrulesdir}/60-vboxdrv.rules
|
install -m 644 %{SOURCE11} %{buildroot}%{_udevrulesdir}/60-vboxdrv.rules
|
||||||
popd
|
popd
|
||||||
@ -746,23 +853,22 @@ install -m 0644 %{SOURCE14} %{buildroot}%{_unitdir}/vboxdrv.
|
|||||||
ln -s -f %{_sbindir}/service %{buildroot}%{_sbindir}/rcvboxdrv
|
ln -s -f %{_sbindir}/service %{buildroot}%{_sbindir}/rcvboxdrv
|
||||||
install -m 0644 %{SOURCE15} %{buildroot}%{_unitdir}/vboxadd-service.service
|
install -m 0644 %{SOURCE15} %{buildroot}%{_unitdir}/vboxadd-service.service
|
||||||
install -m 0755 %{SOURCE16} %{buildroot}/sbin/vboxconfig
|
install -m 0755 %{SOURCE16} %{buildroot}/sbin/vboxconfig
|
||||||
%if %{for_leap}
|
|
||||||
install -m 0755 %{SOURCE17} %{buildroot}/sbin/vboxguestconfig
|
install -m 0755 %{SOURCE17} %{buildroot}/sbin/vboxguestconfig
|
||||||
%endif
|
|
||||||
install -m 0755 %{SOURCE18} %{buildroot}/sbin/vbox-fix-usb-rules.sh
|
install -m 0755 %{SOURCE18} %{buildroot}/sbin/vbox-fix-usb-rules.sh
|
||||||
install -m 0755 %{SOURCE19} %{buildroot}%{_vbox_instdir}/vboxdrv.sh
|
install -m 0755 %{SOURCE19} %{buildroot}%{_vbox_instdir}/vboxdrv.sh
|
||||||
install -m 0644 %{SOURCE21} %{buildroot}%{_unitdir}/vboxweb-service.service
|
install -m 0644 %{SOURCE21} %{buildroot}%{_unitdir}/vboxweb-service.service
|
||||||
install -m 0755 %{SOURCE22} %{buildroot}%{_vbox_instdir}/vboxweb-service.sh
|
install -m 0755 %{SOURCE22} %{buildroot}%{_vbox_instdir}/vboxweb-service.sh
|
||||||
install -m 0644 %{SOURCE23} %{buildroot}%{_unitdir}/vboxautostart.service
|
install -m 0644 %{SOURCE23} %{buildroot}%{_unitdir}/vboxautostart-service.service
|
||||||
ln -s -f %{_sbindir}/service %{buildroot}%{_sbindir}/rcvboxautostart
|
ln -s -f %{_sbindir}/service %{buildroot}%{_sbindir}/rcvboxautostart
|
||||||
install -m 0755 %{SOURCE24} %{buildroot}%{_vbox_instdir}/vboxautostart.sh
|
install -m 0755 %{SOURCE24} %{buildroot}%{_vbox_instdir}/vboxautostart-service.sh
|
||||||
# Init scripts to start virtualbox during boot
|
# Init scripts to start virtualbox during boot
|
||||||
ln -sf %{_unitdir}/vboxdrv.service %{buildroot}%{_unitdir}/multi-user.target.wants/vboxdrv.service
|
ln -sf %{_unitdir}/vboxdrv.service %{buildroot}%{_unitdir}/multi-user.target.wants/vboxdrv.service
|
||||||
ln -sf %{_unitdir}/vboxadd-service.service %{buildroot}%{_unitdir}/multi-user.target.wants/vboxadd-service.service
|
ln -sf %{_unitdir}/vboxadd-service.service %{buildroot}%{_unitdir}/multi-user.target.wants/vboxadd-service.service
|
||||||
ln -sf %{_unitdir}/vboxautostart.service %{buildroot}%{_unitdir}/multi-user.target.wants/vboxautostart.service
|
ln -sf %{_unitdir}/vboxautostart-service.service %{buildroot}%{_unitdir}/multi-user.target.wants/vboxautostart-service.service
|
||||||
|
|
||||||
# config file for vboxdrv and vboxweb
|
# config file for vboxdrv and vboxweb
|
||||||
install -d -m 755 %{buildroot}%{_sysconfdir}/vbox
|
install -d -m 755 %{buildroot}%{_sysconfdir}/vbox
|
||||||
|
install -d -m 775 %{buildroot}%{_sysconfdir}/vbox/autostart.d
|
||||||
echo -e "#settings for vboxwebsrn\nVBOXWEB_USER=root" > %{buildroot}%{_sysconfdir}/vbox/vbox.cfg
|
echo -e "#settings for vboxwebsrn\nVBOXWEB_USER=root" > %{buildroot}%{_sysconfdir}/vbox/vbox.cfg
|
||||||
# config file for vboxautostart
|
# config file for vboxautostart
|
||||||
cat > %{buildroot}%{_sysconfdir}/vbox/autostart.cfg << EOF
|
cat > %{buildroot}%{_sysconfdir}/vbox/autostart.cfg << EOF
|
||||||
@ -837,7 +943,7 @@ popd
|
|||||||
%pre
|
%pre
|
||||||
getent group vboxusers >/dev/null || groupadd -r vboxusers
|
getent group vboxusers >/dev/null || groupadd -r vboxusers
|
||||||
%service_add_pre vboxdrv.service
|
%service_add_pre vboxdrv.service
|
||||||
%service_add_pre vboxautostart.service
|
%service_add_pre vboxautostart-service.service
|
||||||
|
|
||||||
%pre guest-tools
|
%pre guest-tools
|
||||||
# Add groups for seamless mode and shared folders:
|
# Add groups for seamless mode and shared folders:
|
||||||
@ -863,7 +969,7 @@ getent group vboxvideo >/dev/null || groupadd -r vboxvideo
|
|||||||
%set_permissions %{_vbox_instdir}/VBoxNetAdpCtl
|
%set_permissions %{_vbox_instdir}/VBoxNetAdpCtl
|
||||||
%set_permissions %{_vbox_instdir}/VBoxHeadless
|
%set_permissions %{_vbox_instdir}/VBoxHeadless
|
||||||
%service_add_post vboxdrv.service
|
%service_add_post vboxdrv.service
|
||||||
%service_add_post vboxautostart.service
|
%service_add_post vboxautostart-service.service
|
||||||
# add new autostart stuff to the existing default config, if missing
|
# add new autostart stuff to the existing default config, if missing
|
||||||
grep -q VBOXAUTOSTART /etc/default/virtualbox || {
|
grep -q VBOXAUTOSTART /etc/default/virtualbox || {
|
||||||
cat >> /etc/default/virtualbox << EOF
|
cat >> /etc/default/virtualbox << EOF
|
||||||
@ -871,11 +977,17 @@ grep -q VBOXAUTOSTART /etc/default/virtualbox || {
|
|||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
# Autostart
|
# Autostart
|
||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
VBOXAUTOSTART_DB=/etc/vbox
|
VBOXAUTOSTART_DB=/etc/vbox/autostart.d
|
||||||
VBOXAUTOSTART_CONFIG=/etc/vbox/autostart.cfg
|
VBOXAUTOSTART_CONFIG=/etc/vbox/autostart.cfg
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
|
for entry in /etc/vbox/*.start
|
||||||
|
do
|
||||||
|
user=$(basename "$entry" .start)
|
||||||
|
[ "$user" = "*" ] && break
|
||||||
|
mv /etc/vbox/user.start /etc/vbox/autostart.d/.
|
||||||
|
done
|
||||||
|
|
||||||
%post qt
|
%post qt
|
||||||
%set_permissions %{_vbox_instdir}/VirtualBoxVM
|
%set_permissions %{_vbox_instdir}/VirtualBoxVM
|
||||||
@ -907,9 +1019,9 @@ VBoxManage extpack install --replace "${EXTPACK}" --accept-license="${ACCEPT}" >
|
|||||||
#######################################################
|
#######################################################
|
||||||
|
|
||||||
%preun
|
%preun
|
||||||
%stop_on_removal vboxautostart
|
%stop_on_removal vboxautostart-service
|
||||||
%stop_on_removal vboxdrv
|
%stop_on_removal vboxdrv
|
||||||
%service_del_preun vboxautostart.service
|
%service_del_preun vboxautostart-service.service
|
||||||
%service_del_preun vboxdrv.service
|
%service_del_preun vboxdrv.service
|
||||||
exit 0
|
exit 0
|
||||||
|
|
||||||
@ -931,14 +1043,14 @@ exit 0
|
|||||||
%postun
|
%postun
|
||||||
/sbin/ldconfig
|
/sbin/ldconfig
|
||||||
%restart_on_update vboxdrv
|
%restart_on_update vboxdrv
|
||||||
%restart_on_update vboxautostart
|
%restart_on_update vboxautostart-service
|
||||||
# immediately restarting virtualbox may not work. As such wait for the next reboot to restart
|
# immediately restarting virtualbox may not work. As such wait for the next reboot to restart
|
||||||
%if ! %{defined service_del_postun_without_restart}
|
%if ! %{defined service_del_postun_without_restart}
|
||||||
export DISABLE_RESTART_ON_UPDATE=yes
|
export DISABLE_RESTART_ON_UPDATE=yes
|
||||||
%service_del_postun vboxautostart.service
|
%service_del_postun vboxautostart-service.service
|
||||||
%service_del_postun vboxdrv.service
|
%service_del_postun vboxdrv.service
|
||||||
%else
|
%else
|
||||||
%service_del_postun_without_restart vboxautostart.service
|
%service_del_postun_without_restart vboxautostart-service.service
|
||||||
%service_del_postun_without_restart vboxdrv.service
|
%service_del_postun_without_restart vboxdrv.service
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
@ -1005,11 +1117,11 @@ export DISABLE_RESTART_ON_UPDATE=yes
|
|||||||
%dir %{_unitdir}
|
%dir %{_unitdir}
|
||||||
%dir %{_unitdir}/multi-user.target.wants
|
%dir %{_unitdir}/multi-user.target.wants
|
||||||
/usr/lib/virtualbox/vboxdrv.sh
|
/usr/lib/virtualbox/vboxdrv.sh
|
||||||
/usr/lib/virtualbox/vboxautostart.sh
|
/usr/lib/virtualbox/vboxautostart-service.sh
|
||||||
%{_unitdir}/vboxdrv.service
|
%{_unitdir}/vboxdrv.service
|
||||||
%{_unitdir}/vboxautostart.service
|
%{_unitdir}/vboxautostart-service.service
|
||||||
%{_unitdir}/multi-user.target.wants/vboxdrv.service
|
%{_unitdir}/multi-user.target.wants/vboxdrv.service
|
||||||
%{_unitdir}/multi-user.target.wants/vboxautostart.service
|
%{_unitdir}/multi-user.target.wants/vboxautostart-service.service
|
||||||
%{_sbindir}/rcvboxdrv
|
%{_sbindir}/rcvboxdrv
|
||||||
%{_sbindir}/rcvboxautostart
|
%{_sbindir}/rcvboxautostart
|
||||||
/sbin/vboxconfig
|
/sbin/vboxconfig
|
||||||
@ -1019,7 +1131,9 @@ export DISABLE_RESTART_ON_UPDATE=yes
|
|||||||
%verify(not mode) %attr(0755,root,vboxusers) %{_vbox_instdir}/VBoxNetAdpCtl
|
%verify(not mode) %attr(0755,root,vboxusers) %{_vbox_instdir}/VBoxNetAdpCtl
|
||||||
%verify(not mode) %attr(0755,root,vboxusers) %{_vbox_instdir}/VBoxHeadless
|
%verify(not mode) %attr(0755,root,vboxusers) %{_vbox_instdir}/VBoxHeadless
|
||||||
%dir %{_sysconfdir}/vbox
|
%dir %{_sysconfdir}/vbox
|
||||||
%attr(1775,root,vboxusers) %{_sysconfdir}/vbox
|
%dir %{_sysconfdir}/vbox/autostart.d
|
||||||
|
%attr(755,root,root) %{_sysconfdir}/vbox
|
||||||
|
%attr(1770,root,vboxusers) %{_sysconfdir}/vbox/autostart.d
|
||||||
%config %attr(644,root,vboxusers) %{_sysconfdir}/vbox/vbox.cfg
|
%config %attr(644,root,vboxusers) %{_sysconfdir}/vbox/vbox.cfg
|
||||||
%config %attr(644,root,vboxusers) %{_sysconfdir}/vbox/autostart.cfg
|
%config %attr(644,root,vboxusers) %{_sysconfdir}/vbox/autostart.cfg
|
||||||
|
|
||||||
@ -1069,9 +1183,7 @@ export DISABLE_RESTART_ON_UPDATE=yes
|
|||||||
%defattr(-, root, root)
|
%defattr(-, root, root)
|
||||||
%{_bindir}/VBoxControl
|
%{_bindir}/VBoxControl
|
||||||
%{_sbindir}/VBoxService
|
%{_sbindir}/VBoxService
|
||||||
%if %{for_leap}
|
|
||||||
/sbin/vboxguestconfig
|
/sbin/vboxguestconfig
|
||||||
%endif
|
|
||||||
/sbin/mount.vboxsf
|
/sbin/mount.vboxsf
|
||||||
%{_udevrulesdir}/60-vboxguest.rules
|
%{_udevrulesdir}/60-vboxguest.rules
|
||||||
%{_vbox_instdir}/vboxadd-service
|
%{_vbox_instdir}/vboxadd-service
|
||||||
@ -1107,13 +1219,11 @@ export DISABLE_RESTART_ON_UPDATE=yes
|
|||||||
%dir %{_usrsrc}/kernel-modules
|
%dir %{_usrsrc}/kernel-modules
|
||||||
%{_usrsrc}/kernel-modules/virtualbox
|
%{_usrsrc}/kernel-modules/virtualbox
|
||||||
|
|
||||||
%if %{for_leap}
|
|
||||||
%files guest-source
|
%files guest-source
|
||||||
%defattr(-,root, root)
|
%defattr(-,root, root)
|
||||||
%dir %{_usrsrc}/kernel-modules
|
%dir %{_usrsrc}/kernel-modules
|
||||||
%dir %{_usrsrc}/kernel-modules/additions
|
%dir %{_usrsrc}/kernel-modules/additions
|
||||||
%{_usrsrc}/kernel-modules/additions/guest_src.tar.bz2
|
%{_usrsrc}/kernel-modules/additions/guest_src.tar.bz2
|
||||||
%endif
|
|
||||||
|
|
||||||
%files websrv
|
%files websrv
|
||||||
%defattr(-,root, root)
|
%defattr(-,root, root)
|
||||||
@ -1210,20 +1320,13 @@ COMMON_KMK_FLAGS+="
|
|||||||
# host kernel modules to out/linux.*/release/bin/src/
|
# host kernel modules to out/linux.*/release/bin/src/
|
||||||
%{_bindir}/kmk %_smp_mflags -C src/VBox/HostDrivers/ \
|
%{_bindir}/kmk %_smp_mflags -C src/VBox/HostDrivers/ \
|
||||||
${COMMON_KMK_FLAGS}
|
${COMMON_KMK_FLAGS}
|
||||||
%if %{for_leap}
|
|
||||||
#
|
#
|
||||||
# build kernel modules for guest and host (check novel-kmp package as example)
|
# build kernel modules for guest and host (check novel-kmp package as example)
|
||||||
# host modules : vboxdrv,vboxnetflt,vboxnetadp
|
# host modules : vboxdrv,vboxnetflt,vboxnetadp
|
||||||
# guest modules : vboxguest,vboxsf vboxvideo (for Leap 15.2 and older)
|
# guest modules : vboxguest,vboxsf vboxvideo
|
||||||
echo "build kernel modules"
|
echo "build kernel modules"
|
||||||
for vbox_module in out/linux.*/release/bin/src/vbox{drv,netflt,netadp} \
|
for vbox_module in out/linux.*/release/bin/src/vbox{drv,netflt,netadp} \
|
||||||
out/linux.*/release/bin/additions/src/vbox{guest,sf,video}; do
|
out/linux.*/release/bin/additions/src/vbox{guest,sf,video}; do
|
||||||
%else
|
|
||||||
# build kernel modules for host (check novel-kmp package as example)
|
|
||||||
# host modules : vboxdrv,vboxnetflt,vboxnetadp
|
|
||||||
echo "build kernel modules"
|
|
||||||
for vbox_module in out/linux.*/release/bin/src/vbox{drv,netflt,netadp} ; do
|
|
||||||
%endif
|
|
||||||
#get the module name from path
|
#get the module name from path
|
||||||
module_name=$(basename "$vbox_module")
|
module_name=$(basename "$vbox_module")
|
||||||
|
|
||||||
@ -1232,12 +1335,8 @@ for vbox_module in out/linux.*/release/bin/src/vbox{drv,netflt,netadp} ; do
|
|||||||
# delete old build dir for sure
|
# delete old build dir for sure
|
||||||
rm -rf modules_build_dir/${module_name}_${flavor}
|
rm -rf modules_build_dir/${module_name}_${flavor}
|
||||||
|
|
||||||
%if %{for_leap}
|
|
||||||
if [ "$module_name" = "vboxdrv" -o \
|
if [ "$module_name" = "vboxdrv" -o \
|
||||||
"$module_name" = "vboxguest" ] ; then
|
"$module_name" = "vboxguest" ] ; then
|
||||||
%else
|
|
||||||
if [ "$module_name" = "vboxdrv" ] ; then
|
|
||||||
%endif
|
|
||||||
SYMBOLS=""
|
SYMBOLS=""
|
||||||
fi
|
fi
|
||||||
# create build directory for specific flavor
|
# create build directory for specific flavor
|
||||||
@ -1253,7 +1352,6 @@ for vbox_module in out/linux.*/release/bin/src/vbox{drv,netflt,netadp} ; do
|
|||||||
$PWD/modules_build_dir/$flavor/$module_name
|
$PWD/modules_build_dir/$flavor/$module_name
|
||||||
SYMBOLS="$PWD/modules_build_dir/$flavor/vboxdrv/Module.symvers"
|
SYMBOLS="$PWD/modules_build_dir/$flavor/vboxdrv/Module.symvers"
|
||||||
fi
|
fi
|
||||||
%if %{for_leap}
|
|
||||||
# copy vboxguest (for guest) module symbols which are used by vboxsf km:
|
# copy vboxguest (for guest) module symbols which are used by vboxsf km:
|
||||||
if [ "$module_name" = "vboxsf" -o \
|
if [ "$module_name" = "vboxsf" -o \
|
||||||
"$module_name" = "vboxvideo" ] ; then
|
"$module_name" = "vboxvideo" ] ; then
|
||||||
@ -1261,7 +1359,6 @@ for vbox_module in out/linux.*/release/bin/src/vbox{drv,netflt,netadp} ; do
|
|||||||
$PWD/modules_build_dir/$flavor/$module_name
|
$PWD/modules_build_dir/$flavor/$module_name
|
||||||
SYMBOLS="$PWD/modules_build_dir/$flavor/vboxguest/Module.symvers"
|
SYMBOLS="$PWD/modules_build_dir/$flavor/vboxguest/Module.symvers"
|
||||||
fi
|
fi
|
||||||
%endif
|
|
||||||
# build the module for the specific flavor
|
# build the module for the specific flavor
|
||||||
make -j2 -C %{_prefix}/src/linux-obj/%{_target_cpu}/$flavor %{?linux_make_arch} modules \
|
make -j2 -C %{_prefix}/src/linux-obj/%{_target_cpu}/$flavor %{?linux_make_arch} modules \
|
||||||
M=$PWD/modules_build_dir/$flavor/$module_name KBUILD_EXTRA_SYMBOLS="$SYMBOLS" V=1
|
M=$PWD/modules_build_dir/$flavor/$module_name KBUILD_EXTRA_SYMBOLS="$SYMBOLS" V=1
|
||||||
@ -1272,11 +1369,7 @@ done
|
|||||||
export INSTALL_MOD_PATH=%{buildroot}
|
export INSTALL_MOD_PATH=%{buildroot}
|
||||||
export INSTALL_MOD_DIR=extra
|
export INSTALL_MOD_DIR=extra
|
||||||
#to install modules we use here similar steps like in build phase, go through all the modules :
|
#to install modules we use here similar steps like in build phase, go through all the modules :
|
||||||
%if %{for_leap}
|
|
||||||
for module_name in vbox{drv,netflt,netadp,guest,sf,video}
|
for module_name in vbox{drv,netflt,netadp,guest,sf,video}
|
||||||
%else
|
|
||||||
for module_name in vbox{drv,netflt,netadp}
|
|
||||||
%endif
|
|
||||||
do
|
do
|
||||||
#and through the all flavors
|
#and through the all flavors
|
||||||
for flavor in %{flavors_to_build}; do
|
for flavor in %{flavors_to_build}; do
|
||||||
|
Loading…
Reference in New Issue
Block a user