rpms/VirtualBox/devel VirtualBox-4.1.20-x113.patch, 1.1, 1.2 VirtualBox-4.2.0-xorg17.patch, 1.1, 1.2 VirtualBox.spec, 1.18, 1.19

Sérgio M. Basto sergiomb at rpmfusion.org
Fri Sep 7 05:03:38 CEST 2012


Author: sergiomb

Update of /cvs/free/rpms/VirtualBox/devel
In directory old02.ovh.rpmfusion.lan:/tmp/cvs-serv21507

Modified Files:
	VirtualBox-4.1.20-x113.patch VirtualBox-4.2.0-xorg17.patch 
	VirtualBox.spec 
Log Message:
* Fri Sep 07 2012 Sérgio Basto <sergio at serjux.com> - 4.2.0-0.4.RC3
- Also Compile guest drives vboxvideo_drv and vboxmouse_drv with X11 sources from system.
- Fix ABI/API breakages in X11 1.13.


VirtualBox-4.1.20-x113.patch:
 vboxvideo.c     |   55 +++++++++++++++++++++++--------------------------------
 vboxvideo.h     |    2 +-
 vboxvideo_dri.c |    4 ++--
 3 files changed, 26 insertions(+), 35 deletions(-)

Index: VirtualBox-4.1.20-x113.patch
===================================================================
RCS file: /cvs/free/rpms/VirtualBox/devel/VirtualBox-4.1.20-x113.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- VirtualBox-4.1.20-x113.patch	3 Sep 2012 03:30:25 -0000	1.1
+++ VirtualBox-4.1.20-x113.patch	7 Sep 2012 03:03:37 -0000	1.2
@@ -1,7 +1,78 @@
 X.org 1.13 patch 
