Sisyphus repository
Last update: 24 june 2019 | SRPMs: 17678 | Visits: 14174919
en ru br
ALT Linux repos
S:5.2.26-alt3
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 :: Emulators
RPM: virtualbox

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

Patch: virtualbox-5.2.22-alt.patch
Download


 configure                                                |  2 +-
 doc/manual/en_US/user_Introduction.xml                   |  2 ++
 include/VBox/ostypes.h                                   |  2 ++
 src/VBox/Additions/common/VBoxGuest/lib/Makefile.kmk     |  4 ----
 src/VBox/Additions/common/crOpenGL/fakedri_drv.c         |  8 ++++----
 src/VBox/Additions/x11/Installer/98vboxadd-xclient       |  4 ++++
 src/VBox/Additions/x11/Makefile.kmk                      |  4 ++++
 src/VBox/Devices/testcase/Makefile.kmk                   |  4 ++++
 .../VBoxDTrace/onnv/lib/libdtrace/common/dt_printf.c     |  2 +-
 src/VBox/Frontends/VBoxFB/Makefile.kmk                   |  1 +
 src/VBox/Frontends/VBoxManage/Makefile.kmk               |  1 +
 src/VBox/Frontends/VBoxSDL/Makefile.kmk                  |  1 +
 src/VBox/Frontends/VirtualBox/Makefile.kmk               |  1 +
 src/VBox/Frontends/VirtualBox/VirtualBox2.qrc            |  2 ++
 .../Frontends/VirtualBox/src/globals/UIActionPool.cpp    |  5 +----
 src/VBox/Frontends/VirtualBox/src/globals/UIActionPool.h |  1 -
 .../Frontends/VirtualBox/src/net/UIUpdateManager.cpp     |  2 ++
 .../VirtualBox/src/selector/UISelectorWindow.cpp         |  7 +------
 .../VirtualBox/src/settings/UISettingsDialogSpecific.cpp |  4 ++++
 src/VBox/GuestHost/OpenGL/Makefile.kmk                   |  4 ++++
 src/VBox/Installer/common/virtualbox.desktop.in          |  1 +
 src/VBox/Installer/linux/VBoxCreateUSBNode.sh            | 16 +++++++++++-----
 src/VBox/Main/Makefile.kmk                               |  5 +++++
 src/VBox/Main/src-all/Global.cpp                         |  8 ++++++++
 src/VBox/Main/src-server/ApplianceImpl.cpp               |  2 ++
 src/VBox/Main/src-server/VirtualBoxImpl.cpp              |  4 +++-
 src/VBox/Runtime/r0drv/linux/the-linux-kernel.h          | 16 +++++++++++++---
 src/VBox/VMM/testcase/Makefile.kmk                       | 10 +++++++---
 src/libs/xpcom18a4/Makefile.kmk                          |  3 +++
 29 files changed, 93 insertions(+), 33 deletions(-)
diff --git a/configure b/configure
index a696930..4c4f292 100755
--- a/configure
+++ b/configure
@@ -1504,7 +1504,7 @@ EOF
           echo "(Qt5 from pkg-config)" >> $LOG
           FLGQT5=`pkg-config Qt5Core --cflags`
           # gcc 4.8 is able to compile with C++11 (see also VBOX_GCC_std in Config.kmk)
-          [ $cc_maj -eq 4 -a $cc_min -eq 8 ] && FLGQT5="$FLGQT5 -std=c++11"
+          [ $cc_maj -eq 4 -a $cc_min -gt 8 ] || [ $cc_maj -gt 4 ] && FLGQT5="$FLGQT5 -std=c++11"
           INCQT5=`strip_I "$FLGQT5"`
           LIBDIR5=`pkg-config Qt5Core --variable=libdir`
           LIBQT5=`pkg-config Qt5Core --libs`
