forked from pool/virtualbox
Accepting request 706825 from Virtualization
OBS-URL: https://build.opensuse.org/request/show/706825 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/virtualbox?expand=0&rev=178
This commit is contained in:
commit
9f3b69fa72
@ -1,3 +1,3 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:f4050a3fd73d8c25d7f02cdaf8c0ad3e3ef10100f4d9d2d5ef1203498d8b7f33
|
oid sha256:30c3e77c5148d46f9f5c8b281ba3322f2348aed35a0db354802ba60ca2f26b24
|
||||||
size 4330514
|
size 4335316
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:6816256900ca78222c6f103efa231dc0c2ca8f8670720b4da50bb4e7493c50c9
|
|
||||||
size 118577509
|
|
3
VirtualBox-6.0.8-patched.tar.bz2
Normal file
3
VirtualBox-6.0.8-patched.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:fdba6c705fdca590b213d2bc456f8876280022ec82a3280ee49e4c553a9eb381
|
||||||
|
size 118703619
|
47
fixes_for_5.2.patch
Normal file
47
fixes_for_5.2.patch
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
Index: VirtualBox-6.0.8/src/VBox/Additions/linux/drm/vbox_fb.c
|
||||||
|
===================================================================
|
||||||
|
--- VirtualBox-6.0.8.orig/src/VBox/Additions/linux/drm/vbox_fb.c
|
||||||
|
+++ VirtualBox-6.0.8/src/VBox/Additions/linux/drm/vbox_fb.c
|
||||||
|
@@ -335,13 +335,17 @@ static int vboxfb_create(struct drm_fb_h
|
||||||
|
info->apertures->ranges[0].base = pci_resource_start(dev->pdev, 0);
|
||||||
|
info->apertures->ranges[0].size = pci_resource_len(dev->pdev, 0);
|
||||||
|
|
||||||
|
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) || defined(RHEL_75)
|
||||||
|
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 2, 0)
|
||||||
|
+ drm_fb_helper_fill_info(info, &fbdev->helper, sizes);
|
||||||
|
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) || defined(RHEL_75)
|
||||||
|
drm_fb_helper_fill_fix(info, fb->pitches[0], fb->format->depth);
|
||||||
|
#else
|
||||||
|
drm_fb_helper_fill_fix(info, fb->pitches[0], fb->depth);
|
||||||
|
#endif
|
||||||
|
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 2, 0)
|
||||||
|
drm_fb_helper_fill_var(info, &fbdev->helper, sizes->fb_width,
|
||||||
|
sizes->fb_height);
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
info->screen_base = bo->kmap.virtual;
|
||||||
|
info->screen_size = size;
|
||||||
|
Index: VirtualBox-6.0.8/src/VBox/Additions/linux/drm/vbox_ttm.c
|
||||||
|
===================================================================
|
||||||
|
--- VirtualBox-6.0.8.orig/src/VBox/Additions/linux/drm/vbox_ttm.c
|
||||||
|
+++ VirtualBox-6.0.8/src/VBox/Additions/linux/drm/vbox_ttm.c
|
||||||
|
@@ -298,7 +298,6 @@ int vbox_mm_init(struct vbox_private *vb
|
||||||
|
if (ret)
|
||||||
|
return ret;
|
||||||
|
#endif
|
||||||
|
-
|
||||||
|
ret = ttm_bo_device_init(&vbox->ttm.bdev,
|
||||||
|
#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0)
|
||||||
|
vbox->ttm.bo_global_ref.ref.object,
|
||||||
|
@@ -307,7 +306,11 @@ int vbox_mm_init(struct vbox_private *vb
|
||||||
|
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0) || defined(RHEL_71)
|
||||||
|
dev->anon_inode->i_mapping,
|
||||||
|
#endif
|
||||||
|
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 2, 0)
|
||||||
|
DRM_FILE_PAGE_OFFSET, true);
|
||||||
|
+#else
|
||||||
|
+ true);
|
||||||
|
+#endif
|
||||||
|
if (ret) {
|
||||||
|
DRM_ERROR("Error initialising bo driver; %d\n", ret);
|
||||||
|
#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0)
|
13
fixes_for_Leap42.3.patch
Normal file
13
fixes_for_Leap42.3.patch
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
Index: b/src/VBox/Additions/linux/sharedfolders/regops.c
|
||||||
|
===================================================================
|
||||||
|
--- a/src/VBox/Additions/linux/sharedfolders/regops.c
|
||||||
|
+++ b/src/VBox/Additions/linux/sharedfolders/regops.c
|
||||||
|
@@ -1436,7 +1436,7 @@ DECLINLINE(int) vbsf_lock_user_pages(uin
|
||||||
|
# elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)
|
||||||
|
ssize_t cPagesLocked = get_user_pages_unlocked(uPtrFrom, cPages, fWrite, 1 /*force*/, papPages);
|
||||||
|
# elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 168) && LINUX_VERSION_CODE < KERNEL_VERSION(4, 5, 0)
|
||||||
|
- ssize_t cPagesLocked = get_user_pages_unlocked(current, current->mm, uPtrFrom, cPages, papPages,
|
||||||
|
+ ssize_t cPagesLocked = get_user_pages_unlocked(uPtrFrom, cPages, papPages,
|
||||||
|
fWrite ? FOLL_WRITE | FOLL_FORCE : FOLL_FORCE);
|
||||||
|
# elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 0, 0)
|
||||||
|
ssize_t cPagesLocked = get_user_pages_unlocked(current, current->mm, uPtrFrom, cPages, fWrite, 1 /*force*/, papPages);
|
@ -1,7 +1,7 @@
|
|||||||
Index: VirtualBox-6.0.4/include/VBox/VBoxGL2D.h
|
Index: VirtualBox-6.0.6/include/VBox/VBoxGL2D.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- VirtualBox-6.0.4.orig/include/VBox/VBoxGL2D.h
|
--- VirtualBox-6.0.6.orig/include/VBox/VBoxGL2D.h
|
||||||
+++ VirtualBox-6.0.4/include/VBox/VBoxGL2D.h
|
+++ VirtualBox-6.0.6/include/VBox/VBoxGL2D.h
|
||||||
@@ -113,7 +113,7 @@ typedef GLvoid (APIENTRY *PFNVBOXVHWA_UN
|
@@ -113,7 +113,7 @@ typedef GLvoid (APIENTRY *PFNVBOXVHWA_UN
|
||||||
/* GL_ARB_pixel_buffer_object*/
|
/* GL_ARB_pixel_buffer_object*/
|
||||||
#ifndef Q_WS_MAC
|
#ifndef Q_WS_MAC
|
||||||
@ -11,108 +11,131 @@ Index: VirtualBox-6.0.4/include/VBox/VBoxGL2D.h
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef GL_READ_ONLY
|
#ifndef GL_READ_ONLY
|
||||||
Index: VirtualBox-6.0.4/include/VBox/HostServices/glext.h
|
Index: VirtualBox-6.0.6/include/VBox/HostServices/glext.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- VirtualBox-6.0.4.orig/include/VBox/HostServices/glext.h
|
--- VirtualBox-6.0.6.orig/include/VBox/HostServices/glext.h
|
||||||
+++ VirtualBox-6.0.4/include/VBox/HostServices/glext.h
|
+++ VirtualBox-6.0.6/include/VBox/HostServices/glext.h
|
||||||
@@ -3395,7 +3395,7 @@ typedef char GLchar; /* native charact
|
@@ -3395,7 +3395,10 @@ typedef char GLchar; /* native charact
|
||||||
#ifndef GL_VERSION_1_5
|
#ifndef GL_VERSION_1_5
|
||||||
/* GL types for handling large vertex buffer objects */
|
/* GL types for handling large vertex buffer objects */
|
||||||
typedef ptrdiff_t GLintptr;
|
typedef ptrdiff_t GLintptr;
|
||||||
-typedef ptrdiff_t GLsizeiptr;
|
+#if __BITS_PER_LONG != 64
|
||||||
|
typedef ptrdiff_t GLsizeiptr;
|
||||||
|
+#else
|
||||||
+typedef long int GLsizeiptr;
|
+typedef long int GLsizeiptr;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef GL_ARB_vertex_buffer_object
|
#ifndef GL_ARB_vertex_buffer_object
|
||||||
Index: VirtualBox-6.0.4/src/VBox/Additions/3D/mesa/mesa-17.3.9/include/GL/glext.h
|
Index: VirtualBox-6.0.6/src/VBox/Additions/3D/mesa/mesa-17.3.9/include/GL/glext.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- VirtualBox-6.0.4.orig/src/VBox/Additions/3D/mesa/mesa-17.3.9/include/GL/glext.h
|
--- VirtualBox-6.0.6.orig/src/VBox/Additions/3D/mesa/mesa-17.3.9/include/GL/glext.h
|
||||||
+++ VirtualBox-6.0.4/src/VBox/Additions/3D/mesa/mesa-17.3.9/include/GL/glext.h
|
+++ VirtualBox-6.0.6/src/VBox/Additions/3D/mesa/mesa-17.3.9/include/GL/glext.h
|
||||||
@@ -465,7 +465,8 @@ GLAPI void APIENTRY glBlendEquation (GLe
|
@@ -465,7 +465,12 @@ GLAPI void APIENTRY glBlendEquation (GLe
|
||||||
#ifndef GL_VERSION_1_5
|
#ifndef GL_VERSION_1_5
|
||||||
#define GL_VERSION_1_5 1
|
#define GL_VERSION_1_5 1
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
-typedef ptrdiff_t GLsizeiptr;
|
|
||||||
+#include <QtCore/qglobal.h>
|
+#include <QtCore/qglobal.h>
|
||||||
|
+#if __BITS_PER_LONG != 64
|
||||||
|
typedef ptrdiff_t GLsizeiptr;
|
||||||
|
+#else
|
||||||
+typedef long int GLsizeiptr;
|
+typedef long int GLsizeiptr;
|
||||||
|
+#endif
|
||||||
typedef ptrdiff_t GLintptr;
|
typedef ptrdiff_t GLintptr;
|
||||||
#define GL_BUFFER_SIZE 0x8764
|
#define GL_BUFFER_SIZE 0x8764
|
||||||
#define GL_BUFFER_USAGE 0x8765
|
#define GL_BUFFER_USAGE 0x8765
|
||||||
Index: VirtualBox-6.0.4/src/VBox/Additions/x11/x11include/mesa-11.0.7/GL/glcorearb.h
|
Index: VirtualBox-6.0.6/src/VBox/Additions/x11/x11include/mesa-11.0.7/GL/glcorearb.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- VirtualBox-6.0.4.orig/src/VBox/Additions/x11/x11include/mesa-11.0.7/GL/glcorearb.h
|
--- VirtualBox-6.0.6.orig/src/VBox/Additions/x11/x11include/mesa-11.0.7/GL/glcorearb.h
|
||||||
+++ VirtualBox-6.0.4/src/VBox/Additions/x11/x11include/mesa-11.0.7/GL/glcorearb.h
|
+++ VirtualBox-6.0.6/src/VBox/Additions/x11/x11include/mesa-11.0.7/GL/glcorearb.h
|
||||||
@@ -614,7 +614,7 @@ GLAPI void APIENTRY glBlendEquation (GLe
|
@@ -614,7 +614,11 @@ GLAPI void APIENTRY glBlendEquation (GLe
|
||||||
#ifndef GL_VERSION_1_5
|
#ifndef GL_VERSION_1_5
|
||||||
#define GL_VERSION_1_5 1
|
#define GL_VERSION_1_5 1
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
-typedef ptrdiff_t GLsizeiptr;
|
+#if __BITS_PER_LONG != 64
|
||||||
|
typedef ptrdiff_t GLsizeiptr;
|
||||||
|
+#else
|
||||||
+typedef long int GLsizeiptr;
|
+typedef long int GLsizeiptr;
|
||||||
|
+#endif
|
||||||
typedef ptrdiff_t GLintptr;
|
typedef ptrdiff_t GLintptr;
|
||||||
#define GL_BUFFER_SIZE 0x8764
|
#define GL_BUFFER_SIZE 0x8764
|
||||||
#define GL_BUFFER_USAGE 0x8765
|
#define GL_BUFFER_USAGE 0x8765
|
||||||
Index: VirtualBox-6.0.4/src/VBox/Additions/x11/x11include/mesa-11.0.7/GL/glext.h
|
Index: VirtualBox-6.0.6/src/VBox/Additions/x11/x11include/mesa-11.0.7/GL/glext.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- VirtualBox-6.0.4.orig/src/VBox/Additions/x11/x11include/mesa-11.0.7/GL/glext.h
|
--- VirtualBox-6.0.6.orig/src/VBox/Additions/x11/x11include/mesa-11.0.7/GL/glext.h
|
||||||
+++ VirtualBox-6.0.4/src/VBox/Additions/x11/x11include/mesa-11.0.7/GL/glext.h
|
+++ VirtualBox-6.0.6/src/VBox/Additions/x11/x11include/mesa-11.0.7/GL/glext.h
|
||||||
@@ -465,7 +465,7 @@ GLAPI void APIENTRY glBlendEquation (GLe
|
@@ -465,7 +465,11 @@ GLAPI void APIENTRY glBlendEquation (GLe
|
||||||
#ifndef GL_VERSION_1_5
|
#ifndef GL_VERSION_1_5
|
||||||
#define GL_VERSION_1_5 1
|
#define GL_VERSION_1_5 1
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
-typedef ptrdiff_t GLsizeiptr;
|
+#if __BITS_PER_LONG != 64
|
||||||
|
typedef ptrdiff_t GLsizeiptr;
|
||||||
|
+#else
|
||||||
+typedef long int GLsizeiptr;
|
+typedef long int GLsizeiptr;
|
||||||
|
+#endif
|
||||||
typedef ptrdiff_t GLintptr;
|
typedef ptrdiff_t GLintptr;
|
||||||
#define GL_BUFFER_SIZE 0x8764
|
#define GL_BUFFER_SIZE 0x8764
|
||||||
#define GL_BUFFER_USAGE 0x8765
|
#define GL_BUFFER_USAGE 0x8765
|
||||||
Index: VirtualBox-6.0.4/src/VBox/Additions/x11/x11include/mesa-7.2/GL/glext.h
|
Index: VirtualBox-6.0.6/src/VBox/Additions/x11/x11include/mesa-7.2/GL/glext.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- VirtualBox-6.0.4.orig/src/VBox/Additions/x11/x11include/mesa-7.2/GL/glext.h
|
--- VirtualBox-6.0.6.orig/src/VBox/Additions/x11/x11include/mesa-7.2/GL/glext.h
|
||||||
+++ VirtualBox-6.0.4/src/VBox/Additions/x11/x11include/mesa-7.2/GL/glext.h
|
+++ VirtualBox-6.0.6/src/VBox/Additions/x11/x11include/mesa-7.2/GL/glext.h
|
||||||
@@ -3708,7 +3708,7 @@ typedef char GLchar; /* native charact
|
@@ -3708,7 +3708,11 @@ typedef char GLchar; /* native charact
|
||||||
#ifndef GL_VERSION_1_5
|
#ifndef GL_VERSION_1_5
|
||||||
/* GL types for handling large vertex buffer objects */
|
/* GL types for handling large vertex buffer objects */
|
||||||
typedef ptrdiff_t GLintptr;
|
typedef ptrdiff_t GLintptr;
|
||||||
-typedef ptrdiff_t GLsizeiptr;
|
+#if __BITS_PER_LONG != 64
|
||||||
|
typedef ptrdiff_t GLsizeiptr;
|
||||||
|
+#else
|
||||||
+typedef long int GLsizeiptr;
|
+typedef long int GLsizeiptr;
|
||||||
|
+#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef GL_ARB_vertex_buffer_object
|
#ifndef GL_ARB_vertex_buffer_object
|
||||||
Index: VirtualBox-6.0.4/src/VBox/Devices/Graphics/vmsvga_glext/glext.h
|
Index: VirtualBox-6.0.6/src/VBox/Devices/Graphics/vmsvga_glext/glext.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- VirtualBox-6.0.4.orig/src/VBox/Devices/Graphics/vmsvga_glext/glext.h
|
--- VirtualBox-6.0.6.orig/src/VBox/Devices/Graphics/vmsvga_glext/glext.h
|
||||||
+++ VirtualBox-6.0.4/src/VBox/Devices/Graphics/vmsvga_glext/glext.h
|
+++ VirtualBox-6.0.6/src/VBox/Devices/Graphics/vmsvga_glext/glext.h
|
||||||
@@ -6194,7 +6194,7 @@ typedef char GLchar;
|
@@ -6194,7 +6194,11 @@ typedef char GLchar;
|
||||||
#ifndef GL_VERSION_1_5
|
#ifndef GL_VERSION_1_5
|
||||||
/* GL types for handling large vertex buffer objects */
|
/* GL types for handling large vertex buffer objects */
|
||||||
typedef ptrdiff_t GLintptr;
|
typedef ptrdiff_t GLintptr;
|
||||||
-typedef ptrdiff_t GLsizeiptr;
|
+#if __BITS_PER_LONG != 64
|
||||||
|
typedef ptrdiff_t GLsizeiptr;
|
||||||
|
+#else
|
||||||
+typedef long int GLsizeiptr;
|
+typedef long int GLsizeiptr;
|
||||||
|
+#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef GL_ARB_vertex_buffer_object
|
#ifndef GL_ARB_vertex_buffer_object
|
||||||
Index: VirtualBox-6.0.4/src/VBox/GuestHost/OpenGL/include/GL/glext.h
|
Index: VirtualBox-6.0.6/src/VBox/GuestHost/OpenGL/include/GL/glext.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- VirtualBox-6.0.4.orig/src/VBox/GuestHost/OpenGL/include/GL/glext.h
|
--- VirtualBox-6.0.6.orig/src/VBox/GuestHost/OpenGL/include/GL/glext.h
|
||||||
+++ VirtualBox-6.0.4/src/VBox/GuestHost/OpenGL/include/GL/glext.h
|
+++ VirtualBox-6.0.6/src/VBox/GuestHost/OpenGL/include/GL/glext.h
|
||||||
@@ -3717,7 +3717,7 @@ typedef char GLchar; /* native charact
|
@@ -3717,7 +3717,11 @@ typedef char GLchar; /* native charact
|
||||||
#ifndef GL_VERSION_1_5
|
#ifndef GL_VERSION_1_5
|
||||||
/* GL types for handling large vertex buffer objects */
|
/* GL types for handling large vertex buffer objects */
|
||||||
typedef ptrdiff_t GLintptr;
|
typedef ptrdiff_t GLintptr;
|
||||||
-typedef ptrdiff_t GLsizeiptr;
|
+#if __BITS_PER_LONG != 64
|
||||||
|
typedef ptrdiff_t GLsizeiptr;
|
||||||
|
+#else
|
||||||
+typedef long int GLsizeiptr;
|
+typedef long int GLsizeiptr;
|
||||||
|
+#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef GL_ARB_vertex_buffer_object
|
#ifndef GL_ARB_vertex_buffer_object
|
||||||
Index: VirtualBox-6.0.4/src/VBox/GuestHost/OpenGL/include/chromium.h
|
Index: VirtualBox-6.0.6/src/VBox/GuestHost/OpenGL/include/chromium.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- VirtualBox-6.0.4.orig/src/VBox/GuestHost/OpenGL/include/chromium.h
|
--- VirtualBox-6.0.6.orig/src/VBox/GuestHost/OpenGL/include/chromium.h
|
||||||
+++ VirtualBox-6.0.4/src/VBox/GuestHost/OpenGL/include/chromium.h
|
+++ VirtualBox-6.0.6/src/VBox/GuestHost/OpenGL/include/chromium.h
|
||||||
@@ -499,7 +499,7 @@ PROC WINAPI wglGetProcAddress_prox( LPCS
|
@@ -506,7 +506,11 @@ PROC WINAPI wglGetProcAddress_prox( LPCS
|
||||||
#ifndef GL_VERSION_1_5
|
#ifndef GL_VERSION_1_5
|
||||||
|
|
||||||
typedef ptrdiff_t GLintptr;
|
typedef ptrdiff_t GLintptr;
|
||||||
-typedef ptrdiff_t GLsizeiptr;
|
+#if __BITS_PER_LONG != 64
|
||||||
|
typedef ptrdiff_t GLsizeiptr;
|
||||||
|
+#else
|
||||||
+typedef long int GLsizeiptr;
|
+typedef long int GLsizeiptr;
|
||||||
|
+#endif
|
||||||
|
|
||||||
/* prototype these functions for opengl_stub/getprocaddress.c */
|
/* prototype these functions for opengl_stub/getprocaddress.c */
|
||||||
extern void APIENTRY glGenQueries(GLsizei n, GLuint *ids);
|
extern void APIENTRY glGenQueries(GLsizei n, GLuint *ids);
|
||||||
|
18
vboxautostart.service
Normal file
18
vboxautostart.service
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
[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
Normal file
126
vboxautostart.sh
Normal file
@ -0,0 +1,126 @@
|
|||||||
|
#!/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
|
66
vboxdrv.sh
66
vboxdrv.sh
@ -27,12 +27,6 @@
|
|||||||
# Description: VirtualBox Linux kernel module
|
# Description: VirtualBox Linux kernel module
|
||||||
### END INIT INFO
|
### END INIT INFO
|
||||||
|
|
||||||
## @todo This file duplicates a lot of script with vboxadd.sh. When making
|
|
||||||
# changes please try to reduce differences between the two wherever possible.
|
|
||||||
|
|
||||||
## @todo Remove the stop_vms target so that this script is only relevant to
|
|
||||||
# kernel modules. Nice but not urgent.
|
|
||||||
|
|
||||||
PATH=/sbin:/bin:/usr/sbin:/usr/bin:$PATH
|
PATH=/sbin:/bin:/usr/sbin:/usr/bin:$PATH
|
||||||
DEVICE=/dev/vboxdrv
|
DEVICE=/dev/vboxdrv
|
||||||
LOG="/var/log/vbox-install.log"
|
LOG="/var/log/vbox-install.log"
|
||||||
@ -66,11 +60,6 @@ fi
|
|||||||
|
|
||||||
[ -r /etc/default/virtualbox ] && . /etc/default/virtualbox
|
[ -r /etc/default/virtualbox ] && . /etc/default/virtualbox
|
||||||
|
|
||||||
# Preamble for Gentoo
|
|
||||||
if [ "`which $0`" = "/sbin/rc" ]; then
|
|
||||||
shift
|
|
||||||
fi
|
|
||||||
|
|
||||||
begin_msg()
|
begin_msg()
|
||||||
{
|
{
|
||||||
test -n "${2}" && echo "${SCRIPTNAME}: ${1}."
|
test -n "${2}" && echo "${SCRIPTNAME}: ${1}."
|
||||||
@ -297,56 +286,6 @@ stop_drv()
|
|||||||
succ_msg "VirtualBox services stopped"
|
succ_msg "VirtualBox services stopped"
|
||||||
}
|
}
|
||||||
|
|
||||||
stop_vms()
|
|
||||||
{
|
|
||||||
OLD_IFS=$IFS
|
|
||||||
IFS=$'\n'
|
|
||||||
# read config file
|
|
||||||
[ -r /etc/default/virtualbox ] && . /etc/default/virtualbox
|
|
||||||
[ -z "$VBOXAUTOSTART_DB" ] && return
|
|
||||||
[ -z "$VBOXAUTOSTART_CONFIG" ] && return
|
|
||||||
# read autostart config file
|
|
||||||
if [ -r $VBOXAUTOSTART_CONFIG ]; then
|
|
||||||
# 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
|
|
||||||
}
|
|
||||||
|
|
||||||
start_vms()
|
|
||||||
{
|
|
||||||
OLD_IFS=$IFS
|
|
||||||
IFS=$'\n'
|
|
||||||
# read config file
|
|
||||||
[ -r /etc/default/virtualbox ] && . /etc/default/virtualbox
|
|
||||||
[ -z "$VBOXAUTOSTART_DB" ] && return
|
|
||||||
[ -z "$VBOXAUTOSTART_CONFIG" ] && return
|
|
||||||
# read autostart config file
|
|
||||||
if [ -r $VBOXAUTOSTART_CONFIG ]; then
|
|
||||||
# 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
|
|
||||||
}
|
|
||||||
|
|
||||||
cleanup_vb()
|
cleanup_vb()
|
||||||
{
|
{
|
||||||
for i in /lib/modules/*; do
|
for i in /lib/modules/*; do
|
||||||
@ -410,15 +349,10 @@ dmnstatus()
|
|||||||
case "$1" in
|
case "$1" in
|
||||||
start)
|
start)
|
||||||
start_drv
|
start_drv
|
||||||
start_vms
|
|
||||||
;;
|
;;
|
||||||
stop)
|
stop)
|
||||||
stop_vms
|
|
||||||
stop_drv
|
stop_drv
|
||||||
;;
|
;;
|
||||||
stop_vms)
|
|
||||||
stop_vms
|
|
||||||
;;
|
|
||||||
restart)
|
restart)
|
||||||
"$0" stop && "$0" start
|
"$0" stop && "$0" start
|
||||||
;;
|
;;
|
||||||
|
@ -3,6 +3,6 @@
|
|||||||
%dir /lib/modules/%2-%1/extra
|
%dir /lib/modules/%2-%1/extra
|
||||||
/lib/modules/%2-%1/extra/vboxsf.ko
|
/lib/modules/%2-%1/extra/vboxsf.ko
|
||||||
/lib/modules/%2-%1/extra/vboxguest.ko
|
/lib/modules/%2-%1/extra/vboxguest.ko
|
||||||
%if 0%{?suse_version} == 1500
|
%if 0%{?suse_version} >= 1500
|
||||||
/lib/modules/%2-%1/extra/vboxvideo.ko
|
/lib/modules/%2-%1/extra/vboxvideo.ko
|
||||||
%endif
|
%endif
|
||||||
|
@ -1,3 +1,65 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu May 30 02:58:13 UTC 2019 - Larry Finger <Larry.Finger@gmail.com>
|
||||||
|
|
||||||
|
- Kernel 5.2, now in Kernel_HEAD_stardard, has some API changes. These are
|
||||||
|
handled in the new file "fixes_for_5.2.patch".
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue May 28 03:58:33 UTC 2019 - Larry Finger <Larry.Finger@gmail.com>
|
||||||
|
|
||||||
|
- Unused file "fix_LTO_builds.patch" removed.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon May 27 09:07:45 UTC 2019 - Hans-Peter Jansen <hpj@urpla.net>
|
||||||
|
|
||||||
|
- separate vboxautostart.sh from vboxdrv.sh
|
||||||
|
- add vboxautostart.service
|
||||||
|
- clean up vboxdrv.sh
|
||||||
|
- fix build of vboxvideo kernel module by replacing the relative
|
||||||
|
drm include patch with an absolute include path (with sed)
|
||||||
|
- build vboxvideo kernel module for openSUSE >= 15.0
|
||||||
|
- apply fixes_for_Leap15.1.patch conditionally only
|
||||||
|
- add minimal patch fixes_for_Leap42.3.patch to build for 42.3
|
||||||
|
- fix path typo: %{_datadir}/pixmaps/virtalbox
|
||||||
|
-> %{_datadir}/pixmaps/virtualbox
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu May 16 17:50:44 UTC 2019 - Larry Finger <Larry.Finger@gmail.com>
|
||||||
|
|
||||||
|
- Version bump to 6.0.8 (released May 13 2019 by Oracle)
|
||||||
|
|
||||||
|
This is a maintenance release. The following items were fixed and/or added:
|
||||||
|
|
||||||
|
Core: fix saved state resume failures (bugs #18265 and #18331)
|
||||||
|
User interface: show full file location in New Medium window.
|
||||||
|
User interface: fix mouse click pass-through problems in multi-screen virtual machines (6.0.6 regression, bug #18567)
|
||||||
|
Graphics: fixed a crash when powering off a VM without graphics controller (bug #18570)
|
||||||
|
API: partial fix for dealing with VM config conflicting with other VMs related to medium UUIDs, now correctly flags VM as inaccessible (bug #17908)
|
||||||
|
Linux hosts: fix kernel module build breakage in non-default build set-ups (bug #18620, thank you Ambroz Bizjak)
|
||||||
|
Linux hosts: fix kernel module build breakage in debug build set-ups (bug #18621, thank you Ambroz Bizjak)
|
||||||
|
Windows guests: notice file size increases in shared folders which were missed in certain cases
|
||||||
|
Linux guests: make shared folders work with Linux 3.16.35
|
||||||
|
Linux guests: fix incorrectly read-only shared folders (bug #18345)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed May 15 22:08:58 UTC 2019 - Larry Finger <Larry.Finger@gmail.com>
|
||||||
|
|
||||||
|
- Modify "fixes_for_qt13.1" for i586 builds qith Qt 5.13
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Apr 30 22:50:12 UTC 2019 - Larry Finger <Larry.Finger@gmail.com>
|
||||||
|
|
||||||
|
- Limit all architectures to a maxium of 2 jobs. Without this restriction, 32-bit builds run
|
||||||
|
out of memory, and 64-bit builds get strange crashes.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Apr 29 17:21:00 UTC 2019 - Larry Finger <Larry.Finger@gmail.com>
|
||||||
|
|
||||||
|
- LTO builds still failing. Reset flag to nil.
|
||||||
|
|
||||||
|
- Changed the way that the spec file limits the 32-bit builds to 2 threads. boo#1133492.
|
||||||
|
If enough memory were allocated so that the full number of workers were allowed, the job would never be scheduled.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Apr 26 10:28:40 UTC 2019 - mvetter@suse.com
|
Fri Apr 26 10:28:40 UTC 2019 - mvetter@suse.com
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
# license that conforms to the Open Source Definition (Version 1.9)
|
# license that conforms to the Open Source Definition (Version 1.9)
|
||||||
# published by the Open Source Initiative.
|
# published by the Open Source Initiative.
|
||||||
|
|
||||||
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
@ -38,11 +38,16 @@ python3 -O -c "import sys, os, compileall; br='%{buildroot}'; compileall.compile
|
|||||||
# Do not provide libGL.so symbols - they are owned by Mesa already and this could potentially confuse rpm/zypp
|
# Do not provide libGL.so symbols - they are owned by Mesa already and this could potentially confuse rpm/zypp
|
||||||
%global __provides_exclude ^libE?GL.so.1.*$
|
%global __provides_exclude ^libE?GL.so.1.*$
|
||||||
|
|
||||||
|
# With 32-bit builds, the job limit cannot be larger than 2, otherwise the build runs out of memory.
|
||||||
|
# For 64-bit builds, no memory limit is reached when more jobs are run, but the builds crash with strange errors.
|
||||||
|
# For the above reasons, limit the number of jobs to 2.
|
||||||
|
%define _smp_mflags -j2
|
||||||
|
|
||||||
%define _vbox_instdir %{_libexecdir}/virtualbox
|
%define _vbox_instdir %{_libexecdir}/virtualbox
|
||||||
%define _udevrulesdir /usr/lib/udev/rules.d
|
%define _udevrulesdir /usr/lib/udev/rules.d
|
||||||
Name: virtualbox
|
Name: virtualbox
|
||||||
# ********* If the VB version exceeds 6.0.x, notify the libvirt maintainer!!
|
# ********* If the VB version exceeds 6.0.x, notify the libvirt maintainer!!
|
||||||
Version: 6.0.6
|
Version: 6.0.8
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: VirtualBox is an Emulator
|
Summary: VirtualBox is an Emulator
|
||||||
License: GPL-2.0-or-later
|
License: GPL-2.0-or-later
|
||||||
@ -73,6 +78,8 @@ 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
|
||||||
|
Source24: vboxautostart.sh
|
||||||
Source98: %{name}-rpmlintrc
|
Source98: %{name}-rpmlintrc
|
||||||
Source99: %{name}-patch-source.sh
|
Source99: %{name}-patch-source.sh
|
||||||
#rework init scripts to fit suse needs
|
#rework init scripts to fit suse needs
|
||||||
@ -134,8 +141,12 @@ Patch125: remove_vbox_video_build.patch
|
|||||||
Patch128: fix_lib_search.patch
|
Patch128: fix_lib_search.patch
|
||||||
# Fixes for modified kernel in Leap 15.1
|
# Fixes for modified kernel in Leap 15.1
|
||||||
Patch129: fixes_for_Leap15.1.patch
|
Patch129: fixes_for_Leap15.1.patch
|
||||||
|
# Fixes for modified kernel in Leap 42.3
|
||||||
|
Patch130: fixes_for_Leap42.3.patch
|
||||||
# Fixes for Qt5.13
|
# Fixes for Qt5.13
|
||||||
Patch131: fixes_for_qt5.13.patch
|
Patch131: fixes_for_qt5.13.patch
|
||||||
|
# Fixes for kernel 5.2
|
||||||
|
Patch132: fixes_for_5.2.patch
|
||||||
#endif
|
#endif
|
||||||
Patch999: virtualbox-fix-ui-background-color.patch
|
Patch999: virtualbox-fix-ui-background-color.patch
|
||||||
#
|
#
|
||||||
@ -436,11 +447,20 @@ as an "extpack" for VirtualBox. The implementation is licensed under GPL.
|
|||||||
%patch123 -p1
|
%patch123 -p1
|
||||||
%patch125 -p1
|
%patch125 -p1
|
||||||
%patch128 -p1
|
%patch128 -p1
|
||||||
|
# Tumbleweed, Leap 15.1 and above drm adjustments
|
||||||
|
%if 0%{?suse_version} > 1500 || (0%{?sle_version} >= 150100 && 0%{?is_opensuse})
|
||||||
%patch129 -p1
|
%patch129 -p1
|
||||||
|
%endif
|
||||||
|
# Leap 42.3 adjustments
|
||||||
|
%if 0%{?sle_version} == 120300 && 0%{?is_opensuse}
|
||||||
|
%patch130 -p1
|
||||||
|
%endif
|
||||||
|
# Qt5.13 adjustments
|
||||||
%if %{qt5ver} >= 51300
|
%if %{qt5ver} >= 51300
|
||||||
%patch131 -p1
|
%patch131 -p1
|
||||||
%endif
|
%endif
|
||||||
|
%patch132 -p1
|
||||||
|
# make VB UI background colors look sane again
|
||||||
%patch999 -p1
|
%patch999 -p1
|
||||||
|
|
||||||
#copy user manual
|
#copy user manual
|
||||||
@ -468,8 +488,11 @@ echo "SED = $RPM_BUILD_DIR/VirtualBox-%{version}/kmk_sed" >> LocalConfig.kmk
|
|||||||
####workaround kmk_sed --^
|
####workaround kmk_sed --^
|
||||||
##########################
|
##########################
|
||||||
#
|
#
|
||||||
|
# fix build of vboxvideo kernel module: replace relative drm include path with absolute include path
|
||||||
|
sed -i 's:include/drm:/usr/src/linux/include/drm:' src/VBox/Additions/linux/drm/Makefile.module.kms
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
# Disable LTO - Link Time Optimization
|
||||||
%define _lto_cflags %{nil}
|
%define _lto_cflags %{nil}
|
||||||
#ensure we don't ever use them
|
#ensure we don't ever use them
|
||||||
rm -rf src/libs/{libpng-*,libxml2-*,libxslt-*,zlib-*,boost-*}
|
rm -rf src/libs/{libpng-*,libxml2-*,libxslt-*,zlib-*,boost-*}
|
||||||
@ -494,8 +517,7 @@ source ./env.sh
|
|||||||
# VBOX_PATH_PACKAGE_DOCS set propper path for link to pdf in .desktop file
|
# VBOX_PATH_PACKAGE_DOCS set propper path for link to pdf in .desktop file
|
||||||
# VBOX_WITH_REGISTRATION_REQUEST= VBOX_WITH_UPDATE_REQUEST= just disable some functionality in gui
|
# VBOX_WITH_REGISTRATION_REQUEST= VBOX_WITH_UPDATE_REQUEST= just disable some functionality in gui
|
||||||
echo "build basic parts"
|
echo "build basic parts"
|
||||||
# To keep memory requirements within bounds, limit make to 2 jobs
|
%{_bindir}/kmk %_smp_mflags \
|
||||||
%{_bindir}/kmk -j2 \
|
|
||||||
VBOX_GCC_WERR= \
|
VBOX_GCC_WERR= \
|
||||||
KBUILD_VERBOSE=2 \
|
KBUILD_VERBOSE=2 \
|
||||||
VBOX_USE_SYSTEM_XORG_HEADERS=1 \
|
VBOX_USE_SYSTEM_XORG_HEADERS=1 \
|
||||||
@ -520,7 +542,7 @@ install -D -m 644 "COPYING" "%{buildroot}%{_datadir}/licenses/LICENSE.vnc"
|
|||||||
# host modules : vboxdrv,vboxnetflt,vboxnetadp,vboxpci
|
# host modules : vboxdrv,vboxnetflt,vboxnetadp,vboxpci
|
||||||
# guest modules : vboxguest,vboxsf vboxvideo (for Leap 15.1)
|
# guest modules : vboxguest,vboxsf vboxvideo (for Leap 15.1)
|
||||||
echo "build kernel modules"
|
echo "build kernel modules"
|
||||||
%if 0%{?suse_version} == 1500
|
%if 0%{?suse_version} >= 1500
|
||||||
for vbox_module in out/linux.*/release/bin/src/vbox{drv,netflt,netadp,pci} \
|
for vbox_module in out/linux.*/release/bin/src/vbox{drv,netflt,netadp,pci} \
|
||||||
out/linux.*/release/bin/additions/src/vbox{guest,sf,video}; do
|
out/linux.*/release/bin/additions/src/vbox{guest,sf,video}; do
|
||||||
%else
|
%else
|
||||||
@ -548,14 +570,15 @@ for vbox_module in out/linux.*/release/bin/src/vbox{drv,netflt,netadp,pci} \
|
|||||||
cp $PWD/modules_build_dir/$flavor/vboxdrv/Module.symvers \
|
cp $PWD/modules_build_dir/$flavor/vboxdrv/Module.symvers \
|
||||||
$PWD/modules_build_dir/$flavor/$module_name
|
$PWD/modules_build_dir/$flavor/$module_name
|
||||||
fi
|
fi
|
||||||
# copy vboxguest (for guest) module symbols which are used by vboxsf km:
|
# copy vboxguest (for guest) module symbols which are used by vboxsf and vboxvideo km's:
|
||||||
if [ "$module_name" = "vboxsf" ]; then
|
if [ "$module_name" = "vboxsf" -o \
|
||||||
|
"$module_name" = "vboxvideo" ] ; then
|
||||||
cp $PWD/modules_build_dir/$flavor/vboxguest/Module.symvers \
|
cp $PWD/modules_build_dir/$flavor/vboxguest/Module.symvers \
|
||||||
$PWD/modules_build_dir/$flavor/$module_name
|
$PWD/modules_build_dir/$flavor/$module_name
|
||||||
fi
|
fi
|
||||||
# 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
|
M=$PWD/modules_build_dir/$flavor/$module_name V=1
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
|
|
||||||
@ -592,7 +615,7 @@ export INSTALL_MOD_DIR=extra
|
|||||||
export INITRD_IN_POSTTRANS=1
|
export INITRD_IN_POSTTRANS=1
|
||||||
export KMP_NEEDS_MKINITRD=0
|
export KMP_NEEDS_MKINITRD=0
|
||||||
#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 0%{?suse_version} == 1500
|
%if 0%{?suse_version} >= 1500
|
||||||
for module_name in vbox{drv,netflt,pci,netadp,guest,sf,video}
|
for module_name in vbox{drv,netflt,pci,netadp,guest,sf,video}
|
||||||
%else
|
%else
|
||||||
for module_name in vbox{drv,netflt,pci,netadp,guest,sf}
|
for module_name in vbox{drv,netflt,pci,netadp,guest,sf}
|
||||||
@ -707,13 +730,18 @@ 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
|
||||||
# Init script to start virtual boxes during boot
|
install -m 0644 %{SOURCE23} %{buildroot}%{_unitdir}/vboxautostart.service
|
||||||
|
ln -s -f %{_sbindir}/service %{buildroot}%{_sbindir}/rcvboxautostart
|
||||||
|
install -m 0755 %{SOURCE24} %{buildroot}%{_vbox_instdir}/vboxautostart.sh
|
||||||
|
# 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
|
||||||
|
|
||||||
# config file for vboxdrv script and vboxweb
|
# config file for vboxdrv and vboxweb
|
||||||
install -d -m 755 %{buildroot}%{_sysconfdir}/vbox
|
install -d -m 755 %{buildroot}%{_sysconfdir}/vbox
|
||||||
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
|
||||||
cat > %{buildroot}%{_sysconfdir}/vbox/autostart.cfg << EOF
|
cat > %{buildroot}%{_sysconfdir}/vbox/autostart.cfg << EOF
|
||||||
default_policy = deny
|
default_policy = deny
|
||||||
# Create an entry for each user allowed to use autostart
|
# Create an entry for each user allowed to use autostart
|
||||||
@ -759,11 +787,11 @@ popd
|
|||||||
######################################################
|
######################################################
|
||||||
echo "entering virtualbox-guest-desktop-icons install section"
|
echo "entering virtualbox-guest-desktop-icons install section"
|
||||||
######################################################
|
######################################################
|
||||||
install -d -m 755 %{buildroot}%{_datadir}/pixmaps/virtalbox
|
install -d -m 755 %{buildroot}%{_datadir}/pixmaps/virtualbox
|
||||||
|
|
||||||
pushd src/VBox/Frontends/VirtualBox/images
|
pushd src/VBox/Frontends/VirtualBox/images
|
||||||
for icon in os_*.png; do
|
for icon in os_*.png; do
|
||||||
install -m 644 "$icon" %{buildroot}%{_datadir}/pixmaps/virtalbox/"$icon";
|
install -m 644 "$icon" %{buildroot}%{_datadir}/pixmaps/virtualbox/"$icon";
|
||||||
done
|
done
|
||||||
popd
|
popd
|
||||||
#
|
#
|
||||||
@ -775,7 +803,7 @@ popd
|
|||||||
#also some translation files are duplicated
|
#also some translation files are duplicated
|
||||||
%fdupes %{buildroot}/%{_datadir}/virtualbox/nls
|
%fdupes %{buildroot}/%{_datadir}/virtualbox/nls
|
||||||
#also some icon files are duplicated
|
#also some icon files are duplicated
|
||||||
%fdupes %{buildroot}/%{_datadir}/pixmaps/virtalbox
|
%fdupes %{buildroot}/%{_datadir}/pixmaps/virtualbox
|
||||||
|
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
@ -786,12 +814,13 @@ 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
|
||||||
|
|
||||||
%pre guest-tools
|
%pre guest-tools
|
||||||
# Add groups for seamless mode and shared folders:
|
# Add groups for seamless mode and shared folders:
|
||||||
getent group vboxguest >/dev/null || groupadd -r vboxguest
|
getent group vboxguest >/dev/null || groupadd -r vboxguest
|
||||||
getent group vboxsf >/dev/null || groupadd -r vboxsf
|
getent group vboxsf >/dev/null || groupadd -r vboxsf
|
||||||
%if 0%{?suse_version} == 1500
|
%if 0%{?suse_version} >= 1500
|
||||||
getent group vboxvideo >/dev/null || groupadd -r vboxvideo
|
getent group vboxvideo >/dev/null || groupadd -r vboxvideo
|
||||||
%endif
|
%endif
|
||||||
%service_add_pre vboxadd-service.service
|
%service_add_pre vboxadd-service.service
|
||||||
@ -811,6 +840,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
|
||||||
# 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
|
||||||
@ -854,7 +884,9 @@ VBoxManage extpack install --replace "${EXTPACK}" --accept-license="${ACCEPT}" >
|
|||||||
#######################################################
|
#######################################################
|
||||||
|
|
||||||
%preun
|
%preun
|
||||||
|
%stop_on_removal vboxautostart
|
||||||
%stop_on_removal vboxdrv
|
%stop_on_removal vboxdrv
|
||||||
|
%service_del_preun vboxautostart.service
|
||||||
%service_del_preun vboxdrv.service
|
%service_del_preun vboxdrv.service
|
||||||
exit 0
|
exit 0
|
||||||
|
|
||||||
@ -876,8 +908,10 @@ exit 0
|
|||||||
%postun
|
%postun
|
||||||
/sbin/ldconfig
|
/sbin/ldconfig
|
||||||
%restart_on_update vboxdrv
|
%restart_on_update vboxdrv
|
||||||
|
%restart_on_update vboxautostart
|
||||||
# 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
|
||||||
export DISABLE_RESTART_ON_UPDATE=yes
|
export DISABLE_RESTART_ON_UPDATE=yes
|
||||||
|
%service_del_postun vboxautostart.service
|
||||||
%service_del_postun vboxdrv.service
|
%service_del_postun vboxdrv.service
|
||||||
|
|
||||||
%postun guest-tools
|
%postun guest-tools
|
||||||
@ -947,9 +981,13 @@ 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
|
||||||
%{_unitdir}/vboxdrv.service
|
%{_unitdir}/vboxdrv.service
|
||||||
|
%{_unitdir}/vboxautostart.service
|
||||||
%{_unitdir}/multi-user.target.wants/vboxdrv.service
|
%{_unitdir}/multi-user.target.wants/vboxdrv.service
|
||||||
|
%{_unitdir}/multi-user.target.wants/vboxautostart.service
|
||||||
%{_sbindir}/rcvboxdrv
|
%{_sbindir}/rcvboxdrv
|
||||||
|
%{_sbindir}/rcvboxautostart
|
||||||
/sbin/vboxconfig
|
/sbin/vboxconfig
|
||||||
%{_vbox_instdir}/VBoxCreateUSBNode.sh
|
%{_vbox_instdir}/VBoxCreateUSBNode.sh
|
||||||
%verify(not mode) %attr(0750,root,vboxusers) %{_vbox_instdir}/VBoxNetNAT
|
%verify(not mode) %attr(0750,root,vboxusers) %{_vbox_instdir}/VBoxNetNAT
|
||||||
@ -1059,8 +1097,8 @@ export DISABLE_RESTART_ON_UPDATE=yes
|
|||||||
|
|
||||||
%files guest-desktop-icons
|
%files guest-desktop-icons
|
||||||
%defattr(-,root, root)
|
%defattr(-,root, root)
|
||||||
%dir %{_datadir}/pixmaps/virtalbox
|
%dir %{_datadir}/pixmaps/virtualbox
|
||||||
%{_datadir}/pixmaps/virtalbox/*.png
|
%{_datadir}/pixmaps/virtualbox/*.png
|
||||||
|
|
||||||
%files vnc
|
%files vnc
|
||||||
%defattr(-,root, root)
|
%defattr(-,root, root)
|
||||||
|
Loading…
Reference in New Issue
Block a user