Update VirtualBox

This commit is contained in:
Andrey Rodionov 2024-04-11 13:38:03 +03:00
parent 065f04c136
commit 634f22fd54
31 changed files with 1146 additions and 1 deletions

View File

@ -3,7 +3,7 @@
pkgname='virtualbox-host-modules-amd-znver2'
pkgver=7.0.14
pkgrel=11
pkgrel=12
pkgdesc='Virtualbox host kernel modules for Arch Kernel'
arch=('x86_64')
url='https://virtualbox.org/'

View File

@ -0,0 +1,39 @@
# Maintainer: Sébastien Luttringer
# Contributor: Ionut Biru <ibiru@archlinux.org>
pkgname='virtualbox-svn-host-modules-amd-znver2'
pkgver=104157
pkgrel=1
pkgdesc='Virtualbox host kernel modules for Arch Kernel'
arch=('x86_64')
url='https://virtualbox.org/'
license=('GPL')
makedepends=('linux-amd-znver2-headers' "virtualbox-host-dkms-svn=$pkgver")
replaces=('virtualbox-modules' 'virtualbox-host-modules')
conflicts=('virtualbox-modules' 'virtualbox-host-modules')
provides=('VIRTUALBOX-HOST-MODULES-SVN')
build() {
_kernver="$(/usr/bin/uname -r)"
# _kernver="$(</usr/lib/modules/*-AMD-znver2/extramodules/version)"
fakeroot dkms build --dkmstree "$srcdir" -m vboxhost/svn_OSE -k ${_kernver}
}
package(){
depends=('linux-amd-znver2')
_kernver="$(/usr/bin/uname -r)"
# _kernver="$(</usr/lib/modules/*-AMD-znver2/extramodules/version)"
extramodules="$(readlink -f "/usr/lib/modules/${_kernver}/virtualbox")"
install -Dt "$pkgdir/$extramodules" -m0644 \
vboxhost/svn_OSE/${_kernver}/${CARCH}/module/*
# compress each module individually
find "$pkgdir" -name '*.ko' -exec xz -T1 {} +
# systemd module loading
printf '%s\n' vboxdrv vboxnetadp vboxnetflt |
install -D -m0644 /dev/stdin "$pkgdir/usr/lib/modules-load.d/$pkgname.conf"
}

192
virtualbox-svn/.SRCINFO Normal file
View File

@ -0,0 +1,192 @@
pkgbase = virtualbox-svn
pkgver = 102693
pkgrel = 2
url = http://virtualbox.org
arch = x86_64
license = GPL
license = custom:CDDL
makedepends = subversion
makedepends = alsa-lib
makedepends = cdrkit
makedepends = curl
makedepends = device-mapper
makedepends = git
makedepends = glu
makedepends = gsoap
makedepends = glslang
makedepends = iasl
makedepends = jdk8-openjdk
makedepends = libidl2
makedepends = libpulse
makedepends = libvncserver
makedepends = libvpx
makedepends = libxcomposite
makedepends = libxcursor
makedepends = libxinerama
makedepends = libxml2
makedepends = libxmu
makedepends = libxrandr
makedepends = liblzf
makedepends = libtpms
makedepends = libxslt
makedepends = libxtst
makedepends = linux-headers
makedepends = mesa
makedepends = nasm
makedepends = opus
makedepends = python
makedepends = python-packaging
makedepends = qt6-base
makedepends = qt6-5compat
makedepends = qt6-scxml
makedepends = qt6-tools
makedepends = sdl
makedepends = sdl_ttf
makedepends = vde2
makedepends = xalan-c
makedepends = xorgproto
makedepends = xorg-server-devel
makedepends = yasm
source = VirtualBox::svn+http://www.virtualbox.org/svn/vbox/trunk
source = virtualbox-host-dkms.conf
source = virtualbox.sysusers
source = virtualbox-guest-utils.sysusers
source = 60-vboxdrv.rules
source = 60-vboxguest.rules
source = LocalConfig.kmk
source = vboxservice.service
source = vboxservice-nox.service
source = vboxdrmclient.path
source = vboxdrmclient.service
source = vboxweb.service
source = vboxreload
source = 001-disable-update.patch
source = 004-drop-Wno-format.patch
source = 008-no-vboxvideo.patch
source = 009-properly-handle-i3wm.patch
source = 012-vbglR3GuestCtrlDetectPeekGetCancelSupport.patch
source = 013-support-building-from-dkms.patch
source = 018-upate-xclient-script.patch
sha256sums = SKIP
sha256sums = 76d98ea062fcad9e5e3fa981d046a6eb12a3e718a296544a68b66f4b65cb56db
sha256sums = 2101ebb58233bbfadf3aa74381f22f7e7e508559d2b46387114bc2d8e308554c
sha256sums = da4c49f6ca94e047e196cdbcba2c321199f4760056ea66e0fbc659353e128c9e
sha256sums = 9c5238183019f9ebc7d92a8582cad232f471eab9d3278786225abc1a1c7bf66e
sha256sums = 033c597e0f5285d2ddb0490868e5b6f945f45c7b1b1152a02a9e6fea438b2c95
sha256sums = 3cf42bc6e9e55fd2cb6be7b89c5b98d0f6a2eff6125a9ee7efafaabc35f1de22
sha256sums = c41a801fe344a4471a7b61a4764d1d857c403e4fb96e2ba6bc89c77a35f2be7a
sha256sums = 01dbb921bd57a852919cc78be5b73580a564f28ebab2fe8d6c9b8301265cbfce
sha256sums = 83d8f24bff25bb925083cf39b3195236c6136105e62417712cc3f25b92e14b47
sha256sums = 2beab8de525220fa418c9873f9e0d657ddbad4ff9e4a46d7053e6cd9bc4ce95e
sha256sums = e6e875ef186578b53106d7f6af48e426cdaf1b4e86834f01696b8ef1c685787f
sha256sums = 4001b5927348fe669a541e80526d4f9ea91b883805f102f7d571edbb482a9b9d
sha256sums = 9ee947c9b5ec5b25f52d3e72340fc3a57ca6e65a604e15b669ac582a3fb0dc1b
sha256sums = ccebd3213f1888c8f8c090392b527b8cc61f0d57e58c49a634486bf44b556299
sha256sums = 053bfeee8863f3ffdf2f0e3f9f0d77dc61dd32764700a97a7635fd8611e20491
sha256sums = 5c4b237839a52a18b39d996b37de9d2f9d0ee621c162956cf4424122429094d3
sha256sums = 81900e13d36630488accd8c0bfd2ceb69563fb2c4f0f171caba1cca59d438024
sha256sums = 00f68b86d32a1fada900c2da8dad2ab4215106cd58004f049bded99727cda2ff
sha256sums = b6193d22ee7c1726ea4d468b18640454b8e4f2784479073a0044e45dca4e516d
pkgname = virtualbox-svn
pkgdesc = Powerful x86 virtualization for enterprise as well as home use
depends = curl
depends = gcc-libs
depends = glibc
depends = liblzf
depends = libpng
depends = libtpms
depends = libvpx
depends = libx11
depends = libxcursor
depends = libxext
depends = libxinerama
depends = libxml2
depends = libxmu
depends = libxt
depends = openssl
depends = procps-ng
depends = python
depends = qt6-base
depends = qt6-tools
depends = qt6-5compat
depends = sdl
depends = shared-mime-info
depends = zlib
depends = qt6-scxml
depends = VIRTUALBOX-HOST-MODULES-SVN
optdepends = vde2: Virtual Distributed Ethernet support
optdepends = virtualbox-guest-iso: Guest Additions CD image
optdepends = virtualbox-ext-vnc: VNC server support
optdepends = virtualbox-sdk: Developer kit
provides = virtualbox
conflicts = virtualbox-ose
conflicts = virtualbox
replaces = virtualbox-ose
backup = etc/vbox/vbox.cfg
pkgname = virtualbox-host-dkms-svn
pkgdesc = VirtualBox Host kernel modules sources
install = virtualbox-host-dkms.install
depends = dkms
depends = gcc
depends = make
provides = VIRTUALBOX-HOST-MODULES-SVN
conflicts = virtualbox-source
conflicts = virtualbox-host-source
conflicts = virtualbox-host-dkms
replaces = virtualbox-source
replaces = virtualbox-host-source
replaces = virtualbox-host-modules-lts
pkgname = virtualbox-sdk-svn
pkgdesc = VirtualBox Software Developer Kit (SDK)
depends = python
provides = virtualbox-sdk
conflicts = virtualbox-sdk
pkgname = virtualbox-guest-utils-svn
pkgdesc = VirtualBox Guest userspace utilities
depends = glibc
depends = pam
depends = libx11
depends = libxcomposite
depends = libxdamage
depends = libxext
depends = libxfixes
depends = libxmu
depends = libxt
depends = xorg-xrandr
depends = xf86-video-vmware
depends = VIRTUALBOX-GUEST-MODULES
provides = virtualbox-guest-utils
conflicts = virtualbox-archlinux-additions
conflicts = virtualbox-guest-additions
conflicts = virtualbox-guest-utils-nox
conflicts = virtualbox-guest-utils
conflicts = virtualbox-guest-dkms
conflicts = virtualbox-guest-dkms-svn
replaces = virtualbox-archlinux-additions
replaces = virtualbox-guest-additions
replaces = virtualbox-guest-dkms-svn
pkgname = virtualbox-guest-utils-nox-svn
pkgdesc = VirtualBox Guest userspace utilities without X support
depends = glibc
depends = pam
depends = VIRTUALBOX-GUEST-MODULES
provides = virtualbox-guest-utils-nox
conflicts = virtualbox-guest-utils
conflicts = virtualbox-guest-utils-nox
conflicts = virtualbox-guest-dkms
conflicts = virtualbox-guest-dkms-svn
replaces = virtualbox-guest-dkms-svn
pkgname = virtualbox-ext-vnc-svn
pkgdesc = VirtualBox VNC extension pack
install = virtualbox-ext-vnc.install
depends = virtualbox
depends = libvncserver
optdepends = tigervnc: vnc client
provides = virtualbox-ext-vnc
conflicts = virtualbox-ext-vnc

View File

@ -0,0 +1,13 @@
diff --git a/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp b/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp
index da373c92..18fb69a7 100644
--- a/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp
@@ -2349,7 +2349,7 @@ QString UIExtraDataManager::preventBetaBuildWarningForVersion()
bool UIExtraDataManager::applicationUpdateEnabled()
{
/* 'True' unless 'restriction' feature allowed: */
- return !isFeatureAllowed(GUI_PreventApplicationUpdate);
+ return false;
}
QString UIExtraDataManager::applicationUpdateData()