diff --git a/doc/manual/en_US/user_Introduction.xml b/doc/manual/en_US/user_Introduction.xml
index 4fb5bcd..3edfa70 100644
--- a/doc/manual/en_US/user_Introduction.xml
+++ b/doc/manual/en_US/user_Introduction.xml
@@ -1771,10 +1771,12 @@
          used to trigger certain VM actions (see <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
          specify the GUI language.</para>
diff --git a/include/VBox/ostypes.h b/include/VBox/ostypes.h
index 8e525b3..60cdb3d 100644
--- a/include/VBox/ostypes.h
+++ b/include/VBox/ostypes.h
@@ -107,6 +107,8 @@ typedef enum VBOXOSTYPE
     VBOXOSTYPE_Xandros_x64      = 0x5D100,
     VBOXOSTYPE_Oracle           = 0x5E000,
     VBOXOSTYPE_Oracle_x64       = 0x5E100,
+    VBOXOSTYPE_ALTLinux         = 0x5F000,
+    VBOXOSTYPE_ALTLinux_x64     = 0x5F100,
     VBOXOSTYPE_FreeBSD          = 0x60000,
     VBOXOSTYPE_FreeBSD_x64      = 0x60100,
     VBOXOSTYPE_OpenBSD          = 0x61000,
diff --git a/src/VBox/Additions/common/VBoxGuest/lib/Makefile.kmk b/src/VBox/Additions/common/VBoxGuest/lib/Makefile.kmk
index 8cf43e8..6ee1d41 100644
--- a/src/VBox/Additions/common/VBoxGuest/lib/Makefile.kmk
+++ b/src/VBox/Additions/common/VBoxGuest/lib/Makefile.kmk
@@ -39,10 +39,6 @@ LIBRARIES += \
 	VBoxGuestR3Lib \
 	VBoxGuestR3LibShared
 ifndef VBOX_ONLY_VALIDATIONKIT
- if1of ($(KBUILD_TARGET), freebsd linux netbsd openbsd)
-  LIBRARIES += \
-  	VBoxGuestR3LibXFree86
- endif
  if1of ($(KBUILD_TARGET), freebsd linux netbsd openbsd solaris)
   LIBRARIES += \
   	VBoxGuestR3LibXOrg
diff --git a/src/VBox/Additions/common/crOpenGL/fakedri_drv.c b/src/VBox/Additions/common/crOpenGL/fakedri_drv.c
index 92b4ffc..092127a 100644
--- a/src/VBox/Additions/common/crOpenGL/fakedri_drv.c
+++ b/src/VBox/Additions/common/crOpenGL/fakedri_drv.c
@@ -62,16 +62,16 @@ typedef enum {
 #  define DRI_DEFAULT_DRIVER_DIR "/usr/local/lib/dri"
 #  define DRI_XORG_DRV_DIR "/usr/local/lib/xorg/modules/drivers/"
 # else
-#  define DRI_DEFAULT_DRIVER_DIR "/usr/lib64/dri:/usr/lib/dri:/usr/lib/x86_64-linux-gnu/dri:/usr/lib/xorg/modules/dri"
-#  define DRI_XORG_DRV_DIR "/usr/lib/xorg/modules/drivers/"
+#  define DRI_DEFAULT_DRIVER_DIR "/usr/lib64/X11/modules/dri:/usr/lib64/dri:/usr/lib/dri:/usr/lib/x86_64-linux-gnu/dri:/usr/lib/xorg/modules/dri"
+#  define DRI_XORG_DRV_DIR "/usr/lib64/X11/modules/drivers/"
 # endif
 #else
 # ifdef RT_OS_FREEBSD
 #  define DRI_DEFAULT_DRIVER_DIR "/usr/local/lib/dri"
 #  define DRI_XORG_DRV_DIR "/usr/local/lib/xorg/modules/drivers/"
 # else
-#  define DRI_DEFAULT_DRIVER_DIR "/usr/lib/dri:/usr/lib/i386-linux-gnu/dri:/usr/lib/xorg/modules/dri"
-#  define DRI_XORG_DRV_DIR "/usr/lib/xorg/modules/drivers/"
+#  define DRI_DEFAULT_DRIVER_DIR "/usr/lib/X11/modules/dri:/usr/lib/dri:/usr/lib/i386-linux-gnu/dri:/usr/lib/xorg/modules/dri"
+#  define DRI_XORG_DRV_DIR "/usr/lib/X11/modules/drivers/"
 # endif
 #endif
 
diff --git a/src/VBox/Additions/x11/Installer/98vboxadd-xclient b/src/VBox/Additions/x11/Installer/98vboxadd-xclient
index f5d5ca2..de91b49 100755
--- a/src/VBox/Additions/x11/Installer/98vboxadd-xclient
+++ b/src/VBox/Additions/x11/Installer/98vboxadd-xclient
@@ -15,6 +15,9 @@
 # hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
 #
 
+# Do not start if it's not a VirtualBox VM.
+if test -f /proc/bus/pci/devices && grep -q 80eebeef /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
@@ -36,3 +39,4 @@ elif test -z "${SSH_CONNECTION}"; then
   /usr/bin/VBoxClient --seamless
   /usr/bin/VBoxClient --draganddrop
 fi
+fi
diff --git a/src/VBox/Additions/x11/Makefile.kmk b/src/VBox/Additions/x11/Makefile.kmk
index 8945de3..418faf0 100644
--- a/src/VBox/Additions/x11/Makefile.kmk
+++ b/src/VBox/Additions/x11/Makefile.kmk
@@ -18,6 +18,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/testcase/Makefile.kmk b/src/VBox/Devices/testcase/Makefile.kmk
index 36e7639..684e70a 100644
--- a/src/VBox/Devices/testcase/Makefile.kmk
+++ b/src/VBox/Devices/testcase/Makefile.kmk
@@ -69,9 +69,11 @@ ifdef VBOX_WITH_RAW_MODE
  #
  # The testcase generator.
  #
+ifndef VBOX_WITHOUT_BIARCH
  PROGRAMS += tstDeviceStructSizeRC
  tstDeviceStructSizeRC_TEMPLATE  = VBoxRcExe
  tstDeviceStructSizeRC_DEFS      = $(VBOX_DEVICES_TESTS_FEATURES)
+endif
  tstDeviceStructSizeRC_SOURCES   = tstDeviceStructSizeRC.cpp
  tstDeviceStructSizeRC_INCS      = \
  	$(VBOX_PATH_DEVICES_SRC)/build \
@@ -84,7 +86,9 @@ endif # VBOX_WITH_RAW_MODE
 #
 # The testcase it self.
 #
+ifndef VBOX_WITHOUT_BIARCH
 PROGRAMS += tstDeviceStructSize
+endif
 tstDeviceStructSize_TEMPLATE = VBOXR3AUTOTST
 tstDeviceStructSize_DEFS     = $(VBOX_DEVICES_TESTS_FEATURES)
 tstDeviceStructSize_INCS     = \
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 9813291..3a46160 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/Frontends/VBoxFB/Makefile.kmk b/src/VBox/Frontends/VBoxFB/Makefile.kmk
index 34fd3ae..c4f26ce 100644
--- a/src/VBox/Frontends/VBoxFB/Makefile.kmk
+++ b/src/VBox/Frontends/VBoxFB/Makefile.kmk
@@ -36,6 +36,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 c0ddb0f..62ce0be 100644
--- a/src/VBox/Frontends/VBoxManage/Makefile.kmk
+++ b/src/VBox/Frontends/VBoxManage/Makefile.kmk
@@ -113,6 +113,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 fc416bf..462ffde 100644
--- a/src/VBox/Frontends/VBoxSDL/Makefile.kmk
+++ b/src/VBox/Frontends/VBoxSDL/Makefile.kmk
@@ -93,6 +93,7 @@ endif
 
 VBoxSDL_LDFLAGS.darwin = \
 	-framework Foundation -framework AppKit
+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 75c69cf..b0df0b7 100644
--- a/src/VBox/Frontends/VirtualBox/Makefile.kmk
+++ b/src/VBox/Frontends/VirtualBox/Makefile.kmk
@@ -922,6 +922,7 @@ if defined(VBOX_WITH_VIDEOHWACCEL) || defined(VBOX_GUI_USE_QGL)
 endif
 
 # Pull in the ui files
+VirtualBox_LDFLAGS.linux  = -Wl,-rpath,$(VBOXDIR)
 $(eval VirtualBox_SOURCES += $(FORMS))
 
 # Resource files with some OSE differences (VirtualBoxBrand.qrc is created further down).
diff --git a/src/VBox/Frontends/VirtualBox/VirtualBox2.qrc b/src/VBox/Frontends/VirtualBox/VirtualBox2.qrc
index 5f8376e..16f9cb0 100644
--- a/src/VBox/Frontends/VirtualBox/VirtualBox2.qrc
+++ b/src/VBox/Frontends/VirtualBox/VirtualBox2.qrc
@@ -2,6 +2,8 @@
     <qresource prefix="/">
         <file alias="os_win10.png">images/os_win10.png</file>
         <file alias="os_win10_64.png">images/os_win10_64.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_win2k.png">images/os_win2k.png</file>
         <file alias="os_win2k12_64.png">images/os_win2k12_64.png</file>
         <file alias="os_win2k16_64.png">images/os_win2k16_64.png</file>
diff --git a/src/VBox/Frontends/VirtualBox/src/globals/UIActionPool.cpp b/src/VBox/Frontends/VirtualBox/src/globals/UIActionPool.cpp
index 0fea847..69418f7 100644
--- a/src/VBox/Frontends/VirtualBox/src/globals/UIActionPool.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/globals/UIActionPool.cpp
@@ -1116,7 +1116,6 @@ void UIActionPool::preparePool()
     m_pool[UIActionIndex_M_Application_S_Preferences] = new UIActionSimplePreferences(this);
 #ifdef VBOX_GUI_WITH_NETWORK_MANAGER
     m_pool[UIActionIndex_M_Application_S_NetworkAccessManager] = new UIActionSimpleNetworkAccessManager(this);
-    m_pool[UIActionIndex_M_Application_S_CheckForUpdates] = new UIActionSimpleCheckForUpdates(this);
 #endif /* VBOX_GUI_WITH_NETWORK_MANAGER */
     m_pool[UIActionIndex_M_Application_S_ResetWarnings] = new UIActionSimpleResetWarnings(this);
     m_pool[UIActionIndex_M_Application_S_Close] = new UIActionSimplePerformClose(this);
@@ -1162,8 +1161,6 @@ void UIActionPool::prepareConnections()
 #ifdef VBOX_GUI_WITH_NETWORK_MANAGER
     connect(action(UIActionIndex_M_Application_S_NetworkAccessManager), &UIAction::triggered,
             gNetworkManager, &UINetworkManager::show, Qt::UniqueConnection);
-    connect(action(UIActionIndex_M_Application_S_CheckForUpdates), &UIAction::triggered,
-            gUpdateManager, &UIUpdateManager::sltForceCheck, Qt::UniqueConnection);
 #endif /* VBOX_GUI_WITH_NETWORK_MANAGER */
     connect(action(UIActionIndex_M_Application_S_ResetWarnings), &UIAction::triggered,
             &msgCenter(), &UIMessageCenter::sltResetSuppressedMessages, Qt::UniqueConnection);
@@ -1244,7 +1241,7 @@ void UIActionPool::updateConfiguration()
     if (!fUpdateAllowed)
     {
         m_restrictedActionsMenuApplication[UIActionRestrictionLevel_Base] = (UIExtraDataMetaDefs::MenuApplicationActionType)
-            (m_restrictedActionsMenuApplication[UIActionRestrictionLevel_Base] | UIExtraDataMetaDefs::MenuApplicationActionType_CheckForUpdates);
+            (m_restrictedActionsMenuApplication[UIActionRestrictionLevel_Base]);
     }
 #endif /* VBOX_GUI_WITH_NETWORK_MANAGER */
 
diff --git a/src/VBox/Frontends/VirtualBox/src/globals/UIActionPool.h b/src/VBox/Frontends/VirtualBox/src/globals/UIActionPool.h
index 439f5b3..191f49f 100644
--- a/src/VBox/Frontends/VirtualBox/src/globals/UIActionPool.h
+++ b/src/VBox/Frontends/VirtualBox/src/globals/UIActionPool.h
@@ -62,7 +62,6 @@ enum UIActionIndex
     UIActionIndex_M_Application_S_Preferences,
 #ifdef VBOX_GUI_WITH_NETWORK_MANAGER
     UIActionIndex_M_Application_S_NetworkAccessManager,
-    UIActionIndex_M_Application_S_CheckForUpdates,
 #endif /* VBOX_GUI_WITH_NETWORK_MANAGER */
     UIActionIndex_M_Application_S_ResetWarnings,
     UIActionIndex_M_Application_S_Close,
diff --git a/src/VBox/Frontends/VirtualBox/src/net/UIUpdateManager.cpp b/src/VBox/Frontends/VirtualBox/src/net/UIUpdateManager.cpp
index da0adba..8065458 100644
--- a/src/VBox/Frontends/VirtualBox/src/net/UIUpdateManager.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/net/UIUpdateManager.cpp
@@ -482,6 +482,8 @@ void UIUpdateManager::shutdown()
 
 void UIUpdateManager::sltForceCheck()
 {
+    return;
+
     /* Force call for new version check: */
     sltCheckIfUpdateIsNecessary(true /* force call */);
 }
diff --git a/src/VBox/Frontends/VirtualBox/src/selector/UISelectorWindow.cpp b/src/VBox/Frontends/VirtualBox/src/selector/UISelectorWindow.cpp
index 21e8779..11b9977 100644
--- a/src/VBox/Frontends/VirtualBox/src/selector/UISelectorWindow.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/selector/UISelectorWindow.cpp
@@ -1435,8 +1435,6 @@ void UISelectorWindow::prepareMenuFile(QMenu *pMenu)
     /* 'About' action goes to Application menu: */
     pMenu->addAction(actionPool()->action(UIActionIndex_M_Application_S_About));
 # ifdef VBOX_GUI_WITH_NETWORK_MANAGER
-    /* 'Check for Updates' action goes to Application menu: */
-    pMenu->addAction(actionPool()->action(UIActionIndex_M_Application_S_CheckForUpdates));
     /* 'Network Access Manager' action goes to Application menu: */
     pMenu->addAction(actionPool()->action(UIActionIndex_M_Application_S_NetworkAccessManager));
 # endif /* VBOX_GUI_WITH_NETWORK_MANAGER */
@@ -1479,7 +1477,7 @@ void UISelectorWindow::prepareMenuFile(QMenu *pMenu)
     addAction(actionPool()->action(UIActionIndexST_M_File_S_ShowHostNetworkManager));
 #  ifdef VBOX_GUI_WITH_NETWORK_MANAGER
     addAction(actionPool()->action(UIActionIndex_M_Application_S_NetworkAccessManager));
-    addAction(actionPool()->action(UIActionIndex_M_Application_S_CheckForUpdates));
+//    addAction(actionPool()->action(UIActionIndex_M_Application_S_CheckForUpdates));
 #  endif /* VBOX_GUI_WITH_NETWORK_MANAGER */
     addAction(actionPool()->action(UIActionIndex_M_Application_S_ResetWarnings));
     addAction(actionPool()->action(UIActionIndexST_M_File_S_Close));
@@ -1506,9 +1504,6 @@ void UISelectorWindow::prepareMenuFile(QMenu *pMenu)
 # ifdef VBOX_GUI_WITH_NETWORK_MANAGER
     /* 'Network Access Manager' action goes to 'File' menu: */
     pMenu->addAction(actionPool()->action(UIActionIndex_M_Application_S_NetworkAccessManager));
-    /* 'Check for Updates' action goes to 'File' menu: */
-    if (gEDataManager->applicationUpdateEnabled())
-        pMenu->addAction(actionPool()->action(UIActionIndex_M_Application_S_CheckForUpdates));
 # endif /* VBOX_GUI_WITH_NETWORK_MANAGER */
     /* 'Reset Warnings' action goes 'File' menu: */
     pMenu->addAction(actionPool()->action(UIActionIndex_M_Application_S_ResetWarnings));
diff --git a/src/VBox/Frontends/VirtualBox/src/settings/UISettingsDialogSpecific.cpp b/src/VBox/Frontends/VirtualBox/src/settings/UISettingsDialogSpecific.cpp
index 7fd5cfe..6fe4794 100644
--- a/src/VBox/Frontends/VirtualBox/src/settings/UISettingsDialogSpecific.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/settings/UISettingsDialogSpecific.cpp
@@ -304,6 +304,10 @@ bool UISettingsDialogGlobal::isPageAvailable(int iPageId)
 #endif /* !VBOX_WITH_NETFLT */
             break;
         }
+        case GlobalSettingsPageType_Update:
+        {
+            return false;
+        }
         default:
             break;
     }
