1
0
forked from jengelh/virtualbox

Compare commits

3 Commits

Author SHA256 Message Date
e94f7a20d6 Disable python bindings for Leap 16.0
python3.13 is not supported by the current virtualbox version so we
can't build the bindings.
2025-08-26 12:29:17 +02:00
abbfbbe45c virtualbox 7.2.0 2025-08-15 16:48:07 +02:00
070bdf0829 virtualbox 7.1.12 2025-07-25 11:16:45 +02:00
10 changed files with 92 additions and 198 deletions

BIN
VirtualBox-7.1.10-patched.tpxz (Stored with Git LFS)

Binary file not shown.

BIN
VirtualBox-7.2.0-patched.tpxz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -1,8 +1,13 @@
Index: VirtualBox-7.0.20/configure ---
configure | 17 ++++++-----------
src/VBox/Frontends/VBoxSDL/Makefile.kmk | 8 ++++----
2 files changed, 10 insertions(+), 15 deletions(-)
Index: VirtualBox-7.2.0/configure
=================================================================== ===================================================================
--- VirtualBox-7.0.20.orig/configure --- VirtualBox-7.2.0.orig/configure
+++ VirtualBox-7.0.20/configure +++ VirtualBox-7.2.0/configure
@@ -1186,21 +1186,19 @@ check_sdl() @@ -1150,21 +1150,19 @@ check_sdl()
fail fail
fi fi
else else
@@ -27,7 +32,7 @@ Index: VirtualBox-7.0.20/configure
#undef main #undef main
extern "C" int main(int argc, char** argv) extern "C" int main(int argc, char** argv)
{ {
@@ -1216,7 +1214,7 @@ extern "C" int main(int argc, char** arg @@ -1180,7 +1178,7 @@ extern "C" int main(int argc, char** arg
} }
EOF EOF
[ -n "$INCSDL" ] && I_INCSDL=`prefix_I "$INCSDL"` [ -n "$INCSDL" ] && I_INCSDL=`prefix_I "$INCSDL"`
@@ -36,7 +41,7 @@ Index: VirtualBox-7.0.20/configure
if test_execute; then if test_execute; then
cnf_append "LIB_SDK_LIBSDL_SDL" "`strip_l "$LIBSDL"`" cnf_append "LIB_SDK_LIBSDL_SDL" "`strip_l "$LIBSDL"`"
cnf_append "SDK_LIBSDL_LIBPATH" "`strip_L "$LIBSDL"`" cnf_append "SDK_LIBSDL_LIBPATH" "`strip_L "$LIBSDL"`"
@@ -3010,11 +3008,8 @@ if [ $ONLY_ADDITIONS -eq 0 ]; then @@ -2960,11 +2958,8 @@ if [ $ONLY_ADDITIONS -eq 0 ]; then
[ $WITH_LIBLZMA -eq 1 ] && check_liblzma [ $WITH_LIBLZMA -eq 1 ] && check_liblzma
[ "$OS" != "darwin" ] && check_png [ "$OS" != "darwin" ] && check_png
[ $OSE -eq 0 -a "$OS" = "linux" ] && check_pam [ $OSE -eq 0 -a "$OS" = "linux" ] && check_pam
@@ -50,20 +55,20 @@ Index: VirtualBox-7.0.20/configure
[ $WITH_SDL_TTF -eq 1 -a $OSE -eq 0 ] && check_sdl_ttf [ $WITH_SDL_TTF -eq 1 -a $OSE -eq 0 ] && check_sdl_ttf
[ $WITH_X11 -eq 1 ] && check_x [ $WITH_X11 -eq 1 ] && check_x
# TODO check for xcomposite-dev (X11/extensions/Xcomposite.h, additions only) # TODO check for xcomposite-dev (X11/extensions/Xcomposite.h, additions only)
Index: VirtualBox-7.0.20/src/VBox/Frontends/VBoxSDL/Makefile.kmk Index: VirtualBox-7.2.0/src/VBox/Frontends/VBoxSDL/Makefile.kmk
=================================================================== ===================================================================
--- VirtualBox-7.0.20.orig/src/VBox/Frontends/VBoxSDL/Makefile.kmk --- VirtualBox-7.2.0.orig/src/VBox/Frontends/VBoxSDL/Makefile.kmk
+++ VirtualBox-7.0.20/src/VBox/Frontends/VBoxSDL/Makefile.kmk +++ VirtualBox-7.2.0/src/VBox/Frontends/VBoxSDL/Makefile.kmk
@@ -51,7 +51,7 @@ if !defined(VBOX_WITH_HARDENING) || "$(K @@ -51,7 +51,7 @@ if !defined(VBOX_WITH_HARDENING) || "$(K
PROGRAMS += VBoxSDL PROGRAMS += VBoxSDL
endif endif
VBoxSDL_TEMPLATE := $(if $(VBOX_WITH_HARDENING),VBoxMainClientDll,VBoxMainClientExe) VBoxSDL_TEMPLATE := $(if $(VBOX_WITH_HARDENING),VBoxMainClientDll,VBoxMainClientSignedExe)
- VBoxSDL_SDKS = LIBSDL2 - VBoxSDL_SDKS = LIBSDL2
+ VBoxSDL_SDKS = LIBSDL + VBoxSDL_SDKS = LIBSDL
VBoxSDL_SOURCES = \ VBoxSDL_SOURCES = \
VBoxSDL.cpp \ VBoxSDL.cpp \
Framebuffer.cpp \ Framebuffer.cpp \
@@ -81,7 +81,7 @@ if !defined(VBOX_WITH_HARDENING) || "$(K @@ -78,7 +78,7 @@ if !defined(VBOX_WITH_HARDENING) || "$(K
endif endif
ifn1of ($(KBUILD_TARGET), solaris) # Probably wrong with SDL2 ifn1of ($(KBUILD_TARGET), solaris) # Probably wrong with SDL2
VBoxSDL_LIBS = \ VBoxSDL_LIBS = \
@@ -72,7 +77,7 @@ Index: VirtualBox-7.0.20/src/VBox/Frontends/VBoxSDL/Makefile.kmk
endif endif
if1of ($(KBUILD_TARGET), freebsd linux netbsd openbsd solaris) # X11 if1of ($(KBUILD_TARGET), freebsd linux netbsd openbsd solaris) # X11
VBoxSDL_LIBS += \ VBoxSDL_LIBS += \
@@ -121,7 +121,7 @@ if !defined(VBOX_WITH_HARDENING) || "$(K @@ -116,7 +116,7 @@ if !defined(VBOX_WITH_HARDENING) || "$(K
if 0 if 0
PROGRAMS += tstSDL PROGRAMS += tstSDL
tstSDL_TEMPLATE = VBoxR3TstExe tstSDL_TEMPLATE = VBoxR3TstExe
@@ -81,7 +86,7 @@ Index: VirtualBox-7.0.20/src/VBox/Frontends/VBoxSDL/Makefile.kmk
tstSDL_INST = $(INST_TESTCASE) tstSDL_INST = $(INST_TESTCASE)
tstSDL_SOURCES = \ tstSDL_SOURCES = \
VBoxSDLTest.cpp VBoxSDLTest.cpp
@@ -138,7 +138,7 @@ if !defined(VBOX_WITH_HARDENING) || "$(K @@ -131,7 +131,7 @@ if !defined(VBOX_WITH_HARDENING) || "$(K
$(LIB_RUNTIME) $(LIB_RUNTIME)
ifn1of ($(KBUILD_TARGET), solaris) ifn1of ($(KBUILD_TARGET), solaris)
tstSDL_LIBS += \ tstSDL_LIBS += \

View File

@@ -1,36 +0,0 @@
From: Jiri Slaby <jslaby@suse.cz>
Subject: hm_vmx: Don't expand READ+WRITE
They are defined as:
#define READ 0
#define WRITE 1
since 6.16:
commit 4ef5211ee68113070bd42142f06347866675055e
Author: Ingo Molnar <mingo@kernel.org>
Date: Mon Mar 24 12:50:24 2025 +0200
kernel.h: move READ/WRITE definitions to <linux/types.h>
That causes build failures indeed:
./include/VBox/vmm/hm_vmx.h:548:29: error: 'VMX_BF_EPT_PT_0_MASK' undeclared here (not in a function); did you mean 'VMX_BF_EPT_PT_READ_MASK'?
That 0_MASK should really be READ_MASK.
---
include/VBox/vmm/hm_vmx.h | 2 ++
1 file changed, 2 insertions(+)
--- a/include/VBox/vmm/hm_vmx.h
+++ b/include/VBox/vmm/hm_vmx.h
@@ -542,6 +542,8 @@
/** Suppress \#VE. */
#define VMX_BF_EPT_PT_SUPPRESS_VE_SHIFT 63
#define VMX_BF_EPT_PT_SUPPRESS_VE_MASK UINT64_C(0x8000000000000000)
+#undef READ
+#undef WRITE
RT_BF_ASSERT_COMPILE_CHECKS(VMX_BF_EPT_PT_, UINT64_C(0), UINT64_MAX,
(READ, WRITE, EXECUTE, MEMTYPE, IGNORE_PAT, IGN_7, ACCESSED, DIRTY, EXECUTE_USER, IGN_59_11,
SUPER_SHW_STACK, IGN_62_61, SUPPRESS_VE));

View File

@@ -1,28 +0,0 @@
From: Jiri Slaby <jslaby@suse.cz>
Subject: timer-r0drv-linux: use timer_container_of
from_timer() was renamed to timer_container_of() in 6.16's:
commit 41cb08555c4164996d67c78b3bf1c658075b75f1
Author: Ingo Molnar <mingo@kernel.org>
Date: Fri May 9 07:51:14 2025 +0200
treewide, timers: Rename from_timer() to timer_container_of()
---
src/VBox/Runtime/r0drv/linux/timer-r0drv-linux.c | 4 ++++
1 file changed, 4 insertions(+)
--- a/src/VBox/Runtime/r0drv/linux/timer-r0drv-linux.c
+++ b/src/VBox/Runtime/r0drv/linux/timer-r0drv-linux.c
@@ -748,7 +748,11 @@ static enum hrtimer_restart rtTimerLinux
*/
static void rtTimerLinuxStdCallback(struct timer_list *pLnxTimer)
{
+#if RTLNX_VER_MIN(6,16,0)
+ PRTTIMERLNXSUBTIMER pSubTimer = timer_container_of(pSubTimer, pLnxTimer, u.Std.LnxTimer);
+#else
PRTTIMERLNXSUBTIMER pSubTimer = from_timer(pSubTimer, pLnxTimer, u.Std.LnxTimer);
+#endif
#else
/**
* Timer callback function for standard timers.

View File

@@ -1,101 +0,0 @@
From: Jiri Slaby <jslaby@suse.cz>
Subject: sharedfolders/regops: use __folio_index
page::index was renamed to page::__folio_index in 6.16's:
commit acc53a0b4c156877773da6e9eea4113dc7e770ae
Author: Matthew Wilcox (Oracle) <willy@infradead.org>
Date: Wed May 14 19:15:07 2025 +0100
mm: rename page->index to page->__folio_index
---
src/VBox/Additions/linux/sharedfolders/regops.c | 40 +++++++++++++++++++++---
1 file changed, 36 insertions(+), 4 deletions(-)
--- a/src/VBox/Additions/linux/sharedfolders/regops.c
+++ b/src/VBox/Additions/linux/sharedfolders/regops.c
@@ -1789,7 +1789,11 @@ static void vbsf_reg_write_sync_page_cac
struct page *pDstPage = find_lock_page(mapping, idxPage);
if (pDstPage) {
if ( pDstPage->mapping == mapping /* ignore if re-purposed (paranoia) */
+#if RTLNX_VER_MIN(6,16,0)
+ && pDstPage->__folio_index == idxPage
+#else
&& pDstPage->index == idxPage
+#endif
&& !PageDirty(pDstPage) /* ignore if dirty */
&& !PageWriteback(pDstPage) /* ignore if being written back */ ) {
/*
@@ -1820,7 +1824,13 @@ static void vbsf_reg_write_sync_page_cac
# endif
} else
SFLOGFLOW(("vbsf_reg_write_sync_page_cache: Skipping page %p: mapping=%p (vs %p) writeback=%d offset=%#lx (vs%#lx)\n",
- pDstPage, pDstPage->mapping, mapping, PageWriteback(pDstPage), pDstPage->index, idxPage));
+ pDstPage, pDstPage->mapping, mapping, PageWriteback(pDstPage),
+#if RTLNX_VER_MIN(6,16,0)
+ pDstPage->__folio_index,
+#else
+ pDstPage->index,
+#endif
+ idxPage));
unlock_page(pDstPage);
vbsf_put_page(pDstPage);
}
@@ -3632,7 +3642,13 @@ static int vbsf_readpage(struct file *fi
struct inode *inode = VBSF_GET_F_DENTRY(file)->d_inode;
int err;
- SFLOGFLOW(("vbsf_readpage: inode=%p file=%p page=%p off=%#llx\n", inode, file, page, (uint64_t)page->index << PAGE_SHIFT));
+ SFLOGFLOW(("vbsf_readpage: inode=%p file=%p page=%p off=%#llx\n", inode, file, page,
+#if RTLNX_VER_MIN(6,16,0)
+ (uint64_t)page->__folio_index << PAGE_SHIFT
+#else
+ (uint64_t)page->index << PAGE_SHIFT
+#endif
+ ));
Assert(PageLocked(page));
if (PageUptodate(page)) {
@@ -3653,7 +3669,11 @@ static int vbsf_readpage(struct file *fi
vrc = VbglR0SfHostReqReadPgLst(pSuperInfo->map.root,
pReq,
sf_r->Handle.hHost,
+#if RTLNX_VER_MIN(6,16,0)
+ (uint64_t)page->__folio_index << PAGE_SHIFT,
+#else
(uint64_t)page->index << PAGE_SHIFT,
+#endif
PAGE_SIZE,
1 /*cPages*/);
@@ -3709,16 +3729,28 @@ static int vbsf_writepage(struct page *p
int err;
SFLOGFLOW(("vbsf_writepage: inode=%p page=%p off=%#llx pHandle=%p (%#llx)\n",
- inode, page, (uint64_t)page->index << PAGE_SHIFT, pHandle, pHandle ? pHandle->hHost : 0));
-
+ inode, page,
+#if RTLNX_VER_MIN(6,16,0)
+ (uint64_t)page->__folio_index << PAGE_SHIFT,
+#else
+ (uint64_t)page->index << PAGE_SHIFT,
+#endif
+ pHandle, pHandle ? pHandle->hHost : 0));
if (pHandle) {
struct vbsf_super_info *pSuperInfo = VBSF_GET_SUPER_INFO(inode->i_sb);
VBOXSFWRITEPGLSTREQ *pReq = (VBOXSFWRITEPGLSTREQ *)VbglR0PhysHeapAlloc(sizeof(*pReq));
if (pReq) {
uint64_t const cbFile = i_size_read(inode);
+
+#if RTLNX_VER_MIN(6,16,0)
+ uint64_t const offInFile = (uint64_t)page->__folio_index << PAGE_SHIFT;
+ uint32_t const cbToWrite = page->__folio_index != (cbFile >> PAGE_SHIFT) ? PAGE_SIZE
+ : (uint32_t)cbFile & (uint32_t)PAGE_OFFSET_MASK;
+#else
uint64_t const offInFile = (uint64_t)page->index << PAGE_SHIFT;
uint32_t const cbToWrite = page->index != (cbFile >> PAGE_SHIFT) ? PAGE_SIZE
: (uint32_t)cbFile & (uint32_t)PAGE_OFFSET_MASK;
+#endif
int vrc;
pReq->PgLst.offFirstPage = 0;

View File

@@ -1,19 +1,25 @@
Index: VirtualBox-7.0.20/src/apps/Makefile.kmk ---
src/apps/Makefile.kmk | 2
src/apps/VBoxPermissionMessage/Makefile.kmk | 32 +++++++++++++++
src/apps/VBoxPermissionMessage/VBoxPermissionMessage.cpp | 12 +++++
3 files changed, 46 insertions(+)
Index: VirtualBox-7.2.0/src/apps/Makefile.kmk
=================================================================== ===================================================================
--- VirtualBox-7.0.20.orig/src/apps/Makefile.kmk --- VirtualBox-7.2.0.orig/src/apps/Makefile.kmk
+++ VirtualBox-7.0.20/src/apps/Makefile.kmk +++ VirtualBox-7.2.0/src/apps/Makefile.kmk
@@ -28,5 +28,7 @@ @@ -33,5 +33,7 @@ ifneq ($(KBUILD_TARGET),win)
SUB_DEPTH = ../.. include $(PATH_SUB_CURRENT)/svn2git-vbox/Makefile.kmk
include $(KBUILD_PATH)/subheader.kmk endif
+include $(PATH_SUB_CURRENT)/VBoxPermissionMessage/Makefile.kmk +include $(PATH_SUB_CURRENT)/VBoxPermissionMessage/Makefile.kmk
+ +
include $(FILE_KBUILD_SUB_FOOTER) include $(FILE_KBUILD_SUB_FOOTER)
Index: VirtualBox-7.0.20/src/apps/VBoxPermissionMessage/Makefile.kmk Index: VirtualBox-7.2.0/src/apps/VBoxPermissionMessage/Makefile.kmk
=================================================================== ===================================================================
--- /dev/null --- /dev/null
+++ VirtualBox-7.0.20/src/apps/VBoxPermissionMessage/Makefile.kmk +++ VirtualBox-7.2.0/src/apps/VBoxPermissionMessage/Makefile.kmk
@@ -0,0 +1,32 @@ @@ -0,0 +1,32 @@
+# $Id: Makefile.kmk 28800 2010-04-27 08:22:32Z vboxsync $ +# $Id: Makefile.kmk 28800 2010-04-27 08:22:32Z vboxsync $
+## @file +## @file
@@ -47,10 +53,10 @@ Index: VirtualBox-7.0.20/src/apps/VBoxPermissionMessage/Makefile.kmk
+ +
+include $(KBUILD_PATH)/subfooter.kmk +include $(KBUILD_PATH)/subfooter.kmk
+ +
Index: VirtualBox-7.0.20/src/apps/VBoxPermissionMessage/VBoxPermissionMessage.cpp Index: VirtualBox-7.2.0/src/apps/VBoxPermissionMessage/VBoxPermissionMessage.cpp
=================================================================== ===================================================================
--- /dev/null --- /dev/null
+++ VirtualBox-7.0.20/src/apps/VBoxPermissionMessage/VBoxPermissionMessage.cpp +++ VirtualBox-7.2.0/src/apps/VBoxPermissionMessage/VBoxPermissionMessage.cpp
@@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
+#include <QtWidgets/QApplication> +#include <QtWidgets/QApplication>
+#include <QtWidgets/QMessageBox> +#include <QtWidgets/QMessageBox>

View File

@@ -1,4 +1,4 @@
#!/bin/bash #!/bin/bash -ex
if [ -z "$1" ]; then if [ -z "$1" ]; then
echo "You need to pass the filename VirtualBox-x.y.z.tar.bz2 as first argument." echo "You need to pass the filename VirtualBox-x.y.z.tar.bz2 as first argument."

View File

@@ -1,3 +1,46 @@
-------------------------------------------------------------------
Tue Aug 26 10:21:54 UTC 2025 - Daniel Garcia <daniel.garcia@suse.com>
- Disable python bindings for Leap 16.0 (bsc#1248418)
python3.13 is not supported by the current virtualbox version so
we can't build the bindings.
-------------------------------------------------------------------
Fri Aug 15 14:46:51 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
- Update to release 7.2.0
* GUI: Moved global and VM tools from hamburger menus to global
tools taskbar (vertically on the left) and the VM tools tabs
(horizontally above the right hand panel) to make them easier
to reach.
* ARM host: Virtualization of Windows 11/ARM VMs.
* Linux host: Video decoding acceleration when 3D is enabled.
* Storage: The NVMe storage controller emulation is now part of
the open source base package.
-------------------------------------------------------------------
Thu Jul 24 13:07:21 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
- Update to release 7.1.12
* VMM: Fixed issue when running a nested VM caused Guru
Meditation for outer VM
* NAT: Fixed issue when VMs with long names were unable to start
* Linux host: Fixed possible kernel panic when using bridged
networking with a network interface handled by the ixgbe
driver on newer kernels
* Recording: Fixed issue when Windows Guest Machine was unable
to start when recording was enabled in Display Settings
* Support for Linux 6.16
* Linux Guest Additions (LGA): Fixed issue when 'rcvboxadd
status-kernel' was reporting incorrect status when guest was
running kernel 3.10 series and older
* LGA: Fixed issue when VBoxClient was unable to start if guest
was running kernel 2.6 series and older
* LGA: Fixed issue which caused a warning in system log due to
incorrect udev rule
- Delete kernel-6.16-READ-WRITE.patch, kernel-6.16-from_timer.patch,
kernel-6.16-page-index.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Jun 11 07:18:15 UTC 2025 - Jiri Slaby <jslaby@suse.cz> Wed Jun 11 07:18:15 UTC 2025 - Jiri Slaby <jslaby@suse.cz>

View File

@@ -55,15 +55,22 @@
%endif %endif
# If you want to disable building Python parts, just set this to %%nil # If you want to disable building Python parts, just set this to %%nil
%if 0%{?suse_version} == 1600
# Leap 16.0 has python3.13, currently not supported
%global mypython %nil
%else
# Using python3.11 for Factory, current version doesn't support python3.13
%global mypython python311 %global mypython python311
%endif
%if "%mypython" != "" %if "%mypython" != ""
%global __mypython %{expand:%%__%{mypython}} %global __mypython %{expand:%%__%{mypython}}
%global mypython_sitelib %{expand:%%%{mypython}_sitelib} %global mypython_sitelib %{expand:%%%{mypython}_sitelib}
%endif %endif
Name: virtualbox%{?dash}%{?name_suffix} Name: virtualbox%{?dash}%{?name_suffix}
Version: 7.1.10 Version: 7.2.0
%define rversion %version %define rversion 7.2.0
Release: 0 Release: 0
Summary: %{package_summary} Summary: %{package_summary}
License: GPL-3.0-or-later License: GPL-3.0-or-later
@@ -126,9 +133,6 @@ Patch9: vbox-usb-warning.diff
Patch10: fix_for_leap15.5.patch Patch10: fix_for_leap15.5.patch
Patch11: cxx17.patch Patch11: cxx17.patch
Patch12: host-source.patch Patch12: host-source.patch
Patch13: kernel-6.16-READ-WRITE.patch
Patch14: kernel-6.16-from_timer.patch
Patch15: kernel-6.16-page-index.patch
Patch20: gentoo-C23.patch Patch20: gentoo-C23.patch
# #
# Common BuildRequires for both virtualbox and virtualbox-kmp # Common BuildRequires for both virtualbox and virtualbox-kmp
@@ -146,7 +150,7 @@ BuildRequires: gcc-c++
BuildRequires: gcc12 BuildRequires: gcc12
BuildRequires: gcc12-c++ BuildRequires: gcc12-c++
%endif %endif
BuildRequires: kbuild >= 0.1.9998+svn3613 BuildRequires: kbuild >= 0.1.9998+svn3686
BuildRequires: libcap-devel BuildRequires: libcap-devel
BuildRequires: libcurl-devel BuildRequires: libcurl-devel
BuildRequires: libopenssl-devel BuildRequires: libopenssl-devel
@@ -826,6 +830,7 @@ export DISABLE_RESTART_ON_UPDATE=yes
%{_vbox_instdir}/VBoxRT.so %{_vbox_instdir}/VBoxRT.so
%{_vbox_instdir}/VBoxSharedFolders.so %{_vbox_instdir}/VBoxSharedFolders.so
%{_vbox_instdir}/VBoxVMM.so %{_vbox_instdir}/VBoxVMM.so
%{_vbox_instdir}/VBoxVMMArm.so
%{_vbox_instdir}/VBoxXPCOMC.so %{_vbox_instdir}/VBoxXPCOMC.so
%{_vbox_instdir}/VBoxXPCOM.so %{_vbox_instdir}/VBoxXPCOM.so
%{_vbox_instdir}/VBox*.r0 %{_vbox_instdir}/VBox*.r0