Date: Tuesday, February 16, 2021 @ 07:51:34 Author: eworm Revision: 862237
archrelease: copy trunk to community-testing-x86_64 Added: virtualbox/repos/community-testing-x86_64/ virtualbox/repos/community-testing-x86_64/001-disable-update.patch (from rev 862236, virtualbox/trunk/001-disable-update.patch) virtualbox/repos/community-testing-x86_64/005-gsoap-build.patch (from rev 862236, virtualbox/trunk/005-gsoap-build.patch) virtualbox/repos/community-testing-x86_64/006-rdesktop-vrdp-keymap-path.patch (from rev 862236, virtualbox/trunk/006-rdesktop-vrdp-keymap-path.patch) virtualbox/repos/community-testing-x86_64/008-no-vboxvideo.patch (from rev 862236, virtualbox/trunk/008-no-vboxvideo.patch) virtualbox/repos/community-testing-x86_64/012-vbglR3GuestCtrlDetectPeekGetCancelSupport.patch (from rev 862236, virtualbox/trunk/012-vbglR3GuestCtrlDetectPeekGetCancelSupport.patch) virtualbox/repos/community-testing-x86_64/013-Makefile.patch (from rev 862236, virtualbox/trunk/013-Makefile.patch) virtualbox/repos/community-testing-x86_64/016-VBoxServiceAutoMount-Change-Linux-mount-code-to-use-.patch (from rev 862236, virtualbox/trunk/016-VBoxServiceAutoMount-Change-Linux-mount-code-to-use-.patch) virtualbox/repos/community-testing-x86_64/017-fix-narrowing-conversion.patch (from rev 862236, virtualbox/trunk/017-fix-narrowing-conversion.patch) virtualbox/repos/community-testing-x86_64/018-xclient.patch (from rev 862236, virtualbox/trunk/018-xclient.patch) virtualbox/repos/community-testing-x86_64/019-python3.9.patch (from rev 862236, virtualbox/trunk/019-python3.9.patch) virtualbox/repos/community-testing-x86_64/020-linux-5-11.patch (from rev 862236, virtualbox/trunk/020-linux-5-11.patch) virtualbox/repos/community-testing-x86_64/60-vboxdrv.rules (from rev 862236, virtualbox/trunk/60-vboxdrv.rules) virtualbox/repos/community-testing-x86_64/60-vboxguest.rules (from rev 862236, virtualbox/trunk/60-vboxguest.rules) virtualbox/repos/community-testing-x86_64/LocalConfig.kmk (from rev 862236, virtualbox/trunk/LocalConfig.kmk) virtualbox/repos/community-testing-x86_64/PKGBUILD (from rev 862236, virtualbox/trunk/PKGBUILD) virtualbox/repos/community-testing-x86_64/build.sh (from rev 862236, virtualbox/trunk/build.sh) virtualbox/repos/community-testing-x86_64/vboxdrmclient.path (from rev 862236, virtualbox/trunk/vboxdrmclient.path) virtualbox/repos/community-testing-x86_64/vboxdrmclient.service (from rev 862236, virtualbox/trunk/vboxdrmclient.service) virtualbox/repos/community-testing-x86_64/vboxreload (from rev 862236, virtualbox/trunk/vboxreload) virtualbox/repos/community-testing-x86_64/vboxservice-nox.service (from rev 862236, virtualbox/trunk/vboxservice-nox.service) virtualbox/repos/community-testing-x86_64/vboxservice.service (from rev 862236, virtualbox/trunk/vboxservice.service) virtualbox/repos/community-testing-x86_64/vboxweb.service (from rev 862236, virtualbox/trunk/vboxweb.service) virtualbox/repos/community-testing-x86_64/virtualbox-ext-vnc.install (from rev 862236, virtualbox/trunk/virtualbox-ext-vnc.install) virtualbox/repos/community-testing-x86_64/virtualbox-guest-dkms.install (from rev 862236, virtualbox/trunk/virtualbox-guest-dkms.install) virtualbox/repos/community-testing-x86_64/virtualbox-guest-utils.sysusers (from rev 862236, virtualbox/trunk/virtualbox-guest-utils.sysusers) virtualbox/repos/community-testing-x86_64/virtualbox-host-dkms.conf (from rev 862236, virtualbox/trunk/virtualbox-host-dkms.conf) virtualbox/repos/community-testing-x86_64/virtualbox-host-dkms.install (from rev 862236, virtualbox/trunk/virtualbox-host-dkms.install) virtualbox/repos/community-testing-x86_64/virtualbox-vboxsf-dkms.conf (from rev 862236, virtualbox/trunk/virtualbox-vboxsf-dkms.conf) virtualbox/repos/community-testing-x86_64/virtualbox.install (from rev 862236, virtualbox/trunk/virtualbox.install) virtualbox/repos/community-testing-x86_64/virtualbox.sysusers (from rev 862236, virtualbox/trunk/virtualbox.sysusers) ----------------------------------------------------------------+ 001-disable-update.patch | 13 005-gsoap-build.patch | 11 006-rdesktop-vrdp-keymap-path.patch | 12 008-no-vboxvideo.patch | 12 012-vbglR3GuestCtrlDetectPeekGetCancelSupport.patch | 14 013-Makefile.patch | 44 + 016-VBoxServiceAutoMount-Change-Linux-mount-code-to-use-.patch | 189 ++++ 017-fix-narrowing-conversion.patch | 37 018-xclient.patch | 24 019-python3.9.patch | 101 ++ 020-linux-5-11.patch | 12 60-vboxdrv.rules | 8 60-vboxguest.rules | 2 LocalConfig.kmk | 39 PKGBUILD | 394 ++++++++++ build.sh | 3 vboxdrmclient.path | 6 vboxdrmclient.service | 7 vboxreload | 37 vboxservice-nox.service | 11 vboxservice.service | 13 vboxweb.service | 11 virtualbox-ext-vnc.install | 27 virtualbox-guest-dkms.install | 12 virtualbox-guest-utils.sysusers | 1 virtualbox-host-dkms.conf | 31 virtualbox-host-dkms.install | 12 virtualbox-vboxsf-dkms.conf | 10 virtualbox.install | 12 virtualbox.sysusers | 1 30 files changed, 1106 insertions(+) Copied: virtualbox/repos/community-testing-x86_64/001-disable-update.patch (from rev 862236, virtualbox/trunk/001-disable-update.patch) =================================================================== --- community-testing-x86_64/001-disable-update.patch (rev 0) +++ community-testing-x86_64/001-disable-update.patch 2021-02-16 07:51:34 UTC (rev 862237) @@ -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() Copied: virtualbox/repos/community-testing-x86_64/005-gsoap-build.patch (from rev 862236, virtualbox/trunk/005-gsoap-build.patch) =================================================================== --- community-testing-x86_64/005-gsoap-build.patch (rev 0) +++ community-testing-x86_64/005-gsoap-build.patch 2021-02-16 07:51:34 UTC (rev 862237) @@ -0,0 +1,11 @@ +--- a/src/VBox/Main/webservice/Makefile.kmk 2013-11-21 19:00:46.812761628 +0100 ++++ b/src/VBox/Main/webservice/Makefile.kmk 2016-08-18 15:16:05.803599026 +0100 +@@ -724,7 +724,7 @@ $(VBOXWEB_OUT_DIR)/gsoap_generate_all_ts \ + $(RECOMPILE_ON_MAKEFILE_CURRENT) | $$(dir $$@) + $(call MSG_GENERATE,,lots of files,$(GSOAPH_RELEVANT)) + $(RM) -f $@ +- $(REDIRECT) -C $(VBOXWEB_OUT_DIR) -- $(VBOX_SOAPCPP2) $(VBOXWEB_SOAPCPP2_SKIP_FILES) -L -2 -w -I$(VBOX_PATH_GSOAP_IMPORT) $(GSOAPH_RELEVANT) ++ $(REDIRECT) -C $(VBOXWEB_OUT_DIR) -- $(VBOX_SOAPCPP2) $(VBOXWEB_SOAPCPP2_SKIP_FILES) -z1 -L -2 -w -I$(VBOX_PATH_GSOAP_IMPORT) $(GSOAPH_RELEVANT) + ifeq ($(KBUILD_TARGET),win) # MSC -Wall workaround. + $(CP) -f "$(VBOXWEB_SOAP_CLIENT_H)" "$(VBOXWEB_SOAP_CLIENT_H).tmp" + $(SED) -f $(VBOX_PATH_WEBSERVICE)/stdsoap2.sed --output "$(VBOXWEB_SOAP_CLIENT_H)" "$(VBOXWEB_SOAP_CLIENT_H).tmp" Copied: virtualbox/repos/community-testing-x86_64/006-rdesktop-vrdp-keymap-path.patch (from rev 862236, virtualbox/trunk/006-rdesktop-vrdp-keymap-path.patch) =================================================================== --- community-testing-x86_64/006-rdesktop-vrdp-keymap-path.patch (rev 0) +++ community-testing-x86_64/006-rdesktop-vrdp-keymap-path.patch 2021-02-16 07:51:34 UTC (rev 862237) @@ -0,0 +1,12 @@ +# 2015 © Sébastien Luttringer +--- a/src/VBox/RDP/client-1.8.4/Makefile.kmk ++++ b/src/VBox/RDP/client-1.8.4/Makefile.kmk +@@ -41,7 +41,7 @@ + EGD_SOCKET=\"/var/run/egd-pool\" WITH_RDPSND=1 HAVE_DIRENT_H=1 \ + HAVE_ICONV=1 HAVE_SYS_STATVFS_H=1 \ + HAVE_SYS_PARAM_H=1 HAVE_SYS_MOUNT_H=1 HAVE_STRUCT_STATVFS_F_NAMEMAX=1 \ +- KEYMAP_PATH=$(if $(findstring RTPATH_APP_PRIVATE,$(CDEFS)),RTPATH_APP_PRIVATE,\"/opt/VirtualBox\")\"/rdesktop-vrdp-keymaps\" \ ++ KEYMAP_PATH=$(if $(findstring RTPATH_APP_PRIVATE,$(CDEFS)),RTPATH_APP_PRIVATE,\"/usr/share/virtualbox\")\"/rdesktop-vrdp-keymaps\" \ + RDESKTOP=1 + ifdef WITH_BIRD_VD_HACKS + rdesktop-vrdp_DEFS += WITH_BIRD_VD_HACKS Copied: virtualbox/repos/community-testing-x86_64/008-no-vboxvideo.patch (from rev 862236, virtualbox/trunk/008-no-vboxvideo.patch) =================================================================== --- community-testing-x86_64/008-no-vboxvideo.patch (rev 0) +++ community-testing-x86_64/008-no-vboxvideo.patch 2021-02-16 07:51:34 UTC (rev 862237) @@ -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 := \ Copied: virtualbox/repos/community-testing-x86_64/012-vbglR3GuestCtrlDetectPeekGetCancelSupport.patch (from rev 862236, virtualbox/trunk/012-vbglR3GuestCtrlDetectPeekGetCancelSupport.patch) =================================================================== --- community-testing-x86_64/012-vbglR3GuestCtrlDetectPeekGetCancelSupport.patch (rev 0) +++ community-testing-x86_64/012-vbglR3GuestCtrlDetectPeekGetCancelSupport.patch 2021-02-16 07:51:34 UTC (rev 862237) @@ -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 Copied: virtualbox/repos/community-testing-x86_64/013-Makefile.patch (from rev 862236, virtualbox/trunk/013-Makefile.patch) =================================================================== --- community-testing-x86_64/013-Makefile.patch (rev 0) +++ community-testing-x86_64/013-Makefile.patch 2021-02-16 07:51:34 UTC (rev 862237) @@ -0,0 +1,44 @@ +diff --git a/src/VBox/HostDrivers/linux/Makefile b/src/VBox/HostDrivers/linux/Makefile +index 18466b48..7c7de4e5 100644 +--- a/src/VBox/HostDrivers/linux/Makefile ++++ b/src/VBox/HostDrivers/linux/Makefile +@@ -23,25 +23,25 @@ + # terms and conditions of either the GPL or the CDDL or both. + # + +-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 + + KBUILD_VERBOSE ?= + KERN_VER ?= $(shell uname -r) +@@ -146,4 +146,4 @@ load: unload + fi; \ + done + +-endif # ! KERNELRELEASE ++endif # ! KBUILD_EXTMOD Copied: virtualbox/repos/community-testing-x86_64/016-VBoxServiceAutoMount-Change-Linux-mount-code-to-use-.patch (from rev 862236, virtualbox/trunk/016-VBoxServiceAutoMount-Change-Linux-mount-code-to-use-.patch) =================================================================== --- community-testing-x86_64/016-VBoxServiceAutoMount-Change-Linux-mount-code-to-use-.patch (rev 0) +++ community-testing-x86_64/016-VBoxServiceAutoMount-Change-Linux-mount-code-to-use-.patch 2021-02-16 07:51:34 UTC (rev 862237) @@ -0,0 +1,189 @@ +From 369dd2ee3c82c4417fee04aeec933c74fd198e78 Mon Sep 17 00:00:00 2001 +From: Hans de Goede <hdego...@redhat.com> +Date: Tue, 23 Jan 2018 15:09:20 +0100 +Subject: [PATCH resend] VBoxServiceAutoMount: Change Linux mount code to use + an options string + +Signed-off-by: Hans de Goede <hdego...@redhat.com> +--- + .../common/VBoxService/VBoxServiceAutoMount.cpp | 62 +++------------------- + 1 file changed, 8 insertions(+), 54 deletions(-) + +diff --git a/src/VBox/Additions/common/VBoxService/VBoxServiceAutoMount.cpp b/src/VBox/Additions/common/VBoxService/VBoxServiceAutoMount.cpp +--- ./src/VBox/Additions/common/VBoxService/VBoxServiceAutoMount.cpp.orig 2019-04-16 11:09:11.000000000 +0100 ++++ ./src/VBox/Additions/common/VBoxService/VBoxServiceAutoMount.cpp 2019-04-26 17:10:47.178485356 +0100 +@@ -40,6 +40,7 @@ + #include <iprt/ctype.h> + #include <iprt/dir.h> + #include <iprt/mem.h> ++#include <iprt/param.h> + #include <iprt/path.h> + #include <iprt/semaphore.h> + #include <iprt/sort.h> +@@ -114,6 +115,9 @@ RT_C_DECLS_END + # define VBOXSERVICE_AUTOMOUNT_MIQF SHFL_MIQF_PATH + #endif + ++#ifndef MAX_MNTOPT_STR ++#define MAX_MNTOPT_STR PAGE_SIZE ++#endif + + /********************************************************************************************************************************* + * Structures and Typedefs * +@@ -400,13 +399,13 @@ static int vbsvcAutoMountSharedFolderOld + int rc = vbsvcAutoMountPrepareMountPointOld(pszMountPoint, pszShareName, &Opts); + if (RT_SUCCESS(rc)) + { ++ char szOptBuf[MAX_MNTOPT_STR] = { '\0', }; ++ RTStrPrintf(szOptBuf, sizeof(szOptBuf), "uid=%d,gid=%d,dmode=%0o,fmode=%0o,dmask=%0o,fmask=%0o", ++ Opts.uid, Opts.gid, Opts.dmode, Opts.fmode, Opts.dmask, Opts.fmask); + # ifdef RT_OS_SOLARIS + int fFlags = 0; + if (Opts.ronly) + fFlags |= MS_RDONLY; +- char szOptBuf[MAX_MNTOPT_STR] = { '\0', }; +- RTStrPrintf(szOptBuf, sizeof(szOptBuf), "uid=%d,gid=%d,dmode=%0o,fmode=%0o,dmask=%0o,fmask=%0o", +- Opts.uid, Opts.gid, Opts.dmode, Opts.fmode, Opts.dmask, Opts.fmask); + int r = mount(pszShareName, + pszMountPoint, + fFlags | MS_OPTIONSTR, +@@ -423,35 +422,11 @@ static int vbsvcAutoMountSharedFolderOld + + # else /* RT_OS_LINUX */ + unsigned long fFlags = MS_NODEV; +- +- /*const char *szOptions = { "rw" }; - ??? */ +- struct vbsf_mount_info_new mntinf; +- RT_ZERO(mntinf); +- +- mntinf.nullchar = '\0'; +- mntinf.signature[0] = VBSF_MOUNT_SIGNATURE_BYTE_0; +- mntinf.signature[1] = VBSF_MOUNT_SIGNATURE_BYTE_1; +- mntinf.signature[2] = VBSF_MOUNT_SIGNATURE_BYTE_2; +- mntinf.length = sizeof(mntinf); +- +- mntinf.uid = Opts.uid; +- mntinf.gid = Opts.gid; +- mntinf.ttl = Opts.ttl; +- mntinf.dmode = Opts.dmode; +- mntinf.fmode = Opts.fmode; +- mntinf.dmask = Opts.dmask; +- mntinf.fmask = Opts.fmask; +- mntinf.cMaxIoPages = Opts.cMaxIoPages; +- mntinf.szTag[0] = '\0'; +- +- strcpy(mntinf.name, pszShareName); +- strcpy(mntinf.nls_name, "\0"); +- + int r = mount(pszShareName, + pszMountPoint, + "vboxsf", + fFlags, +- &mntinf); ++ szOptBuf); + if (r == 0) + { + VGSvcVerbose(0, "vbsvcAutoMountWorker: Shared folder '%s' was mounted to '%s'\n", pszShareName, pszMountPoint); +@@ -484,34 +459,6 @@ static int vbsvcAutoMountSharedFolderOld + } + else /* r == -1, we got some error in errno. */ + { +- if (errno == EPROTO) +- { +- VGSvcVerbose(3, "vbsvcAutoMountWorker: Messed up share name, re-trying ...\n"); +- +- /** @todo r=bird: What on earth is going on here????? Why can't you +- * strcpy(mntinf.name, pszShareName) to fix it again? */ +- +- /* Sometimes the mount utility messes up the share name. Try to +- * un-mangle it again. */ +- char szCWD[RTPATH_MAX]; +- size_t cchCWD; +- if (!getcwd(szCWD, sizeof(szCWD))) +- { +- VGSvcError("vbsvcAutoMountWorker: Failed to get the current working directory\n"); +- szCWD[0] = '\0'; +- } +- cchCWD = strlen(szCWD); +- if (!strncmp(pszMountPoint, szCWD, cchCWD)) +- { +- while (pszMountPoint[cchCWD] == '/') +- ++cchCWD; +- /* We checked before that we have enough space */ +- strcpy(mntinf.name, pszMountPoint + cchCWD); +- } +- r = mount(mntinf.name, pszMountPoint, "vboxsf", fFlags, &mntinf); +- } +- if (r == -1) /* Was there some error from one of the tries above? */ +- { + switch (errno) + { + /* If we get EINVAL here, the system already has mounted the Shared Folder to another +@@ -530,7 +477,6 @@ static int vbsvcAutoMountSharedFolderOld + rc = RTErrConvertFromErrno(errno); + break; + } +- } + } + # endif + } +@@ -1464,51 +1410,21 @@ static int vbsvcAutomounterMountIt(PVBSV + } + + # if defined(RT_OS_LINUX) +- /* +- * Linux a bit more work... +- */ +- struct vbsf_mount_info_new MntInfo; +- RT_ZERO(MntInfo); +- struct vbsf_mount_opts MntOpts; +- RT_ZERO(MntOpts); +- MntInfo.nullchar = '\0'; +- MntInfo.signature[0] = VBSF_MOUNT_SIGNATURE_BYTE_0; +- MntInfo.signature[1] = VBSF_MOUNT_SIGNATURE_BYTE_1; +- MntInfo.signature[2] = VBSF_MOUNT_SIGNATURE_BYTE_2; +- MntInfo.length = sizeof(MntInfo); +- MntInfo.ttl = MntOpts.ttl = -1 /*default*/; +- MntInfo.msDirCacheTTL= MntOpts.msDirCacheTTL = -1 /*default*/; +- MntInfo.msInodeTTL = MntOpts.msInodeTTL = -1 /*default*/; +- MntInfo.cMaxIoPages = MntOpts.cMaxIoPages = 0 /*default*/; +- MntInfo.cbDirBuf = MntOpts.cbDirBuf = 0 /*default*/; +- MntInfo.enmCacheMode = MntOpts.enmCacheMode = kVbsfCacheMode_Default; +- MntInfo.uid = MntOpts.uid = 0; +- MntInfo.gid = MntOpts.gid = gidMount; +- MntInfo.dmode = MntOpts.dmode = 0770; +- MntInfo.fmode = MntOpts.fmode = 0770; +- MntInfo.dmask = MntOpts.dmask = 0000; +- MntInfo.fmask = MntOpts.fmask = 0000; +- memcpy(MntInfo.szTag, g_szTag, sizeof(g_szTag)); AssertCompile(sizeof(MntInfo.szTag) >= sizeof(g_szTag)); +- rc = RTStrCopy(MntInfo.name, sizeof(MntInfo.name), pEntry->pszName); +- if (RT_FAILURE(rc)) ++ unsigned long fFlags = MS_NODEV; ++ char szOpts[MAX_MNTOPT_STR] = { '\0', }; ++ ssize_t cchOpts = RTStrPrintf2(szOpts, sizeof(szOpts), ++ "uid=0,gid=%d,dmode=0770,fmode=0770,dmask=0000,fmask=0000", gidMount); ++ if (cchOpts <= 0) + { +- VGSvcError("vbsvcAutomounterMountIt: Share name '%s' is too long for the MntInfo.name field!\n", pEntry->pszName); +- return rc; ++ VGSvcError("vbsvcAutomounterMountIt: szOpts overflow! %zd\n", cchOpts); ++ return VERR_BUFFER_OVERFLOW; + } + +- errno = 0; +- unsigned long fFlags = MS_NODEV; +- rc = mount(pEntry->pszName, pEntry->pszActualMountPoint, "vboxsf", fFlags, &MntInfo); ++ rc = mount(pEntry->pszName, pEntry->pszActualMountPoint, "vboxsf", fFlags, szOpts); + if (rc == 0) + { + VGSvcVerbose(0, "vbsvcAutomounterMountIt: Successfully mounted '%s' on '%s'\n", + pEntry->pszName, pEntry->pszActualMountPoint); +- +- errno = 0; +- rc = vbsfmount_complete(pEntry->pszName, pEntry->pszActualMountPoint, fFlags, &MntOpts); +- if (rc != 0) /* Ignorable. /etc/mtab is probably a link to /proc/mounts. */ +- VGSvcVerbose(1, "vbsvcAutomounterMountIt: vbsfmount_complete failed: %s (%d/%d)\n", +- rc == 1 ? "open_memstream" : rc == 2 ? "setmntent" : rc == 3 ? "addmntent" : "unknown", rc, errno); + return VINF_SUCCESS; + } + else if (errno == EINVAL) Copied: virtualbox/repos/community-testing-x86_64/017-fix-narrowing-conversion.patch (from rev 862236, virtualbox/trunk/017-fix-narrowing-conversion.patch) =================================================================== --- community-testing-x86_64/017-fix-narrowing-conversion.patch (rev 0) +++ community-testing-x86_64/017-fix-narrowing-conversion.patch 2021-02-16 07:51:34 UTC (rev 862237) @@ -0,0 +1,37 @@ +From ee6ae088673d14c407d4773855dbda821024653c Mon Sep 17 00:00:00 2001 +From: Christian Hesse <m...@eworm.de> +Date: Sun, 17 May 2020 00:40:18 +0200 +Subject: [PATCH 1/1] fix narrowing conversion +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Building fails with: + +/build/virtualbox/src/VirtualBox-6.1.8/src/VBox/Debugger/DBGCDumpImage.cpp: In function ‘const char* dbgcMachoCpuType(uint32_t, uint32_t)’: +/build/virtualbox/src/VirtualBox-6.1.8/include/iprt/formats/mach-o.h:41:46: error: narrowing conversion of ‘-1’ from ‘int’ to ‘unsigned int’ [-Wnarrowing] + 41 | #define CPU_TYPE_ANY INT32_C(-1) + | ^ +/build/virtualbox/src/VirtualBox-6.1.8/src/VBox/Debugger/DBGCDumpImage.cpp:471:14: note: in expansion of macro ‘CPU_TYPE_ANY’ + 471 | case CPU_TYPE_ANY: return "CPU_TYPE_ANY"; + | ^~~~~~~~~~~~ + +As uType is unsigned it can never match CPU_TYPE_ANY, which is -1. + +Signed-off-by: Christian Hesse <m...@eworm.de> +--- + src/VBox/Debugger/DBGCDumpImage.cpp | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/src/VBox/Debugger/DBGCDumpImage.cpp b/src/VBox/Debugger/DBGCDumpImage.cpp +index 02ba3158..d906c37c 100644 +--- a/src/VBox/Debugger/DBGCDumpImage.cpp ++++ b/src/VBox/Debugger/DBGCDumpImage.cpp +@@ -468,7 +468,6 @@ static const char *dbgcMachoCpuType(uint32_t uType, uint32_t uSubType) + { + switch (uType) + { +- case CPU_TYPE_ANY: return "CPU_TYPE_ANY"; + case CPU_TYPE_VAX: return "VAX"; + case CPU_TYPE_MC680x0: return "MC680x0"; + case CPU_TYPE_X86: return "X86"; Copied: virtualbox/repos/community-testing-x86_64/018-xclient.patch (from rev 862236, virtualbox/trunk/018-xclient.patch) =================================================================== --- community-testing-x86_64/018-xclient.patch (rev 0) +++ community-testing-x86_64/018-xclient.patch 2021-02-16 07:51:34 UTC (rev 862237) @@ -0,0 +1,24 @@ +--- a/src/VBox/Additions/x11/Installer/98vboxadd-xclient ++++ b/src/VBox/Additions/x11/Installer/98vboxadd-xclient +@@ -21,18 +21,11 @@ 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 + /usr/bin/VBoxClient --clipboard + /usr/bin/VBoxClient --checkhostversion + /usr/bin/VBoxClient --seamless + /usr/bin/VBoxClient --draganddrop +- /usr/bin/VBoxClient --vmsvga # In case VMSVGA emulation is enabled + fi Copied: virtualbox/repos/community-testing-x86_64/019-python3.9.patch (from rev 862236, virtualbox/trunk/019-python3.9.patch) =================================================================== --- community-testing-x86_64/019-python3.9.patch (rev 0) +++ community-testing-x86_64/019-python3.9.patch 2021-02-16 07:51:34 UTC (rev 862237) @@ -0,0 +1,101 @@ +--- ./src/libs/xpcom18a4/python/gen_python_deps.py.orig 2020-06-01 05:15:00.905907651 +0100 ++++ ./src/libs/xpcom18a4/python/gen_python_deps.py 2020-06-01 05:15:48.161226499 +0100 +@@ -16,7 +16,7 @@ from __future__ import print_function + import os,sys + from distutils.version import StrictVersion + +-versions = ["2.6", "2.7", "3.1", "3.2", "3.2m", "3.3", "3.3m", "3.4", "3.4m", "3.5", "3.5m", "3.6", "3.6m", "3.7", "3.7m", "3.8", "3.8m" ] ++versions = ["2.6", "2.7", "3.1", "3.2", "3.2m", "3.3", "3.3m", "3.4", "3.4m", "3.5", "3.5m", "3.6", "3.6m", "3.7", "3.7m", "3.8", "3.8m", "3.9", "3.9m" ] + prefixes = ["/usr", "/usr/local", "/opt", "/opt/local"] + known = {} + +--- ./configure.orig 2020-06-01 01:15:53.880747364 +0100 ++++ ./configure 2020-06-01 01:17:42.231478707 +0100 +@@ -1992,7 +1992,7 @@ extern "C" int main(void) + } + EOF + found= +- SUPPYTHONLIBS="python2.7 python2.6 python3.1 python3.2 python3.3 python3.4 python3.4m python3.5 python3.5m python3.6 python3.6m python3.7 python3.7m python3.8 python3.8m" ++ SUPPYTHONLIBS="python2.7 python2.6 python3.1 python3.2 python3.3 python3.4 python3.4m python3.5 python3.5m python3.6 python3.6m python3.7 python3.7m python3.8 python3.8m python3.9 python3.9m" + for p in $PYTHONDIR; do + for d in $SUPPYTHONLIBS; do + for b in lib/x86_64-linux-gnu lib/i386-linux-gnu lib64 lib/64 lib; do +--- ./src/libs/xpcom18a4/python/Makefile.kmk.orig 2020-06-01 05:16:07.610357728 +0100 ++++ ./src/libs/xpcom18a4/python/Makefile.kmk 2020-06-01 05:22:44.735037239 +0100 +@@ -26,7 +26,7 @@ endif + + # + # List of supported Python versions, defining a number of +-# VBOX_PYTHON[26|27|31|32|32M|33|33M|34|34M|35|35M|36|36M|37|37M|38|38M|DEF]_[INC|LIB] variables ++# VBOX_PYTHON[26|27|31|32|32M|33|33M|34|34M|35|35M|36|36M|37|37M|38|38M|39|39M|DEF]_[INC|LIB] variables + # which get picked up below. + # + ifeq ($(KBUILD_TARGET),darwin) # Relatively predictable, don't script. +@@ -532,6 +532,52 @@ VBoxPython3_8m_x86_LIBS = $(VBOX_P + endif + endif + endif ++ ++ifdef VBOX_PYTHON39_INC ++# ++# Python 3.9 version ++# ++DLLS += VBoxPython3_9 ++VBoxPython3_9_EXTENDS = VBoxPythonBase ++VBoxPython3_9_EXTENDS_BY = appending ++VBoxPython3_9_TEMPLATE = XPCOM ++VBoxPython3_9_INCS = $(VBOX_PYTHON39_INC) ++VBoxPython3_9_LIBS = $(VBOX_PYTHON39_LIB) ++ ++ ifdef VBOX_WITH_32_ON_64_MAIN_API ++ ifdef VBOX_PYTHON39_LIB_X86 ++DLLS += VBoxPython3_9_x86 ++VBoxPython3_9_x86_EXTENDS = VBoxPythonBase_x86 ++VBoxPython3_9_x86_EXTENDS_BY = appending ++VBoxPython3_9_x86_TEMPLATE = XPCOM ++VBoxPython3_9_x86_INCS = $(VBOX_PYTHON39_INC) ++VBoxPython3_9_x86_LIBS = $(VBOX_PYTHON39_LIB_X86) ++ endif ++ endif ++endif ++ ++ifdef VBOX_PYTHON39M_INC ++# ++# Python 3.9 version with pymalloc ++# ++DLLS += VBoxPython3_9m ++VBoxPython3_9m_EXTENDS = VBoxPythonBase_m ++VBoxPython3_9m_EXTENDS_BY = appending ++VBoxPython3_9m_TEMPLATE = XPCOM ++VBoxPython3_9m_INCS = $(VBOX_PYTHON39M_INC) ++VBoxPython3_9m_LIBS = $(VBOX_PYTHON39M_LIB) ++ ++ ifdef VBOX_WITH_32_ON_64_MAIN_API ++ ifdef VBOX_PYTHON39M_LIB_X86 ++DLLS += VBoxPython3_9m_x86 ++VBoxPython3_9m_x86_EXTENDS = VBoxPythonBase_x86_m ++VBoxPython3_9m_x86_EXTENDS_BY = appending ++VBoxPython3_9m_x86_TEMPLATE_ = XPCOM ++VBoxPython3_9m_x86_INCS = $(VBOX_PYTHON39M_INC) ++VBoxPython3_9m_x86_LIBS = $(VBOX_PYTHON39M_LIB_X86) ++ endif ++ endif ++endif + + ifdef VBOX_PYTHONDEF_INC + # +--- ./src/libs/xpcom18a4/python/src/module/_xpcom.cpp.orig 2020-06-01 06:01:12.923522302 +0100 ++++ ./src/libs/xpcom18a4/python/src/module/_xpcom.cpp 2020-06-01 06:02:25.704013030 +0100 +@@ -84,7 +84,11 @@ extern PYXPCOM_EXPORT void PyXPCOM_Inter + # define MANGLE_MODULE_INIT(a_Name) RT_CONCAT(a_Name, MODULE_NAME_SUFFIX) + # endif + # ifdef VBOX_PYXPCOM_VERSIONED +-# if PY_VERSION_HEX >= 0x03080000 && PY_VERSION_HEX < 0x03090000 ++# if PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x03100000 ++# define MODULE_NAME MANGLE_MODULE_NAME("VBoxPython3_9") ++# define initVBoxPython MANGLE_MODULE_INIT(PyInit_VBoxPython3_9) ++ ++# elif PY_VERSION_HEX >= 0x03080000 && PY_VERSION_HEX < 0x03090000 + # define MODULE_NAME MANGLE_MODULE_NAME("VBoxPython3_8") + # define initVBoxPython MANGLE_MODULE_INIT(PyInit_VBoxPython3_8) + Copied: virtualbox/repos/community-testing-x86_64/020-linux-5-11.patch (from rev 862236, virtualbox/trunk/020-linux-5-11.patch) =================================================================== --- community-testing-x86_64/020-linux-5-11.patch (rev 0) +++ community-testing-x86_64/020-linux-5-11.patch 2021-02-16 07:51:34 UTC (rev 862237) @@ -0,0 +1,12 @@ +diff --git a/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c b/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c +index 7033b45..c8178a6 100644 +--- a/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c ++++ b/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c +@@ -39,6 +39,7 @@ + #endif + #include <linux/netdevice.h> + #include <linux/etherdevice.h> ++#include <linux/ethtool.h> + #include <linux/rtnetlink.h> + #include <linux/miscdevice.h> + #include <linux/inetdevice.h> Copied: virtualbox/repos/community-testing-x86_64/60-vboxdrv.rules (from rev 862236, virtualbox/trunk/60-vboxdrv.rules) =================================================================== --- community-testing-x86_64/60-vboxdrv.rules (rev 0) +++ community-testing-x86_64/60-vboxdrv.rules 2021-02-16 07:51:34 UTC (rev 862237) @@ -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" Copied: virtualbox/repos/community-testing-x86_64/60-vboxguest.rules (from rev 862236, virtualbox/trunk/60-vboxguest.rules) =================================================================== --- community-testing-x86_64/60-vboxguest.rules (rev 0) +++ community-testing-x86_64/60-vboxguest.rules 2021-02-16 07:51:34 UTC (rev 862237) @@ -0,0 +1,2 @@ +ACTION=="add", KERNEL=="vboxguest", SUBSYSTEM=="misc", OWNER="root", MODE="0600" +ACTION=="add", KERNEL=="vboxuser", SUBSYSTEM=="misc", OWNER="root", MODE="0666" Copied: virtualbox/repos/community-testing-x86_64/LocalConfig.kmk (from rev 862236, virtualbox/trunk/LocalConfig.kmk) =================================================================== --- community-testing-x86_64/LocalConfig.kmk (rev 0) +++ community-testing-x86_64/LocalConfig.kmk 2021-02-16 07:51:34 UTC (rev 862237) @@ -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-7-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 := Copied: virtualbox/repos/community-testing-x86_64/PKGBUILD (from rev 862236, virtualbox/trunk/PKGBUILD) =================================================================== --- community-testing-x86_64/PKGBUILD (rev 0) +++ community-testing-x86_64/PKGBUILD 2021-02-16 07:51:34 UTC (rev 862237) @@ -0,0 +1,394 @@ +# Maintainer: Sébastien "Seblu" Luttringer +# Contributor: Ionut Biru <ib...@archlinux.org> + +pkgbase=virtualbox +pkgname=('virtualbox' + 'virtualbox-host-dkms' + 'virtualbox-guest-dkms' + 'virtualbox-sdk' + 'virtualbox-guest-utils' + 'virtualbox-guest-utils-nox' + 'virtualbox-ext-vnc') +pkgver=6.1.18 +_tarver=${pkgver} +pkgrel=2 +_vboxsf_commit='5aba938bcabd978e4615186ad7d8617d633e6f30' +arch=('x86_64') +url='https://virtualbox.org/' +license=('GPL' 'custom') +makedepends=('alsa-lib' + 'bin86' + 'cdrkit' + 'curl' + 'dev86' + 'device-mapper' + 'git' + 'glu' + 'gsoap' + 'iasl' + 'jdk7-openjdk' + 'libidl2' + 'libpulse' + 'libstdc++5' + 'libvncserver' + 'libvpx' + 'libxcomposite' + 'libxcursor' + 'libxinerama' + 'libxml2' + 'libxmu' + 'libxrandr' + 'libxslt' + 'libxtst' + 'linux-headers' + 'mesa' + 'opus' + 'python' + 'qt5-base' + 'qt5-x11extras' + 'qt5-tools' + 'sdl' + 'sdl_ttf' + 'vde2' + 'xalan-c' + 'xorgproto' + 'xorg-server-devel') +source=("https://download.virtualbox.org/virtualbox/${pkgver}/VirtualBox-${_tarver}.tar.bz2" + # We need to build a modified version of vboxsf for Linux 4.16 + # https://bugzilla.redhat.com/show_bug.cgi?id=1481630#c65 + "git+https://github.com/jwrdegoede/vboxsf#commit=$_vboxsf_commit" + 'virtualbox-host-dkms.conf' + 'virtualbox-vboxsf-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' + '005-gsoap-build.patch' + '006-rdesktop-vrdp-keymap-path.patch' + '008-no-vboxvideo.patch' + '012-vbglR3GuestCtrlDetectPeekGetCancelSupport.patch' + '013-Makefile.patch' + '016-VBoxServiceAutoMount-Change-Linux-mount-code-to-use-.patch' + '017-fix-narrowing-conversion.patch' + '018-xclient.patch' + '019-python3.9.patch' + '020-linux-5-11.patch') +sha256sums=('108d42b9b391b7a332a33df1662cf7b0e9d9a80f3079d16288d8b9487f427d40' + 'SKIP' + '76d98ea062fcad9e5e3fa981d046a6eb12a3e718a296544a68b66f4b65cb56db' + 'c1ccfaa3a37d6b227cd65de944df2d68cbf178a857b6ab15c04b8fa05693f252' + '2101ebb58233bbfadf3aa74381f22f7e7e508559d2b46387114bc2d8e308554c' + 'da4c49f6ca94e047e196cdbcba2c321199f4760056ea66e0fbc659353e128c9e' + '9c5238183019f9ebc7d92a8582cad232f471eab9d3278786225abc1a1c7bf66e' + '033c597e0f5285d2ddb0490868e5b6f945f45c7b1b1152a02a9e6fea438b2c95' + '240ddf9c532b34380dd9bdd56c6302f323ded9ca95ccf5c50b6e44a5cb533cc9' + 'c41a801fe344a4471a7b61a4764d1d857c403e4fb96e2ba6bc89c77a35f2be7a' + '01dbb921bd57a852919cc78be5b73580a564f28ebab2fe8d6c9b8301265cbfce' + '83d8f24bff25bb925083cf39b3195236c6136105e62417712cc3f25b92e14b47' + '2beab8de525220fa418c9873f9e0d657ddbad4ff9e4a46d7053e6cd9bc4ce95e' + 'e6e875ef186578b53106d7f6af48e426cdaf1b4e86834f01696b8ef1c685787f' + '4001b5927348fe669a541e80526d4f9ea91b883805f102f7d571edbb482a9b9d' + '9ee947c9b5ec5b25f52d3e72340fc3a57ca6e65a604e15b669ac582a3fb0dc1b' + '7d2da8fe10a90f76bbfc80ad1f55df4414f118cd10e10abfb76070326abebd46' + '13c6ca9be0f91582445fd2a14a8c58a0625a15d9cb98cb6e8c2736d77ea976ab' + '053bfeee8863f3ffdf2f0e3f9f0d77dc61dd32764700a97a7635fd8611e20491' + '81900e13d36630488accd8c0bfd2ceb69563fb2c4f0f171caba1cca59d438024' + 'da7e58ed37dc23c6202aab3017864579a99e78417f3421ddcc98a198198fe2c9' + '100c9e14e9cfb12ae65364e830153d2481cf272ceeb39d11c6b203bc6e35bf0c' + '5aac692909a0a0ec56b08bdece9e42cf7463abdca9da2f990d441ff463be6a99' + 'cac5a573e9ed5aafb2f469c2e6fffb8cd4f389bbadba5a968c9f65be7a72fee3' + '039c7b520ae589bc52dc6c0e658f7ec28ca8defb12ccbc32ad9834361d23162c' + 'a8fb9e4d0bb662a60953c17df79f60f225aaebf192bbd2319aa2b5d7a8a28bbc') + +prepare() { + cd "VirtualBox-$pkgver" + + # 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 + + echo 'Applying local config' + cp "$srcdir/LocalConfig.kmk" . + + echo 'Use our CFLAGS' + echo "VBOX_GCC_OPT=$CXXFLAGS" >> LocalConfig.kmk +} + +build() { + cd "VirtualBox-$pkgver" + + 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 rdesktop-vrdp' + kmk -C src/VBox/RDP/client-1.8.4 + + echo 'Build VNC extension pack' + kmk -C src/VBox/ExtPacks/VNC packing + + echo 'Build vboximg-mount' + kmk -C src/VBox/ImageMounter/vboximg-mount +} + +package_virtualbox() { + pkgdesc='Powerful x86 virtualization for enterprise as well as home use' + depends=('glibc' 'openssl' 'curl' 'gcc-libs' 'libpng' 'python' 'sdl' + 'libvpx' 'libxml2' 'procps-ng' 'shared-mime-info' 'zlib' + 'libxcursor' 'libxinerama' 'libx11' 'libxext' 'libxmu' 'libxt' + 'opus' 'qt5-base' 'qt5-x11extras' 'VIRTUALBOX-HOST-MODULES') + optdepends=('vde2: Virtual Distributed Ethernet support' + 'virtualbox-guest-iso: Guest Additions CD image' + 'virtualbox-ext-vnc: VNC server support' + 'virtualbox-sdk: Developer kit') + backup=('etc/vbox/vbox.cfg') + replaces=('virtualbox-ose') + conflicts=('virtualbox-ose') + install=virtualbox.install + + source "VirtualBox-$pkgver/env.sh" + cd "VirtualBox-$pkgver/out/linux.$BUILD_PLATFORM_ARCH/release/bin" + + # binaries + install -dm0755 "$pkgdir/usr/bin" + install -m0755 VBox.sh "$pkgdir/usr/bin/VBox" + for i in VBoxHeadless VBoxManage VBoxSDL VirtualBox vboxwebsrv VBoxBalloonCtrl; do + ln -sf VBox "$pkgdir/usr/bin/$i" + ln -sf VBox "$pkgdir/usr/bin/${i,,}" + done + install -m0755 VBoxTunctl "$pkgdir/usr/bin" + install -m0755 rdesktop-vrdp "$pkgdir/usr/bin" + install -m0755 vboximg-mount "$pkgdir/usr/bin" + + # libraries + install -dm0755 "$pkgdir/usr/lib/virtualbox" + install -m0755 *.so "$pkgdir/usr/lib/virtualbox" + install -m0644 *.r0 VBoxEFI*.fd "$pkgdir/usr/lib/virtualbox" + ## setuid root binaries + install -m4755 VBoxSDL VirtualBoxVM VBoxHeadless VBoxNetDHCP VBoxNetAdpCtl VBoxNetNAT -t "$pkgdir/usr/lib/virtualbox" + ## other binaries + install -m0755 VirtualBox VBoxManage VBoxSVC VBoxExtPackHelperApp VBoxXPCOMIPCD VBoxTestOGL VBoxBalloonCtrl vboxwebsrv webtest -t "$pkgdir/usr/lib/virtualbox" + + # components + install -dm0755 "$pkgdir/usr/lib/virtualbox/components" + rm components/VBoxREM.so # TODO: remove when dead link is fixed + 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" + + # rdesktop keymaps + install -dm0755 "$pkgdir/usr/share/virtualbox/rdesktop-vrdp-keymaps" + install -m0644 rdesktop-vrdp-keymaps/* "$pkgdir/usr/share/virtualbox/rdesktop-vrdp-keymaps" + + # 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-$pkgver/COPYING "$pkgdir/usr/share/licenses/$pkgname/LICENSE" + + # 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-sdk() { + pkgdesc='VirtualBox Software Developer Kit (SDK)' + depends=('python') + + install -dm0755 "$pkgdir/usr/lib/virtualbox" + + source "VirtualBox-$pkgver/env.sh" + cd "VirtualBox-$pkgver/out/linux.$BUILD_PLATFORM_ARCH/release/bin" + + install -Dm0755 vboxshell.py "$pkgdir/usr/lib/virtualbox/vboxshell.py" + # python sdk + pushd sdk/installer + VBOX_INSTALL_PATH="/usr/lib/virtualbox" python vboxapisetup.py install --root "$pkgdir" + popd + cp -r sdk "$pkgdir/usr/lib/virtualbox" + rm -r "$pkgdir/usr/lib/virtualbox/sdk/installer" + # licence + install -Dm0644 "$srcdir/VirtualBox-$pkgver/COPYING" \ + "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} + +package_virtualbox-host-dkms() { + 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') + provides=('VIRTUALBOX-HOST-MODULES') + install=virtualbox-host-dkms.install + + install -dm0755 "$pkgdir/usr/src" + source "VirtualBox-$pkgver/env.sh" + cd "VirtualBox-$pkgver/out/linux.$BUILD_PLATFORM_ARCH/release/bin" + cp -r src "$pkgdir/usr/src/vboxhost-${pkgver}_OSE" + # licence + install -Dm0644 "$srcdir/VirtualBox-$pkgver/COPYING" \ + "$pkgdir/usr/share/licenses/$pkgname/LICENSE" + # module loading + local _p="$pkgdir/usr/lib/modules-load.d/$pkgname.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-${pkgver}_OSE/dkms.conf" + install -Dm0644 "$srcdir/$pkgname.conf" "$_p" + sed -i "s,@VERSION@,$pkgver," "$_p" +} + +package_virtualbox-guest-dkms() { + pkgdesc='VirtualBox Guest kernel modules sources' + depends=('dkms' 'gcc' 'make') + replaces=('virtualbox-archlinux-source' + 'virtualbox-guest-source' + 'virtualbox-guest-modules-lts') + provides=('VIRTUALBOX-GUEST-MODULES') + conflicts=('virtualbox-archlinux-source' 'virtualbox-guest-source') + install=virtualbox-guest-dkms.install + + install -dm0755 "$pkgdir/usr/src" + source "VirtualBox-$pkgver/env.sh" + cd "VirtualBox-$pkgver/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions" + + # licence + install -Dm0644 "$srcdir/VirtualBox-$pkgver/COPYING" \ + "$pkgdir/usr/share/licenses/$pkgname/LICENSE" + # module loading + local _p="$pkgdir/usr/lib/modules-load.d/$pkgname.conf" + install -Dm0644 /dev/null "$_p" + printf "vboxguest\nvboxsf\nvboxvideo\n" > "$_p" + + # vboxsf module for Linux 4.16 to Linux 5.5 + install -d "$pkgdir/usr/src/vboxsf-${pkgver}_OSE" + cp -rT "$srcdir/vboxsf" "$pkgdir/usr/src/vboxsf-${pkgver}_OSE/vboxsf" + rm -rf "$pkgdir/usr/src/vboxsf-${pkgver}_OSE/vboxsf/.git" + echo "obj-m = vboxsf/" >"$pkgdir/usr/src/vboxsf-${pkgver}_OSE/Makefile" + local _p="$pkgdir/usr/src/vboxsf-${pkgver}_OSE/dkms.conf" + install -Dm0644 "$srcdir/virtualbox-vboxsf-dkms.conf" "$_p" + sed -i "s,@VERSION@,$pkgver," "$_p" +} + +package_virtualbox-guest-utils() { + 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') + conflicts=('virtualbox-archlinux-additions' 'virtualbox-guest-additions' 'virtualbox-guest-utils-nox') + + source "VirtualBox-$pkgver/env.sh" + pushd "VirtualBox-$pkgver/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-$pkgver/src/VBox/Additions/x11/Installer/98vboxadd-xclient \ + "$pkgdir"/usr/bin/VBoxClient-all + install -m0644 -D "$srcdir"/VirtualBox-$pkgver/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-$pkgver/COPYING "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} + +package_virtualbox-guest-utils-nox() { + pkgdesc='VirtualBox Guest userspace utilities without X support' + depends=('glibc' 'pam' 'VIRTUALBOX-GUEST-MODULES') + conflicts=('virtualbox-guest-utils') + + source "VirtualBox-$pkgver/env.sh" + pushd "VirtualBox-$pkgver/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-$pkgver/COPYING" \ + "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} + +package_virtualbox-ext-vnc() { + pkgdesc='VirtualBox VNC extension pack' + depends=('virtualbox' 'libvncserver') + optdepends=('tigervnc: vnc client') + install=virtualbox-ext-vnc.install + + source "VirtualBox-$pkgver/env.sh" + cd "VirtualBox-$pkgver/out/linux.$BUILD_PLATFORM_ARCH/release/packages" + install -Dm0644 VNC-*.vbox-extpack "$pkgdir/usr/share/virtualbox/extensions/VNC-${pkgver}.vbox-extpack" + # licence + install -Dm0644 "$srcdir/VirtualBox-$pkgver/COPYING" \ + "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} Copied: virtualbox/repos/community-testing-x86_64/build.sh (from rev 862236, virtualbox/trunk/build.sh) =================================================================== --- community-testing-x86_64/build.sh (rev 0) +++ community-testing-x86_64/build.sh 2021-02-16 07:51:34 UTC (rev 862237) @@ -0,0 +1,3 @@ +#!/bin/bash + +multilib-build "$@" && extra-i686-build "$@" Copied: virtualbox/repos/community-testing-x86_64/vboxdrmclient.path (from rev 862236, virtualbox/trunk/vboxdrmclient.path) =================================================================== --- community-testing-x86_64/vboxdrmclient.path (rev 0) +++ community-testing-x86_64/vboxdrmclient.path 2021-02-16 07:51:34 UTC (rev 862237) @@ -0,0 +1,6 @@ +[Unit] +Description=VirtualBox Guest VMSVGA resize client +ConditionVirtualization=oracle + +[Path] +PathExistsGlob=/dev/dri/renderD* Copied: virtualbox/repos/community-testing-x86_64/vboxdrmclient.service (from rev 862236, virtualbox/trunk/vboxdrmclient.service) =================================================================== --- community-testing-x86_64/vboxdrmclient.service (rev 0) +++ community-testing-x86_64/vboxdrmclient.service 2021-02-16 07:51:34 UTC (rev 862237) @@ -0,0 +1,7 @@ +[Unit] +Description=VirtualBox Guest VMSVGA resize client +ConditionVirtualization=oracle +ConditionPathExistsGlob=/dev/dri/renderD* + +[Service] +ExecStart=/usr/bin/VBoxDRMClient Copied: virtualbox/repos/community-testing-x86_64/vboxreload (from rev 862236, virtualbox/trunk/vboxreload) =================================================================== --- community-testing-x86_64/vboxreload (rev 0) +++ community-testing-x86_64/vboxreload 2021-02-16 07:51:34 UTC (rev 862237) @@ -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: Copied: virtualbox/repos/community-testing-x86_64/vboxservice-nox.service (from rev 862236, virtualbox/trunk/vboxservice-nox.service) =================================================================== --- community-testing-x86_64/vboxservice-nox.service (rev 0) +++ community-testing-x86_64/vboxservice-nox.service 2021-02-16 07:51:34 UTC (rev 862237) @@ -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 Copied: virtualbox/repos/community-testing-x86_64/vboxservice.service (from rev 862236, virtualbox/trunk/vboxservice.service) =================================================================== --- community-testing-x86_64/vboxservice.service (rev 0) +++ community-testing-x86_64/vboxservice.service 2021-02-16 07:51:34 UTC (rev 862237) @@ -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 Copied: virtualbox/repos/community-testing-x86_64/vboxweb.service (from rev 862236, virtualbox/trunk/vboxweb.service) =================================================================== --- community-testing-x86_64/vboxweb.service (rev 0) +++ community-testing-x86_64/vboxweb.service 2021-02-16 07:51:34 UTC (rev 862237) @@ -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 Copied: virtualbox/repos/community-testing-x86_64/virtualbox-ext-vnc.install (from rev 862236, virtualbox/trunk/virtualbox-ext-vnc.install) =================================================================== --- community-testing-x86_64/virtualbox-ext-vnc.install (rev 0) +++ community-testing-x86_64/virtualbox-ext-vnc.install 2021-02-16 07:51:34 UTC (rev 862237) @@ -0,0 +1,27 @@ +#!/bin/bash + +# arg 1: the new package version +post_install() { + EXTPACK="/usr/share/virtualbox/extensions/VNC-${1%%-*}.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: Copied: virtualbox/repos/community-testing-x86_64/virtualbox-guest-dkms.install (from rev 862236, virtualbox/trunk/virtualbox-guest-dkms.install) =================================================================== --- community-testing-x86_64/virtualbox-guest-dkms.install (rev 0) +++ community-testing-x86_64/virtualbox-guest-dkms.install 2021-02-16 07:51:34 UTC (rev 862237) @@ -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: Copied: virtualbox/repos/community-testing-x86_64/virtualbox-guest-utils.sysusers (from rev 862236, virtualbox/trunk/virtualbox-guest-utils.sysusers) =================================================================== --- community-testing-x86_64/virtualbox-guest-utils.sysusers (rev 0) +++ community-testing-x86_64/virtualbox-guest-utils.sysusers 2021-02-16 07:51:34 UTC (rev 862237) @@ -0,0 +1 @@ +g vboxsf 109 - Copied: virtualbox/repos/community-testing-x86_64/virtualbox-host-dkms.conf (from rev 862236, virtualbox/trunk/virtualbox-host-dkms.conf) =================================================================== --- community-testing-x86_64/virtualbox-host-dkms.conf (rev 0) +++ community-testing-x86_64/virtualbox-host-dkms.conf 2021-02-16 07:51:34 UTC (rev 862237) @@ -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" Copied: virtualbox/repos/community-testing-x86_64/virtualbox-host-dkms.install (from rev 862236, virtualbox/trunk/virtualbox-host-dkms.install) =================================================================== --- community-testing-x86_64/virtualbox-host-dkms.install (rev 0) +++ community-testing-x86_64/virtualbox-host-dkms.install 2021-02-16 07:51:34 UTC (rev 862237) @@ -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: Copied: virtualbox/repos/community-testing-x86_64/virtualbox-vboxsf-dkms.conf (from rev 862236, virtualbox/trunk/virtualbox-vboxsf-dkms.conf) =================================================================== --- community-testing-x86_64/virtualbox-vboxsf-dkms.conf (rev 0) +++ community-testing-x86_64/virtualbox-vboxsf-dkms.conf 2021-02-16 07:51:34 UTC (rev 862237) @@ -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" Copied: virtualbox/repos/community-testing-x86_64/virtualbox.install (from rev 862236, virtualbox/trunk/virtualbox.install) =================================================================== --- community-testing-x86_64/virtualbox.install (rev 0) +++ community-testing-x86_64/virtualbox.install 2021-02-16 07:51:34 UTC (rev 862237) @@ -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: Copied: virtualbox/repos/community-testing-x86_64/virtualbox.sysusers (from rev 862236, virtualbox/trunk/virtualbox.sysusers) =================================================================== --- community-testing-x86_64/virtualbox.sysusers (rev 0) +++ community-testing-x86_64/virtualbox.sysusers 2021-02-16 07:51:34 UTC (rev 862237) @@ -0,0 +1 @@ +g vboxusers 108 -