diff --git a/src/VBox/GuestHost/OpenGL/Makefile.kmk b/src/VBox/GuestHost/OpenGL/Makefile.kmk
index 3216b2a..046b389 100644
--- a/src/VBox/GuestHost/OpenGL/Makefile.kmk
+++ b/src/VBox/GuestHost/OpenGL/Makefile.kmk
@@ -99,6 +99,8 @@ VBoxOGLcrutil_LIBS.win = \
 	$(PATH_SDK_$(VBOX_WINDDK)_LIB)/ddraw.lib \
 	$(PATH_SDK_$(VBOX_WINDDK)_LIB)/dxguid.lib \
 	$(PATH_SDK_$(VBOX_WINDDK)_LIB)/shlwapi.lib
+VBoxOGLcrutil_LIBS.linux = \
+	dl
 VBoxOGLcrutil_LIBS = \
 	$(VBOX_LIB_IPRT_GUEST_R3_SHARED) \
 	$(VBOX_LIB_VBGL_R3_SHARED)
@@ -645,6 +647,8 @@ VBoxOGLerrorspu_SOURCES.win.x86 = \
 	error/error.def
 VBoxOGLerrorspu_CLEAN = \
 	$(VBOX_PATH_CROGL_GENFILES)/errorspu.c
+VBoxOGLerrorspu_LDFLAGS.linux = \
+	-Wl,-rpath,$(VBOXDIR)/additions
 VBoxOGLerrorspu_LIBS = \
 	$(VBOX_LIB_OGL_CRUTIL)
 ifdef VBOX_WITH_CRHGSMI
