virtualbox 6.1.16-4 (x86_64;znver1) 2020-13318
9999

Status published
Submitter benbullard79 [@T] cox.net
Platform rolling
Repository main
URL https://abf.openmandriva.org/build_lists/926378
Packages
virtualbox-6.1.16-4.x86_64.binary
virtualbox-6.1.16-4.x86_64.source
virtualbox-debuginfo-6.1.16-4.x86_64.debuginfo
virtualbox-debugsource-6.1.16-4.x86_64.binary
virtualbox-guest-additions-6.1.16-4.x86_64.binary
virtualbox-guest-additions-debuginfo-6.1.16-4.x86_64.debuginfo
virtualbox-guest-kernel-module-sources-6.1.16-4.x86_64.binary
virtualbox-kernel-module-sources-6.1.16-4.x86_64.binary
virtualbox-6.1.16-4.znver1.source
virtualbox-6.1.16-4.znver1.binary
virtualbox-debuginfo-6.1.16-4.znver1.debuginfo
virtualbox-debugsource-6.1.16-4.znver1.binary
virtualbox-guest-additions-6.1.16-4.znver1.binary
virtualbox-guest-additions-debuginfo-6.1.16-4.znver1.debuginfo
virtualbox-guest-kernel-module-sources-6.1.16-4.znver1.binary
virtualbox-kernel-module-sources-6.1.16-4.znver1.binary
Build Date 2020-12-19 07:26:33 +0000 UTC
Last Updated 2020-12-20 19:41:52.500554265 +0000 UTC
$ git diff --patch-with-stat --summary 47dd268c9b32620a18f573ebea45547306d4c7ac..41490d0eeb4327542765d40698d5e39c2b6c3531

 .abf.yml                                  |   5 +-
 VirtualBox-5.0.10-no-bundles.patch        | 114 +++------
 boot-efi-boot.patch                       | 253 ++++++++++++++++++++
 firmware-build-fixes.patch                | 374 ++++++++++++++++++++++++++++++
 vbox-6.1.6-firmware-build-python3.9.patch |  46 ++++
 virtualbox-6.1.16-python3.9.patch         |  12 +
 virtualbox.spec                           |  88 ++++---
 7 files changed, 779 insertions(+), 113 deletions(-)
 create mode 100644 boot-efi-boot.patch
 create mode 100644 firmware-build-fixes.patch
 create mode 100644 vbox-6.1.6-firmware-build-python3.9.patch
 create mode 100644 virtualbox-6.1.16-python3.9.patch

diff --git a/.abf.yml b/.abf.yml
index a4fa8ce..d2923a0 100644
--- a/.abf.yml
+++ b/.abf.yml
@@ -1,5 +1,6 @@
 sources:
   os_openmandriva.png: 3c1c957c644369db0009773c895fbbb0617d5785
   os_openmandriva_64.png: 80cce1aee0eea3e7aed9ee36d5829c0f0fa50fd4
-  UserManual.pdf: 4e24e65106a3f6581139d809930ce416d18c41f6
-  VirtualBox-6.1.12a.tar.bz2: e987efb4b6f0b074b2aa5f61a471f0aacb5edf14
+  VirtualBox-6.1.16.tar.bz2: 526fdb768335b71c534f40c593a8390e8ddbe450
+  UserManual.pdf: 4a446d2d5b434184df9a41feff7bb3db59fd023a
+  openssl-1.1.1h.tar.gz: 8d0d099e8973ec851368c8c775e05e1eadca1794
diff --git a/VirtualBox-5.0.10-no-bundles.patch b/VirtualBox-5.0.10-no-bundles.patch
index 1fda3e3..e22d9ee 100644
--- a/VirtualBox-5.0.10-no-bundles.patch
+++ b/VirtualBox-5.0.10-no-bundles.patch
@@ -1,7 +1,7 @@
-diff -Naur VirtualBox-6.0.14/Config.kmk VirtualBox-6.0.14.tpg/Config.kmk
---- VirtualBox-6.0.14/Config.kmk	2019-10-10 18:25:35.000000000 +0000
-+++ VirtualBox-6.0.14.tpg/Config.kmk	2019-10-31 15:08:08.235983271 +0000
-@@ -4069,23 +4069,27 @@
+diff -up VirtualBox-6.1.16/Config.kmk.14~ VirtualBox-6.1.16/Config.kmk
+--- VirtualBox-6.1.16/Config.kmk.14~	2020-10-16 18:27:46.000000000 +0200
++++ VirtualBox-6.1.16/Config.kmk	2020-10-28 14:47:22.514617605 +0100
+@@ -4079,23 +4079,27 @@ VBOXLNX32GUEST_SUFF_LIB = .a
  # SDKs for external libraries.
  #
  SDK_VBOX_LIBXML2           = .
@@ -34,7 +34,18 @@ diff -Naur VirtualBox-6.0.14/Config.kmk VirtualBox-6.0.14.tpg/Config.kmk
   SDK_VBOX_ZLIB_DEFS.linux ?= _LARGEFILE64_SOURCE
  endif
  
-@@ -4134,28 +4138,28 @@
+@@ -4112,8 +4116,8 @@ if1of ($(KBUILD_TARGET), os2 win) # Not
+ endif
+ 
+ SDK_VBOX_LZF		= .
+-SDK_VBOX_LZF_INCS  ?= $(PATH_ROOT)/src/libs/liblzf-3.4
+-SDK_VBOX_LZF_LIBS  ?= $(PATH_STAGE_LIB)/VBox-liblzf$(VBOX_SUFF_LIB)
++SDK_VBOX_LZF_INCS  ?= $(pkg-config lzf --variable=includedir)
++SDK_VBOX_LZF_LIBS  ?= $(pkg-config lzf --libs)
+ 
+ SDK_VBOX_LZF-x86	= .
+ SDK_VBOX_LZF-x86_EXTENDS = VBOX_LZF
+@@ -4158,28 +4162,28 @@ endif
  
  ifdef VBOX_WITH_LIBCURL
  SDK_VBOX_LIBCURL       = .
@@ -63,84 +74,27 @@ diff -Naur VirtualBox-6.0.14/Config.kmk VirtualBox-6.0.14.tpg/Config.kmk
  
  ifdef VBOX_WITH_LIBOPUS
   SDK_VBOX_OPUS       = .
-- SDK_VBOX_OPUS_DEFAULT_INCS := $(PATH_ROOT)/src/libs/libopus-1.2.1/include
+  SDK_VBOX_OPUS_DEFAULT_INCS := $(PATH_ROOT)/src/libs/libopus-1.2.1/include
 - SDK_VBOX_OPUS_INCS ?= $(SDK_VBOX_OPUS_DEFAULT_INCS)
 - SDK_VBOX_OPUS_LIBS ?= $(PATH_STAGE_LIB)/VBox-libopus$(VBOX_SUFF_LIB)
-+ SDK_VBOX_OPUS_DEFAULT_INCS := $(PATH_ROOT)/src/libs/libvpx-1.2.1/include
 + SDK_VBOX_OPUS_INCS ?= $(pkg-config opus --variable=includedir)
 + SDK_VBOX_OPUS_LIBS ?= $(pkg-config opus --libs)
  endif
  
