33 Commits

Author SHA256 Message Date
Jiri Slaby
c76e78822d fix 6.16 2025-06-11 09:18:48 +02:00
652f6fa07d virtualbox 7.1.10 2025-06-04 23:40:18 +02:00
Martin Jambor
7e94d2ce18 - 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]
2025-06-03 18:37:28 +02:00
Martin Jambor
55b005b5e1 Fix building with GCC 15 [boo#1242085] 2025-05-27 17:24:09 +02:00
1884bc52cd virtualbox 7.1.8 2025-04-16 16:10:12 +02:00
Jiri Slaby
2fd8480f9b build against kernel 6.15 2025-04-10 08:24:39 +02:00
Jiri Slaby
d15b82c929 add tpxz to LFS files too 2025-04-09 09:30:02 +02:00
99680a1c79 Add logic to do a Python-less build 2025-03-31 13:09:47 +02:00
324117a110 Delete kernel-6-13.patch 2025-03-31 12:44:49 +02:00
1738776d98 virtualbox 7.1.6a 2025-03-28 11:07:32 +01:00
6f94c78476 virtualbox 7.1.6 2025-03-28 10:47:34 +01:00
fad76b07e8 Set +x bit on .sh 2025-03-28 10:45:59 +01:00
Jiri Slaby
4b46adddab Fix for kernel 6.14 2025-03-28 07:47:54 +01:00
c69449fd8a Use specific python version, not python3 2025-02-24 11:53:00 +01:00
26a839baae Update findings for newer-pythons.patch 2025-02-24 11:52:47 +01:00
Jiri Slaby
163ca1c484 Fix for kernel 6.13 (bsc#1235146). 2025-01-21 12:25:44 +01:00
c10cfbdb7c Delete ExecCondition from vboxclient.service
Remove bogus ExecCondition= from vboxclient.service, because
VBoxDRMClient is unconditionally launched by udev hardware rule
anyway if it is not running already. vboxadd-service also starts
DRMClient if the udev rule were not to be present.

References: https://bugzilla.opensuse.org/1234870
2025-01-04 02:43:17 +01:00
84cfb17607 Internally document trigges for vboxclient.service 2025-01-04 02:40:12 +01:00
98fd308b06 Resolve wrong placement of ExecCondition
/usr/lib/systemd/system/vboxclient.service: Unknown key 'ExecCondition' in section [Unit]

References: https://bugzilla.opensuse.org/1234870
2025-01-03 01:37:32 +01:00
46dc19ce6d kvm.enable_virt_at_load=0 modprobe.d file 2024-12-29 23:37:21 +01:00
43167a25af Crunch installation recipe 2024-12-29 23:25:13 +01:00
222866de11 Use POSIX option format for tar calls 2024-12-29 16:49:05 +01:00
c2cd5e2e10 Indent large macro block at start-of-file 2024-12-29 16:48:43 +01:00
86fdbe5dc4 Crunch extraneous comments 2024-12-29 16:48:14 +01:00
2c787c3ad3 Crunch duplicated scriptlets commands 2024-12-29 16:47:35 +01:00
3abb14653c Rectify a bug reference 2024-11-19 21:59:17 +01:00
4c36cc83be Add host-source.patch [boo#1231346] 2024-11-14 17:04:32 +01:00
b439cb0a11 kmp preamble cleanup
Take inspiration from vhba-kmp and add an Enhances line.
Provides: %name-kmp is implicitly added by distro already.
2024-11-14 01:34:41 +01:00
b5ec841bec Use distro-default INSTALL_MOD_DIR 2024-11-14 01:33:58 +01:00
c70a6a7740 virtualbox 7.1.4 2024-10-17 01:53:26 +02:00
e20690747e Edit cxx17.patch for compatibility with the Extension Pack 2024-10-02 15:25:46 +02:00
e025fac446 Set BuildRequire glslang >= 11.5 2024-09-29 14:00:49 +02:00
6315d773bb virtualbox 7.1 2024-09-22 23:21:48 +02:00
21 changed files with 310 additions and 69 deletions

3
.gitattributes vendored
View File

@@ -15,11 +15,10 @@
*.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
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text
## Specific LFS patterns
VirtualBox-7.1.4-patched.tpxz filter=lfs diff=lfs merge=lfs -text

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

Binary file not shown.

View File

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

View File

@@ -1,4 +0,0 @@
mtime: 1740394380
commit: c69449fd8a98e823269d01975cd8b6f2f416b1e8c57d36a727ba3348655026b3
url: https://src.opensuse.org/jengelh/virtualbox
revision: master

View File

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

0
fix_usb_rules.sh Normal file → Executable file
View File

16
gentoo-C23.patch Normal file
View 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)

View File

@@ -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");

View File

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

View File

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

View File

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

0
update-extpack.sh Normal file → Executable file
View File

0
vboxautostart-service.sh Normal file → Executable file
View File

0
vboxconfig.sh Normal file → Executable file
View File

0
vboxdrv.sh Normal file → Executable file
View File

0
vboxguestconfig.sh Normal file → Executable file
View File

0
vboxweb-service.sh Normal file → Executable file
View File

0
virtualbox-patch-source.sh Normal file → Executable file
View File

0
virtualbox-wrapper.sh Normal file → Executable file
View File

View File

@@ -1,3 +1,82 @@
-------------------------------------------------------------------
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>

View File

@@ -54,13 +54,16 @@
%define _udevrulesdir %{_prefix}/lib/udev/rules.d
%endif
# If you want to disable building Python parts, just set this to %%nil
%global mypython python311
%if "%mypython" != ""
%global __mypython %{expand:%%__%{mypython}}
%global mypython_sitelib %{expand:%%%{mypython}_sitelib}
%endif
# ********* If the VB version exceeds 6.1.x, notify the libvirt maintainer!!
Name: virtualbox%{?dash}%{?name_suffix}
Version: 7.1.4
Version: 7.1.10
%define rversion %version
Release: 0
Summary: %{package_summary}
License: GPL-3.0-or-later
@@ -75,6 +78,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
@@ -122,7 +126,10 @@ Patch9: vbox-usb-warning.diff
Patch10: fix_for_leap15.5.patch
Patch11: cxx17.patch
Patch12: host-source.patch
Patch13: kernel-6-13.patch
Patch13: kernel-6.16-READ-WRITE.patch
Patch14: kernel-6.16-from_timer.patch
Patch15: kernel-6.16-page-index.patch
Patch20: gentoo-C23.patch
#
# Common BuildRequires for both virtualbox and virtualbox-kmp
BuildRequires: %{kernel_module_package_buildreqs}
@@ -155,33 +162,21 @@ 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: %{mypython}-devel
BuildRequires: %{mypython}-setuptools
BuildRequires: %{mypython}-pip
%endif
BuildRequires: qt6-tools-linguist
BuildRequires: rpm
BuildRequires: sed
@@ -200,16 +195,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)
@@ -334,6 +341,7 @@ Requires(pre): net-tools-deprecated
%description guest-tools
VirtualBox guest addition tools.
%if "%mypython" != ""
%package -n %{mypython}-%{name}
Summary: Python bindings for %{name}
Group: Development/Libraries/Python
@@ -350,12 +358,15 @@ Obsoletes: python3-%{name}-ose < %{version}
%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}
%if "%mypython" != ""
Requires: %{mypython}-%{name} = %{version}
%endif
#rename from "ose" version:
Provides: %{name}-ose-devel = %{version}
Obsoletes: %{name}-ose-devel < %{version}
@@ -421,7 +432,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}
@@ -464,6 +475,9 @@ rm -rf src/libs/{libpng-*,libxml2-*,libxslt-*,zlib-*,boost-*}
--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...)
@@ -555,18 +569,18 @@ install -d -m 755 %{buildroot}/media
echo "entering VNC extension install section"
pushd 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"
install -D -m 644 VNC-*.vbox-extpack "%{buildroot}%{_datadir}/virtualbox/extensions/VNC-%{rversion}.vbox-extpack"
popd
echo "entering virtualbox(-qt) install section"
# copy the main files to %%{_vbox_instdir}
pushd 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
@@ -652,6 +666,8 @@ 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} %{__mypython} vboxapisetup.py install --prefix=%{_prefix} --root=%{buildroot}
@@ -659,6 +675,7 @@ popd
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
@@ -750,7 +767,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
@@ -794,7 +811,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
@@ -917,6 +936,7 @@ export DISABLE_RESTART_ON_UPDATE=yes
%dir /media
%endif
%if "%mypython" != ""
%files -n %{mypython}-%{name}
%dir %{_vbox_instdir}/sdk
%dir %{_vbox_instdir}/sdk/bindings
@@ -925,6 +945,7 @@ export DISABLE_RESTART_ON_UPDATE=yes
%{_vbox_instdir}/VBoxPython*.so
%{mypython_sitelib}/vboxapi-*.egg-info
%{mypython_sitelib}/vboxapi/
%endif
%files devel
%dir %{_vbox_instdir}/sdk
@@ -958,7 +979,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