1
0
forked from pool/virtualbox

Accepting request 1172513 from Virtualization

OBS-URL: https://build.opensuse.org/request/show/1172513
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/virtualbox?expand=0&rev=277
This commit is contained in:
Dominique Leuenberger 2024-05-08 09:38:34 +00:00 committed by Git OBS Bridge
commit 5356380d7e
12 changed files with 61 additions and 278 deletions

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c1be96694b4da49489db88b3593b8ce981b93766fd0869a32bbe872621bedb04
size 4595857
oid sha256:23271ffe5f6141af3be22359c65ec73ce784286a60795f445c5353c8a43a0c69
size 4600053

View File

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

View File

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

View File

@ -1,22 +0,0 @@
Index: VirtualBox-7.0.14/src/VBox/Additions/linux/sharedfolders/utils.c
===================================================================
--- VirtualBox-7.0.14.orig/src/VBox/Additions/linux/sharedfolders/utils.c
+++ VirtualBox-7.0.14/src/VBox/Additions/linux/sharedfolders/utils.c
@@ -297,10 +297,14 @@ DECLINLINE(int) sf_file_mode_to_linux(ui
*/
static void vbsf_update_inode_timestamps(struct inode *pInode, PSHFLFSOBJINFO pObjInfo)
{
+/* Oracle has a bad fix for i_atime, etc missing from struct inode. The fix
+ * below produces the correct results, but is not correct either as it references
+ * variables such as __i_atime that are supposed to be hidden. Larry Finger
+ */
#if RTLNX_VER_MIN(6,6,0)
- struct timespec64 ts;
- vbsf_time_to_linux(&ts, &pObjInfo->ChangeTime);
- inode_set_ctime_to_ts(pInode, ts);
+ vbsf_time_to_linux(&pInode->__i_atime, &pObjInfo->AccessTime);
+ vbsf_time_to_linux(&pInode->__i_ctime, &pObjInfo->ChangeTime);
+ vbsf_time_to_linux(&pInode->__i_mtime, &pObjInfo->ModificationTime);
#else
vbsf_time_to_linux(&pInode->i_atime, &pObjInfo->AccessTime);
vbsf_time_to_linux(&pInode->i_ctime, &pObjInfo->ChangeTime);

View File

@ -1,18 +0,0 @@
To eliminate an rpmlint error, the shebang for this script should be
changed to use python directly, rather than through env.
When openSUSE switches to Python3, the shebang below should be changed
to "#!/usr/bin/python3".
Larry Finger
Index: VirtualBox-7.0.14/src/VBox/Frontends/VBoxShell/vboxshell.py
===================================================================
--- VirtualBox-7.0.14.orig/src/VBox/Frontends/VBoxShell/vboxshell.py
+++ VirtualBox-7.0.14/src/VBox/Frontends/VBoxShell/vboxshell.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python3
# -*- coding: utf-8 -*-
# $Id: vboxshell.py $

View File

@ -1,16 +0,0 @@
Index: VirtualBox-7.0.14/src/VBox/Main/webservice/vboxweb.cpp
===================================================================
--- VirtualBox-7.0.14.orig/src/VBox/Main/webservice/vboxweb.cpp
+++ VirtualBox-7.0.14/src/VBox/Main/webservice/vboxweb.cpp
@@ -955,9 +955,9 @@ static void doQueuesLoop()
continue; // timeout, not necessary to bother gsoap
// r < 0, errno
#if GSOAP_VERSION >= 208103
- if (soap_socket_errno == SOAP_EINTR)
+ if (soap_socket_errno == SOAP_EINTR)
#else
- if (soap_socket_errno(soap.master) == SOAP_EINTR)
+ if (soap_socket_errno(fd) == SOAP_EINTR)
#endif
rv = 0; // re-check if we should terminate
break;

View File

@ -1,80 +0,0 @@
From: Jiri Slaby <jslaby@suse.cz>
Subject: fix build with Linux 6.8
Patch-mainline: no
References: kernel 6.8
strlcpy() was removed in commit d26270061ae6 (string: Remove strlcpy()), use
strscpy() instead.
The patches fixes this (and similar):
modules_build_dir/default/vboxsf/vfsmod.c:1411:9: error: implicit declaration of function strlcpy; did you mean strscpy?
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
src/VBox/Additions/common/VBoxGuest/VBoxGuest-linux.c | 6 +++---
src/VBox/Additions/linux/sharedfolders/vfsmod.c | 6 +++---
2 files changed, 6 insertions(+), 6 deletions(-)
Index: VirtualBox-7.0.14/src/VBox/Additions/common/VBoxGuest/VBoxGuest-linux.c
===================================================================
--- VirtualBox-7.0.14.orig/src/VBox/Additions/common/VBoxGuest/VBoxGuest-linux.c
+++ VirtualBox-7.0.14/src/VBox/Additions/common/VBoxGuest/VBoxGuest-linux.c
@@ -1361,7 +1361,7 @@ static int vgdrvLinuxParamLogGrpSet(cons
RTLogGroupSettings(pLogger, pszValue);
}
else if (pParam->name[0] != 'd')
- strlcpy(&g_szLogGrp[0], pszValue, sizeof(g_szLogGrp));
+ strscpy(&g_szLogGrp[0], pszValue, sizeof(g_szLogGrp));
return 0;
}
@@ -1387,7 +1387,7 @@ static int vgdrvLinuxParamLogFlagsSet(co
RTLogFlags(pLogger, pszValue);
}
else if (pParam->name[0] != 'd')
- strlcpy(&g_szLogFlags[0], pszValue, sizeof(g_szLogFlags));
+ strscpy(&g_szLogFlags[0], pszValue, sizeof(g_szLogFlags));
return 0;
}
@@ -1412,7 +1412,7 @@ static int vgdrvLinuxParamLogDstSet(cons
RTLogDestinations(pLogger, pszValue);
}
else if (pParam->name[0] != 'd')
- strlcpy(&g_szLogDst[0], pszValue, sizeof(g_szLogDst));
+ strscpy(&g_szLogDst[0], pszValue, sizeof(g_szLogDst));
return 0;
}
Index: VirtualBox-7.0.14/src/VBox/Additions/linux/sharedfolders/vfsmod.c
===================================================================
--- VirtualBox-7.0.14.orig/src/VBox/Additions/linux/sharedfolders/vfsmod.c
+++ VirtualBox-7.0.14/src/VBox/Additions/linux/sharedfolders/vfsmod.c
@@ -1408,7 +1408,7 @@ static int vbsf_parse_param(struct fs_co
switch (opt) {
case Opt_iocharset:
case Opt_nls:
- strlcpy(info->nls_name, param->string, sizeof(info->nls_name));
+ strscpy(info->nls_name, param->string, sizeof(info->nls_name));
break;
case Opt_uid:
info->uid = result.uint_32;
@@ -1469,7 +1469,7 @@ static int vbsf_parse_param(struct fs_co
printk(KERN_WARNING "vboxsf: cache mode (%u) is out of range, using default instead.\n", result.uint_32);
break;
case Opt_tag:
- strlcpy(info->szTag, param->string, sizeof(info->szTag));
+ strscpy(info->szTag, param->string, sizeof(info->szTag));
break;
default:
return invalf(fc, "Invalid mount option: '%s'", param->key);
@@ -1528,7 +1528,7 @@ static int vbsf_get_tree(struct fs_conte
}
/* fc->source (the shared folder name) is set after vbsf_init_fs_ctx() */
- strlcpy(info->name, fc->source, sizeof(info->name));
+ strscpy(info->name, fc->source, sizeof(info->name));
# if RTLNX_VER_MAX(5,3,0)
return vfs_get_super(fc, vfs_get_independent_super, vbsf_read_super_aux);

View File

@ -1,75 +0,0 @@
Index: VirtualBox-7.0.14/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
===================================================================
--- VirtualBox-7.0.14.orig/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
+++ VirtualBox-7.0.14/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
@@ -938,8 +938,13 @@ static void vboxNetFltLinuxSkBufToSG(PVB
{
skb_frag_t *pFrag = &skb_shinfo(pBuf)->frags[i];
# if RTLNX_VER_MIN(5,4,0) || RTLNX_SUSE_MAJ_PREREQ(15, 2)
- pSG->aSegs[iSeg].cb = pFrag->bv_len;
- pSG->aSegs[iSeg].pv = VBOX_SKB_KMAP_FRAG(pFrag) + pFrag->bv_offset;
+# if RTLNX_VER_MIN(6,9,0)
+ pSG->aSegs[iSeg].cb = pFrag->len;
+ pSG->aSegs[iSeg].pv = VBOX_SKB_KMAP_FRAG(pFrag) + pFrag->offset;
+# else
+ pSG->aSegs[iSeg].cb = pFrag->bv_len;
+ pSG->aSegs[iSeg].pv = VBOX_SKB_KMAP_FRAG(pFrag) + pFrag->bv_offset;
+#endif
# else /* < KERNEL_VERSION(5, 4, 0) */
pSG->aSegs[iSeg].cb = pFrag->size;
pSG->aSegs[iSeg].pv = VBOX_SKB_KMAP_FRAG(pFrag) + pFrag->page_offset;
@@ -959,8 +964,13 @@ static void vboxNetFltLinuxSkBufToSG(PVB
{
skb_frag_t *pFrag = &skb_shinfo(pFragBuf)->frags[i];
# if RTLNX_VER_MIN(5,4,0) || RTLNX_SUSE_MAJ_PREREQ(15, 2)
- pSG->aSegs[iSeg].cb = pFrag->bv_len;
+# if RTLNX_VER_MIN(6,9,0)
+ pSG->aSegs[iSeg].cb = pFrag->len;
+ pSG->aSegs[iSeg].pv = VBOX_SKB_KMAP_FRAG(pFrag) + pFrag->offset;
+#else
+ pSG->aSegs[iSeg].cb = pFrag->bv_len;
pSG->aSegs[iSeg].pv = VBOX_SKB_KMAP_FRAG(pFrag) + pFrag->bv_offset;
+#endif
# else /* < KERNEL_VERSION(5, 4, 0) */
pSG->aSegs[iSeg].cb = pFrag->size;
pSG->aSegs[iSeg].pv = VBOX_SKB_KMAP_FRAG(pFrag) + pFrag->page_offset;
Index: VirtualBox-7.0.14/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
===================================================================
--- VirtualBox-7.0.14.orig/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
+++ VirtualBox-7.0.14/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
@@ -1174,7 +1174,11 @@ RTDECL(struct page *) rtR0MemObjLinuxVir
u.Four = *p4d_offset(&u.Global, ulAddr);
if (RT_UNLIKELY(p4d_none(u.Four)))
return NULL;
+# if RTLNX_VER_MIN(6,9,0)
+ if (p4d_page(u.Four))
+#else
if (p4d_large(u.Four))
+#endif
{
pPage = p4d_page(u.Four);
AssertReturn(pPage, NULL);
@@ -1190,7 +1194,11 @@ RTDECL(struct page *) rtR0MemObjLinuxVir
if (RT_UNLIKELY(pud_none(u.Upper)))
return NULL;
# if RTLNX_VER_MIN(2,6,25)
+# if RTLNX_VER_MIN(6,9,0)
+ if (pud_page(u.Upper))
+#else
if (pud_large(u.Upper))
+#endif
{
pPage = pud_page(u.Upper);
AssertReturn(pPage, NULL);
@@ -1206,7 +1214,11 @@ RTDECL(struct page *) rtR0MemObjLinuxVir
if (RT_UNLIKELY(pmd_none(u.Middle)))
return NULL;
#if RTLNX_VER_MIN(2,6,0)
+# if RTLNX_VER_MIN(6,9,0)
+ if (pmd_page(u.Middle))
+#else
if (pmd_large(u.Middle))
+#endif
{
pPage = pmd_page(u.Middle);
AssertReturn(pPage, NULL);

View File

@ -1,53 +1,7 @@
Index: VirtualBox-7.0.14/src/VBox/Runtime/r3/xml.cpp
Index: VirtualBox-7.0.18/src/libs/libxml2-2.12.6/include/vboxconfig.h
===================================================================
--- VirtualBox-7.0.14.orig/src/VBox/Runtime/r3/xml.cpp
+++ VirtualBox-7.0.14/src/VBox/Runtime/r3/xml.cpp
@@ -1856,11 +1856,10 @@ static void xmlParserBaseGenericError(vo
va_end(args);
}
-static void xmlParserBaseStructuredError(void *pCtx, xmlErrorPtr error) RT_NOTHROW_DEF
+static void xmlStructuredErrorFunc(void *userData, const xmlError *error) RT_NOTHROW_DEF
{
- NOREF(pCtx);
- /* we expect that there is always a trailing NL */
- LogRel(("XML error at '%s' line %d: %s", error->file, error->line, error->message));
+ NOREF(userData);
+ NOREF(error);
}
XmlParserBase::XmlParserBase()
@@ -1870,7 +1869,7 @@ XmlParserBase::XmlParserBase()
throw std::bad_alloc();
/* per-thread so it must be here */
xmlSetGenericErrorFunc(NULL, xmlParserBaseGenericError);
- xmlSetStructuredErrorFunc(NULL, xmlParserBaseStructuredError);
+// xmlSetStructuredErrorFunc(NULL, xmlStructuredErrorFunc);
}
XmlParserBase::~XmlParserBase()
@@ -1931,7 +1930,7 @@ void XmlMemParser::read(const void *pvBu
pcszFilename,
NULL, // encoding = auto
options)))
- throw XmlError(xmlCtxtGetLastError(m_ctxt));
+ throw XmlError((xmlErrorPtr)xmlCtxtGetLastError(m_ctxt));
doc.refreshInternals();
}
@@ -2191,7 +2190,7 @@ void XmlFileParser::read(const RTCString
pcszFilename,
NULL, // encoding = auto
options)))
- throw XmlError(xmlCtxtGetLastError(m_ctxt));
+ throw XmlError((xmlErrorPtr)xmlCtxtGetLastError(m_ctxt));
doc.refreshInternals();
}
Index: VirtualBox-7.0.14/src/libs/libxml2-2.12.6/include/vboxconfig.h
===================================================================
--- VirtualBox-7.0.14.orig/src/libs/libxml2-2.12.6/include/vboxconfig.h
+++ VirtualBox-7.0.14/src/libs/libxml2-2.12.6/include/vboxconfig.h
--- VirtualBox-7.0.18.orig/src/libs/libxml2-2.12.6/include/vboxconfig.h
+++ VirtualBox-7.0.18/src/libs/libxml2-2.12.6/include/vboxconfig.h
@@ -387,7 +387,7 @@
#define PACKAGE_TARNAME ""

View File

@ -1,3 +1,4 @@
Requires: kernel-%1
Provides: virtualbox-kmp = %version
Supplements: (virtualbox-guest-tools and kernel-%1)

View File

@ -1,3 +1,48 @@
-------------------------------------------------------------------
Tue May 7 12:47:44 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
- Have the KMP package supplement the kernel-flavor plus
virtualbox-guest-tools: -guest tools requires the kmp anyway, and
this allows libsolv to give some hints on 'what kmp' to prefer on
a system.
---------------------------------------------------------------------
Fri May 3 20:09:00 UTC 2024 - Larry Rainey <llrainey15@gmail.com>
- Version bump to VirtualBox 7.0.18 (released May 03 2024 by Oracle))
This is a maintenance release. The following items were fixed and/or added:
Networking: Fixed an issue which caused host system crash when VM was using bridged or host-only network adapter (bug #22045)
Linux Guest Additions: Added more fixes to prevent UBSAN warnings (bug #21877) Fixes boo#1211941
Linux Guest Additions: Fixed issue when time stamps were displayed incorrectly within mounted shared folder (bug #22047)
Permanent fix for boo#1220524. File fix_shared_folder_time.patch is deleted.
Files fixes_for_python.patch and handle_gsoap_208103.patch are deleted.
VirtualBox 7.0.16 (released April 16 2024)
This is a maintenance release. The following items were fixed and/or added:
VMM: Fixed a guru meditation executing nested-guests using the KVM hypervisor in the guest on Intel hosts (bug #21805)
VMM: Fixed Linux VM crash on some recent AMD models
USB: Fixed issue when EHCI controller was mishandling short packets (bug #20726)
Audio: Introduced general improvements
VBoxManage and vboximg-mount: Updated usage information and documentation (bugs #21895, #21992 and #21993)
Guest Control: Fixed starting Windows guest processes in the correct Windows session (7.0 regression)
Linux Host: Fixed issue when VBox.sh was deleting wrong VBoxSVC IPC socket when VM was started using sudo (bug #20928)
Linux Host: Fixed kernel modules build failure when using GCC 13.2
Linux Host and Guest: Added fixes related to UBSAN warnings discovered on recent Linux distributions (bug #21877)
Linux Host and Guest: Added possibility to prevent kernel module from automatic loading during system boot by adding mod_name.disabled=1 into kernel command line
Linux Host and Guest: Added initial support for kernel 6.9 (bug #22033). File kernel-6.9.patch is deleted.
Linux Host and Guest: Fixed mk_pte warning introduced in kernel 6.6 (bug #21898)
Linux Guest Additions: Added initial support for kernel 6.8. File kernel-6.8.patch is deleted.
Windows Guest Additions: Introduced general improvements in graphics area
-------------------------------------------------------------------
Fri May 3 08:24:26 UTC 2024 - Michal Suchanek <msuchanek@suse.com>
- Build kernel-longterm KMP on Tumbleweed (boo#1217824)
-------------------------------------------------------------------
Wed Apr 24 14:53:24 UTC 2024 - Larry Finger <Larry.Finger@gmail.com>

View File

@ -20,6 +20,9 @@
### macros for virtualbox-kmp ###
%define main_package 0
%define kmp_package 1
%if 0%{?suse_version} > 1600
%define kmp_longterm 1
%endif
%define name_suffix kmp
%define dash -
%define package_summary Kernel modules for VirtualBox
@ -49,7 +52,7 @@
%endif
# ********* If the VB version exceeds 6.1.x, notify the libvirt maintainer!!
Name: virtualbox%{?dash}%{?name_suffix}
Version: 7.0.14
Version: 7.0.18
Release: 0
Summary: %{package_summary}
License: GPL-2.0-or-later
@ -130,8 +133,6 @@ Patch18: fix_conflict_between_host_and_guest.patch
Patch19: modify_for_4_8_bo_move.patch
# Disable experimental and incomplete CLOUD_NET
Patch21: turn_off_cloud_net.patch
# Fix rpmlint error for script /lib/usr/virtualbox/vboxshell.py
Patch22: fixes_for_python.patch
# xpcom: Support up to python 3.10 -- https://www.virtualbox.org/changeset/90537/vbox + https://www.virtualbox.org/changeset/86623/vbox, thanks to Archlinux
Patch23: vbox-python-py310.patch
# fix build of Python and dev package on openSUSE 11.3 (was vbox-detection.diff)
@ -148,8 +149,6 @@ Patch28: fixes_for_qt5.13.patch
Patch30: fixes_for_makefile.patch
# Fix build for Qt 5.15
Patch31: fix-missing-includes-with-qt-5.15.patch
# Fix for changes in GSOAP 2.8.103
Patch32: handle_gsoap_208103.patch
# Fix for GCC13
Patch36: fixes_for_gcc13.patch
# Fix locking problem in 7.0.6
@ -161,14 +160,14 @@ Patch39: fix_sdl_build.patch
Patch40: fixes_for_leap.patch
# Fixes for Leap 15.6
Patch41: fixes_for_leap15.6.patch
Patch42: kernel-6.8.patch
Patch43: fixes_for_vboxconfig.patch
Patch44: kernel-6.9.patch
Patch45: libxml21206.patch
Patch46: fix_shared_folder_time.patch
#
# Common BuildRequires for both virtualbox and virtualbox-kmp
BuildRequires: %{kernel_module_package_buildreqs}
%if 0%{?kmp_longterm}
BuildRequires: kernel-syms-longterm
%endif
BuildRequires: acpica
BuildRequires: cmake-full
BuildRequires: dwarves
@ -458,7 +457,6 @@ This package contains the kernel-modules that VirtualBox uses to create or run v
%patch -P 18 -p1
%patch -P 19 -p1
%patch -P 21 -p1
%patch -P 22 -p1
%patch -P 23 -p1
%patch -P 24 -p1
%patch -P 25 -p1
@ -471,7 +469,6 @@ This package contains the kernel-modules that VirtualBox uses to create or run v
%endif
%patch -P 30 -p1
%patch -P 31 -p1
%patch -P 32 -p1
%if 0%{gcc_version} >= 13
%patch -P 36 -p1
%endif
@ -482,11 +479,8 @@ This package contains the kernel-modules that VirtualBox uses to create or run v
%if 0%{?sle_version} == 150600 && 0%{?is_opensuse}
%patch -P 41 -p1
%endif
%patch -P 42 -p1
%patch -P 43 -p1
%patch -P 44 -p1
%patch -P 45 -p1
%patch -P 46 -p1
### Documents for virtualbox main package ###
%if %{main_package}