1
0
forked from pool/virtualbox

Accepting request 390825 from home:lwfinger:branches:Virtualization

=Version bump to 5.0.18

OBS-URL: https://build.opensuse.org/request/show/390825
OBS-URL: https://build.opensuse.org/package/show/Virtualization/virtualbox?expand=0&rev=251
This commit is contained in:
Ismail Dönmez 2016-04-20 17:24:34 +00:00 committed by Git OBS Bridge
parent ae2df53d7c
commit f725b69be8
7 changed files with 40 additions and 314 deletions

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:695b21a9460b46629d5917c2a7651302044620d730e038c1e69398467392a911
size 3489132
oid sha256:3d42ff4874bf755bbd24926ecce68ceace8f00f9a098f829ecf2dcb66040354e
size 3492049

View File

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

View File

@ -1,267 +0,0 @@
Index: src/VBox/Additions/linux/drm/vbox_drv.h
===================================================================
--- src/VBox/Additions/linux/drm/vbox_drv.h (revision 106108)
+++ src/VBox/Additions/linux/drm/vbox_drv.h (revision 106140)
@@ -118,6 +118,9 @@
struct mutex hw_mutex;
bool isr_installed;
+ /** Have we finished fbdev initialisation? We limit reported display
+ * modes to 800x600 until this point to get a sensible console size. */
+ bool fbdev_init;
struct work_struct hotplug_work;
};
Index: src/VBox/Additions/linux/drm/vbox_mode.c
===================================================================
--- src/VBox/Additions/linux/drm/vbox_mode.c (revision 106108)
+++ src/VBox/Additions/linux/drm/vbox_mode.c (revision 106140)
@@ -426,11 +426,15 @@
{
struct vbox_connector *vbox_connector = NULL;
struct drm_display_mode *mode = NULL;
+ struct vbox_private *vbox = NULL;
unsigned num_modes = 0;
int preferred_width, preferred_height;
LogFunc(("vboxvideo: %d: connector=%p\n", __LINE__, connector));
vbox_connector = to_vbox_connector(connector);
+ vbox = connector->dev->dev_private;
+ if (!vbox->fbdev_init)
+ return drm_add_modes_noedid(connector, 800, 600);
num_modes = drm_add_modes_noedid(connector, 2560, 1600);
preferred_width = vbox_connector->mode_hint.width ? vbox_connector->mode_hint.width : 1024;
preferred_height = vbox_connector->mode_hint.height ? vbox_connector->mode_hint.height : 768;
@@ -691,5 +695,8 @@
static int vbox_cursor_move(struct drm_crtc *crtc,
int x, int y)
{
+ struct vbox_private *vbox = crtc->dev->dev_private;
+
+ VBoxHGSMICursorPosition(&vbox->submit_info, true, x, y, NULL, NULL);
return 0;
}
Index: src/VBox/Additions/linux/drm/vbox_fb.c
===================================================================
--- src/VBox/Additions/linux/drm/vbox_fb.c (revision 106108)
+++ src/VBox/Additions/linux/drm/vbox_fb.c (revision 106140)
@@ -438,6 +438,7 @@
ret = drm_fb_helper_initial_config(&fbdev->helper, 32);
if (ret)
goto fini;
+ vbox->fbdev_init = true;
LogFunc(("vboxvideo: %d\n", __LINE__));
return 0;
Index: src/VBox/Additions/linux/drm/vbox_drv.c
===================================================================
--- src/VBox/Additions/linux/drm/vbox_drv.c (revision 106108)
+++ src/VBox/Additions/linux/drm/vbox_drv.c (revision 106140)
@@ -257,7 +257,7 @@
/* Do not load if any of the virtual consoles is in graphics mode to be
* sure that we do not pick a fight with a user-mode driver or VESA. */
for (i = 0; i < MAX_NR_CONSOLES - 1; ++i)
- if (vc_cons[i].d->vc_mode == KD_GRAPHICS)
+ if (vc_cons[i].d && vc_cons[i].d->vc_mode == KD_GRAPHICS)
return -EINVAL;
return drm_pci_init(&driver, &vbox_pci_driver);
Index: src/VBox/Additions/linux/installer/vboxadd-x11.sh
===================================================================
--- src/VBox/Additions/linux/installer/vboxadd-x11.sh (revision 106108)
+++ src/VBox/Additions/linux/installer/vboxadd-x11.sh (revision 106140)
@@ -424,7 +424,7 @@
}
# Do not install if we can use the kernel driver.
case `uname -r` in
- 1.* | 2.* | 3.[0-9].* | 3.11 ) ;;
+ 1.* | 2.* | 3.[0-9].* | 3.10.* ) ;;
* ) vboxvideo_src="" ;;
esac
;;
Index: src/VBox/Additions/common/crOpenGL/egl.c
===================================================================
--- src/VBox/Additions/common/crOpenGL/egl.c (revision 106108)
+++ src/VBox/Additions/common/crOpenGL/egl.c (revision 106140)
@@ -910,6 +910,13 @@
return setEGLError(EGL_BAD_MATCH);
}
+DECLEXPORT(EGLBoolean) eglSwapInterval (EGLDisplay dpy, EGLint interval)
+{
+ NOREF(dpy);
+ NOREF(interval);
+ return EGL_TRUE;
+}
+
typedef void (*VBEGLFuncPtr)(void);
DECLEXPORT(VBEGLFuncPtr)eglGetProcAddress(const char *pszName)
{
Index: src/VBox/Additions/x11/vboxvideo/vboxvideo.c
===================================================================
--- src/VBox/Additions/x11/vboxvideo/vboxvideo.c (revision 106108)
+++ src/VBox/Additions/x11/vboxvideo/vboxvideo.c (revision 106140)
@@ -1010,102 +1010,8 @@
}
#endif
-#ifdef VBOXVIDEO_13
+#ifndef VBOXVIDEO_13
-static void setVirtualSizeRandR12(ScrnInfoPtr pScrn, bool fScreenInitTime)
-{
- VBOXPtr pVBox = VBOXGetRec(pScrn);
- unsigned i;
- unsigned cx = 0;
- unsigned cy = 0;
-
- for (i = 0; i < pVBox->cScreens; ++i)
- {
- if ( pVBox->fHaveHGSMIModeHints && pVBox->pScreens[i].afHaveLocation)
- {
- pVBox->pScreens[i].paCrtcs->x = pVBox->pScreens[i].aPreferredLocation.x;
- pVBox->pScreens[i].paCrtcs->y = pVBox->pScreens[i].aPreferredLocation.y;
- }
- if ( pVBox->pScreens[i].paOutputs->status == XF86OutputStatusConnected
- && pVBox->pScreens[i].paCrtcs->x + pVBox->pScreens[i].aPreferredSize.cx < VBOX_VIDEO_MAX_VIRTUAL
- && pVBox->pScreens[i].paCrtcs->y + pVBox->pScreens[i].aPreferredSize.cy < VBOX_VIDEO_MAX_VIRTUAL)
- {
- cx = max(cx, pVBox->pScreens[i].paCrtcs->x + pVBox->pScreens[i].aPreferredSize.cx);
- cy = max(cy, pVBox->pScreens[i].paCrtcs->y + pVBox->pScreens[i].aPreferredSize.cy);
- }
- }
- if (cx != 0 && cy != 0)
- {
- /* Do not set the virtual resolution in limited context as that can
- * cause problems setting up RandR 1.2 which needs it set to the
- * maximum size at this point. */
- if (!fScreenInitTime)
- {
- TRACE_LOG("cx=%u, cy=%u\n", cx, cy);
- xf86ScrnToScreen(pScrn)->width = cx;
- xf86ScrnToScreen(pScrn)->height = cy;
- xf86ScrnToScreen(pScrn)->mmWidth = cx * 254 / 960;
- xf86ScrnToScreen(pScrn)->mmHeight = cy * 254 / 960;
- adjustScreenPixmap(pScrn, cx, cy);
- vbvxSetSolarisMouseRange(cx, cy);
- }
- }
-}
-
-static void setScreenSizesRandR12(ScrnInfoPtr pScrn, bool fScreenInitTime)
-{
- VBOXPtr pVBox = VBOXGetRec(pScrn);
- unsigned i;
-
- for (i = 0; i < pVBox->cScreens; ++i)
- {
- if (!pVBox->pScreens[i].afConnected)
- continue;
- /* The Crtc can get "unset" if the screen was disconnected previously.
- * I couldn't find an API to re-set it which did not have side-effects.
- */
- pVBox->pScreens[i].paOutputs->crtc = pVBox->pScreens[i].paCrtcs;
- xf86CrtcSetMode(pVBox->pScreens[i].paCrtcs, pVBox->pScreens[i].paOutputs->probed_modes, RR_Rotate_0,
- pVBox->pScreens[i].paCrtcs->x, pVBox->pScreens[i].paCrtcs->y);
- if (!fScreenInitTime)
- RRCrtcNotify(pVBox->pScreens[i].paCrtcs->randr_crtc, pVBox->pScreens[i].paOutputs->randr_output->modes[0],
- pVBox->pScreens[i].paCrtcs->x, pVBox->pScreens[i].paCrtcs->y, RR_Rotate_0,
-#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) >= 5
- NULL,
-#endif
- 1, &pVBox->pScreens[i].paOutputs->randr_output);
- }
-}
-
-static void setSizesRandR12(ScrnInfoPtr pScrn, bool fScreenInitTime)
-{
- VBOXPtr pVBox = VBOXGetRec(pScrn);
-
- if (!fScreenInitTime)
- {
-# if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) >= 5
- RRGetInfo(xf86ScrnToScreen(pScrn), TRUE);
-# else
- RRGetInfo(xf86ScrnToScreen(pScrn));
-# endif
- }
- setVirtualSizeRandR12(pScrn, fScreenInitTime);
- setScreenSizesRandR12(pScrn, fScreenInitTime);
- if (!fScreenInitTime)
- {
- /* We use RRScreenSizeSet() here and not RRScreenSizeNotify() because
- * the first also pushes the virtual screen size to the input driver.
- * We were doing this manually by setting screenInfo.width and height
- * and calling xf86UpdateDesktopDimensions() where appropriate, but this
- * failed on Ubuntu 12.04.0 due to a problematic X server back-port. */
- RRScreenSizeSet(xf86ScrnToScreen(pScrn), xf86ScrnToScreen(pScrn)->width, xf86ScrnToScreen(pScrn)->height,
- xf86ScrnToScreen(pScrn)->mmWidth, xf86ScrnToScreen(pScrn)->mmHeight);
- RRTellChanged(xf86ScrnToScreen(pScrn));
- }
-}
-
-#else
-
#define PREFERRED_MODE_ATOM_NAME "VBOXVIDEO_PREFERRED_MODE"
static void setSizesRandR11(ScrnInfoPtr pScrn)
@@ -1131,7 +1037,11 @@
TRACE_LOG("fScreenInitTime=%d\n", (int)fScreenInitTime);
#ifdef VBOXVIDEO_13
- setSizesRandR12(pScrn, fScreenInitTime);
+# if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) >= 5
+ RRGetInfo(xf86ScrnToScreen(pScrn), TRUE);
+# else
+ RRGetInfo(xf86ScrnToScreen(pScrn));
+# endif
#else
setSizesRandR11(pScrn);
#endif
@@ -1246,8 +1156,6 @@
if (ShadowFBInit2(pScreen, NULL, vbvxHandleDirtyRect) != TRUE)
return FALSE;
VBoxInitialiseSizeHints(pScrn);
- /* Get any screen size hints from HGSMI. */
- vbvxReadSizesAndCursorIntegrationFromHGSMI(pScrn, NULL);
#ifdef VBOXVIDEO_13
/* Initialise CRTC and output configuration for use with randr1.2. */
@@ -1304,7 +1212,9 @@
}
/* set first video mode */
- setSizesAndCursorIntegration(pScrn, true);
+ if (!xf86SetDesiredModes(pScrn)) {
+ return FALSE;
+ }
#else
/* set first video mode */
setModeRandR11(pScrn, pScrn->currentMode, true, false, 0, 0);
@@ -1368,8 +1278,9 @@
vboxEnableVbva(pScrn);
/* Re-set video mode */
#ifdef VBOXVIDEO_13
- vbvxReadSizesAndCursorIntegrationFromHGSMI(pScrn, NULL);
- setSizesAndCursorIntegration(pScrn, false);
+ if (!xf86SetDesiredModes(pScrn)) {
+ return FALSE;
+ }
#else
updateGraphicsCapability(pScrn, TRUE);
setModeRandR11(pScrn, pScrn->currentMode, false, true, cXOverRide, cYOverRide);
Index: src/VBox/Frontends/VirtualBox/src/platform/darwin/UICocoaApplication.mm
===================================================================
--- src/VBox/Frontends/VirtualBox/src/platform/darwin/UICocoaApplication.mm (revision 106108)
+++ src/VBox/Frontends/VirtualBox/src/platform/darwin/UICocoaApplication.mm (revision 106140)
@@ -88,6 +88,10 @@
if (self)
m_pCallbacks = [[NSMutableArray alloc] init];
+ /* Gently disable El Capitan tries to break everything with the Enter Full Screen action.
+ * S.a. https://developer.apple.com/library/mac/releasenotes/AppKit/RN-AppKit/ for reference. */
+ [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"NSFullScreenMenuItemEverywhere"];
+
return self;
}