View File

@ -0,0 +1,84 @@
From 6fed8ce04e50522c690ffa4bb100c1dd00ee4d36 Mon Sep 17 00:00:00 2001
From: Christian Hesse <mail@eworm.de>
Date: Tue, 18 Apr 2023 22:59:50 +0200
Subject: [PATCH 1/1] drop -Wno-format
---
src/VBox/Devices/EFI/Firmware/Config.kmk | 2 +-
src/VBox/Devices/Makefile.kmk | 2 +-
src/VBox/Devices/PC/ipxe/Makefile.kmk | 2 +-
src/VBox/ExtPacks/VBoxDTrace/Makefile.kmk | 2 +-
src/VBox/Main/webservice/Makefile.kmk | 3 +--
5 files changed
diff --git a/src/VBox/Devices/EFI/Firmware/Config.kmk b/src/VBox/Devices/EFI/Firmware/Config.kmk
index ddd1fc1e..0614d90c 100644
--- a/src/VBox/Devices/EFI/Firmware/Config.kmk
+++ b/src/VBox/Devices/EFI/Firmware/Config.kmk
@@ -155,7 +155,7 @@ TEMPLATE_VBoxEfiBldProg_LIBS = \
ifn1of ($(KBUILD_HOST), win) # This stuff isn't up to our standard at all! :/
TEMPLATE_VBoxEfiBldProg_CFLAGS = $(filter-out -pedantic,$(TEMPLATE_VBoxBldProg_CFLAGS)) \
-Wno-sign-compare -Wno-missing-prototypes -Wno-strict-prototypes \
- -Wno-implicit-function-declaration -Wno-missing-declarations -Wno-shadow -Wno-format \
+ -Wno-implicit-function-declaration -Wno-missing-declarations -Wno-shadow \
-Wno-empty-body -Wno-unused-parameter -Wno-unused-variable -Wno-unused-label
TEMPLATE_VBoxEfiBldProg_CXXFLAGS = $(filter-out -pedantic,$(TEMPLATE_VBoxBldProg_CXXFLAGS)) \
-Wno-all -Wno-shadow -Wno-empty-body -Wno-unused-parameter -Wno-unused-variable \
diff --git a/src/VBox/Devices/Makefile.kmk b/src/VBox/Devices/Makefile.kmk
index a17e655f..fe905681 100644
@@ -853,7 +853,7 @@ if !defined(VBOX_ONLY_EXTPACKS) && "$(in
ifeq ($(KBUILD_TARGET),win)
$(file)_CFLAGS = -wd4018
else
- $(file)_CFLAGS += -Wno-sign-compare -Wno-format -Wno-bad-function-cast
+ $(file)_CFLAGS += -Wno-sign-compare -Wno-bad-function-cast
endif
endef
diff --git a/src/VBox/Devices/PC/ipxe/Makefile.kmk b/src/VBox/Devices/PC/ipxe/Makefile.kmk
index 7f5b4c5a..33705fe7 100644
--- a/src/VBox/Devices/PC/ipxe/Makefile.kmk
+++ b/src/VBox/Devices/PC/ipxe/Makefile.kmk
@@ -396,7 +396,7 @@ endif
#
BLDPROGS += ipxezbin
ipxezbin_TEMPLATE = VBoxBldProg
- ipxezbin_CFLAGS = -Wno-format -Wno-unused-function -Wno-pointer-arith
+ ipxezbin_CFLAGS = -Wno-unused-function -Wno-pointer-arith
ipxezbin_SOURCES = src/util/zbin.c
ifdef VBOX_WITH_LIBLZMA
ipxezbin_INCS = $(SDK_VBoxLibLzma_INCS) # Can't use the proper SDK here as link order matters and liblzma depends on our runtime.
diff --git a/src/VBox/ExtPacks/VBoxDTrace/Makefile.kmk b/src/VBox/ExtPacks/VBoxDTrace/Makefile.kmk
index 081f02b0..75fe411b 100644
--- a/src/VBox/ExtPacks/VBoxDTrace/Makefile.kmk
+++ b/src/VBox/ExtPacks/VBoxDTrace/Makefile.kmk
@@ -118,7 +118,7 @@ if defined(VBOX_WITH_EXTPACK_VBOXDTRACE) && defined(VBOX_WITH_EXTPACK)
VBoxDTraceCmd_DEFS.win = YY_USE_PROTOS=1 YYENABLE_NLS=0 YYLTYPE_IS_TRIVIAL=0
VBoxDTraceCmd_SDKS = VBoxZlib
ifn1of ($(KBUILD_TARGET), win)
- VBoxDTraceCmd_CFLAGS = -Wno-format $(VBOX_GCC_Wno-overlength-strings) -Wno-sign-compare -Wno-strict-prototypes -Wno-missing-prototypes -Wno-missing-declarations -Wno-shadow
+ VBoxDTraceCmd_CFLAGS = $(VBOX_GCC_Wno-overlength-strings) -Wno-sign-compare -Wno-strict-prototypes -Wno-missing-prototypes -Wno-missing-declarations -Wno-shadow
endif
VBoxDTraceCmd_INCS = \
include \
diff --git a/src/VBox/Main/webservice/Makefile.kmk b/src/VBox/Main/webservice/Makefile.kmk
index dbccdf4f..c6093ed4 100644
--- a/src/VBox/Main/webservice/Makefile.kmk
+++ b/src/VBox/Main/webservice/Makefile.kmk
@@ -264,7 +264,7 @@ ifdef VBOX_GSOAP_INSTALLED
ifn1of ($(KBUILD_TARGET), win)
vboxsoap_CXXFLAGS += -Wno-shadow -Wno-parentheses $(VBOX_GCC_Wno-literal-suffix) \
$(VBOX_GCC_Wno-stringop-overflow) $(VBOX_GCC_Wno-stringop-truncation) \
- $(VBOX_GCC_Wno-vla) -Wno-format -Wno-deprecated-declarations $(VBOX_GCC_fno-printf-return-value)
+ $(VBOX_GCC_Wno-vla) -Wno-deprecated-declarations $(VBOX_GCC_fno-printf-return-value)
ifn1of ($(KBUILD_TYPE), debug) # Save time+memory by using -O0 instead of -O2.
vboxsoap_CXXFLAGS += -O0 ## @todo this could be interesting for g++ (not clang++): -fcprop-registers
endif
@@ -335,7 +335,6 @@ ifdef VBOX_GSOAP_INSTALLED
$(VBOXWEB_OUT_DIR)/gsoap_copy_all_ts
ifn1of ($(KBUILD_TARGET), win)
$(VBOX_GSOAP_CXX_SOURCES)_CXXFLAGS = \
- -Wno-format \
$(VBOX_GCC_Wno-int-in-bool-context) \
$(VBOX_GCC_Wno-logical-op)
# currently necessary when compiling against OpenSSL 1.0 due to a missing

