forked from pool/virtualbox
Compare commits
8 Commits
| Author | SHA256 | Date | |
|---|---|---|---|
| cf0b08f682 | |||
| 1c99f0ba17 | |||
| f3a90f09e1 | |||
| fc076a0e5d | |||
| 20d3164f42 | |||
| b5ad9bc3c6 | |||
| e94f7a20d6 | |||
| abbfbbe45c |
BIN
VirtualBox-7.1.12a-patched.tpxz
LFS
BIN
VirtualBox-7.1.12a-patched.tpxz
LFS
Binary file not shown.
BIN
VirtualBox-7.2.4-patched.tpxz
LFS
Normal file
BIN
VirtualBox-7.2.4-patched.tpxz
LFS
Normal file
Binary file not shown.
59
curl-8.16.patch
Normal file
59
curl-8.16.patch
Normal file
@@ -0,0 +1,59 @@
|
||||
References: https://bugzilla.suse.com/1249448
|
||||
From: Gianfranco Costamagna <locutusofborg@debian.org>
|
||||
From: Jan Engelhardt <ej@inai.de>
|
||||
Date: 2025-09-09 12:22:00 +0200
|
||||
Subject: [PATCH] Fix build with new curl version
|
||||
References: https://github.com/curl/curl/pull/18054
|
||||
References: https://bugs.debian.org/1114436
|
||||
References: https://salsa.debian.org/pkg-virtualbox-team/virtualbox/-/commit/dbf9a6ef75380ebd2705df0198c6ac8073d0b4cb#f28811e0ca565091f1d341d90b8ba208319492f5
|
||||
References: https://bugzilla.suse.com/1249448
|
||||
|
||||
curl 8.16 changed CURLPROXY_* definitions from enum{int} to long.
|
||||
C++ has more rules than C, preventing some implicit conversions
|
||||
involving enums. Debian patch changed to instead use an explicit
|
||||
conversion. [-jengelh]
|
||||
|
||||
http-curl.cpp: In function ‘int rtHttpUpdateAutomaticProxyDisable(PRTHTTPINTERNAL)’:
|
||||
http-curl.cpp:702:27: error: invalid conversion from ‘long int’ to ‘curl_proxytype’ [-fpermissive]
|
||||
702 | pThis->enmProxyType = CURLPROXY_HTTP;
|
||||
|
||||
diff --git a/src/VBox/Runtime/generic/http-curl.cpp b/src/VBox/Runtime/generic/http-curl.cpp
|
||||
index 4cf51049d..a76bf14f8 100644
|
||||
--- a/src/VBox/Runtime/generic/http-curl.cpp
|
||||
+++ b/src/VBox/Runtime/generic/http-curl.cpp
|
||||
@@ -188,7 +188,7 @@ typedef struct RTHTTPINTERNAL
|
||||
/** Proxy port number (UINT32_MAX if not specified). */
|
||||
uint32_t uProxyPort;
|
||||
/** The proxy type (CURLPROXY_HTTP, CURLPROXY_SOCKS5, ++). */
|
||||
- curl_proxytype enmProxyType;
|
||||
+ long enmProxyType;
|
||||
/** Proxy username (RTStrFree). */
|
||||
char *pszProxyUsername;
|
||||
/** Proxy password (RTStrFree). */
|
||||
@@ -591,7 +591,7 @@ RTR3DECL(int) RTHttpUseSystemProxySettings(RTHTTP hHttp)
|
||||
* @param pszUsername The proxy username, or NULL if none.
|
||||
* @param pszPassword The proxy password, or NULL if none.
|
||||
*/
|
||||
-static int rtHttpUpdateProxyConfig(PRTHTTPINTERNAL pThis, curl_proxytype enmProxyType, const char *pszHost,
|
||||
+static int rtHttpUpdateProxyConfig(PRTHTTPINTERNAL pThis, long enmProxyType, const char *pszHost,
|
||||
uint32_t uPort, const char *pszUsername, const char *pszPassword)
|
||||
{
|
||||
CURLcode rcCurl;
|
||||
@@ -871,7 +871,7 @@ static int rtHttpConfigureProxyFromUrl(PRTHTTPINTERNAL pThis, const char *pszPro
|
||||
char *pszPassword = RTUriParsedAuthorityPassword(pszProxyUrl, &Parsed);
|
||||
uint32_t uProxyPort = RTUriParsedAuthorityPort(pszProxyUrl, &Parsed);
|
||||
bool fUnknownProxyType = false;
|
||||
- curl_proxytype enmProxyType;
|
||||
+ long enmProxyType;
|
||||
if (RTUriIsSchemeMatch(pszProxyUrl, "http"))
|
||||
{
|
||||
enmProxyType = CURLPROXY_HTTP;
|
||||
@@ -1352,7 +1352,7 @@ static int rtHttpDarwinTryConfigProxy(PRTHTTPINTERNAL pThis, CFDictionaryRef hDi
|
||||
* Determine the proxy type (not entirely sure about type == proxy type and
|
||||
* not scheme/protocol)...
|
||||
*/
|
||||
- curl_proxytype enmProxyType = CURLPROXY_HTTP;
|
||||
+ long enmProxyType = (long)CURLPROXY_HTTP;
|
||||
uint32_t uDefaultProxyPort = 8080;
|
||||
if ( CFEqual(hStrProxyType, kCFProxyTypeHTTP)
|
||||
|| CFEqual(hStrProxyType, kCFProxyTypeHTTPS))
|
||||
@@ -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.0.20/configure
|
||||
@@ -1186,21 +1186,19 @@ check_sdl()
|
||||
--- VirtualBox-7.2.0.orig/configure
|
||||
+++ VirtualBox-7.2.0/configure
|
||||
@@ -1150,21 +1150,19 @@ check_sdl()
|
||||
fail
|
||||
fi
|
||||
else
|
||||
@@ -27,7 +32,7 @@ Index: VirtualBox-7.0.20/configure
|
||||
#undef main
|
||||
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
|
||||
[ -n "$INCSDL" ] && I_INCSDL=`prefix_I "$INCSDL"`
|
||||
@@ -36,7 +41,7 @@ Index: VirtualBox-7.0.20/configure
|
||||
if test_execute; then
|
||||
cnf_append "LIB_SDK_LIBSDL_SDL" "`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
|
||||
[ "$OS" != "darwin" ] && check_png
|
||||
[ $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_X11 -eq 1 ] && check_x
|
||||
# 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.0.20/src/VBox/Frontends/VBoxSDL/Makefile.kmk
|
||||
--- VirtualBox-7.2.0.orig/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
|
||||
PROGRAMS += VBoxSDL
|
||||
endif
|
||||
VBoxSDL_TEMPLATE := $(if $(VBOX_WITH_HARDENING),VBoxMainClientDll,VBoxMainClientExe)
|
||||
VBoxSDL_TEMPLATE := $(if $(VBOX_WITH_HARDENING),VBoxMainClientDll,VBoxMainClientSignedExe)
|
||||
- VBoxSDL_SDKS = LIBSDL2
|
||||
+ VBoxSDL_SDKS = LIBSDL
|
||||
VBoxSDL_SOURCES = \
|
||||
VBoxSDL.cpp \
|
||||
Framebuffer.cpp \
|
||||
@@ -81,7 +81,7 @@ if !defined(VBOX_WITH_HARDENING) || "$(K
|
||||
@@ -78,7 +78,7 @@ if !defined(VBOX_WITH_HARDENING) || "$(K
|
||||
endif
|
||||
ifn1of ($(KBUILD_TARGET), solaris) # Probably wrong with SDL2
|
||||
VBoxSDL_LIBS = \
|
||||
@@ -72,7 +77,7 @@ Index: VirtualBox-7.0.20/src/VBox/Frontends/VBoxSDL/Makefile.kmk
|
||||
endif
|
||||
if1of ($(KBUILD_TARGET), freebsd linux netbsd openbsd solaris) # X11
|
||||
VBoxSDL_LIBS += \
|
||||
@@ -121,7 +121,7 @@ if !defined(VBOX_WITH_HARDENING) || "$(K
|
||||
@@ -116,7 +116,7 @@ if !defined(VBOX_WITH_HARDENING) || "$(K
|
||||
if 0
|
||||
PROGRAMS += tstSDL
|
||||
tstSDL_TEMPLATE = VBoxR3TstExe
|
||||
@@ -81,7 +86,7 @@ Index: VirtualBox-7.0.20/src/VBox/Frontends/VBoxSDL/Makefile.kmk
|
||||
tstSDL_INST = $(INST_TESTCASE)
|
||||
tstSDL_SOURCES = \
|
||||
VBoxSDLTest.cpp
|
||||
@@ -138,7 +138,7 @@ if !defined(VBOX_WITH_HARDENING) || "$(K
|
||||
@@ -131,7 +131,7 @@ if !defined(VBOX_WITH_HARDENING) || "$(K
|
||||
$(LIB_RUNTIME)
|
||||
ifn1of ($(KBUILD_TARGET), solaris)
|
||||
tstSDL_LIBS += \
|
||||
|
||||
@@ -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.0.20/src/apps/Makefile.kmk
|
||||
@@ -28,5 +28,7 @@
|
||||
SUB_DEPTH = ../..
|
||||
include $(KBUILD_PATH)/subheader.kmk
|
||||
--- VirtualBox-7.2.0.orig/src/apps/Makefile.kmk
|
||||
+++ VirtualBox-7.2.0/src/apps/Makefile.kmk
|
||||
@@ -33,5 +33,7 @@ ifneq ($(KBUILD_TARGET),win)
|
||||
include $(PATH_SUB_CURRENT)/svn2git-vbox/Makefile.kmk
|
||||
endif
|
||||
|
||||
+include $(PATH_SUB_CURRENT)/VBoxPermissionMessage/Makefile.kmk
|
||||
+
|
||||
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
|
||||
+++ VirtualBox-7.0.20/src/apps/VBoxPermissionMessage/Makefile.kmk
|
||||
+++ VirtualBox-7.2.0/src/apps/VBoxPermissionMessage/Makefile.kmk
|
||||
@@ -0,0 +1,32 @@
|
||||
+# $Id: Makefile.kmk 28800 2010-04-27 08:22:32Z vboxsync $
|
||||
+## @file
|
||||
@@ -47,10 +53,10 @@ Index: VirtualBox-7.0.20/src/apps/VBoxPermissionMessage/Makefile.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
|
||||
+++ VirtualBox-7.0.20/src/apps/VBoxPermissionMessage/VBoxPermissionMessage.cpp
|
||||
+++ VirtualBox-7.2.0/src/apps/VBoxPermissionMessage/VBoxPermissionMessage.cpp
|
||||
@@ -0,0 +1,12 @@
|
||||
+#include <QtWidgets/QApplication>
|
||||
+#include <QtWidgets/QMessageBox>
|
||||
|
||||
@@ -1,3 +1,52 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Oct 22 10:52:35 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
|
||||
|
||||
- Update to release 7.2.4
|
||||
* GUI: Fixed VBox Manager crash when some VM has a lot of
|
||||
snapshots.
|
||||
* GUI: Fixed VBox Manager crash while attempting to show error
|
||||
notifications too early.
|
||||
* GUI: Fixed VBox Manager freeze on Linux hosts at startup or
|
||||
while attempting to add a VM.
|
||||
* Network: Added a new experimental type of e1000 adapter.
|
||||
(82583V). It requires the ICH9 chipset, since MSIs are not
|
||||
supported by PIIX3.
|
||||
* USB Webcam: The virtual USB webcam is now part of the open
|
||||
source base package.
|
||||
* GUI: Fixed VirtualBox VM Manager crash when host was resuming
|
||||
from sleep.
|
||||
* Support for Linux 6.18
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 30 09:31:18 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
|
||||
|
||||
- Drop logic for building and installing on pre-Leap 15.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Sep 11 15:03:37 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
|
||||
|
||||
- Add curl-8.16.patch [boo#1249448]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
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>
|
||||
|
||||
|
||||
205
virtualbox.spec
205
virtualbox.spec
@@ -15,7 +15,6 @@
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
%if "@BUILD_FLAVOR@" == "kmp"
|
||||
# macros for virtualbox-kmp
|
||||
%define main_package 0
|
||||
@@ -55,15 +54,22 @@
|
||||
%endif
|
||||
|
||||
# If you want to disable building Python parts, just set this to %%nil
|
||||
%global mypython python311
|
||||
%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
|
||||
%endif
|
||||
|
||||
%if "%mypython" != ""
|
||||
%global __mypython %{expand:%%__%{mypython}}
|
||||
%global mypython_sitelib %{expand:%%%{mypython}_sitelib}
|
||||
%global __mypython %{expand:%%__%{mypython}}
|
||||
%global mypython_sitelib %{expand:%%%{mypython}_sitelib}
|
||||
%endif
|
||||
|
||||
Name: virtualbox%{?dash}%{?name_suffix}
|
||||
Version: 7.1.12a
|
||||
%define rversion 7.1.12
|
||||
Version: 7.2.4
|
||||
%define rversion 7.2.4
|
||||
Release: 0
|
||||
Summary: %{package_summary}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -127,6 +133,7 @@ Patch10: fix_for_leap15.5.patch
|
||||
Patch11: cxx17.patch
|
||||
Patch12: host-source.patch
|
||||
Patch20: gentoo-C23.patch
|
||||
Patch21: curl-8.16.patch
|
||||
#
|
||||
# Common BuildRequires for both virtualbox and virtualbox-kmp
|
||||
BuildRequires: %{kernel_module_package_buildreqs}
|
||||
@@ -143,7 +150,7 @@ BuildRequires: gcc-c++
|
||||
BuildRequires: gcc12
|
||||
BuildRequires: gcc12-c++
|
||||
%endif
|
||||
BuildRequires: kbuild >= 0.1.9998+svn3613
|
||||
BuildRequires: kbuild >= 0.1.9998+svn3686
|
||||
BuildRequires: libcap-devel
|
||||
BuildRequires: libcurl-devel
|
||||
BuildRequires: libopenssl-devel
|
||||
@@ -157,7 +164,7 @@ ExclusiveArch: x86_64
|
||||
%if 0%{?sle_version} != 120300
|
||||
Source2: VirtualBox.appdata.xml
|
||||
%endif
|
||||
### Requirements for virtualbox main package ###
|
||||
|
||||
%if %{main_package}
|
||||
BuildRequires: dmidecode
|
||||
BuildRequires: e2fsprogs-devel
|
||||
@@ -182,16 +189,16 @@ BuildRequires: sysuser-tools
|
||||
BuildRequires: update-desktop-files
|
||||
BuildRequires: which
|
||||
BuildRequires: xorg-x11-server
|
||||
BuildRequires: pkgconfig(Qt6Core)
|
||||
BuildRequires: pkgconfig(Qt6DBus)
|
||||
BuildRequires: pkgconfig(Qt6Gui)
|
||||
BuildRequires: pkgconfig(Qt6Help)
|
||||
BuildRequires: pkgconfig(Qt6Network)
|
||||
BuildRequires: pkgconfig(Qt6PrintSupport)
|
||||
BuildRequires: pkgconfig(Qt6Sql)
|
||||
BuildRequires: pkgconfig(Qt6StateMachine)
|
||||
BuildRequires: pkgconfig(Qt6Widgets)
|
||||
BuildRequires: pkgconfig(Qt6Xml)
|
||||
BuildRequires: pkgconfig(Qt6Core) >= 6.8
|
||||
BuildRequires: pkgconfig(Qt6DBus) >= 6.8
|
||||
BuildRequires: pkgconfig(Qt6Gui) >= 6.8
|
||||
BuildRequires: pkgconfig(Qt6Help) >= 6.8
|
||||
BuildRequires: pkgconfig(Qt6Network) >= 6.8
|
||||
BuildRequires: pkgconfig(Qt6PrintSupport) >= 6.8
|
||||
BuildRequires: pkgconfig(Qt6Sql) >= 6.8
|
||||
BuildRequires: pkgconfig(Qt6StateMachine) >= 6.8
|
||||
BuildRequires: pkgconfig(Qt6Widgets) >= 6.8
|
||||
BuildRequires: pkgconfig(Qt6Xml) >= 6.8
|
||||
BuildRequires: pkgconfig(alsa)
|
||||
BuildRequires: pkgconfig(devmapper)
|
||||
BuildRequires: pkgconfig(fontsproto)
|
||||
@@ -237,19 +244,12 @@ Conflicts: %{name}-qt > %{version}
|
||||
Conflicts: %{name}-websrv < %{version}
|
||||
Conflicts: %{name}-websrv > %{version}
|
||||
Recommends: %{name}-gui = %{version}
|
||||
# package i4l-vbox from source package i4l-base shares the directory /etc/vbox
|
||||
# with us, but with different owner.
|
||||
Conflicts: i4l-vbox
|
||||
#rename from ose version:
|
||||
Provides: %{name}-ose = %{version}
|
||||
Obsoletes: %{name}-ose < %{version}
|
||||
%{?systemd_ordering}
|
||||
%{?sysusers_requires}
|
||||
%if 0%{?suse_version} > 1325
|
||||
BuildRequires: libboost_headers-devel
|
||||
%else
|
||||
BuildRequires: boost-devel
|
||||
%endif
|
||||
%ifarch amd64 x86_64 ia32e em64t
|
||||
%if 0%{?suse_version} && 0%{?suse_version} >= 1600
|
||||
BuildRequires: gcc-32bit
|
||||
@@ -263,12 +263,8 @@ BuildRequires: xorg-x11-libXext-devel-32bit
|
||||
BuildRequires: xorg-x11-libXmu-devel-32bit
|
||||
BuildRequires: xorg-x11-libXt-devel-32bit
|
||||
%endif
|
||||
%if ! 0%{?suse_version} > 1325
|
||||
Requires(pre): net-tools-deprecated
|
||||
%endif
|
||||
# end of main_package
|
||||
%endif
|
||||
### Requirements for virtualbox-kmp ###
|
||||
|
||||
%if %{kmp_package}
|
||||
BuildRequires: alsa-devel
|
||||
BuildRequires: libiptc-devel
|
||||
@@ -277,9 +273,8 @@ BuildRequires: libxml2-devel
|
||||
Requires: ca-certificates
|
||||
Requires: openSUSE-signkey-cert
|
||||
%kernel_module_package -p %{SOURCE7} -n virtualbox -x kdump um xen pae xenpae pv
|
||||
# end of kmp_package
|
||||
%endif
|
||||
### Description and subpackages of virtualbox main package ###
|
||||
|
||||
%if %{main_package}
|
||||
%description
|
||||
VirtualBox is a hosted hypervisor for x86 computers. It supports the
|
||||
@@ -330,9 +325,6 @@ Provides: %{name}-ose-guest-tools = %{version}
|
||||
Obsoletes: %{name}-ose-guest-tools < %{version}
|
||||
Obsoletes: virtualbox-guest-x11 < %{version}
|
||||
Obsoletes: xorg-x11-driver-virtualbox-ose < %{version}
|
||||
%if ! 0%{?suse_version} > 1325
|
||||
Requires(pre): net-tools-deprecated
|
||||
%endif
|
||||
%{?sysusers_requires}
|
||||
|
||||
%description guest-tools
|
||||
@@ -465,17 +457,17 @@ rm -rf src/libs/{libpng-*,libxml2-*,libxslt-*,zlib-*,boost-*}
|
||||
# --disable-kmods don't build Linux kernel modules - but use SUSE specific way see few lines under
|
||||
# NOT an autoconf configure script
|
||||
./configure \
|
||||
--enable-vnc \
|
||||
--enable-vde \
|
||||
--disable-kmods \
|
||||
--with-linux="%{_prefix}" \
|
||||
--disable-java \
|
||||
--disable-docs \
|
||||
--enable-webservice \
|
||||
--enable-vnc \
|
||||
--enable-vde \
|
||||
--disable-kmods \
|
||||
--with-linux="%{_prefix}" \
|
||||
--disable-java \
|
||||
--disable-docs \
|
||||
--enable-webservice \
|
||||
%if "%mypython" == ""
|
||||
--disable-python \
|
||||
--disable-python \
|
||||
%endif
|
||||
--with-makeself=%{_bindir}/true
|
||||
--with-makeself=%{_bindir}/true
|
||||
|
||||
# configure actually warns we should source env.sh (which seems like it could influence the build...)
|
||||
source ./env.sh
|
||||
@@ -484,14 +476,14 @@ source ./env.sh
|
||||
# VBOX_PATH_PACKAGE_DOCS set propper path for link to pdf in .desktop file
|
||||
# VBOX_WITH_REGISTRATION_REQUEST= VBOX_WITH_UPDATE_REQUEST= just disable some functionality in gui
|
||||
echo "build basic parts"
|
||||
%{_bindir}/kmk %{?_smp_mflags} \
|
||||
VBOX_GCC_WERR= \
|
||||
VBOX_USE_SYSTEM_XORG_HEADERS=1 \
|
||||
VBOX_WITH_REGISTRATION_REQUEST= VBOX_WITH_UPDATE_REQUEST= \
|
||||
TOOL_YASM_AS=yasm \
|
||||
VBOX_BUILD_PUBLISHER=_SUSE \
|
||||
TOOL_GCC3_CFLAGS="%{optflags}" TOOL_GCC3_CXXFLAGS="%{optflags}" \
|
||||
VBOX_GCC_OPT="%{optflags}"
|
||||
%{_bindir}/kmk %{?_smp_mflags} \
|
||||
VBOX_GCC_WERR= \
|
||||
VBOX_USE_SYSTEM_XORG_HEADERS=1 \
|
||||
VBOX_WITH_REGISTRATION_REQUEST= VBOX_WITH_UPDATE_REQUEST= \
|
||||
TOOL_YASM_AS=yasm \
|
||||
VBOX_BUILD_PUBLISHER=_SUSE \
|
||||
TOOL_GCC3_CFLAGS="%{optflags}" TOOL_GCC3_CXXFLAGS="%{optflags}" \
|
||||
VBOX_GCC_OPT="%{optflags}"
|
||||
|
||||
echo "build VNC extension pack"
|
||||
# tar must use GNU, not POSIX, format here
|
||||
@@ -559,19 +551,17 @@ install -m 755 out/linux.*/release/bin/additions/VBoxDRMClient %{buildroot}%{_bi
|
||||
install -m 755 src/VBox/Additions/x11/Installer/98vboxadd-xclient %{buildroot}%{_sysconfdir}/X11/xinit/xinitrc.d/
|
||||
install -d %{buildroot}%{_sysconfdir}/xdg/autostart/
|
||||
install -m 644 %{SOURCE25} %{buildroot}%{_sysconfdir}/xdg/autostart/vboxclient.desktop
|
||||
%if 0%{?suse_version} > 1320 || 0%{?sle_version} == 120300
|
||||
install -d -m 755 %{buildroot}/media
|
||||
%endif
|
||||
|
||||
echo "entering VNC extension install section"
|
||||
pushd out/linux.*/release/packages/
|
||||
cd out/linux.*/release/packages/
|
||||
mkdir -p "%{buildroot}%{_datadir}/virtualbox/extensions/"
|
||||
install -D -m 644 VNC-*.vbox-extpack "%{buildroot}%{_datadir}/virtualbox/extensions/VNC-%{rversion}.vbox-extpack"
|
||||
popd
|
||||
cd -
|
||||
|
||||
echo "entering virtualbox(-qt) install section"
|
||||
# copy the main files to %%{_vbox_instdir}
|
||||
pushd out/linux.*/release/bin
|
||||
cd out/linux.*/release/bin
|
||||
cp -a VBoxManage VBoxHeadless VBoxSDL VBoxNetNAT VBoxAutostart VBoxVolInfo \
|
||||
VBoxBalloonCtrl webtest VBoxDTrace VBoxDbg.so \
|
||||
VBoxDxVk.so UICommon.so vboximg-mount %{buildroot}%{_vbox_instdir}
|
||||
@@ -611,42 +601,42 @@ mkdir -p %{buildroot}%{_usrsrc}/kernel-modules/additions
|
||||
tar -jcf %{buildroot}%{_usrsrc}/kernel-modules/additions/guest_src.tar.bz2 additions/src
|
||||
cp -a src %{buildroot}%{_usrsrc}/kernel-modules/virtualbox
|
||||
install -m 644 %{SOURCE11} %{buildroot}%{_udevrulesdir}/60-vboxdrv.rules
|
||||
popd
|
||||
cd -
|
||||
|
||||
# install desktop file
|
||||
install -m 644 out/linux.*/release/bin/virtualbox.desktop %{buildroot}%{_datadir}/applications/%{name}.desktop
|
||||
%suse_update_desktop_file %{buildroot}%{_datadir}/applications/%{name}.desktop 'System Emulator'
|
||||
%suse_update_desktop_file %{buildroot}%{_datadir}/applications/%{name}.desktop 'System Emulator'
|
||||
|
||||
%if 0%{?sle_version} != 120300
|
||||
# install appstream file
|
||||
mkdir -p %{buildroot}%{_datadir}/metainfo
|
||||
install -m 644 %{SOURCE2} %{buildroot}%{_datadir}/metainfo/%{name}.appdata.xml
|
||||
install -m 644 %{SOURCE2} %{buildroot}%{_datadir}/metainfo/%{name}.appdata.xml
|
||||
%endif
|
||||
|
||||
# create a menu entry
|
||||
install -m 644 out/linux.*/release/bin/VBox.png %{buildroot}%{_datadir}/pixmaps/virtualbox.png
|
||||
# install config with session shutdown defs
|
||||
install -m 644 %{SOURCE4} %{buildroot}%{_sysconfdir}/default/virtualbox
|
||||
install -m 644 %{SOURCE4} %{buildroot}%{_sysconfdir}/default/virtualbox
|
||||
#install wrapper script
|
||||
install -m 644 %{SOURCE9} %{buildroot}%{_bindir}/VirtualBox
|
||||
install -m 644 %{SOURCE8} %{buildroot}%{_bindir}/update-extpack.sh
|
||||
install -m 644 %{SOURCE9} %{buildroot}%{_bindir}/VirtualBox
|
||||
install -m 644 %{SOURCE8} %{buildroot}%{_bindir}/update-extpack.sh
|
||||
# Service files to load kernel modules on boot
|
||||
install -m 0644 %{SOURCE14} %{buildroot}%{_unitdir}/vboxdrv.service
|
||||
ln -s -f %{_sbindir}/service %{buildroot}%{_sbindir}/rcvboxdrv
|
||||
install -m 0644 %{SOURCE15} %{buildroot}%{_unitdir}/vboxadd-service.service
|
||||
install -m 0755 %{SOURCE16} %{buildroot}%{_sbindir}/vboxconfig
|
||||
install -m 0755 %{SOURCE17} %{buildroot}%{_sbindir}/vboxguestconfig
|
||||
install -m 0755 %{SOURCE18} %{buildroot}%{_sbindir}/vbox-fix-usb-rules.sh
|
||||
install -m 0755 %{SOURCE19} %{buildroot}%{_vbox_instdir}/vboxdrv.sh
|
||||
install -m 0644 %{SOURCE21} %{buildroot}%{_unitdir}/vboxweb-service.service
|
||||
install -m 0755 %{SOURCE22} %{buildroot}%{_vbox_instdir}/vboxweb-service.sh
|
||||
install -m 0644 %{SOURCE23} %{buildroot}%{_unitdir}/vboxautostart-service.service
|
||||
ln -s -f %{_sbindir}/service %{buildroot}%{_sbindir}/rcvboxautostart
|
||||
install -m 0755 %{SOURCE24} %{buildroot}%{_vbox_instdir}/vboxautostart-service.sh
|
||||
install -m 0644 %{SOURCE14} %{buildroot}%{_unitdir}/vboxdrv.service
|
||||
ln -s -f %{_sbindir}/service %{buildroot}%{_sbindir}/rcvboxdrv
|
||||
install -m 0644 %{SOURCE15} %{buildroot}%{_unitdir}/vboxadd-service.service
|
||||
install -m 0755 %{SOURCE16} %{buildroot}%{_sbindir}/vboxconfig
|
||||
install -m 0755 %{SOURCE17} %{buildroot}%{_sbindir}/vboxguestconfig
|
||||
install -m 0755 %{SOURCE18} %{buildroot}%{_sbindir}/vbox-fix-usb-rules.sh
|
||||
install -m 0755 %{SOURCE19} %{buildroot}%{_vbox_instdir}/vboxdrv.sh
|
||||
install -m 0644 %{SOURCE21} %{buildroot}%{_unitdir}/vboxweb-service.service
|
||||
install -m 0755 %{SOURCE22} %{buildroot}%{_vbox_instdir}/vboxweb-service.sh
|
||||
install -m 0644 %{SOURCE23} %{buildroot}%{_unitdir}/vboxautostart-service.service
|
||||
ln -s -f %{_sbindir}/service %{buildroot}%{_sbindir}/rcvboxautostart
|
||||
install -m 0755 %{SOURCE24} %{buildroot}%{_vbox_instdir}/vboxautostart-service.sh
|
||||
# Init scripts to start virtualbox during boot
|
||||
ln -sf %{_unitdir}/vboxdrv.service %{buildroot}%{_unitdir}/multi-user.target.wants/vboxdrv.service
|
||||
ln -sf %{_unitdir}/vboxadd-service.service %{buildroot}%{_unitdir}/multi-user.target.wants/vboxadd-service.service
|
||||
ln -sf %{_unitdir}/vboxautostart-service.service %{buildroot}%{_unitdir}/multi-user.target.wants/vboxautostart-service.service
|
||||
ln -sf %{_unitdir}/vboxdrv.service %{buildroot}%{_unitdir}/multi-user.target.wants/vboxdrv.service
|
||||
ln -sf %{_unitdir}/vboxadd-service.service %{buildroot}%{_unitdir}/multi-user.target.wants/vboxadd-service.service
|
||||
ln -sf %{_unitdir}/vboxautostart-service.service %{buildroot}%{_unitdir}/multi-user.target.wants/vboxautostart-service.service
|
||||
|
||||
# config file for vboxdrv and vboxweb
|
||||
install -d -m 755 %{buildroot}%{_sysconfdir}/vbox
|
||||
@@ -666,9 +656,9 @@ install -m 0755 -D src/VBox/Installer/linux/VBoxCreateUSBNode.sh %{buildroot}%{_
|
||||
|
||||
%if "%mypython" != ""
|
||||
echo "entering python-virtualbox install section"
|
||||
pushd out/linux.*/release/bin/sdk/installer/python
|
||||
cd out/linux.*/release/bin/sdk/installer/python
|
||||
VBOX_INSTALL_PATH=%{_vbox_instdir} %{__mypython} vboxapisetup.py install --prefix=%{_prefix} --root=%{buildroot}
|
||||
popd
|
||||
cd -
|
||||
install -d -m 755 %{buildroot}%{_vbox_instdir}/sdk/bindings/xpcom
|
||||
cp -r out/linux.*/release/bin/sdk/bindings/xpcom/python %{buildroot}%{_vbox_instdir}/sdk/bindings/xpcom
|
||||
%py3_compile %{buildroot}%{_vbox_instdir}/sdk/bindings/xpcom/python
|
||||
@@ -677,29 +667,29 @@ cp -r out/linux.*/release/bin/sdk/bindings/xpcom/python %{buildroot}%{_vbox_inst
|
||||
echo "entering virtualbox-devel install section"
|
||||
cp -r out/linux.*/release/bin/sdk/bindings/auth %{buildroot}%{_vbox_instdir}/sdk/bindings
|
||||
|
||||
pushd out/linux.*/release/bin/sdk/bindings/xpcom
|
||||
cd out/linux.*/release/bin/sdk/bindings/xpcom
|
||||
cp -r include %{buildroot}%{_vbox_instdir}/sdk/bindings/xpcom
|
||||
cp -r idl %{buildroot}%{_vbox_instdir}/sdk/bindings/xpcom
|
||||
cp -r samples %{buildroot}%{_vbox_instdir}/sdk/bindings/xpcom
|
||||
popd
|
||||
cd -
|
||||
|
||||
cp out/linux.*/release/bin/sdk/bindings/VirtualBox.xidl %{buildroot}%{_vbox_instdir}/sdk/bindings
|
||||
|
||||
echo "entering virtualbox-websrv install section"
|
||||
pushd out/linux.*/release/bin
|
||||
cd out/linux.*/release/bin
|
||||
install -m 755 vboxwebsrv %{buildroot}%{_vbox_instdir}
|
||||
install -m 755 webtest %{buildroot}%{_vbox_instdir}
|
||||
popd
|
||||
cd -
|
||||
ln -sf %{_unitdir}/vboxweb-service.service %{buildroot}%{_unitdir}/multi-user.target.wants/vboxweb-service.service
|
||||
|
||||
echo "entering virtualbox-guest-desktop-icons install section"
|
||||
install -d -m 755 %{buildroot}%{_datadir}/pixmaps/virtualbox
|
||||
install -d -m 755 %{buildroot}%{_datadir}/pixmaps/virtualbox
|
||||
|
||||
pushd src/VBox/Frontends/VirtualBox/images
|
||||
cd src/VBox/Frontends/VirtualBox/images
|
||||
for icon in os_*.png; do
|
||||
install -m 644 "$icon" %{buildroot}%{_datadir}/pixmaps/virtualbox/"$icon";
|
||||
install -m 644 "$icon" %{buildroot}%{_datadir}/pixmaps/virtualbox/"$icon";
|
||||
done
|
||||
popd
|
||||
cd -
|
||||
|
||||
install -Dm0644 vbox.conf %{buildroot}%{_sysusersdir}/vbox.conf
|
||||
install -Dm0644 vbox-guest-tools.conf %{buildroot}%{_sysusersdir}/vbox-guest-tools.conf
|
||||
@@ -717,7 +707,6 @@ install -Dm0644 vbox-guest-tools.conf %{buildroot}%{_sysusersdir}/vbox-guest-too
|
||||
%service_add_pre vboxweb-service.service
|
||||
|
||||
%post
|
||||
/sbin/ldconfig
|
||||
#setup our sysconfig file /etc/sysconfig/vbox
|
||||
%set_permissions %{_vbox_instdir}/VBoxNetNAT
|
||||
%set_permissions %{_vbox_instdir}/VBoxNetDHCP
|
||||
@@ -726,7 +715,7 @@ install -Dm0644 vbox-guest-tools.conf %{buildroot}%{_sysusersdir}/vbox-guest-too
|
||||
%service_add_post vboxdrv.service vboxautostart-service.service
|
||||
# add new autostart stuff to the existing default config, if missing
|
||||
grep -q VBOXAUTOSTART %{_sysconfdir}/default/virtualbox || {
|
||||
cat >> %{_sysconfdir}/default/virtualbox << EOF
|
||||
cat >> %{_sysconfdir}/default/virtualbox << EOF
|
||||
#
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Autostart
|
||||
@@ -738,8 +727,8 @@ EOF
|
||||
}
|
||||
for entry in %{_sysconfdir}/vbox/*.start
|
||||
do
|
||||
user=$(basename "$entry" .start)
|
||||
[ "$user" = "*" ] && break
|
||||
user=$(basename "$entry" .start)
|
||||
[ "$user" = "*" ] && break
|
||||
mv %{_sysconfdir}/vbox/user.start %{_sysconfdir}/vbox/autostart.d/.
|
||||
done
|
||||
|
||||
@@ -781,7 +770,6 @@ VBoxManage extpack install --replace "${EXTPACK}" --accept-license="${ACCEPT}" >
|
||||
%service_del_preun vboxweb-service.service
|
||||
|
||||
%postun
|
||||
/sbin/ldconfig
|
||||
# immediately restarting virtualbox may not work. As such wait for the next reboot to restart
|
||||
%if ! %{defined service_del_postun_without_restart}
|
||||
export DISABLE_RESTART_ON_UPDATE=yes
|
||||
@@ -823,6 +811,7 @@ export DISABLE_RESTART_ON_UPDATE=yes
|
||||
%{_vbox_instdir}/VBoxRT.so
|
||||
%{_vbox_instdir}/VBoxSharedFolders.so
|
||||
%{_vbox_instdir}/VBoxVMM.so
|
||||
%{_vbox_instdir}/VBoxVMMArm.so
|
||||
%{_vbox_instdir}/VBoxXPCOMC.so
|
||||
%{_vbox_instdir}/VBoxXPCOM.so
|
||||
%{_vbox_instdir}/VBox*.r0
|
||||
@@ -929,9 +918,7 @@ export DISABLE_RESTART_ON_UPDATE=yes
|
||||
%dir %{_sysconfdir}/xdg
|
||||
%dir %{_sysconfdir}/xdg/autostart
|
||||
%{_sysconfdir}/xdg/autostart/vboxclient.desktop
|
||||
%if 0%{?suse_version} > 1320 || 0%{?sle_version} == 120300
|
||||
%dir /media
|
||||
%endif
|
||||
|
||||
%if "%mypython" != ""
|
||||
%files -n %{mypython}-%{name}
|
||||
@@ -997,18 +984,18 @@ rm -rf src/libs/{libpng-*,libxml2-*,libxslt-*,zlib-*,boost-*}
|
||||
# guest modules : vboxguest,vboxsf,vboxvideo
|
||||
echo "build kernel modules"
|
||||
for vbox_module in kmp_host/vbox{drv,netflt,netadp} \
|
||||
kmp_additions/vbox{guest,sf,video}; do
|
||||
#get the module name from path
|
||||
module_name=$(basename "$vbox_module")
|
||||
kmp_additions/vbox{guest,sf,video}; do
|
||||
#get the module name from path
|
||||
module_name=$(basename "$vbox_module")
|
||||
|
||||
# go through the all flavors (desktop,default ...)
|
||||
for flavor in %{flavors_to_build}; do
|
||||
# go through the all flavors (desktop,default ...)
|
||||
for flavor in %{flavors_to_build}; do
|
||||
# delete old build dir for sure
|
||||
rm -rf modules_build_dir/${module_name}_${flavor}
|
||||
|
||||
if [ "$module_name" = "vboxdrv" -o \
|
||||
"$module_name" = "vboxguest" ] ; then
|
||||
SYMBOLS=""
|
||||
SYMBOLS=""
|
||||
fi
|
||||
# create build directory for specific flavor
|
||||
mkdir -p modules_build_dir/$flavor
|
||||
@@ -1019,21 +1006,21 @@ for vbox_module in kmp_host/vbox{drv,netflt,netadp} \
|
||||
# copy vboxdrv (for host) module symbols which are used by vboxnetflt and vboxnetadp km's:
|
||||
if [ "$module_name" = "vboxnetflt" -o \
|
||||
"$module_name" = "vboxnetadp" ] ; then
|
||||
cp $PWD/modules_build_dir/$flavor/vboxdrv/Module.symvers \
|
||||
$PWD/modules_build_dir/$flavor/$module_name
|
||||
SYMBOLS="$PWD/modules_build_dir/$flavor/vboxdrv/Module.symvers"
|
||||
cp $PWD/modules_build_dir/$flavor/vboxdrv/Module.symvers \
|
||||
$PWD/modules_build_dir/$flavor/$module_name
|
||||
SYMBOLS="$PWD/modules_build_dir/$flavor/vboxdrv/Module.symvers"
|
||||
fi
|
||||
# copy vboxguest (for guest) module symbols which are used by vboxsf and vboxvideo km's:
|
||||
# copy vboxguest (for guest) module symbols which are used by vboxsf and vboxvideo km's:
|
||||
if [ "$module_name" = "vboxsf" -o \
|
||||
"$module_name" = "vboxvideo" ] ; then
|
||||
cp $PWD/modules_build_dir/$flavor/vboxguest/Module.symvers \
|
||||
cp $PWD/modules_build_dir/$flavor/vboxguest/Module.symvers \
|
||||
$PWD/modules_build_dir/$flavor/$module_name
|
||||
SYMBOLS="$PWD/modules_build_dir/$flavor/vboxguest/Module.symvers"
|
||||
SYMBOLS="$PWD/modules_build_dir/$flavor/vboxguest/Module.symvers"
|
||||
fi
|
||||
# build the module for the specific flavor
|
||||
%make_build -j4 -C %{_prefix}/src/linux-obj/%{_target_cpu}/$flavor %{?linux_make_arch} modules \
|
||||
M=$PWD/modules_build_dir/$flavor/$module_name KBUILD_EXTRA_SYMBOLS="$SYMBOLS" V=1
|
||||
done
|
||||
done
|
||||
done
|
||||
|
||||
%install
|
||||
@@ -1043,7 +1030,7 @@ for module_name in vbox{drv,netflt,netadp,guest,sf,video}
|
||||
do
|
||||
#and through all flavors
|
||||
for flavor in %{flavors_to_build}; do
|
||||
make -C %{_prefix}/src/linux-obj/%{_target_cpu}/$flavor modules_install M=$PWD/modules_build_dir/$flavor/$module_name
|
||||
make -C %{_prefix}/src/linux-obj/%{_target_cpu}/$flavor modules_install M=$PWD/modules_build_dir/$flavor/$module_name
|
||||
done
|
||||
done
|
||||
# kmp_package
|
||||
|
||||
Reference in New Issue
Block a user