---- a/src/VBox/Additions/x11/vboxvideo/vboxvideo.c.orig	2012-09-02 05:45:06.134994216 +0100
-+++ b/src/VBox/Additions/x11/vboxvideo/vboxvideo.c	2012-09-02 05:45:20.136137244 +0100
-@@ -709,7 +709,7 @@ vboxEnableDisableFBAccess(int scrnIndex,
+Reference: 
+http://www.mail-archive.com/xorg-devel@lists.x.org/msg30282.html
+ [PATCH 01/19] xserver: remove index from CloseScreen (API/ABI breakage) Dave Airlie
+ [PATCH 02/19] xserver: convert block/wakeup handlers to passing ScreenPtr (ABI/API break) Dave
+ Airlie
+ [PATCH 04/19] xf86: modify FreeScreen callback to take pScrn instead of index. (ABI/API) Dave
+     Airlie
+ [PATCH 03/19] xf86: change EnterVT/LeaveVT to take a ScrnInfoPtr (ABI/API break) Dave Airlie
+ [PATCH 07/19] xf86: migrate ValidMode callback to ScrnInfoPtr (ABI/API) Dave Airlie
+ [PATCH 05/19] xf86: move AdjustFrame to passing ScrnInfoPtr (ABI/API) Dave Airlie
+ [PATCH 06/19] xf86: migrate SwitchMode to taking ScrnInfoPtr (ABI/API) Dave Airlie
+ etc...
+--- VirtualBox-4.2.0_RC3/src/VBox/Additions/x11/vboxvideo/vboxvideo_dri.c.x113 	2012-08-29 20:10:30.000000000 +0100
++++ VirtualBox-4.2.0_RC3/src/VBox/Additions/x11/vboxvideo/vboxvideo_dri.c	2012-09-06 23:18:39.671510033 +0100
+@@ -156,11 +156,11 @@ VBOXDoBlockHandler(int screenNum, pointe
+ }
+ #endif
+ 
+-Bool VBOXDRIScreenInit(int scrnIndex, ScreenPtr pScreen, VBOXPtr pVBox)
++Bool VBOXDRIScreenInit(ScreenPtr pScreen, VBOXPtr pVBox)
+ {
+     DRIInfoPtr pDRIInfo = NULL;
+     Bool rc = TRUE;
+-    ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
++    ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
+ 
+     TRACE_ENTRY();
+     pVBox->drmFD = -1;
+--- VirtualBox-4.2.0_RC3/src/VBox/Additions/x11/vboxvideo/vboxvideo.h.x113	2012-09-06 23:42:36.010456357 +0100
++++ VirtualBox-4.2.0_RC3/src/VBox/Additions/x11/vboxvideo/vboxvideo.h	2012-09-06 23:42:49.903562273 +0100
+@@ -234,7 +234,7 @@ extern void vboxAddModes(ScrnInfoPtr pSc
+                          uint32_t cyInit);
+ 
+ /* DRI stuff */
+-extern Bool VBOXDRIScreenInit(int scrnIndex, ScreenPtr pScreen, VBOXPtr pVBox);
++extern Bool VBOXDRIScreenInit(ScreenPtr pScreen, VBOXPtr pVBox);
+ extern Bool VBOXDRIFinishScreenInit(ScreenPtr pScreen);
+ extern void VBOXDRIUpdateStride(ScrnInfoPtr pScrn, VBOXPtr pVBox);
+ extern void VBOXDRICloseScreen(ScreenPtr pScreen, VBOXPtr pVBox);
+--- VirtualBox-4.2.0_RC3/src/VBox/Additions/x11/vboxvideo/vboxvideo.c.x113	2012-08-29 20:10:30.000000000 +0100
++++ VirtualBox-4.2.0_RC3/src/VBox/Additions/x11/vboxvideo/vboxvideo.c	2012-09-06 23:56:40.481894812 +0100
+@@ -108,15 +108,15 @@ static Bool VBOXPciProbe(DriverPtr drv,
+      struct pci_device *dev, intptr_t match_data);
+ #endif
+ static Bool VBOXPreInit(ScrnInfoPtr pScrn, int flags);
+-static Bool VBOXScreenInit(int Index, ScreenPtr pScreen, int argc,
++static Bool VBOXScreenInit(ScreenPtr pScrn, int argc,
+                            char **argv);
+-static Bool VBOXEnterVT(int scrnIndex, int flags);
+-static void VBOXLeaveVT(int scrnIndex, int flags);
++static Bool VBOXEnterVT(ScrnInfoPtr pScrn, int flags);
++static void VBOXLeaveVT(ScrnInfoPtr pScrn, int flags);
+ static Bool VBOXCloseScreen(int scrnIndex, ScreenPtr pScreen);
+ static Bool VBOXSaveScreen(ScreenPtr pScreen, int mode);
+-static Bool VBOXSwitchMode(int scrnIndex, DisplayModePtr pMode, int flags);
+-static void VBOXAdjustFrame(int scrnIndex, int x, int y, int flags);
+-static void VBOXFreeScreen(int scrnIndex, int flags);
++static Bool VBOXSwitchMode(ScrnInfoPtr pScrn, DisplayModePtr pMode, int flags);
++static void VBOXAdjustFrame(ScrnInfoPtr pScrn, int x, int y, int flags);
++static void VBOXFreeScreen(ScrnInfoPtr pScrn, int flags);
+ static void VBOXDisplayPowerManagementSet(ScrnInfoPtr pScrn, int mode,
+                                           int flags);
+ 
+@@ -700,16 +700,14 @@ VBOXProbe(DriverPtr drv, int flags)
+  * restore it or not afterwards.
+  */
+ static void
+-vboxEnableDisableFBAccess(int scrnIndex, Bool enable)
++vboxEnableDisableFBAccess(ScrnInfoPtr pScrn, Bool enable)
+ {
+-    ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
+-    
+     VBOXPtr pVBox = VBOXGetRec(pScrn);
+ 
      TRACE_LOG("enable=%s\n", enable ? "TRUE" : "FALSE");
      VBOXSetRec(pScrn);
      pVBox->accessEnabled = enable;
@@ -10,7 +81,77 @@
      TRACE_EXIT();
  }
  
-@@ -1198,7 +1198,7 @@ VBOXCloseScreen(int scrnIndex, ScreenPtr
+@@ -936,9 +934,9 @@ vboxLoadPalette(ScrnInfoPtr pScrn, int n
+  * End QUOTE.
+  */
+ static Bool
+-VBOXScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
++VBOXScreenInit(ScreenPtr pScreen, int argc, char **argv)
+ {
+-    ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
++    ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
+     VBOXPtr pVBox = VBOXGetRec(pScrn);
+     VisualPtr visual;
+     unsigned flags;
+@@ -960,7 +958,7 @@ VBOXScreenInit(int scrnIndex, ScreenPtr
+         return (FALSE);
+ 
+ #ifdef VBOX_DRI
+-    pVBox->useDRI = VBOXDRIScreenInit(scrnIndex, pScreen, pVBox);
++    pVBox->useDRI = VBOXDRIScreenInit(pScreen, pVBox);
+ #endif
+ 
+     if (!fbScreenInit(pScreen, pVBox->base,
+@@ -1113,7 +1111,7 @@ VBOXScreenInit(int scrnIndex, ScreenPtr
+         xf86ShowUnusedOptions(pScrn->scrnIndex, pScrn->options);
+ 
+     if (vbox_cursor_init(pScreen) != TRUE)
+-        xf86DrvMsg(scrnIndex, X_ERROR,
++        xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+                    "Unable to start the VirtualBox mouse pointer integration with the host system.\n");
+ 
+ #ifdef VBOX_DRI
+@@ -1124,9 +1122,8 @@ VBOXScreenInit(int scrnIndex, ScreenPtr
+ }
+ 
+ static Bool
+-VBOXEnterVT(int scrnIndex, int flags)
++VBOXEnterVT(ScrnInfoPtr pScrn, int flags)
+ {
+-    ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
+     VBOXPtr pVBox = VBOXGetRec(pScrn);
+ 
+     TRACE_ENTRY();
+@@ -1136,7 +1133,7 @@ VBOXEnterVT(int scrnIndex, int flags)
+     pVBox->vtSwitch = FALSE;
+ #ifdef VBOX_DRI
+     if (pVBox->useDRI)
+-        DRIUnlock(screenInfo.screens[scrnIndex]);
++        DRIUnlock(xf86ScrnToScreen(pScrn));
+ #endif
+ #ifdef VBOXVIDEO_13
+     if (!xf86SetDesiredModes(pScrn))
+@@ -1151,9 +1148,8 @@ VBOXEnterVT(int scrnIndex, int flags)
+ }
+ 
+ static void
+-VBOXLeaveVT(int scrnIndex, int flags)
++VBOXLeaveVT(ScrnInfoPtr pScrn, int flags)
+ {
+-    ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
+     VBOXPtr pVBox = VBOXGetRec(pScrn);
+ 
+     TRACE_ENTRY();
+@@ -1165,7 +1161,7 @@ VBOXLeaveVT(int scrnIndex, int flags)
+     vboxDisableGraphicsCap(pVBox);
+ #ifdef VBOX_DRI
+     if (pVBox->useDRI)
+-        DRILock(screenInfo.screens[scrnIndex], 0);
++        DRILock(xf86ScrnToScreen(pScrn), 0);
+ #endif
+     TRACE_EXIT();
+ }
+@@ -1198,23 +1194,21 @@ VBOXCloseScreen(int scrnIndex, ScreenPtr
      /* Remove our observer functions from the X server call chains. */
      pScrn->EnableDisableFBAccess = pVBox->EnableDisableFBAccess;
      pScreen->CloseScreen = pVBox->CloseScreen;
@@ -19,7 +160,16 @@
  }
  
  static Bool
-@@ -1214,7 +1214,7 @@ VBOXSwitchMode(int scrnIndex, DisplayMod
+-VBOXSwitchMode(int scrnIndex, DisplayModePtr pMode, int flags)
++VBOXSwitchMode(ScrnInfoPtr pScrn, DisplayModePtr pMode, int flags)
+ {
+-    ScrnInfoPtr pScrn;
+     VBOXPtr pVBox;
+     Bool rc;
+ 
+     TRACE_LOG("HDisplay=%d, VDisplay=%d\n", pMode->HDisplay, pMode->VDisplay);
+-    pScrn = xf86Screens[scrnIndex];  /* Why does X have three ways of referring to the screen? */
+     pVBox = VBOXGetRec(pScrn);
      /* We want to disable access to the framebuffer before switching mode.
       * After doing the switch, we allow access if it was allowed before. */
      if (pVBox->accessEnabled)
@@ -28,7 +178,7 @@
  #ifdef VBOXVIDEO_13
      rc = xf86SetSingleMode(pScrn, pMode, 0);
  #else
-@@ -1231,7 +1231,7 @@ VBOXSwitchMode(int scrnIndex, DisplayMod
+@@ -1231,16 +1225,15 @@ VBOXSwitchMode(int scrnIndex, DisplayMod
                            pScrn->bitsPerPixel);
  #endif
      if (pVBox->accessEnabled)
@@ -37,118 +187,26 @@
      TRACE_LOG("returning %s\n", rc ? "TRUE" : "FALSE");
      return rc;
  }
---- a/Config.kmk.x113 2012-09-02 17:55:59.642186269 +0100
-+++ b/Config.kmk  2012-09-02 18:30:18.743236550 +0100
-@@ -546,9 +546,9 @@ VBOX_WITH_MULTIVERSION_PYTHON ?= 1
- # Enable the kchmviewer.
- VBOX_WITH_KCHMVIEWER = 1
- # Build the testsuite.
--VBOX_WITH_TESTSUITE = 1
-+VBOX_WITH_TESTSUITE = 0
- # Build the testcases.
--VBOX_WITH_TESTCASES = 1
-+VBOX_WITH_TESTCASES = 0
- # Enables the ffmpeg module for recording test runs.
- # TODO: Enable this for normal build server builds?
- #if1of ($(KBUILD_TARGET), linux)
-@@ -4977,30 +4977,30 @@ endif
- # Guest additions libraries (all static).
- #   The _MINI and _SHARED are both compiled as PIC and intended for linking into a .so/.dll/.dylib.
- #
--VBOX_LIB_IPRT_GUEST_R3           = $(VBOX_PATH_ADDITIONS_LIB)/RuntimeGuestR3$(VBOX_SUFF_LIB)
--VBOX_LIB_IPRT_GUEST_R3_MINI      = $(VBOX_PATH_ADDITIONS_LIB)/RuntimeGuestR3Mini$(VBOX_SUFF_LIB)
--VBOX_LIB_IPRT_GUEST_R3_SHARED    = $(VBOX_PATH_ADDITIONS_LIB)/RuntimeGuestR3Shared$(VBOX_SUFF_LIB)
--VBOX_LIB_IPRT_GUEST_R0           = $(VBOX_PATH_ADDITIONS_LIB)/RuntimeGuestR0$(VBOX_SUFF_LIB)
-+VBOX_LIB_IPRT_GUEST_R3           = $(VBOX_PATH_ADDITIONS_LIB)/RuntimeGuestR3$(VBOX_SUFF_LIB)
-+VBOX_LIB_IPRT_GUEST_R3_MINI      = $(VBOX_PATH_ADDITIONS_LIB)/RuntimeGuestR3Mini$(VBOX_SUFF_LIB)
-+VBOX_LIB_IPRT_GUEST_R3_SHARED    = $(VBOX_PATH_ADDITIONS_LIB)/RuntimeGuestR3Shared$(VBOX_SUFF_LIB)
-+VBOX_LIB_IPRT_GUEST_R0           = $(VBOX_PATH_ADDITIONS_LIB)/RuntimeGuestR0$(VBOX_SUFF_DLL)
- ifeq ($(KBUILD_TARGET_ARCH),x86)
-- VBOX_LIB_IPRT_GUEST_R0_NT4      = $(VBOX_PATH_ADDITIONS_LIB)/RuntimeGuestR0NT4$(VBOX_SUFF_LIB)
-+ VBOX_LIB_IPRT_GUEST_R0_NT4      = $(VBOX_PATH_ADDITIONS_LIB)/RuntimeGuestR0NT4$(VBOX_SUFF_DLL)
- else
-  VBOX_LIB_IPRT_GUEST_R0_NT4      = $(VBOX_LIB_IPRT_GUEST_R0)
- endif
--VBOX_LIB_VBGL_R3                 = $(VBOX_PATH_ADDITIONS_LIB)/VBoxGuestR3Lib$(VBOX_SUFF_LIB)
--VBOX_LIB_VBGL_R3_XFREE86         = $(VBOX_PATH_ADDITIONS_LIB)/VBoxGuestR3LibXFree86$(VBOX_SUFF_LIB)
--VBOX_LIB_VBGL_R3_SHARED          = $(VBOX_PATH_ADDITIONS_LIB)/VBoxGuestR3LibShared$(VBOX_SUFF_LIB)
--VBOX_LIB_VBGL_R0BASE             = $(VBOX_PATH_ADDITIONS_LIB)/VBoxGuestR0LibBase$(VBOX_SUFF_LIB)
--VBOX_LIB_VBGL_R0                 = $(VBOX_PATH_ADDITIONS_LIB)/VBoxGuestR0Lib$(VBOX_SUFF_LIB)
-+VBOX_LIB_VBGL_R3                 = $(VBOX_PATH_ADDITIONS_LIB)/VBoxGuestR3Lib$(VBOX_SUFF_LIB)
-+VBOX_LIB_VBGL_R3_XFREE86         = $(VBOX_PATH_ADDITIONS_LIB)/VBoxGuestR3LibXFree86$(VBOX_SUFF_DLL)
-+VBOX_LIB_VBGL_R3_SHARED          = $(VBOX_PATH_ADDITIONS_LIB)/VBoxGuestR3LibShared$(VBOX_SUFF_LIB)
-+VBOX_LIB_VBGL_R0BASE             = $(VBOX_PATH_ADDITIONS_LIB)/VBoxGuestR0LibBase$(VBOX_SUFF_DLL)
-+VBOX_LIB_VBGL_R0                 = $(VBOX_PATH_ADDITIONS_LIB)/VBoxGuestR0Lib$(VBOX_SUFF_DLL)
- ifeq ($(KBUILD_TARGET),x86)
-  VBOX_LIB_IPRT_GUEST_R3_X86      = $(VBOX_LIB_IPRT_GUEST_R3)
-  VBOX_LIB_IPRT_GUEST_R3_SHARED_X86 = $(VBOX_LIB_IPRT_GUEST_R3_SHARED)
-  VBOX_LIB_VBGL_R3_X86            = $(VBOX_LIB_VBGL_R3)
-  VBOX_LIB_VBGL_R3_SHARED_X86     = $(VBOX_LIB_VBGL_R3_SHARED)
- else
-- VBOX_LIB_IPRT_GUEST_R3_X86      = $(VBOX_PATH_ADDITIONS_LIB)/RuntimeGuestR3-x86$(VBOX_SUFF_LIB)
-- VBOX_LIB_IPRT_GUEST_R3_SHARED_X86 = $(VBOX_PATH_ADDITIONS_LIB)/RuntimeGuestR3Shared-x86$(VBOX_SUFF_LIB)
-- VBOX_LIB_VBGL_R3_X86            = $(VBOX_PATH_ADDITIONS_LIB)/VBoxGuestR3Lib-x86$(VBOX_SUFF_LIB)
-- VBOX_LIB_VBGL_R3_SHARED_X86     = $(VBOX_PATH_ADDITIONS_LIB)/VBoxGuestR3LibShared-x86$(VBOX_SUFF_LIB)
-+ VBOX_LIB_IPRT_GUEST_R3_X86      = $(VBOX_PATH_ADDITIONS_LIB)/RuntimeGuestR3-x86$(VBOX_SUFF_DLL)
-+ VBOX_LIB_IPRT_GUEST_R3_SHARED_X86 = $(VBOX_PATH_ADDITIONS_LIB)/RuntimeGuestR3Shared-x86$(VBOX_SUFF_DLL)
-+ VBOX_LIB_VBGL_R3_X86            = $(VBOX_PATH_ADDITIONS_LIB)/VBoxGuestR3Lib-x86$(VBOX_SUFF_DLL)
-+ VBOX_LIB_VBGL_R3_SHARED_X86     = $(VBOX_PATH_ADDITIONS_LIB)/VBoxGuestR3LibShared-x86$(VBOX_SUFF_DLL)
- endif
- 
- 
---- VirtualBox-4.2.0_RC3/src/VBox/HostServices/SharedFolders/testcase/Makefile.kmk.orig	2012-09-02 18:32:05.119324113 +0100
-+++ VirtualBox-4.2.0_RC3/src/VBox/HostServices/SharedFolders/testcase/Makefile.kmk	2012-05-30 11:38:10.000000000 +0100
-@@ -21,7 +21,9 @@ include $(KBUILD_PATH)/subheader.kmk
- #
- # Structure size testcase.
- #
-+ifneq ($(KBUILD_HOST_ARCH),amd64)
- PROGRAMS += tstShflSizes
-+endif
- TESTING  += $(tstShflSizes_0_OUTDIR)/tstShflSizes.run
- ifndef VBOX_ONLY_SDK
-  ifeq ($(KBUILD_TARGET),$(KBUILD_HOST))
-@@ -44,7 +46,9 @@ ifdef VBOX_WITH_TESTCASES
- #
- # Case conversion testcase.
- #
-+ifneq ($(KBUILD_HOST_ARCH),amd64)
- PROGRAMS += tstShflCase
-+endif
- tstShflCase_TEMPLATE = VBOXR3TSTEXE
- tstShflCase_DEFS     = VBOX_WITH_HGCM
- tstShflCase_SOURCES  = tstShflCase.cpp
-@@ -56,9 +60,11 @@ tstShflCase_LIBS     = $(LIB_RUNTIME)
- 
- # As there are differences between the Windows build of the service and others,
- # we do an additional build with RT_OS_WINDOWS defined on non-Windows targets.
-+ifneq ($(KBUILD_HOST_ARCH),amd64)
- PROGRAMS += \
-     tstSharedFolderService \
-     $(if $(eq $(KBUILD_TARGET),win),,tstSharedFolderService-win)
-+endif
- 
- tstSharedFolderService_TEMPLATE = VBOXR3TSTEXE
- tstSharedFolderService_DEFS     = VBOX_WITH_HGCM UNITTEST
---- a/src/VBox/Main/Makefile.kmk	2012-08-29 15:13:36.000000000 +0100
-+++ b/src/VBox/Main/Makefile.kmk	2012-09-02 19:09:49.250454117 +0100
-@@ -705,7 +705,7 @@ $$(VBoxC_0_OUTDIR)/VBoxC.rgs: $(VBOX_PAT
- # VBoxCOM - COM Abstraction Layer library
- #
- LIBRARIES += VBoxCOM
--VBoxCOM_TEMPLATE        = VBOXMAINLIB
-+VBoxCOM_TEMPLATE        = VBOXMAINDLL
- VBoxCOM_INTERMEDIATES   = $(VBOX_MAIN_PREREQS)
- VBoxCOM_SOURCES         = \
- 	glue/com.cpp \
---- a/src/VBox/Runtime/Makefile.kmk.testmangle	2012-08-29 15:13:34.000000000 +0100
-+++ b/src/VBox/Runtime/Makefile.kmk	2012-09-02 19:30:41.688859884 +0100
-@@ -211,7 +211,7 @@ endif
- #
- # RuntimeR3 - Static Runtime for Ring-3 executables.
- #
--RuntimeR3_TEMPLATE      = VBoxR3Static
-+RuntimeR3_TEMPLATE      = VBOXR3DLLNOXCPT
- RuntimeR3_SDKS          = VBOX_LIBXML2 VBOX_OPENSSL VBOX_BOOST ## @todo why is BOOST and XML2 here? r3/xml.cpp is not in this lib...
- RuntimeR3_SDKS.win      = $(VBOX_WINPSDK) $(VBOX_WINDDK)
- RuntimeR3_DEFS          = IN_RT_R3 IN_SUP_R3 LDR_WITH_NATIVE LDR_WITH_ELF32 LDR_WITH_PE RT_WITH_VBOX RT_NO_GIP
+ 
+ static void
+-VBOXAdjustFrame(int scrnIndex, int x, int y, int flags)
++VBOXAdjustFrame(ScrnInfoPtr pScrn, int x, int y, int flags)
+ {
+-    VBOXPtr pVBox = VBOXGetRec(xf86Screens[scrnIndex]);
+-    ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
++    VBOXPtr pVBox = VBOXGetRec(pScrn);
+ 
+     TRACE_ENTRY();
+     /* Don't fiddle with the hardware if we are switched
+@@ -1251,10 +1244,8 @@ VBOXAdjustFrame(int scrnIndex, int x, in
+ }
+ 
+ static void
+-VBOXFreeScreen(int scrnIndex, int flags)
++VBOXFreeScreen(ScrnInfoPtr pScrn, int flags)
+ {
+-    ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
+-
+     /* Destroy the VGA hardware record */
+     vgaHWFreeHWRec(pScrn);
+     /* And our private record */

VirtualBox-4.2.0-xorg17.patch:
 VirtualBox-4.2.0_RC3/src/VBox/Additions/x11/vboxmouse/Makefile.kmk |   40 +--
 VirtualBox-4.2.0_RC3/src/VBox/Additions/x11/vboxmouse/vboxmouse.c  |   10 
 VirtualBox-4.2.0_RC3/src/VBox/Additions/x11/vboxvideo/Makefile.kmk |  108 ++++++----
 b/src/VBox/Additions/common/crOpenGL/Makefile.kmk                  |   14 -
 src/VBox/Additions/x11/vboxvideo/testcase/Makefile.kmk             |    4 
 5 files changed, 98 insertions(+), 78 deletions(-)

Index: VirtualBox-4.2.0-xorg17.patch
===================================================================
RCS file: /cvs/free/rpms/VirtualBox/devel/VirtualBox-4.2.0-xorg17.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- VirtualBox-4.2.0-xorg17.patch	3 Sep 2012 03:30:25 -0000	1.1
+++ VirtualBox-4.2.0-xorg17.patch	7 Sep 2012 03:03:37 -0000	1.2
@@ -1,6 +1,6 @@
-Based:
-Description: Build the X.Org driver only for the selected system X Server version.
-Author: Michael Meskes <meskes at debian.org>, Felix Geyer <debfx-pkg at fobos.de>
+Build the X.Org driver only for the selected system X Server version.
+Author: Sérgio Basto <sergio at serjux.com>
+Based on scripts by Michael Meskes <meskes at debian.org>, Felix Geyer <debfx-pkg at fobos.de>
 
 diff --git a/src/VBox/Additions/common/crOpenGL/Makefile.kmk b/src/VBox/Additions/common/crOpenGL/Makefile.kmk
 --- a/src/VBox/Additions/common/crOpenGL/Makefile.kmk
@@ -27,9 +27,76 @@
   VBoxOGL_DEFS     += VBOX_NO_NATIVEGL
  endif
  
---- a/src/VBox/Additions/x11/vboxmouse/Makefile.kmk.xorg17	2012-08-03 13:28:42.000000000 +0100
-+++ b/src/VBox/Additions/x11/vboxmouse/Makefile.kmk	2012-09-02 23:44:33.878251237 +0100
-@@ -57,9 +57,18 @@ if1of ($(KBUILD_TARGET), linux)
+--- a/src/VBox/Additions/x11/vboxvideo/testcase/Makefile.kmk	2012-01-12 19:57:53.762613198 +0000
++++ b/src/VBox/Additions/x11/vboxvideo/testcase/Makefile.kmk	2012-01-12 20:01:17.296596446 +0000
+@@ -36,11 +36,11 @@ endif # !VBOX_ONLY_SDK
+ #
+ tstSetModeXOrg_TEMPLATE = VBOXR3TSTEXE
+ tstSetModeXOrg_CFLAGS += -std=c99
+-tstSetModeXOrg_DEFS = $(filter-out IN_RT_STATIC,$(vboxvideo_drv_15_DEFS)) TESTCASE
++tstSetModeXOrg_DEFS = $(filter-out IN_RT_STATIC,$(vboxvideo_drv_17_DEFS)) TESTCASE
+ tstSetModeXOrg_SOURCES  = \
+ 	tstSetModeXOrg.c \
+ 	../setmode.c
+-tstSetModeXOrg_INCS = $(vboxvideo_drv_15_INCS)
++tstSetModeXOrg_INCS = $(vboxvideo_drv_17_INCS)
+ 
+ 
+ # generate rules.
+--- VirtualBox-4.2.0_RC3/src/VBox/Additions/x11/vboxmouse/vboxmouse.c.xorg17	2012-09-07 02:38:56.473777159 +0100
++++ VirtualBox-4.2.0_RC3/src/VBox/Additions/x11/vboxmouse/vboxmouse.c	2012-09-07 02:39:11.025882086 +0100
+@@ -52,13 +52,9 @@
+ 
+ #include <xf86Module.h>
+ 
+-#ifdef VBOX_GUESTR3XF86MOD
+-# define _X_EXPORT
+-#else
+-# include <errno.h>
+-# include <fcntl.h>
+-# include <unistd.h>
+-#endif
++#include <errno.h>
++#include <fcntl.h>
++#include <unistd.h>
+ 
+ #include "product-generated.h"
+ 
+--- VirtualBox-4.2.0_RC3/src/VBox/Additions/x11/vboxmouse/Makefile.kmk.xorg17	2012-08-03 13:28:42.000000000 +0100
++++ VirtualBox-4.2.0_RC3/src/VBox/Additions/x11/vboxmouse/Makefile.kmk	2012-09-07 03:18:17.460463185 +0100
+@@ -30,25 +30,12 @@ if1of ($(KBUILD_TARGET), linux)
+  # This one has to be defined when building server code on systems where
+  # unsigned long is 64bits
+  vboxmouse_drv_DEFS.amd64 += _XSERVER64
+- vboxmouse_drv_DEFS += \
+-        _POSIX_C_SOURCE=199309L _POSIX_SOURCE _XOPEN_SOURCE \
+-	_BSD_SOURCE _SVID_SOURCE _GNU_SOURCE SHAPE XINPUT XKB LBX XAPPGROUP \
+-	XCSECURITY TOGCUP XF86BIGFONT DPMSExtension PIXPRIV PANORAMIX RENDER \
+-	GCCUSESGAS AVOID_GLYPHBLT PIXPRIV SINGLEDEPTH XFreeXDGA XvExtension \
+-	XFree86LOADER XFree86Server XF86VIDMODE XvMCExtension SMART_SCHEDULE \
+-	BUILDDEBUG X_BYTE_ORDER=X_LITTLE_ENDIAN DNDEBUG FUNCPROTO=15 NARROWPROTO \
+-	IN_MODULE XFree86Module PNP_MOUSE IN_XF86_MODULE
+- vboxmouse_drv_INCS := \
+-	$(VBOX_PATH_X11_XFREE_4_3)/include \
+-	$(VBOX_PATH_X11_XFREE_4_3)/include/extensions \
+-	$(VBOX_PATH_X11_XFREE_4_3)/include/X11 \
+-	$(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86 \
+-	$(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/common \
+-	$(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/os-support \
+-	$(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/os-support/bus \
+-	$(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/mi \
+-	$(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/include \
+-	$(PATH_SUB_CURRENT)
++vboxmouse_drv_DEFS += XFree86Server IN_MODULE XFree86Module XFree86LOADER XINPUT XORG_7X \
++	IN_XF86_MODULE DONT_DEFINE_WRAPPERS NO_ANSIC
++vboxmouse_drv_INCS := \
++   /usr/include/x11 \
++   /usr/include/xorg \
++   /usr/include/pixman-1
+  vboxmouse_drv_SOURCES = \
+ 	vboxmouse.c
+  # Any global symbols in the driver object files will be added to XFree86's
+@@ -57,9 +44,18 @@ if1of ($(KBUILD_TARGET), linux)
   vboxmouse_drv_POST_CMDS = \
  	objcopy --keep-global-symbol vboxmouseModuleData $(out) $(out)-objcopy$$(NLTAB) \
  	$(MV) -f $(out)-objcopy $(out)
@@ -50,7 +117,7 @@
  #
  # vboxmouse_drv_70
  #
-@@ -391,5 +398,7 @@ endif # neq ($(KBUILD_TARGET),linux)
+@@ -391,5 +387,7 @@ endif # neq ($(KBUILD_TARGET),linux)
  # endif # ! VBOX_ONLY_ADDITIONS
  endif # VBOX_WITH_TESTCASES
  
@@ -58,9 +125,92 @@
 +
  include $(FILE_KBUILD_SUB_FOOTER)
  
---- a/src/VBox/Additions/x11/vboxvideo/Makefile.kmk.xorg17	2012-05-30 11:39:29.000000000 +0100
-+++ b/src/VBox/Additions/x11/vboxvideo/Makefile.kmk	2012-09-03 00:00:13.988618277 +0100
-@@ -94,6 +94,44 @@ vboxvideo_drv_SOURCES = \
+--- VirtualBox-4.2.0_RC3/src/VBox/Additions/x11/vboxvideo/Makefile.kmk.xorg17	2012-05-30 11:39:29.000000000 +0100
++++ VirtualBox-4.2.0_RC3/src/VBox/Additions/x11/vboxvideo/Makefile.kmk	2012-09-07 03:24:32.187238932 +0100
+@@ -35,45 +35,35 @@ vboxvideo_drv_DEFS.x86 = __i386__
+ # This one has to be defined when building server code on systems where
+ # unsigned long is 64bits
+ vboxvideo_drv_DEFS.amd64 += _XSERVER64
+-vboxvideo_drv_DEFS = \
+-	_POSIX_C_SOURCE=199309L _POSIX_SOURCE _XOPEN_SOURCE \
+-	_BSD_SOURCE _SVID_SOURCE _GNU_SOURCE SHAPE XINPUT XKB LBX XAPPGROUP \
+-	XCSECURITY TOGCUP XF86BIGFONT DPMSExtension PIXPRIV PANORAMIX RENDER \
+-	GCCUSESGAS AVOID_GLYPHBLT PIXPRIV SINGLEDEPTH XFreeXDGA XvExtension \
+-	XFree86LOADER XFree86Server XF86VIDMODE XvMCExtension SMART_SCHEDULE \
+-	BUILDDEBUG X_BYTE_ORDER=X_LITTLE_ENDIAN DNDEBUG FUNCPROTO=15 NARROWPROTO \
+-	IN_MODULE XFree86Module IN_XF86_MODULE IN_RT_STATIC
+-vboxvideo_drv_DEFS += memset=xf86memset memcpy=xf86memcpy
++vboxvideo_drv_DEFS := XFree86Server IN_MODULE XFree86Module XFree86LOADER IN_XF86_MODULE XORG_7X RENDER=1 \
++   IN_RT_STATIC VBOXVIDEO_13 NO_ANSIC PCIACCESS VBOX_NO_LOW_COLOUR VBOX_DRI
+ vboxvideo_drv_INCS = \
+-	$(VBOX_PATH_X11_XFREE_4_3)/include \
+-	$(VBOX_PATH_X11_XFREE_4_3)/include/X11 \
+-	$(VBOX_PATH_X11_XFREE_4_3)/include/X11/extensions \
+-	$(VBOX_PATH_X11_XFREE_4_3)/include/extensions \
+-	$(VBOX_PATH_X11_XFREE_4_3)/include/fonts \
+-	$(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/afb \
+-	$(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/include \
+-	$(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/fb \
+-	$(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86 \
+-	$(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/common \
+-	$(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/ddc \
+-	$(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/int10 \
+-	$(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/i2c \
+-	$(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/os-support \
+-	$(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/vbe \
+-	$(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/os-support/bus \
+-	$(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/rac \
+-	$(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/ramdac \
+-	$(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/shadowfb \
+-	$(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/vgahw \
+-	$(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/xf1bpp \
+-	$(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/xf24_32bpp \
+-	$(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/hw/xfree86/xf4bpp \
+-	$(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/mfb \
+-	$(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/mi \
+-	$(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/miext/shadow \
+-	$(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/render \
+-	$(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/randr \
+-	$(VBOX_PATH_X11_XFREE_4_3)/programs/Xserver/Xext
++   /usr/include/drm \
++   /usr/include/X11/dri \
++   /usr/include/pixman-1 \
++   /usr/share/xorg-x11-server-source \
++   /usr/share/xorg-x11-server-source/fb \
++   /usr/share/xorg-x11-server-source/hw/xfree86/common \
++   /usr/share/xorg-x11-server-source/hw/xfree86/ddc \
++   /usr/share/xorg-x11-server-source/hw/xfree86/dixmods/extmod \
++   /usr/share/xorg-x11-server-source/hw/xfree86/dri \
++   /usr/share/xorg-x11-server-source/hw/xfree86/i2c \
++   /usr/share/xorg-x11-server-source/hw/xfree86/int10 \
++   /usr/share/xorg-x11-server-source/hw/xfree86/modes \
++   /usr/share/xorg-x11-server-source/hw/xfree86/os-support \
++   /usr/share/xorg-x11-server-source/hw/xfree86/os-support/bus \
++   /usr/share/xorg-x11-server-source/hw/xfree86/ramdac \
++   /usr/share/xorg-x11-server-source/hw/xfree86/shadowfb \
++   /usr/share/xorg-x11-server-source/hw/xfree86/vbe \
++   /usr/share/xorg-x11-server-source/hw/xfree86/vgahw \
++   /usr/share/xorg-x11-server-source/hw/xquartz/xpr \
++   /usr/share/xorg-x11-server-source/include \
++   /usr/share/xorg-x11-server-source/mi \
++   /usr/share/xorg-x11-server-source/miext/damage \
++   /usr/share/xorg-x11-server-source/randr \
++   /usr/share/xorg-x11-server-source/Xext \
++   /usr/share/xorg-x11-server-source/render \
++   /usr/share/xorg-x11-server-source/hw/xfree86/parser
+ vboxvideo_drv_INCS += $(PATH_ROOT)/src/VBox/Runtime/include
+ vboxvideo_drv_SOURCES = \
+ 	pointer.c \
+@@ -86,7 +76,7 @@ vboxvideo_drv_SOURCES = \
+ 	$(PATH_ROOT)/src/VBox/Additions/common/VBoxVideo/VBVABase.cpp \
+ 	$(PATH_ROOT)/src/VBox/GuestHost/HGSMI/HGSMICommon.cpp \
+ 	$(PATH_ROOT)/src/VBox/Runtime/common/alloc/heapsimple.cpp \
+-	$(PATH_ROOT)/src/VBox/Runtime/common/alloc/heapoffset.cpp
++	$(PATH_ROOT)/src/VBox/Runtime/common/alloc/heapoffset.cpp edid.c vboxvideo_dri.c
+  # Any global symbols in the driver object files will be added to XFree86's
+  # symbol table, which can cause problems if we e.g. define a symbol in two
+  # modules.
+@@ -94,6 +84,44 @@ vboxvideo_drv_SOURCES = \
  	objcopy --keep-global-symbol vboxvideoModuleData $(out) $(out)-objcopy$$(NLTAB) \
  	$(MV) -f $(out)-objcopy $(out)
  
@@ -97,7 +247,7 @@
 +	/usr/share/xorg-x11-server-source/render \
 +	/usr/share/xorg-x11-server-source/hw/xfree86/parser
 +vboxvideo_drv_17_INCS += $(PATH_ROOT)/src/VBox/Runtime/include
-+vboxvideo_drv_17_SOURCES = $(vboxvideo_drv_SOURCES) edid.c vboxvideo_dri.c
++vboxvideo_drv_17_SOURCES = $(vboxvideo_drv_SOURCES)
 +
 +ifdef NOT_FEDORA
 +
@@ -105,26 +255,10 @@
  #
  # vboxvideo_drv_70
  #
-@@ -505,4 +543,6 @@ $$(vboxvideo_drv_112_0_OUTDIR)/tstvboxvi
+@@ -505,4 +533,6 @@ $$(vboxvideo_drv_112_0_OUTDIR)/tstvboxvi
  # endif # ! VBOX_ONLY_ADDITIONS
  endif # VBOX_WITH_TESTCASES
  
 +endif # NOT_FEDORA
 +
  include $(FILE_KBUILD_SUB_FOOTER)
---- a/src/VBox/Additions/x11/vboxvideo/testcase/Makefile.kmk	2012-01-12 19:57:53.762613198 +0000
-+++ b/src/VBox/Additions/x11/vboxvideo/testcase/Makefile.kmk	2012-01-12 20:01:17.296596446 +0000
-@@ -36,11 +36,11 @@ endif # !VBOX_ONLY_SDK
- #
- tstSetModeXOrg_TEMPLATE = VBOXR3TSTEXE
- tstSetModeXOrg_CFLAGS += -std=c99
--tstSetModeXOrg_DEFS = $(filter-out IN_RT_STATIC,$(vboxvideo_drv_15_DEFS)) TESTCASE
-+tstSetModeXOrg_DEFS = $(filter-out IN_RT_STATIC,$(vboxvideo_drv_17_DEFS)) TESTCASE
- tstSetModeXOrg_SOURCES  = \
- 	tstSetModeXOrg.c \
- 	../setmode.c
--tstSetModeXOrg_INCS = $(vboxvideo_drv_15_INCS)
-+tstSetModeXOrg_INCS = $(vboxvideo_drv_17_INCS)
- 
- 
- # generate rules.


Index: VirtualBox.spec
===================================================================
RCS file: /cvs/free/rpms/VirtualBox/devel/VirtualBox.spec,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- VirtualBox.spec	3 Sep 2012 05:29:09 -0000	1.18
+++ VirtualBox.spec	7 Sep 2012 03:03:37 -0000	1.19
@@ -15,7 +15,7 @@
 
 Name:       VirtualBox
 Version:    4.2.0
-Release:    0.3%{?prerel:.%{prerel}}%{?dist}
+Release:    0.4%{?prerel:.%{prerel}}%{?dist}
 Summary:    A general-purpose full virtualizer for PC hardware
 
 Group:      Development/Tools
@@ -39,9 +39,9 @@
 Patch18:    VirtualBox-OSE-4.0.2-aiobug.patch
 Patch22:    VirtualBox-OSE-4.1.12-gsoap.patch
 Patch23:    VirtualBox-OSE-4.1.10-mesa.patch
-#Patch24:    VirtualBox-4.1.20-x113.patch
+Patch24:    VirtualBox-4.1.20-x113.patch
 
-%if 0%{?fedora} < 17
+%if 0%{?fedora} < 16
 BuildRequires:  kBuild >= 0.1.98
 %endif
 BuildRequires:  SDL-devel xalan-c-devel
@@ -186,15 +186,16 @@
 %if 0%{?fedora} > 16
 %patch23 -p1 -b .mesa
 %endif
-#%if 0%{?fedora} > 17
-#%patch24 -p1 -b .x113
-#%endif
+%if 0%{?fedora} > 17
+%patch24 -p1 -b .x113
+%endif
 
 # Remove prebuilt binary tools
-%if 0%{?fedora} < 17
+%if 0%{?fedora} < 16
 rm -rf kBuild
 %endif
 rm -rf tools
+#rm -rf src/VBox/Additions/x11/x11include
 
 # CRLF->LF
 sed -i 's/\r//' COPYING
@@ -550,6 +551,10 @@
 
 
 %changelog
+* Fri Sep 07 2012 Sérgio Basto <sergio at serjux.com> - 4.2.0-0.4.RC3
+- Also Compile guest drives vboxvideo_drv and vboxmouse_drv with X11 sources from system.
+- Fix ABI/API breakages in X11 1.13.
+
 * Mon Sep 03 2012 Sérgio Basto <sergio at serjux.com> - 4.2.0-0.3.RC3
 - fix requires kmod, with version with prerealeses.
 


More information about the rpmfusion-commits mailing list