diff --git a/src/VBox/Installer/common/virtualbox.desktop.in b/src/VBox/Installer/common/virtualbox.desktop.in
index d507a6e..687ae89 100644
--- a/src/VBox/Installer/common/virtualbox.desktop.in
+++ b/src/VBox/Installer/common/virtualbox.desktop.in
@@ -2,6 +2,7 @@
 Encoding=UTF-8
 Version=1.0
 Name=@VBOX_PRODUCT@
+Name[ru]=Виртуализатор VirtualBox
 GenericName=Virtual Machine
 GenericName[de]=Virtuelle Maschine
 GenericName[ru]=Виртуальная машина
diff --git a/src/VBox/Installer/linux/VBoxCreateUSBNode.sh b/src/VBox/Installer/linux/VBoxCreateUSBNode.sh
index 6e1f71a..3538089 100755
--- a/src/VBox/Installer/linux/VBoxCreateUSBNode.sh
+++ b/src/VBox/Installer/linux/VBoxCreateUSBNode.sh
@@ -6,7 +6,7 @@
 #
 
 #
-# Copyright (C) 2010-2017 Oracle Corporation
+# Copyright (C) 2010-2015 Oracle Corporation
 #
 # This file is part of VirtualBox Open Source Edition (OSE), as
 # available from http://www.virtualbox.org. This file is free software;
