ALT Linux repositórios
S: | 7.0.10-alt2 |
5.0: | 3.0.4-alt0.M50.1 |
4.1: | 2.1.4-alt0.M41.5 |
4.0: | |
+backports: | 1.6.6-alt0.M40.2 |
Group :: Emuladores
RPM: virtualbox
Main Changelog Spec Patches Sources Download Gear Bugs e FR Repocop
Patch: virtualbox-7.0.10-alt.patch
Download
Download
configure | 3 ++-
doc/manual/en_US/user_Introduction.xml | 4 ++--
include/VBox/ostypes.h | 2 ++
include/VBox/vmm/vmm.h | 2 +-
src/VBox/Additions/common/VBoxGuest/lib/Makefile.kmk | 3 +--
src/VBox/Additions/x11/Installer/98vboxadd-xclient | 4 ++++
src/VBox/Additions/x11/Makefile.kmk | 4 ++++
src/VBox/Devices/VMMDev/VMMDev.cpp | 1 +
.../VBoxDTrace/onnv/lib/libdtrace/common/dt_printf.c | 2 +-
src/VBox/ExtPacks/VNC/Makefile.kmk | 3 ++-
src/VBox/Frontends/VBoxFB/Makefile.kmk | 1 +
src/VBox/Frontends/VBoxManage/Makefile.kmk | 1 +
src/VBox/Frontends/VBoxSDL/Makefile.kmk | 2 +-
src/VBox/Frontends/VirtualBox/Makefile.kmk | 1 +
src/VBox/Frontends/VirtualBox/VirtualBox2.qrc | 2 ++
.../VirtualBox/src/extradata/UIExtraDataManager.cpp | 4 ++--
src/VBox/Frontends/VirtualBox/src/globals/UICommon.cpp | 4 ++--
src/VBox/Frontends/VirtualBox/src/globals/UIIconPool.cpp | 2 ++
.../Frontends/VirtualBox/src/medium/UIMediumManager.cpp | 2 +-
.../Frontends/VirtualBox/src/widgets/UILineTextEdit.cpp | 2 +-
.../src/wizards/newvm/UIWizardNewVMNameOSTypePage.cpp | 2 ++
src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c | 2 +-
src/VBox/Installer/common/virtualbox.desktop.in | 2 +-
src/VBox/Installer/linux/VBoxCreateUSBNode.sh | 14 ++++++++++----
src/VBox/Main/Makefile.kmk | 5 +++++
src/VBox/Main/src-all/Global.cpp | 3 +++
src/VBox/Main/src-server/ApplianceImpl.cpp | 2 ++
src/VBox/Main/src-server/VirtualBoxImpl.cpp | 2 ++
src/VBox/Main/xml/Settings.cpp | 3 ++-
src/VBox/Runtime/r0drv/linux/the-linux-kernel.h | 16 +++++++++++++---
src/VBox/VMM/VMMR0/VMMR0.cpp | 2 +-
src/VBox/VMM/testcase/Makefile.kmk | 10 +++++++---
src/VBox/ValidationKit/testdriver/vboxtestvms.py | 2 ++
src/libs/dxvk-native-1.9.2a/src/util/util_bit.h | 1 +
src/libs/xpcom18a4/Makefile.kmk | 3 +++
35 files changed, 89 insertions(+), 29 deletions(-)
diff --git a/configure b/configure
index 4b69712cd..843cb1948 100755
--- a/configure
+++ b/configure
@@ -125,7 +125,7 @@ CC64=""
CXX="g++"
CXX32=""
CXX64=""
-YASM="yasm"
+YASM="/usr/bin/yasm"
IASL="iasl"
XSLTPROC="xsltproc"
INCCRYPTO=""
@@ -1682,6 +1682,7 @@ EOF
done
else
# Strip .../QtCore as we add components ourself:
+ INCQT5=`echo "$INCQT5"|$KBUILD_SED 's|\([^ ]*\)/QtGui|\1|g; s| $||g'`
INCQT5=`echo "$INCQT5"|$KBUILD_SED 's|\([^ ]*\)/QtCore|\1|g; s| $||g'`
# store only the first path, remove all other paths
# most likely pkg-config gave us -I/usr/include/qt5 -I/usr/include/qt5/QtCore
diff --git a/doc/manual/en_US/user_Introduction.xml b/doc/manual/en_US/user_Introduction.xml
index f4cae028d..228050074 100644
--- a/doc/manual/en_US/user_Introduction.xml
+++ b/doc/manual/en_US/user_Introduction.xml
@@ -6090,14 +6090,14 @@
<xref linkend="specialcharacters"/>.
</para>
</listitem>
-
+<!--
<listitem>
<para>
<emphasis role="bold">Update.</emphasis> Enables you to
specify various settings for Automatic Updates.
</para>
</listitem>
-
+-->
<listitem>
<para>
<emphasis role="bold">Language.</emphasis> Enables you to
diff --git a/include/VBox/ostypes.h b/include/VBox/ostypes.h
index 56a2051fd..0dc39d840 100644
--- a/include/VBox/ostypes.h
+++ b/include/VBox/ostypes.h
@@ -220,6 +220,8 @@ typedef enum VBOXOSTYPE
VBOXOSTYPE_Oracle8_x64 = 0x5E105, // 64-bit only
VBOXOSTYPE_Oracle9_x64 = 0x5E106, // 64-bit only
VBOXOSTYPE_Oracle_latest_x64 = VBOXOSTYPE_Oracle9_x64,
+ VBOXOSTYPE_ALTLinux = 0x5F000,
+ VBOXOSTYPE_ALTLinux_x64 = 0x5F100,
VBOXOSTYPE_FreeBSD = 0x60000,
VBOXOSTYPE_FreeBSD_x64 = 0x60100,
VBOXOSTYPE_OpenBSD = 0x61000,
diff --git a/include/VBox/vmm/vmm.h b/include/VBox/vmm/vmm.h
index 13dac67cf..3018b3462 100644
--- a/include/VBox/vmm/vmm.h
+++ b/include/VBox/vmm/vmm.h
@@ -361,7 +361,7 @@ typedef enum VMMR0OPERATION
/** Call IntNetR0IfAbortWait(). */
VMMR0_DO_INTNET_IF_ABORT_WAIT,
-#if 0
+#if VBOX_WITH_PCI_PASSTHROUGH
/** Forward call to the PCI driver */
VMMR0_DO_PCIRAW_REQ = 512,
#endif
diff --git a/src/VBox/Additions/common/VBoxGuest/lib/Makefile.kmk b/src/VBox/Additions/common/VBoxGuest/lib/Makefile.kmk
index eead95e53..077bc8996 100644
--- a/src/VBox/Additions/common/VBoxGuest/lib/Makefile.kmk
+++ b/src/VBox/Additions/common/VBoxGuest/lib/Makefile.kmk
@@ -51,7 +51,6 @@ LIBRARIES += \
VBoxGuestR3Lib \
VBoxGuestR3LibShared
ifndef VBOX_ONLY_VALIDATIONKIT
- if1of ($(KBUILD_TARGET), freebsd linux netbsd openbsd)
ifndef VBOX_USE_SYSTEM_XORG_HEADERS
LIBRARIES += \
VBoxGuestR3LibXFree86
@@ -61,7 +60,7 @@ ifndef VBOX_ONLY_VALIDATIONKIT
LIBRARIES += \
VBoxGuestR3LibXOrg
endif
-endif
+
LIBRARIES.win.amd64 += VBoxGuestR3Lib-x86 VBoxGuestR3LibShared-x86
diff --git a/src/VBox/Additions/x11/Installer/98vboxadd-xclient b/src/VBox/Additions/x11/Installer/98vboxadd-xclient
index 718a43bd9..820ea5e1d 100755
--- a/src/VBox/Additions/x11/Installer/98vboxadd-xclient
+++ b/src/VBox/Additions/x11/Installer/98vboxadd-xclient
@@ -25,6 +25,9 @@
# SPDX-License-Identifier: GPL-3.0-only
#
+# Do not start if it's not a VirtualBox VM.
+if test -f /proc/bus/pci/devices && grep -q -e 80eebeef -e 80eecafe /proc/bus/pci/devices; then
+
# 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
@@ -46,3 +49,4 @@ elif test -z "${SSH_CONNECTION}"; then
/usr/bin/VBoxClient --draganddrop
/usr/bin/VBoxClient --vmsvga-session # In case VMSVGA emulation is enabled
fi
+fi
diff --git a/src/VBox/Additions/x11/Makefile.kmk b/src/VBox/Additions/x11/Makefile.kmk
index 2e8619d8c..319b85eb4 100644
--- a/src/VBox/Additions/x11/Makefile.kmk
+++ b/src/VBox/Additions/x11/Makefile.kmk
@@ -28,6 +28,10 @@
SUB_DEPTH = ../../../..
include $(KBUILD_PATH)/subheader.kmk
+ifn1of ($(XSERVER_VERSION), 13 14 15 16 17 18 19 110 111 112)
+ XSERVER_VERSION := 112
+endif
+
# Include sub-makefiles.
if1of ($(KBUILD_TARGET), freebsd linux netbsd openbsd solaris)
include $(PATH_SUB_CURRENT)/VBoxClient/Makefile.kmk
diff --git a/src/VBox/Devices/VMMDev/VMMDev.cpp b/src/VBox/Devices/VMMDev/VMMDev.cpp
index 2ecd5b873..5ca626750 100644
--- a/src/VBox/Devices/VMMDev/VMMDev.cpp
+++ b/src/VBox/Devices/VMMDev/VMMDev.cpp
@@ -221,6 +221,7 @@ static void vmmdevLogGuestOsInfo(VBoxGuestInfo *pGuestInfo)
case VBOXOSTYPE_Linux24: pszOs = "Linux 2.4"; break;
case VBOXOSTYPE_Linux26: pszOs = "Linux >= 2.6"; break;
case VBOXOSTYPE_ArchLinux: pszOs = "ArchLinux"; break;
+ case VBOXOSTYPE_ALTLinux: pszOs = "ALTLinux"; break;
case VBOXOSTYPE_Debian: pszOs = "Debian"; break;
case VBOXOSTYPE_Debian31: pszOs = "Debian 3.1"; break;
case VBOXOSTYPE_Debian4: pszOs = "Debian 4.0"; break;
diff --git a/src/VBox/ExtPacks/VBoxDTrace/onnv/lib/libdtrace/common/dt_printf.c b/src/VBox/ExtPacks/VBoxDTrace/onnv/lib/libdtrace/common/dt_printf.c
index 9813291f9..3a4616061 100644
--- a/src/VBox/ExtPacks/VBoxDTrace/onnv/lib/libdtrace/common/dt_printf.c
+++ b/src/VBox/ExtPacks/VBoxDTrace/onnv/lib/libdtrace/common/dt_printf.c
@@ -1605,7 +1605,7 @@ dt_printf_format(dtrace_hdl_t *dtp, FILE *fp, const dt_pfargv_t *pfv,
width = 0;
if (width != 0)
- f += snprintf(f, sizeof (format) - (f - format), "%d", ABS(width));
+ f += snprintf(f,(((sizeof (format)-(f-format))>0) ? sizeof(format) - (f-format):0), "%d", ABS(width));
if (prec > 0)
f += snprintf(f, sizeof (format) - (f - format), ".%d", prec);
diff --git a/src/VBox/ExtPacks/VNC/Makefile.kmk b/src/VBox/ExtPacks/VNC/Makefile.kmk
index 5cc208292..7e1d40224 100644
--- a/src/VBox/ExtPacks/VNC/Makefile.kmk
+++ b/src/VBox/ExtPacks/VNC/Makefile.kmk
@@ -61,13 +61,14 @@ DLLS += VBoxVNCMain
VBoxVNCMain_TEMPLATE = VBoxR3ExtPackVNC
VBoxVNCMain_SOURCES = VBoxVNCMain.cpp
VBoxVNCMain_DEFS =
-
+VBoxVNCMain_LDFLAGS = -Wl,-rpath,$(VBOXDIR)
#
# VBoxVNC - The VNC VRDE module.
#
DLLS += VBoxVNC
VBoxVNC_TEMPLATE = VBoxR3ExtPackVNC
VBoxVNC_SOURCES = VBoxVNC.cpp
+VBoxVNC_LDFLAGS = -Wl,-rpath,$(VBOXDIR)
# NOTE: vncserver is covered by GPL, so the extpack must be GPL, too.
VBoxVNC_LIBS = vncserver
VBoxVNC_DEFS =
diff --git a/src/VBox/Frontends/VBoxFB/Makefile.kmk b/src/VBox/Frontends/VBoxFB/Makefile.kmk
index 57faf2673..908223a10 100644
--- a/src/VBox/Frontends/VBoxFB/Makefile.kmk
+++ b/src/VBox/Frontends/VBoxFB/Makefile.kmk
@@ -46,6 +46,7 @@ VBoxFB_INCS = $(VBOX_XPCOM_INCS) /usr/include/directfb
VBoxFB_LIBPATH = $(LIBPATH_XPCOM)
VBoxFB_LIBS = $(LIB_XPCOM) $(LIB_RUNTIME) directfb
VBoxFB_DEPS = $(VBOX_PATH_SDK)/bindings/xpcom/include/VirtualBox_XPCOM.h
+VBoxFB_LDFLAGS.linux = -Wl,-rpath,$(VBOXDIR)
# generate rules.
include $(FILE_KBUILD_SUB_FOOTER)
diff --git a/src/VBox/Frontends/VBoxManage/Makefile.kmk b/src/VBox/Frontends/VBoxManage/Makefile.kmk
index 2a63da423..b3cf1a4d4 100644
--- a/src/VBox/Frontends/VBoxManage/Makefile.kmk
+++ b/src/VBox/Frontends/VBoxManage/Makefile.kmk
@@ -197,6 +197,7 @@ ifneq ($(KBUILD_TARGET),win)
$(if $(VBOX_GCC_VERSION_CXX),$(if-expr $(VBOX_GCC_VERSION_CXX) < 40300 || $(VBOX_GCC_VERSION_CXX) > 40301,,--param max-fields-for-field-sensitive=0),)
VBoxManageHelp_CXXFLAGS.release = $(VBoxManage_CXXFLAGS.release)
endif
+VBoxManage_LDFLAGS.linux = -Wl,-rpath,$(VBOXDIR)
#
diff --git a/src/VBox/Frontends/VBoxSDL/Makefile.kmk b/src/VBox/Frontends/VBoxSDL/Makefile.kmk
index da4315333..601279d7f 100644
--- a/src/VBox/Frontends/VBoxSDL/Makefile.kmk
+++ b/src/VBox/Frontends/VBoxSDL/Makefile.kmk
@@ -97,7 +97,7 @@ if !defined(VBOX_WITH_HARDENING) || "$(KBUILD_TARGET)" != "darwin" # No hardened
VBoxSDL_LDFLAGS.darwin = \
-framework Foundation -framework AppKit
- VBoxSDL_LDFLAGS.win = -SubSystem:Windows
+VBoxSDL_LDFLAGS.linux = -Wl,-rpath,$(VBOXDIR)
VBoxSDL_CLEAN = $(VBoxSDL_0_OUTDIR)/Ico64x01.h
VBoxSDL_INTERMEDIATES = $(VBoxSDL_0_OUTDIR)/Ico64x01.h
diff --git a/src/VBox/Frontends/VirtualBox/Makefile.kmk b/src/VBox/Frontends/VirtualBox/Makefile.kmk
index bcac2ca17..169c32153 100644
--- a/src/VBox/Frontends/VirtualBox/Makefile.kmk
+++ b/src/VBox/Frontends/VirtualBox/Makefile.kmk
@@ -1740,6 +1740,7 @@ endif
# Pull in the ui files
+VirtualBox_LDFLAGS.linux = -Wl,-rpath,$(VBOXDIR)
$(eval VirtualBox_SOURCES += $(FORMS))
$(eval VirtualBoxVM_SOURCES += $(FORMS))
$(eval UICommon_SOURCES += $(FORMS))
diff --git a/src/VBox/Frontends/VirtualBox/VirtualBox2.qrc b/src/VBox/Frontends/VirtualBox/VirtualBox2.qrc
index c5b0c9992..9404cdb9d 100644
--- a/src/VBox/Frontends/VirtualBox/VirtualBox2.qrc
+++ b/src/VBox/Frontends/VirtualBox/VirtualBox2.qrc
@@ -70,6 +70,8 @@
<file alias="nw_warning_16px.png">images/nw_warning_16px.png</file>
<file alias="nw_write_16px.png">images/nw_write_16px.png</file>
<file alias="ok_16px.png">images/ok_16px.png</file>
+ <file alias="os_altlinux.png">images/os_altlinux.png</file>
+ <file alias="os_altlinux_64.png">images/os_altlinux_64.png</file>
<file alias="os_archlinux_64.png">images/os_archlinux_64.png</file>
<file alias="os_archlinux.png">images/os_archlinux.png</file>
<file alias="os_cloud.png">images/os_cloud.png</file>
diff --git a/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp b/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp
index 886920e63..91ee7df0d 100644
--- a/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp
@@ -1186,7 +1186,7 @@ void UIExtraDataManagerWindow::sltSave()
/* Compose initial file-name: */
const QString strInitialFileName = QDir(uiCommon().homeFolder()).absoluteFilePath(QString("%1_ExtraData.xml").arg(currentChooserName()));
/* Open file-save dialog to choose file to save extra-data into: */
- const QString strFileName = QIFileDialog::getSaveFileName(strInitialFileName, "XML files (*.xml)", this,
+ const QString strFileName = QIFileDialog::getSaveFileName(strInitialFileName, "XML files (*.xml)", QApplication::activeWindow(),
"Choose file to save extra-data into..", 0, true, true);
/* Make sure file-name was chosen: */
if (strFileName.isEmpty())
@@ -1273,7 +1273,7 @@ void UIExtraDataManagerWindow::sltLoad()
/* Compose initial file-name: */
const QString strInitialFileName = QDir(uiCommon().homeFolder()).absoluteFilePath(QString("%1_ExtraData.xml").arg(currentChooserName()));
/* Open file-open dialog to choose file to open extra-data into: */
- const QString strFileName = QIFileDialog::getOpenFileName(strInitialFileName, "XML files (*.xml)", this,
+ const QString strFileName = QIFileDialog::getOpenFileName(strInitialFileName, "XML files (*.xml)", QApplication::activeWindow(),
"Choose file to load extra-data from..");
/* Make sure file-name was chosen: */
if (strFileName.isEmpty())
diff --git a/src/VBox/Frontends/VirtualBox/src/globals/UICommon.cpp b/src/VBox/Frontends/VirtualBox/src/globals/UICommon.cpp
index cc1ba02d5..f8caa8de4 100644
--- a/src/VBox/Frontends/VirtualBox/src/globals/UICommon.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/globals/UICommon.cpp
@@ -1629,7 +1629,7 @@ QUuid UICommon::openMediumWithFileOpenDialog(UIMediumDeviceType enmMediumType, Q
strFilter = backends.join(";;").trimmed();
/* Create open file dialog: */
- QStringList files = QIFileDialog::getOpenFileNames(strHomeFolder, strFilter, pParent, strTitle, 0, true, true);
+ QStringList files = QIFileDialog::getOpenFileNames(strHomeFolder, strFilter, nullptr, strTitle, 0, true, true);
/* If dialog has some result: */
if (!files.empty() && !files[0].isEmpty())
@@ -1885,7 +1885,7 @@ void UICommon::updateMachineStorage(const CMachine &comConstMachine, const UIMed
}
else if (target.type == UIMediumTarget::UIMediumTargetType_WithFileDialog)
{
- uMediumID = openMediumWithFileOpenDialog(target.mediumType, windowManager().mainWindowShown(),
+ uMediumID = openMediumWithFileOpenDialog(target.mediumType, QApplication::activeWindow(),
strMachineFolder, false /* fUseLastFolder */);
}
else if(target.type == UIMediumTarget::UIMediumTargetType_CreateAdHocVISO)
diff --git a/src/VBox/Frontends/VirtualBox/src/globals/UIIconPool.cpp b/src/VBox/Frontends/VirtualBox/src/globals/UIIconPool.cpp
index f32c87d66..8f231882d 100644
--- a/src/VBox/Frontends/VirtualBox/src/globals/UIIconPool.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/globals/UIIconPool.cpp
@@ -378,6 +378,8 @@ UIIconPoolGeneral::UIIconPoolGeneral()
m_guestOSTypeIconNames.insert("Linux26_64", ":/os_linux26_64.png");
m_guestOSTypeIconNames.insert("ArchLinux", ":/os_archlinux.png");
m_guestOSTypeIconNames.insert("ArchLinux_64", ":/os_archlinux_64.png");
+ m_guestOSTypeIconNames.insert("ALTLinux", ":/os_altlinux.png");
+ m_guestOSTypeIconNames.insert("ALTLinux_64", ":/os_altlinux_64.png");
m_guestOSTypeIconNames.insert("Debian", ":/os_debian.png");
m_guestOSTypeIconNames.insert("Debian_64", ":/os_debian_64.png");
m_guestOSTypeIconNames.insert("Debian31", ":/os_debian.png");
diff --git a/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.cpp b/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.cpp
index 953ebb13f..ce40c3739 100644
--- a/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.cpp
@@ -465,7 +465,7 @@ void UIMediumManagerWidget::sltHandleMachineStateChange(const QUuid &uId, const
void UIMediumManagerWidget::sltAddMedium()
{
QString strDefaultMachineFolder = uiCommon().virtualBox().GetSystemProperties().GetDefaultMachineFolder();
- uiCommon().openMediumWithFileOpenDialog(currentMediumType(), this,
+ uiCommon().openMediumWithFileOpenDialog(currentMediumType(), QApplication::activeWindow(),
strDefaultMachineFolder, true /* use most recent medium folder */);
}
diff --git a/src/VBox/Frontends/VirtualBox/src/widgets/UILineTextEdit.cpp b/src/VBox/Frontends/VirtualBox/src/widgets/UILineTextEdit.cpp
index 051eee5da..d815c823e 100644
--- a/src/VBox/Frontends/VirtualBox/src/widgets/UILineTextEdit.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/widgets/UILineTextEdit.cpp
@@ -88,7 +88,7 @@ void UITextEditor::retranslateUi()
void UITextEditor::open()
{
- QString fileName = QIFileDialog::getOpenFileName(uiCommon().documentsPath(), tr("Text (*.txt);;All (*.*)"), this, tr("Select a file to open..."));
+ QString fileName = QIFileDialog::getOpenFileName(uiCommon().documentsPath(), tr("Text (*.txt);;All (*.*)"), QApplication::activeWindow(), tr("Select a file to open..."));
if (!fileName.isEmpty())
{
QFile file(fileName);
diff --git a/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMNameOSTypePage.cpp b/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMNameOSTypePage.cpp
index d48fa80af..b34cb075e 100644
--- a/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMNameOSTypePage.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMNameOSTypePage.cpp
@@ -201,6 +201,8 @@ static const osTypePattern gs_OSTypePattern[] =
/* Regular names of Linux distributions: */
{ QRegularExpression("Arc.*64", QRegularExpression::CaseInsensitiveOption), "ArchLinux_64" },
{ QRegularExpression("Arc.*32", QRegularExpression::CaseInsensitiveOption), "ArchLinux" },
+ { QRegularExpression("^alt-.*64", QRegularExpression::CaseInsensitiveOption), "ALTLinux_64" },
+ { QRegularExpression("^alt-.*i586", QRegularExpression::CaseInsensitiveOption), "ALTLinux" },
{ QRegularExpression("Deb.*64", QRegularExpression::CaseInsensitiveOption), "Debian_64" },
{ QRegularExpression("Deb.*32", QRegularExpression::CaseInsensitiveOption), "Debian" },
{ QRegularExpression("SU.*Leap.*64", QRegularExpression::CaseInsensitiveOption), "OpenSUSE_Leap_64" },
diff --git a/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c b/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
index 127f99591..4aec33f6f 100644
--- a/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
+++ b/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
@@ -47,7 +47,7 @@
#if RTLNX_VER_MIN(2,6,24)
# include <linux/nsproxy.h>
#endif
-#if RTLNX_VER_MIN(6,5,0)
+#if RTLNX_VER_MIN(6,4,10)
# include <net/gso.h>
#endif
#include <linux/netdevice.h>
diff --git a/src/VBox/Installer/common/virtualbox.desktop.in b/src/VBox/Installer/common/virtualbox.desktop.in
index dca93dde3..a796d7894 100644
--- a/src/VBox/Installer/common/virtualbox.desktop.in
+++ b/src/VBox/Installer/common/virtualbox.desktop.in
@@ -3,7 +3,7 @@ Version=1.0
Name=@VBOX_PRODUCT@
GenericName=Virtualization Software
GenericName[de]=Virtualisierung Software
-GenericName[ru]=
+GenericName[ru]=Виртуальная машина
Type=Application
Exec=VirtualBox %U
TryExec=VirtualBox
diff --git a/src/VBox/Installer/linux/VBoxCreateUSBNode.sh b/src/VBox/Installer/linux/VBoxCreateUSBNode.sh
index 6893a6c07..06a016e62 100755
--- a/src/VBox/Installer/linux/VBoxCreateUSBNode.sh
+++ b/src/VBox/Installer/linux/VBoxCreateUSBNode.sh
@@ -31,13 +31,16 @@
usb_class_hub=09
do_remove=0
+do_create=0
case "$1" in "--remove")
do_remove=1; shift;;
+ "--create")
+ do_create=1; shift;;
esac
-bus=`expr "$2" '/' 128 + 1`
-device=`expr "$2" '%' 128 + 1`
-class="$3"
-group="$4"
+bus=`expr "${2-0}" '/' 128 + 1`
+device=`expr "${2-0}" '%' 128 + 1`
+class="${3-0}"
+group="${4-}"
devdir="`printf "/dev/vboxusb/%.3d" $bus`"
devpath="`printf "/dev/vboxusb/%.3d/%.3d" $bus $device`"
case "$do_remove" in
@@ -49,6 +52,9 @@ case "$do_remove" in
case "$group" in "") group="vboxusers";; esac
mkdir /dev/vboxusb -m 0750 2>/dev/null
chown root:$group /dev/vboxusb 2>/dev/null
+ if test "$do_create" = "1"; then
+ exit 0
+ fi
mkdir "$devdir" -m 0750 2>/dev/null
chown root:$group "$devdir" 2>/dev/null
mknod "$devpath" c $1 $2 -m 0660 2>/dev/null
diff --git a/src/VBox/Main/Makefile.kmk b/src/VBox/Main/Makefile.kmk
index 5711816d7..77a75e4b3 100644
--- a/src/VBox/Main/Makefile.kmk
+++ b/src/VBox/Main/Makefile.kmk
@@ -592,6 +592,7 @@ if !defined(VBOX_ONLY_SDK) && !defined(VBOX_ONLY_EXTPACKS) # Note this goes on f
VBoxSVC_LIBS += \
$(PATH_STAGE_LIB)/VBoxAPIWrap$(VBOX_SUFF_LIB) \
$(PATH_STAGE_LIB)/SSMStandalone$(VBOX_SUFF_LIB) \
+ $(LIB_RUNTIME) \
$(LIB_DDU)
VBoxSVC_SDKS = VBoxLibPng VBoxZlib
@@ -790,6 +791,7 @@ if !defined(VBOX_ONLY_SDK) && !defined(VBOX_ONLY_EXTPACKS) # Note this goes on f
$(PATH_SDK_$(VBOX_WINPSDK)_LIB)/WbemUuid.Lib
endif
VBoxSVC_LDFLAGS.darwin = -framework IOKit -framework SystemConfiguration
+VBoxSVC_LDFLAGS.linux = -Wl,-rpath,$(VBOXDIR)
ifdef VBOX_WITH_3D_ACCELERATION
VBoxSVC_DEFS += VBOX_WITH_3D_ACCELERATION
@@ -965,6 +967,7 @@ if !defined(VBOX_ONLY_SDK) && !defined(VBOX_ONLY_EXTPACKS) # Note this goes on f
VBoxSVCM_LDFLAGS.darwin = \
-install_name $(VBOX_DYLD_EXECUTABLE_PATH)/components/VBoxSVCM.dylib \
-exported_symbols_list $(VBoxSVCM_0_OUTDIR)/VBoxSVCM.def
+VBoxSVCM_LDFLAGS.linux = -Wl,-rpath,$(VBOXDIR)
ifeq ($(KBUILD_TARGET),darwin)
VBoxSVCM_ORDERDEPS += $(VBoxSVCM_0_OUTDIR)/VBoxSVCM.def
VBoxSVCM_CLEAN += $(VBoxSVCM_0_OUTDIR)/VBoxSVCM.def
@@ -1230,6 +1233,8 @@ if !defined(VBOX_ONLY_SDK) && !defined(VBOX_ONLY_EXTPACKS) # Note this goes on f
VBoxC_SOURCES += \
src-client/RemoteUSBBackend.cpp
endif
+
+VBoxC_LDFLAGS.linux = -Wl,-rpath,$(VBOXDIR)
ifndef VBOX_WITH_VRDEAUTH_IN_VBOXSVC
VBoxC_SOURCES += \
src-all/AuthLibrary.cpp
diff --git a/src/VBox/Main/src-all/Global.cpp b/src/VBox/Main/src-all/Global.cpp
index ea7fd7a5d..d9d72c37f 100644
--- a/src/VBox/Main/src-all/Global.cpp
+++ b/src/VBox/Main/src-all/Global.cpp
@@ -295,6 +295,9 @@ const Global::OSType Global::sOSTypes[] =
VBOX_LINUX_SUBTYPE_A_32(ArchLinux, "Arch Linux (32-bit)", 1024, 16, 8),
VBOX_LINUX_SUBTYPE_A_64(ArchLinux, "Arch Linux (64-bit)", 1024, 16, 8),
+ VBOX_LINUX_SUBTYPE_A_32(ALTLinux, "ALT Linux (32-bit)", 1024, 16, 8),
+ VBOX_LINUX_SUBTYPE_A_64(ALTLinux, "ALT Linux (64-bit)", 1024, 16, 8),
+
VBOX_LINUX_SUBTYPE_A_32(Debian, "Debian (32-bit)", 2048, 16, 20),
VBOX_LINUX_SUBTYPE_A_64(Debian, "Debian (64-bit)", 2048, 16, 20),
VBOX_LINUX_SUBTYPE_A_32(Debian31, "Debian 3.1 Sarge (32-bit)", 1024, 16, 8), // 32-bit only
diff --git a/src/VBox/Main/src-server/ApplianceImpl.cpp b/src/VBox/Main/src-server/ApplianceImpl.cpp
index b842e5835..320167e65 100644
--- a/src/VBox/Main/src-server/ApplianceImpl.cpp
+++ b/src/VBox/Main/src-server/ApplianceImpl.cpp
@@ -241,6 +241,8 @@ static struct
{ ovf::CIMOSType_CIMOS_Linux_64, VBOXOSTYPE_Linux26_x64 },
// types that we have support for but CIM doesn't
+ { ovf::CIMOSType_CIMOS_Linux_2_6_x, VBOXOSTYPE_ALTLinux },
+ { ovf::CIMOSType_CIMOS_Linux_2_6_x_64, VBOXOSTYPE_ALTLinux_x64 },
{ ovf::CIMOSType_CIMOS_Linux_2_6_x, VBOXOSTYPE_ArchLinux },
{ ovf::CIMOSType_CIMOS_Linux_2_6_x_64, VBOXOSTYPE_ArchLinux_x64 },
{ ovf::CIMOSType_CIMOS_Linux_2_6_x, VBOXOSTYPE_FedoraCore },
diff --git a/src/VBox/Main/src-server/VirtualBoxImpl.cpp b/src/VBox/Main/src-server/VirtualBoxImpl.cpp
index 73e07dbb6..2d658bb4f 100644
--- a/src/VBox/Main/src-server/VirtualBoxImpl.cpp
+++ b/src/VBox/Main/src-server/VirtualBoxImpl.cpp
@@ -2180,6 +2180,8 @@ HRESULT VirtualBox::createMachine(const com::Utf8Str &aSettingsFile,
if (!aOsTypeId.isEmpty())
i_findGuestOSType(aOsTypeId, osType);
+ if((strncmp(aOsTypeId.c_str(),"ALTLinux",strlen("ALTLinux"))) == 0)
+ return setError(E_INVALIDARG, "Please use \"Other Linux\" type for a new ALT Linux virtual machine.\n For details see http://altlinux.org/VirtualBox");
/* initialize the machine object */
hrc = machine->init(this,
strSettingsFile,
diff --git a/src/VBox/Main/xml/Settings.cpp b/src/VBox/Main/xml/Settings.cpp
index fa1c1d82a..d0cfee539 100644
--- a/src/VBox/Main/xml/Settings.cpp
+++ b/src/VBox/Main/xml/Settings.cpp
@@ -6595,7 +6595,8 @@ const struct {
{ "netware", "Netware" },
{ "solaris", "Solaris" },
{ "opensolaris", "OpenSolaris" },
- { "l4", "L4" }
+ { "l4", "L4" },
+ {"altlinux","ALTLinux"}
};
void MachineConfigFile::convertOldOSType_pre1_5(Utf8Str &str)
diff --git a/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h b/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h
index 8e70f9923..46c034318 100644
--- a/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h
+++ b/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h
@@ -398,11 +398,21 @@ DECLINLINE(unsigned long) msecs_to_jiffies(unsigned int cMillies)
#endif
/*
- * There are post-2.6.24 kernels (confusingly with unchanged version number)
- * which eliminate macros which were marked as deprecated.
+ * The 2.6.25 kernel eliminates macros that were marked as deprecated and eliminates
+ * routine change_page_attr() in favor of the set_pages_* API.
*/
-#ifndef __attribute_used__
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25)
#define __attribute_used__ __used
+
+static inline int my_change_page_attr(struct page *page, int numpages, pgprot_t prot)
+{
+ /* use the set_pages_* API */
+ if (pgprot_val(prot) & _PAGE_NX)
+ set_pages_nx(page, numpages);
+ set_pages_uc(page, numpages);
+ return 0;
+}
+#define change_page_attr(a,b,c) my_change_page_attr((a), (b), (c))
#endif
/**
diff --git a/src/VBox/VMM/VMMR0/VMMR0.cpp b/src/VBox/VMM/VMMR0/VMMR0.cpp
index fdec5a0f7..a5f54f3fb 100644
--- a/src/VBox/VMM/VMMR0/VMMR0.cpp
+++ b/src/VBox/VMM/VMMR0/VMMR0.cpp
@@ -2168,7 +2168,7 @@ DECL_NO_INLINE(static, int) vmmR0EntryExWorker(PGVM pGVM, VMCPUID idCpu, VMMR0OP
rc = IntNetR0IfAbortWaitReq(pSession, (PINTNETIFABORTWAITREQ)pReqHdr);
break;
-#if 0 //def VBOX_WITH_PCI_PASSTHROUGH
+#ifdef VBOX_WITH_PCI_PASSTHROUGH
/*
* Requests to host PCI driver service.
*/
diff --git a/src/VBox/VMM/testcase/Makefile.kmk b/src/VBox/VMM/testcase/Makefile.kmk
index 43cb7b400..ce12bd213 100644
--- a/src/VBox/VMM/testcase/Makefile.kmk
+++ b/src/VBox/VMM/testcase/Makefile.kmk
@@ -38,9 +38,11 @@ endif
#
# Target lists.
#
-PROGRAMS += tstVMStructSize tstAsmStructs
-ifdef VBOX_WITH_RAW_MODE
- PROGRAMS += tstVMStructRC tstAsmStructsRC
+ifndef VBOX_WITHOUT_BIARCH
+ PROGRAMS += tstVMStructSize tstAsmStructs
+ ifdef VBOX_WITH_RAW_MODE
+ PROGRAMS += tstVMStructRC tstAsmStructsRC
+ endif
endif
if !defined(VBOX_ONLY_EXTPACKS) \
&& ( defined(VBOX_WITH_DTRACE_R3) \
@@ -121,9 +123,11 @@ BLDDIRS += $(VBOX_VMM_TESTCASE_OUT_DIR)
#
ifeq ($(KBUILD_TARGET),$(KBUILD_HOST))
ifeq ($(filter-out x86.x86 amd64.amd64 x86.amd64, $(KBUILD_TARGET_ARCH).$(KBUILD_HOST_ARCH)),)
+ ifndef VBOX_WITHOUT_BIARCH
OTHERS += \
$(VBOX_VMM_TESTCASE_OUT_DIR)/tstAsmStructs.run \
$(VBOX_VMM_TESTCASE_OUT_DIR)/tstVMStructSize.run
+ endif
endif
endif
diff --git a/src/VBox/ValidationKit/testdriver/vboxtestvms.py b/src/VBox/ValidationKit/testdriver/vboxtestvms.py
index fbadf7b56..da5602900 100755
--- a/src/VBox/ValidationKit/testdriver/vboxtestvms.py
+++ b/src/VBox/ValidationKit/testdriver/vboxtestvms.py
@@ -143,6 +143,8 @@ g_aaNameToDetails = \
[ 'Solaris_64', 'Solaris11_64', g_k64, 1, 256, ['sol11u1']],
[ 'BSD', 'FreeBSD_64', g_k32_64, 1, 1, ['bs-.*']], # boot sectors, wanted 64-bit type.
[ 'DOS', 'DOS', g_k32, 1, 1, ['bs-.*']],
+ [ 'Linux', 'ALTLinux', g_k32, 1, 256, ['alt*', ]],
+ [ 'Linux_64', 'ALTLinux_64', g_k64, 1, 256, ['alt*-64', ]],
];
diff --git a/src/libs/dxvk-native-1.9.2a/src/util/util_bit.h b/src/libs/dxvk-native-1.9.2a/src/util/util_bit.h
index 3c65c70df..7b0a2fb43 100644
--- a/src/libs/dxvk-native-1.9.2a/src/util/util_bit.h
+++ b/src/libs/dxvk-native-1.9.2a/src/util/util_bit.h
@@ -19,6 +19,7 @@
#include <cstring>
#include <iterator>
#include <type_traits>
+#include <cstdint>
namespace dxvk::bit {
diff --git a/src/libs/xpcom18a4/Makefile.kmk b/src/libs/xpcom18a4/Makefile.kmk
index b12dccfe8..a280940d5 100644
--- a/src/libs/xpcom18a4/Makefile.kmk
+++ b/src/libs/xpcom18a4/Makefile.kmk
@@ -1042,6 +1042,7 @@ VBoxXPCOM_LDFLAGS.solaris += -Wl,-z,allextract \
#VBoxXPCOM_LIBS += $(LIB_RUNTIME_EF)
#VBoxXPCOM_LDFLAGS = -Wl,--whole-archive $(VBoxXPCOM_LIBS) -Wl,--no-whole-archive $(LIB_RUNTIME)
VBoxXPCOM_LDFLAGS.darwin = -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxXPCOM.dylib
+VBoxXPCOM_LDFLAGS.linux = -Wl,-rpath,$(VBOXDIR)
#
# The 32-bit VBoxXPCOM Shared Object, assembling all lib files.
@@ -1199,6 +1200,7 @@ else
ipc/ipcd/client/src/ipcConnectionUnix.cpp
endif
VBoxXPCOMIPCC_LDFLAGS.darwin = -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/components/VBoxXPCOMIPCC.dylib
+VBoxXPCOMIPCC_LDFLAGS.linux = -Wl,-rpath,$(VBOXDIR)
VBoxXPCOMIPCC_LIBS = \
$(VBox-xpcom-ipcshared_1_TARGET)
@@ -1224,6 +1226,7 @@ else
VBoxXPCOMIPCD_SOURCES += \
ipc/ipcd/daemon/src/ipcdUnix.cpp
endif
+VBoxXPCOMIPCD_LDFLAGS.linux = -Wl,-rpath,$(VBOXDIR)
#