Hello community,

here is the log from the commit of package virtualbox.5769 for 
openSUSE:13.2:Update checked in at 2016-10-28 11:56:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.2:Update/virtualbox.5769 (Old)
 and      /work/SRC/openSUSE:13.2:Update/.virtualbox.5769.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "virtualbox.5769"

Changes:
--------
New Changes file:

--- /dev/null   2016-10-27 01:54:32.792041256 +0200
+++ /work/SRC/openSUSE:13.2:Update/.virtualbox.5769.new/virtualbox.changes      
2016-10-28 11:57:01.000000000 +0200
@@ -0,0 +1,4366 @@
+-------------------------------------------------------------------
+Wed Oct 19 17:09:05 UTC 2016 - [email protected]
+
+- Address 
CVE-2016-5501,CVE-2016-5538,CVE-2016-5605,CVE-2016-5608,CVE-2016-5610,CVE-2016-5611,CVE-2016-561313.
+  boo #1005621
+
+- Add file "vbox_remove_smp_mflags.patch" to reduce memory needs during build.
+
+- Version bump to 5.0.28 (released 2016-10-18 by Oracle)
+
+This is a maintenance release. The following items were fixed and/or added:
+
+    NAT: Don't exceed the maximum number of "search" suffixes. Patch from bug 
#15948.
+    NAT: fixed parsing of port-forwarding rules with a name which contains a 
slash (bug #16002)
+    NAT Network: when the host has only loopback nameserver that cannot be 
mapped to the guests (e.g. dnsmasq running on 127.0.1.1), make DHCP supply NAT 
Network DNS proxy as nameserver.
+    Bridged Network: prevent flooding syslog with packet allocation error 
messages (bug #15569)
+    USB: fixed a possible crash when detaching a USB device
+    Audio: fixes for recording (Mac OS X hosts only)
+    Audio: now using Audio Queues on Mac OS X hosts
+    OVF: improve importing of VMs created by VirtualBox 5.1
+    VHDX: fixed cloning images with VBoxManage clonehd (bug #14288)
+    Storage: Fixed broken bandwidth limitation when the limit is very low (bug 
#14982)
+    Serial: Fixed high CPU usage with certain USB to serial converters on 
Linux hosts (bug #7796)
+    BIOS: fixed 4bpp scanline calculation (bug #15787)
+    VBoxManage: Don't try to set the medium type if there is no change (bug 
#13850)
+    API: fixed initialization of SAS controllers (bug #15972)
+    Linux hosts: don't use 32-bit legacy capabilities
+    Linux hosts / guests: fix for kernels with CONFIG_CPUMASK_OFFSTACK set 
(bug #16020)
+    Linux Additions: several fixes for X11 guests running non-root X servers
+    Linux Additions: fix for Linux 4.7 (bug #15769)
+    Linux Additions: fix for the display kmod driver with Linux 4.8 (bugs 
#15890 and #15896)
+    Windows Additions: auto-resizing fixes for Windows 10 guests (bug #15257)
+    Windows Additions: fixes for arranging the guest screens in multi-screen 
scenarios
+    Windows Additions / VGA: if the guest's power management turns a virtual 
screen off, blank the corresponding VM window rather than hide the VM window
+    Windows Additions: fixed a generic bug which could lead to freezing shared 
folders (bug #15662) 
+
+-------------------------------------------------------------------
+Mon Oct 17 21:45:14 UTC 2016 - [email protected]
+
+- Modify virtualbox-guest-preamble and virtualbox-host-preamble to obsolete 
old versions of the kernel modules.
+  This change should fix the problem in boo #983629.
+
+-------------------------------------------------------------------
+Tue Sep  6 13:37:37 UTC 2016 - [email protected]
+
+- Additional changes and comments:
+  Restrict 32-bit builds to use -j2 switch. This prevents build failure caused 
by running out of RAM.
+  This update fixes VUL-0: CVE-2016-3612 (bnc#990369).
+  This update also fixes CVE-2016-3613 and also addresses CVE-2015-3193, 
CVE-2015-3194,
+    CVE-2016-0702, CVE-2016-0797, CVE-2016-0799, CVE-2016-2105, and 
CVE-2016-2107 (bnc#990370).
+  Update the host <-> guest KMP conflict dependencies to no longer
+    refer to the old name (boo#983927).
+
+-------------------------------------------------------------------
+Tue Sep  6 13:32:01 UTC 2016 - [email protected]
+
+- Version bump to 5.0.26 (released 2016-07-18 by Oracle)
+
+This is a maintenance release. The following items were fixed and/or added:
+
+    VMM: fixed a bug in the task switching code (ticket #15571)
+    GUI: allow to overwrite an existing file when saving a log file (bug #8034)
+    GUI: fixed screenshot if the VM is started in separate mode
+    Audio: improved recording from USB headsets and other sources which might 
need conversion of captured data
+    Audio: fixed regression of not having any audio available on Solaris hosts
+    VGA: fixed an occasional hang when running Windows guests with 3D enabled
+    Storage: fixed a possible endless reconnect loop for the iSCSI backend if 
connecting to the target succeeds but further I/O requests cause a disconnect
+    Storage: fixed a bug when resizing certain VDI images which resulted in 
using the whole disk on the host (bug #15582)
+    EFI: fixed access to devices attached to SATA port 2 and higher (bug 
#15607)
+    API: fixed video recording with VBoxHeadless (bug #15443)
+    API: don't crash if there is no graphics controller configured (bug #15628)
+    VBoxSVC: fixed several memory leaks when handling .dmg images
+
+Version bump to 5.0.24 (released 2016-06-28 by Oracle)
+
+This is a maintenance release. The following items were fixed and/or added:
+
+    VMM: reverted to the old I/O-APIC code for now to fix certain regressions 
with 5.0.22 (bug #15529). This means that the networking performance with 
certain guests will drop to the 5.0.20 level (bug #15295). One workaround is to 
disable GRO for Linux guests.
+    Main: when taking a screenshot, don't save garbage for blanked screens
+    NAT: correctly parse resolv.conf file with multiple separators (5.0.22 
regression)
+    Storage: fixed a possible corruption of stream optimized VMDK images from 
VMware when opened in read/write mode for the first time
+    Audio: imlemented dynamic re-attaching of input/output devices on Mac OS X 
hosts
+    ACPI: notify the guest when the battery / AC state changes instead of 
relying on guest polling
+    Linux hosts: fixed VERR_VMM_SET_JMP_ABORTED_RESUME Guru Meditations on 
hosts with Linux 4.6 or later (bug #15439)
+
+Version bump to 5.0.22 (released 2016-06-16 by Oracle)
+
+This is a maintenance release. The following items were fixed and/or added:
+
+    VMM: fixes for certain Intel Atom hosts (bug #14915)
+    VMM: properly restore the complete FPU state for 32-bit guests on 64-bit 
hosts on Intel Sandy Bridge and Ivy Bridge CPUs
+    VMM: new I/O-APIC implementation fixing several bugs and improving the 
performance under certain conditions (bug #15295 and others)
+    VMM: fixed a potential Linux guest panic on AMD hosts
+    VMM: fixed a potential hang with 32-bit EFI guests on Intel CPUs (VT-x 
without unrestricted guest execution)
+    GUI: don't allow to start subsequent separate VM instances
+    GUI: raised upper limit for video capture screen resolution (bug #15432)
+    GUI: warn if the VM has less than 128MB VRAM configured and 3D enabled
+    Main: when monitoring DNS configuration changes on Windows hosts avoid 
false positives from competing DHCP renewals. This should fix NAT link flaps 
when host has multiple DHCP configured interfaces, in particular when the host 
uses OpnVPN.
+    Main: properly display an error message if the VRDE server cannot be 
enabled at runtime, for example because another service is using the same port
+    NAT: Initialize guest address guess for wildcard port-forwarding rules 
with default guest address (bug #15412)
+    VGA: fix for a problem which made certain legacy guests crash under 
certain conditions (bug #14811)
+    OVF: fixed import problems for some appliances using an AHCI controller 
created by 3rd party applications
+    SDK: reduced memory usage in the webservice Java bindings
+    Windows Additions: fixes to retain the guest display layout when resizing 
or disabling the guest monitors
+    Linux hosts: EL 6.8 fix (bug #15411)
+    Linux hosts: Linux 4.7 fix (bug #15459)
+    Linux Additions: Linux 4.7 fixes (bug #15444)
+    Linux Additions: fix for certain 32-bit guests (5.0.18 regression; bug 
#15320)
+    Linux Additions: fixed mouse pointer offset (5.0.18 regression; bug #15324)
+    Linux Additions: made old X.Org releases work again with kernels 3.11 and 
later (5.0.18 regression; bug #15319)
+    Linux Additions: fixed X.Org crash after hard guest reset (5.0.18 
regression; bug #15354)
+    Linux Additions: don't stop the X11 setup if loading the shared folders 
module fails (5.0.18 regression)
+    Linux Additions: don't complain if the Drag and Drop service is not 
available on the host
+    Solaris Additions: added support for X.org 1.18 
+
+-------------------------------------------------------------------
+Fri May 13 16:55:31 UTC 2016 - [email protected]
+
+- Version bump to 5.0.20 (released 2016-04-28 by Oracle)
+
+This is a maintenance release. The following items were fixed and/or added:
+
+    NAT Network: File VBoxNetNAT no longer requires suid
+    Storage: fixed a regression causing write requests from the BIOS to cause 
a Guru Meditation with the LsiLogic SCSI controller (5.0.18 regression; bug 
#15317)
+    Storage: several emulation fixes in the BusLogic SCSI controller emulation
+    NAT Network: support TCP in DNS proxy (same problem as in bug #14736 for 
NAT)
+    NAT: rework handling of port-forwarding rules (bug #13570)
+    NAT: rewrite host resolver to handle more query types and make it 
asynchronous so that a stalled lookup doesn't block all NAT traffic
+    Snapshots: don't crash when restoring a snapshot which has more network 
adapters than the current state (ie when the snapshot uses ICH9 and the current 
state uses PIIX3)
+    Guest Control: various bugfixes for the copyfrom and copyto commands / API 
(bug #14336)
+    VBoxManage: list processor features on list hostinfo (bug #15334)
+    Linux hosts: fix for Linux 4.5 if CONFIG_NET_CLS_ACT is enabled (bug 
#15327)
+    Windows Additions: fixed performance issues with PowerPoint 2010 and the 
WDDM graphics drivers if Aero is disabled 
+
+-------------------------------------------------------------------
+Sun Apr 24 16:07:16 UTC 2016 - [email protected]
+
+-   Apply proper fix for b.o o #964765 that causes guest VMs using NAT Network 
attachments
+    to fail to get network access. The basic problem is that file 
/usr/lib/virtualbox/VBoxNetNAT
+    needs to have suid privilege, and the spec file was failing to set the 
appropriate permissions. 
+
+-------------------------------------------------------------------
+Fri Apr 22 18:07:55 UTC 2016 - [email protected]
+
+-   Implement VirtualBox version 5.0.18 in openSUSE 13.2. Previous to this 
point,
+    oS 13.2 had been using 4.3.X, which was the VB series when 13.2 was 
released.
+    This policy has been changed so that a fix for CVE-2016-0678 can be 
included
+    in 13.2. Bug report b.o.o #97366 discusses this vulnerability.
+
+    This submission also fixes the bug in VB 5.0.18 that prevents proper 
operation
+    for guest VMs configured to use LsiLogic adapter for disks. See ticket:
+    https://www.virtualbox.org/ticket/15317 for a description of the problem,
+    and changeset: https://www.virtualbox.org/changeset/60565/vbox for the fix,
+    which is implemented in file "changeset_60565.diff".
+ 
+-------------------------------------------------------------------
+Wed Apr 20 05:02:21 UTC 2016 - [email protected]
+
+-   Version bump to 5.0.18 (released 2016-04-18 by Oracle)
+
+This is a maintenance release. The following items were fixed and/or added:
+
+    GUI: position off-screen windows to be fully visible again on relaunch in 
consistence with default-behavior (bug #15226)
+    GUI: fixed the View menu / Full-screen Mode behavior on Mac OS X El Capitan
+    GUI: fixed a test which allowed to encrypt a hard disk with an empty 
password
+    GUI: fixed a crash under certain conditions during VM shutdown
+    GUI: fixed the size of the VM list scrollbar in the VM selector when 
entering a group
+    PC speaker passthrough: fixes (Linux hosts only; bug #627)
+    Drag and drop: several fixes
+    SATA: fixed hotplug flag handling when EFI is used
+    Storage: fixed handling of encrypted disk images with SCSI controllers 
(bug #14812)
+    Storage: fixed possible crash with Solaris 7 if the BusLogic SCSI 
controller is used
+    USB: properly purge non-ASCII characters from USB strings (bugs #8801, 
#15222)
+    NAT Network: fixed 100% CPU load in VBoxNetNAT on Mac OS X under certain 
circumstances (bug #15223)
+    ACPI: fixed ACPI tables to make the display color management settings 
available again for older Windows versions (4.3.22 regression)
+    Guest Control: fixed VBoxManage copyfrom command (bug #14336)
+    Snapshots: fixed several problems when removing older snapshots (bug 
#15206)
+    VBoxManage: fixed --verbose output of the guestcontrol command
+    Windows hosts: hardening fixes required for recent Windows 10 insider 
builds (bugs #15245, #15296)
+    Windows hosts: fixed support of jumbo frames in with bridged networking 
(5.0.16 regression; bug #15209)
+    Windows hosts: don't prevent receiving multicast traffic if host-only 
adapters are installed (bug #8698)
+    Linux hosts: added support for the new naming scheme of NVME disks when 
creating raw disks
+    Solaris hosts / guests: properly sign the kernel modules (bug #12608)
+    Linux hosts / guests: Linux 4.5 fixes (bug #15251)
+    Linux hosts / guests: Linux 4.6 fixes (bug #15298)
+    Linux Additions: added a kernel graphics driver to support graphics when 
X.Org does not have root rights (bug #14732)
+    Linux/Solaris Additions: fixed several issues causing Linux/Solatis guests 
using software rendering when 3D acceleration is available
+    Windows Additions: fixed a hang with PowerPoint 2010 and the WDDM drivers 
if Aero is disabled  
+
+-------------------------------------------------------------------
+Fri Apr 15 19:17:58 UTC 2016 - [email protected]
+
+-  Fix build error caused by removal of macro page_cache_release() from kernel.
+   File "vbox-replace-page-cache-release.diff" is used to modify code to use 
put_page() instead.
+
+-------------------------------------------------------------------
+Mon Apr  4 00:01:12 UTC 2016 - [email protected]
++++ 4169 more lines (skipped)
++++ between /dev/null
++++ and /work/SRC/openSUSE:13.2:Update/.virtualbox.5769.new/virtualbox.changes

New:
----
  UserManual.pdf
  VirtualBox-5.0.28-patched.tar.bz2
  _constraints
  _service
  drm-vboxvideo-Add-delayed-update-to-support-fbdev.patch
  drm-vboxvideo-Initialize-data-needed-to-map-fbdev-memory.patch
  gcc5-real-support.patch
  smap.diff
  vbox-default-os-type.diff
  vbox-deprec-gsoap-service-proxies.diff
  vbox-disable-updates.diff
  vbox-fpie.diff
  vbox-gsoapssl-deps.diff
  vbox-no-build-dates.diff
  vbox-permissions_warning.diff
  vbox-python-detection.diff
  vbox-smc-napa.diff
  vbox-usb-warning.diff
  vbox-vboxadd-init-script.diff
  vbox-vboxdrv-init-script.diff
  vbox-vboxweb-init-script.diff
  vbox_prevent_wrong_SONAME.patch
  vbox_remove_smp_mflags.patch
  virtualbox-60-vboxdrv.rules
  virtualbox-60-vboxguest.rules
  virtualbox-LocalConfig.kmk
  virtualbox-default.virtualbox
  virtualbox-guest-kmp-files
  virtualbox-guest-preamble
  virtualbox-host-kmp-files
  virtualbox-host-preamble
  virtualbox-patch-source.sh
  virtualbox-rpmlintrc
  virtualbox-sed-params.patch
  virtualbox-snpritnf-buffer-overflow.patch
  virtualbox-sysconfig.vbox
  virtualbox-system-x.patch
  virtualbox-vboxes
  virtualbox-wrapper.sh
  virtualbox.changes
  virtualbox.spec

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ virtualbox.spec ++++++
++++ 864 lines (skipped)

++++++ _service ++++++
<services>
  <service name="refresh_patches" mode="disabled">
    <param name="changesgenerate">enable</param>
  </service>
</services>
++++++ drm-vboxvideo-Add-delayed-update-to-support-fbdev.patch ++++++
From: Egbert Eich <[email protected]>
Date: Mon Apr 25 16:47:41 2016 +0200
Subject: drm/vboxvideo: Add delayed update to support fbdev
Patch-mainline: Not yet
Git-commit: 0671f61d2a240e26c02d5a4d5cb993e1a446e601
References: boo#977200

Due to the virtrual nature of the emulated hardware, the
hardware needs help to know about updates to screen content.
The fb layer provides this with 'deferred IO'.
This patch adds support for this to the vboxvideo DRM driver.

Signed-off-by: Egbert Eich <[email protected]>
Signed-off-by: Egbert Eich <[email protected]>
---
 src/VBox/Additions/linux/drm/vbox_fb.c | 36 ++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)
diff --git a/src/VBox/Additions/linux/drm/vbox_fb.c 
b/src/VBox/Additions/linux/drm/vbox_fb.c
index 8e0e40d..e8c5a60 100644
--- a/src/VBox/Additions/linux/drm/vbox_fb.c
+++ b/src/VBox/Additions/linux/drm/vbox_fb.c
@@ -68,6 +68,7 @@
 #include <drm/drm_crtc_helper.h>
 #include "vbox_drv.h"
 
+#define VBOX_DIRTY_DELAY (HZ / 30)
 /**
  * Tell the host about dirty rectangles to update.
  */
@@ -162,6 +163,38 @@ static void vbox_dirty_update(struct vbox_fbdev *fbdev,
     vbox_bo_unreserve(bo);
 }
 
+static void vbox_deferred_io(struct fb_info *info,
+                             struct list_head *pagelist)
+{
+        struct vbox_fbdev *fbdev = info->par;
+        unsigned long start, end, min, max;
+        struct page *page;
+        int y1, y2;
+
+        min = ULONG_MAX;
+        max = 0;
+        list_for_each_entry(page, pagelist, lru) {
+                start = page->index << PAGE_SHIFT;
+                end = start + PAGE_SIZE - 1;
+                min = min(min, start);
+                max = max(max, end);
+        }
+
+        if (min < max) {
+                y1 = min / info->fix.line_length;
+                y2 = (max / info->fix.line_length) + 1;
+                printk(KERN_INFO "%s: Calling dirty update: 0, %d, %d, %d\n",
+                       __func__, y1, info->var.xres, y2 - y1 - 1);
+                vbox_dirty_update(fbdev, 0, y1, info->var.xres, y2 - y1 - 1);
+        }
+}
+
+static struct fb_deferred_io vbox_defio =
+{
+        .delay          = VBOX_DIRTY_DELAY,
+        .deferred_io    = vbox_deferred_io,
+};
+
 static void vbox_fillrect(struct fb_info *info,
              const struct fb_fillrect *rect)
 {
@@ -324,6 +357,9 @@ static int vboxfb_create(struct drm_fb_helper *helper,
     info->screen_base = sysram;
     info->screen_size = size;
 
+    info->fbdefio = &vbox_defio;
+    fb_deferred_io_init(info);
+
     info->pixmap.flags = FB_PIXMAP_SYSTEM;
 
     DRM_DEBUG_KMS("allocated %dx%d\n",
++++++ drm-vboxvideo-Initialize-data-needed-to-map-fbdev-memory.patch ++++++
From: Egbert Eich <[email protected]>
Date: Mon Apr 25 09:32:04 2016 +0200
Subject: drm/vboxvideo: Initialize data needed to map fbdev memory
Patch-mainline: Not yet
Git-commit: 4153ec3d267288659638e2397bcae5298e7f5930
References: boo#977200

Due to a missing initialization there was no way to map fbdev memory.
Thus for example using the Xserver with the fbdev driver failed.
This fix adds initialization for fix.smem_start and fix.smem_len
in the fb_info structure, which fixes this problem.

Signed-off-by: Egbert Eich <[email protected]>
Signed-off-by: Egbert Eich <[email protected]>
---
 src/VBox/Additions/linux/drm/vbox_drv.h  | 1 +
 src/VBox/Additions/linux/drm/vbox_fb.c   | 8 ++++++++
 src/VBox/Additions/linux/drm/vbox_mode.c | 2 ++
 3 files changed, 11 insertions(+)
diff --git a/src/VBox/Additions/linux/drm/vbox_drv.h 
b/src/VBox/Additions/linux/drm/vbox_drv.h
index fa3eb3c..a9bc156 100644
--- a/src/VBox/Additions/linux/drm/vbox_drv.h
+++ b/src/VBox/Additions/linux/drm/vbox_drv.h
@@ -227,6 +227,7 @@ int vbox_framebuffer_init(struct drm_device *dev,
 int vbox_fbdev_init(struct drm_device *dev);
 void vbox_fbdev_fini(struct drm_device *dev);
 void vbox_fbdev_set_suspend(struct drm_device *dev, int state);
+void vbox_fbdev_set_base(struct vbox_private *vbox, unsigned long gpu_addr);
 
 struct vbox_bo {
     struct ttm_buffer_object bo;
diff --git a/src/VBox/Additions/linux/drm/vbox_fb.c 
b/src/VBox/Additions/linux/drm/vbox_fb.c
index a90f11d..8e0e40d 100644
--- a/src/VBox/Additions/linux/drm/vbox_fb.c
+++ b/src/VBox/Additions/linux/drm/vbox_fb.c
@@ -452,3 +452,11 @@ void vbox_fbdev_set_suspend(struct drm_device *dev, int 
state)
 
     fb_set_suspend(vbox->fbdev->helper.fbdev, state);
 }
+
+void vbox_fbdev_set_base(struct vbox_private *vbox, unsigned long gpu_addr)
+{
+        vbox->fbdev->helper.fbdev->fix.smem_start =
+                vbox->fbdev->helper.fbdev->apertures->ranges[0].base +
+                gpu_addr;
+        vbox->fbdev->helper.fbdev->fix.smem_len = vbox->vram_size - gpu_addr;
+}
diff --git a/src/VBox/Additions/linux/drm/vbox_mode.c 
b/src/VBox/Additions/linux/drm/vbox_mode.c
index d00ebff..40b6eb0 100644
--- a/src/VBox/Additions/linux/drm/vbox_mode.c
+++ b/src/VBox/Additions/linux/drm/vbox_mode.c
@@ -224,6 +224,8 @@ static int vbox_crtc_do_set_base(struct drm_crtc *crtc,
         ret = ttm_bo_kmap(&bo->bo, 0, bo->bo.num_pages, &bo->kmap);
         if (ret)
             DRM_ERROR("failed to kmap fbcon\n");
+        else
+            vbox_fbdev_set_base(vbox, gpu_addr);
     }
     vbox_bo_unreserve(bo);
 
++++++ gcc5-real-support.patch ++++++
---
 Config.kmk |    2 +-
 configure  |    9 +++++++--
 2 files changed, 8 insertions(+), 3 deletions(-)

--- a/Config.kmk
+++ b/Config.kmk
@@ -2292,7 +2292,7 @@ else
  # The reason for this hack is that the windows kmk_ash cannot deal with 
$((1+1)).
  # Some versions of gcc (e.g. openSUSE11) return only major.minor on `gcc 
-dumpversion`.
  VBOX_GCC_VERSION = $(shell \
-    $(1) -dumpversion | $(SED_EXT) 
's|\([0-9]\)\.\([0-9]\)\.\{0,1\}\([0-9]\{0,1\}\).*|$$(int-add $$(int-mul 10000, 
\1), $$(int-mul 100, \2), $$(firstword \3 0))|' )
+    $(1) -dumpversion | $(SED_EXT) 
's|\([0-9]\)\.\{0,1\}\([0-9]\{0,1\}\)\.\{0,1\}\([0-9]\{0,1\}\).*|$$(int-add 
$$(int-mul 10000, \1), $$(int-mul 100, $$(firstword \2 0)), $$(firstword \3 
0))|' )
 endif
 
 # Find MinGW cross compilers for EFI on non-windows systems. We need to probe
--- a/configure
+++ b/configure
@@ -409,8 +409,13 @@ check_gcc()
         log_failure "cannot execute '$CXX -dumpversion'"
         fail really
       fi
-      cc_maj=`echo $cc_ver|cut -d. -f1`
-      cc_min=`echo $cc_ver|cut -d. -f2`
+      if echo $cc_ver | grep -q '\.'; then
+        cc_maj=`echo $cc_ver|cut -d. -f1`
+        cc_min=`echo $cc_ver|cut -d. -f2`
+      else
+        cc_maj=$cc_ver
+        cc_min=0
+      fi
       if [ "x$cc_ver" != "x$cxx_ver" ]; then
         log_failure "gcc version $cc_ver does not match g++ version $cxx_ver"
         fail really
++++++ smap.diff ++++++
Index: VirtualBox-5.0.26/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c
===================================================================
--- VirtualBox-5.0.26.orig/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c
+++ VirtualBox-5.0.26/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c
@@ -50,6 +50,12 @@
 # include <iprt/power.h>
 # define VBOX_WITH_SUSPEND_NOTIFICATION
 #endif
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 7, 0)
+# include <asm/smap.h>
+#else
+static inline void clac(void) { }
+static inline void stac(void) { }
+#endif
 
 #include <linux/sched.h>
 #ifdef CONFIG_DEVFS_FS
++++++ vbox-default-os-type.diff ++++++
--- a/src/VBox/Frontends/VirtualBox/src/widgets/UINameAndSystemEditor.cpp       
2014-02-25 18:08:58.000000000 +0100
+++ b/src/VBox/Frontends/VirtualBox/src/widgets/UINameAndSystemEditor.cpp       
2014-03-03 15:18:07.298245235 +0100
@@ -203,15 +203,15 @@
         if (iIndexWin7 != -1)
             m_pTypeCombo->setCurrentIndex(iIndexWin7);
     }
-    /* Or select Ubuntu item for Linux family as default: */
+    /* Or select openSUSE item for Linux family as default: */
     else if (strFamilyId == "Linux")
     {
-        QString strDefaultID = "Ubuntu";
+        QString strDefaultID = "openSUSE";
         if (ARCH_BITS == 64 && m_fSupportsHWVirtEx && m_fSupportsLongMode)
             strDefaultID += "_64";
-        int iIndexUbuntu = m_pTypeCombo->findData(strDefaultID, TypeID);
-        if (iIndexUbuntu != -1)
-            m_pTypeCombo->setCurrentIndex(iIndexUbuntu);
+        int iIndexopenSUSE = m_pTypeCombo->findData(strDefaultID, TypeID);
+        if (iIndexopenSUSE != -1)
+            m_pTypeCombo->setCurrentIndex(iIndexopenSUSE);
     }
     /* Else simply select the first one present: */
     else m_pTypeCombo->setCurrentIndex(0);
++++++ vbox-deprec-gsoap-service-proxies.diff ++++++
diff -Pdpru VirtualBox-4.3.18.orig/src/VBox/Main/webservice/Makefile.kmk 
VirtualBox-4.3.18/src/VBox/Main/webservice/Makefile.kmk
--- VirtualBox-4.3.18.orig/src/VBox/Main/webservice/Makefile.kmk        
2014-10-11 14:07:33.000000000 +0200
+++ VirtualBox-4.3.18/src/VBox/Main/webservice/Makefile.kmk     2014-10-13 
17:10:53.689539003 +0200
@@ -683,7 +683,7 @@ $(VBOXWEB_OUT_DIR)/gsoap_generate_all_ts
 : $(VBOXWEB_GSOAPH_FROM_GSOAP) $(VBOXWEB_GSOAPH_FROM_XSLT) $(VBOX_NSMAP) 
$(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)
        $(APPEND) $@ done
 
 # Copy the generated headers and stuff.  This was split into a separate rule
++++++ vbox-disable-updates.diff ++++++
diff -urN 
VirtualBox-5.0.0.old/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsUpdate.cpp
 
VirtualBox-5.0.0/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsUpdate.cpp
--- 
VirtualBox-5.0.0.old/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsUpdate.cpp
   2015-07-11 13:17:27.885699492 +0200
+++ 
VirtualBox-5.0.0/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsUpdate.cpp
       2015-07-11 13:21:56.912197474 +0200
@@ -68,7 +68,7 @@
 void UIGlobalSettingsUpdate::getFromCache()
 {
     /* Apply internal variables data to QWidget(s): */
-    m_pCheckBoxUpdate->setChecked(m_cache.m_fCheckEnabled);
+    m_pCheckBoxUpdate->setChecked(false);
     if (m_pCheckBoxUpdate->isChecked())
     {
         m_pComboBoxUpdatePeriod->setCurrentIndex(m_cache.m_periodIndex);
diff -urN 
VirtualBox-5.0.0.old/src/VBox/Frontends/VirtualBox/src/settings/UISettingsDialogSpecific.cpp
 
VirtualBox-5.0.0/src/VBox/Frontends/VirtualBox/src/settings/UISettingsDialogSpecific.cpp
--- 
VirtualBox-5.0.0.old/src/VBox/Frontends/VirtualBox/src/settings/UISettingsDialogSpecific.cpp
        2015-07-11 13:17:27.885699492 +0200
+++ 
VirtualBox-5.0.0/src/VBox/Frontends/VirtualBox/src/settings/UISettingsDialogSpecific.cpp
    2015-07-11 13:23:13.230338850 +0200
@@ -106,16 +106,6 @@
                             iPageIndex, "#input", pSettingsPage);
                     break;
                 }
-#ifdef VBOX_GUI_WITH_NETWORK_MANAGER
-                /* Update page: */
-                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:
                 {
@@ -254,8 +244,6 @@
     m_pSelector->setItemText(GlobalSettingsPageType_Input, tr("Input"));
 
 #ifdef VBOX_GUI_WITH_NETWORK_MANAGER
-    /* Update page: */
-    m_pSelector->setItemText(GlobalSettingsPageType_Update, tr("Update"));
 #endif /* VBOX_GUI_WITH_NETWORK_MANAGER */
 
     /* Language page: */
++++++ vbox-fpie.diff ++++++
Index: VirtualBox-4.3.14/Config.kmk
===================================================================
--- VirtualBox-4.3.14.orig/Config.kmk
+++ VirtualBox-4.3.14/Config.kmk
@@ -3963,6 +3963,9 @@ TEMPLATE_VBOXR3HARDENEDEXE_LDFLAGS.darwi
 ifeq ($(KBUILD_TARGET),linux)
 # not necessary except USE_LIB_PCAP is defined in SUPR3HardenedMain.cpp
 # TEMPLATE_VBOXR3HARDENEDEXE_LIBS += cap
+ TEMPLATE_VBOXR3HARDENEDEXE_CXXFLAGS.linux = 
$(TEMPLATE_VBOXR3EXE_CXXFLAGS.linux) -fPIE
+ TEMPLATE_VBOXR3HARDENEDEXE_CFLAGS.linux = $(TEMPLATE_VBOXR3EXE_CFLAGS.linux) 
-fPIE
+ TEMPLATE_VBOXR3HARDENEDEXE_LDFLAGS.linux = 
$(TEMPLATE_VBOXR3EXE_LDFLAGS.linux) -pie
 endif
 ifeq ($(KBUILD_TARGET),win) # No CRT!
  TEMPLATE_VBOXR3HARDENEDEXE_SDKS          = VBOX_NTDLL 
$(TEMPLATE_VBOXR3EXE_SDKS)
@@ -3981,8 +3984,8 @@ ifeq ($(KBUILD_TARGET),win) # No CRT!
  TEMPLATE_VBOXR3HARDENEDEXE_LIBS.x86       = $(NOT_SUCH_VARIABLE)
  TEMPLATE_VBOXR3HARDENEDEXE_LIBS.amd64     = $(NOT_SUCH_VARIABLE)
 else ifn1of ($(KBUILD_TARGET), os2)
- TEMPLATE_VBOXR3HARDENEDEXE_LDFLAGS       = $(filter-out 
'$(VBOX_GCC_RPATH_OPT)%,$(TEMPLATE_VBOXR3EXE_LDFLAGS))
- TEMPLATE_VBOXR3HARDENEDEXE_LDFLAGS.linux = $(filter-out 
$(VBOX_GCC_ORIGIN_OPT),$(TEMPLATE_VBOXR3EXE_LDFLAGS.linux))
+ TEMPLATE_VBOXR3HARDENEDEXE_LDFLAGS       = $(filter-out 
'$(VBOX_GCC_RPATH_OPT)%,$(TEMPLATE_VBOXR3EXE_LDFLAGS)) -pie
+ TEMPLATE_VBOXR3HARDENEDEXE_LDFLAGS.linux = $(filter-out 
$(VBOX_GCC_ORIGIN_OPT),$(TEMPLATE_VBOXR3EXE_LDFLAGS.linux)) -pie
 endif
 
 #
++++++ vbox-gsoapssl-deps.diff ++++++
Index: VirtualBox-4.3.6/src/VBox/Main/webservice/Makefile.kmk
===================================================================
--- VirtualBox-4.3.6.orig/src/VBox/Main/webservice/Makefile.kmk
+++ VirtualBox-4.3.6/src/VBox/Main/webservice/Makefile.kmk
@@ -303,6 +303,7 @@ endif
  vboxwebsrv_LIBS += \
        $(PATH_STAGE_LIB)/vboxsoap$(VBOX_SUFF_LIB) \
        $(VBOX_GSOAP_CXX_LIBS) \
+       ssl crypto z \
        $(LIB_RUNTIME)
  vboxwebsrv_LIBS.solaris += socket nsl
  ifdef VBOX_WITH_WEBSERVICES_SSL
@@ -480,6 +481,7 @@ $$(VBOX_JWSSRC_JAR): $$(VBOX_JWS_JAR) |
  webtest_LIBS += \
        $(PATH_STAGE_LIB)/vboxsoap$(VBOX_SUFF_LIB) \
        $(VBOX_GSOAP_CXX_LIBS) \
+       ssl crypto z \
        $(LIB_RUNTIME)
  webtest_LIBS.solaris += nsl
  ifdef VBOX_WITH_WEBSERVICES_SSL
++++++ vbox-no-build-dates.diff ++++++
Index: src/VBox/Frontends/VBoxFB/VBoxFB.cpp
===================================================================
--- src/VBox/Frontends/VBoxFB/VBoxFB.cpp.orig
+++ src/VBox/Frontends/VBoxFB/VBoxFB.cpp
@@ -62,7 +62,7 @@ int main(int argc, char *argv[])
 
     printf("VirtualBox DirectFB GUI built %s %s\n"
            "(C) 2004-" VBOX_C_YEAR " " VBOX_VENDOR "\n"
-           "(C) 2004-2005 secunet Security Networks AG\n", __DATE__, __TIME__);
+           "(C) 2004-2005 secunet Security Networks AG\n");
 
     for (;;)
     {
Index: src/VBox/Runtime/common/string/uniread.cpp
===================================================================
--- src/VBox/Runtime/common/string/uniread.cpp.orig
+++ src/VBox/Runtime/common/string/uniread.cpp
@@ -1035,7 +1035,7 @@ int PrintHeader(const char *argv0, const
                   " * IPRT - Unicode Tables.\n"
                   " *\n"
                   " * Automatically Generated from %s\n"
-                  " * by %s (" __DATE__ " " __TIME__ ")\n"
+                  " * by %s\n"
                   " */\n"
                   "\n"
                   "/*\n"
Index: src/libs/xpcom18a4/nsprpub/lib/libc/src/plvrsion.c
===================================================================
--- src/libs/xpcom18a4/nsprpub/lib/libc/src/plvrsion.c.orig
+++ src/libs/xpcom18a4/nsprpub/lib/libc/src/plvrsion.c
@@ -42,16 +42,13 @@
 /**************************IDENTITY AND VERSIONING***********************/
 /************************************************************************/
 #include "_pl_bld.h"
-#if !defined(_BUILD_TIME)
-#ifdef HAVE_LONG_LONG
-#define _BUILD_TIME 0
-#else
+
+#undef _BUILD_TIME
 #define _BUILD_TIME {0, 0}
-#endif
-#endif
-#if !defined(_BUILD_STRING)
+
+#undef _BUILD_STRING
 #define _BUILD_STRING ""
-#endif
+
 #if !defined(_PRODUCTION)
 #define _PRODUCTION ""
 #endif
Index: src/libs/xpcom18a4/nsprpub/pr/src/prvrsion.c
===================================================================
--- src/libs/xpcom18a4/nsprpub/pr/src/prvrsion.c.orig
+++ src/libs/xpcom18a4/nsprpub/pr/src/prvrsion.c
@@ -44,16 +44,10 @@
 #ifndef XP_MAC
 #include "_pr_bld.h"
 #endif
-#if !defined(_BUILD_TIME)
-#ifdef HAVE_LONG_LONG
-#define _BUILD_TIME 0
-#else
+#undef _BUILD_TIME
 #define _BUILD_TIME {0, 0}
-#endif
-#endif
-#if !defined(_BUILD_STRING)
+#undef  _BUILD_STRING
 #define _BUILD_STRING ""
-#endif
 #if !defined(_PRODUCTION)
 #define _PRODUCTION ""
 #endif
Index: src/libs/xpcom18a4/nsprpub/lib/prstreams/plvrsion.c
===================================================================
--- src/libs/xpcom18a4/nsprpub/lib/prstreams/plvrsion.c.orig
+++ src/libs/xpcom18a4/nsprpub/lib/prstreams/plvrsion.c
@@ -42,16 +42,13 @@
 /**************************IDENTITY AND VERSIONING***********************/
 /************************************************************************/
 #include "_pl_bld.h"
-#if !defined(_BUILD_TIME)
-#ifdef HAVE_LONG_LONG
-#define _BUILD_TIME 0
-#else
+
+#undef _BUILD_TIME
 #define _BUILD_TIME {0, 0}
-#endif
-#endif
-#if !defined(_BUILD_STRING)
+
+#undef _BUILD_STRING
 #define _BUILD_STRING ""
-#endif
+
 #if !defined(_PRODUCTION)
 #define _PRODUCTION ""
 #endif
Index: src/libs/xpcom18a4/nsprpub/lib/ds/plvrsion.c
===================================================================
--- src/libs/xpcom18a4/nsprpub/lib/ds/plvrsion.c.orig
+++ src/libs/xpcom18a4/nsprpub/lib/ds/plvrsion.c
@@ -42,16 +42,13 @@
 /**************************IDENTITY AND VERSIONING***********************/
 /************************************************************************/
 #include "_pl_bld.h"
-#if !defined(_BUILD_TIME)
-#ifdef HAVE_LONG_LONG
-#define _BUILD_TIME 0
-#else
+
+#undef _BUILD_TIME
 #define _BUILD_TIME {0, 0}
-#endif
-#endif
-#if !defined(_BUILD_STRING)
+
+#undef _BUILD_STRING
 #define _BUILD_STRING ""
-#endif
+
 #if !defined(_PRODUCTION)
 #define _PRODUCTION ""
 #endif
Index: src/VBox/HostServices/SharedOpenGL/OpenGLTest/OpenGLTestApp.cpp
===================================================================
--- src/VBox/HostServices/SharedOpenGL/OpenGLTest/OpenGLTestApp.cpp.orig
+++ src/VBox/HostServices/SharedOpenGL/OpenGLTest/OpenGLTestApp.cpp
@@ -148,7 +148,7 @@ static int vboxInitLogging(const char *p
 #endif
                        "Log opened %s\n",
                        VBOX_VERSION_STRING, RTBldCfgRevision(), 
VBOX_BUILD_TARGET,
-                       __DATE__, __TIME__, szTmp);
+                       "openSUSE", "Buildservice", szTmp);
 
         vrc = RTSystemQueryOSInfo(RTSYSOSINFO_PRODUCT, szTmp, sizeof(szTmp));
         if (RT_SUCCESS(vrc) || vrc == VERR_BUFFER_OVERFLOW)
Index: src/VBox/Devices/PC/BIOS/bios.c
===================================================================
--- src/VBox/Devices/PC/BIOS/bios.c.orig
+++ src/VBox/Devices/PC/BIOS/bios.c
@@ -159,7 +159,7 @@ void set_mode(uint8_t mode);
 
 #define BX_PCIBIOS  1
 #define BX_APPNAME          "VirtualBox"
-#define BIOS_BUILD_DATE     __DATE__
+#define BIOS_BUILD_DATE     "openSUSE Buildservice"
 //--------------------------------------------------------------------------
 // print_bios_banner
 //   displays a the bios version
Index: src/VBox/Main/glue/com.cpp
===================================================================
--- src/VBox/Main/glue/com.cpp.orig
+++ src/VBox/Main/glue/com.cpp
@@ -292,7 +292,7 @@ static DECLCALLBACK(void) vboxHeaderFoot
 #endif
                    "Log opened %s\n",
                    g_pszLogEntity, VBOX_VERSION_STRING, RTBldCfgRevision(),
-                   RTBldCfgTargetDotArch(), __DATE__, __TIME__, szTmp);
+                   RTBldCfgTargetDotArch(), "openSUSE", "Buildservice", szTmp);
 
             pfnLog(pReleaseLogger, "Build Type: %s\n", KBUILD_TYPE);
             int vrc = RTSystemQueryOSInfo(RTSYSOSINFO_PRODUCT, szTmp, 
sizeof(szTmp));
Index: src/VBox/Additions/common/VBoxService/VBoxService.cpp
===================================================================
--- src/VBox/Additions/common/VBoxService/VBoxService.cpp.orig
+++ src/VBox/Additions/common/VBoxService/VBoxService.cpp
@@ -238,7 +238,7 @@ static DECLCALLBACK(void) vgsvcLogHeader
                    "VBoxService %s r%s (verbosity: %u) %s (%s %s) release 
log\n"
                    "Log opened %s\n",
                    RTBldCfgVersion(), RTBldCfgRevisionStr(), g_cVerbosity, 
VBOX_BUILD_TARGET,
-                   __DATE__, __TIME__, szTmp);
+                   "openSUSE", "Build Service", szTmp);
 
             int vrc = RTSystemQueryOSInfo(RTSYSOSINFO_PRODUCT, szTmp, 
sizeof(szTmp));
             if (RT_SUCCESS(vrc) || vrc == VERR_BUFFER_OVERFLOW)
++++++ vbox-permissions_warning.diff ++++++
Index: VirtualBox-4.3.6/src/apps/Makefile.kmk
===================================================================
--- VirtualBox-4.3.6.orig/src/apps/Makefile.kmk
+++ VirtualBox-4.3.6/src/apps/Makefile.kmk
@@ -34,5 +34,7 @@ if1of ($(KBUILD_TARGET),darwin solaris l
  endif
 endif
 
+include $(PATH_SUB_CURRENT)/VBoxPermissionMessage/Makefile.kmk
+
 include $(FILE_KBUILD_SUB_FOOTER)
 
Index: VirtualBox-4.3.6/src/apps/VBoxPermissionMessage/Makefile.kmk
===================================================================
--- /dev/null
+++ VirtualBox-4.3.6/src/apps/VBoxPermissionMessage/Makefile.kmk
@@ -0,0 +1,31 @@
+# $Id: Makefile.kmk 28800 2010-04-27 08:22:32Z vboxsync $
+## @file
+#
+# VBoxPermissionMessage is wrapper for suse users
+#
+#
+# Copyright (C) 2009 Oracle Corporation
+#
+# This file is part of VirtualBox Open Source Edition (OSE), as
+# available from http://www.virtualbox.org. This file is free software;
+# you can redistribute it and/or modify it under the terms of the GNU
+# General Public License (GPL) as published by the Free Software
+# Foundation, in version 2 as it comes in the "COPYING" file of the
+# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
+# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+#
+
+
+SUB_DEPTH = ../../..
+include $(KBUILD_PATH)/subheader.kmk
+
+PROGRAMS += VBoxPermissionMessage
+
+VBoxPermissionMessage_TEMPLATE = VBOXQT4GUIEXE
+VBoxPermissionMessage_SOURCES = VBoxPermissionMessage.cpp
+VBoxPermissionMessage_QT_MODULES = Core Gui
+
+#INSTALLS += VBoxPermissionMessage
+
+include $(KBUILD_PATH)/subfooter.kmk
+
Index: VirtualBox-4.3.6/src/apps/VBoxPermissionMessage/VBoxPermissionMessage.cpp
===================================================================
--- /dev/null
+++ VirtualBox-4.3.6/src/apps/VBoxPermissionMessage/VBoxPermissionMessage.cpp
@@ -0,0 +1,12 @@
+#include <QtGui/QApplication>
+#include <QtGui/QMessageBox>
+int main(int argc, char *argv[])
+{
+        QApplication app(argc, argv);
+        QMessageBox msgBox;
+        msgBox.setWindowTitle(QObject::tr("Permissions problem !"));
+        msgBox.setText(QObject::tr("You are not a member of the \"vboxusers\" 
group. Please add yourself to this group before starting VirtualBox. You could 
do it using: Yast / Security and Users / User and Group management. Don't 
forget re-login your user account!"));
+        int ret = msgBox.exec();
+        app.quit();
+        return 0;
+}
\ No newline at end of file
++++++ vbox-python-detection.diff ++++++
Index: VirtualBox-5.0.26/src/libs/xpcom18a4/python/gen_python_deps.py
===================================================================
--- VirtualBox-5.0.26.orig/src/libs/xpcom18a4/python/gen_python_deps.py
+++ VirtualBox-5.0.26/src/libs/xpcom18a4/python/gen_python_deps.py
@@ -71,7 +71,7 @@ def main(argv):
     else:
         multi = 1
 
-    if multi == 0:
+    if not multi:
         prefixes = ["/usr"]
         versions = [str(sys.version_info[0])+'.'+str(sys.version_info[1])]
 
@@ -92,22 +92,23 @@ def main(argv):
     for v in versions:
         for p in prefixes:
             c = checkPair(p, v, dllpre, dllsuff, bitness_magic)
-            if c is not None:
+            if c:
                 known[v] = c
                 break
-    keys = known.keys()
-    # we want default to be the lowest versioned Python
-    keys.sort()
-    d = None
     # We need separator other than newline, to sneak through $(shell)
     sep = "|"
-    for k in keys:
-        if d is None:
-            d = k
-        vers = k.replace('.', '')
-        print_vars(vers, known[k], sep, bitness_magic)
-    if d is not None:
-        print_vars("DEF", known[d], sep, bitness_magic)
+
+    if not known:
+        # this type of problem should be detected in configure
+        # print_vars("DEF", defaultpaths, sep, bitness_magic)
+        pass
+    if multi:
+        for ver, paths in known.items():
+            print_vars(ver.replace('.', ''), paths, sep, bitness_magic)
+    else:
+        ver = versions[0]
+        paths = known[ver]
+        print_vars(ver.replace('.', ''), paths, sep, bitness_magic)
 
 if __name__ == '__main__':
     main(sys.argv)
++++++ vbox-smc-napa.diff ++++++
Index: VirtualBox-5.0.26/src/VBox/Devices/PC/vbox.dsl
===================================================================
--- VirtualBox-5.0.26.orig/src/VBox/Devices/PC/vbox.dsl
+++ VirtualBox-5.0.26/src/VBox/Devices/PC/vbox.dsl
@@ -1179,7 +1179,7 @@ DefinitionBlock ("DSDT.aml", "DSDT", 1,
                 Device (SMC)
                 {
                     Name (_HID, EisaId ("APP0001"))
-                    Name (_CID, "smc-napa")
+                    Name (_CID, "smcnapa")
 
                     Method (_STA, 0, NotSerialized)
                     {
++++++ vbox-usb-warning.diff ++++++
Index: VirtualBox-5.0.26/src/apps/Makefile.kmk
===================================================================
--- VirtualBox-5.0.26.orig/src/apps/Makefile.kmk
+++ VirtualBox-5.0.26/src/apps/Makefile.kmk
@@ -36,5 +36,7 @@ endif
 
 include $(PATH_SUB_CURRENT)/VBoxPermissionMessage/Makefile.kmk
 
+include $(PATH_SUB_CURRENT)/VBoxUSB_DevRules/Makefile.kmk
+
 include $(FILE_KBUILD_SUB_FOOTER)
 
Index: VirtualBox-5.0.26/src/apps/VBoxUSB_DevRules/Makefile.kmk
===================================================================
--- /dev/null
+++ VirtualBox-5.0.26/src/apps/VBoxUSB_DevRules/Makefile.kmk
@@ -0,0 +1,29 @@
+# $Id: Makefile.kmk 28800 2010-04-27 08:22:32Z vboxsync $
+## @file
+#
+# VBoxUSB_DevRules is wrapper for suse users
+#
+# This file is part of VirtualBox Open Source Edition (OSE), as
+# available from http://www.virtualbox.org. This file is free software;
+# you can redistribute it and/or modify it under the terms of the GNU
+# General Public License (GPL) as published by the Free Software
+# Foundation, in version 2 as it comes in the "COPYING" file of the
+# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
+# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+#
+
+
+SUB_DEPTH = ../../..
+include $(KBUILD_PATH)/subheader.kmk
+
+PROGRAMS += VBoxUSB_DevRules
+
+VBoxUSB_DevRules_TEMPLATE = VBOXQT4GUIEXE
+VBoxUSB_DevRules_SOURCES = VBoxUSB_DevRules.cpp
+VBoxUSB_DevRules_QT_MODULES = Core Gui
+
+#INSTALLS += VBoxUSB_DevRules
+
+include $(KBUILD_PATH)/subfooter.kmk
+
+
Index: VirtualBox-5.0.26/src/apps/VBoxUSB_DevRules/VBoxUSB_DevRules.cpp
===================================================================
--- /dev/null
+++ VirtualBox-5.0.26/src/apps/VBoxUSB_DevRules/VBoxUSB_DevRules.cpp
@@ -0,0 +1,13 @@
+#include <QtGui/QApplication>
+#include <QtGui/QMessageBox>
+int main(int argc, char *argv[])
+{
+        QApplication app(argc, argv);
+        QMessageBox msgBox;
+        msgBox.setWindowTitle(QObject::tr("USB Rules and Permissions !"));
+        msgBox.setText(QObject::tr("USB passthru opens a security hole. Please 
read \n\nhttps://bugzilla.novell.com/show_bug.cgi?id=664520\n\nto understand 
the problem. If you really want/need to use USB passthru, then copy 
/usr/lib/udev/rules.d/60-vboxdrv.rules to /etc/udev/rules.d/, and modify that 
file as outlined in the comments.\n\nTo avoid seeing this message every time 
VirtualBox is started, a dummy file is being created."));
+        int ret = msgBox.exec();
+        app.quit();
+        return 0;
+}
+
++++++ vbox-vboxadd-init-script.diff ++++++
Index: VirtualBox-5.0.28/src/VBox/Additions/linux/installer/vboxadd.sh
===================================================================
--- VirtualBox-5.0.28.orig/src/VBox/Additions/linux/installer/vboxadd.sh
+++ VirtualBox-5.0.28/src/VBox/Additions/linux/installer/vboxadd.sh
@@ -23,9 +23,12 @@
 # Provides:       vboxadd
 # Required-Start:
 # Required-Stop:
-# Default-Start:  2 3 4 5
+# Should-Start:   $remote_fs
+# Should-Stop:    $remote_fs
+# Default-Start:  2 3 5
 # Default-Stop:   0 1 6
 # Description:    VirtualBox Linux Additions kernel modules
+# Short-Description: VirtualBox Linux Additions kernel modules
 ### END INIT INFO
 
 PATH=$PATH:/bin:/sbin:/usr/sbin
@@ -154,7 +157,6 @@ fail()
 
 dev=/dev/vboxguest
 userdev=/dev/vboxuser
-config=/var/lib/VBoxGuestAdditions/config
 owner=vboxadd
 group=1
 
@@ -232,12 +234,6 @@ do_vboxguest_non_udev()
             fail "Cannot create device $dev with major $maj and minor $min"
         }
     fi
-    chown $owner:$group $dev 2>/dev/null || {
-        rm -f $dev 2>/dev/null
-        rm -f $userdev 2>/dev/null
-        rmmod vboxguest 2>/dev/null
-        fail "Cannot change owner $owner:$group for device $dev"
-    }
 
     if [ ! -c $userdev ]; then
         maj=10
@@ -248,12 +244,6 @@ do_vboxguest_non_udev()
                 rmmod vboxguest 2>/dev/null
                 fail "Cannot create device $userdev with major $maj and minor 
$min"
             }
-            chown $owner:$group $userdev 2>/dev/null || {
-                rm -f $dev 2>/dev/null
-                rm -f $userdev 2>/dev/null
-                rmmod vboxguest 2>/dev/null
-                fail "Cannot change owner $owner:$group for device $userdev"
-            }
         fi
     fi
 }
@@ -261,13 +251,6 @@ do_vboxguest_non_udev()
 start()
 {
     begin "Starting the VirtualBox Guest Additions ";
-    if test -r $config; then
-      . $config
-    else
-      fail "Configuration file $config not found"
-    fi
-    test -n "$INSTALL_DIR" -a -n "$INSTALL_VER" ||
-      fail "Configuration file $config not complete"
     uname -r | grep -q -E '^2\.6|^3|^4' 2>/dev/null &&
         ps -A -o comm | grep -q '/*udevd$' 2>/dev/null ||
         no_udev=1
@@ -304,7 +287,7 @@ start()
     }
 
     # Put the X.Org driver in place.  This is harmless if it is not needed.
-    /sbin/rcvboxadd-x11 setup
+#    /sbin/rcvboxadd-x11 setup
     # Install the guest OpenGL drivers.  For now we don't support
     # multi-architecture installations
     rm -f /etc/ld.so.conf.d/00vboxvideo.conf
@@ -505,13 +488,14 @@ extra_setup()
         ## @todo 60-vboxadd.rules -> 60-vboxguest.rules ?
         echo "KERNEL=${udev_fix}\"vboxguest\", NAME=\"vboxguest\", 
OWNER=\"vboxadd\", MODE=\"0660\"" > /etc/udev/rules.d/60-vboxadd.rules
         echo "KERNEL=${udev_fix}\"vboxuser\", NAME=\"vboxuser\", 
OWNER=\"vboxadd\", MODE=\"0666\"" >> /etc/udev/rules.d/60-vboxadd.rules
+        echo "KERNEL=${udev_fix}\"vboxsf\", NAME=\"vboxsf\", 
OWNER=\"vboxadd\", MODE=\"0666\"" >> /etc/udev/rules.d/60-vboxadd.rules
     fi
 
     # Put mount.vboxsf in the right place
     ln -sf "$lib_path/$PACKAGE/mount.vboxsf" /sbin
     # And an rc file to re-build the kernel modules and re-set-up the X server.
     ln -sf "$lib_path/$PACKAGE/vboxadd" /sbin/rcvboxadd
-    ln -sf "$lib_path/$PACKAGE/vboxadd-x11" /sbin/rcvboxadd-x11
+#    ln -sf "$lib_path/$PACKAGE/vboxadd-x11" /sbin/rcvboxadd-x11
     # SELinux security context for the mount helper.
     if test -e /etc/selinux/config; then
         # This is correct.  semanage maps this to the real path, and it aborts
@@ -527,49 +511,13 @@ extra_setup()
 # setup_script
 setup()
 {
-    if test -r $config; then
-      . $config
-    else
-      fail "Configuration file $config not found"
-    fi
-    test -n "$INSTALL_DIR" -a -n "$INSTALL_VER" ||
-      fail "Configuration file $config not complete"
-    export BUILD_TYPE
-    export USERNAME
-
-    rm -f $LOG
-    MODULE_SRC="$INSTALL_DIR/src/vboxguest-$INSTALL_VER"
-    BUILDINTMP="$MODULE_SRC/build_in_tmp"
-    DODKMS="$MODULE_SRC/do_dkms"
-    chcon -t bin_t "$BUILDINTMP" > /dev/null 2>&1
-    chcon -t bin_t "$DODKMS"     > /dev/null 2>&1
-
-    setup_modules
-    mod_succ="$?"
-    extra_setup
-    if [ "$mod_succ" -eq "0" ]; then
-        if running_vboxguest || running_vboxadd; then
-            printf "You should restart your guest to make sure the new modules 
are actually used\n\n"
-        else
-            start
-        fi
-    fi
+    begin "Recompiling VirtualBox kernel module, NOT. It has been packaged."
+    succ_msg
 }
 
 # cleanup_script
 cleanup()
 {
-    if test -r $config; then
-      . $config
-      test -n "$INSTALL_DIR" -a -n "$INSTALL_VER" ||
-        fail "Configuration file $config not complete"
-      DODKMS="$INSTALL_DIR/src/vboxguest-$INSTALL_VER/do_dkms"
-    elif test -x ./do_dkms; then  # Executing as part of the installer...
-      DODKMS=./do_dkms
-    else
-      fail "Configuration file $config not found"
-    fi
-
     # Delete old versions of VBox modules.
     cleanup_modules
     for i in /lib/modules/*; do
@@ -582,12 +530,12 @@ cleanup()
     done
 
     # Clean-up X11-related bits
-    /sbin/rcvboxadd-x11 cleanup
+#    /sbin/rcvboxadd-x11 cleanup
 
     # Remove other files
     rm /sbin/mount.vboxsf 2>/dev/null
     rm /sbin/rcvboxadd 2>/dev/null
-    rm /sbin/rcvboxadd-x11 2>/dev/null
+#    rm /sbin/rcvboxadd-x11 2>/dev/null
     rm /etc/udev/rules.d/60-vboxadd.rules 2>/dev/null
     rm -f /lib/modules/*/initrd/vboxvideo
 }
++++++ vbox-vboxdrv-init-script.diff ++++++
Index: src/VBox/Installer/linux/vboxdrv.sh.in
===================================================================
--- src/VBox/Installer/linux/vboxdrv.sh.in.orig
+++ src/VBox/Installer/linux/vboxdrv.sh.in
@@ -19,11 +19,12 @@
 #
 ### BEGIN INIT INFO
 # Provides:       vboxdrv
-# Required-Start: $syslog
-# Required-Stop:
-# Default-Start:  2 3 4 5
+# Required-Start: $syslog $remote_fs
+# Required-Stop:  $syslog $remote_fs
+# Default-Start:  2 3 5
 # Default-Stop:   0 1 6
-# Short-Description: VirtualBox Linux kernel module
+# Short-Description: VirtualBox Linux module
+# Description: VirtualBox Linux kernel module
 ### END INIT INFO
 
 PATH=/sbin:/bin:/usr/sbin:/usr/bin:$PATH
@@ -191,13 +192,6 @@ start()
         fi
     fi
     # ensure permissions
-    if ! chown :%GROUP% $DEVICE 2>/dev/null; then
-        rmmod vboxpci 2>/dev/null
-        rmmod vboxnetadp 2>/dev/null
-        rmmod vboxnetflt 2>/dev/null
-        rmmod vboxdrv 2>/dev/null
-        failure "Cannot change group %GROUP% for device $DEVICE"
-    fi
     if ! $MODPROBE vboxnetflt > /dev/null 2>&1; then
         failure "modprobe vboxnetflt failed. Please use 'dmesg' to find out 
why"
     fi
@@ -295,70 +289,8 @@ stop_vms()
 # setup_script
 setup()
 {
-    stop
-    DKMS=`which dkms 2>/dev/null`
-    if [ -n "$DKMS" ]; then
-      begin_msg "Uninstalling old VirtualBox DKMS kernel modules"
-      $DODKMS uninstall vboxhost vboxdrv vboxnetflt vboxnetadp > $LOG
-      succ_msg
-    fi
-    if find /lib/modules/`uname -r` -name "vboxpci\.*" 2>/dev/null|grep -q 
vboxpci; then
-        begin_msg "Removing old VirtualBox pci kernel module"
-        find /lib/modules/`uname -r` -name "vboxpci\.*" 2>/dev/null|xargs rm 
-f 2>/dev/null
-        succ_msg
-    fi  
-    if find /lib/modules/`uname -r` -name "vboxnetadp\.*" 2>/dev/null|grep -q 
vboxnetadp; then
-        begin_msg "Removing old VirtualBox netadp kernel module"
-        find /lib/modules/`uname -r` -name "vboxnetadp\.*" 2>/dev/null|xargs 
rm -f 2>/dev/null
-        succ_msg
-    fi  
-    if find /lib/modules/`uname -r` -name "vboxnetflt\.*" 2>/dev/null|grep -q 
vboxnetflt; then
-        begin_msg "Removing old VirtualBox netflt kernel module"
-        find /lib/modules/`uname -r` -name "vboxnetflt\.*" 2>/dev/null|xargs 
rm -f 2>/dev/null
-        succ_msg
-    fi  
-    if find /lib/modules/`uname -r` -name "vboxdrv\.*" 2>/dev/null|grep -q 
vboxdrv; then
-        begin_msg "Removing old VirtualBox kernel module"
-        find /lib/modules/`uname -r` -name "vboxdrv\.*" 2>/dev/null|xargs rm 
-f 2>/dev/null
-        succ_msg
-    fi
-    if [ -n "$DKMS" ]; then
-      begin_msg "Trying to register the VirtualBox kernel modules using DKMS"
-      if ! $DODKMS install vboxhost $VERSION >> $LOG; then
-        fail_msg "Failed, trying without DKMS"
-        DKMS=""
-      fi
-    fi
-    if [ -z "$DKMS" ]; then
-      begin_msg "Recompiling VirtualBox kernel modules"
-      if ! $BUILDINTMP \
-          --save-module-symvers /tmp/vboxdrv-Module.symvers \
-          --module-source "$MODULE_SRC/vboxdrv" \
-          --no-print-directory install >> $LOG 2>&1; then
-          failure "Look at $LOG to find out what went wrong"
-      fi
-      if ! $BUILDINTMP \
-          --use-module-symvers /tmp/vboxdrv-Module.symvers \
-          --module-source "$MODULE_SRC/vboxnetflt" \
-          --no-print-directory install >> $LOG 2>&1; then
-          failure "Look at $LOG to find out what went wrong"
-      fi
-      if ! $BUILDINTMP \
-          --use-module-symvers /tmp/vboxdrv-Module.symvers \
-          --module-source "$MODULE_SRC/vboxnetadp" \
-          --no-print-directory install >> $LOG 2>&1; then
-          failure "Look at $LOG to find out what went wrong"
-      fi
-      if ! $BUILDINTMP \
-          --use-module-symvers /tmp/vboxdrv-Module.symvers \
-          --module-source "$MODULE_SRC/vboxpci" \
-          --no-print-directory install >> $LOG 2>&1; then
-          failure "Look at $LOG to find out what went wrong"
-      fi
-    fi
-    rm -f /etc/vbox/module_not_compiled
+    begin_msg "Recompiling VirtualBox kernel module, NOT. It has been 
packaged."
     succ_msg
-    start
 }
 
 dmnstatus()
++++++ vbox-vboxweb-init-script.diff ++++++
Index: VirtualBox-5.0.26/src/VBox/Installer/linux/vboxweb-service.sh
===================================================================
--- VirtualBox-5.0.26.orig/src/VBox/Installer/linux/vboxweb-service.sh
+++ VirtualBox-5.0.26/src/VBox/Installer/linux/vboxweb-service.sh
@@ -20,7 +20,7 @@
 # Provides:       vboxweb-service
 # Required-Start: vboxdrv
 # Required-Stop:  vboxdrv
-# Default-Start:  2 3 4 5
+# Default-Start:  2 3 5
 # Default-Stop:   0 1 6
 # Description:    VirtualBox web service API
 ### END INIT INFO
@@ -50,7 +50,7 @@ if [ -f /etc/redhat-release ]; then
     PIDFILE="/var/lock/subsys/vboxweb-service"
 elif [ -f /etc/SuSE-release ]; then
     system=suse
-    PIDFILE="/var/lock/subsys/vboxweb-service"
+    PIDFILE="/var/run/vboxweb-service"
 elif [ -f /etc/debian_version ]; then
     system=debian
     PIDFILE="/var/run/vboxweb-service"
++++++ vbox_prevent_wrong_SONAME.patch ++++++
Index: VirtualBox-5.0.26/src/VBox/Additions/common/crOpenGL/Makefile.kmk
===================================================================
--- VirtualBox-5.0.26.orig/src/VBox/Additions/common/crOpenGL/Makefile.kmk
+++ VirtualBox-5.0.26/src/VBox/Additions/common/crOpenGL/Makefile.kmk
@@ -221,7 +221,7 @@ if1of ($(KBUILD_TARGET), linux solaris f
        dl
   endif
  else
-  VBoxOGL_SONAME.linux = libGL.so.1
+  VBoxOGL_SONAME.linux = VBoxOGL.so.1
   VBoxOGL_LDFLAGS.linux += -Wl,-e,LibMain
  endif
 endif
++++++ vbox_remove_smp_mflags.patch ++++++
Index: VirtualBox-5.1.8/src/libs/libxml2-2.9.2/libxml.spec.in
===================================================================
--- VirtualBox-5.1.8.orig/src/libs/libxml2-2.9.2/libxml.spec.in
+++ VirtualBox-5.1.8/src/libs/libxml2-2.9.2/libxml.spec.in
@@ -69,7 +69,7 @@ at parse time or later once the document
 
 %build
 %configure
-make %{_smp_mflags}
+make 
 
 %install
 rm -fr %{buildroot}
Index: VirtualBox-5.1.8/src/libs/libxml2-2.9.2/libxml2.spec
===================================================================
--- VirtualBox-5.1.8.orig/src/libs/libxml2-2.9.2/libxml2.spec
+++ VirtualBox-5.1.8/src/libs/libxml2-2.9.2/libxml2.spec
@@ -69,7 +69,7 @@ at parse time or later once the document
 
 %build
 %configure
-make %{_smp_mflags}
+make 
 
 %install
 rm -fr %{buildroot}
++++++ virtualbox-60-vboxdrv.rules ++++++
KERNEL=="vboxdrv", NAME="vboxdrv", OWNER="root", GROUP="vboxusers", MODE="0660"
#
#these lines below give access permission to vboxusers to properly work with 
usb nodes, but enabling them could be security risk (bnc#664520) !!
#if you can live with this security problem put these lines below in to the new 
file /etc/udev/rules.d/60-vboxdrv.rules so they will stay enabled also after 
package update
#SUBSYSTEM=="usb_device", ACTION=="add", 
RUN+="/usr/lib/udev/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass} 
vboxusers"
#SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", 
RUN+="/usr/lib/udev/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass} 
vboxusers"
#SUBSYSTEM=="usb_device", ACTION=="remove", 
RUN+="/usr/lib/udev/VBoxCreateUSBNode.sh --remove $major $minor"
#SUBSYSTEM=="usb", ACTION=="remove", ENV{DEVTYPE}=="usb_device", 
RUN+="/usr/lib/udev/VBoxCreateUSBNode.sh --remove $major $minor"
++++++ virtualbox-60-vboxguest.rules ++++++
KERNEL=="vboxguest", NAME="vboxguest", OWNER="root", MODE="0660" 
ENV{ID_INPUT}="1", ENV{ID_INPUT_MOUSE}="1"
KERNEL=="vboxuser", NAME="vboxuser", OWNER="root", GROUP="users", MODE="0660"
++++++ virtualbox-default.virtualbox ++++++
# /etc/default/virtualbox
#
# 
-------------------------------------------------------------------------------------------------
# In the "SHUTDOWN_USERS" list all users for which a check for runnings VMs 
should be done during
# shutdown of "vboxdrv" resp. the server:
# SHUTDOWN_USERS="foo bar"
#
# Set "SHUTDOWN" to one of "poweroff", "acpibutton" or "savestate" depending on 
which of the
# shutdown methods for running VMs are wanted:
# SHUTDOWN="poweroff"
# SHUTDOWN="acpibutton"
# SHUTDOWN="savestate"
# 
-------------------------------------------------------------------------------------------------
#
#SHUTDOWN_USERS="foo bar"
#SHUTDOWN="savestate"
++++++ virtualbox-guest-kmp-files ++++++
%defattr (-,root,root) 
%dir /lib/modules/%2-%1/
%dir /lib/modules/%2-%1/misc
/lib/modules/%2-%1/misc/vboxsf.ko
/lib/modules/%2-%1/misc/vboxvideo.ko
/lib/modules/%2-%1/misc/vboxguest.ko
++++++ virtualbox-guest-preamble ++++++
Requires: kernel-%1
Provides: virtualbox-guest-kmp = %version
#rename from ose version:
Provides: virtualbox-ose-guest-kmp-%1 = %version
Obsoletes: virtualbox-ose-guest-kmp-%1 < %version
#host (vboxdrv) and guest (vboxguest) kmp exports the same symbol (RTMemFreeEx)
#which break loading modules using modprobe (bnc#661740)
Conflicts: virtualbox-host-kmp
Conflicts: virtualbox-ose-host-kmp
# Up to 5.0.17 the kernel modules have been installed to 
/lib/modules/xxx/updates/ which is preferred over misc (boo#983629)
Obsoletes: virtualbox-guest-kmp-%1 < %{version}
++++++ virtualbox-host-kmp-files ++++++
%defattr (-,root,root)
%dir /lib/modules/%2-%1/
%dir /lib/modules/%2-%1/misc
/lib/modules/%2-%1/misc/vboxdrv.ko
/lib/modules/%2-%1/misc/vboxnetadp.ko
/lib/modules/%2-%1/misc/vboxnetflt.ko
/lib/modules/%2-%1/misc/vboxpci.ko
++++++ virtualbox-host-preamble ++++++
Requires: kernel-%1
Provides: virtualbox-host-kmp = %version
#rename from ose version:
Provides: virtualbox-ose-host-kmp-%1 = %version
Obsoletes: virtualbox-ose-host-kmp-%1 < %version
#host (vboxdrv) and guest (vboxguest) kmp exports the same symbol (RTMemFreeEx)
#which break loading modules using modprobe (bnc#661740)
Conflicts: virtualbox-guest-kmp
Conflicts: virtualbox-ose-guest-kmp
# Up to 5.0.17 the kernel modules have been installed to 
/lib/modules/xxx/updates/ which is preferred over misc (boo#983629)
Obsoletes: virtualbox-host-kmp-%1 <= %{version}
++++++ virtualbox-patch-source.sh ++++++
#!/bin/bash

REMOVE_DIRS=( 
src/VBox/Additions/WINNT 
src/VBox/Additions/os2 
kBuild/bin
kBuild/msgstyles
kBuild/tools
kBuild/sdks
tools/darwin.x86
tools/darwin.amd64
tools/freebsd.x86
tools/os2.x86
tools/solaris.x86
tools/solaris.amd64
tools/win.amd64
tools/win.x86
tools/linux.x86
tools/linux.amd64
)

set -o errexit

CMDNAME=${0##*/}
SOURCEDIR=${0%$CMDNAME}

BASENAME=${1%.tar.bz2}

trap "rm -rf  \"$BASENAME-patched.tar\" \"$BASENAME-patched.tar.bz2\"" ERR

for (( N=0 ; N<${#REMOVE_DIRS[@]} ; N++ )) ; do
    #REMOVE_DIRS[N]="$BASENAME/${REMOVE_DIRS[N]}"
    # use a wildcard because VirtualBox-1.6.0-OSE != VirtualBox-1.6.0_OSE
    REMOVE_DIRS[N]="*/${REMOVE_DIRS[N]}"
done

cd "$SOURCEDIR" >/dev/null

if ! test -f "$BASENAME.tar.bz2" ; then
    exit 0
fi

if test -f "$BASENAME-patched.tar.bz2" ; then
    if test "$BASENAME.tar.bz2" -ot "$BASENAME-patched.tar.bz2" ; then
        if test $CMDNAME -ot "$BASENAME-patched.tar.bz2" ; then
            exit 0
        fi
    fi
fi

cp -a "$BASENAME.tar.bz2" "$BASENAME-patched.tar.bz2"
bunzip2 "$BASENAME-patched.tar.bz2"
tar --wildcards --delete -f "$BASENAME-patched.tar" "${REMOVE_DIRS[@]}"
bzip2 "$BASENAME-patched.tar"
++++++ virtualbox-rpmlintrc ++++++
addFilter("incoherent-init-script-name vboxdrv")
addFilter("incoherent-init-script-name vboxadd")
addFilter("xorg-x11-driver-virtualbox-ose.* shlib-policy-missing-suffix")
++++++ virtualbox-sed-params.patch ++++++
Index: VirtualBox-5.0.24/src/VBox/Main/Makefile.kmk
===================================================================
--- VirtualBox-5.0.24.orig/src/VBox/Main/Makefile.kmk
+++ VirtualBox-5.0.24/src/VBox/Main/Makefile.kmk
@@ -1223,7 +1223,7 @@ $(VBoxAPIWrap_0_OUTDIR)/VBoxAPI.d.ts \
        $(QUIET)$(VBOX_XSLTPROC) --stringparam KBUILD_HOST $(KBUILD_HOST) \
                --stringparam generating "dtrace-probes" \
                -o "$@" $(VBoxAPIWrap_VBOX_XSLT) $<
-       $(QUIET)$(SED) -e '' -o "[email protected]" \
+       $(QUIET)$(SED) -e '' --output "[email protected]" \
                "$(VBOX_PATH_MAIN_SRC)/src-all/VBoxAPI-start.d" \
                "$@" \
                "$(VBOX_PATH_MAIN_SRC)/src-all/VBoxAPI-end.d"
Index: VirtualBox-5.0.24/src/VBox/Devices/Makefile.kmk
===================================================================
--- VirtualBox-5.0.24.orig/src/VBox/Devices/Makefile.kmk
+++ VirtualBox-5.0.24/src/VBox/Devices/Makefile.kmk
@@ -818,8 +818,7 @@ if !defined(VBOX_ONLY_EXTPACKS)
        $(call MSG_TOOL,iasl,VBoxDD,$<,$@)
        $(QUIET)$(RM) -f $@ [email protected] [email protected]
        $(QUIET)$(TOOL_$(VBOX_GCC_TOOL)_CC) -E -P -x c -o [email protected] $<
-       $(QUIET)$(SED) -e "s/<NL>/\n/g" \
-               --output [email protected] [email protected]
+       $(QUIET)$(SED) -e "s/<NL>/\n/g" [email protected] > [email protected]
        $(QUIET)$(VBOX_IASLCMD) -tc -vs -p $@ [email protected]
        $(QUIET)$(MV) -f $@ [email protected]
        $(QUIET)$(SED) -e "s/AmlCode/AmlCodeSsdtCpuHotPlug/g" \
++++++ virtualbox-snpritnf-buffer-overflow.patch ++++++
diff -urN 
VirtualBox-5.0.0.old/src/VBox/ExtPacks/VBoxDTrace/onnv/lib/libdtrace/common/dt_printf.c
 
VirtualBox-5.0.0/src/VBox/ExtPacks/VBoxDTrace/onnv/lib/libdtrace/common/dt_printf.c
--- 
VirtualBox-5.0.0.old/src/VBox/ExtPacks/VBoxDTrace/onnv/lib/libdtrace/common/dt_printf.c
     2015-07-14 20:53:12.121479325 +0200
+++ 
VirtualBox-5.0.0/src/VBox/ExtPacks/VBoxDTrace/onnv/lib/libdtrace/common/dt_printf.c
 2015-07-19 17:11:11.677617929 +0200
@@ -1568,10 +1568,10 @@
                        width = 0;
 
                if (width != 0)
-                       f += snprintf(f, sizeof (format), "%d", ABS(width));
+                       f += snprintf(f, sizeof (f), "%d", ABS(width));
 
                if (prec > 0)
-                       f += snprintf(f, sizeof (format), ".%d", prec);
+                       f += snprintf(f, sizeof (f), ".%d", prec);
 
                (void) strcpy(f, pfd->pfd_fmt);
                pfd->pfd_rec = rec;
diff -urN 
VirtualBox-5.0.0.old/src/VBox/ExtPacks/VBoxDTrace/onnv/lib/libdtrace/common/dt_subr.c
 
VirtualBox-5.0.0/src/VBox/ExtPacks/VBoxDTrace/onnv/lib/libdtrace/common/dt_subr.c
--- 
VirtualBox-5.0.0.old/src/VBox/ExtPacks/VBoxDTrace/onnv/lib/libdtrace/common/dt_subr.c
       2015-07-14 20:53:12.120479323 +0200
+++ 
VirtualBox-5.0.0/src/VBox/ExtPacks/VBoxDTrace/onnv/lib/libdtrace/common/dt_subr.c
   2015-07-19 17:12:35.554945664 +0200
@@ -866,6 +866,7 @@
        x = x + (x >> 32);
        return (x & 0x7F);
 #endif
+       return 0;
 }
 
 /*
++++++ virtualbox-sysconfig.vbox ++++++
## Path:         System/Virtual Machines/VBox
## Description:  Virtual box machines to autostart during boot
## Type:         string
## Default:      ""
#
# Configuration file for the script /etc/init.d/vboxes
#
# The variable VBOX_AUTOSTART holds the virtual machines to be started during
# boot time.  One entry must contain the virtual machine name and the
# virtual machine owner. They are separated with a ";".  Multiple entries 
# (virtual machines) are separated with a space.
#
# Examples:
#   MachineName1;user1
#
#   One virtual machine:
#   openSUSE_Factory;vbox
#
#   Multiple virtual machines:
#   openSUSE_Factory;vbox openSUSE_stable;suse
#
VBOX_AUTOSTART=""

++++++ virtualbox-system-x.patch ++++++
Index: VirtualBox-5.0.26/src/VBox/Additions/common/crOpenGL/Makefile.kmk
===================================================================
--- VirtualBox-5.0.26.orig/src/VBox/Additions/common/crOpenGL/Makefile.kmk
+++ VirtualBox-5.0.26/src/VBox/Additions/common/crOpenGL/Makefile.kmk
@@ -68,18 +68,12 @@ VBoxOGL_TEMPLATE       = VBOXCROGLR3GUES
 VBoxOGL_INCS           = .
 if1of ($(KBUILD_TARGET), linux solaris freebsd)
  VBoxOGL_INCS     += \
-       $(VBOX_PATH_X11_ROOT)/libXdamage-1.1 \
-       $(VBOX_PATH_X11_ROOT)/libXcomposite-0.4.0 \
-       $(VBOX_PATH_X11_ROOT)/libXext-1.3.1 \
-       $(VBOX_PATH_X11_ROOT)/libXfixes-4.0.3 \
-       $(VBOX_PATH_X11_ROOT)/damageproto-1.1.0 \
-       $(VBOX_PATH_X11_ROOT)/compositeproto-0.4 \
-       $(VBOX_PATH_X11_ROOT)/fixesproto-4.0 \
-       $(VBOX_PATH_X11_ROOT)/libx11-1.1.5-other \
-       $(VBOX_PATH_X11_ROOT)/xextproto-7.1.1 \
-       $(VBOX_PATH_X11_ROOT)/xproto-7.0.18 \
+       /usr/include/x11 \
+       /usr/include/xorg \
+       /usr/include/pixman-1 \
        $(VBOX_MESA_INCS) \
-       $(PATH_ROOT)/src/VBox/Additions/x11/x11include/libdrm-2.4.13
+       /usr/include/drm \
+       /usr/include/libdrm
  VBoxOGL_DEFS     += VBOX_NO_NATIVEGL
 endif
 
@@ -214,10 +208,10 @@ VBoxOGL_LIBS.win += \
 
 if1of ($(KBUILD_TARGET), linux solaris freebsd)
  VBoxOGL_LIBS += \
-       $(PATH_STAGE_LIB)/libXcomposite.so \
-       $(PATH_STAGE_LIB)/libXdamage.so \
-       $(PATH_STAGE_LIB)/libXfixes.so \
-       $(PATH_STAGE_LIB)/libXext.so
+       Xcomposite \
+       Xdamage \
+       Xfixes \
+       Xext
  ifdef VBoxOGL_FAKEDRI
   ifeq ($(KBUILD_TARGET), freebsd)
     VBoxOGL_LIBS += \
Index: VirtualBox-5.0.26/src/VBox/Additions/common/VBoxGuestLib/Makefile.kmk
===================================================================
--- VirtualBox-5.0.26.orig/src/VBox/Additions/common/VBoxGuestLib/Makefile.kmk
+++ VirtualBox-5.0.26/src/VBox/Additions/common/VBoxGuestLib/Makefile.kmk
@@ -40,8 +40,6 @@ LIBRARIES += \
        VBoxGuestR3LibShared
 ifndef VBOX_ONLY_VALIDATIONKIT
  if1of ($(KBUILD_TARGET), freebsd linux netbsd openbsd)
-  LIBRARIES += \
-       VBoxGuestR3LibXFree86
  endif
  if1of ($(KBUILD_TARGET), freebsd linux netbsd openbsd solaris)
   LIBRARIES += \
++++++ virtualbox-vboxes ++++++
#!/bin/sh
#
# chkconfig: - 91 35
# description: Starts and stops vbox autostart VMs.
# Based on
# http://www.amiryan.org/2009/11/04/virtualbox-init-d-service-autostart-scriptu
#
# By Richard Bos <rbos at opensuse dot org> - May 2010

### BEGIN INIT INFO
# Provides: vboxes
# Required-Start: $network vboxdrv
# Required-Stop: $network $named
# Default-Start: 3 5
# Default-Stop: 0 1 2 3 4 5 6
# Short-Description: Autostart Virtual Box VMs
# Description: Autostart Virtual Box VMs that are mentioned in 
/etc/sysconfig/vbox file
### END INIT INFO

# Shell functions sourced from /etc/rc.status:
#      rc_check         check and set local and overall rc status
#      rc_status        check and set local and overall rc status
#      rc_status -v     be verbose in local rc status and clear it afterwards
#      rc_status -v -r  ditto and clear both the local and overall rc status
#      rc_status -s     display "skipped" and exit with status 3
#      rc_status -u     display "unused" and exit with status 3
#      rc_failed        set local and overall rc status to failed
#      rc_failed <num>  set local and overall rc status to <num>
#      rc_reset         clear both the local and overall rc status
#      rc_exit          exit appropriate to overall rc status
#      rc_active        checks whether a service is activated by symlinks
. /etc/rc.status

# Reset status of this service
rc_reset

# Return values acc. to LSB for all commands but status:
# 0       - success
# 1       - generic or unspecified error
# 2       - invalid or excess argument(s)
# 3       - unimplemented feature (e.g. "reload")
# 4       - user had insufficient privileges
# 5       - program is not installed
# 6       - program is not configured
# 7       - program is not running
# 8--199  - reserved (8--99 LSB, 100--149 distrib, 150--199 appl)
#
# Note that starting an already running service, stopping
# or restarting a not-running service as well as the restart
# with force-reload (in case signaling is not supported) are
# considered a success.

VBOXMGR_BIN=/usr/lib/virtualbox/VBoxManage
if [[ ! -x $VBOXMGR_BIN ]]; then
  echo "$VBOXMGR_BIN does not exist"
  if [ "$1" = "stop" ]; then
    exit 0;
  else
    exit 6
  fi;
fi

VBOXHeadLess_BIN=/usr/lib/virtualbox/VBoxHeadless
if [[ ! -x $VBOXHeadLess_BIN ]]; then
  echo "$VBOXHeadLess_BIN does not exist"
  if [ "$1" = "start" ]; then
    exit 6;
  else
    exit 0
  fi;
fi

PRG=$(basename $0)
SERVICE="Virtualbox machines"

[ -r /etc/sysconfig/vbox ] && . /etc/sysconfig/vbox

start() {

  N=1
  for VBOX in $VBOX_AUTOSTART; do

    if grep -q \; <<< "$VBOX"; then
      VBOX_NAME[$N]=$(cut -d\; -f1 <<< "$VBOX")
      VBOX_USER[$N]=$(cut -d\; -f2 <<< "$VBOX")
    else
      VBOX_NAME[$N]="$VBOX"
      VBOX_USER[$N]=""
    fi
    N=$(($N+1)) 
  done

  VBOXES=${#VBOX_NAME[*]}

  if [ $VBOXES -eq 0 ]; then
    # The virtual machines have to be configured in /etc/sysconfig/vbox
    echo -n "Starting $SERVICE: no virtual machines configured"
    rc_status -u
  else

    N=1
    echo -n "Starting $SERVICE: "
    while [[ $N -le $VBOXES ]]; do
      if [[ $N -lt $VBOXES ]]; then
        echo -n "${VBOX_NAME[$N]} (user: ${VBOX_USER[$N]}), "
      else
        echo "${VBOX_NAME[$N]} (user: ${VBOX_USER[$N]})"
      fi
      N=$(($N+1)) 
    done

    N=1
    while [[ $N -le $VBOXES ]]; do

      if [[ -n "${VBOX_USER[$N]}" ]]; then

        if grep --quiet --word-regexp ${VBOX_USER[$N]} /etc/passwd; then

          # The tag "Name:" occurs in multiple sections.  Require at least 7 
blanks
          # with an additional flexible amount of spaces.  At the moment of 
writing
          # 13 spaces are needed.
          VBOX_RUNNING=$(su ${VBOX_USER[$N]} -c "VBoxManage list --long 
runningvms"  |
            sed -n 's/^Name:[[:blank:]]\{7\} *//p' | grep -w "${VBOX_NAME[$N]}")

          if [[ -z "$VBOX_RUNNING" ]]; then

            VBOX_PRESENT=$(su ${VBOX_USER[$N]} -c "$VBOXMGR_BIN list --long 
vms" |
              sed -n 's/^Name:[[:blank:]]\{7\} *//p' | grep -w 
"${VBOX_NAME[$N]}")

            if [[ -n "$VBOX_PRESENT" ]]; then

              # VBoxManage startvm does not result in a VM with working 
networking
              # su ${VBOX_USER[$N]} -c "$VBOXMGR_BIN -q startvm 
"${VBOX_NAME[$N]}" -type headless" > /tmp/$PRG.$$ 2>&1
              # Start virtualbox in Headless mode
              su ${VBOX_USER[$N]} -c "$VBOXHeadLess_BIN --startvm 
"${VBOX_NAME[$N]}"" > /tmp/$PRG.$$ 2>&1 &
              RETVAL=$?

              if [[ $RETVAL == 0 ]]; then
                echo -n " Starting virtual machine: ${VBOX_NAME[$N]} (user: 
${VBOX_USER[$N]})"
                rc_status -v -r
              else
                echo -n " Starting virtual machine: ${VBOX_NAME[$N]} (user: 
${VBOX_USER[$N]}) failed with the following output: "
                rc_failed; rc_status -v -r
                # Give the VBOXHeadLess_BIN some time to write the output file
                sleep 2
                cat /tmp/$PRG.$$
              fi

              rm /tmp/$PRG.$$

            else
              echo -n " Virtual machine: ${VBOX_NAME[$N]} (user: 
${VBOX_USER[$N]}) does not exist"
              rc_status -s -r
            fi

          else
            echo -n " Virtual machine: ${VBOX_NAME[$N]} (user: 
${VBOX_USER[$N]}) is already running"
            rc_status -v -r
          fi

        else
          echo -n " Virtual machine: ${VBOX_NAME[$N]}, VBOX_USER: 
${VBOX_USER[$N]} does not exist"
          rc_status -s -r
        fi

      else
        echo -n " Virtual machine: ${VBOX_NAME[$N]}: VBOX_USER not configured"
        rc_status -s -r
      fi

      N=$(($N+1))
    done
  fi
}

stop() {

  for VBOX in $VBOX_AUTOSTART; do

    if grep -q \; <<< "$VBOX"; then
      VBOX_USER=$(cut -d\; -f2 <<< "$VBOX")

      # Only add the user to the list, if not present yet
      if ! grep -qw "$VBOX_USER" <<< "$VBOX_USERS"; then
        VBOX_USERS="$VBOX_USERS $VBOX_USER"
      fi
    fi
  done

  N=1
  for VBOX_USER in $VBOX_USERS; do
    VBOX_RUNNING=$(su $VBOX_USER -c "$VBOXMGR_BIN list --long runningvms" |
      sed -n 's/^Name:[[:blank:]]\{7\} *//p')
    for VBOX in $VBOX_RUNNING; do
      VBOX_NAME[$N]="$VBOX"
      VBOX_USER[$N]="$VBOX_USER"
      N=$(($N+1)) 
    done
  done

  VBOXES=${#VBOX_NAME[*]}

  if [[ $VBOXES -eq 0 ]]; then
    echo -n "Shutting down $SERVICE: no virtual machines running."
    rc_status -s -r
  else

    echo -n "Shutting down $SERVICE: "
    N=1
    while [[ $N -le $VBOXES ]]; do
      if [[ $N -lt $VBOXES ]]; then
        echo -n "${VBOX_NAME[$N]} (user: ${VBOX_USER[$N]}), "
      else
        echo "${VBOX_NAME[$N]} (user: ${VBOX_USER[$N]})"
      fi
      N=$(($N+1)) 
    done

    N=1
    while [[ $N -le $VBOXES ]]; do

      echo -n " ${VBOX_NAME[$N]}: "
      su ${VBOX_USER[$N]} -c "$VBOXMGR_BIN -q controlvm "${VBOX_NAME[$N]}" 
savestate"
      RETVAL=$?

      echo -n " Shutting down virtual machine: ${VBOX_NAME[$N]} (user: 
${VBOX_USER[$N]})"
      if [[ $RETVAL == $? ]]; then
        rc_status -v -r
      else
        rc_failed; rc_status -v -r
      fi
      N=$(($N+1)) 
    done
  fi
}

status() {

  for VBOX in $VBOX_AUTOSTART; do

    if grep -q \; <<< "$VBOX"; then
      VBOX_USER=$(cut -d\; -f2 <<< "$VBOX")

      # Only add the user to the list, if not present yet
      if ! grep -qw "$VBOX_USER" <<< "$VBOX_USERS"; then
        VBOX_USERS="$VBOX_USERS $VBOX_USER"
      fi
    fi
  done

  N=1
  for VBOX_USER in $VBOX_USERS; do
    # The tag "Name:" occurs in multiple sections.  Require at least 7 blanks
    # with an additional flexible amount of spaces.  At the moment of writing
    # 13 spaces are needed.
    VBOX_RUNNING=$(su $VBOX_USER -c "$VBOXMGR_BIN list --long runningvms" |
      sed -n 's/^Name:[[:blank:]]\{7\} *//p')
    for VBOX in $VBOX_RUNNING; do
      VBOX_NAME[$N]="$VBOX"
      VBOX_USER[$N]="$VBOX_USER"
      N=$(($N+1)) 
    done
  done

  VBOXES=${#VBOX_NAME[*]}

  if [[ $VBOXES -eq 0 ]]; then
    echo -n "$SERVICE: no virtual machines running."
    rc_status -s -r
  else
    N=1
    while [[ $N -le $VBOXES ]]; do
      # The long sed line changes the output from:
      #    running (since 2010-04-25T14:51:57.373000000)
      # to:
      #    running (since 2010-04-25 14:51:57)
      #
      STATE=$(su ${VBOX_USER[$N]} -c "$VBOXMGR_BIN showvminfo 
"${VBOX_NAME[$N]}"" |
        sed -n 's/State: *//p' |
        sed 
's/\([0-9][0-9]\)\.[0-9]\{9\}/\1/;s/\([0-9][0-9]\)T\([0-9][0-9]\)/\1 \2/')
      printf " %-56s %s" "${VBOX_NAME[$N]} (user: ${VBOX_USER[$N]}):" "$STATE"
      rc_status -v
      N=$(($N+1))
    done
  fi
}

case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  restart|force-reload)
        stop
        start
        ;;
  status)
        status
        ;;
  *)
        echo "Usage: $PRG {start|stop|restart|force-reload|status}" >&2
        exit 3
        ;;
esac

++++++ virtualbox-wrapper.sh ++++++
#!/bin/bash
export QT_NO_KDE_INTEGRATION=1
/usr/bin/id -nG | grep -v -e "root" -e "vboxusers" >/dev/null && 
/usr/lib/virtualbox/VBoxPermissionMessage && exit
LD_LIBRARY_PATH="/usr/lib/virtualbox${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" 
/usr/lib/virtualbox/VirtualBox $@

Reply via email to