View File

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

View File

@ -1,35 +0,0 @@
Index: VirtualBox-5.0.17/src/VBox/Additions/linux/sharedfolders/regops.c
===================================================================
--- VirtualBox-5.0.17.orig/src/VBox/Additions/linux/sharedfolders/regops.c
+++ VirtualBox-5.0.17/src/VBox/Additions/linux/sharedfolders/regops.c
@@ -712,7 +712,7 @@ int sf_write_end(struct file *file, stru
}
unlock_page(page);
- page_cache_release(page);
+ put_page(page);
return nwritten;
}
Index: VirtualBox-5.0.17/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
===================================================================
--- VirtualBox-5.0.17.orig/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
+++ VirtualBox-5.0.17/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
@@ -578,7 +578,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR
{
if (!PageReserved(pMemLnx->apPages[iPage]))
SetPageDirty(pMemLnx->apPages[iPage]);
- page_cache_release(pMemLnx->apPages[iPage]);
+ put_page(pMemLnx->apPages[iPage]);
}
if (pTask && pTask->mm)
@@ -1081,7 +1081,7 @@ DECLHIDDEN(int) rtR0MemObjNativeLockUser
{
if (!PageReserved(pMemLnx->apPages[rc]))
SetPageDirty(pMemLnx->apPages[rc]);
- page_cache_release(pMemLnx->apPages[rc]);
+ put_page(pMemLnx->apPages[rc]);
}
up_read(&pTask->mm->mmap_sem);

