Hello community,
here is the log from the commit of package virtualbox for openSUSE:Factory checked in at 2017-09-28 12:33:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/virtualbox (Old)
and /work/SRC/openSUSE:Factory/.virtualbox.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "virtualbox"
Thu Sep 28 12:33:21 2017 rev:142 rq:528710 version:5.1.28
Changes:
--------
--- /work/SRC/openSUSE:Factory/virtualbox/virtualbox.changes 2017-09-25 13:54:31.664104135 +0200
+++ /work/SRC/openSUSE:Factory/.virtualbox.new/virtualbox.changes 2017-09-28 12:33:23.860324061 +0200
@@ -1,0 +2,27 @@
+Mon Sep 25 20:15:56 UTC 2017 - Larry.Finger(a)lwfinger.net
+
+- Make changes suggested in bsc#1060072
+ The specific changes are:
+ (1) Remove the test in vboxdrv.sh as the script tests for the wrong file. This is safe because
+ if the package is not installed, the script will not be there.
+ (2) Move VBoxDbg.so to package virtualbox-qt. With this change, packages libQt5Core, libQt5Gui
+ and libQt5Widgets are no longer needed with package virtualbox. As a result, a text-only
+ server no longer needs to load QT to support headless virtual machines.
+
+-------------------------------------------------------------------
+Sun Sep 24 14:45:02 UTC 2017 - Larry.Finger(a)lwfinger.net
+
+- Update "fixes_for_4.14.patch" to handle additional API changes in kernel 4.14.
+ These include the following:
+ removal of gamma_set and gamma_get from struct drm_fb_helper_funcs
+ removal of set_busid from struct drm_driver
+ replacement of drm_pci_init() with pci_register_driver()
+ replacement of drm_pci_exit() with pci_unregister_driver()
+ removal of load_lut from struct drm_crtc_helper_func
+
+-------------------------------------------------------------------
+Thu Sep 21 13:49:01 UTC 2017 - Larry.Finger(a)lwfinger.net
+
+- Update "fixes_for_4.14.patch" to handle missing SKB_GSO_UDP in kernel 4.14
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ virtualbox.spec ++++++
--- /var/tmp/diff_new_pack.FzTsaE/_old 2017-09-28 12:33:26.495953463 +0200
+++ /var/tmp/diff_new_pack.FzTsaE/_new 2017-09-28 12:33:26.495953463 +0200
@@ -593,6 +593,7 @@
install -m 755 VBoxBalloonCtrl %{buildroot}%{_vbox_instdir}
install -m 755 webtest %{buildroot}%{_vbox_instdir}
install -m 755 VBoxDTrace %{buildroot}%{_vbox_instdir}
+install -m 755 VBoxDbg.so %{buildroot}%{_vbox_instdir}
# create links to vbox tools in PATH - they could be usefull for controlling vbox from command line
ln -s %{_vbox_instdir}/VBoxManage %{buildroot}%{_bindir}/VBoxManage
ln -s %{_vbox_instdir}/VBoxHeadless %{buildroot}%{_bindir}/VBoxHeadless
@@ -864,7 +865,6 @@
%{_vbox_instdir}/DbgPlugInDiggers.so
%{_vbox_instdir}/VBoxAuth.so
%{_vbox_instdir}/VBoxAuthSimple.so
-%{_vbox_instdir}/VBoxDbg.so
%{_vbox_instdir}/VBoxDragAndDropSvc.so
%{_vbox_instdir}/VBoxVMMPreload.so
#todo:double check - if this file should be assigned to the host side
@@ -910,6 +910,7 @@
#qm's translations
%{_datadir}/virtualbox/nls
%{_vbox_instdir}/VirtualBox.so
+%{_vbox_instdir}/VBoxDbg.so
%{_datadir}/pixmaps/virtualbox.png
%{_datadir}/applications/%{name}.desktop
%{_udevrulesdir}/60-vboxdrv.rules
++++++ fixes_for_4.14.patch ++++++
--- /var/tmp/diff_new_pack.FzTsaE/_old 2017-09-28 12:33:26.567943340 +0200
+++ /var/tmp/diff_new_pack.FzTsaE/_new 2017-09-28 12:33:26.571942778 +0200
@@ -1,16 +1,150 @@
+Patch VirtualBox source for changes in the kernel API for 4.14.x
+
+The following issues are addressed:
+ vfs_write() is replaced by kernel_write()
+ symbol SKB_GSO_UDP is removed
+ removal of gamma_set and gamma_get from struct drm_fb_helper_funcs
+ removal of set_busid from struct drm_driver
+ replacement of drm_pci_init() with pci_register_driver()
+ replacement of drm_pci_exit() with pci_unregister_driver()
+ removal of load_lut from struct drm_crtc_helper_func
+
+This patch is licensed under the MIT license.
+
+Signed-off-by: Larry Finger <Larry.Finger(a)lwfinger.net>
+
Index: VirtualBox-5.1.28/src/VBox/HostDrivers/VBoxPci/linux/VBoxPci-linux.c
===================================================================
--- VirtualBox-5.1.28.orig/src/VBox/HostDrivers/VBoxPci/linux/VBoxPci-linux.c
+++ VirtualBox-5.1.28/src/VBox/HostDrivers/VBoxPci/linux/VBoxPci-linux.c
-@@ -357,7 +357,11 @@ static int vboxPciFileWrite(struct file*
-
- fs_save = get_fs();
- set_fs(get_ds());
+@@ -353,12 +353,17 @@ static void vboxPciFileClose(struct fil
+ static int vboxPciFileWrite(struct file* file, unsigned long long offset, unsigned char* data, unsigned int size)
+ {
+ int ret;
+# if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 14, 0)
++
+ ret = kernel_write(file, data, size, &offset);
+#else
+ mm_segment_t fs_save;
+
+ fs_save = get_fs();
+ set_fs(get_ds());
ret = vfs_write(file, data, size, &offset);
-+#endif
set_fs(fs_save);
++#endif
if (ret < 0)
printk(KERN_DEBUG "vboxPciFileWrite: error %d\n", ret);
+
+Index: VirtualBox-5.1.28/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
+===================================================================
+--- VirtualBox-5.1.28.orig/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
++++ VirtualBox-5.1.28/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
+@@ -124,6 +124,10 @@ typedef struct VBOXNETFLTNOTIFIER *PVBOX
+ # define bstats stats
+ # define qstats stats
+ # endif
++#endif
++
++# if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 14, 0)
++#define SKB_GSO_UDP 0
+ #endif
+
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 20, 0)
+@@ -722,9 +726,11 @@ static struct sk_buff *vboxNetFltLinuxSk
+ case PDMNETWORKGSOTYPE_IPV4_TCP:
+ fGsoType = SKB_GSO_TCPV4;
+ break;
++# if LINUX_VERSION_CODE < KERNEL_VERSION(4, 14, 0)
+ case PDMNETWORKGSOTYPE_IPV4_UDP:
+ fGsoType = SKB_GSO_UDP;
+ break;
++#endif
+ case PDMNETWORKGSOTYPE_IPV6_TCP:
+ fGsoType = SKB_GSO_TCPV6;
+ break;
+Index: VirtualBox-5.1.28/src/VBox/Additions/linux/drm/vbox_fb.c
+===================================================================
+--- VirtualBox-5.1.28.orig/src/VBox/Additions/linux/drm/vbox_fb.c
++++ VirtualBox-5.1.28/src/VBox/Additions/linux/drm/vbox_fb.c
+@@ -381,6 +381,7 @@ out:
+ return ret;
+ }
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 14, 0)
+ static void vbox_fb_gamma_set(struct drm_crtc *crtc, u16 red, u16 green,
+ u16 blue, int regno)
+ {
+@@ -394,10 +395,13 @@ static void vbox_fb_gamma_get(struct drm
+ *green = regno;
+ *blue = regno;
+ }
++#endif
+
+ static struct drm_fb_helper_funcs vbox_fb_helper_funcs = {
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 14, 0)
+ .gamma_set = vbox_fb_gamma_set,
+ .gamma_get = vbox_fb_gamma_get,
++#endif
+ .fb_probe = vboxfb_create,
+ };
+
+Index: VirtualBox-5.1.28/src/VBox/Additions/linux/drm/vbox_drv.c
+===================================================================
+--- VirtualBox-5.1.28.orig/src/VBox/Additions/linux/drm/vbox_drv.c
++++ VirtualBox-5.1.28/src/VBox/Additions/linux/drm/vbox_drv.c
+@@ -281,7 +281,7 @@ static struct drm_driver driver =
+ .lastclose = vbox_driver_lastclose,
+ .master_set = vbox_master_set,
+ .master_drop = vbox_master_drop,
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0) || defined(RHEL_73)
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0) || defined(RHEL_73)) && LINUX_VERSION_CODE < KERNEL_VERSION(4, 14, 0)
+ .set_busid = drm_pci_set_busid,
+ #endif
+
+@@ -326,11 +326,19 @@ static int __init vbox_init(void)
+ if (vbox_modeset == 0)
+ return -EINVAL;
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 14, 0)
+ return drm_pci_init(&driver, &vbox_pci_driver);
++#else
++ return pci_register_driver(&vbox_pci_driver);
++#endif
+ }
+ static void __exit vbox_exit(void)
+ {
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 14, 0)
+ drm_pci_exit(&driver, &vbox_pci_driver);
++#else
++ pci_unregister_driver(&vbox_pci_driver);
++#endif
+ }
+
+ module_init(vbox_init);
+Index: VirtualBox-5.1.28/src/VBox/Additions/linux/drm/vbox_mode.c
+===================================================================
+--- VirtualBox-5.1.28.orig/src/VBox/Additions/linux/drm/vbox_mode.c
++++ VirtualBox-5.1.28/src/VBox/Additions/linux/drm/vbox_mode.c
+@@ -152,10 +152,12 @@ static int vbox_set_view(struct drm_crtc
+ return 0;
+ }
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 14, 0)
+ static void vbox_crtc_load_lut(struct drm_crtc *crtc)
+ {
+
+ }
++#endif
+
+ static void vbox_crtc_dpms(struct drm_crtc *crtc, int mode)
+ {
+@@ -301,7 +303,9 @@ static const struct drm_crtc_helper_func
+ .mode_set = vbox_crtc_mode_set,
+ /* .mode_set_base = vbox_crtc_mode_set_base, */
+ .disable = vbox_crtc_disable,
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 14, 0)
+ .load_lut = vbox_crtc_load_lut,
++#endif
+ .prepare = vbox_crtc_prepare,
+ .commit = vbox_crtc_commit,
+
++++++ vboxdrv.sh ++++++
--- /var/tmp/diff_new_pack.FzTsaE/_old 2017-09-28 12:33:26.699924783 +0200
+++ /var/tmp/diff_new_pack.FzTsaE/_new 2017-09-28 12:33:26.699924783 +0200
@@ -52,20 +52,6 @@
export USERNAME
export USER=$USERNAME
-if test -n "${INSTALL_DIR}" && test -x "${INSTALL_DIR}/VirtualBox"; then
- MODULE_SRC="${INSTALL_DIR}/src/vboxhost"
-elif test -x /usr/lib/virtualbox/VirtualBox; then
- INSTALL_DIR=/usr/lib/virtualbox
- MODULE_SRC="/usr/share/virtualbox/src/vboxhost"
-elif test -x "${SCRIPT_DIR}/VirtualBox"; then
- # Executing from the build directory
- INSTALL_DIR="${SCRIPT_DIR}"
- MODULE_SRC="${INSTALL_DIR}/src"
-else
- # Silently exit if the package was uninstalled but not purged.
- # Applies to Debian packages only (but shouldn't hurt elsewhere)
- exit 0
-fi
VIRTUALBOX="${INSTALL_DIR}/VirtualBox"
VBOXMANAGE="${INSTALL_DIR}/VBoxManage"
BUILDINTMP="${MODULE_SRC}/build_in_tmp"