diff options
Diffstat (limited to 'debian/patches')
22 files changed, 740 insertions, 0 deletions
diff --git a/debian/patches/01-build-arch.patch b/debian/patches/01-build-arch.patch new file mode 100644 index 00000000..99c0989e --- /dev/null +++ b/debian/patches/01-build-arch.patch @@ -0,0 +1,16 @@ +Description: Correctly check build architecture. +Author: Michael Meskes <meskes@debian.org> + +Index: virtualbox/configure +=================================================================== +--- virtualbox.orig/configure 2013-11-19 03:40:50.133475296 -0500 ++++ virtualbox/configure 2013-11-19 03:40:50.129475296 -0500 +@@ -350,7 +350,7 @@ + check_environment() + { + test_header environment +- BUILD_CPU=`uname -m` ++ BUILD_CPU=`dpkg-architecture -qDEB_HOST_GNU_CPU` + [ "$OS" = "solaris" ] && BUILD_CPU=`isainfo | cut -f 1 -d ' '` + case "$BUILD_CPU" in + i[3456789]86|x86|i86pc|BePC) diff --git a/debian/patches/02-gsoap-build-fix.patch b/debian/patches/02-gsoap-build-fix.patch new file mode 100644 index 00000000..43b12d0f --- /dev/null +++ b/debian/patches/02-gsoap-build-fix.patch @@ -0,0 +1,14 @@ +Interim build fix for gsoap > 2.8.13 +Index: virtualbox-git-orig/src/VBox/Main/webservice/Makefile.kmk +=================================================================== +--- virtualbox-git-orig.orig/src/VBox/Main/webservice/Makefile.kmk 2013-12-02 12:32:51.211124975 -0500 ++++ virtualbox-git-orig/src/VBox/Main/webservice/Makefile.kmk 2013-12-02 12:36:04.531133954 -0500 +@@ -770,7 +770,7 @@ + $(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" diff --git a/debian/patches/04-vboxdrv-references.patch b/debian/patches/04-vboxdrv-references.patch new file mode 100644 index 00000000..39cd901e --- /dev/null +++ b/debian/patches/04-vboxdrv-references.patch @@ -0,0 +1,72 @@ +Description: Change error messages for vboxdrv failure, according to virtualbox-dkms. +Author: Daniel Hahler <ubuntu@thequod.de> + +Index: virtualbox/src/VBox/VMM/VMMR3/VM.cpp +=================================================================== +--- virtualbox.orig/src/VBox/VMM/VMMR3/VM.cpp ++++ virtualbox/src/VBox/VMM/VMMR3/VM.cpp +@@ -271,10 +271,8 @@ + + #ifdef RT_OS_LINUX + case VERR_SUPDRV_COMPONENT_NOT_FOUND: +- pszError = N_("One of the kernel modules was not successfully loaded. Make sure " +- "that no kernel modules from an older version of VirtualBox exist. " +- "Then try to recompile and reload the kernel modules by executing " +- "'/sbin/vboxconfig' as root"); ++ pszError = N_("Please install the virtualbox-dkms package " ++ "and execute 'modprobe vboxdrv' as root"); + break; + #endif + +@@ -337,10 +335,8 @@ + { + case VERR_VM_DRIVER_LOAD_ERROR: + #ifdef RT_OS_LINUX +- pszError = N_("VirtualBox kernel driver not loaded. The vboxdrv kernel module " +- "was either not loaded or /dev/vboxdrv is not set up properly. " +- "Re-setup the kernel module by executing " +- "'/sbin/vboxconfig' as root"); ++ pszError = N_("Please install the virtualbox-dkms package " ++ "and execute 'modprobe vboxdrv' as root"); + #else + pszError = N_("VirtualBox kernel driver not loaded"); + #endif +@@ -379,10 +375,8 @@ + case VERR_INVALID_HANDLE: /** @todo track down and fix this error. */ + case VERR_VM_DRIVER_NOT_INSTALLED: + #ifdef RT_OS_LINUX +- pszError = N_("VirtualBox kernel driver not installed. The vboxdrv kernel module " +- "was either not loaded or /dev/vboxdrv was not created for some " +- "reason. Re-setup the kernel module by executing " +- "'/sbin/vboxconfig' as root"); ++ pszError = N_("Please install the virtualbox-dkms package " ++ "and execute 'modprobe vboxdrv' as root"); + #else + pszError = N_("VirtualBox kernel driver not installed"); + #endif +Index: virtualbox/src/VBox/Frontends/VirtualBox/src/main.cpp +=================================================================== +--- virtualbox.orig/src/VBox/Frontends/VirtualBox/src/main.cpp ++++ virtualbox/src/VBox/Frontends/VirtualBox/src/main.cpp +@@ -87,9 +87,9 @@ + + QString g_QStrHintLinuxNoDriver = QApplication::tr( + "The VirtualBox Linux kernel driver (vboxdrv) is either not loaded or " +- "there is a permission problem with /dev/vboxdrv. Please reinstall the kernel " +- "module by executing<br/><br/>" +- " <font color=blue>'/sbin/vboxconfig'</font><br/><br/>" ++ "there is a permission problem with /dev/vboxdrv. Please reinstall virtualbox-dkms " ++ "package and load the kernel module by executing<br/><br/>" ++ " <font color=blue>'modprobe vboxdrv'</font><br/><br/>" + "as root." + ); + +@@ -104,7 +104,7 @@ + "The VirtualBox kernel modules do not match this version of " + "VirtualBox. The installation of VirtualBox was apparently not " + "successful. Executing<br/><br/>" +- " <font color=blue>'/sbin/vboxconfig'</font><br/><br/>" ++ " <font color=blue>'modprobe vboxdrv'</font><br/><br/>" + "may correct this. Make sure that you do not mix the " + "OSE version and the PUEL version of VirtualBox." + ); diff --git a/debian/patches/06-xsession.patch b/debian/patches/06-xsession.patch new file mode 100644 index 00000000..2329f377 --- /dev/null +++ b/debian/patches/06-xsession.patch @@ -0,0 +1,24 @@ +Description: Make Xsession.d script ignore errors. +Author: Michael Meskes <meskes@debian.org> + +Index: virtualbox/src/VBox/Additions/x11/Installer/98vboxadd-xclient +=================================================================== +--- virtualbox.orig/src/VBox/Additions/x11/Installer/98vboxadd-xclient ++++ virtualbox/src/VBox/Additions/x11/Installer/98vboxadd-xclient +@@ -30,10 +30,10 @@ + # 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. +- /usr/bin/VBoxClient --clipboard +- /usr/bin/VBoxClient --checkhostversion +- /usr/bin/VBoxClient --display +- /usr/bin/VBoxClient --seamless +- /usr/bin/VBoxClient --draganddrop +- /usr/bin/VBoxClient --vmsvga-x11 # In case VMSVGA emulation is enabled ++ /usr/bin/VBoxClient --clipboard || true ++ /usr/bin/VBoxClient --checkhostversion || true ++ /usr/bin/VBoxClient --display || true ++ /usr/bin/VBoxClient --seamless || true ++ /usr/bin/VBoxClient --draganddrop || true ++ /usr/bin/VBoxClient --vmsvga-x11 || true # In case VMSVGA emulation is enabled + fi diff --git a/debian/patches/07-vboxnetflt-reference.patch b/debian/patches/07-vboxnetflt-reference.patch new file mode 100644 index 00000000..6094ed1f --- /dev/null +++ b/debian/patches/07-vboxnetflt-reference.patch @@ -0,0 +1,16 @@ +Description: Made error message tell about missing vboxnetflt module. +Author: Michael Meskes <meskes@debian.org> + +Index: virtualbox/src/VBox/Devices/Network/DrvIntNet.cpp +=================================================================== +--- virtualbox.orig/src/VBox/Devices/Network/DrvIntNet.cpp 2013-11-19 03:41:03.413475913 -0500 ++++ virtualbox/src/VBox/Devices/Network/DrvIntNet.cpp 2013-11-19 03:41:03.409475913 -0500 +@@ -1766,7 +1766,7 @@ + return VERR_PDM_NO_ATTACHED_DRIVER; + } + return PDMDrvHlpVMSetError(pDrvIns, rc, RT_SRC_POS, +- N_("Failed to open/create the internal network '%s'"), pThis->szNetwork); ++ N_("Failed to open/create the internal network '%s' (you might need to modprobe vboxnetflt to make it accessible)"), pThis->szNetwork); + } + + AssertRelease(OpenReq.hIf != INTNET_HANDLE_INVALID); diff --git a/debian/patches/12-make-module.patch b/debian/patches/12-make-module.patch new file mode 100644 index 00000000..de4812d2 --- /dev/null +++ b/debian/patches/12-make-module.patch @@ -0,0 +1,14 @@ +Description: Fix ARCH setting in modules Makefiles. +Author: Michael Meskes <meskes@debian.org>, Gianfranco Costamagna <locutusofborg@debian.org> + +--- a/src/VBox/Installer/linux/Makefile.include.header ++++ b/src/VBox/Installer/linux/Makefile.include.header +@@ -46,7 +46,7 @@ + # (We have to support basic cross building (ARCH=i386|x86_64).) + # While at it, warn about BUILD_* vars found to help with user problems. + # +-ifeq ($(filter-out x86_64 amd64 AMD64,$(shell uname -m)),) ++ifeq ($(filter-out x86_64 amd64 AMD64,$(shell dpkg-architecture -qDEB_HOST_GNU_CPU)),) + BUILD_TARGET_ARCH_DEF := amd64 + else + BUILD_TARGET_ARCH_DEF := x86 diff --git a/debian/patches/13-module-mismatch.patch b/debian/patches/13-module-mismatch.patch new file mode 100644 index 00000000..0edaa15f --- /dev/null +++ b/debian/patches/13-module-mismatch.patch @@ -0,0 +1,22 @@ +Description: Adjusts failure message with Debian specific solution. +Author: Daniel Baumann <daniel@debian.org> + +Index: virtualbox/src/VBox/VMM/VMMR3/VM.cpp +=================================================================== +--- virtualbox.orig/src/VBox/VMM/VMMR3/VM.cpp 2015-04-02 14:37:20.225796295 +0200 ++++ virtualbox/src/VBox/VMM/VMMR3/VM.cpp 2015-04-02 14:37:20.221796293 +0200 +@@ -386,9 +386,11 @@ + break; + case VERR_VERSION_MISMATCH: + case VERR_VM_DRIVER_VERSION_MISMATCH: +- pszError = N_("The VirtualBox support driver which is running is from a different " +- "version of VirtualBox. You can correct this by stopping all " +- "running instances of VirtualBox and reinstalling the software."); ++ pszError = N_("The version of the VirtualBox kernel modules and the version of " ++ "VirtualBox application are not matching. You can correct this by " ++ "either installing the correct virtualbox-modules package " ++ "(if available) through apt-get or by building it manually with: " ++ "module-assistant auto-install virtualbox"); + break; + default: + pszError = N_("Unknown error initializing kernel driver"); diff --git a/debian/patches/16-no-update.patch b/debian/patches/16-no-update.patch new file mode 100644 index 00000000..66785c5a --- /dev/null +++ b/debian/patches/16-no-update.patch @@ -0,0 +1,124 @@ +Description: Disable "Check for Updates" action. +Bug-Ubuntu: https://bugs.launchpad.net/bugs/272212 +Author: Daniel Hahler <ubuntu@thequod.de>, Felix Geyer <fgeyer@debian.org>, Gianfranco Costamagna <locutusofborg@debian.org> + +Index: virtualbox/doc/manual/en_US/user_Introduction.xml +=================================================================== +--- virtualbox.orig/doc/manual/en_US/user_Introduction.xml ++++ virtualbox/doc/manual/en_US/user_Introduction.xml +@@ -3390,14 +3390,14 @@ + <xref linkend="specialcharacters"/>. + </para> + </listitem> +- ++ <!-- + <listitem> + <para> + <emphasis role="bold">Update.</emphasis> Enables the user to + specify various settings for Automatic Updates. + </para> + </listitem> +- ++ --> + <listitem> + <para> + <emphasis role="bold">Language.</emphasis> Enables the user to +diff --git a/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp b/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp +index 2b0484f22..c532d7e09 100644 +--- a/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp ++++ b/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp +@@ -2344,7 +2344,7 @@ QString UIExtraDataManager::preventBetaBuildWarningForVersion() + bool UIExtraDataManager::applicationUpdateEnabled() + { + /* 'True' unless 'restriction' feature allowed: */ +- return !isFeatureAllowed(GUI_PreventApplicationUpdate); ++ return false; + } + + QString UIExtraDataManager::applicationUpdateData() +#diff --git a/src/VBox/Frontends/VirtualBox/Makefile.kmk b/src/VBox/Frontends/VirtualBox/Makefile.kmk +#index d5b1813cb..b083c56ad 100644 +#--- a/src/VBox/Frontends/VirtualBox/Makefile.kmk +#+++ b/src/VBox/Frontends/VirtualBox/Makefile.kmk +#@@ -190,10 +190,10 @@ ifdef VBOX_WITH_VIDEOHWACCEL +# else ifdef VBOX_GUI_USE_QGL +# VirtualBox_DEFS += VBOX_GUI_USE_QGL +# endif +#-ifdef VBOX_WITH_LIBCURL +#- VirtualBox_DEFS += VBOX_GUI_WITH_NETWORK_MANAGER +#- VBOX_GUI_WITH_NETWORK_MANAGER := 1 +#-endif +#+#ifdef VBOX_WITH_LIBCURL +#+# VirtualBox_DEFS += VBOX_GUI_WITH_NETWORK_MANAGER +#+# VBOX_GUI_WITH_NETWORK_MANAGER := 1 +#+#endif +# if "$(KBUILD_TYPE)" != "release" || defined(VBOX_GUI_WITH_EXTRADATA_MANAGER_UI) +# VirtualBox_DEFS += VBOX_GUI_WITH_EXTRADATA_MANAGER_UI +# endif +--- virtualbox-6.0.2-dfsg.orig/src/VBox/Frontends/VirtualBox/src/settings/UISettingsDialogSpecific.cpp ++++ virtualbox-6.0.2-dfsg/src/VBox/Frontends/VirtualBox/src/settings/UISettingsDialogSpecific.cpp +@@ -33,10 +33,10 @@ + #include "UIGlobalSettingsInput.h" + #include "UIGlobalSettingsLanguage.h" + #include "UIGlobalSettingsNetwork.h" +-#ifdef VBOX_GUI_WITH_NETWORK_MANAGER +-# include "UIGlobalSettingsProxy.h" +-# include "UIGlobalSettingsUpdate.h" +-#endif ++//#ifdef VBOX_GUI_WITH_NETWORK_MANAGER ++//# include "UIGlobalSettingsProxy.h" ++//# include "UIGlobalSettingsUpdate.h" ++//#endif + + /* GUI includes: Machine Settings: */ + #include "UIMachineSettingsAudio.h" +@@ -86,7 +86,7 @@ void UISettingsDialogGlobal::retranslate + + #ifdef VBOX_GUI_WITH_NETWORK_MANAGER + /* Update page: */ +- m_pSelector->setItemText(GlobalSettingsPageType_Update, tr("Update")); ++ //m_pSelector->setItemText(GlobalSettingsPageType_Update, tr("Update")); + #endif + + /* Language page: */ +@@ -103,7 +103,7 @@ void UISettingsDialogGlobal::retranslate + + #ifdef VBOX_GUI_WITH_NETWORK_MANAGER + /* Proxy page: */ +- m_pSelector->setItemText(GlobalSettingsPageType_Proxy, tr("Proxy")); ++ //m_pSelector->setItemText(GlobalSettingsPageType_Proxy, tr("Proxy")); + #endif + + /* Polish the selector: */ +@@ -204,13 +204,13 @@ void UISettingsDialogGlobal::prepare() + } + #ifdef VBOX_GUI_WITH_NETWORK_MANAGER + /* Update page: */ +- case GlobalSettingsPageType_Update: ++ /*case GlobalSettingsPageType_Update: + { + pSettingsPage = new UIGlobalSettingsUpdate; + addItem(":/refresh_32px.png", ":/refresh_24px.png", ":/refresh_16px.png", + iPageIndex, "#update", pSettingsPage); + break; +- } ++ }*/ + #endif /* VBOX_GUI_WITH_NETWORK_MANAGER */ + /* Language page: */ + case GlobalSettingsPageType_Language: +@@ -246,13 +246,13 @@ void UISettingsDialogGlobal::prepare() + } + #ifdef VBOX_GUI_WITH_NETWORK_MANAGER + /* Proxy page: */ +- case GlobalSettingsPageType_Proxy: ++ /*case GlobalSettingsPageType_Proxy: + { + pSettingsPage = new UIGlobalSettingsProxy; + addItem(":/proxy_32px.png", ":/proxy_24px.png", ":/proxy_16px.png", + iPageIndex, "#proxy", pSettingsPage); + break; +- } ++ }*/ + #endif /* VBOX_GUI_WITH_NETWORK_MANAGER */ + default: + break; diff --git a/debian/patches/23-remove-invalid-chars-check.patch b/debian/patches/23-remove-invalid-chars-check.patch new file mode 100644 index 00000000..bb4a935e --- /dev/null +++ b/debian/patches/23-remove-invalid-chars-check.patch @@ -0,0 +1,20 @@ +Description: Remove check for invalid characters in the build path since we have fixed + kBuild to handle those pathes starting from version 1:0.1.98svn2318-7. +Author: Felix Geyer <fgeyer@debian.org> + +Index: virtualbox/configure +=================================================================== +--- virtualbox.orig/configure 2013-11-19 04:36:42.817631012 -0500 ++++ virtualbox/configure 2013-11-19 04:36:42.813631012 -0500 +@@ -180,11 +180,6 @@ + # the restricting tool is ar (mri mode). + INVALID_CHARS="[^A-Za-z0-9/\\$:._-]" + +-if (cd `dirname $0`; pwd)|grep -q "$INVALID_CHARS"; then +- echo "Error: VBox base path contains invalid characters!" +- exit 1 +-fi +- + # Posix /bin/sh isn't supporting echo -n. Use printf instead. + ECHO_N="printf" + diff --git a/debian/patches/27-hide-host-cache-warning.patch b/debian/patches/27-hide-host-cache-warning.patch new file mode 100644 index 00000000..d82f445a --- /dev/null +++ b/debian/patches/27-hide-host-cache-warning.patch @@ -0,0 +1,43 @@ +Description: Silently enable the host I/O cache when the image is on an ext4/XFS partition. + No need to warn users about it. +Author: Felix Geyer <fgeyer@debian.org> + +Index: virtualbox/src/VBox/Main/src-client/ConsoleImpl2.cpp +=================================================================== +--- virtualbox.orig/src/VBox/Main/src-client/ConsoleImpl2.cpp ++++ virtualbox/src/VBox/Main/src-client/ConsoleImpl2.cpp +@@ -4093,34 +4093,12 @@ + if ( enmFsTypeFile == RTFSTYPE_EXT4 + || enmFsTypeFile == RTFSTYPE_XFS) + { +- i_atVMRuntimeErrorCallbackF(0, "Ext4PartitionDetected", +- N_("The host I/O cache for at least one controller is disabled " +- "and the medium '%ls' for this VM " +- "is located on an %s partition. There is a known Linux " +- "kernel bug which can lead to the corruption of the virtual " +- "disk image under these conditions.\n" +- "Either enable the host I/O cache permanently in the VM " +- "settings or put the disk image and the snapshot folder " +- "onto a different file system.\n" +- "The host I/O cache will now be enabled for this medium"), +- strFile.raw(), enmFsTypeFile == RTFSTYPE_EXT4 ? "ext4" : "xfs"); + *pfUseHostIOCache = true; + } + else if ( ( enmFsTypeSnap == RTFSTYPE_EXT4 + || enmFsTypeSnap == RTFSTYPE_XFS) + && !mfSnapshotFolderExt4WarningShown) + { +- i_atVMRuntimeErrorCallbackF(0, "Ext4PartitionDetected", +- N_("The host I/O cache for at least one controller is disabled " +- "and the snapshot folder for this VM " +- "is located on an %s partition. There is a known Linux " +- "kernel bug which can lead to the corruption of the virtual " +- "disk image under these conditions.\n" +- "Either enable the host I/O cache permanently in the VM " +- "settings or put the disk image and the snapshot folder " +- "onto a different file system.\n" +- "The host I/O cache will now be enabled for this medium"), +- enmFsTypeSnap == RTFSTYPE_EXT4 ? "ext4" : "xfs"); + *pfUseHostIOCache = true; + mfSnapshotFolderExt4WarningShown = true; + } diff --git a/debian/patches/28-no-selinux-fedora.patch b/debian/patches/28-no-selinux-fedora.patch new file mode 100644 index 00000000..82eee6c2 --- /dev/null +++ b/debian/patches/28-no-selinux-fedora.patch @@ -0,0 +1,16 @@ +Description: Don't install the selinux-fedora modules. +Author: Felix Geyer <fgeyer@debian.org> + +--- a/src/VBox/Additions/linux/Makefile.kmk ++++ b/src/VBox/Additions/linux/Makefile.kmk +@@ -300,9 +300,7 @@ lnx_add_inst-noexec_INST = $(VBOX_LN + lnx_add_inst-noexec_SOURCES = \ + $(VBOX_REL_X11_ADD_INST)vboxclient.desktop \ + $(VBOX_REL_X11_ADD_INST)vboxvideo.ids \ +- $(if $(VBOX_WITH_LIGHTDM_GREETER_PACKING),lightdm-greeter/vbox-greeter.desktop,) \ +- selinux-fedora/vbox_x11.pp \ +- selinux-fedora/vbox_accel.pp ++ $(if $(VBOX_WITH_LIGHTDM_GREETER_PACKING),lightdm-greeter/vbox-greeter.desktop,) + + INSTALLS += lnx_add_inst-license + lnx_add_inst-license_INST = $(VBOX_LNX_ADD_INST_OUT_DIR) diff --git a/debian/patches/29-fix-ftbfs-as-needed.patch b/debian/patches/29-fix-ftbfs-as-needed.patch new file mode 100644 index 00000000..690a0ab9 --- /dev/null +++ b/debian/patches/29-fix-ftbfs-as-needed.patch @@ -0,0 +1,16 @@ +Description: Fix FTBFS with ld --as-needed. +Origin: vendor, http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/app-emulation/virtualbox/files/virtualbox-4.1.4-asneeded.patch?revision=1.2&view=markup + +Index: virtualbox/Config.kmk +=================================================================== +--- virtualbox.orig/Config.kmk 2015-04-02 15:46:59.611743003 +0200 ++++ virtualbox/Config.kmk 2015-04-02 15:46:59.611743003 +0200 +@@ -6658,7 +6658,7 @@ + TEMPLATE_VBoxBldProg_LDFLAGS.amd64 = -m64 + TEMPLATE_VBoxBldProg_LDFLAGS.sparc64 = -m64 + ifeq ($(KBUILD_HOST),linux) +-TEMPLATE_VBoxBldProg_LIBS = pthread m rt dl ++TEMPLATE_VBoxBldProg_LIBS = pthread m rt dl crypt + else ifeq ($(KBUILD_HOST),os2) + TEMPLATE_VBoxBldProg_TOOL = GXX3OMF + TEMPLATE_VBoxBldProg_LIBS = socket iconv diff --git a/debian/patches/32-disable-guest-version-check.patch b/debian/patches/32-disable-guest-version-check.patch new file mode 100644 index 00000000..bf7576e6 --- /dev/null +++ b/debian/patches/32-disable-guest-version-check.patch @@ -0,0 +1,13 @@ +Description: Disable notifications about outdated guest additions. +Author: Felix Geyer <fgeyer@debian.org> + +--- a/src/VBox/Additions/x11/VBoxClient/hostversion.cpp ++++ b/src/VBox/Additions/x11/VBoxClient/hostversion.cpp +@@ -40,6 +40,7 @@ public: + + static int showNotify(const char *pszHeader, const char *pszBody) + { ++ return VINF_SUCCESS; + int rc; + # ifdef VBOX_WITH_DBUS + DBusConnection *conn; diff --git a/debian/patches/35-libvdeplug-soname.patch b/debian/patches/35-libvdeplug-soname.patch new file mode 100644 index 00000000..81f5c7bc --- /dev/null +++ b/debian/patches/35-libvdeplug-soname.patch @@ -0,0 +1,24 @@ +Description: Revert http://www.virtualbox.org/changeset/36310 + The libvdeplug.so symlink is only shipped in the -dev package. +Author: Felix Geyer <fgeyer@debian.org> + +Index: virtualbox/include/VBox/VDEPlugSymDefs.h +=================================================================== +--- virtualbox.orig/include/VBox/VDEPlugSymDefs.h ++++ virtualbox/include/VBox/VDEPlugSymDefs.h +@@ -1,5 +1,5 @@ + /** @file +- * Symbols from libvdeplug.so to be loaded at runtime for DrvVDE.cpp ++ * Symbols from libvdeplug.so.2 to be loaded at runtime for DrvVDE.cpp + */ + + /* +@@ -24,7 +24,7 @@ + */ + + /** The file name of the DBus library */ +-#define VBOX_LIB_VDE_PLUG_NAME "libvdeplug.so" ++#define VBOX_LIB_VDE_PLUG_NAME "libvdeplug.so.2" + #define RT_RUNTIME_LOADER_LIB_NAME VBOX_LIB_VDE_PLUG_NAME + + /** The name of the loader function */ diff --git a/debian/patches/36-fix-vnc-version-string.patch b/debian/patches/36-fix-vnc-version-string.patch new file mode 100644 index 00000000..877ae32d --- /dev/null +++ b/debian/patches/36-fix-vnc-version-string.patch @@ -0,0 +1,26 @@ +Description: fix version string for VNC plugin module. +Index: virtualbox/Config.kmk +=================================================================== +--- virtualbox.orig/Config.kmk 2015-04-02 15:47:04.439745251 +0200 ++++ virtualbox/Config.kmk 2015-04-02 15:47:04.435745250 +0200 +@@ -3276,6 +3276,7 @@ + -e 's/@VBOX_VERSION_MINOR@/$(VBOX_VERSION_MINOR)/g' \ + -e 's/@VBOX_VERSION_BUILD@/$(VBOX_VERSION_BUILD)/g' \ + -e 's/@VBOX_VERSION_STRING@/$(VBOX_VERSION_STRING)/g' \ ++ -e 's/@VBOX_VERSION_STRING_RAW@/$(VBOX_VERSION_STRING_RAW)/g' \ + -e 's/@VBOX_SVN_REV@/$(VBOX_SVN_REV)/g' \ + -e 's/@VBOX_VENDOR@/$(VBOX_VENDOR)/g' \ + -e 's/@VBOX_VENDOR_SHORT@/$(VBOX_VENDOR_SHORT)/g' \ +Index: virtualbox/src/VBox/ExtPacks/VNC/ExtPack.xml +=================================================================== +--- virtualbox.orig/src/VBox/ExtPacks/VNC/ExtPack.xml 2015-04-02 15:47:04.439745251 +0200 ++++ virtualbox/src/VBox/ExtPacks/VNC/ExtPack.xml 2015-04-02 15:47:04.435745250 +0200 +@@ -2,7 +2,7 @@ + <VirtualBoxExtensionPack xmlns="http://www.virtualbox.org/VirtualBoxExtensionPack" version="1.0"> + <Name>VNC</Name> + <Description>VNC plugin module</Description> +- <Version revision="@VBOX_SVN_REV@">@VBOX_VERSION_STRING@</Version> ++ <Version revision="@VBOX_SVN_REV@">@VBOX_VERSION_STRING_RAW@</Version> + <MainModule>VBoxVNCMain</MainModule> + <VRDEModule>VBoxVNC</VRDEModule> + <ShowLicense/> diff --git a/debian/patches/37-python-3.7-support.patch b/debian/patches/37-python-3.7-support.patch new file mode 100644 index 00000000..77012a41 --- /dev/null +++ b/debian/patches/37-python-3.7-support.patch @@ -0,0 +1,17 @@ +Description: add python 3.7m as a supported version +Author: Michael Hudson-Doyle <michael.hudson@ubuntu.com> +Origin: vendor +Last-Update: 2018-07-12 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/configure ++++ b/configure +@@ -1974,7 +1974,7 @@ + } + 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" ++ 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" + 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/debian/patches/77040.patch b/debian/patches/77040.patch new file mode 100644 index 00000000..d0abb178 --- /dev/null +++ b/debian/patches/77040.patch @@ -0,0 +1,66 @@ +Index: src/VBox/Frontends/VirtualBox/Makefile.kmk +=================================================================== +--- a/src/VBox/Frontends/VirtualBox/Makefile.kmk ++++ b/src/VBox/Frontends/VirtualBox/Makefile.kmk +@@ -1481,49 +1481,24 @@ + + # Resource files with some OSE differences (VirtualBoxBrand.qrc is created further down). +-VirtualBox_SOURCES += VirtualBox1.qrc +-VirtualBox1.qrc_RCCFLAGS = -name BASIC1 +-VirtualBox_SOURCES += VirtualBox2.qrc +-VirtualBox2.qrc_RCCFLAGS = -name BASIC2 +-VirtualBox_SOURCES += VirtualBox1_x2.qrc ++VBoxGlobal_SOURCES += VirtualBox1.qrc ++VirtualBox1.qrc_RCCFLAGS = -name BASIC1 ++VBoxGlobal_SOURCES += VirtualBox2.qrc ++VirtualBox2.qrc_RCCFLAGS = -name BASIC2 ++VBoxGlobal_SOURCES += VirtualBox1_x2.qrc + VirtualBox1_x2.qrc_RCCFLAGS = -name BASIC1_X2 +-VirtualBox_SOURCES += VirtualBox2_x2.qrc ++VBoxGlobal_SOURCES += VirtualBox2_x2.qrc + VirtualBox2_x2.qrc_RCCFLAGS = -name BASIC2_X2 +-VirtualBox_SOURCES += VirtualBox1_x3.qrc ++VBoxGlobal_SOURCES += VirtualBox1_x3.qrc + VirtualBox1_x3.qrc_RCCFLAGS = -name BASIC1_X3 +-VirtualBox_SOURCES += VirtualBox2_x3.qrc ++VBoxGlobal_SOURCES += VirtualBox2_x3.qrc + VirtualBox2_x3.qrc_RCCFLAGS = -name BASIC2_X3 +-VirtualBox_SOURCES += VirtualBox1_x4.qrc ++VBoxGlobal_SOURCES += VirtualBox1_x4.qrc + VirtualBox1_x4.qrc_RCCFLAGS = -name BASIC1_X4 +-VirtualBox_SOURCES += VirtualBox2_x4.qrc ++VBoxGlobal_SOURCES += VirtualBox2_x4.qrc + VirtualBox2_x4.qrc_RCCFLAGS = -name BASIC2_X4 +-VirtualBox_SOURCES += $(VBOX_VIRTUALBOX_OUT_DIR)/VirtualBoxBrand.qrc ++VBoxGlobal_SOURCES += $(VBOX_VIRTUALBOX_OUT_DIR)/VirtualBoxBrand.qrc + $(VBOX_VIRTUALBOX_OUT_DIR)/VirtualBoxBrand.qrc_RCCFLAGS = -name BRAND + if defined(VBOX_WITH_VIDEOHWACCEL) || defined(VBOX_GUI_USE_QGL) +- VirtualBox_SOURCES += VirtualBoxShaders.qrc +- VirtualBoxShaders.qrc_RCCFLAGS = -name SHADERS +-endif +- +- +-# Resource files with some OSE differences (VirtualBoxBrand.qrc is created further down). +-VirtualBoxVM_SOURCES += VirtualBox1.qrc +-VirtualBox1.qrc_RCCFLAGS = -name BASIC1 +-VirtualBoxVM_SOURCES += VirtualBox2.qrc +-VirtualBox2.qrc_RCCFLAGS = -name BASIC2 +-VirtualBoxVM_SOURCES += VirtualBox1_x2.qrc +-VirtualBox1_x2.qrc_RCCFLAGS = -name BASIC1_X2 +-VirtualBoxVM_SOURCES += VirtualBox2_x2.qrc +-VirtualBox2_x2.qrc_RCCFLAGS = -name BASIC2_X2 +-VirtualBoxVM_SOURCES += VirtualBox1_x3.qrc +-VirtualBox1_x3.qrc_RCCFLAGS = -name BASIC1_X3 +-VirtualBoxVM_SOURCES += VirtualBox2_x3.qrc +-VirtualBox2_x3.qrc_RCCFLAGS = -name BASIC2_X3 +-VirtualBoxVM_SOURCES += VirtualBox1_x4.qrc +-VirtualBox1_x4.qrc_RCCFLAGS = -name BASIC1_X4 +-VirtualBoxVM_SOURCES += VirtualBox2_x4.qrc +-VirtualBox2_x4.qrc_RCCFLAGS = -name BASIC2_X4 +-VirtualBoxVM_SOURCES += $(VBOX_VIRTUALBOX_OUT_DIR)/VirtualBoxBrand.qrc +-$(VBOX_VIRTUALBOX_OUT_DIR)/VirtualBoxBrand.qrc_RCCFLAGS = -name BRAND +-if defined(VBOX_WITH_VIDEOHWACCEL) || defined(VBOX_GUI_USE_QGL) +- VirtualBoxVM_SOURCES += VirtualBoxShaders.qrc ++ VBoxGlobal_SOURCES += VirtualBoxShaders.qrc + VirtualBoxShaders.qrc_RCCFLAGS = -name SHADERS + endif diff --git a/debian/patches/77542.patch b/debian/patches/77542.patch new file mode 100644 index 00000000..7f97cd7d --- /dev/null +++ b/debian/patches/77542.patch @@ -0,0 +1,17 @@ +Description: fix build with kernel 5.0 +Origin: upstream +Index: virtualbox/src/VBox/Additions/linux/sharedfolders/vfsmod.c +=================================================================== +--- virtualbox.orig/src/VBox/Additions/linux/sharedfolders/vfsmod.c ++++ virtualbox/src/VBox/Additions/linux/sharedfolders/vfsmod.c +@@ -40,7 +40,9 @@ + #include "revision-generated.h" + #include "product-generated.h" + #include "VBoxGuestR0LibInternal.h" +-#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 3, 0) ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 0, 0) ++# include <uapi/linux/mount.h> /* for MS_REMOUNT */ ++#elif LINUX_VERSION_CODE < KERNEL_VERSION(3, 3, 0) + # include <linux/mount.h> + #endif + #include <linux/seq_file.h> diff --git a/debian/patches/do-not-run-if-not-in-vm.patch b/debian/patches/do-not-run-if-not-in-vm.patch new file mode 100644 index 00000000..2c4e68b7 --- /dev/null +++ b/debian/patches/do-not-run-if-not-in-vm.patch @@ -0,0 +1,29 @@ +Description: Check if we are running in a virtual machine before wasting time +running virtualbox guest things +Author: Kevin Puetz (puetzk) + +Origin: https://bugs.launchpad.net/ubuntu/+source/virtualbox/+bug/1762491/comments/9 +Last-Update: 2018-07-19 + +Index: virtualbox/src/VBox/Additions/x11/Installer/98vboxadd-xclient +=================================================================== +--- virtualbox.orig/src/VBox/Additions/x11/Installer/98vboxadd-xclient ++++ virtualbox/src/VBox/Additions/x11/Installer/98vboxadd-xclient +@@ -15,6 +15,17 @@ + # hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. + # + ++in_virtual_machine() ++{ ++ if [ -z "$(lspci -d 80ee:cafe)" ]; then ++ echo "VirtualBox Additions disabled, not in a Virtual Machine" >&2 ++ return 1 ++ fi ++ ++ return 0 ++} ++in_virtual_machine || return ++ + # Sanity check: if non-writeable PID-files are present in the user home + # directory VBoxClient will fail to start. + for i in $HOME/.vboxclient-*.pid; do diff --git a/debian/patches/fix-vboxvideo-with-linux-5.0.patch b/debian/patches/fix-vboxvideo-with-linux-5.0.patch new file mode 100644 index 00000000..e3cbec4f --- /dev/null +++ b/debian/patches/fix-vboxvideo-with-linux-5.0.patch @@ -0,0 +1,80 @@ +Origin: Ubuntu +Index: virtualbox-6.0.4-dfsg/src/VBox/Additions/linux/drm/vbox_drv.h +=================================================================== +--- virtualbox-6.0.4-dfsg.orig/src/VBox/Additions/linux/drm/vbox_drv.h ++++ virtualbox-6.0.4-dfsg/src/VBox/Additions/linux/drm/vbox_drv.h +@@ -114,6 +114,11 @@ static inline void drm_gem_object_put_un + { + drm_gem_object_unreference_unlocked(obj); + } ++ ++static inline void drm_gem_object_put(struct drm_gem_object *obj) ++{ ++ drm_gem_object_unreference(obj); ++} + #endif + + #define DRIVER_AUTHOR VBOX_VENDOR +@@ -174,8 +179,10 @@ struct vbox_private { + int fb_mtrr; + + struct { ++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0) + struct drm_global_reference mem_global_ref; + struct ttm_bo_global_ref bo_global_ref; ++#endif + struct ttm_bo_device bdev; + bool mm_initialised; + } ttm; +Index: virtualbox-6.0.4-dfsg/src/VBox/Additions/linux/drm/vbox_main.c +=================================================================== +--- virtualbox-6.0.4-dfsg.orig/src/VBox/Additions/linux/drm/vbox_main.c ++++ virtualbox-6.0.4-dfsg/src/VBox/Additions/linux/drm/vbox_main.c +@@ -652,7 +652,7 @@ vbox_dumb_mmap_offset(struct drm_file *f + bo = gem_to_vbox_bo(obj); + *offset = vbox_bo_mmap_offset(bo); + +- drm_gem_object_unreference(obj); ++ drm_gem_object_put(obj); + ret = 0; + + out_unlock: +Index: virtualbox-6.0.4-dfsg/src/VBox/Additions/linux/drm/vbox_ttm.c +=================================================================== +--- virtualbox-6.0.4-dfsg.orig/src/VBox/Additions/linux/drm/vbox_ttm.c ++++ virtualbox-6.0.4-dfsg/src/VBox/Additions/linux/drm/vbox_ttm.c +@@ -46,6 +46,7 @@ static inline struct vbox_private *vbox_ + return container_of(bd, struct vbox_private, ttm.bdev); + } + ++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0) + static int vbox_ttm_mem_global_init(struct drm_global_reference *ref) + { + return ttm_mem_global_init(ref->object); +@@ -100,6 +101,16 @@ static void vbox_ttm_global_release(stru + drm_global_item_unref(&vbox->ttm.bo_global_ref.ref); + drm_global_item_unref(&vbox->ttm.mem_global_ref); + } ++#else ++static inline int vbox_ttm_global_init(struct vbox_private *vbox) ++{ ++ return 0; ++} ++ ++static inline void vbox_ttm_global_release(struct vbox_private *vbox) ++{ ++} ++#endif + + static void vbox_bo_ttm_destroy(struct ttm_buffer_object *tbo) + { +@@ -292,7 +303,9 @@ int vbox_mm_init(struct vbox_private *vb + return ret; + + ret = ttm_bo_device_init(&vbox->ttm.bdev, ++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0) + vbox->ttm.bo_global_ref.ref.object, ++#endif + &vbox_bo_driver, + #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0) || defined(RHEL_71) + dev->anon_inode->i_mapping, diff --git a/debian/patches/java11-upstream.patch b/debian/patches/java11-upstream.patch new file mode 100644 index 00000000..8966c9ae --- /dev/null +++ b/debian/patches/java11-upstream.patch @@ -0,0 +1,50 @@ +--- virtualbox-6.0.4-dfsg.orig/Config.kmk ++++ virtualbox-6.0.4-dfsg/Config.kmk +@@ -2768,7 +2768,8 @@ else # !darwin + VBOX_JAVAH = "$(VBOX_JAVA_HOME)/bin/javah$(HOSTSUFF_EXE)" + VBOX_JAR = "$(VBOX_JAVA_HOME)/bin/jar$(HOSTSUFF_EXE)" + VBOX_JAVADOC = "$(VBOX_JAVA_HOME)/bin/javadoc$(HOSTSUFF_EXE)" +- VBOX_WSIMPORT = "$(VBOX_JAVA_HOME)/bin/wsimport$(HOSTSUFF_EXE)" ++ # With Java 11 wsimport was removed, usually part of a separate install now. ++ VBOX_WSIMPORT = $(firstword $(wildcard $(VBOX_JAVA_HOME)/bin/wsimport$(HOSTSUFF_EXE)) wsimport$(HOSTSUFF_EXE)) + # correct for targets we care about + VBOX_MD_OS = $(KBUILD_TARGET) + VBOX_JAVA_INC = \ +@@ -7744,10 +7745,15 @@ else + endif + + # Java compiler options, needs some version checking. +-if defined(VBOX_JAVA_VERSION) && $(VBOX_JAVA_VERSION) >= 10900 ++if defined(VBOX_JAVA_VERSION) && $(VBOX_JAVA_VERSION) >= 110000 ++ VBOX_JAVA_WS_PATH ?= /usr/share/java ++ VBOX_JAVA_WS_EXTRA_JARS ?= $(VBOX_JAVA_WS_PATH)/jws-api.jar$(VBOX_SEP)$(VBOX_JAVA_WS_PATH)/jaxb-api.jar$(VBOX_SEP)$(VBOX_JAVA_WS_PATH)/jaxws-api.jar ++else if defined(VBOX_JAVA_VERSION) && $(VBOX_JAVA_VERSION) >= 10900 + VBOX_JAVA_WS_OPTS ?= --add-modules java.xml.ws + endif +-if defined(VBOX_JAVA_VERSION) && $(VBOX_JAVA_VERSION) >= 100000 ++if defined(VBOX_JAVA_VERSION) && $(VBOX_JAVA_VERSION) >= 110000 ++ VBOX_JAVAC_OPTS = -encoding UTF-8 -source 9 -target 9 -Xlint:unchecked ++else if defined(VBOX_JAVA_VERSION) && $(VBOX_JAVA_VERSION) >= 100000 + VBOX_JAVAC_OPTS = -encoding UTF-8 -source 6 -target 6 -Xlint:unchecked + else + VBOX_JAVAC_OPTS = -encoding UTF-8 -source 1.5 -target 1.5 -Xlint:unchecked +--- virtualbox-6.0.4-dfsg.orig/src/VBox/Main/webservice/Makefile.kmk ++++ virtualbox-6.0.4-dfsg/src/VBox/Main/webservice/Makefile.kmk +@@ -480,7 +480,7 @@ $$(VBOX_JWS_JAR): $(VBOX_JWS_GEN)/jwsglu + $(call MSG_L1,Compiling bridge code) + $(VBOX_JAVAC) $(VBOX_JAVAC_OPTS) $(VBOX_JAVA_WS_OPTS) \ + @$(VBOX_JWS_GEN)/jwsglue.list \ +- -d $(VBOX_JWS_JDEST) -classpath $(VBOX_JWS_JDEST) ++ -d $(VBOX_JWS_JDEST) -classpath $(VBOX_JWS_JDEST)$(VBOX_SEP)$(VBOX_JAVA_WS_EXTRA_JARS) + $(QUIET)$(SED) -e "s/vboxweb.wsdl/vboxweb$(VBOX_API_SUFFIX).wsdl/" < $(VBOXWEBSERVICE_WSDL) > $(VBOX_JWS_JDEST)/vboxwebService$(VBOX_API_SUFFIX).wsdl + $(QUIET)$(CP) -f $(VBOXWEB_WSDL) $(VBOX_JWS_JDEST)/vboxweb$(VBOX_API_SUFFIX).wsdl + $(call MSG_LINK,$(notdir $@),$@) +@@ -503,7 +503,7 @@ $$(VBOX_JWSDOC_JAR): $(VBOX_JWS_GEN)/jws + $(call MSG_L1,Generating javadoc html documentation) + $(VBOX_JAVADOC) $(VBOX_JAVADOC_OPTS) $(VBOX_JAVA_WS_OPTS) -quiet \ + -sourcepath $(VBOX_JWS_GEN)/java org.virtualbox$(VBOX_API_SUFFIX) \ +- -d $(VBOX_JWSDOC_JDEST) ++ -d $(VBOX_JWSDOC_JDEST) -classpath $(VBOX_SEP)$(VBOX_JAVA_WS_EXTRA_JARS) + $(call MSG_LINK,$(notdir $@),$@) + $(VBOX_JAR) cf $@ -C $(VBOX_JWSDOC_JDEST) . + diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 00000000..031444cd --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,21 @@ +01-build-arch.patch +02-gsoap-build-fix.patch +04-vboxdrv-references.patch +06-xsession.patch +07-vboxnetflt-reference.patch +12-make-module.patch +13-module-mismatch.patch +16-no-update.patch +23-remove-invalid-chars-check.patch +27-hide-host-cache-warning.patch +28-no-selinux-fedora.patch +#29-fix-ftbfs-as-needed.patch +32-disable-guest-version-check.patch +35-libvdeplug-soname.patch +36-fix-vnc-version-string.patch +37-python-3.7-support.patch +do-not-run-if-not-in-vm.patch +77040.patch +java11-upstream.patch +77542.patch +fix-vboxvideo-with-linux-5.0.patch |