View File

@ -0,0 +1,12 @@
Fix FTBFS by not compile X.org-1.19 drv, we don't use it, just need in el <= 7
--- ./src/VBox/Additions/x11/vboxvideo/Makefile.kmk 2016-10-11 02:49:23.184986182 +0100
+++ ./src/VBox/Additions/x11/vboxvideo/Makefile.kmk 2016-10-11 02:49:39.879176964 +0100
@@ -376,7 +376,7 @@ vboxvideo_drv_118_SOURCES := $(vboxvideo
ifdef VBOX_USE_SYSTEM_XORG_HEADERS
# Build using local X.Org headers. We assume X.Org Server 1.7 or later.
- DLLS := $(filter-out vboxvideo_drv_%,$(DLLS)) vboxvideo_drv_system
+ DLLS := $(filter-out vboxvideo_drv_%,$(DLLS))
SYSMODS := $(filter-out vboxvideo_drv%,$(SYSMODS))
vboxvideo_drv_system_TEMPLATE = VBOXGUESTR3XORGMOD
vboxvideo_drv_system_CFLAGS := \

View File

@ -0,0 +1,82 @@
From b9e64417e4c33e2c17e060aa482519c2c8c7d416 Mon Sep 17 00:00:00 2001
From: Christian Hesse <mail@eworm.de>
Date: Tue, 17 Jan 2023 22:04:08 +0100
Subject: [PATCH] properly handle i3wm
---
.../VirtualBox/src/globals/UIDesktopWidgetWatchdog.cpp | 3 ++-
.../Frontends/VirtualBox/src/platform/nix/VBoxUtils-nix.cpp | 3 +++
.../Frontends/VirtualBox/src/platform/nix/VBoxUtils-nix.h | 3 ++-
src/VBox/Frontends/VirtualBox/src/widgets/UIMiniToolBar.cpp | 4 ++++
4 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/src/VBox/Frontends/VirtualBox/src/globals/UIDesktopWidgetWatchdog.cpp b/src/VBox/Frontends/VirtualBox/src/globals/UIDesktopWidgetWatchdog.cpp
index c27ff6f6..066a80e0 100644
--- a/src/VBox/Frontends/VirtualBox/src/globals/UIDesktopWidgetWatchdog.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/globals/UIDesktopWidgetWatchdog.cpp
@@ -385,7 +385,8 @@ QRect UIDesktopWidgetWatchdog::availableGeometry(QScreen *pScreen) const
/* Get cached available-geometry: */
const QRect availableGeometry = m_availableGeometryData.value(screenToIndex(pScreen));
/* Return cached available-geometry if it's valid or screen-geometry otherwise: */
- return availableGeometry.isValid() ? availableGeometry : screenGeometry(pScreen);
+ return availableGeometry.isValid() && NativeWindowSubsystem::X11WindowManagerType() != X11WMType_i3 ?
+ availableGeometry : screenGeometry(pScreen);
# endif /* !VBOX_GUI_WITH_CUSTOMIZATIONS1 */
#else /* !VBOX_WS_X11 */
/* Just return screen available-geometry: */
diff --git a/src/VBox/Frontends/VirtualBox/src/platform/nix/VBoxUtils-nix.cpp b/src/VBox/Frontends/VirtualBox/src/platform/nix/VBoxUtils-nix.cpp
index 2443af89..6cfcff74 100644
--- a/src/VBox/Frontends/VirtualBox/src/platform/nix/VBoxUtils-nix.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/platform/nix/VBoxUtils-nix.cpp
@@ -141,6 +141,9 @@ X11WMType NativeWindowSubsystem::X11Wind
else
if (QString((const char*)pcData).contains("Xfwm4", Qt::CaseInsensitive))
wmType = X11WMType_Xfwm4;
+ else
+ if (QString((const char*)pcData).contains("i3", Qt::CaseInsensitive))
+ wmType = X11WMType_i3;
if (pcData)
XFree(pcData);
}
diff --git a/src/VBox/Frontends/VirtualBox/src/platform/nix/VBoxUtils-nix.h b/src/VBox/Frontends/VirtualBox/src/platform/nix/VBoxUtils-nix.h
index 66504c71..f83b5c85 100644
--- a/src/VBox/Frontends/VirtualBox/src/platform/nix/VBoxUtils-nix.h
+++ b/src/VBox/Frontends/VirtualBox/src/platform/nix/VBoxUtils-nix.h
@@ -51,6 +51,7 @@ enum X11WMType
X11WMType_Metacity,
X11WMType_Mutter,
X11WMType_Xfwm4,
+ X11WMType_i3,
};
/** X11: Screen-saver inhibit methods. */
@@ -102,11 +103,11 @@ namespace NativeWindowSubsystem
bool WaylandIsCompositingManagerRunning();
/** Wrapper for window manager type functions. */
- X11WMType windowManagerType(bool fIsXServerAvailable);
+ SHARED_LIBRARY_STUFF X11WMType windowManagerType(bool fIsXServerAvailable);
/** X11: Determines and returns current Window Manager type. */
- X11WMType X11WindowManagerType();
+ SHARED_LIBRARY_STUFF X11WMType X11WindowManagerType();
/** Wayland: Determines and returns current Window Manager type. */
- X11WMType WaylandWindowManagerType();
+ SHARED_LIBRARY_STUFF X11WMType WaylandWindowManagerType();
/** Wrapper for X11CheckExtension and WaylandCheckExtension functions. */
bool checkExtension(bool fIsXServerAvailable, const char *extensionName);
diff --git a/src/VBox/Frontends/VirtualBox/src/widgets/UIMiniToolBar.cpp b/src/VBox/Frontends/VirtualBox/src/widgets/UIMiniToolBar.cpp
index 7b37d46b..b838ad07 100644
--- a/src/VBox/Frontends/VirtualBox/src/widgets/UIMiniToolBar.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/widgets/UIMiniToolBar.cpp
@@ -1076,6 +1076,10 @@ void UIMiniToolBar::prepare()
/* Enable translucency through Qt API if supported: */
if (uiCommon().isCompositingManagerRunning())
setAttribute(Qt::WA_TranslucentBackground);
+
+ if (NativeWindowSubsystem::X11WindowManagerType() == X11WMType_i3)
+ setWindowFlags(Qt::FramelessWindowHint);
+
#endif /* VBOX_WS_NIX */
/* Make sure we have no focus: */