@@ -21,13 +21,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
@@ -39,6 +42,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 b80fd9b..582e239 100644
--- a/src/VBox/Main/Makefile.kmk
+++ b/src/VBox/Main/Makefile.kmk
@@ -400,6 +400,7 @@ endif
 VBoxSVC_LIBS += \
 	$(PATH_STAGE_LIB)/VBoxAPIWrap$(VBOX_SUFF_LIB) \
 	$(PATH_STAGE_LIB)/SSMStandalone$(VBOX_SUFF_LIB) \
+	$(LIB_RUNTIME) \
 	$(LIB_DDU)
 
 VBoxSVC_SDKS = VBOX_LIBPNG VBOX_ZLIB
@@ -557,6 +558,7 @@ ifdef VBOX_WITH_NETFLT
 	$(PATH_SDK_$(VBOX_WINPSDK)_LIB)/WbemUuid.Lib
 endif
 VBoxSVC_LDFLAGS.darwin    = -framework IOKit -framework SystemConfiguration
+VBoxSVC_LDFLAGS.linux     = -Wl,-rpath,$(VBOXDIR)
 
 ifdef VBOX_WITH_CROGL
  VBoxSVC_LIBS += $(PATH_STAGE_LIB)/VBoxOGLTest$(VBOX_SUFF_LIB)
