commit d412329c5f3d38793d9e2dcafeee38d317cffb62
Author: Sérgio M. Basto <sergio(a)serjux.com>
Date: Tue Sep 17 01:56:40 2024 +0100
Update VirtualBox to 7.1.0
009-properly-handle-i3wm.patch | 75 ++++++++++++++++
VirtualBox-6.0.10-remove-duplicated-define.patch | 29 ------
...-6.1.14-fix-missing-includes-with-qt-5.15.patch | 22 -----
VirtualBox-6.1.4-gcc10.patch | 21 -----
VirtualBox-7.0.2-default-to-Fedora.patch | 47 ----------
VirtualBox-7.0.2-xclient-cleanups.patch | 30 +++----
VirtualBox-7.1.0-default-to-Fedora.patch | 30 +++++++
VirtualBox-gcc.patch | 13 ---
VirtualBox.spec | 64 ++++++-------
sources | 4 +-
update_vbox.sh | 6 +-
vbox-python-selection.patch | 100 ---------------------
12 files changed, 148 insertions(+), 293 deletions(-)
---
diff --git a/009-properly-handle-i3wm.patch b/009-properly-handle-i3wm.patch
new file mode 100644
index 0000000..50999e3
--- /dev/null
+++ b/009-properly-handle-i3wm.patch
@@ -0,0 +1,75 @@
+From 04cf1e3a266fcc4e65d01b8b492d2c5fbe1bf13d Mon Sep 17 00:00:00 2001
+From: Christian Hesse <mail(a)eworm.de>
+Date: Wed, 11 Sep 2024 21:10:09 +0200
+Subject: [PATCH 1/1] properly handle i3wm
+
+---
+ .../VirtualBox/src/globals/UIDesktopWidgetWatchdog.cpp | 3 ++-
+ .../Frontends/VirtualBox/src/platform/nix/VBoxUtils-nix.cpp | 3 +++
+ src/VBox/Frontends/VirtualBox/src/platform/nix/VBoxUtils-nix.h | 3 ++-
+ src/VBox/Frontends/VirtualBox/src/widgets/UIMiniToolBar.cpp | 3 +++
+ 4 files changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/src/VBox/Frontends/VirtualBox/src/globals/UIDesktopWidgetWatchdog.cpp
b/src/VBox/Frontends/VirtualBox/src/globals/UIDesktopWidgetWatchdog.cpp
+index e9b78fde..17a1dfc0 100644
+--- a/src/VBox/Frontends/VirtualBox/src/globals/UIDesktopWidgetWatchdog.cpp
++++ b/src/VBox/Frontends/VirtualBox/src/globals/UIDesktopWidgetWatchdog.cpp
+@@ -380,7 +380,8 @@ QRect UIDesktopWidgetWatchdog::availableGeometry(QScreen *pScreen)
const
+ /* Get cached available-geometry: */
+ const QRect availableGeometry =
m_availableGeometryData.value(screenToIndex(pScreen));
+ /* Return cached available-geometry if it's valid or screen-geometry otherwise:
*/
+- return availableGeometry.isValid() ? availableGeometry : screenGeometry(pScreen);
++ return availableGeometry.isValid() &&
NativeWindowSubsystem::X11WindowManagerType() != X11WMType_i3 ?
++ availableGeometry : screenGeometry(pScreen);
+ # endif /* !VBOX_GUI_WITH_CUSTOMIZATIONS1 */
+ #else /* !VBOX_WS_NIX */
+ /* Just return screen available-geometry: */
+diff --git a/src/VBox/Frontends/VirtualBox/src/platform/nix/VBoxUtils-nix.cpp
b/src/VBox/Frontends/VirtualBox/src/platform/nix/VBoxUtils-nix.cpp
+index ab520e51..f168050d 100644
+--- a/src/VBox/Frontends/VirtualBox/src/platform/nix/VBoxUtils-nix.cpp
++++ b/src/VBox/Frontends/VirtualBox/src/platform/nix/VBoxUtils-nix.cpp
+@@ -139,6 +139,9 @@ X11WMType NativeWindowSubsystem::X11WindowManagerType()
+ else
+ if (QString((const char*)pcData).contains("Xfwm4",
Qt::CaseInsensitive))
+ wmType = X11WMType_Xfwm4;
++ else
++ if (QString((const char*)pcData).contains("i3",
Qt::CaseInsensitive))
++ wmType = X11WMType_i3;
+ if (pcData)
+ XFree(pcData);
+ }
+diff --git a/src/VBox/Frontends/VirtualBox/src/platform/nix/VBoxUtils-nix.h
b/src/VBox/Frontends/VirtualBox/src/platform/nix/VBoxUtils-nix.h
+index e1dfc07f..b1a789e7 100644
+--- a/src/VBox/Frontends/VirtualBox/src/platform/nix/VBoxUtils-nix.h
++++ b/src/VBox/Frontends/VirtualBox/src/platform/nix/VBoxUtils-nix.h
+@@ -51,6 +51,7 @@ enum X11WMType
+ X11WMType_Metacity,
+ X11WMType_Mutter,
+ X11WMType_Xfwm4,
++ X11WMType_i3,
+ };
+
+ /** X11: Screen-saver inhibit methods. */
+@@ -104,7 +105,7 @@ namespace NativeWindowSubsystem
+ /** Wrapper for window manager type functions. */
+ X11WMType windowManagerType(bool fIsXServerAvailable);
+ /** X11: Determines and returns current Window Manager type. */
+- X11WMType X11WindowManagerType();
++ SHARED_LIBRARY_STUFF X11WMType X11WindowManagerType();
+ /** Wayland: Determines and returns current Window Manager type. */
+ X11WMType WaylandWindowManagerType();
+
+diff --git a/src/VBox/Frontends/VirtualBox/src/widgets/UIMiniToolBar.cpp
b/src/VBox/Frontends/VirtualBox/src/widgets/UIMiniToolBar.cpp
+index 272729a4..6346fb63 100644
+--- a/src/VBox/Frontends/VirtualBox/src/widgets/UIMiniToolBar.cpp
++++ b/src/VBox/Frontends/VirtualBox/src/widgets/UIMiniToolBar.cpp
+@@ -1076,6 +1076,9 @@ void UIMiniToolBar::prepare()
+ /* Enable translucency through Qt API if supported: */
+ if (uiCommon().isCompositingManagerRunning())
+ setAttribute(Qt::WA_TranslucentBackground);
++
++ if (NativeWindowSubsystem::X11WindowManagerType() == X11WMType_i3)
++ setWindowFlags(Qt::FramelessWindowHint);
+ #endif /* VBOX_WS_NIX */
+
+ /* Make sure we have no focus: */
diff --git a/VirtualBox-7.0.2-xclient-cleanups.patch
b/VirtualBox-7.0.2-xclient-cleanups.patch
index 84635ef..a292b61 100644
--- a/VirtualBox-7.0.2-xclient-cleanups.patch
+++ b/VirtualBox-7.0.2-xclient-cleanups.patch
@@ -1,15 +1,6 @@
-# Do not show an error dialog when not running under vbox
-# Do not start VBoxClient --vmsvga, we run VBoxClient --vmsvga as
-# a systemd service, this works with both Wayland and Xorg based sessions
-
----
- src/VBox/Additions/x11/Installer/98vboxadd-xclient | 13 +++----------
- 1 file changed, 3 insertions(+), 10 deletions(-)
-
-diff -Nurp VirtualBox-7.0.2.orig/src/VBox/Additions/x11/Installer/98vboxadd-xclient
VirtualBox-7.0.2/src/VBox/Additions/x11/Installer/98vboxadd-xclient
---- VirtualBox-7.0.2.orig/src/VBox/Additions/x11/Installer/98vboxadd-xclient 2022-10-19
21:20:45.000000000 +0300
-+++ VirtualBox-7.0.2/src/VBox/Additions/x11/Installer/98vboxadd-xclient 2022-10-22
12:05:28.770187860 +0300
-@@ -31,18 +31,11 @@ for i in $HOME/.vboxclient-*.pid; do
+--- ./src/VBox/Additions/x11/Installer/98vboxadd-xclient.orig 2024-09-11
22:57:09.623398840 +0100
++++ ./src/VBox/Additions/x11/Installer/98vboxadd-xclient 2024-09-11 22:58:14.239296616
+0100
+@@ -31,16 +31,9 @@ for i in $HOME/.vboxclient-*.pid; do
test -w $i || rm -f $i
done
@@ -22,13 +13,16 @@ diff -Nurp
VirtualBox-7.0.2.orig/src/VBox/Additions/x11/Installer/98vboxadd-xcli
- # This script can also be triggered by a connection over SSH, which is not
- # what we had in mind, so we do not start VBoxClient in that case. We do
- # not use "exit" here as this script is "source"d, not executed.
+-
+# Do not start if the kernel module is not present; or if this script is
+# triggered by a connection over SSH.
+if [ -c /dev/vboxguest -a -z "${SSH_CONNECTION}" ]; then
- /usr/bin/VBoxClient --clipboard
- /usr/bin/VBoxClient --checkhostversion
- /usr/bin/VBoxClient --seamless
- /usr/bin/VBoxClient --draganddrop
-- /usr/bin/VBoxClient --vmsvga-session # In case VMSVGA emulation is enabled
+ # Check wheather X11 or Wayland version of VBoxClient should be started.
+ vbox_wl_check=$(/usr/bin/vboxwl --check 2> /dev/null)
+ if test "$vbox_wl_check" = "WL"; then
+@@ -52,5 +45,4 @@ elif test -z "${SSH_CONNECTION}"; then
+ fi
+
+ /usr/bin/VBoxClient --checkhostversion
+- /usr/bin/VBoxClient --vmsvga-session # In case VMSVGA emulation is enabled
fi
-
diff --git a/VirtualBox-7.1.0-default-to-Fedora.patch
b/VirtualBox-7.1.0-default-to-Fedora.patch
new file mode 100644
index 0000000..3959c5f
--- /dev/null
+++ b/VirtualBox-7.1.0-default-to-Fedora.patch
@@ -0,0 +1,30 @@
+---
./src/VBox/Frontends/VirtualBox/src/settings/editors/UINameAndSystemEditor.cpp.default_os_fedora 2024-09-11
22:22:11.439715400 +0100
++++
./src/VBox/Frontends/VirtualBox/src/settings/editors/UINameAndSystemEditor.cpp 2024-09-11
22:40:04.046997666 +0100
+@@ -775,10 +775,10 @@ void UINameAndSystemEditor::selectPrefer
+ iChosenIndex = m_pComboDistribution->findText(distribution());
+ }
+
+- /* Try to choose Oracle Linux for Linux family: */
++ /* Try to choose Fedora Linux for Linux family: */
+ if ( iChosenIndex == -1
+ && familyId() == "Linux")
+- iChosenIndex = m_pComboDistribution->findText("Oracle",
Qt::MatchContains);
++ iChosenIndex = m_pComboDistribution->findText("Fedora",
Qt::MatchContains);
+
+ /* Choose the item under the index we found or 1st one item otherwise: */
+ m_pComboDistribution->setCurrentIndex(iChosenIndex != -1 ? iChosenIndex : 0);
+@@ -811,11 +811,11 @@ void UINameAndSystemEditor::selectPrefer
+ iChosenIndex = m_pComboType->findData(strDefaultID);
+ }
+
+- /* Try to choose Oracle Linux x64 for Oracle distribution: */
++ /* Try to choose Fedora Linux x64 for Fedora distribution: */
+ if ( iChosenIndex == -1
+- && distribution() == "Oracle")
++ && distribution() == "Fedora")
+ {
+- const QString strDefaultID = GUEST_OS_ID_STR_X64("Oracle");
++ const QString strDefaultID = GUEST_OS_ID_STR_X64("Fedora");
+ iChosenIndex = m_pComboType->findData(strDefaultID);
+ }
+
diff --git a/VirtualBox.spec b/VirtualBox.spec
index 41c7869..5d4c3a3 100644
--- a/VirtualBox.spec
+++ b/VirtualBox.spec
@@ -49,8 +49,8 @@
%endif
Name: VirtualBox
-Version: 7.0.20
-Release: 2%{?dist}
+Version: 7.1.0
+Release: 1%{?dist}
Summary: A general-purpose full virtualizer for PC hardware
License: GPLv2 or (GPLv2 and CDDL)
@@ -82,21 +82,18 @@ Source27: os_mageia_64_x4.png
Patch1: VirtualBox-7.0.2-noupdate.patch
Patch2: VirtualBox-6.1.0-strings.patch
-Patch3: VirtualBox-7.0.2-default-to-Fedora.patch
+Patch3: VirtualBox-7.1.0-default-to-Fedora.patch
Patch4: VirtualBox-5.1.0-lib64-VBox.sh.patch
-#Patch27: VirtualBox-gcc.patch
# from Mageia
Patch50: VirtualBox-7.0.2-update-Mageia-support.patch
-Patch52: VirtualBox-6.1.14-fix-missing-includes-with-qt-5.15.patch
-Patch53: VirtualBox-6.0.10-remove-duplicated-define.patch
Patch54: VirtualBox-7.0.2-ExtPacks-VBoxDTrace-no-publisher-in-version.patch
# from Fedora
Patch60: VirtualBox-7.0.2-xclient-cleanups.patch
# from OpenSuse
-#Patch70: vbox-python-selection.patch
+# from Arch
+Patch70: 009-properly-handle-i3wm.patch
-Patch80: VirtualBox-6.1.4-gcc10.patch
Patch90: VirtualBox-python3.12.patch
BuildRequires: gcc-c++
@@ -118,14 +115,9 @@ BuildRequires: python%{python3_pkgversion}-setuptools
%endif
BuildRequires: desktop-file-utils
BuildRequires: libcap-devel
-BuildRequires: pkgconfig(Qt5Core)
-BuildRequires: pkgconfig(Qt5Gui)
-BuildRequires: pkgconfig(Qt5Help)
-BuildRequires: pkgconfig(Qt5OpenGL)
-BuildRequires: pkgconfig(Qt5PrintSupport)
-BuildRequires: pkgconfig(Qt5Widgets)
-BuildRequires: pkgconfig(Qt5X11Extras)
-BuildRequires: pkgconfig(Qt5Xml)
+BuildRequires: pkgconfig(Qt6Core)
+BuildRequires: pkgconfig(Qt6Help)
+BuildRequires: pkgconfig(Qt6Scxml)
%if %{with webservice}
BuildRequires: gsoap-devel
@@ -190,8 +182,8 @@ BuildRequires: libvncserver-devel
%if %{with system_libtpms}
BuildRequires: pkgconfig(libtpms)
%endif
-BuildRequires: pkgconfig(ogg)
-BuildRequires: pkgconfig(vorbis)
+#BuildRequires: pkgconfig(ogg)
+#BuildRequires: pkgconfig(vorbis)
%if %{with dxvk_native}
BuildRequires: glslang
#BuildRequires: dxvk-native-devel
@@ -215,7 +207,7 @@ OS/2, and OpenBSD.
%package server
-Summary: core part (host server) for %{name}
+Summary: Core part (host server) for %{name}
Group: Development/Tools
Requires: %{name}-kmod = %{version}
Requires: hicolor-icon-theme
@@ -305,10 +297,7 @@ find -name '*.py[co]' -delete
rm -r src/VBox/Additions/WINNT
rm -r src/VBox/Additions/os2
rm -r kBuild/
-#mv tools/kBuildUnits .
rm -r tools/
-#mkdir tools
-#mv kBuildUnits tools/
# Remove bundle X11 sources and some lib sources, before patching.
rm -r src/VBox/Additions/x11/x11include/
@@ -317,6 +306,9 @@ rm -r src/VBox/Additions/3D/mesa/mesa-21.3.8/
#rm include/VBox/HostServices/wglext.h
# src/VBox/GuestHost/OpenGL/include/GL/glext.h have VBOX definitions
#rm -r src/VBox/GuestHost/OpenGL/include/GL
+rm -r src/VBox/Runtime/r3/darwin
+rm -r src/VBox/Runtime/r0drv/darwin
+rm -r src/VBox/Runtime/darwin
rm -r src/libs/liblzf-3.*/
rm -r src/libs/libpng-1.6.*/
@@ -338,15 +330,13 @@ rm -r src/libs/libtpms-0.9.*/
%patch -P 2 -p1 -b .strings
%patch -P 3 -p1 -b .default_os_fedora
%patch -P 4 -p1 -b .lib64-VBox.sh
-#patch -P 27 -p1 -b .gcc
-%patch -P 50 -p1 -b .mageia-support
-%patch -P 52 -p1 -b .qt
-%patch -P 53 -p1 -b .qt2
+
+#patch -P 50 -p1 -b .mageia-support
%patch -P 54 -p1 -b .dtrace
%patch -P 60 -p1 -b .xclient
-#patch -P 70 -p1 -b .python-detection
-%patch -P 80 -p1 -b .gcc10
-%patch -P 90 -p1 -b .python3.12
+
+%patch -P 70 -p1 -b .i3wm
+#patch -P 90 -p1 -b .python3.12
%build
@@ -363,7 +353,6 @@ rm -r src/libs/libtpms-0.9.*/
%if !%{with python3}
--disable-python \
%endif
- --enable-libogg --enable-libvorbis
%if !%{with docs}
cp %{SOURCE1} UserManual.pdf
@@ -502,9 +491,7 @@ install -p -m 0755 -t %{buildroot}%{_libdir}/virtualbox \
obj/bin/VBoxExtPackHelperApp \
obj/bin/VBoxManage \
obj/bin/VBoxSVC \
- obj/bin/VBoxTestOGL \
obj/bin/VBoxVMMPreload \
- obj/bin/VBoxXPCOMIPCD \
obj/bin/VBoxSysInfo.sh \
obj/bin/vboxweb-service.sh \
%if %{with python3}
@@ -520,6 +507,8 @@ install -p -m 0755 -t %{buildroot}%{_libdir}/virtualbox \
obj/bin/webtest \
%endif
+# obj/bin/VBoxSDL \
+
# Wrapper with Launchers
ln -s VBox %{buildroot}%{_bindir}/VirtualBox
ln -s VBox %{buildroot}%{_bindir}/virtualbox
@@ -558,12 +547,10 @@ install -p -m 0755 -t %{buildroot}%{_libdir}/virtualbox/nls \
# Python
%if %{with python3}
-pushd obj/bin/sdk/installer
+pushd obj/bin/sdk/installer/python
export VBOX_INSTALL_PATH=%{_libdir}/virtualbox
%{__python3} vboxapisetup.py install --prefix %{_prefix} --root %{buildroot}
-if [ -x /usr/bin/pathfix.py ]; then
- pathfix.py -pni "%{__python3} %{py3_shbang_opts}"
%{buildroot}${VBOX_INSTALL_PATH}/vboxshell.py
-fi
+%py3_shebang_fix -pni "%{__python3} %{py3_shbang_opts}"
%{buildroot}${VBOX_INSTALL_PATH}/vboxshell.py
popd
%endif
@@ -807,7 +794,6 @@ getent passwd vboxadd >/dev/null || \
%{_libdir}/virtualbox/VBoxExtPackHelperApp
%{_libdir}/virtualbox/VBoxManage
%{_libdir}/virtualbox/VBoxSVC
-%{_libdir}/virtualbox/VBoxXPCOMIPCD
%{_libdir}/virtualbox/VBoxBalloonCtrl
%{_libdir}/virtualbox/SUPInstall
%{_libdir}/virtualbox/SUPLoggerCtl
@@ -835,7 +821,6 @@ getent passwd vboxadd >/dev/null || \
%files
%{_bindir}/VirtualBox
%{_bindir}/virtualbox
-%{_libdir}/virtualbox/VBoxTestOGL
%{_libdir}/virtualbox/VBoxDbg.so
%{_libdir}/virtualbox/UICommon.so
%{_libdir}/virtualbox/VirtualBox
@@ -892,6 +877,9 @@ getent passwd vboxadd >/dev/null || \
%{_datadir}/%{name}-kmod-%{version}
%changelog
+* Mon Sep 16 2024 Sérgio Basto <sergio(a)serjux.com> - 7.1.0-1
+- Update VirtualBox to 7.1.0
+
* Thu Aug 01 2024 RPM Fusion Release Engineering <sergiomb(a)rpmfusion.org> -
7.0.20-2
- Rebuilt for
https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
diff --git a/sources b/sources
index d0a5f02..fe75877 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-SHA512 (VirtualBox-7.0.20.tar.bz2) =
7682e24d60c1896c661f2689af6820ae67b6bd8d9faaf18c58e8159bc7694ef80722f8e9611d6272da5b46eb2f3a44fc637b277e6801b7a8bf53aad045a81fe9
-SHA512 (UserManual.pdf) =
523333b108fe58de1e5ac7758af5d556326ba72ea2a1c18cceebaf4ae24489500d9107b8483a4de5040066d03e58e86bc397ca3ad0c86e63156f0e03723bb490
+SHA512 (VirtualBox-7.1.0.tar.bz2) =
d0fc27195b859fb537d57229d60a8895ced24b04c0f703c5862982de01d4787d20a3acb9cee4af29d18c56cd8c7ad846fd0eacc14af0c419e738953ca488463b
+SHA512 (UserManual.pdf) =
2e80f786e103fff7b3de97e891f3a67e18a4930d620ac813891fef08aa38450de3e13aa75b4ffc64d7137882bfb6991081ba77275048c3487aaf261466955b10
diff --git a/update_vbox.sh b/update_vbox.sh
index 333ef53..1c77115 100755
--- a/update_vbox.sh
+++ b/update_vbox.sh
@@ -1,7 +1,7 @@
-VERSION=7.0.20
+VERSION=7.1.0
REL=1
-RAWHIDE=41
-REPOS="f40 f39 el9 el8"
+RAWHIDE=42
+REPOS="f41 f40 f39 el9 el8"
if [ -z "$1" ]
then
stage=0