forked from jengelh/virtualbox
Compare commits
23 Commits
| Author | SHA256 | Date | |
|---|---|---|---|
| 1c99f0ba17 | |||
| f3a90f09e1 | |||
| fc076a0e5d | |||
| 20d3164f42 | |||
| b5ad9bc3c6 | |||
| e94f7a20d6 | |||
| abbfbbe45c | |||
| 070bdf0829 | |||
|
|
c76e78822d | ||
| 652f6fa07d | |||
|
|
7e94d2ce18 | ||
|
|
55b005b5e1 | ||
| 1884bc52cd | |||
|
|
2fd8480f9b | ||
|
|
d15b82c929 | ||
| 99680a1c79 | |||
| 324117a110 | |||
| 1738776d98 | |||
| 6f94c78476 | |||
| fad76b07e8 | |||
|
|
4b46adddab | ||
| c69449fd8a | |||
| 26a839baae |
1
.gitattributes
vendored
1
.gitattributes
vendored
@@ -15,6 +15,7 @@
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tpxz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
|
||||
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 += \
|
||||
|
||||
0
fix_usb_rules.sh
Normal file → Executable file
0
fix_usb_rules.sh
Normal file → Executable file
16
gentoo-C23.patch
Normal file
16
gentoo-C23.patch
Normal file
@@ -0,0 +1,16 @@
|
||||
https://bugs.gentoo.org/946955
|
||||
|
||||
--- a/include/iprt/types.h
|
||||
+++ b/include/iprt/types.h
|
||||
@@ -282,7 +282,10 @@
|
||||
# endif
|
||||
# else
|
||||
-# undef bool /* see above netbsd explanation */
|
||||
+# if defined (__KERNEL__)
|
||||
typedef _Bool bool;
|
||||
+# else
|
||||
+# include <stdbool.h>
|
||||
+# endif
|
||||
# endif
|
||||
# else
|
||||
# if RT_MSC_PREREQ(RT_MSC_VER_VC120)
|
||||
@@ -1,32 +0,0 @@
|
||||
From: Jiri Slaby <jslaby@suse.cz>
|
||||
Subject: fix for kernel 6.13 build
|
||||
References: bsc#1235146
|
||||
|
||||
---
|
||||
src/VBox/Additions/linux/drm/vbox_drv.c | 8 ++++++--
|
||||
1 file changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
--- a/src/VBox/Additions/linux/drm/vbox_drv.c
|
||||
+++ b/src/VBox/Additions/linux/drm/vbox_drv.c
|
||||
@@ -43,7 +43,9 @@
|
||||
# include <drm/drm_probe_helper.h>
|
||||
#endif
|
||||
|
||||
-#if RTLNX_VER_MIN(5,14,0) || RTLNX_RHEL_RANGE(8,6, 8,99)
|
||||
+#if RTLNX_VER_MIN(6,13,0)
|
||||
+# include <linux/aperture.h>
|
||||
+#elif RTLNX_VER_MIN(5,14,0) || RTLNX_RHEL_RANGE(8,6, 8,99)
|
||||
# include <drm/drm_aperture.h>
|
||||
#endif
|
||||
|
||||
@@ -85,7 +87,9 @@ static int vbox_pci_probe(struct pci_dev
|
||||
int ret = 0;
|
||||
|
||||
# if RTLNX_VER_MIN(5,14,0) || RTLNX_RHEL_RANGE(8,6, 8,99)
|
||||
-# if RTLNX_VER_MIN(5,15,0) || RTLNX_RHEL_RANGE(8,7, 8,99) || RTLNX_RHEL_MIN(9,1) || RTLNX_SUSE_MAJ_PREREQ(15,4)
|
||||
+# if RTLNX_VER_MIN(6,13,0)
|
||||
+ ret = aperture_remove_conflicting_pci_devices(pdev, driver.name);
|
||||
+# elif RTLNX_VER_MIN(5,15,0) || RTLNX_RHEL_RANGE(8,7, 8,99) || RTLNX_RHEL_MIN(9,1) || RTLNX_SUSE_MAJ_PREREQ(15,4)
|
||||
ret = drm_aperture_remove_conflicting_pci_framebuffers(pdev, &driver);
|
||||
# else
|
||||
ret = drm_aperture_remove_conflicting_pci_framebuffers(pdev, "vboxvideofb");
|
||||
0
update-extpack.sh
Normal file → Executable file
0
update-extpack.sh
Normal file → Executable 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.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>
|
||||
|
||||
0
vboxautostart-service.sh
Normal file → Executable file
0
vboxautostart-service.sh
Normal file → Executable file
0
vboxconfig.sh
Normal file → Executable file
0
vboxconfig.sh
Normal file → Executable file
0
vboxdrv.sh
Normal file → Executable file
0
vboxdrv.sh
Normal file → Executable file
0
vboxguestconfig.sh
Normal file → Executable file
0
vboxguestconfig.sh
Normal file → Executable file
0
vboxweb-service.sh
Normal file → Executable file
0
vboxweb-service.sh
Normal file → Executable file
2
virtualbox-patch-source.sh
Normal file → Executable file
2
virtualbox-patch-source.sh
Normal file → Executable file
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/bin/bash -ex
|
||||
|
||||
if [ -z "$1" ]; then
|
||||
echo "You need to pass the filename VirtualBox-x.y.z.tar.bz2 as first argument."
|
||||
|
||||
0
virtualbox-wrapper.sh
Normal file → Executable file
0
virtualbox-wrapper.sh
Normal file → Executable file
@@ -1,3 +1,160 @@
|
||||
-------------------------------------------------------------------
|
||||
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>
|
||||
|
||||
- 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>
|
||||
|
||||
- fix build against 6.16, add:
|
||||
* kernel-6.16-READ-WRITE.patch
|
||||
* kernel-6.16-from_timer.patch
|
||||
* kernel-6.16-page-index.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 4 21:09:42 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
|
||||
|
||||
- Update to release 7.1.10
|
||||
* Linux host: Fixed issue which caused VM Selector process crash
|
||||
due to missing libdl.so and libpthread.so libraries
|
||||
[boo#1231346, boo#1231456, boo#1233145, boo#1233164,
|
||||
boo#1233498, boo#1240833]
|
||||
* RDP: Fixed issue when it was not possible to paste clipboard
|
||||
buffer into a guest over RDP remote session
|
||||
* Linux 6.15 support
|
||||
- Delete kernel-6-15-EXTRA_CFLAGS.patch kernel-6-15-fb_probe.patch
|
||||
kernel-6-15-mkdir.patch kernel-6-15-mode_valid.patch
|
||||
kernel-6-15-timer.patch (merged/obsolete)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 3 16:34:33 UTC 2025 - Martin Jambor <mjambor@suse.com>
|
||||
|
||||
- Adjust gentoo-C23.patch to fix building the kmp flavor which was
|
||||
broken by the previous patch by keeping the bool typedef when
|
||||
building a kmp. [boo#1242085]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 27 15:19:29 UTC 2025 - Martin Jambor <mjambor@suse.cz>
|
||||
|
||||
- Add gentoo-C23.patch, taken from the corresponding gentoo
|
||||
package, to fix building with GCC 15 where the C language
|
||||
defaults to standard C23. [boo#1242085]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Apr 16 13:59:59 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
|
||||
|
||||
- Update to release 7.1.8
|
||||
* VMM: Fixed issue when VM clock went backwards in rare
|
||||
circumstances.
|
||||
* Graphics: Fixed issue when assertion was triggered on
|
||||
restoring VM state if VMSVGA graphics adapter was used
|
||||
without 3D acceleration.
|
||||
* Linux Guest Additions: Fixed issue when VBoxClient could
|
||||
crash in XWayland guest.
|
||||
- Delete kernel-6-14.patch (obsolete)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Apr 9 09:02:26 UTC 2025 - Jiri Slaby <jslaby@suse.cz>
|
||||
|
||||
- build with kernel 6.15, add:
|
||||
* kernel-6-15-EXTRA_CFLAGS.patch
|
||||
* kernel-6-15-fb_probe.patch -- this disables fb_probe and needs
|
||||
a rewrite similar to "9fa154f40eb6 drm/{i915,xe}: Run DRM default
|
||||
client setup". Good luck.
|
||||
* kernel-6-15-mkdir.patch
|
||||
* kernel-6-15-mode_valid.patch
|
||||
* kernel-6-15-timer.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Mar 28 10:06:19 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
|
||||
|
||||
- Update to release 7.1.6a
|
||||
* VirtioNet: Fixed issue with re-negotiation of features
|
||||
after reset
|
||||
* Graphics: Fixed issue with Linux guest screen flickering when
|
||||
guest was using VMSVGA graphics adapter
|
||||
* Linux Guest Additions: Introduced initial support for
|
||||
kernel 6.13
|
||||
- Delete kernel-6-13.patch (merged)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Mar 28 06:42:00 UTC 2025 - Jiri Slaby <jslaby@suse.cz>
|
||||
|
||||
- add: kernel-6-14.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Feb 12 10:00:50 UTC 2025 - Daniel Garcia <daniel.garcia@suse.com>
|
||||
|
||||
- Build python bindings for python311, do not use python3 since
|
||||
virtualbox doesn't support python3.13 yet.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jan 21 11:17:17 UTC 2025 - Jiri Slaby <jslaby@suse.cz>
|
||||
|
||||
|
||||
270
virtualbox.spec
270
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
|
||||
@@ -53,9 +52,24 @@
|
||||
%define _vbox_instdir %{_prefix}/lib/virtualbox
|
||||
%define _udevrulesdir %{_prefix}/lib/udev/rules.d
|
||||
%endif
|
||||
# ********* If the VB version exceeds 6.1.x, notify the libvirt maintainer!!
|
||||
|
||||
# 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
|
||||
%endif
|
||||
|
||||
%if "%mypython" != ""
|
||||
%global __mypython %{expand:%%__%{mypython}}
|
||||
%global mypython_sitelib %{expand:%%%{mypython}_sitelib}
|
||||
%endif
|
||||
|
||||
Name: virtualbox%{?dash}%{?name_suffix}
|
||||
Version: 7.1.4
|
||||
Version: 7.2.4
|
||||
%define rversion 7.2.4
|
||||
Release: 0
|
||||
Summary: %{package_summary}
|
||||
License: GPL-3.0-or-later
|
||||
@@ -70,6 +84,7 @@ URL: https://www.virtualbox.org/
|
||||
# script virtualbox-patch-source.sh will do the job :)
|
||||
# WARNING: This is not a comment, but the real command to repack source
|
||||
#%%(bash %%{_sourcedir}/virtualbox-patch-source.sh VirtualBox-%%{version}.tar.bz2)
|
||||
#Source: https://download.virtualbox.org/virtualbox/7.1.8/VirtualBox-7.1.8.tar.bz2
|
||||
Source0: VirtualBox-%{version}-patched.tpxz
|
||||
Source1: UserManual.pdf
|
||||
Source3: virtualbox-60-vboxguest.rules
|
||||
@@ -117,7 +132,8 @@ Patch9: vbox-usb-warning.diff
|
||||
Patch10: fix_for_leap15.5.patch
|
||||
Patch11: cxx17.patch
|
||||
Patch12: host-source.patch
|
||||
Patch13: kernel-6-13.patch
|
||||
Patch20: gentoo-C23.patch
|
||||
Patch21: curl-8.16.patch
|
||||
#
|
||||
# Common BuildRequires for both virtualbox and virtualbox-kmp
|
||||
BuildRequires: %{kernel_module_package_buildreqs}
|
||||
@@ -134,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
|
||||
@@ -148,33 +164,23 @@ ExclusiveArch: x86_64
|
||||
%if 0%{?sle_version} != 120300
|
||||
Source2: VirtualBox.appdata.xml
|
||||
%endif
|
||||
### Requirements for virtualbox main package ###
|
||||
|
||||
%if %{main_package}
|
||||
BuildRequires: LibVNCServer-devel
|
||||
BuildRequires: SDL2-devel
|
||||
BuildRequires: alsa-devel
|
||||
BuildRequires: device-mapper-devel
|
||||
BuildRequires: dmidecode
|
||||
BuildRequires: e2fsprogs-devel
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: glibc-devel-static
|
||||
BuildRequires: glslang-devel >= 11.5
|
||||
BuildRequires: gsoap-devel >= 2.8.50
|
||||
BuildRequires: java-devel >= 1.6.0
|
||||
#BuildRequires: libSDL2-2_0-0
|
||||
BuildRequires: libelf-devel
|
||||
BuildRequires: libidl-devel
|
||||
BuildRequires: libopenssl-devel
|
||||
BuildRequires: libopus-devel
|
||||
BuildRequires: libtpms-devel
|
||||
BuildRequires: libvpx-devel
|
||||
BuildRequires: libxslt-devel
|
||||
BuildRequires: libzio-devel
|
||||
BuildRequires: lzfse
|
||||
BuildRequires: lzfse-devel
|
||||
BuildRequires: pulseaudio-devel
|
||||
%if "%mypython" != ""
|
||||
BuildRequires: python-rpm-macros
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: %{mypython}-devel
|
||||
BuildRequires: %{mypython}-setuptools
|
||||
BuildRequires: %{mypython}-pip
|
||||
%endif
|
||||
BuildRequires: qt6-tools-linguist
|
||||
BuildRequires: rpm
|
||||
BuildRequires: sed
|
||||
@@ -183,7 +189,7 @@ BuildRequires: sysuser-tools
|
||||
BuildRequires: update-desktop-files
|
||||
BuildRequires: which
|
||||
BuildRequires: xorg-x11-server
|
||||
BuildRequires: pkgconfig(Qt6Core)
|
||||
BuildRequires: pkgconfig(Qt6Core) >= 6.8
|
||||
BuildRequires: pkgconfig(Qt6DBus)
|
||||
BuildRequires: pkgconfig(Qt6Gui)
|
||||
BuildRequires: pkgconfig(Qt6Help)
|
||||
@@ -193,16 +199,28 @@ BuildRequires: pkgconfig(Qt6Sql)
|
||||
BuildRequires: pkgconfig(Qt6StateMachine)
|
||||
BuildRequires: pkgconfig(Qt6Widgets)
|
||||
BuildRequires: pkgconfig(Qt6Xml)
|
||||
BuildRequires: pkgconfig(alsa)
|
||||
BuildRequires: pkgconfig(devmapper)
|
||||
BuildRequires: pkgconfig(fontsproto)
|
||||
BuildRequires: pkgconfig(glu)
|
||||
BuildRequires: pkgconfig(glx)
|
||||
BuildRequires: pkgconfig(gsoap) >= 2.8.50
|
||||
BuildRequires: pkgconfig(libelf)
|
||||
BuildRequires: pkgconfig(libpng)
|
||||
BuildRequires: pkgconfig(libpulse)
|
||||
BuildRequires: pkgconfig(libssl)
|
||||
BuildRequires: pkgconfig(libtpms)
|
||||
BuildRequires: pkgconfig(libvncserver)
|
||||
BuildRequires: pkgconfig(libxslt)
|
||||
BuildRequires: pkgconfig(opus)
|
||||
BuildRequires: pkgconfig(randrproto)
|
||||
BuildRequires: pkgconfig(renderproto)
|
||||
BuildRequires: pkgconfig(resourceproto)
|
||||
BuildRequires: pkgconfig(scrnsaverproto)
|
||||
BuildRequires: pkgconfig(sdl)
|
||||
BuildRequires: pkgconfig(sdl2)
|
||||
BuildRequires: pkgconfig(udev)
|
||||
BuildRequires: pkgconfig(vpx)
|
||||
BuildRequires: pkgconfig(x11)
|
||||
BuildRequires: pkgconfig(xau)
|
||||
BuildRequires: pkgconfig(xcomposite)
|
||||
@@ -226,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
|
||||
@@ -252,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
|
||||
@@ -266,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
|
||||
@@ -319,36 +325,37 @@ 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
|
||||
VirtualBox guest addition tools.
|
||||
|
||||
%package -n python3-%{name}
|
||||
%if "%mypython" != ""
|
||||
%package -n %{mypython}-%{name}
|
||||
Summary: Python bindings for %{name}
|
||||
Group: Development/Libraries/Python
|
||||
Requires: %{name} = %{version}
|
||||
#rename from "ose" version:
|
||||
Provides: python3-%{name} = %{version}-%{release}
|
||||
Provides: %{mypython}-%{name} = %{version}-%{release}
|
||||
Obsoletes: python-%{name} < %{version}-%{release}
|
||||
Obsoletes: python2-%{name} < %{version}-%{release}
|
||||
Obsoletes: python3-%{name} < %{version}-%{release}
|
||||
Provides: python3-%{name}-ose = %{version}
|
||||
Provides: %{mypython}-%{name}-ose = %{version}
|
||||
Obsoletes: python-%{name}-ose < %{version}
|
||||
Obsoletes: python2-%{name}-ose < %{version}
|
||||
Obsoletes: python3-%{name}-ose < %{version}
|
||||
|
||||
%description -n python3-%{name}
|
||||
%description -n %{mypython}-%{name}
|
||||
Python XPCOM bindings to %{name}. Used e.g. by vboxgtk package.
|
||||
%endif
|
||||
|
||||
%package devel
|
||||
Summary: Devel files for %{name}
|
||||
Group: Development/Libraries/Other
|
||||
Requires: %{name} = %{version}
|
||||
Requires: python3-%{name} = %{version}
|
||||
%if "%mypython" != ""
|
||||
Requires: %{mypython}-%{name} = %{version}
|
||||
%endif
|
||||
#rename from "ose" version:
|
||||
Provides: %{name}-ose-devel = %{version}
|
||||
Obsoletes: %{name}-ose-devel < %{version}
|
||||
@@ -414,7 +421,7 @@ This package contains the kernel-modules that VirtualBox uses to create or run v
|
||||
%endif
|
||||
|
||||
%prep
|
||||
%autosetup -n VirtualBox-%{version} -p1
|
||||
%autosetup -n VirtualBox-%{rversion} -p1
|
||||
|
||||
### Documents for virtualbox main package ###
|
||||
%if %{main_package}
|
||||
@@ -450,14 +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 \
|
||||
--with-makeself=%{_bindir}/true
|
||||
--enable-vnc \
|
||||
--enable-vde \
|
||||
--disable-kmods \
|
||||
--with-linux="%{_prefix}" \
|
||||
--disable-java \
|
||||
--disable-docs \
|
||||
--enable-webservice \
|
||||
%if "%mypython" == ""
|
||||
--disable-python \
|
||||
%endif
|
||||
--with-makeself=%{_bindir}/true
|
||||
|
||||
# configure actually warns we should source env.sh (which seems like it could influence the build...)
|
||||
source ./env.sh
|
||||
@@ -466,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
|
||||
@@ -541,25 +551,23 @@ 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-%{version}.vbox-extpack"
|
||||
popd
|
||||
install -D -m 644 VNC-*.vbox-extpack "%{buildroot}%{_datadir}/virtualbox/extensions/VNC-%{rversion}.vbox-extpack"
|
||||
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 \
|
||||
vboxshell.py VBoxBalloonCtrl webtest VBoxDTrace VBoxDbg.so \
|
||||
VBoxBalloonCtrl webtest VBoxDTrace VBoxDbg.so \
|
||||
VBoxDxVk.so UICommon.so vboximg-mount %{buildroot}%{_vbox_instdir}
|
||||
ls -al VBoxManage VBoxHeadless VBoxSDL VBoxNetNAT VBoxAutostart VBoxVolInfo \
|
||||
vboxshell.py VBoxBalloonCtrl webtest VBoxDTrace VBoxDbg.so \
|
||||
VBoxDxVk.so UICommon.so vboximg-mount 0755 || :
|
||||
%if "%mypython" != ""
|
||||
cp -a vboxshell.py %{buildroot}/%{_vbox_instdir}
|
||||
%endif
|
||||
# create links to vbox tools in PATH - they could be usefull for controlling vbox from command line
|
||||
ln -s %{_vbox_instdir}/VBoxManage %{buildroot}%{_bindir}/VBoxManage
|
||||
ln -s %{_vbox_instdir}/VBoxHeadless %{buildroot}%{_bindir}/VBoxHeadless
|
||||
@@ -593,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
|
||||
@@ -645,40 +653,43 @@ allow = true
|
||||
EOF
|
||||
# install udev helper script for creating usb devices
|
||||
install -m 0755 -D src/VBox/Installer/linux/VBoxCreateUSBNode.sh %{buildroot}%{_vbox_instdir}/VBoxCreateUSBNode.sh
|
||||
|
||||
%if "%mypython" != ""
|
||||
echo "entering python-virtualbox install section"
|
||||
pushd out/linux.*/release/bin/sdk/installer/python
|
||||
VBOX_INSTALL_PATH=%{_vbox_instdir} python3 vboxapisetup.py install --prefix=%{_prefix} --root=%{buildroot}
|
||||
popd
|
||||
cd out/linux.*/release/bin/sdk/installer/python
|
||||
VBOX_INSTALL_PATH=%{_vbox_instdir} %{__mypython} vboxapisetup.py install --prefix=%{_prefix} --root=%{buildroot}
|
||||
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
|
||||
%endif
|
||||
|
||||
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
|
||||
@@ -696,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
|
||||
@@ -705,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
|
||||
@@ -717,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
|
||||
|
||||
@@ -743,7 +753,7 @@ done
|
||||
%service_add_post vboxweb-service.service
|
||||
|
||||
%post vnc
|
||||
EXTPACK="%{_datadir}/virtualbox/extensions/VNC-%{version}.vbox-extpack"
|
||||
EXTPACK="%{_datadir}/virtualbox/extensions/VNC-%{rversion}.vbox-extpack"
|
||||
ACCEPT="$(tar --to-stdout -xf "${EXTPACK}" ./ExtPack-license.txt | sha256sum | head --bytes=64)"
|
||||
VBoxManage extpack install --replace "${EXTPACK}" --accept-license="${ACCEPT}" > /dev/null
|
||||
|
||||
@@ -760,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
|
||||
@@ -787,7 +796,9 @@ export DISABLE_RESTART_ON_UPDATE=yes
|
||||
%{_vbox_instdir}/VBoxDTrace
|
||||
%{_vbox_instdir}/VBoxNetNAT
|
||||
%{_vbox_instdir}/VBoxVolInfo
|
||||
%if "%mypython" != ""
|
||||
%{_vbox_instdir}/vboxshell.py
|
||||
%endif
|
||||
%{_vbox_instdir}/VBoxSysInfo.sh
|
||||
%{_vbox_instdir}/VBoxDD2.so
|
||||
%{_vbox_instdir}/VBoxDD.so
|
||||
@@ -800,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
|
||||
@@ -906,18 +918,18 @@ 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
|
||||
|
||||
%files -n python3-%{name}
|
||||
%if "%mypython" != ""
|
||||
%files -n %{mypython}-%{name}
|
||||
%dir %{_vbox_instdir}/sdk
|
||||
%dir %{_vbox_instdir}/sdk/bindings
|
||||
%dir %{_vbox_instdir}/sdk/bindings/xpcom
|
||||
%{_vbox_instdir}/sdk/bindings/xpcom/python
|
||||
%{_vbox_instdir}/VBoxPython*.so
|
||||
%{python3_sitelib}/vboxapi-1.0-*.egg-info
|
||||
%{python3_sitelib}/vboxapi/
|
||||
%{mypython_sitelib}/vboxapi-*.egg-info
|
||||
%{mypython_sitelib}/vboxapi/
|
||||
%endif
|
||||
|
||||
%files devel
|
||||
%dir %{_vbox_instdir}/sdk
|
||||
@@ -951,7 +963,7 @@ export DISABLE_RESTART_ON_UPDATE=yes
|
||||
%files vnc
|
||||
%license COPYING
|
||||
%dir %{_datadir}/virtualbox/extensions
|
||||
%{_datadir}/virtualbox/extensions/VNC-%{version}.vbox-extpack
|
||||
%{_datadir}/virtualbox/extensions/VNC-%{rversion}.vbox-extpack
|
||||
|
||||
# main_package
|
||||
%endif
|
||||
@@ -972,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
|
||||
@@ -994,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
|
||||
@@ -1018,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