View File

@ -0,0 +1,14 @@
diff --git a/src/VBox/Additions/common/VBoxGuest/lib/VBoxGuestR3LibGuestCtrl.cpp b/src/VBox/Additions/common/VBoxGuest/lib/VBoxGuestR3LibGuestCtrl.cpp
index 6ad7df3e..2f12c277 100644
--- a/src/VBox/Additions/common/VBoxGuest/lib/VBoxGuestR3LibGuestCtrl.cpp
+++ b/src/VBox/Additions/common/VBoxGuest/lib/VBoxGuestR3LibGuestCtrl.cpp
@@ -162,6 +162,9 @@ static int vbglR3GuestCtrlMsgWaitFor(uint32_t idClient, uint32_t *pidMsg, uint32
*/
DECL_NO_INLINE(static, bool) vbglR3GuestCtrlDetectPeekGetCancelSupport(uint32_t idClient)
{
+
+ return false;
+
/*
* Seems we get VINF_SUCCESS back from the host if we try unsupported
* guest control functions, so we need to supply some random message

View File

@ -0,0 +1,54 @@
From eb9ded87d9d1a6755f2bb7258641c9c80c54c347 Mon Sep 17 00:00:00 2001
From: Christian Hesse <mail@eworm.de>
Date: Mon, 17 Oct 2022 16:30:32 +0200
Subject: [PATCH] support building from dkms
---
src/VBox/HostDrivers/linux/Makefile | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/src/VBox/HostDrivers/linux/Makefile b/src/VBox/HostDrivers/linux/Makefile
index badeb4f4..314281f3 100644
--- a/src/VBox/HostDrivers/linux/Makefile
+++ b/src/VBox/HostDrivers/linux/Makefile
@@ -33,25 +33,25 @@
# SPDX-License-Identifier: GPL-3.0-only OR CDDL-1.0
#
-ifneq ($(KERNELRELEASE),)
+ifneq ($(KBUILD_EXTMOD),)
-# Building from kBuild (make -C <kernel_directory> M=`pwd`),
-# or inside a kernel source tree.
+# Building from kBuild (make -C <kernel_directory> M=`pwd`).
+# KBUILD_EXTMOD is set to $(M) in this case.
obj-m = vboxdrv/
- ifneq ($(wildcard $(CURDIR)/vboxnetflt/Makefile),)
+ ifneq ($(wildcard $(KBUILD_EXTMOD)/vboxnetflt/Makefile),)
obj-m += vboxnetflt/
endif
- ifneq ($(wildcard $(CURDIR)/vboxnetadp/Makefile),)
+ ifneq ($(wildcard $(KBUILD_EXTMOD)/vboxnetadp/Makefile),)
obj-m += vboxnetadp/
endif
- ifneq ($(wildcard $(CURDIR)/vboxpci/Makefile),)
+ ifneq ($(wildcard $(KBUILD_EXTMOD)/vboxpci/Makefile),)
obj-m += vboxpci/
endif
-else # ! KERNELRELEASE
+else # ! KBUILD_EXTMOD
-# convenience Makefile without KERNELRELEASE
+# convenience Makefile without KBUILD_EXTMOD
ifndef SUDO
ifneq ($(shell id -u),0)
@@ -244,5 +244,5 @@ load: unload
fi; \
done
-endif # ! KERNELRELEASE
+endif # ! KBUILD_EXTMOD

View File

@ -0,0 +1,39 @@
From 12e0a15f8893187ee92fa5af8095b8bb33adefe5 Mon Sep 17 00:00:00 2001
From: Christian Hesse <mail@eworm.de>
Date: Mon, 17 Oct 2022 16:40:29 +0200
Subject: [PATCH] upate xclient script
---
src/VBox/Additions/x11/Installer/98vboxadd-xclient | 13 +++----------
1 file changed, 3 insertions(+), 10 deletions(-)
diff --git a/src/VBox/Additions/x11/Installer/98vboxadd-xclient b/src/VBox/Additions/x11/Installer/98vboxadd-xclient
index 7c9b5989..271261a4 100755
--- a/src/VBox/Additions/x11/Installer/98vboxadd-xclient
+++ b/src/VBox/Additions/x11/Installer/98vboxadd-xclient
@@ -31,16 +31,9 @@ for i in $HOME/.vboxclient-*.pid; do
test -w $i || rm -f $i
done
-if ! test -c /dev/vboxguest 2>/dev/null; then
- # Do not start if the kernel module is not present.
- # Execute notify-send in the back-ground to avoid racing with sddm,
- # as notify-send may wait for sddm to start while it waits for us to exit.
- notify-send "VBoxClient: the VirtualBox kernel service is not running. Exiting." &
-elif test -z "${SSH_CONNECTION}"; then
- # This script can also be triggered by a connection over SSH, which is not
- # what we had in mind, so we do not start VBoxClient in that case. We do
- # not use "exit" here as this script is "source"d, not executed.
-
+# Do not start if the kernel module is not present; or if this script is
+# triggered by a connection over SSH.
+if [ -c /dev/vboxguest -a -z "${SSH_CONNECTION}" ]; then
# Check wheather X11 or Wayland version of VBoxClient should be started.
vbox_wl_check=$(/usr/bin/vboxwl --check 2> /dev/null)
if test "$vbox_wl_check" = "WL"; then
@@ -52,5 +45,4 @@ elif test -z "${SSH_CONNECTION}"; then
fi
/usr/bin/VBoxClient --checkhostversion
- /usr/bin/VBoxClient --vmsvga-session # In case VMSVGA emulation is enabled
fi

View File

@ -0,0 +1,13 @@
diff --git a/src/VBox/Installer/linux/routines.sh b/src/VBox/Installer/linux/routines.sh
index 08e06358..44eba726 100644
--- a/src/VBox/Installer/linux/routines.sh
+++ b/src/VBox/Installer/linux/routines.sh
@@ -446,7 +446,7 @@ maybe_run_python_bindings_installer() {
# the VirtualBox API bindings. Needs to prevent double installs which waste
# quite a bit of time.
PYTHONS=""
- for p in python2.6 python2.7 python2 python3.3 python3.4 python3.5 python3.6 python3.7 python3.8 python3.9 python3.10 python3 python; do
+ for p in python2.6 python2.7 python2 python3.3 python3.4 python3.5 python3.6 python3.7 python3.8 python3.9 python3.10 python3.11 python3 python; do
if [ "`$p -c 'import sys
if sys.version_info >= (2, 6) and (sys.version_info < (3, 0) or sys.version_info >= (3, 3)):
print(\"test\")' 2> /dev/null`" != "test" ]; then

View File

@ -0,0 +1,8 @@
KERNEL=="vboxdrv", NAME="vboxdrv", OWNER="root", GROUP="root", MODE="0600"
KERNEL=="vboxdrvu", NAME="vboxdrvu", OWNER="root", GROUP="root", MODE="0666"
KERNEL=="vboxnetctl", NAME="vboxnetctl", OWNER="root", GROUP="root", MODE="0600"
SUBSYSTEM=="usb_device", ACTION=="add", RUN+="/usr/share/virtualbox/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass} vboxusers"
SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", RUN+="/usr/share/virtualbox/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass} vboxusers"
SUBSYSTEM=="usb_device", ACTION=="remove", RUN+="/usr/share/virtualbox/VBoxCreateUSBNode.sh --remove $major $minor"
SUBSYSTEM=="usb", ACTION=="remove", ENV{DEVTYPE}=="usb_device", RUN+="/usr/share/virtualbox/VBoxCreateUSBNode.sh --remove $major $minor"

View File

@ -0,0 +1,2 @@
ACTION=="add", KERNEL=="vboxguest", SUBSYSTEM=="misc", OWNER="root", MODE="0600"
ACTION=="add", KERNEL=="vboxuser", SUBSYSTEM=="misc", OWNER="root", MODE="0666"

View File

@ -0,0 +1,39 @@
# do not build test cases
VBOX_WITH_TESTCASES :=
VBOX_WITH_TESTSUITE :=
VBOX_WITH_VALIDATIONKIT :=
# no legacy X.org - use KMS
VBOX_USE_SYSTEM_XORG_HEADERS = 1
VBOX_NO_LEGACY_XORG_X11 = 1
# archlinux path
VBOX_WITH_ORIGIN :=
VBOX_PATH_APP_PRIVATE_ARCH := /usr/lib/virtualbox
VBOX_PATH_SHARED_LIBS := $(VBOX_PATH_APP_PRIVATE_ARCH)
VBOX_WITH_RUNPATH := $(VBOX_PATH_APP_PRIVATE_ARCH)
VBOX_PATH_APP_PRIVATE := /usr/share/virtualbox
VBOX_PATH_APP_DOCS := /usr/share/doc/virtualbox
VBOX_PATH_PACKAGE_DOCS := $(VBOX_PATH_APP_DOCS)
VBOX_BLD_PYTHON = python
VBOX_JAVA_HOME = /usr/lib/jvm/java-8-openjdk
# do not fail on warning
VBOX_GCC_WERR =
VBOX_GCC_WARN =
# fix gsoap missing zlib include and produce errors with --as-needed
VBOX_GSOAP_CXX_LIBS := gsoapssl++ z
# use system xorg and gl headers
VBOX_USE_SYSTEM_XORG_HEADERS = 1
VBOX_USE_SYSTEM_GL_HEADERS = 1
# no update request. update are handled via pacman
VBOX_WITH_UPDATE_REQUEST := 0
# build shared library
VBOX_GUI_WITH_SHARED_LIBRARY = 1
# disable experimental cloud infrastructure integration
VBOX_WITH_CLOUD_NET :=

343
virtualbox-svn/PKGBUILD Normal file
View File

@ -0,0 +1,343 @@
# $Id$
# Maintainer: Sébastien "Seblu" Luttringer
# Contributor: Ionut Biru <ibiru@archlinux.org>
pkgbase=virtualbox-svn
pkgname=('virtualbox-svn'
'virtualbox-host-dkms-svn'
'virtualbox-guest-utils-svn'
'virtualbox-guest-utils-nox-svn'
'virtualbox-ext-vnc-svn')
pkgver=104157
_tarver=${pkgver}
pkgrel=1
arch=('x86_64')
url='http://virtualbox.org'
license=('GPL' 'custom:CDDL')
makedepends=('subversion'
'alsa-lib'
'cdrkit'
'curl'
'device-mapper'
'git'
'glu'
'gsoap'
'glslang'
'iasl'
'jdk8-openjdk'
'libidl2'
'libpulse'
'libvncserver'
'libvpx'
'libxcomposite'
'libxcursor'
'libxinerama'
'libxml2'
'libxmu'
'libxrandr'
'liblzf'
'libtpms'
'libxslt'
'libxtst'
'linux-amd-znver2-headers'
'mesa'
'nasm'
'opus'
'python'
'python-packaging'
'qt6-base'
'qt6-5compat'
'qt6-scxml'
'qt6-tools'
'sdl'
'sdl_ttf'
'vde2'
'xalan-c'
'xorgproto'
'xorg-server-devel'
'yasm')
source=("VirtualBox::svn+http://www.virtualbox.org/svn/vbox/trunk"
'virtualbox-host-dkms.conf'
'virtualbox.sysusers'
'virtualbox-guest-utils.sysusers'
'60-vboxdrv.rules'
'60-vboxguest.rules'
'LocalConfig.kmk'
'vboxservice.service'
'vboxservice-nox.service'
'vboxdrmclient.path'
'vboxdrmclient.service'
'vboxweb.service'
'vboxreload'
'001-disable-update.patch'
'004-drop-Wno-format.patch'
'008-no-vboxvideo.patch'
'009-properly-handle-i3wm.patch'
'012-vbglR3GuestCtrlDetectPeekGetCancelSupport.patch'
'013-support-building-from-dkms.patch'
'018-upate-xclient-script.patch')
#'020-python-3-11.patch')
pkgver() {
cd "VirtualBox"
local ver="$(svnversion)"
printf "%s" "${ver//[[:alpha:]]}"
}
prepare() {
cd "VirtualBox"
# apply patch from the source array (should be a pacman feature)
local filename
for filename in "${source[@]}"; do
if [[ "$filename" =~ \.patch$ ]]; then
echo "Applying patch ${filename##*/}"
patch -p1 -N -i "$srcdir/${filename##*/}"
fi
done
sed -i '1 a #include<cstdint>' src/libs/dxvk-native-1.9.2a/src/util/util_bit.h
sed -i 's/xmlErrorPtr aErr/const xmlError* aErr/g' src/VBox/Runtime/r3/xml.cpp
sed -i 's/xmlErrorPtr error/const _xmlError* error/g' src/VBox/Runtime/r3/xml.cpp
sed -i 's/xmlErrorPtr aErr/const xmlError* aErr/g' include/iprt/cpp/xml.h
echo 'Applying local config'
cp "$srcdir/LocalConfig.kmk" .
echo 'Use our CFLAGS'
echo "VBOX_GCC_OPT=$CXXFLAGS" >> LocalConfig.kmk
}
build() {
cd "VirtualBox"
echo 'Build virtualbox'
./configure \
--disable-docs \
--disable-kmods \
--disable-vmmraw \
--enable-vde \
--enable-vnc \
--enable-webservice \
--with-makeself=/usr/bin/echo
# fake makeself binary to compile without nofatal
# makeself is used by linux installer. we don't need it.
source ./env.sh
kmk
echo 'Build VNC extension pack'
kmk -C src/VBox/ExtPacks/VNC packing
}
package_virtualbox-svn() {
pkgdesc='Powerful x86 virtualization for enterprise as well as home use'
depends=('curl' 'gcc-libs' 'glibc' 'liblzf' 'libpng' 'libtpms' 'libvpx' 'libx11' 'libxcursor'
'libxext' 'libxinerama' 'libxml2' 'libxmu' 'libxt' 'openssl' 'procps-ng' 'python'
'qt6-base' 'qt6-tools' 'qt6-5compat' 'sdl' 'shared-mime-info' 'zlib' 'qt6-scxml'
'VIRTUALBOX-HOST-MODULES-SVN')
optdepends=('vde2: Virtual Distributed Ethernet support'
'virtualbox-guest-iso: Guest Additions CD image'
'virtualbox-ext-vnc: VNC server support')
backup=('etc/vbox/vbox.cfg')
provides=('virtualbox')
replaces=('virtualbox-ose')
conflicts=('virtualbox-ose' 'virtualbox')
source "VirtualBox/env.sh"
cd "VirtualBox/out/linux.$BUILD_PLATFORM_ARCH/release/bin"
# libraries (and non-PATH executables)
install -d -m0755 "${pkgdir}/usr/lib/virtualbox"
install -m0755 *.so -t "${pkgdir}/usr/lib/virtualbox"
install -m0644 *.r0 VBoxEFI*.fd -t "${pkgdir}/usr/lib/virtualbox"
## setuid root binaries
install -m4755 VirtualBoxVM VBoxHeadless VBoxNetAdpCtl VBoxNetDHCP VBoxNetNAT -t "${pkgdir}/usr/lib/virtualbox"
## other binaries
install -m0755 VirtualBox VBoxManage VBoxSVC VBoxExtPackHelperApp VBoxXPCOMIPCD.so VBoxBalloonCtrl vboximg-mount vboxwebsrv webtest -t "${pkgdir}/usr/lib/virtualbox"
# binaries (in /usr/bin)
install -d -m0755 "${pkgdir}/usr/bin"
install -m0755 VBox.sh "${pkgdir}/usr/bin/VBox"
for i in VirtualBox VirtualBoxVM VBoxManage VBoxHeadless VBoxBugReport VBoxBalloonCtrl VBoxAutostart vboxwebsrv; do
ln -sf VBox "${pkgdir}/usr/bin/${i}"
ln -sf VBox "${pkgdir}/usr/bin/${i,,}"
done
for i in vboximg-mount; do
ln -s ../lib/virtualbox/"${i}" "${pkgdir}/usr/bin/${i}"
done
# components
install -dm0755 "$pkgdir/usr/lib/virtualbox/components"
install -m0755 components/* -t "$pkgdir/usr/lib/virtualbox/components"
# extensions packs
## as virtualbox install itself stuff in this directory, move it to /var and
## trick it with a symlink
## FIXME: trick is disabled for now
#install -dm0755 "$pkgdir/var/lib/virtualbox/extensions"
#install -dm0755 "$pkgdir/usr/share/virtualbox/extensions"
#ln -s ../../../var/lib/virtualbox/extensions "$pkgdir/usr/lib/virtualbox/ExtensionPacks"
install -dm0755 "$pkgdir/usr/lib/virtualbox/ExtensionPacks"
# languages
install -dm0755 "$pkgdir/usr/share/virtualbox/nls"
install -m0755 nls/*.qm -t "$pkgdir/usr/share/virtualbox/nls"
# useless scripts
install -m0755 VBoxCreateUSBNode.sh VBoxSysInfo.sh -t "$pkgdir/usr/share/virtualbox"
# icons
install -Dm0644 VBox.png "$pkgdir/usr/share/pixmaps/VBox.png"
pushd icons >/dev/null
for i in *; do
install -d "$pkgdir/usr/share/icons/hicolor/$i/mimetypes"
cp $i/* "$pkgdir/usr/share/icons/hicolor/$i/mimetypes"
done
popd >/dev/null
#desktop
install -Dm0644 virtualbox.desktop "$pkgdir/usr/share/applications/virtualbox.desktop"
install -Dm0644 virtualbox.xml "$pkgdir/usr/share/mime/packages/virtualbox.xml"
#install configuration
install -dm0755 "$pkgdir/etc/vbox"
echo 'INSTALL_DIR=/usr/lib/virtualbox' > "$pkgdir/etc/vbox/vbox.cfg"
# back to srcdir
cd "$srcdir"
#licence
install -Dm0644 VirtualBox/COPYING "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
install -D -m0644 VirtualBox/COPYING.CDDL "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.CDDL"
# install systemd stuff
install -Dm0644 60-vboxdrv.rules "$pkgdir/usr/lib/udev/rules.d/60-vboxdrv.rules"
install -Dm0644 vboxweb.service "$pkgdir/usr/lib/systemd/system/vboxweb.service"
install -Dm0644 virtualbox.sysusers "$pkgdir/usr/lib/sysusers.d/virtualbox.conf"
# install module reloading shortcut (with a symlink with default helper)
install -Dm0755 vboxreload "$pkgdir/usr/bin"
ln -s vboxreload "$pkgdir/usr/bin/rcvboxdrv"
}
package_virtualbox-host-dkms-svn() {
pkgdesc='VirtualBox Host kernel modules sources'
depends=('dkms' 'gcc' 'make')
replaces=('virtualbox-source'
'virtualbox-host-source'
'virtualbox-host-modules-lts')
conflicts=('virtualbox-source' 'virtualbox-host-source' 'virtualbox-host-dkms')
provides=('VIRTUALBOX-HOST-MODULES-SVN')
install=virtualbox-host-dkms.install
install -dm0755 "$pkgdir/usr/src"
source "VirtualBox/env.sh"
cd "VirtualBox/out/linux.$BUILD_PLATFORM_ARCH/release/bin"
cp -r src "$pkgdir/usr/src/vboxhost-svn_OSE"
# licence
install -Dm0644 "$srcdir/VirtualBox/COPYING" \
"$pkgdir/usr/share/licenses/$pkgname/LICENSE"
install -D -m0644 "${srcdir}/VirtualBox/COPYING.CDDL" \
"${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.CDDL"
# module loading
local _p="$pkgdir/usr/lib/modules-load.d/virtualbox-host-dkms.conf"
install -Dm0644 /dev/null "$_p"
printf "vboxdrv\nvboxnetadp\nvboxnetflt\n" > "$_p"
# starting vbox 5.1, dkms.conf file was dropped
local _p="$pkgdir/usr/src/vboxhost-svn_OSE/dkms.conf"
install -Dm0644 "$srcdir/virtualbox-host-dkms.conf" "$_p"
sed -i "s,@VERSION@,svn," "$_p"
}
package_virtualbox-guest-utils-svn() {
pkgdesc='VirtualBox Guest userspace utilities'
depends=('glibc' 'pam' 'libx11' 'libxcomposite'
'libxdamage' 'libxext' 'libxfixes' 'libxmu' 'libxt' 'xorg-xrandr'
'xf86-video-vmware' 'VIRTUALBOX-GUEST-MODULES')
replaces=('virtualbox-archlinux-additions' 'virtualbox-guest-additions' 'virtualbox-guest-dkms-svn')
provides=('virtualbox-guest-utils')
conflicts=('virtualbox-archlinux-additions' 'virtualbox-guest-additions' 'virtualbox-guest-utils-nox' 'virtualbox-guest-utils' 'virtualbox-guest-dkms' 'virtualbox-guest-dkms-svn')
source "VirtualBox/env.sh"
pushd "VirtualBox/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions"
install -d "$pkgdir/usr/bin"
install -m0755 VBoxClient VBoxControl VBoxDRMClient VBoxService "$pkgdir/usr/bin"
install -m0755 -D "$srcdir"/VirtualBox/src/VBox/Additions/x11/Installer/98vboxadd-xclient \
"$pkgdir"/usr/bin/VBoxClient-all
install -m0644 -D "$srcdir"/VirtualBox/src/VBox/Additions/x11/Installer/vboxclient.desktop \
"$pkgdir"/etc/xdg/autostart/vboxclient.desktop
install -m0755 -D pam_vbox.so "$pkgdir/usr/lib/security/pam_vbox.so"
popd
# systemd stuff
install -Dm0644 60-vboxguest.rules "$pkgdir/usr/lib/udev/rules.d/60-vboxguest.rules"
install -Dm0644 vboxdrmclient.path "$pkgdir/usr/lib/systemd/system/vboxdrmclient.path"
install -Dm0644 vboxdrmclient.service "$pkgdir/usr/lib/systemd/system/vboxdrmclient.service"
install -Dm0644 vboxservice.service "$pkgdir/usr/lib/systemd/system/vboxservice.service"
install -Dm0644 virtualbox-guest-utils.sysusers "$pkgdir/usr/lib/sysusers.d/virtualbox-guest-utils.conf"
# licence
install -Dm0644 VirtualBox/COPYING "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
install -Dm0644 VirtualBox/COPYING.CDDL "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.CDDL"
}
package_virtualbox-guest-utils-nox-svn() {
pkgdesc='VirtualBox Guest userspace utilities without X support'
depends=('glibc' 'pam' 'VIRTUALBOX-GUEST-MODULES')
replaces=('virtualbox-guest-dkms-svn')
provides=('virtualbox-guest-utils-nox')
conflicts=('virtualbox-guest-utils' 'virtualbox-guest-utils-nox' 'virtualbox-guest-dkms' 'virtualbox-guest-dkms-svn')
source "VirtualBox/env.sh"
pushd "VirtualBox/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions"
install -d "$pkgdir/usr/bin"
install -m0755 VBoxControl VBoxService "$pkgdir/usr/bin"
install -m0755 -D pam_vbox.so "$pkgdir/usr/lib/security/pam_vbox.so"
popd
# systemd stuff
install -Dm0644 60-vboxguest.rules "$pkgdir/usr/lib/udev/rules.d/60-vboxguest.rules"
install -Dm0644 vboxservice-nox.service "$pkgdir/usr/lib/systemd/system/vboxservice.service"
install -Dm0644 virtualbox-guest-utils.sysusers "$pkgdir/usr/lib/sysusers.d/virtualbox-guest-utils.conf"
# licence
install -Dm0644 "$srcdir/VirtualBox/COPYING" \
"$pkgdir/usr/share/licenses/$pkgname/LICENSE"
install -Dm0644 "${srcdir}/VirtualBox/COPYING.CDDL" \
"${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.CDDL"
}
package_virtualbox-ext-vnc-svn() {
pkgdesc='VirtualBox VNC extension pack'
depends=('virtualbox' 'libvncserver')
optdepends=('tigervnc: vnc client')
provides=('virtualbox-ext-vnc')
conflicts=('virtualbox-ext-vnc')
install=virtualbox-ext-vnc.install
source "VirtualBox/env.sh"
cd "VirtualBox/out/linux.$BUILD_PLATFORM_ARCH/release/packages"
install -Dm0644 VNC-*.vbox-extpack "$pkgdir/usr/share/virtualbox/extensions/VNC-svn.vbox-extpack"
# licence
install -Dm0644 "$srcdir/VirtualBox/COPYING" \
"$pkgdir/usr/share/licenses/$pkgname/LICENSE"
install -Dm0644 "${srcdir}/VirtualBox/COPYING.CDDL" \
"${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.CDDL"
}
sha256sums=('SKIP'
'76d98ea062fcad9e5e3fa981d046a6eb12a3e718a296544a68b66f4b65cb56db'
'2101ebb58233bbfadf3aa74381f22f7e7e508559d2b46387114bc2d8e308554c'
'da4c49f6ca94e047e196cdbcba2c321199f4760056ea66e0fbc659353e128c9e'
'9c5238183019f9ebc7d92a8582cad232f471eab9d3278786225abc1a1c7bf66e'
'033c597e0f5285d2ddb0490868e5b6f945f45c7b1b1152a02a9e6fea438b2c95'
'3cf42bc6e9e55fd2cb6be7b89c5b98d0f6a2eff6125a9ee7efafaabc35f1de22'
'c41a801fe344a4471a7b61a4764d1d857c403e4fb96e2ba6bc89c77a35f2be7a'
'01dbb921bd57a852919cc78be5b73580a564f28ebab2fe8d6c9b8301265cbfce'
'83d8f24bff25bb925083cf39b3195236c6136105e62417712cc3f25b92e14b47'
'2beab8de525220fa418c9873f9e0d657ddbad4ff9e4a46d7053e6cd9bc4ce95e'
'e6e875ef186578b53106d7f6af48e426cdaf1b4e86834f01696b8ef1c685787f'
'4001b5927348fe669a541e80526d4f9ea91b883805f102f7d571edbb482a9b9d'
'9ee947c9b5ec5b25f52d3e72340fc3a57ca6e65a604e15b669ac582a3fb0dc1b'
'ccebd3213f1888c8f8c090392b527b8cc61f0d57e58c49a634486bf44b556299'
'053bfeee8863f3ffdf2f0e3f9f0d77dc61dd32764700a97a7635fd8611e20491'
'5c4b237839a52a18b39d996b37de9d2f9d0ee621c162956cf4424122429094d3'
'81900e13d36630488accd8c0bfd2ceb69563fb2c4f0f171caba1cca59d438024'
'00f68b86d32a1fada900c2da8dad2ab4215106cd58004f049bded99727cda2ff'
'b6193d22ee7c1726ea4d468b18640454b8e4f2784479073a0044e45dca4e516d')

3
virtualbox-svn/build.sh Executable file
View File

@ -0,0 +1,3 @@
#!/bin/bash
multilib-build "$@" && extra-i686-build "$@"

View File

@ -0,0 +1,17 @@
#!/bin/bash
# Hopefully this works as intented, supporting both pre-4.16 and newer kernels
# https://bugs.archlinux.org/task/58272#comment168687
kver_major=$(uname -r | cut -d. -f1)
kver_minor=$(uname -r | cut -d. -f2)
if ((kver_major * 100 + kver_minor < 416)); then
exec /usr/lib/virtualbox/mount.vboxsf "$@"
fi
# mount(1) annoyingly prepends the current directory to the source
name=${1#$PWD/}; shift
# Mainline vboxsf accepts regular mount opts
exec /usr/bin/mount -cit vboxsf "$name" "$@"

View File

@ -0,0 +1,6 @@
[Unit]
Description=VirtualBox Guest VMSVGA resize client
ConditionVirtualization=oracle
[Path]
PathExistsGlob=/dev/dri/renderD*

View File

@ -0,0 +1,7 @@
[Unit]
Description=VirtualBox Guest VMSVGA resize client
ConditionVirtualization=oracle
ConditionPathExistsGlob=/dev/dri/renderD*
[Service]
ExecStart=/usr/bin/VBoxDRMClient

37
virtualbox-svn/vboxreload Executable file
View File

@ -0,0 +1,37 @@
#!/bin/bash
# vboxreload: shortcut to reload virtualbox host modules
#
# Copyright © 2016 Sébastien Luttringer
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
(( UID > 0 )) && { echo 'You must be root' >&2; exit 1; }
modules=(vboxnetadp vboxnetflt vboxdrv)
echo -n 'Unloading modules: '
for _m in "${modules[@]}"; do
lsmod|grep -q "$_m" && rmmod "$_m" && echo -n "$_m "
done
echo
echo -n 'Loading modules: '
for _m in "${modules[@]}"; do
modprobe "$_m" && echo -n "$_m "
done
echo
# vim:set ts=2 sw=2 ai et:

View File

@ -0,0 +1,11 @@
[Unit]
Description=VirtualBox Guest Service
ConditionVirtualization=oracle
[Service]
ExecStartPre=-/usr/bin/modprobe vboxguest
ExecStartPre=-/usr/bin/modprobe vboxsf
ExecStart=/usr/bin/VBoxService -f
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,13 @@
[Unit]
Description=VirtualBox Guest Service
ConditionVirtualization=oracle
Wants=vboxdrmclient.path
[Service]
ExecStartPre=-/usr/bin/modprobe vboxguest
ExecStartPre=-/usr/bin/modprobe vboxvideo
ExecStartPre=-/usr/bin/modprobe vboxsf
ExecStart=/usr/bin/VBoxService -f
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,11 @@
[Unit]
Description=VirtualBox Web Service
After=network.target
[Service]
Type=forking
PIDFile=/run/vboxweb.pid
ExecStart=/usr/bin/vboxwebsrv --pidfile /run/vboxweb.pid --background
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,27 @@
#!/bin/bash
# arg 1: the new package version
post_install() {
EXTPACK="/usr/share/virtualbox/extensions/VNC-svn.vbox-extpack"
ACCEPT="$(bsdtar --to-stdout -xf "${EXTPACK}" ./ExtPack-license.txt | sha256sum | head --bytes=64)"
VBoxManage extpack install "${EXTPACK}" --accept-license="${ACCEPT}" >/dev/null
}
# arg 1: the new package version
# arg 2: the old package version
pre_upgrade() {
pre_remove "$2"
}
# arg 1: the new package version
# arg 2: the old package version
post_upgrade() {
post_install "$1"
}
# arg 1: the old package version
pre_remove() {
VBoxManage extpack uninstall 'VNC' >/dev/null
}
# vim:set ts=2 sw=2 ft=sh et:

View File

@ -0,0 +1,12 @@
#!/bin/bash
# arg 1: the new package version
# arg 2: the old package version
post_upgrade() {
if (( $(vercmp $2 5.0.16-3) < 0 )); then
echo '==> Since version 5.0.16-2 kernel modules are loaded at boot by systemd-modules-load.'
echo '==> Read modules-load.d man page to disable them.'
fi
}
# vim:set ts=2 sw=2 ft=sh et:

View File

@ -0,0 +1 @@
g vboxsf 109 -

View File

@ -0,0 +1,31 @@
## @file
# Linux DKMS config script for the VirtualBox guest kernel modules
#
#
# Copyright (C) 2006-2015 Oracle Corporation
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
# you can redistribute it and/or modify it under the terms of the GNU
# General Public License (GPL) as published by the Free Software
# Foundation, in version 2 as it comes in the "COPYING" file of the
# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
#
PACKAGE_NAME="vboxhost"
PACKAGE_VERSION=@VERSION@_OSE
AUTOINSTALL=yes
BUILT_MODULE_NAME[0]="vboxdrv"
BUILT_MODULE_LOCATION[0]="vboxdrv"
DEST_MODULE_LOCATION[0]="/kernel/misc"
BUILT_MODULE_NAME[1]="vboxnetflt"
BUILT_MODULE_LOCATION[1]="vboxnetflt"
DEST_MODULE_LOCATION[1]="/kernel/misc"
BUILT_MODULE_NAME[2]="vboxnetadp"
BUILT_MODULE_LOCATION[2]="vboxnetadp"
DEST_MODULE_LOCATION[2]="/kernel/misc"

View File

@ -0,0 +1,12 @@
#!/bin/bash
# arg 1: the new package version
# arg 2: the old package version
post_upgrade() {
if (( $(vercmp $2 5.0.16-3) < 0 )); then
echo '==> Since version 5.0.16-2 kernel modules are loaded at boot by systemd-modules-load.'
echo '==> Read modules-load.d man page to disable them.'
fi
}
# vim:set ts=2 sw=2 ft=sh et:

View File

@ -0,0 +1,10 @@
PACKAGE_NAME="vboxsf"
PACKAGE_VERSION=@VERSION@_OSE
AUTOINSTALL=yes
# Build only for Linux 4.16 and later (until it gets upstreamed...)
BUILD_EXCLUSIVE_KERNEL="^(4\.(1[6-9]|2[0-9])\..*|5\.[0-5]\..*)"
BUILT_MODULE_NAME[0]="vboxsf"
BUILT_MODULE_LOCATION[0]="vboxsf"
DEST_MODULE_LOCATION[0]="/kernel/misc"

View File

@ -0,0 +1,12 @@
#!/bin/bash
# arg 1: the new package version
# arg 2: the old package version
post_upgrade() {
if (( $(vercmp $2 5.0.16-1) < 0 )); then
echo '==> Since version 5.0.14-2 kernel modules are provided via dkms'
echo '==> Check you have the headers matching your kernel installed'
fi
}
# vim:set ts=2 sw=2 ft=sh et:

View File

@ -0,0 +1 @@
g vboxusers 108 -