Update VirtualBox
This commit is contained in:
parent
065f04c136
commit
634f22fd54
|
@ -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/'
|
||||
|
|
|
@ -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"
|
||||
}
|
|
@ -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
|
|
@ -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()
|
|
@ -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
|
|
@ -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 := \
|
|
@ -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: */
|
|
@ -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
|
|
@ -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
|
||||
|
|
@ -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
|
|
@ -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
|
|
@ -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"
|
|
@ -0,0 +1,2 @@
|
|||
ACTION=="add", KERNEL=="vboxguest", SUBSYSTEM=="misc", OWNER="root", MODE="0600"
|
||||
ACTION=="add", KERNEL=="vboxuser", SUBSYSTEM=="misc", OWNER="root", MODE="0666"
|
|
@ -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 :=
|
|
@ -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')
|
|
@ -0,0 +1,3 @@
|
|||
#!/bin/bash
|
||||
|
||||
multilib-build "$@" && extra-i686-build "$@"
|
|
@ -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" "$@"
|
|
@ -0,0 +1,6 @@
|
|||
[Unit]
|
||||
Description=VirtualBox Guest VMSVGA resize client
|
||||
ConditionVirtualization=oracle
|
||||
|
||||
[Path]
|
||||
PathExistsGlob=/dev/dri/renderD*
|
|
@ -0,0 +1,7 @@
|
|||
[Unit]
|
||||
Description=VirtualBox Guest VMSVGA resize client
|
||||
ConditionVirtualization=oracle
|
||||
ConditionPathExistsGlob=/dev/dri/renderD*
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/VBoxDRMClient
|
|
@ -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:
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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:
|
|
@ -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:
|
|
@ -0,0 +1 @@
|
|||
g vboxsf 109 -
|
|
@ -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"
|
|
@ -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:
|
|
@ -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"
|
|
@ -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:
|
|
@ -0,0 +1 @@
|
|||
g vboxusers 108 -
|
Loading…
Reference in New Issue