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:
|
||||
VBoxManage setproperty autostartdbpath /etc/vbox
|
||||
VBoxManage setproperty autostartdbpath /etc/vbox/autostart.d
|
||||
needs to be run.
|
||||
|
||||
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.
|
||||
|
||||
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:
|
||||
VBoxManage modifyvm <uuid|vmname> --autostop-type <disabled|savestate|poweroff|acpishutdown>
|
||||
|
||||
Restart the vboxdrv service to start the VMs in question
|
||||
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
|
||||
oid sha256:50cf78dc97e9ce7227f6aa1966b5478ff50abad85485626dc603bb5e98808664
|
||||
size 4969463
|
||||
oid sha256:66b7dd9f1d5b53b6273d883e16b3776d9a168279383bfba5db479f99effa89b4
|
||||
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.16/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
|
||||
@@ -73,6 +73,10 @@
|
||||
--- VirtualBox-6.1.20.orig/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
|
||||
+++ VirtualBox-6.1.20/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
|
||||
@@ -76,6 +76,10 @@
|
||||
#define VBOXNETFLT_OS_SPECFIC 1
|
||||
#include "../VBoxNetFltInternal.h"
|
||||
|
||||
@ -13,10 +13,10 @@ Index: VirtualBox-6.1.16/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.
|
||||
typedef struct VBOXNETFLTNOTIFIER {
|
||||
struct notifier_block Notifier;
|
||||
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.16/src/VBox/Additions/linux/drm/vbox_drv.c
|
||||
--- VirtualBox-6.1.20.orig/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_
|
||||
}
|
||||
|
||||
@ -36,11 +36,11 @@ Index: VirtualBox-6.1.16/src/VBox/Additions/linux/drm/vbox_drv.c
|
||||
#else /* >= 5.4.0 && RHEL >= 8.3 */
|
||||
.driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_HAVE_IRQ,
|
||||
#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.16/src/VBox/Additions/linux/drm/vbox_main.c
|
||||
@@ -638,8 +638,12 @@ static inline u64 vbox_bo_mmap_offset(st
|
||||
--- VirtualBox-6.1.20.orig/src/VBox/Additions/linux/drm/vbox_main.c
|
||||
+++ VirtualBox-6.1.20/src/VBox/Additions/linux/drm/vbox_main.c
|
||||
@@ -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)
|
||||
return bo->bo.addr_space_offset;
|
||||
#else
|
||||
@ -53,10 +53,10 @@ Index: VirtualBox-6.1.16/src/VBox/Additions/linux/drm/vbox_main.c
|
||||
}
|
||||
|
||||
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.16/include/iprt/cdefs.h
|
||||
--- VirtualBox-6.1.20.orig/include/iprt/cdefs.h
|
||||
+++ VirtualBox-6.1.20/include/iprt/cdefs.h
|
||||
@@ -1173,14 +1173,15 @@
|
||||
* Tell the compiler that we're falling through to the next case in a switch.
|
||||
* @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.18/src/VBox/Additions/linux/drm/vbox_drv.c
|
||||
@@ -331,7 +331,9 @@ static struct drm_driver driver = {
|
||||
--- VirtualBox-6.1.20.orig/src/VBox/Additions/linux/drm/vbox_drv.c
|
||||
+++ VirtualBox-6.1.20/src/VBox/Additions/linux/drm/vbox_drv.c
|
||||
@@ -330,7 +330,9 @@ static struct drm_driver driver = {
|
||||
.master_drop = vbox_master_drop,
|
||||
#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)
|
||||
@ -12,10 +12,10 @@ Index: VirtualBox-6.1.18/src/VBox/Additions/linux/drm/vbox_drv.c
|
||||
# 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.18/src/VBox/Additions/linux/drm/vbox_main.c
|
||||
--- VirtualBox-6.1.20.orig/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
|
||||
#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)
|
||||
{
|
||||
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.18/src/VBox/Additions/linux/drm/vbox_ttm.c
|
||||
@@ -256,7 +256,7 @@ static struct ttm_backend_func vbox_tt_b
|
||||
--- VirtualBox-6.1.20.orig/src/VBox/Additions/linux/drm/vbox_ttm.c
|
||||
+++ VirtualBox-6.1.20/src/VBox/Additions/linux/drm/vbox_ttm.c
|
||||
@@ -271,7 +271,7 @@ static struct ttm_backend_func vbox_tt_b
|
||||
};
|
||||
#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,
|
||||
unsigned long size,
|
||||
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)
|
||||
tt->func = &vbox_tt_backend_func;
|
||||
#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) && !defined(SUSE_SLE12)
|
||||
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)) {
|
||||
@@ -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)
|
||||
@ -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)
|
||||
{
|
||||
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_free = &vbox_ttm_io_mem_free,
|
||||
#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,
|
||||
# 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,
|
||||
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,
|
||||
#else
|
||||
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)
|
||||
{
|
||||
@ -87,35 +87,35 @@ 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)
|
||||
struct ttm_operation_ctx ctx = { false, false };
|
||||
#endif
|
||||
int i, ret;
|
||||
@@ -551,7 +551,7 @@ int vbox_bo_pin(struct vbox_bo *bo, u32
|
||||
for (i = 0; i < bo->placement.num_placement; i++)
|
||||
int ret;
|
||||
@@ -612,7 +612,7 @@ int vbox_bo_pin(struct vbox_bo *bo, u32
|
||||
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) && !defined(SUSE_SLE12)
|
||||
ret = ttm_bo_validate(&bo->bo, &bo->placement, false, false);
|
||||
#else
|
||||
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)
|
||||
{
|
||||
-#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_MAX(5,11,0)
|
||||
struct ttm_operation_ctx ctx = { false, false };
|
||||
# endif
|
||||
int i, ret;
|
||||
@@ -585,7 +585,7 @@ int vbox_bo_unpin(struct vbox_bo *bo)
|
||||
for (i = 0; i < bo->placement.num_placement; i++)
|
||||
@@ -657,7 +657,7 @@ int vbox_bo_unpin(struct vbox_bo *bo)
|
||||
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) && !defined(SUSE_SLE12)
|
||||
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);
|
||||
@@ -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)
|
||||
{
|
||||
@ -124,7 +124,7 @@ Index: VirtualBox-6.1.18/src/VBox/Additions/linux/drm/vbox_ttm.c
|
||||
struct ttm_operation_ctx ctx = { false, false };
|
||||
# endif
|
||||
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++)
|
||||
PLACEMENT_FLAGS(bo->placements[i]) |= TTM_PL_FLAG_NO_EVICT;
|
||||
|
||||
@ -133,10 +133,10 @@ Index: VirtualBox-6.1.18/src/VBox/Additions/linux/drm/vbox_ttm.c
|
||||
ret = ttm_bo_validate(&bo->bo, &bo->placement, false, false);
|
||||
# else
|
||||
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.18/src/VBox/Additions/linux/drm/vbox_drv.h
|
||||
--- VirtualBox-6.1.20.orig/src/VBox/Additions/linux/drm/vbox_drv.h
|
||||
+++ VirtualBox-6.1.20/src/VBox/Additions/linux/drm/vbox_drv.h
|
||||
@@ -87,6 +87,9 @@
|
||||
#else
|
||||
# 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
|
||||
* 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.18/src/VBox/Additions/linux/drm/vbox_mode.c
|
||||
--- VirtualBox-6.1.20.orig/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
|
||||
for (i = 0; i < EDID_SIZE - 1; ++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.14/src/bldprogs/scm.cpp
|
||||
--- VirtualBox-6.1.20.orig/src/bldprogs/scm.cpp
|
||||
+++ VirtualBox-6.1.20/src/bldprogs/scm.cpp
|
||||
@@ -2206,7 +2206,7 @@ static int scmProcessFileInner(PSCMRWSTA
|
||||
pszTreatAs = "shell";
|
||||
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)
|
||||
|| (cchFirst >= 17 && strncmp(pchFirst, "/usr/bin/env perl", 17) == 0) )
|
||||
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.14/src/libs/libxml2-2.9.4/configure
|
||||
--- VirtualBox-6.1.20.orig/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=
|
||||
PYTHON_TESTS=
|
||||
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_n "checking for $ac_word... " >&6; }
|
||||
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.14/src/VBox/ValidationKit/testboxscript/setup.sh
|
||||
--- VirtualBox-6.1.20.orig/src/VBox/ValidationKit/testboxscript/setup.sh
|
||||
+++ VirtualBox-6.1.20/src/VBox/ValidationKit/testboxscript/setup.sh
|
||||
@@ -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));\
|
||||
sys.exit(not x);\
|
||||
@ -52,14 +52,14 @@ Index: VirtualBox-6.1.14/src/VBox/ValidationKit/testboxscript/setup.sh
|
||||
do
|
||||
python=`which ${python} 2> /dev/null`
|
||||
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.14/src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec
|
||||
--- VirtualBox-6.1.20.orig/src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec
|
||||
+++ VirtualBox-6.1.20/src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec
|
||||
@@ -20,7 +20,7 @@
|
||||
%define %PYTHON% 1
|
||||
%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 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
|
||||
rm -rf sdk/installer
|
||||
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.14/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.20/src/libs/libxml2-2.9.4/libxml.spec.in
|
||||
@@ -101,11 +101,11 @@ rm -fr %{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
|
||||
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.14/src/libs/libxml2-2.9.4/libxml2.spec
|
||||
--- VirtualBox-6.1.20.orig/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}
|
||||
|
||||
%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}
|
||||
%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.14/src/libs/xpcom18a4/python/src/ErrorUtils.cpp
|
||||
--- VirtualBox-6.1.20.orig/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
|
||||
{ // a temp scope so I can use temp locals.
|
||||
#if PY_MAJOR_VERSION <= 2
|
||||
@ -119,10 +119,10 @@ Index: VirtualBox-6.1.14/src/libs/xpcom18a4/python/src/ErrorUtils.cpp
|
||||
#else
|
||||
/* PyUnicode_AsUTF8() is const char * as of Python 3.7, char * earlier. */
|
||||
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.14/src/libs/xpcom18a4/python/src/PyGBase.cpp
|
||||
--- VirtualBox-6.1.20.orig/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()
|
||||
// Get the correct interface pointer for this object given the 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)))
|
||||
return (nsISupports *)(nsIInternalPython *)this;
|
||||
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.14/src/libs/xpcom18a4/python/Makefile.kmk
|
||||
@@ -533,6 +533,52 @@ VBoxPython3_8m_x86_LIBS = $(VBOX_P
|
||||
--- VirtualBox-6.1.20.orig/src/libs/xpcom18a4/python/Makefile.kmk
|
||||
+++ VirtualBox-6.1.20/src/libs/xpcom18a4/python/Makefile.kmk
|
||||
@@ -579,6 +579,52 @@ VBoxPython3_9m_x86_LIBS = $(VBOX_P
|
||||
endif
|
||||
endif
|
||||
|
||||
@ -193,16 +193,16 @@ Index: VirtualBox-6.1.14/src/libs/xpcom18a4/python/Makefile.kmk
|
||||
ifdef VBOX_PYTHONDEF_INC
|
||||
#
|
||||
# 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.14/src/libs/xpcom18a4/python/gen_python_deps.py
|
||||
--- VirtualBox-6.1.20.orig/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
|
||||
import os,sys
|
||||
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.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", "3.9", "3.9m" ]
|
||||
prefixes = ["/usr", "/usr/local", "/opt", "/opt/local"]
|
||||
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>
|
||||
|
||||
|
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"
|
||||
### macros for virtualbox-kmp ###
|
||||
%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!!
|
||||
Name: virtualbox%{?dash}%{?name_suffix}
|
||||
Version: 6.1.18
|
||||
Version: 6.1.20
|
||||
Release: 0
|
||||
Summary: %{package_summary}
|
||||
License: GPL-2.0-or-later
|
||||
@ -95,11 +84,7 @@ Source2: VirtualBox.appdata.xml
|
||||
%endif
|
||||
Source3: virtualbox-60-vboxguest.rules
|
||||
Source4: virtualbox-default.virtualbox
|
||||
%if %{for_leap}
|
||||
Source5: virtualbox-kmp-files-leap
|
||||
%else
|
||||
Source5: virtualbox-kmp-files
|
||||
%endif
|
||||
Source7: virtualbox-kmp-preamble
|
||||
Source8: update-extpack.sh
|
||||
Source9: virtualbox-wrapper.sh
|
||||
@ -108,16 +93,14 @@ Source11: virtualbox-60-vboxdrv.rules
|
||||
Source14: vboxdrv.service
|
||||
Source15: vboxadd-service.service
|
||||
Source16: vboxconfig.sh
|
||||
%if %{for_leap}
|
||||
Source17: vboxguestconfig.sh
|
||||
%endif
|
||||
Source18: fix_usb_rules.sh
|
||||
Source19: vboxdrv.sh
|
||||
Source20: README.autostart
|
||||
Source21: vboxweb-service.service
|
||||
Source22: vboxweb-service.sh
|
||||
Source23: vboxautostart.service
|
||||
Source24: vboxautostart.sh
|
||||
Source23: vboxautostart-service.service
|
||||
Source24: vboxautostart-service.sh
|
||||
Source97: README.build
|
||||
Source98: virtualbox-rpmlintrc
|
||||
Source99: virtualbox-patch-source.sh
|
||||
@ -196,7 +179,6 @@ Patch135: fix-missing-includes-with-qt-5.15.patch
|
||||
Patch136: fixes_for_gcc10.patch
|
||||
# Fix for changes in GSOAP 2.8.103
|
||||
Patch137: handle_gsoap_208103.patch
|
||||
Patch138: fixes-for-5.11.patch
|
||||
# Fix for struct file_operations backport in 15.3
|
||||
Patch139: fixes_for_leap15.3.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
|
||||
the terms of the GNU Public License (GPL).
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
##########################################
|
||||
%package qt
|
||||
Summary: Qt GUI part for %{name}
|
||||
@ -343,6 +341,22 @@ Obsoletes: %{name}-ose-qt < %{version}
|
||||
%description qt
|
||||
This package contains the code for the GUI used to control VMs.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#########################################
|
||||
%package websrv
|
||||
Summary: WebService GUI part for %{name}
|
||||
@ -354,12 +368,28 @@ Obsoletes: %{name}-vboxwebsrv
|
||||
%description websrv
|
||||
The VirtualBox web server is used to control headless VMs using a browser.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#########################################
|
||||
%package guest-x11
|
||||
Summary: VirtualBox X11 drivers for mouse and video
|
||||
Group: System/X11/Servers/XF86_4
|
||||
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:
|
||||
Provides: 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
|
||||
This package contains X11 guest utilities and X11 guest mouse and video drivers
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
###########################################
|
||||
%package guest-tools
|
||||
Summary: VirtualBox guest tools
|
||||
Group: System/Emulators/PC
|
||||
Requires: %{name}-kmp = %{version}
|
||||
Supplements: modalias(pci:v000080EEd0000BEEFsv*sd*bc*sc*i*)
|
||||
Supplements: modalias(pci:v000080EEd0000CAFEsv*sd*bc*sc*i*)
|
||||
#rename from "ose" version:
|
||||
Provides: %{name}-ose-guest-tools = %{version}
|
||||
Obsoletes: %{name}-ose-guest-tools < %{version}
|
||||
@ -383,6 +429,22 @@ Requires(pre): net-tools-deprecated
|
||||
%description guest-tools
|
||||
VirtualBox guest addition tools.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
###########################################
|
||||
%package -n python3-%{name}
|
||||
Summary: Python bindings for %{name}
|
||||
@ -401,6 +463,22 @@ Obsoletes: python3-%{name}-ose < %{version}
|
||||
%description -n python3-%{name}
|
||||
Python XPCOM bindings to %{name}. Used e.g. by vboxgtk package.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
###########################################
|
||||
%package devel
|
||||
Summary: Devel files for %{name}
|
||||
@ -414,6 +492,22 @@ Obsoletes: %{name}-ose-devel < %{version}
|
||||
%description devel
|
||||
Development file for %{name}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
###########################################
|
||||
%package host-source
|
||||
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
|
||||
sudo /sbin/vboxconfig
|
||||
|
||||
%if %{for_leap}
|
||||
%package guest-source
|
||||
Summary: Source files for %{name} guest kernel modules
|
||||
Group: Development/Sources
|
||||
@ -444,7 +537,7 @@ BuildArch: noarch
|
||||
Source files for %{name} guest kernel modules
|
||||
These can be built for custom kernels using
|
||||
sudo /sbin/vboxguestconfig
|
||||
%endif
|
||||
|
||||
|
||||
###########################################
|
||||
%package guest-desktop-icons
|
||||
@ -457,6 +550,22 @@ BuildArch: noarch
|
||||
%description guest-desktop-icons
|
||||
This package contains icons for guest desktop files that were created on the desktop.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
###########################################
|
||||
%package vnc
|
||||
Summary: VNC desktop sharing
|
||||
@ -524,7 +633,6 @@ This package contains the kernel-modules that VirtualBox uses to create or run v
|
||||
%patch135 -p1
|
||||
%patch136 -p1
|
||||
%patch137 -p1
|
||||
%patch138 -p1
|
||||
%if 0%{?sle_version} == 150300 && 0%{?is_opensuse}
|
||||
# Patch for Leap 15.3
|
||||
%patch139 -p1
|
||||
@ -632,6 +740,7 @@ install -d -m 755 %{buildroot}%{_sysconfdir}/init.d
|
||||
install -d %{buildroot}%{_unitdir}
|
||||
install -d %{buildroot}%{_unitdir}/multi-user.target.wants
|
||||
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}%{_sysconfdir}/X11/xinit/xinitrc.d
|
||||
|
||||
@ -717,9 +826,7 @@ install -m 644 nls/* %{buildroot}%{_datadir}/virtualbox/nls/
|
||||
# install kmp src
|
||||
mkdir -p %{buildroot}%{_usrsrc}/kernel-modules/virtualbox
|
||||
mkdir -p %{buildroot}%{_usrsrc}/kernel-modules/additions
|
||||
%if %{for_leap}
|
||||
tar jcf %{buildroot}%{_usrsrc}/kernel-modules/additions/guest_src.tar.bz2 additions/src
|
||||
%endif
|
||||
cp -a src %{buildroot}%{_usrsrc}/kernel-modules/virtualbox
|
||||
install -m 644 %{SOURCE11} %{buildroot}%{_udevrulesdir}/60-vboxdrv.rules
|
||||
popd
|
||||
@ -746,23 +853,22 @@ install -m 0644 %{SOURCE14} %{buildroot}%{_unitdir}/vboxdrv.
|
||||
ln -s -f %{_sbindir}/service %{buildroot}%{_sbindir}/rcvboxdrv
|
||||
install -m 0644 %{SOURCE15} %{buildroot}%{_unitdir}/vboxadd-service.service
|
||||
install -m 0755 %{SOURCE16} %{buildroot}/sbin/vboxconfig
|
||||
%if %{for_leap}
|
||||
install -m 0755 %{SOURCE17} %{buildroot}/sbin/vboxguestconfig
|
||||
%endif
|
||||
install -m 0755 %{SOURCE18} %{buildroot}/sbin/vbox-fix-usb-rules.sh
|
||||
install -m 0755 %{SOURCE19} %{buildroot}%{_vbox_instdir}/vboxdrv.sh
|
||||
install -m 0644 %{SOURCE21} %{buildroot}%{_unitdir}/vboxweb-service.service
|
||||
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
|
||||
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
|
||||
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}/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
|
||||
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
|
||||
# config file for vboxautostart
|
||||
cat > %{buildroot}%{_sysconfdir}/vbox/autostart.cfg << EOF
|
||||
@ -837,7 +943,7 @@ popd
|
||||
%pre
|
||||
getent group vboxusers >/dev/null || groupadd -r vboxusers
|
||||
%service_add_pre vboxdrv.service
|
||||
%service_add_pre vboxautostart.service
|
||||
%service_add_pre vboxautostart-service.service
|
||||
|
||||
%pre guest-tools
|
||||
# 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}/VBoxHeadless
|
||||
%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
|
||||
grep -q VBOXAUTOSTART /etc/default/virtualbox || {
|
||||
cat >> /etc/default/virtualbox << EOF
|
||||
@ -871,11 +977,17 @@ grep -q VBOXAUTOSTART /etc/default/virtualbox || {
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Autostart
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
VBOXAUTOSTART_DB=/etc/vbox
|
||||
VBOXAUTOSTART_DB=/etc/vbox/autostart.d
|
||||
VBOXAUTOSTART_CONFIG=/etc/vbox/autostart.cfg
|
||||
|
||||
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
|
||||
%set_permissions %{_vbox_instdir}/VirtualBoxVM
|
||||
@ -907,9 +1019,9 @@ VBoxManage extpack install --replace "${EXTPACK}" --accept-license="${ACCEPT}" >
|
||||
#######################################################
|
||||
|
||||
%preun
|
||||
%stop_on_removal vboxautostart
|
||||
%stop_on_removal vboxautostart-service
|
||||
%stop_on_removal vboxdrv
|
||||
%service_del_preun vboxautostart.service
|
||||
%service_del_preun vboxautostart-service.service
|
||||
%service_del_preun vboxdrv.service
|
||||
exit 0
|
||||
|
||||
@ -931,14 +1043,14 @@ exit 0
|
||||
%postun
|
||||
/sbin/ldconfig
|
||||
%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
|
||||
%if ! %{defined service_del_postun_without_restart}
|
||||
export DISABLE_RESTART_ON_UPDATE=yes
|
||||
%service_del_postun vboxautostart.service
|
||||
%service_del_postun vboxautostart-service.service
|
||||
%service_del_postun vboxdrv.service
|
||||
%else
|
||||
%service_del_postun_without_restart vboxautostart.service
|
||||
%service_del_postun_without_restart vboxautostart-service.service
|
||||
%service_del_postun_without_restart vboxdrv.service
|
||||
%endif
|
||||
|
||||
@ -1005,11 +1117,11 @@ export DISABLE_RESTART_ON_UPDATE=yes
|
||||
%dir %{_unitdir}
|
||||
%dir %{_unitdir}/multi-user.target.wants
|
||||
/usr/lib/virtualbox/vboxdrv.sh
|
||||
/usr/lib/virtualbox/vboxautostart.sh
|
||||
/usr/lib/virtualbox/vboxautostart-service.sh
|
||||
%{_unitdir}/vboxdrv.service
|
||||
%{_unitdir}/vboxautostart.service
|
||||
%{_unitdir}/vboxautostart-service.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}/rcvboxautostart
|
||||
/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}/VBoxHeadless
|
||||
%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/autostart.cfg
|
||||
|
||||
@ -1069,9 +1183,7 @@ export DISABLE_RESTART_ON_UPDATE=yes
|
||||
%defattr(-, root, root)
|
||||
%{_bindir}/VBoxControl
|
||||
%{_sbindir}/VBoxService
|
||||
%if %{for_leap}
|
||||
/sbin/vboxguestconfig
|
||||
%endif
|
||||
/sbin/mount.vboxsf
|
||||
%{_udevrulesdir}/60-vboxguest.rules
|
||||
%{_vbox_instdir}/vboxadd-service
|
||||
@ -1107,13 +1219,11 @@ export DISABLE_RESTART_ON_UPDATE=yes
|
||||
%dir %{_usrsrc}/kernel-modules
|
||||
%{_usrsrc}/kernel-modules/virtualbox
|
||||
|
||||
%if %{for_leap}
|
||||
%files guest-source
|
||||
%defattr(-,root, root)
|
||||
%dir %{_usrsrc}/kernel-modules
|
||||
%dir %{_usrsrc}/kernel-modules/additions
|
||||
%{_usrsrc}/kernel-modules/additions/guest_src.tar.bz2
|
||||
%endif
|
||||
|
||||
%files websrv
|
||||
%defattr(-,root, root)
|
||||
@ -1210,20 +1320,13 @@ COMMON_KMK_FLAGS+="
|
||||
# host kernel modules to out/linux.*/release/bin/src/
|
||||
%{_bindir}/kmk %_smp_mflags -C src/VBox/HostDrivers/ \
|
||||
${COMMON_KMK_FLAGS}
|
||||
%if %{for_leap}
|
||||
#
|
||||
# build kernel modules for guest and host (check novel-kmp package as example)
|
||||
# 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"
|
||||
for vbox_module in out/linux.*/release/bin/src/vbox{drv,netflt,netadp} \
|
||||
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
|
||||
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
|
||||
rm -rf modules_build_dir/${module_name}_${flavor}
|
||||
|
||||
%if %{for_leap}
|
||||
if [ "$module_name" = "vboxdrv" -o \
|
||||
"$module_name" = "vboxguest" ] ; then
|
||||
%else
|
||||
if [ "$module_name" = "vboxdrv" ] ; then
|
||||
%endif
|
||||
SYMBOLS=""
|
||||
fi
|
||||
# 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
|
||||
SYMBOLS="$PWD/modules_build_dir/$flavor/vboxdrv/Module.symvers"
|
||||
fi
|
||||
%if %{for_leap}
|
||||
# copy vboxguest (for guest) module symbols which are used by vboxsf km:
|
||||
if [ "$module_name" = "vboxsf" -o \
|
||||
"$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
|
||||
SYMBOLS="$PWD/modules_build_dir/$flavor/vboxguest/Module.symvers"
|
||||
fi
|
||||
%endif
|
||||
# build the module for the specific flavor
|
||||
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
|
||||
@ -1272,11 +1369,7 @@ done
|
||||
export INSTALL_MOD_PATH=%{buildroot}
|
||||
export INSTALL_MOD_DIR=extra
|
||||
#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}
|
||||
%else
|
||||
for module_name in vbox{drv,netflt,netadp}
|
||||
%endif
|
||||
do
|
||||
#and through the all flavors
|
||||
for flavor in %{flavors_to_build}; do
|
||||
|
Loading…
Reference in New Issue
Block a user