Hello community, here is the log from the commit of package virtualbox for openSUSE:Leap:15.2 checked in at 2020-03-26 05:41:16 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Leap:15.2/virtualbox (Old) and /work/SRC/openSUSE:Leap:15.2/.virtualbox.new.3160 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "virtualbox" Thu Mar 26 05:41:16 2020 rev:83 rq:787934 version:6.1.4 Changes: -------- --- /work/SRC/openSUSE:Leap:15.2/virtualbox/virtualbox.changes 2020-03-21 16:47:46.233675121 +0100 +++ /work/SRC/openSUSE:Leap:15.2/.virtualbox.new.3160/virtualbox.changes 2020-03-26 05:41:21.195277986 +0100 @@ -1,0 +2,19 @@ +Tue Mar 24 01:51:36 UTC 2020 - Larry Finger <[email protected]> + +- With version 6.1.4 of VB, the bidirectional clipboard part of VBoxClient + for guest systems is failing. A patch is provided at + https://www.virtualbox.org/ticket/19336. These changes have been added + to file "VirtualBox-6.1.4-VBoxClient-vmsvga-x11-crash.patch". This + fixes boo #1167403 "VBoxClient --clipboard dies". + +------------------------------------------------------------------- +Sun Mar 22 20:36:40 UTC 2020 - Larry Finger <[email protected]> + +- Update the wrapper that starts the UI for VirtualBox to check the + version of the extpack that is installed. If no pack is installed + or if the license is not current, the new code does nothing. If there + is a current license and the installed pack does not match the + running version of VB, then the script downloads and installs the + new version. File "update-extpack.sh" is added. + +------------------------------------------------------------------- New: ---- update-extpack.sh ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ virtualbox.spec ++++++ --- /var/tmp/diff_new_pack.gWlymr/_old 2020-03-26 05:41:25.951280452 +0100 +++ /var/tmp/diff_new_pack.gWlymr/_new 2020-03-26 05:41:25.955280454 +0100 @@ -67,6 +67,7 @@ Source4: %{name}-default.virtualbox Source5: %{name}-kmp-files Source7: %{name}-kmp-preamble +Source8: update-extpack.sh Source9: %{name}-wrapper.sh Source10: %{name}-LocalConfig.kmk Source11: %{name}-60-vboxdrv.rules @@ -717,7 +718,7 @@ install -m 644 %{SOURCE4} %{buildroot}%{_sysconfdir}/default/virtualbox #install wrapper script install -m 644 %{SOURCE9} %{buildroot}%{_bindir}/VirtualBox - +install -m 644 %{SOURCE8} %{buildroot}%{_bindir}/update-extpack.sh # Service files to load kernel modules on boot install -m 0644 %{SOURCE14} %{buildroot}%{_unitdir}/vboxdrv.service ln -s -f %{_sbindir}/service %{buildroot}%{_sbindir}/rcvboxdrv @@ -1004,6 +1005,7 @@ %{_vbox_instdir}/VirtualBox #wrapper script is in bindir %attr(0755,root,root) %{_bindir}/VirtualBox +%attr(0755,root,root) %{_bindir}/update-extpack.sh #rules fixing script is in /sbin %attr(0755,root,root) /sbin/vbox-fix-usb-rules.sh #ldd shows libQt* dependency ++++++ VirtualBox-6.1.4-VBoxClient-vmsvga-x11-crash.patch ++++++ --- /var/tmp/diff_new_pack.gWlymr/_old 2020-03-26 05:41:26.007280481 +0100 +++ /var/tmp/diff_new_pack.gWlymr/_new 2020-03-26 05:41:26.007280481 +0100 @@ -1,6 +1,7 @@ -diff -up VirtualBox-6.1.4/src/VBox/Additions/x11/VBoxClient/display-svga-x11.cpp~ VirtualBox-6.1.4/src/VBox/Additions/x11/VBoxClient/display-svga-x11.cpp ---- VirtualBox-6.1.4/src/VBox/Additions/x11/VBoxClient/display-svga-x11.cpp~ 2020-02-18 18:13:08.000000000 +0100 -+++ VirtualBox-6.1.4/src/VBox/Additions/x11/VBoxClient/display-svga-x11.cpp 2020-03-03 16:27:49.947341705 +0100 +Index: VirtualBox-6.1.4/src/VBox/Additions/x11/VBoxClient/display-svga-x11.cpp +=================================================================== +--- VirtualBox-6.1.4.orig/src/VBox/Additions/x11/VBoxClient/display-svga-x11.cpp ++++ VirtualBox-6.1.4/src/VBox/Additions/x11/VBoxClient/display-svga-x11.cpp @@ -100,16 +100,19 @@ static void x11Connect(struct X11CONTEXT { XCloseDisplay(pContext->pDisplay); @@ -21,3 +22,44 @@ } pContext->rootWindow = DefaultRootWindow(pContext->pDisplay); } +Index: VirtualBox-6.1.4/src/VBox/Additions/x11/VBoxClient/clipboard.cpp +=================================================================== +--- VirtualBox-6.1.4.orig/src/VBox/Additions/x11/VBoxClient/clipboard.cpp ++++ VirtualBox-6.1.4/src/VBox/Additions/x11/VBoxClient/clipboard.cpp +@@ -215,7 +215,6 @@ DECLCALLBACK(void) ShClX11RequestFromX11 + * + * @returns VBox status code. + */ +-#if 0 + static int vboxClipboardConnect(void) + { + LogFlowFuncEnter(); +@@ -245,7 +244,6 @@ static int vboxClipboardConnect(void) + LogFlowFuncLeaveRC(rc); + return rc; + } +-#endif + + /** + * The main loop of our clipboard reader. +@@ -469,7 +467,7 @@ static int run(struct VBCLSERVICE **ppIn + RT_NOREF(ppInterface, fDaemonised); + + /* Initialise the guest library. */ +- int rc = 0; //vboxClipboardConnect(); ++ int rc = vboxClipboardConnect(); + if (RT_SUCCESS(rc)) + { + #ifdef VBOX_WITH_SHARED_CLIPBOARD_FUSE +@@ -477,9 +475,9 @@ static int run(struct VBCLSERVICE **ppIn + if (RT_SUCCESS(rc)) + { + #endif +- RTThreadSleep(60 * 1000); ++ // RTThreadSleep(60 * 1000); + +- //rc = vboxClipboardMain(); ++ rc = vboxClipboardMain(); + + #ifdef VBOX_WITH_SHARED_CLIPBOARD_FUSE + int rc2 = vboxClipboardFUSEStop(); ++++++ update-extpack.sh ++++++ #!/bin/bash # Script to update extpack # The idea for this method and the original code came from Larry Len Rainey. # # This implementation by Larry Finger # Define some symbols and determine the current version of VB VBOXMANAGE=/usr/bin/VBoxManage AWK=/usr/bin/awk GREP=/usr/bin/grep WGET=/usr/bin/wget VBOX_VERSION=`$VBOXMANAGE --version | $AWK -F_ {'print $1'}` # Define a symbol for the name of the extpack matching the VB version VBOX_EXT=`echo Oracle_VM_VirtualBox_Extension_Pack-${VBOX_VERSION}.vbox-extpack` # Full path to extpack license file LICENSE_PATH="/usr/lib/virtualbox/ExtensionPacks/Oracle_VM_VirtualBox_Extension_Pack/ExtPack-license.rtf" # Determine the installed version of extpack, if any. EXTPACK_CURRENT=`$VBOXMANAGE list extpacks | $GREP -A1 "Oracle VM VirtualBox Extension Pack" | $GREP Version | $AWK -F\ {'print $2'}` # The extpacks are licensed under a Personal Use and Evaluation License # At some point, the user must agree to the conditions of that license. # If no extpack is installed on this system, then there is no agreement, # thus this script cannot install the extpack. # # This situation applies to new installations that could conform to the license, # but more importantly, it handles commercial setups that have not purchased # the necessary license. # Check if extpack is currently installed. If not exit if [ -z $EXTPACK_CURRENT ]; then exit 0 fi # # An extpack has been installed on this system. Now we need to check if # it was issued under the current version of the license. #Note to maintainers: The "version 10" in the next command must be changed # manually when Oracle revises the license. LICENSE_CHECK=`$GREP "version 10" $LICENSE_PATH | $AWK -F\ {'print $2'}` if [ -z $LICENSE_CHECK ]; then # New license version does not match the current installation. # The user will need to agree to the new version, thus we do nothing here. exit 0 fi if [ $VBOX_VERSION == $EXTPACK_CURRENT ]; then # The extpack currently installed matches - we are done exit 0 fi # A new version of extpack is needed - switch to directory that can be written, and download it pushd ~ > /dev/null 2>&1 $WGET http://download.virtualbox.org/virtualbox/$VBOX_VERSION/$VBOX_EXT > /dev/null 2>&1 # Now install it echo Y | $VBOXMANAGE extpack install --replace $VBOX_EXT > /dev/null 2>&1 # Clean up by deleting downloaded file and restoring the original working directory rm -f $VBOX_EXT popd ~ > /dev/null 2>&1 ++++++ virtualbox-wrapper.sh ++++++ --- /var/tmp/diff_new_pack.gWlymr/_old 2020-03-26 05:41:26.355280661 +0100 +++ /var/tmp/diff_new_pack.gWlymr/_new 2020-03-26 05:41:26.355280661 +0100 @@ -1,5 +1,6 @@ #!/bin/bash export QT_NO_KDE_INTEGRATION=1 + # make certain that the user/group combination is valid /usr/bin/id -nG | grep -v -e "root" -e "vboxusers" >/dev/null && /usr/lib/virtualbox/VBoxPermissionMessage && exit # @@ -22,6 +23,7 @@ rm -f ~/.vbox/enable fi } + # Start of main routine # # Ensure that ~/.vbox exists @@ -54,6 +56,8 @@ fi fi fi +# Check if extpack needs to be updated +/usr/bin/update-extpack.sh # Check that /usr/lib/virtualbox/VirtualBoxVM has SUID permissions PERM=$(ls -l /usr/lib/virtualbox/VirtualBoxVM | grep rwsr) if [ -z "$PERM" ]