View File

@ -1,3 +1,37 @@
-------------------------------------------------------------------
Wed Apr 20 05:02:21 UTC 2016 - Larry.Finger@lwfinger.net
- Version bump to 5.0.18 (released 2016-04-18 by Oracle)
This is a maintenance release. The following items were fixed and/or added:
GUI: position off-screen windows to be fully visible again on relaunch in consistence with default-behavior (bug #15226)
GUI: fixed the View menu / Full-screen Mode behavior on Mac OS X El Capitan
GUI: fixed a test which allowed to encrypt a hard disk with an empty password
GUI: fixed a crash under certain conditions during VM shutdown
GUI: fixed the size of the VM list scrollbar in the VM selector when entering a group
PC speaker passthrough: fixes (Linux hosts only; bug #627)
Drag and drop: several fixes
SATA: fixed hotplug flag handling when EFI is used
Storage: fixed handling of encrypted disk images with SCSI controllers (bug #14812)
Storage: fixed possible crash with Solaris 7 if the BusLogic SCSI controller is used
USB: properly purge non-ASCII characters from USB strings (bugs #8801, #15222)
NAT Network: fixed 100% CPU load in VBoxNetNAT on Mac OS X under certain circumstances (bug #15223)
ACPI: fixed ACPI tables to make the display color management settings available again for older Windows versions (4.3.22 regression)
Guest Control: fixed VBoxManage copyfrom command (bug #14336)
Snapshots: fixed several problems when removing older snapshots (bug #15206)
VBoxManage: fixed --verbose output of the guestcontrol command
Windows hosts: hardening fixes required for recent Windows 10 insider builds (bugs #15245, #15296)
Windows hosts: fixed support of jumbo frames in with bridged networking (5.0.16 regression; bug #15209)
Windows hosts: don't prevent receiving multicast traffic if host-only adapters are installed (bug #8698)
Linux hosts: added support for the new naming scheme of NVME disks when creating raw disks
Solaris hosts / guests: properly sign the kernel modules (bug #12608)
Linux hosts / guests: Linux 4.5 fixes (bug #15251)
Linux hosts / guests: Linux 4.6 fixes (bug #15298)
Linux Additions: added a kernel graphics driver to support graphics when X.Org does not have root rights (bug #14732)
Linux/Solaris Additions: fixed several issues causing Linux/Solatis guests using software rendering when 3D acceleration is available
Windows Additions: fixed a hang with PowerPoint 2010 and the WDDM drivers if Aero is disabled
-------------------------------------------------------------------
Fri Apr 15 19:17:58 UTC 2016 - Larry.Finger@lwfinger.net

View File

@ -19,7 +19,7 @@
%define _vbox_instdir %{_libexecdir}/virtualbox
%define _udevrulesdir %{_libexecdir}/udev/rules.d
Name: virtualbox
Version: 5.0.17
Version: 5.0.18
Release: 0
Summary: VirtualBox is an Emulator
License: GPL-2.0+
@ -83,12 +83,8 @@ Patch107: virtualbox-sed-params.patch
Patch108: virtualbox-snpritnf-buffer-overflow.patch
# Patch to add code to explain USB Passthru
Patch109: vbox-usb-warning.diff
# Upgrade sources from r106108 to r106140
Patch110: VirtualBox-5.0.17-r106108-r106140.patch
# Prevent Guest Additions from creating wrong SONAME
Patch111: vbox_prevent_wrong_SONAME.patch
# Fix removal of page_cache_release() macro in 4.6 kernels
Patch112: vbox-replace-page-cache-release.diff
#
BuildRequires: LibVNCServer-devel
BuildRequires: SDL-devel
@ -319,9 +315,7 @@ This package contains icons for guest desktop files that were created on the des
%patch107 -p1
%patch108 -p1
%patch109 -p1
%patch110 -p0
%patch111 -p1
%patch112 -p1
#copy user manual
cp %{SOURCE1} UserManual.pdf
#copy kbuild config