- #
-@@ -5398,7 +5402,7 @@
-  	$(PATH_STAGE_LIB)/VBox-zlib-static$(VBOX_SUFF_LIB)
- else
-  TEMPLATE_VBoxR3Static_LIBS        += \
-- 	$(PATH_STAGE_LIB)/VBox-liblzf$(VBOX_SUFF_LIB) \
-+ 	$(SDK_VBOX_LIBLZF_LIBS) \
-  	$(SDK_VBOX_ZLIB_LIBS)
-  if1of ($(KBUILD_TARGET),darwin freebsd)
-   TEMPLATE_VBoxR3Static_LIBS       += iconv
-diff -Naur VirtualBox-6.0.14/src/VBox/Runtime/Makefile.kmk VirtualBox-6.0.14.tpg/src/VBox/Runtime/Makefile.kmk
---- VirtualBox-6.0.14/src/VBox/Runtime/Makefile.kmk	2019-10-10 18:35:56.000000000 +0000
-+++ VirtualBox-6.0.14.tpg/src/VBox/Runtime/Makefile.kmk	2019-10-31 15:08:08.237983271 +0000
-@@ -292,7 +292,7 @@
- 	include \
- 	$(SDK_VBOX_ZLIB_INCS)
- RuntimeR3_INCS         += \
--	$(PATH_ROOT)/src/libs/liblzf-3.4
-+	$(SDK_VBOX_LIBLZF_INCS)
- 
- # RuntimeR3_INCS.solaris  = \
- #    /usr/include
-@@ -2167,7 +2167,7 @@
- VBoxRT_INCS.$(KBUILD_TARGET)  := $(RuntimeR3_INCS.$(KBUILD_TARGET))
- VBoxRT_INCS.$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH) := $(RuntimeR3_INCS.$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH))
- VBoxRT_LIBS                    = \
--	$(PATH_STAGE_LIB)/VBox-liblzf$(VBOX_SUFF_LIB)
-+	$(SDK_VBOX_LIBLZF_LIBS)
- if1of ($(KBUILD_TARGET_ARCH), amd64 x86)
- VBoxRT_LIBS                   += \
- 	$(PATH_STAGE_LIB)/SUPR3$(VBOX_SUFF_LIB)
-@@ -2314,7 +2314,7 @@
- VBoxRT-x86_SDKS  += VBOX_OPENSSL-x86
- 
- VBoxRT-x86_LIBS = \
--	$(PATH_STAGE_LIB)/VBox-liblzf-x86$(VBOX_SUFF_LIB)
-+	$(SDK_VBOX_LIBLZF_LIBS)
- if1of ($(KBUILD_TARGET_ARCH), amd64 x86)
- VBoxRT-x86_LIBS += \
- 	$(PATH_STAGE_LIB)/SUPR3-x86$(VBOX_SUFF_LIB)
-diff -Naur VirtualBox-6.0.14/src/VBox/Storage/testcase/Makefile.kmk VirtualBox-6.0.14.tpg/src/VBox/Storage/testcase/Makefile.kmk
---- VirtualBox-6.0.14/src/VBox/Storage/testcase/Makefile.kmk	2019-10-10 18:36:29.000000000 +0000
-+++ VirtualBox-6.0.14.tpg/src/VBox/Storage/testcase/Makefile.kmk	2019-10-31 15:11:22.649969762 +0000
-@@ -137,7 +137,7 @@
- 	$(PATH_STAGE_LIB)/VBox-zlib-static$(VBOX_SUFF_LIB)
-  else
-   vbox-img_LIBS += \
--	$(PATH_STAGE_LIB)/VBox-liblzf$(VBOX_SUFF_LIB) \
-+	$(SDK_VBOX_LIBLZF_LIBS) \
- 	$(SDK_VBOX_ZLIB_LIBS)
-  endif
-  ifeq ($(KBUILD_TARGET),linux)
-@@ -183,7 +183,7 @@
- 	$(PATH_STAGE_LIB)/VBox-zlib-static$(VBOX_SUFF_LIB)
-  else
-   vdkeystoremgr_LIBS += \
--	$(PATH_STAGE_LIB)/VBox-liblzf$(VBOX_SUFF_LIB) \
-+	$(SDK_VBOX_LIBLZF_LIBS) \
- 	$(SDK_VBOX_ZLIB_LIBS)
-  endif
-  ifeq ($(KBUILD_TARGET),linux)
-diff -Naur VirtualBox-6.0.14/src/libs/Makefile.kmk VirtualBox-6.0.14.tpg/src/libs/Makefile.kmk
---- VirtualBox-6.0.14/src/libs/Makefile.kmk	2019-10-10 18:36:58.000000000 +0000
-+++ VirtualBox-6.0.14.tpg/src/libs/Makefile.kmk	2019-10-31 15:08:08.237983271 +0000
-@@ -25,7 +25,7 @@
- #
- 
- # Compression libs used by IPRT and <what was it again?>.
--include $(PATH_SUB_CURRENT)/liblzf-3.4/Makefile.kmk
-+#include $(PATH_SUB_CURRENT)/liblzf-3.4/Makefile.kmk
- if  !defined(VBOX_ONLY_SDK) \
-  && "$(SDK_VBOX_ZLIB_INCS)" == "$(PATH_ROOT)/src/libs/zlib-1.2.11"
-  include $(PATH_SUB_CURRENT)/zlib-1.2.11/Makefile.kmk
+ ifdef VBOX_WITH_LIBFUSE
+diff -up VirtualBox-6.1.16/src/libs/Makefile.kmk.14~ VirtualBox-6.1.16/src/libs/Makefile.kmk
+diff -up VirtualBox-6.1.16/src/VBox/Runtime/Makefile.kmk.14~ VirtualBox-6.1.16/src/VBox/Runtime/Makefile.kmk
+diff -up VirtualBox-6.1.16/src/VBox/Storage/testcase/Makefile.kmk.14~ VirtualBox-6.1.16/src/VBox/Storage/testcase/Makefile.kmk
+diff -up VirtualBox-6.1.16/src/VBox/Runtime/common/zip/zip.cpp.omv~ VirtualBox-6.1.16/src/VBox/Runtime/common/zip/zip.cpp
+--- VirtualBox-6.1.16/src/VBox/Runtime/common/zip/zip.cpp.omv~	2020-10-28 15:14:24.586267674 +0100
++++ VirtualBox-6.1.16/src/VBox/Runtime/common/zip/zip.cpp	2020-10-28 15:14:38.189440790 +0100
+@@ -51,7 +51,9 @@
+ # include <zlib.h>
+ #endif
+ #ifdef RTZIP_USE_LZF
++extern "C" {
+ # include <lzf.h>
++}
+ # include <iprt/crc.h>
+ #endif
+ #ifdef RTZIP_USE_LZJB
diff --git a/boot-efi-boot.patch b/boot-efi-boot.patch
new file mode 100644
index 0000000..237f442
--- /dev/null
+++ b/boot-efi-boot.patch
@@ -0,0 +1,253 @@
+diff -Naur VirtualBox-6.1.16/src/VBox/Devices/EFI/Firmware/OvmfPkg/OvmfPkgIa32.dsc VirtualBox-6.1.16-efi/src/VBox/Devices/EFI/Firmware/OvmfPkg/OvmfPkgIa32.dsc
+--- VirtualBox-6.1.16/src/VBox/Devices/EFI/Firmware/OvmfPkg/OvmfPkgIa32.dsc	2020-10-16 18:34:50.000000000 +0200
++++ VirtualBox-6.1.16-efi/src/VBox/Devices/EFI/Firmware/OvmfPkg/OvmfPkgIa32.dsc	2020-11-18 13:48:01.686422876 +0100
+@@ -873,7 +873,6 @@
+     <LibraryClasses>
+       PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
+  }
+- VBoxPkg/VBoxFsDxe/VBoxIso9660.inf
+  VBoxPkg/VBoxFsDxe/VBoxHfs.inf
+  VBoxPkg/VBoxSysTables/VBoxSysTables.inf
+  VBoxPkg/VBoxAppleSim/VBoxAppleSim.inf
+diff -Naur VirtualBox-6.1.16/src/VBox/Devices/EFI/Firmware/OvmfPkg/OvmfPkgIa32.fdf VirtualBox-6.1.16-efi/src/VBox/Devices/EFI/Firmware/OvmfPkg/OvmfPkgIa32.fdf
+--- VirtualBox-6.1.16/src/VBox/Devices/EFI/Firmware/OvmfPkg/OvmfPkgIa32.fdf	2020-10-16 18:34:50.000000000 +0200
++++ VirtualBox-6.1.16-efi/src/VBox/Devices/EFI/Firmware/OvmfPkg/OvmfPkgIa32.fdf	2020-11-18 13:48:01.684422863 +0100
+@@ -278,7 +278,6 @@
+ !ifdef $(VBOX)
+ INF VBoxPkg/VBoxVgaMiniPortDxe/VBoxVgaMiniPortDxe.inf
+ INF VBoxPkg/VBoxVgaDxe/VBoxVgaDxe.inf
+-INF VBoxPkg/VBoxFsDxe/VBoxIso9660.inf
+ INF VBoxPkg/VBoxFsDxe/VBoxHfs.inf
+ INF VBoxPkg/VBoxSysTables/VBoxSysTables.inf
+ INF VBoxPkg/VBoxAppleSim/VBoxAppleSim.inf
+diff -Naur VirtualBox-6.1.16/src/VBox/Devices/EFI/Firmware/OvmfPkg/OvmfPkgX64.dsc VirtualBox-6.1.16-efi/src/VBox/Devices/EFI/Firmware/OvmfPkg/OvmfPkgX64.dsc
+--- VirtualBox-6.1.16/src/VBox/Devices/EFI/Firmware/OvmfPkg/OvmfPkgX64.dsc	2020-10-16 18:34:50.000000000 +0200
++++ VirtualBox-6.1.16-efi/src/VBox/Devices/EFI/Firmware/OvmfPkg/OvmfPkgX64.dsc	2020-11-18 13:48:01.685422869 +0100
+@@ -879,7 +879,6 @@
+     <LibraryClasses>
+       PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
+  }
+- VBoxPkg/VBoxFsDxe/VBoxIso9660.inf
+  VBoxPkg/VBoxFsDxe/VBoxHfs.inf
+  VBoxPkg/VBoxSysTables/VBoxSysTables.inf
+  VBoxPkg/VBoxAppleSim/VBoxAppleSim.inf
+diff -Naur VirtualBox-6.1.16/src/VBox/Devices/EFI/Firmware/OvmfPkg/OvmfPkgX64.fdf VirtualBox-6.1.16-efi/src/VBox/Devices/EFI/Firmware/OvmfPkg/OvmfPkgX64.fdf
+--- VirtualBox-6.1.16/src/VBox/Devices/EFI/Firmware/OvmfPkg/OvmfPkgX64.fdf	2020-10-16 18:34:50.000000000 +0200
++++ VirtualBox-6.1.16-efi/src/VBox/Devices/EFI/Firmware/OvmfPkg/OvmfPkgX64.fdf	2020-11-18 13:48:01.685422869 +0100
+@@ -279,7 +279,6 @@
+ !ifdef $(VBOX)
+ INF VBoxPkg/VBoxVgaMiniPortDxe/VBoxVgaMiniPortDxe.inf
+ INF VBoxPkg/VBoxVgaDxe/VBoxVgaDxe.inf
+-INF VBoxPkg/VBoxFsDxe/VBoxIso9660.inf
+ INF VBoxPkg/VBoxFsDxe/VBoxHfs.inf
+ INF VBoxPkg/VBoxSysTables/VBoxSysTables.inf
+ INF VBoxPkg/VBoxAppleSim/VBoxAppleSim.inf
+diff -Naur VirtualBox-6.1.16/src/VBox/Devices/EFI/Firmware/VBoxPkg/VBoxFsDxe/fsw_efi.c VirtualBox-6.1.16-efi/src/VBox/Devices/EFI/Firmware/VBoxPkg/VBoxFsDxe/fsw_efi.c
+--- VirtualBox-6.1.16/src/VBox/Devices/EFI/Firmware/VBoxPkg/VBoxFsDxe/fsw_efi.c	2020-10-16 18:35:19.000000000 +0200
++++ VirtualBox-6.1.16-efi/src/VBox/Devices/EFI/Firmware/VBoxPkg/VBoxFsDxe/fsw_efi.c	2020-11-18 13:48:01.684422863 +0100
+@@ -58,11 +58,6 @@
+ 
+ #include "fsw_efi.h"
+ 
+-#ifdef VBOX
+-# include <IndustryStandard/ElTorito.h>
+-# include <IndustryStandard/Udf.h>
+-#endif
+-
+ #define DEBUG_LEVEL 0
+ 
+ #ifndef FSTYPE
+@@ -141,7 +136,7 @@
+                                        IN OUT UINTN *BufferSize,
+                                        OUT VOID *Buffer);
+ 
+-#if defined(VBOX) && defined(FSTYPE_HFS)
++#if defined(VBOX) && (FSTYPE == hfs)
+ extern fsw_status_t fsw_hfs_get_blessed_file(void *vol, struct fsw_string *path);
+ #endif
+ 
+@@ -265,128 +260,6 @@
+     return Status;
+ }
+ 
+-#if defined(VBOX) && !defined(FSTYPE_HFS)
+-/**
+-  Find UDF volume identifiers in a Volume Recognition Sequence.
+-
+-  @param[in]  BlockIo             BlockIo interface.
+-  @param[in]  DiskIo              DiskIo interface.
+-
+-  @retval EFI_SUCCESS             UDF volume identifiers were found.
+-  @retval EFI_NOT_FOUND           UDF volume identifiers were not found.
+-  @retval other                   Failed to perform disk I/O.
+-
+-**/
+-EFI_STATUS
+-FindUdfVolumeIdentifiers (
+-  IN EFI_BLOCK_IO_PROTOCOL  *BlockIo,
+-  IN EFI_DISK_IO_PROTOCOL   *DiskIo
+-  )
+-{
+-  EFI_STATUS                            Status;
+-  UINT64                                Offset;
+-  UINT64                                EndDiskOffset;
+-  CDROM_VOLUME_DESCRIPTOR               VolDescriptor;
+-  CDROM_VOLUME_DESCRIPTOR               TerminatingVolDescriptor;
+-
+-  ZeroMem ((VOID *)&TerminatingVolDescriptor, sizeof (CDROM_VOLUME_DESCRIPTOR));
+-
+-  //
+-  // Start Volume Recognition Sequence
+-  //
+-  EndDiskOffset = MultU64x32 (BlockIo->Media->LastBlock,
+-                              BlockIo->Media->BlockSize);
+-
+-  for (Offset = UDF_VRS_START_OFFSET; Offset < EndDiskOffset;
+-       Offset += UDF_LOGICAL_SECTOR_SIZE) {
+-    //
+-    // Check if block device has a Volume Structure Descriptor and an Extended
+-    // Area.
+-    //
+-    Status = DiskIo->ReadDisk (
+-      DiskIo,
+-      BlockIo->Media->MediaId,
+-      Offset,
+-      sizeof (CDROM_VOLUME_DESCRIPTOR),
+-      (VOID *)&VolDescriptor
+-      );
+-    if (EFI_ERROR (Status)) {
+-      return Status;
+-    }
+-
+-    if (CompareMem ((VOID *)VolDescriptor.Unknown.Id,
+-                    (VOID *)UDF_BEA_IDENTIFIER,
+-                    sizeof (VolDescriptor.Unknown.Id)) == 0) {
+-      break;
+-    }
+-
+-    if ((CompareMem ((VOID *)VolDescriptor.Unknown.Id,
+-                     (VOID *)CDVOL_ID,
+-                     sizeof (VolDescriptor.Unknown.Id)) != 0) ||
+-        (CompareMem ((VOID *)&VolDescriptor,
+-                     (VOID *)&TerminatingVolDescriptor,
+-                     sizeof (CDROM_VOLUME_DESCRIPTOR)) == 0)) {
+-      return EFI_NOT_FOUND;
+-    }
+-  }
+-
+-  //
+-  // Look for "NSR0{2,3}" identifiers in the Extended Area.
+-  //
+-  Offset += UDF_LOGICAL_SECTOR_SIZE;
+-  if (Offset >= EndDiskOffset) {
+-    return EFI_NOT_FOUND;
+-  }
+-
+-  Status = DiskIo->ReadDisk (
+-    DiskIo,
+-    BlockIo->Media->MediaId,
+-    Offset,
+-    sizeof (CDROM_VOLUME_DESCRIPTOR),
+-    (VOID *)&VolDescriptor
+-    );
+-  if (EFI_ERROR (Status)) {
+-    return Status;
+-  }
+-
+-  if ((CompareMem ((VOID *)VolDescriptor.Unknown.Id,
+-                   (VOID *)UDF_NSR2_IDENTIFIER,
+-                   sizeof (VolDescriptor.Unknown.Id)) != 0) &&
+-      (CompareMem ((VOID *)VolDescriptor.Unknown.Id,
+-                   (VOID *)UDF_NSR3_IDENTIFIER,
+-                   sizeof (VolDescriptor.Unknown.Id)) != 0)) {
+-    return EFI_NOT_FOUND;
+-  }
+-
+-  //
+-  // Look for "TEA01" identifier in the Extended Area
+-  //
+-  Offset += UDF_LOGICAL_SECTOR_SIZE;
+-  if (Offset >= EndDiskOffset) {
+-    return EFI_NOT_FOUND;
+-  }
+-
+-  Status = DiskIo->ReadDisk (
+-    DiskIo,
+-    BlockIo->Media->MediaId,
+-    Offset,
+-    sizeof (CDROM_VOLUME_DESCRIPTOR),
+-    (VOID *)&VolDescriptor
+-    );
+-  if (EFI_ERROR (Status)) {
+-    return Status;
+-  }
+-
+-  if (CompareMem ((VOID *)VolDescriptor.Unknown.Id,
+-                  (VOID *)UDF_TEA_IDENTIFIER,
+-                  sizeof (VolDescriptor.Unknown.Id)) != 0) {
+-    return EFI_NOT_FOUND;
+-  }
+-
+-  return EFI_SUCCESS;
+-}
+-#endif
+-
+ static EFI_STATUS fsw_efi_ReMount(IN FSW_VOLUME_DATA *pVolume,
+                                        IN EFI_HANDLE      ControllerHandle,
+                                        EFI_DISK_IO        *pDiskIo,
+@@ -403,20 +276,6 @@
+     Status = fsw_efi_map_status(fsw_mount(pVolume, &fsw_efi_host_table,
+                                           &FSW_FSTYPE_TABLE_NAME(FSTYPE), &pVolume->vol),
+                                 pVolume);
+-#if defined(VBOX) && !defined(FSTYPE_HFS)
+-    /*
+-     * Don't give the iso9660 filesystem driver a chance to claim a volume which supports UDF
+-     * or we loose booting capability from UDF volumes.
+-     */
+-    if (!EFI_ERROR(Status))
+-    {
+-        Status = FindUdfVolumeIdentifiers(pBlockIo, pDiskIo);
+-        if (!EFI_ERROR(Status))
+-            Status = EFI_UNSUPPORTED;
+-        else
+-            Status = EFI_SUCCESS;
+-    }
+-#endif
+ 
+     if (!EFI_ERROR(Status)) {
+         // register the SimpleFileSystem protocol
+@@ -1127,9 +986,10 @@
+         *BufferSize = RequiredSize;
+         Status = EFI_SUCCESS;
+ 
+-#if defined(VBOX) && defined(FSTYPE_HFS)
++#ifdef VBOX
+     } else if (CompareGuid(InformationType, &gVBoxFsBlessedFileInfoGuid)) {
+ 
++# if FSTYPE == hfs
+         struct fsw_string StrBlessedFile;
+ 
+         fsw_status_t rc = fsw_hfs_get_blessed_file(Volume->vol, &StrBlessedFile);
+@@ -1150,6 +1010,7 @@
+             Status = EFI_SUCCESS;
+         }
+         else
++# endif
+             Status = EFI_UNSUPPORTED;
+ #endif
+ 
+diff -Naur VirtualBox-6.1.16/src/VBox/Devices/EFI/Firmware/VBoxPkg/VBoxFsDxe/VBoxHfs.inf VirtualBox-6.1.16-efi/src/VBox/Devices/EFI/Firmware/VBoxPkg/VBoxFsDxe/VBoxHfs.inf
+--- VirtualBox-6.1.16/src/VBox/Devices/EFI/Firmware/VBoxPkg/VBoxFsDxe/VBoxHfs.inf	2020-10-16 18:35:19.000000000 +0200
++++ VirtualBox-6.1.16-efi/src/VBox/Devices/EFI/Firmware/VBoxPkg/VBoxFsDxe/VBoxHfs.inf	2020-11-18 13:48:01.683422857 +0100
+@@ -78,8 +78,8 @@
+   gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultPlatformLang
+ 
+ [BuildOptions.common]
+-    GCC:*_*_*_CC_FLAGS = -DFSTYPE=hfs -DFSTYPE_HFS=1 -DEFI_LOG_ENABLED=1
++    GCC:*_*_*_CC_FLAGS = -DFSTYPE=hfs -DEFI_LOG_ENABLED=1
+ # -DFSW_DEBUG_LEVEL=3
+-  INTEL:*_*_*_CC_FLAGS = -DFSTYPE=hfs -DFSTYPE_HFS=1 -DEFI_LOG_ENABLED=1
+-   MSFT:*_*_*_CC_FLAGS = -DFSTYPE=hfs -DFSTYPE_HFS=1 -DEFI_LOG_ENABLED=1
++  INTEL:*_*_*_CC_FLAGS = -DFSTYPE=hfs -DEFI_LOG_ENABLED=1
++   MSFT:*_*_*_CC_FLAGS = -DFSTYPE=hfs -DEFI_LOG_ENABLED=1
+ 
diff --git a/firmware-build-fixes.patch b/firmware-build-fixes.patch
new file mode 100644
index 0000000..7eaa9a5
--- /dev/null
+++ b/firmware-build-fixes.patch
@@ -0,0 +1,374 @@
+diff -Naur VirtualBox-6.1.16/src/VBox/Devices/EFI/Firmware/CryptoPkg/CryptoPkg.dec VirtualBox-6.1.16-p/src/VBox/Devices/EFI/Firmware/CryptoPkg/CryptoPkg.dec
+--- VirtualBox-6.1.16/src/VBox/Devices/EFI/Firmware/CryptoPkg/CryptoPkg.dec	2020-10-16 18:33:13.000000000 +0200
++++ VirtualBox-6.1.16-p/src/VBox/Devices/EFI/Firmware/CryptoPkg/CryptoPkg.dec	2020-11-18 21:04:36.334226324 +0100
+@@ -22,7 +22,7 @@
+ [Includes.Common.Private]
+   Library/Include
+   Library/OpensslLib/openssl/include
+-  Library/OpensslLib/openssl/crypto/include
++  Library/OpensslLib/openssl/include/crypto
+ 
+ [LibraryClasses]
+   ##  @libraryclass  Provides basic library functions for cryptographic primitives.
+diff -Naur VirtualBox-6.1.16/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/BaseCryptLib/Hash/CryptSm3.c VirtualBox-6.1.16-p/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/BaseCryptLib/Hash/CryptSm3.c
+--- VirtualBox-6.1.16/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/BaseCryptLib/Hash/CryptSm3.c	2020-10-16 18:33:13.000000000 +0200
++++ VirtualBox-6.1.16-p/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/BaseCryptLib/Hash/CryptSm3.c	2020-11-18 19:51:12.903414512 +0100
+@@ -7,7 +7,7 @@
+ **/
+ 
+ #include "InternalCryptLib.h"
+-#include "internal/sm3.h"
++#include "crypto/sm3.h"
+ 
+ /**
+   Retrieves the size, in bytes, of the context buffer required for SM3 hash operations.
+diff -Naur VirtualBox-6.1.16/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/BaseCryptLib/Pk/CryptPkcs7VerifyEku.c VirtualBox-6.1.16-p/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/BaseCryptLib/Pk/CryptPkcs7VerifyEku.c
+--- VirtualBox-6.1.16/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/BaseCryptLib/Pk/CryptPkcs7VerifyEku.c	2020-10-16 18:33:14.000000000 +0200
++++ VirtualBox-6.1.16-p/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/BaseCryptLib/Pk/CryptPkcs7VerifyEku.c	2020-11-18 19:52:15.682794783 +0100
+@@ -15,13 +15,13 @@
+ #include <openssl/asn1.h>
+ #include <openssl/x509.h>
+ #include <openssl/bio.h>
+-#include <internal/x509_int.h>
++#include <crypto/x509.h>
+ #include <openssl/pkcs7.h>
+ #include <openssl/bn.h>
+ #include <openssl/x509_vfy.h>
+ #include <openssl/pem.h>
+ #include <openssl/evp.h>
+-#include <internal/asn1_int.h>
++#include <crypto/asn1.h>
+ 
+ /**
+   This function will return the leaf signer certificate in a chain.  This is
+diff -Naur VirtualBox-6.1.16/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/CrtLibSupport.h VirtualBox-6.1.16-p/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/CrtLibSupport.h
+--- VirtualBox-6.1.16/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/CrtLibSupport.h	2020-10-16 18:33:14.000000000 +0200
++++ VirtualBox-6.1.16-p/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/CrtLibSupport.h	2020-11-18 21:06:22.403935744 +0100
+@@ -14,6 +14,8 @@
+ #include <Library/BaseMemoryLib.h>
+ #include <Library/DebugLib.h>
+ #include <Library/PrintLib.h>
++// custom time_t defines breaks the build
++#include <bits/types/time_t.h>
+ 
+ #define OPENSSLDIR ""
+ #define ENGINESDIR ""
+@@ -85,7 +87,6 @@
+ //
+ typedef UINTN          size_t;
+ typedef INTN           ssize_t;
+-typedef INT32          time_t;
+ typedef UINT8          __uint8_t;
+ typedef UINT8          sa_family_t;
+ typedef UINT32         uid_t;
+diff -Naur VirtualBox-6.1.16/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/crypto/dso_conf.h VirtualBox-6.1.16-p/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/crypto/dso_conf.h
+--- VirtualBox-6.1.16/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/crypto/dso_conf.h	1970-01-01 01:00:00.000000000 +0100
++++ VirtualBox-6.1.16-p/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/crypto/dso_conf.h	2020-11-18 19:49:31.373799723 +0100
+@@ -0,0 +1,16 @@
++/* WARNING: do not edit! */
++/* Generated from include/crypto/dso_conf.h.in */
++/*
++ * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved.
++ *
++ * Licensed under the OpenSSL license (the "License").  You may not use
++ * this file except in compliance with the License.  You can obtain a copy
++ * in the file LICENSE in the source distribution or at
++ * https://www.openssl.org/source/license.html
++ */
++
++#ifndef OSSL_CRYPTO_DSO_CONF_H
++# define OSSL_CRYPTO_DSO_CONF_H
++# define DSO_NONE
++# define DSO_EXTENSION ".so"
++#endif
+diff -Naur VirtualBox-6.1.16/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/openssl/opensslconf.h VirtualBox-6.1.16-p/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/openssl/opensslconf.h
+--- VirtualBox-6.1.16/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/openssl/opensslconf.h	2020-10-16 18:33:14.000000000 +0200
++++ VirtualBox-6.1.16-p/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/openssl/opensslconf.h	2020-11-18 19:50:28.307144437 +0100
+@@ -94,9 +94,6 @@
+ #ifndef OPENSSL_RAND_SEED_NONE
+ # define OPENSSL_RAND_SEED_NONE
+ #endif
+-#ifndef OPENSSL_NO_AFALGENG
+-# define OPENSSL_NO_AFALGENG
+-#endif
+ #ifndef OPENSSL_NO_APPS
+ # define OPENSSL_NO_APPS
+ #endif
+diff -Naur VirtualBox-6.1.16/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf VirtualBox-6.1.16-p/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
+--- VirtualBox-6.1.16/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf	2020-10-16 18:33:15.000000000 +0200
++++ VirtualBox-6.1.16-p/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf	2020-11-18 19:45:14.004242437 +0100
+@@ -33,7 +33,7 @@
+   $(OPENSSL_PATH)/crypto/aes/aes_misc.c
+   $(OPENSSL_PATH)/crypto/aes/aes_ofb.c
+   $(OPENSSL_PATH)/crypto/aes/aes_wrap.c
+-  $(OPENSSL_PATH)/crypto/aes/aes_locl.h
++  $(OPENSSL_PATH)/crypto/aes/aes_local.h
+   $(OPENSSL_PATH)/crypto/aria/aria.c
+   $(OPENSSL_PATH)/crypto/arm_arch.h
+   $(OPENSSL_PATH)/crypto/asn1/a_bitstr.c
+@@ -104,7 +104,7 @@
+   $(OPENSSL_PATH)/crypto/asn1/charmap.h
+   $(OPENSSL_PATH)/crypto/asn1/tbl_standard.h
+   $(OPENSSL_PATH)/crypto/asn1/asn1_item_list.h
+-  $(OPENSSL_PATH)/crypto/asn1/asn1_locl.h
++  $(OPENSSL_PATH)/crypto/asn1/asn1_local.h
+   $(OPENSSL_PATH)/crypto/async/arch/async_null.c
+   $(OPENSSL_PATH)/crypto/async/arch/async_posix.c
+   $(OPENSSL_PATH)/crypto/async/arch/async_win.c
+@@ -114,7 +114,7 @@
+   $(OPENSSL_PATH)/crypto/async/async.c
+   $(OPENSSL_PATH)/crypto/async/async_err.c
+   $(OPENSSL_PATH)/crypto/async/async_wait.c
+-  $(OPENSSL_PATH)/crypto/async/async_locl.h
++  $(OPENSSL_PATH)/crypto/async/async_local.h
+   $(OPENSSL_PATH)/crypto/bio/b_addr.c
+   $(OPENSSL_PATH)/crypto/bio/b_dump.c
+   $(OPENSSL_PATH)/crypto/bio/b_sock.c
+@@ -215,7 +215,7 @@
+   $(OPENSSL_PATH)/crypto/des/str2key.c
+   $(OPENSSL_PATH)/crypto/des/xcbc_enc.c
+   $(OPENSSL_PATH)/crypto/des/spr.h
+-  $(OPENSSL_PATH)/crypto/des/des_locl.h
++  $(OPENSSL_PATH)/crypto/des/des_local.h
+   $(OPENSSL_PATH)/crypto/dh/dh_ameth.c
+   $(OPENSSL_PATH)/crypto/dh/dh_asn1.c
+   $(OPENSSL_PATH)/crypto/dh/dh_check.c
+@@ -230,7 +230,7 @@
+   $(OPENSSL_PATH)/crypto/dh/dh_prn.c
+   $(OPENSSL_PATH)/crypto/dh/dh_rfc5114.c
+   $(OPENSSL_PATH)/crypto/dh/dh_rfc7919.c
+-  $(OPENSSL_PATH)/crypto/dh/dh_locl.h
++  $(OPENSSL_PATH)/crypto/dh/dh_local.h
+   $(OPENSSL_PATH)/crypto/dso/dso_dl.c
+   $(OPENSSL_PATH)/crypto/dso/dso_dlfcn.c
+   $(OPENSSL_PATH)/crypto/dso/dso_err.c
+@@ -238,7 +238,7 @@
+   $(OPENSSL_PATH)/crypto/dso/dso_openssl.c
+   $(OPENSSL_PATH)/crypto/dso/dso_vms.c
+   $(OPENSSL_PATH)/crypto/dso/dso_win32.c
+-  $(OPENSSL_PATH)/crypto/dso/dso_locl.h
++  $(OPENSSL_PATH)/crypto/dso/dso_local.h
+   $(OPENSSL_PATH)/crypto/ebcdic.c
+   $(OPENSSL_PATH)/crypto/err/err.c
+   $(OPENSSL_PATH)/crypto/err/err_prn.c
+@@ -280,7 +280,7 @@
+   $(OPENSSL_PATH)/crypto/evp/evp_pkey.c
+   $(OPENSSL_PATH)/crypto/evp/m_md2.c
+   $(OPENSSL_PATH)/crypto/evp/m_md4.c
+-  $(OPENSSL_PATH)/crypto/md4/md4_locl.h
++  $(OPENSSL_PATH)/crypto/md4/md4_local.h
+   $(OPENSSL_PATH)/crypto/evp/m_md5.c
+   $(OPENSSL_PATH)/crypto/evp/m_md5_sha1.c
+   $(OPENSSL_PATH)/crypto/evp/m_mdc2.c
+@@ -304,7 +304,7 @@
+   $(OPENSSL_PATH)/crypto/evp/pmeth_fn.c
+   $(OPENSSL_PATH)/crypto/evp/pmeth_gn.c
+   $(OPENSSL_PATH)/crypto/evp/pmeth_lib.c
+-  $(OPENSSL_PATH)/crypto/evp/evp_locl.h
++  $(OPENSSL_PATH)/crypto/evp/evp_local.h
+   $(OPENSSL_PATH)/crypto/ex_data.c
+   $(OPENSSL_PATH)/crypto/getenv.c
+   $(OPENSSL_PATH)/crypto/hmac/hm_ameth.c
+@@ -323,7 +323,7 @@
+   $(OPENSSL_PATH)/crypto/md4/md4_one.c
+   $(OPENSSL_PATH)/crypto/md5/md5_dgst.c
+   $(OPENSSL_PATH)/crypto/md5/md5_one.c
+-  $(OPENSSL_PATH)/crypto/md5/md5_locl.h
++  $(OPENSSL_PATH)/crypto/md5/md5_local.h
+   $(OPENSSL_PATH)/crypto/mem.c
+   $(OPENSSL_PATH)/crypto/mem_clr.c
+   $(OPENSSL_PATH)/crypto/mem_dbg.c
+@@ -412,7 +412,7 @@
+   $(OPENSSL_PATH)/crypto/rand/rand_lcl.h
+   $(OPENSSL_PATH)/crypto/rc4/rc4_enc.c
+   $(OPENSSL_PATH)/crypto/rc4/rc4_skey.c
+-  $(OPENSSL_PATH)/crypto/rc4/rc4_locl.h
++  $(OPENSSL_PATH)/crypto/rc4/rc4_local.h
+   $(OPENSSL_PATH)/crypto/rsa/rsa_ameth.c
+   $(OPENSSL_PATH)/crypto/rsa/rsa_asn1.c
+   $(OPENSSL_PATH)/crypto/rsa/rsa_chk.c
+@@ -435,20 +435,20 @@
+   $(OPENSSL_PATH)/crypto/rsa/rsa_ssl.c
+   $(OPENSSL_PATH)/crypto/rsa/rsa_x931.c
+   $(OPENSSL_PATH)/crypto/rsa/rsa_x931g.c
+-  $(OPENSSL_PATH)/crypto/rsa/rsa_locl.h
++  $(OPENSSL_PATH)/crypto/rsa/rsa_local.h
+   $(OPENSSL_PATH)/crypto/sha/keccak1600.c
+   $(OPENSSL_PATH)/crypto/sha/sha1_one.c
+   $(OPENSSL_PATH)/crypto/sha/sha1dgst.c
+   $(OPENSSL_PATH)/crypto/sha/sha256.c
+   $(OPENSSL_PATH)/crypto/sha/sha512.c
+-  $(OPENSSL_PATH)/crypto/sha/sha_locl.h
++  $(OPENSSL_PATH)/crypto/sha/sha_local.h
+   $(OPENSSL_PATH)/crypto/siphash/siphash.c
+   $(OPENSSL_PATH)/crypto/siphash/siphash_ameth.c
+   $(OPENSSL_PATH)/crypto/siphash/siphash_pmeth.c
+   $(OPENSSL_PATH)/crypto/siphash/siphash_local.h
+   $(OPENSSL_PATH)/crypto/sm3/m_sm3.c
+   $(OPENSSL_PATH)/crypto/sm3/sm3.c
+-  $(OPENSSL_PATH)/crypto/sm3/sm3_locl.h
++  $(OPENSSL_PATH)/crypto/sm3/sm3_local.h
+   $(OPENSSL_PATH)/crypto/sm4/sm4.c
+   $(OPENSSL_PATH)/crypto/stack/stack.c
+   $(OPENSSL_PATH)/crypto/s390x_arch.h
+@@ -462,7 +462,7 @@
+   $(OPENSSL_PATH)/crypto/ui/ui_null.c
+   $(OPENSSL_PATH)/crypto/ui/ui_openssl.c
+   $(OPENSSL_PATH)/crypto/ui/ui_util.c
+-  $(OPENSSL_PATH)/crypto/ui/ui_locl.h
++  $(OPENSSL_PATH)/crypto/ui/ui_local.h
+   $(OPENSSL_PATH)/crypto/uid.c
+   $(OPENSSL_PATH)/crypto/vms_rms.h
+   $(OPENSSL_PATH)/crypto/x509/by_dir.c
+diff -Naur VirtualBox-6.1.16/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/OpensslLib/OpensslLib.inf VirtualBox-6.1.16-p/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/OpensslLib/OpensslLib.inf
+--- VirtualBox-6.1.16/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/OpensslLib/OpensslLib.inf	2020-10-16 18:33:15.000000000 +0200
++++ VirtualBox-6.1.16-p/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/OpensslLib/OpensslLib.inf	2020-11-18 19:45:14.004242437 +0100
+@@ -34,7 +34,7 @@
+   $(OPENSSL_PATH)/crypto/aes/aes_misc.c
+   $(OPENSSL_PATH)/crypto/aes/aes_ofb.c
+   $(OPENSSL_PATH)/crypto/aes/aes_wrap.c
+-  $(OPENSSL_PATH)/crypto/aes/aes_locl.h
++  $(OPENSSL_PATH)/crypto/aes/aes_local.h
+   $(OPENSSL_PATH)/crypto/aria/aria.c
+   $(OPENSSL_PATH)/crypto/arm_arch.h
+   $(OPENSSL_PATH)/crypto/asn1/a_bitstr.c
+@@ -105,7 +105,7 @@
+   $(OPENSSL_PATH)/crypto/asn1/charmap.h
+   $(OPENSSL_PATH)/crypto/asn1/tbl_standard.h
+   $(OPENSSL_PATH)/crypto/asn1/asn1_item_list.h
+-  $(OPENSSL_PATH)/crypto/asn1/asn1_locl.h
++  $(OPENSSL_PATH)/crypto/asn1/asn1_local.h
+   $(OPENSSL_PATH)/crypto/async/arch/async_null.c
+   $(OPENSSL_PATH)/crypto/async/arch/async_posix.c
+   $(OPENSSL_PATH)/crypto/async/arch/async_win.c
+@@ -113,7 +113,7 @@
+   $(OPENSSL_PATH)/crypto/async/async_err.c
+   $(OPENSSL_PATH)/crypto/async/async_wait.c
+   $(OPENSSL_PATH)/crypto/async/arch/async_win.h
+-  $(OPENSSL_PATH)/crypto/async/async_locl.h
++  $(OPENSSL_PATH)/crypto/async/async_local.h
+   $(OPENSSL_PATH)/crypto/async/arch/async_posix.h
+   $(OPENSSL_PATH)/crypto/async/arch/async_null.h
+   $(OPENSSL_PATH)/crypto/bio/b_addr.c
+@@ -216,7 +216,7 @@
+   $(OPENSSL_PATH)/crypto/des/str2key.c
+   $(OPENSSL_PATH)/crypto/des/xcbc_enc.c
+   $(OPENSSL_PATH)/crypto/des/spr.h
+-  $(OPENSSL_PATH)/crypto/des/des_locl.h
++  $(OPENSSL_PATH)/crypto/des/des_local.h
+   $(OPENSSL_PATH)/crypto/dh/dh_ameth.c
+   $(OPENSSL_PATH)/crypto/dh/dh_asn1.c
+   $(OPENSSL_PATH)/crypto/dh/dh_check.c
+@@ -231,7 +231,7 @@
+   $(OPENSSL_PATH)/crypto/dh/dh_prn.c
+   $(OPENSSL_PATH)/crypto/dh/dh_rfc5114.c
+   $(OPENSSL_PATH)/crypto/dh/dh_rfc7919.c
+-  $(OPENSSL_PATH)/crypto/dh/dh_locl.h
++  $(OPENSSL_PATH)/crypto/dh/dh_local.h
+   $(OPENSSL_PATH)/crypto/dso/dso_dl.c
+   $(OPENSSL_PATH)/crypto/dso/dso_dlfcn.c
+   $(OPENSSL_PATH)/crypto/dso/dso_err.c
+@@ -239,7 +239,7 @@
+   $(OPENSSL_PATH)/crypto/dso/dso_openssl.c
+   $(OPENSSL_PATH)/crypto/dso/dso_vms.c
+   $(OPENSSL_PATH)/crypto/dso/dso_win32.c
+-  $(OPENSSL_PATH)/crypto/dso/dso_locl.h
++  $(OPENSSL_PATH)/crypto/dso/dso_local.h
+   $(OPENSSL_PATH)/crypto/ebcdic.c
+   $(OPENSSL_PATH)/crypto/err/err.c
+   $(OPENSSL_PATH)/crypto/err/err_prn.c
+@@ -304,7 +304,7 @@
+   $(OPENSSL_PATH)/crypto/evp/pmeth_fn.c
+   $(OPENSSL_PATH)/crypto/evp/pmeth_gn.c
+   $(OPENSSL_PATH)/crypto/evp/pmeth_lib.c
+-  $(OPENSSL_PATH)/crypto/evp/evp_locl.h
++  $(OPENSSL_PATH)/crypto/evp/evp_local.h
+   $(OPENSSL_PATH)/crypto/ex_data.c
+   $(OPENSSL_PATH)/crypto/getenv.c
+   $(OPENSSL_PATH)/crypto/hmac/hm_ameth.c
+@@ -321,10 +321,10 @@
+   $(OPENSSL_PATH)/crypto/lhash/lhash_lcl.h
+   $(OPENSSL_PATH)/crypto/md4/md4_dgst.c
+   $(OPENSSL_PATH)/crypto/md4/md4_one.c
+-  $(OPENSSL_PATH)/crypto/md4/md4_locl.h
++  $(OPENSSL_PATH)/crypto/md4/md4_local.h
+   $(OPENSSL_PATH)/crypto/md5/md5_dgst.c
+   $(OPENSSL_PATH)/crypto/md5/md5_one.c
+-  $(OPENSSL_PATH)/crypto/md5/md5_locl.h
++  $(OPENSSL_PATH)/crypto/md5/md5_local.h
+   $(OPENSSL_PATH)/crypto/mem.c
+   $(OPENSSL_PATH)/crypto/mem_clr.c
+   $(OPENSSL_PATH)/crypto/mem_dbg.c
+@@ -413,7 +413,7 @@
+   $(OPENSSL_PATH)/crypto/rand/rand_lcl.h
+   $(OPENSSL_PATH)/crypto/rc4/rc4_enc.c
+   $(OPENSSL_PATH)/crypto/rc4/rc4_skey.c
+-  $(OPENSSL_PATH)/crypto/rc4/rc4_locl.h
++  $(OPENSSL_PATH)/crypto/rc4/rc4_local.h
+   $(OPENSSL_PATH)/crypto/rsa/rsa_ameth.c
+   $(OPENSSL_PATH)/crypto/rsa/rsa_asn1.c
+   $(OPENSSL_PATH)/crypto/rsa/rsa_chk.c
+@@ -436,21 +436,21 @@
+   $(OPENSSL_PATH)/crypto/rsa/rsa_ssl.c
+   $(OPENSSL_PATH)/crypto/rsa/rsa_x931.c
+   $(OPENSSL_PATH)/crypto/rsa/rsa_x931g.c
+-  $(OPENSSL_PATH)/crypto/rsa/rsa_locl.h
++  $(OPENSSL_PATH)/crypto/rsa/rsa_local.h
+   $(OPENSSL_PATH)/crypto/s390x_arch.h
+   $(OPENSSL_PATH)/crypto/sha/keccak1600.c
+   $(OPENSSL_PATH)/crypto/sha/sha1_one.c
+   $(OPENSSL_PATH)/crypto/sha/sha1dgst.c
+   $(OPENSSL_PATH)/crypto/sha/sha256.c
+   $(OPENSSL_PATH)/crypto/sha/sha512.c
+-  $(OPENSSL_PATH)/crypto/sha/sha_locl.h
++  $(OPENSSL_PATH)/crypto/sha/sha_local.h
+   $(OPENSSL_PATH)/crypto/siphash/siphash.c
+   $(OPENSSL_PATH)/crypto/siphash/siphash_ameth.c
+   $(OPENSSL_PATH)/crypto/siphash/siphash_pmeth.c
+   $(OPENSSL_PATH)/crypto/siphash/siphash_local.h
+   $(OPENSSL_PATH)/crypto/sm3/m_sm3.c
+   $(OPENSSL_PATH)/crypto/sm3/sm3.c
+-  $(OPENSSL_PATH)/crypto/sm3/sm3_locl.h
++  $(OPENSSL_PATH)/crypto/sm3/sm3_local.h
+   $(OPENSSL_PATH)/crypto/sm4/sm4.c
+   $(OPENSSL_PATH)/crypto/stack/stack.c
+   $(OPENSSL_PATH)/crypto/sparc_arch.h
+@@ -463,7 +463,7 @@
+   $(OPENSSL_PATH)/crypto/ui/ui_null.c
+   $(OPENSSL_PATH)/crypto/ui/ui_openssl.c
+   $(OPENSSL_PATH)/crypto/ui/ui_util.c
+-  $(OPENSSL_PATH)/crypto/ui/ui_locl.h
++  $(OPENSSL_PATH)/crypto/ui/ui_local.h
+   $(OPENSSL_PATH)/crypto/vms_rms.h
+   $(OPENSSL_PATH)/crypto/uid.c
+   $(OPENSSL_PATH)/crypto/x509/by_dir.c
+@@ -589,13 +589,13 @@
+   $(OPENSSL_PATH)/ssl/t1_trce.c
+   $(OPENSSL_PATH)/ssl/tls13_enc.c
+   $(OPENSSL_PATH)/ssl/tls_srp.c
+-  $(OPENSSL_PATH)/ssl/record/record_locl.h
++  $(OPENSSL_PATH)/ssl/record/record_local.h
+   $(OPENSSL_PATH)/ssl/statem/statem.h
+-  $(OPENSSL_PATH)/ssl/statem/statem_locl.h
+-  $(OPENSSL_PATH)/ssl/ssl_locl.h
++  $(OPENSSL_PATH)/ssl/statem/statem_local.h
++  $(OPENSSL_PATH)/ssl/ssl_local.h
+   $(OPENSSL_PATH)/ssl/record/record.h
+   $(OPENSSL_PATH)/ssl/ssl_cert_table.h
+-  $(OPENSSL_PATH)/ssl/packet_locl.h
++  $(OPENSSL_PATH)/ssl/packet_local.h
+ # Autogenerated files list ends here
+ 
+   ossl_store.c
+diff -Naur VirtualBox-6.1.16/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/OpensslLib/rand_pool.c VirtualBox-6.1.16-p/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/OpensslLib/rand_pool.c
+--- VirtualBox-6.1.16/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/OpensslLib/rand_pool.c	2020-10-16 18:33:15.000000000 +0200
++++ VirtualBox-6.1.16-p/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/OpensslLib/rand_pool.c	2020-11-18 19:54:07.216470611 +0100
+@@ -7,7 +7,7 @@
+ 
+ **/
+ 
+-#include "internal/rand_int.h"
++#include "crypto/rand.h"
+ #include <openssl/aes.h>
+ 
+ #include <Uefi.h>
diff --git a/vbox-6.1.6-firmware-build-python3.9.patch b/vbox-6.1.6-firmware-build-python3.9.patch
new file mode 100644
index 0000000..85e4ed0
--- /dev/null
+++ b/vbox-6.1.6-firmware-build-python3.9.patch
@@ -0,0 +1,46 @@
+diff -up VirtualBox-6.1.16/src/VBox/Devices/EFI/Firmware/BaseTools/Source/Python/AutoGen/UniClassObject.py.omv~ VirtualBox-6.1.16/src/VBox/Devices/EFI/Firmware/BaseTools/Source/Python/AutoGen/UniClassObject.py
+--- VirtualBox-6.1.16/src/VBox/Devices/EFI/Firmware/BaseTools/Source/Python/AutoGen/UniClassObject.py.omv~	2020-11-19 00:11:43.325451341 +0100
++++ VirtualBox-6.1.16/src/VBox/Devices/EFI/Firmware/BaseTools/Source/Python/AutoGen/UniClassObject.py	2020-11-19 00:13:34.384972912 +0100
+@@ -309,7 +309,11 @@ class UniFileClassObject(object):
+ 
+     @staticmethod
+     def VerifyUcs2Data(FileIn, FileName, Encoding):
+-        Ucs2Info = codecs.lookup('ucs-2')
++        try:
++            Ucs2Info = codecs.lookup('ucs-2')
++        except:
++            # FIXME why does the lookup not work?
++            Ucs2Info = TheUcs2Codec
+         #
+         # Convert to unicode
+         #
+diff -up VirtualBox-6.1.16/src/VBox/Devices/EFI/Firmware/BaseTools/Source/Python/Common/Misc.py.omv~ VirtualBox-6.1.16/src/VBox/Devices/EFI/Firmware/BaseTools/Source/Python/Common/Misc.py
+--- VirtualBox-6.1.16/src/VBox/Devices/EFI/Firmware/BaseTools/Source/Python/Common/Misc.py.omv~	2020-11-19 00:17:19.184022113 +0100
++++ VirtualBox-6.1.16/src/VBox/Devices/EFI/Firmware/BaseTools/Source/Python/Common/Misc.py	2020-11-19 00:17:37.070263329 +0100
+@@ -1648,7 +1648,7 @@ class PeImageClass():
+         ByteArray = array.array('B')
+         ByteArray.fromfile(PeObject, 4)
+         # PE signature should be 'PE\0\0'
+-        if ByteArray.tostring() != b'PE\0\0':
++        if ByteArray != b'PE\0\0':
+             self.ErrorInfo = self.FileName + ' has no valid PE signature PE00'
+             return
+ 
+diff -up VirtualBox-6.1.16/src/VBox/Devices/EFI/Firmware/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py.omv~ VirtualBox-6.1.16/src/VBox/Devices/EFI/Firmware/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py
+--- VirtualBox-6.1.16/src/VBox/Devices/EFI/Firmware/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py.omv~	2020-11-19 00:18:08.220683019 +0100
++++ VirtualBox-6.1.16/src/VBox/Devices/EFI/Firmware/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py	2020-11-19 00:26:11.012139567 +0100
+@@ -459,12 +459,12 @@ class GenFdsGlobalVariable:
+                     GenFdsGlobalVariable.SecCmdList.append(' '.join(Cmd).strip())
+             else:
+                 SectionData = array('B', [0, 0, 0, 0])
+-                SectionData.fromstring(Ui.encode("utf_16_le"))
++                SectionData.frombytes(Ui.encode("utf_16_le"))
+                 SectionData.append(0)
+                 SectionData.append(0)
+                 Len = len(SectionData)
+                 GenFdsGlobalVariable.SectionHeader.pack_into(SectionData, 0, Len & 0xff, (Len >> 8) & 0xff, (Len >> 16) & 0xff, 0x15)
+-                SaveFileOnChange(Output, SectionData.tostring())
++                SaveFileOnChange(Output, SectionData.tobytes())
+ 
+         elif Ver:
+             Cmd += ("-n", Ver)
diff --git a/virtualbox-6.1.16-python3.9.patch b/virtualbox-6.1.16-python3.9.patch
new file mode 100644
index 0000000..5a8263b
--- /dev/null
+++ b/virtualbox-6.1.16-python3.9.patch
@@ -0,0 +1,12 @@
+diff -up VirtualBox-6.1.16/configure.omv~ VirtualBox-6.1.16/configure
+--- VirtualBox-6.1.16/configure.omv~	2020-10-28 16:19:47.294143325 +0100
++++ VirtualBox-6.1.16/configure	2020-10-28 16:20:39.344672473 +0100
+@@ -2028,7 +2028,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"
+   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
diff --git a/virtualbox.spec b/virtualbox.spec
index 67f050f..4842c4e 100644
--- a/virtualbox.spec
+++ b/virtualbox.spec
@@ -5,7 +5,7 @@
 %define distname %{oname}-%{version}%{?beta:_%{beta}}
 %define pkgver %{ver}
 
-%define vboxlibdir %{_libdir}/%{name}
+%define vboxlibdir %{_prefix}/lib/%{name}
 %define vboxdatadir %{_datadir}/%{name}
 
 %ifarch %{x86_64}
@@ -27,16 +27,18 @@
 %bcond_with clang
 %bcond_with docs
 
+## (crazy) fixem that is always true these days
 %bcond_without additions
 %bcond_without vnc_ext_pack
+%bcond_without firmware
 
 Summary:	A general-purpose full virtualizer for x86 hardware
 Name:		virtualbox
 # WARNING: WHEN UPDATING THIS PACKAGE, ALWAYS REBUILD THE
 # kernel-release AND kernel-rc PACKAGES TO MAKE SURE MODULES
 # AND USERSPACE ARE IN SYNC
-Version:	6.1.12a
-Release:	6
+Version:	6.1.16
+Release:	4
 License:	GPLv2
 Group:		Emulators
 Url:		http://www.virtualbox.org/
@@ -46,10 +48,16 @@ Source3:	virtualbox-tmpfiles.conf
 Source4:	60-vboxadd.perms
 Source5:	vboxadd.service
 Source6:	vboxweb.service
-Source7:    vboxdrmclient.service
-Source8:    vboxdrmclient.path
+Source7:	vboxdrmclient.service
+Source8:	vboxdrmclient.path
 Source20:	os_openmandriva.png
 Source21:	os_openmandriva_64.png
+%if %{with firmware}
+# Can't use system openssl because we built OpenSSL for UEFI, not
+# for Linux
+%define openssl 1.1.1h
+Source50:	https://www.openssl.org/source/openssl-%{openssl}.tar.gz
+%endif
 Source100:	virtualbox.rpmlintrc
 # Revert upstream's (between 6.1.0 and 6.1.2) removal of symbols
 # that are used everywhere -- without this patch, starting
@@ -60,6 +68,7 @@ Source100:	virtualbox.rpmlintrc
 Patch0:		VirtualBox-6.1.2-revert-removal-of-vital-symbols.patch
 # Update docs on kernel modules
 Patch1:		virtualbox-fix-modules-rebuild-command.patch
+Patch2:		virtualbox-6.1.16-python3.9.patch
 # Fix docs to give the right mount command for the in-tree version of vboxsf
 Patch3:		VirtualBox-4.1.8-futex.patch
 Patch4:		virtualbox-fix-vboxadd-req.patch
@@ -81,9 +90,10 @@ Patch11:	vbox-6.1.10-compile.patch
 
 Patch18:	VirtualBox-5.1.8-gsoap-2.8.13.patch
 Patch22:	virtualbox-no-prehistoric-xfree86.patch
-#Patch23:	VirtualBox-5.0.10-no-bundles.patch
+Patch23:	VirtualBox-5.0.10-no-bundles.patch
 Patch24:	VirtualBox-5.0.18-xserver_guest_xorg19.patch
-Patch25:    fix-vboxadd-xclient.patch
+Patch25:	fix-vboxadd-xclient.patch
+Patch26:	vbox-6.1.6-firmware-build-python3.9.patch
 # "Borrowed" from Debian https://salsa.debian.org/pkg-virtualbox-team/virtualbox/blob/master/debian/patches
 #Patch103:	06-xsession.patch
 Patch104:	07-vboxnetflt-reference.patch
@@ -100,6 +110,9 @@ Patch200:	VirtualBox-add-support-for-OpenMandriva.patch
 # (tpg) do not crash on Wayland
 Patch201:	VirtualBox-5.2.16-use-xcb-on-wayland.patch
 Patch202:	vbox-6.0.6-find-java-modules.patch
+# From FrugalWare
+Patch300:	https://gitweb.frugalware.org/frugalware-current/raw/67d0618e5c19f8b44ebb6eab78c56048b412bdc3/source/xapps-extra/virtualbox/boot-efi-boot.patch
+Patch301:	https://gitweb.frugalware.org/frugalware-current/raw/67d0618e5c19f8b44ebb6eab78c56048b412bdc3/source/xapps-extra/virtualbox/firmware-build-fixes.patch
 ExclusiveArch:	%{x86_64}
 # (tpg) 2019-10-16 vbox is not ready for LLVM/clang
 BuildRequires:	gcc-c++
@@ -109,8 +122,11 @@ BuildRequires:	gawk
 BuildRequires:	gsoap
 BuildRequires:	acpica
 BuildRequires:	yasm
-BuildRequires:  vde2
-BuildRequires: pkgconfig(xorg-server)
+BuildRequires:	vde2
+BuildRequires:	pkgconfig(xorg-server)
+%if %{with firmware}
+BuildRequires:	nasm
+%endif
 %if %{with java}
 BuildRequires:	jdk-current
 BuildRequires:	javax.activation
@@ -186,8 +202,8 @@ The modules in this package are required on the HOST side.
 %package guest-additions
 Summary:	Additions for VirtualBox guest systems
 Group:		Emulators
-Requires:   x11-driver-video-vmware
-Requires:   libdri-drivers-vmwgfx
+Requires:	x11-driver-video-vmware
+Requires:	%{_lib}dri-drivers-vmwgfx
 Requires:	libnotify
 Requires(post,preun): rpm-helper
 
@@ -251,22 +267,19 @@ rm -rf src/VBox/Additions/x11/x11stubs
 rm -rf src/libs/{libpng-*,libxml2-*,zlib-*}
 
 cat << EOF > LocalConfig.kmk
-VBOX_BUILD_PUBLISHER:=_omv
 VBOX_WITH_WARNINGS_AS_ERRORS:=
 VBOX_PATH_APP_PRIVATE_ARCH:=%{vboxlibdir}
-VBOX_WITH_ORIGIN:=
+VBOX_PATH_SHARED_LIBS:=%{vboxlibdir}
 VBOX_WITH_RUNPATH:=%{vboxlibdir}
-VBOX_PATH_APP_PRIVATE:=%{vboxlibdir}
+VBOX_WITH_ORIGIN:=
+VBOX_PATH_APP_PRIVATE:=/usr/share/virtualbox
 VBOX_WITH_VNC:=1
 VBOX_WITH_VPX:=1
 VBOX_WITH_LIBOPUS:=1
 VBOX_WITH_LIBCURL:=1
 SDK_VBOX_LIBPNG_INCS:=%{_includedir}/libpng16
 SDK_VBOX_LIBPNG_LIBS:=png16
-#SDK_VBOX_LIBXML2_INCS:=""
 SDK_VBOX_LIBXML2_LIBS:=xml2
-#SDK_VBOX_OPENSSL_INCS:=""
-#SDK_VBOX_OPENSSL_LIBS:=""
 SDK_VBOX_ZLIB_INCS:=""
 SDK_VBOX_ZLIB_LIBS:=z
 SDK_VBOX_LIBLZF_INCS:=""
@@ -299,6 +312,9 @@ VBOX_WITH_UPDATE_REQUEST:=0
 VBOX_GUI_WITH_SHARED_LIBRARY:=1
 # Default is Oracle VM VirtualBox -- let's not advertise the bad guys
 VBOX_PRODUCT=VirtualBox
+%if %{with firmware}
+VBOX_EFI_FIRMWARE_EFI_MODULES_KMK_INCLUDED := 0
+%endif
 EOF
 
 # (tpg) 2019-10-16 vbox is not ready for LLVM/clang
@@ -307,9 +323,9 @@ sed -i -e 's#CC="gcc"#CC="clang"#g' configure
 sed -i -e 's#CXX="g++"#CXX="clang++"#g' configure
 sed -i -e 's,-mpreferred-stack-boundary=2,,g' Config.kmk src/VBox/Devices/PC/ipxe/Makefile.kmk src/VBox/Devices/PC/ipxe/src/arch/i386/Makefile
 %endif
-sed -i -e 's#/usr/lib/virtualbox#%{vboxlibdir}#g' src/VBox/Installer/linux/VBox.sh
-sed -i -e 's#-fpermissive##g' -e 's#-finline-limit=8000##g' Config.kmk
 
+# (crazy) why? needs to go
+#sed -i -e 's#-fpermissive##g' -e 's#-finline-limit=8000##g' Config.kmk
 
 %build
 # FIXME: gold linker dies with internal error in segment_precedes, at ../../gold/layout.cc:3250
@@ -326,13 +342,6 @@ echo VBOX_GCC_OPT="$(echo %{optflags} $(pkg-config --cflags pixman-1) | sed -e '
 %endif
 echo TOOL_GCC_LDFLAGS="%{ldflags}" >> LocalConfig.kmk
 
-%if %{with additions}
-echo XSERVER_VERSION=%{x11_server_majorver} >>LocalConfig.kmk
-%else
-sed -rie 's/(VBOX_WITH_LINUX_ADDITIONS\s+:=\s+).*/\1/' AutoConfig.kmk
-echo VBOX_WITHOUT_ADDITIONS=1 >> LocalConfig.kmk
-%endif
-
 # (crazy) /opt is the wrong location
 sed -i -e 's|opt/VirtualBox|usr/share/virtualbox|g' src/VBox/RDP/client-1.8.4/Makefile.kmk
 
@@ -351,8 +360,25 @@ sed -i -e 's|opt/VirtualBox|usr/share/virtualbox|g' src/VBox/RDP/client-1.8.4/Ma
 %endif
     --enable-pulse || (cat configure.log && exit 1)
 
-
 . ./env.sh
+
+%if %{with firmware}
+	# NOTE: this needs to run before main kmk,
+	# *DD.so & *DD2.so uses the EFI* stuff we just build here
+	TOP="$(pwd)"
+	rm src/VBox/Devices/EFI/FirmwareBin/*
+	cd src/VBox/Devices/EFI/Firmware
+	. ./edksetup.sh
+	cd CryptoPkg/Library/OpensslLib/openssl
+	tar x --strip-components=1 -f %{S:50}
+	cd ..
+	perl process_files.pl
+	cd ../../..
+	kmk
+	cd "${TOP}"
+	cp out/*/release/bin/VBoxEFI*.fd src/VBox/Devices/EFI/FirmwareBin/
+%endif
+
 # (crazy) we want this package in kmk *very verbose* mode to see what the hell they do
 # DO NOT REMOVE!
 kmk %{_smp_mflags} KBUILD_VERBOSE=2 all
@@ -366,17 +392,17 @@ kmk %{_smp_mflags} KBUILD_VERBOSE=2 -C src/VBox/ExtPacks/VNC packing
 # install vbox components
 mkdir -p %{buildroot}%{vboxlibdir} %{buildroot}%{vboxdatadir}
 
-# NOTE: packaging like this is wrong!
+# (crazy) NOTE: packaging like this is wrong! FIXME
 (cd out/%{vbox_platform}/release/bin && tar cf - --exclude=additions .) | \
 (cd %{buildroot}%{vboxlibdir} && tar xf -)
 # move noarch files to vboxdatadir
-# (crazy) _WHY_ is VBox.sh in datadir?
+# (crazy) _WHY_ is VBox.sh in datadir? FIXME
 mv %{buildroot}%{vboxlibdir}/{VBox*.sh,nls,rdesktop-vrdp-keymaps,*.png} %{buildroot}%{vboxdatadir}
 
 # wipe crap/duplicates
 # (crazy) broken symlink
 rm -f %{buildroot}%{vboxlibdir}/components/VBoxREM.so
-# packaged in mime 
+# packaged in mime
 rm -f %{buildroot}%{vboxlibdir}/virtualbox.xml
 # those service.sh etc scripts ( no such init here ) are junk, don't package
 rm -f %{buildroot}%{vboxlibdir}/*.sh
@@ -473,7 +499,7 @@ install -m644 out/%{vbox_platform}/release/packages/VNC-*.vbox-extpack %{buildro
 %if %{with additions}
 mkdir -p %{buildroot}%{_sysconfdir}/xdg/autostart
 install -m755 src/VBox/Additions/x11/Installer/98vboxadd-xclient %{buildroot}%{_bindir}/VBoxClient-all
-install -m755 src/VBox/Additions/x11/Installer/vboxclient.desktop %{buildroot}%{_sysconfdir}/xdg/autostart/vboxclient.desktop
+install -m644 src/VBox/Additions/x11/Installer/vboxclient.desktop %{buildroot}%{_sysconfdir}/xdg/autostart/vboxclient.desktop
 
 cd out/%{vbox_platform}/release/bin/additions
   install -d %{buildroot}/sbin %{buildroot}%{_sbindir}  %{buildroot}%{_unitdir}
Not Available

benbullard79 [@T] cox.netNo Comment.1216d 08hrs
benbullard79 [@T] cox.netNo Comment.1216d 08hrs