@@ -706,6 +708,7 @@ VBoxSVCM_SOURCES        = \
 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
@@ -949,6 +952,8 @@ ifdef VBOX_WITH_USB
  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 e8c3048..43b177c 100644
--- a/src/VBox/Main/src-all/Global.cpp
+++ b/src/VBox/Main/src-all/Global.cpp
@@ -194,6 +194,14 @@ const Global::OSType Global::sOSTypes[] =
                                 | VBOXOSHINT_USBTABLET | VBOXOSHINT_X2APIC,
       1024,  16,  8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
         StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_AD1980  },
+    { "Linux",   "Linux",             "ALTLinux",           "ALT Linux (32 bit)",
+	       VBOXOSTYPE_ALTLinux,        VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
+	              512,  12,  8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
+		              StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97,AudioCodecType_AD1980  },
+     { "Linux",   "Linux",             "ALTLinux_64",        "ALT Linux (64 bit)",
+	           VBOXOSTYPE_ALTLinux_x64,    VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
+		          512,  12,  8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
+			          StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97,AudioCodecType_AD1980  },
 
     { "Linux",   "Linux",             "ArchLinux",          "Arch Linux (32-bit)",
       VBOXOSTYPE_ArchLinux,       VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET | VBOXOSHINT_X2APIC,
diff --git a/src/VBox/Main/src-server/ApplianceImpl.cpp b/src/VBox/Main/src-server/ApplianceImpl.cpp
index b5ef16d..170622a 100644
--- a/src/VBox/Main/src-server/ApplianceImpl.cpp
+++ b/src/VBox/Main/src-server/ApplianceImpl.cpp
@@ -178,6 +178,8 @@ g_osTypes[] =
     { 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 949cc27..c78f92b 100644
--- a/src/VBox/Main/src-server/VirtualBoxImpl.cpp
+++ b/src/VBox/Main/src-server/VirtualBoxImpl.cpp
@@ -1599,7 +1599,9 @@ HRESULT VirtualBox::createMachine(const com::Utf8Str &aSettingsFile,
         rc = i_findGuestOSType(aOsTypeId, osType);
         if (FAILED(rc)) return rc;
     }
-
+    
+    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 */
     rc = machine->init(this,
                        strSettingsFile,
diff --git a/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h b/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h
index 48fcf69..97ca129 100644
--- a/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h
+++ b/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h
@@ -361,11 +361,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/testcase/Makefile.kmk b/src/VBox/VMM/testcase/Makefile.kmk
index 4288975..3156f3d 100644
--- a/src/VBox/VMM/testcase/Makefile.kmk
+++ b/src/VBox/VMM/testcase/Makefile.kmk
@@ -28,9 +28,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) \
@@ -105,9 +107,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/libs/xpcom18a4/Makefile.kmk b/src/libs/xpcom18a4/Makefile.kmk
index cc0eb4b..3d20255 100644
--- a/src/libs/xpcom18a4/Makefile.kmk
+++ b/src/libs/xpcom18a4/Makefile.kmk
@@ -1019,6 +1019,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.
@@ -1171,6 +1172,7 @@ VBoxXPCOMIPCC_SOURCES += \
 	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)
 
@@ -1196,6 +1198,7 @@ else
  VBoxXPCOMIPCD_SOURCES += \
 	ipc/ipcd/daemon/src/ipcdUnix.cpp
 endif
+VBoxXPCOMIPCD_LDFLAGS.linux = -Wl,-rpath,$(VBOXDIR)
 
 
 #
 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin