Hello community,

here is the log from the commit of package virtualbox.3791 for 
openSUSE:13.1:Update checked in at 2015-05-28 09:42:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.1:Update/virtualbox.3791 (Old)
 and      /work/SRC/openSUSE:13.1:Update/.virtualbox.3791.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "virtualbox.3791"

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

--- /dev/null   2015-05-15 19:41:08.266053825 +0200
+++ /work/SRC/openSUSE:13.1:Update/.virtualbox.3791.new/virtualbox.changes      
2015-05-28 09:42:47.000000000 +0200
@@ -0,0 +1,3184 @@
+-------------------------------------------------------------------
+Wed May 20 13:41:27 UTC 2015 - mplus...@suse.com
+
+- Fix for boo#931461
+  smap.diff
+- Provide host-kmp src for use with custom kernels (bnc#925663)
+
+-------------------------------------------------------------------
+Wed Jan 28 10:39:07 UTC 2015 - tchva...@suse.com
+
+- Version bump to 4.2.28 (bnc#914447):
+  * CVE-2014-0224 CVE-2015-0377 CVE-2014-6595 CVE-2014-6588 CVE-2014-6589
+  * CVE-2014-6590 CVE-2015-0427 CVE-2015-0418
+  * For the full changelog please read 
https://www.virtualbox.org/wiki/Changelog-4.2
+  * VMM: fixed a potential misbehavior after restoring the A20 state from a 
saved
+    state
+  * VRDP: fixed a rare crash when using remote audio input
+  * Floppy: fixed read errors and guest memory corruption when running under
+    control of QEMM
+  * Storage: fixed data corruption when resizing VHD images under certain
+    circumstances
+  * NAT: fixed handling of the RFC 1533 DHCP PAD option
+  * X11 hosts: Made the extra key on Brazilian Thinkpads work (bug #8745)
+  * X11 hosts: fixed a problem of input focus cycles and immediately released 
key
+    presses in full screen mode (bug #13238)
+  * Linux guests: fix a crash in gnome-session (bug #13335)
+  * Linux Additions: fixed a potential use-after-free when unloading the 
VBoxGuest
+    module
+  * Linux Additions: Linux 3.19 fixes (#13741)
+  * X11 Additions: support X.Org Server 1.15 (bug #12623)
+  * X11 guests: Add support for X.Org Server 1.16 (bug #13207)
+  * X11 guests: fixed a wrong parameter in the video driver which caused 
problems
+    with full-screen X11 clients (bug #2748)
+  * X11 guests: fix a bug handling video driver display properties which 
prevented
+    GNOME Shell on Fedora 21 from starting
+- Refreshed patches:
+  * vbox-fpie.diff
+  * vbox-no-build-dates.diff
+- Obsoleted patches:
+  * vbox-shared-folder.diff
+
+-------------------------------------------------------------------
+Thu Oct 24 23:34:41 UTC 2013 - mgo...@suse.com
+
+- added vbox-shared-folder.diff to fix shared folders (bnc#841673). 
+
+-------------------------------------------------------------------
+Wed Sep 25 11:35:04 UTC 2013 - wba...@tmo.at
+
+- install udev rules and VBoxCreateUSBNode.sh to the correct
+  directories (bnc#799741)
+
+-------------------------------------------------------------------
+Sun Sep 15 06:14:34 UTC 2013 - mse...@gmail.com
+
+- deprecated vbox-linux-3.11.diff
+- updated to virtualbox 4.2.18
+ * VMM: properly handle NMIs on Linux hosts with X2APIC enabled
+ * VMM: fixed potential crashes with 64-bit guests on 32-bit hosts (bug #11979)
+ * GUI / seamless: properly handle mouse wheel scroll events
+ * GUI, VBoxManage: when unregistering a VM, also unregister the hard disk 
images which are used exclusively (bug #10311)
+ * GUI: prevent crashes under certain conditions on X11 hosts
+ * 3D: multiscreen fixes (incorrect mouse position, flickers)
+ * 3D Support: several fixes for the Windows WDDM video driver (multiscreen, 
seamless)
+ * Snapshots: made live snapshots work again (bug #9255)
+ * Teleportation: made it work again (bug #9455)
+ * VBoxManage: on snapshot take, --pause is default and --live is for doing 
live snapshots
+ * VBoxSVC: don't crash on systems with many VLAN interfaces (Solaris hosts 
only)
+ * Network: after the host resumes from suspend, disconnect and reconnect the 
virtual network cables to force renewing the DHCP leases for the guests. So far 
only Mac OS X hosts and Windows hosts (bug #10063).
+ * NAT: on name server changes force a reconnect of the virtual network cable 
to notify the guest (Mac OS X hosts only)
+ * Mac OS X installer: keep previously installed Extension Packs on VirtualBox 
upgrade
+ * Linux hosts / guests: Linux 3.11 fixes (bug #12001)
+ * Solaris hosts: fixed a potential kernel panic caused due to unexpected 
preemption due to logging.
+ * Windows hosts: fixed an issue with USB2 devices being inaccessible when 
plugged into USB3 ports.
+ * Linux Additions: added PCI device identifier to vboxvideo.ko fixing DRI 
initialization under certain conditions (bug #11957)
+ * Linux Additions: fixed udev detection in the init script with Linux 3.x 
kernels
+
+-------------------------------------------------------------------
+Fri Aug 30 06:50:23 UTC 2013 - mse...@gmail.com
+
+- added vbox-linux-3.11.diff to fix build (upstream patch : 
https://www.virtualbox.org/changeset/47588/vbox)
+
+-------------------------------------------------------------------
+Wed Jul 24 07:31:24 UTC 2013 - mse...@gmail.com
+
+- updated to virtualbox 4.2.16
+ * OVF/OVA: don't crash on import if no manifest is used (4.2.14 regression; 
bug #11895)
+ * GUI: do not restore the current snapshot if we power-off after a Guru 
Mediation
+ * Storage: fixed a crash when hotplugging an empty DVD drive to the VM
+ * Storage: fixed a crash when a guest read from a DVD drive attached to the 
SATA controller under certain circumstances
+ * EFI: don't fail with 64-bit guests on 32-bit hosts (bug #11456)
+ * Autostart: fixed VM startup on OS X
+ * Windows hosts: native Windows 8 controls
+ * Windows hosts: restore native style on Vista 32
+ * Windows hosts / guests: Windows 8.1 adaptions (bug #11899)
+
+-------------------------------------------------------------------
+Tue Jul  2 14:53:38 UTC 2013 - sndir...@suse.com
+
+- install 1.14 vboxvideo driver on openSUSE 13.1 (bnc#826326)
+
+-------------------------------------------------------------------
+Sun Jun 30 11:20:39 UTC 2013 - mse...@gmail.com
+
+- updated to virtualbox 4.2.14
+ * VMM: another TLB invalidation fix for non-present pages
+ * VMM: fixed a performance regression (4.2.8 regression; bug #11674)
+ * GUI: fixed a crash on shutdown
+ * GUI: prevent stuck keys under certain conditions on Windows hosts (bugs 
#2613, #6171)
+ * VRDP: fixed a rare crash on the guest screen resize
+ * VRDP: allow to change VRDP parameters (including enabling/disabling the 
server) if the VM is paused
+ * USB: fixed passing through devices on Mac OS X host to a VM with 2 or more 
virtual CPUs (bug #7462)
+ * USB: fixed hang during isochronous transfer with certain devices (4.1 
regression; Windows hosts only; bug #11839)
+ * USB: properly handle orphaned URBs (bug #11207)
+ * BIOS: fixed function for returning the PCI interrupt routing table (fixes 
NetWare 6.x guests)
+ * BIOS: don't use the ENTER / LEAVE instructions in the BIOS as these don't 
work in the real mode as set up by certain guests (e.g. Plan 9 and QNX 4)
+ * DMI: allow to configure DmiChassisType (bug #11832)
+ * Storage: fixed lost writes if iSCSI is used with snapshots and asynchronous 
I/O (bug #11479)
+ * Storage: fixed accessing certain VHDX images created by Windows 8 (bug 
#11502)
+ * Storage: fixed hang when creating a snapshot using Parallels disk images 
(bug #9617)
+ * 3D: seamless + 3D fixes (bug #11723)
+ * 3D: version 4.2.12 was not able to read saved states of older versions 
under certain conditions (bug #11718)
+ * Main/Properties: don't create a guest property for non-running VMs if the 
property does not exist and is about to be removed (bug #11765)
+ * Main/Properties: don't forget to make new guest properties persistent after 
the VM was terminated (bug #11719)
+ * Main/Display: don't lose seamless regions during screen resize
+ * Main/OVF: don't crash during import if the client forgot to call 
Appliance::interpret() (bug #10845)
+ * Main/OVF: don't create invalid appliances by stripping the file name if the 
VM name is very long (bug #11814)
+ * Main/OVF: don't fail if the appliance contains multiple file references 
(bug #10689)
+ * Main/Metrics: fixed Solaris file descriptor leak
+ * Settings: limit depth of snapshot tree to 250 levels, as more will lead to 
decreased performance and may trigger crashes
+ * VBoxManage: fixed setting the parent UUID on diff images using 
sethdparentuuid
+ * Linux hosts: work around for not crashing as a result of automatic NUMA 
balancing which was introduced in Linux 3.8 (bug #11610)
+ * Windows installer: force the installation of the public certificate in 
background (i.e. completely prevent user interaction) if the --silent command 
line option is specified
+ * Windows Additions: fixed problems with partial install in the unattended 
case
+ * Windows Additions: fixed display glitch with the Start button in seamless 
mode for some themes
+ * Windows Additions: Seamless mode and auto-resize fixes
+ * Windows Additions: fixed trying to to retrieve new auto-logon credentials 
if current ones were not processed yet
+ * Windows Additions installer: added the /with_wddm switch to select the 
experimental WDDM driver by default
+ * Linux Additions: fixed setting own timed out and aborted texts in 
information label of the lightdm greeter
+ * Linux Additions: fixed compilation against Linux 3.2.0 Ubuntu kernels 
(4.2.12 regression as a side effect of the Debian kernel build fix; bug #11709)
+ * X11 Additions: reduced the CPU load of VBoxClient in drag'and'drop mode
+ * OS/2 Additions: made the mouse wheel work (bug #6793)
+ * Guest Additions: fixed problems copying and pasting between two guests on 
an X11 host (bug #11792)  
+
+-------------------------------------------------------------------
+Fri May  3 19:41:51 UTC 2013 - mse...@gmail.com
+
+- updated to virtualbox 4.2.12
+ * VMM: fixed a Guru Meditation on putting Linux guest CPU online if nested 
paging is disabled
+ * VMM: invalidate TLB entries even for non-present pages
+ * GUI: Multi-screen support: fixed a crash on visual-mode change
+ * GUI: Multi-screen support: disabled guest-screens should now remain 
disabled on visual-mode change
+ * GUI: Multi-screen support: handle host/guest screen plugging/unplugging in 
different visual-modes
+ * GUI: Multi-screen support: seamless mode: fixed a bug when empty seamless 
screens were represented by fullscreen windows
+ * GUI: Multi-screen support: each machine window in multi-screen 
configuration should have correct menu-bar now (Mac OS X hosts)
+ * GUI: Multi-screen support: machine window View menu should have correct 
content in seamless/fullscreen mode now (Mac OS X hosts)
+ * GUI: VM manager: vertical scroll-bars should be now updated on 
content/window resize
+ * GUI: VM settings: fixed crash on machine state-change event
+ * GUI: don't show warnings about enabled or disabled mouse integration if the 
VM was restored from a saved state
+ * Virtio-net: properly announce that the guest has to handle partial TCP 
checksums (bug #9380)
+ * Storage: Fixed incorrect alignment of VDI images causing disk size changes 
when using snapshots (bug #11597)
+ * Audio: fixed broken ALSA & PulseAudio on some Linux hosts due to invalid 
symbol resolution (bug #11615)
+ * PS/2 keyboard: re-apply keyboard repeat delay and rate after a VM was 
restored from a saved state (bug #10933)
+ * BIOS: updated DMI processor information table (type 4): corrected L1 & L2 
cache table handles
+ * Timekeeping: fix several issues which can lead to incorrect time, Solaris 
guests sporadically showed time going briefly back to Jan 1 1970
+ * Main/Metrics: disk metrics are collected properly when software RAID, 
symbolic links or rootfs are used on Linux hosts
+ * VBoxManage: don't stay paused after a snapshot was created and the VM was 
running before
+ * VBoxManage: introduced controlvm nicpromisc (bug #11423)
+ * VBoxManage: don't crash on controlvm guestmemoryballoon if the VM isn't 
running (bug #11639)
+ * VBoxHeadless: don't filter guest property events as this would affect all 
clients (bug #11644)
+ * Guest control: prevent double CR in the output generated by guest commands 
and do NLS conversion
+ * Linux hosts / guests: fixed build errors on Linux 3.5 and newer kernels if 
the CONFIG_UIDGID_STRICT_TYPE_CHECKS config option is enabled (bug #11664)
+ * Linux Additions: handle fall-back to VESA driver on RedHat-based guests if 
vboxvideo cannot be loaded
+ * Linux Additions: RHEL/OEL/CentOS 6.4 compile fix (bug #11586)
+ * Linux Additions: Debian Linux kernel 3.2.0-4 (3.2.39) compile fix (bug 
#11634)
+ * Linux Additions: added auto-logon support for Linux guests using LightDM as 
the display manager
+ * Windows Additions: Support for multimonitor. Dynamic enable/disable of 
secondary virtual monitors. Support for XPDM/WDDM based guests
+ * X11 Additions: support X.Org Server 1.14 (bug #11609) 
+
+-------------------------------------------------------------------
+Fri Apr 26 08:10:58 UTC 2013 - fcro...@suse.com
+
+- Move udev rules to /usr/lib/udev/rules.d for openSUSE 12.3 (and
+  later) and to /lib/udev/rules.d for older distributions.
+
+-------------------------------------------------------------------
+Fri Apr 19 14:56:41 UTC 2013 - co...@suse.com
+
+- it fails without alsa-devel installed, so buildrequire it (somehow
+  no longer dropped in)
+
+-------------------------------------------------------------------
+Mon Apr  8 07:47:34 UTC 2013 - co...@suse.com
+
+- add a _constraints file to avoid random failures on small workers
+
+-------------------------------------------------------------------
++++ 2987 more lines (skipped)
++++ between /dev/null
++++ and /work/SRC/openSUSE:13.1:Update/.virtualbox.3791.new/virtualbox.changes

New:
----
  VirtualBox-4.2.28-patched.tar.bz2
  _constraints
  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-ret-in-nonvoid-fnc.diff
  vbox-smc-napa.diff
  vbox-vboxadd-init-script.diff
  vbox-vboxdrv-init-script.diff
  vbox-vboxweb-init-script.diff
  virtualbox-4.2.18-UserManual.pdf
  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-sysconfig.vbox
  virtualbox-vboxes
  virtualbox-wrapper.sh
  virtualbox.changes
  virtualbox.spec

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

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

++++++ smap.diff ++++++
Index: VirtualBox-4.2.28/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c
===================================================================
--- VirtualBox-4.2.28.orig/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c
+++ VirtualBox-4.2.28/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c
@@ -48,6 +48,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
@@ -546,6 +552,7 @@ static int VBoxDrvLinuxIOCtl(struct inod
 #endif
 {
     PSUPDRVSESSION pSession = (PSUPDRVSESSION)pFilp->private_data;
+    int rc;
 
     /*
      * Deal with the two high-speed IOCtl that takes it's arguments from
@@ -556,12 +563,16 @@ static int VBoxDrvLinuxIOCtl(struct inod
                       || uCmd == SUP_IOCTL_FAST_DO_HWACC_RUN
                       || uCmd == SUP_IOCTL_FAST_DO_NOP)
                   && pSession->fUnrestricted == true))
-        return supdrvIOCtlFast(uCmd, ulArg, &g_DevExt, pSession);
+       {
+               stac();
+               rc = supdrvIOCtlFast(uCmd, ulArg, &g_DevExt, pSession);
+               clac();
+               return rc;
+       }
     return VBoxDrvLinuxIOCtlSlow(pFilp, uCmd, ulArg, pSession);
 
 #else   /* !HAVE_UNLOCKED_IOCTL */
 
-    int rc;
     unlock_kernel();
     if (RT_LIKELY(   (   uCmd == SUP_IOCTL_FAST_DO_RAW_RUN
                       || uCmd == SUP_IOCTL_FAST_DO_HWACC_RUN
@@ -639,7 +650,9 @@ static int VBoxDrvLinuxIOCtlSlow(struct
     /*
      * Process the IOCtl.
      */
+    stac();
     rc = supdrvIOCtl(uCmd, &g_DevExt, pSession, pHdr, cbBuf);
+    clac();
 
     /*
      * Copy ioctl data and output buffer back to user space.
++++++ vbox-default-os-type.diff ++++++
Index: src/VBox/Frontends/VirtualBox/src/widgets/UINameAndSystemEditor.cpp
===================================================================
--- src/VBox/Frontends/VirtualBox/src/widgets/UINameAndSystemEditor.cpp.orig
+++ src/VBox/Frontends/VirtualBox/src/widgets/UINameAndSystemEditor.cpp
@@ -198,14 +198,14 @@ void UINameAndSystemEditor::sltFamilyCha
     {
         int iIndexWinXP = m_pTypeCombo->findData("WindowsXP", TypeID);
         if (iIndexWinXP != -1)
             m_pTypeCombo->setCurrentIndex(iIndexWinXP);
     }
-    /* Or select Ubuntu item for Linux family as default: */
+    /* Or select OpenSUSE item for Linux family as default: */
     else if (strFamilyId == "Linux")
     {
-        int iIndexUbuntu = m_pTypeCombo->findData("Ubuntu", TypeID);
+        int iIndexUbuntu = m_pTypeCombo->findData("OpenSUSE", TypeID);
         if (iIndexUbuntu != -1)
             m_pTypeCombo->setCurrentIndex(iIndexUbuntu);
     }
     /* Else simply select the first one present: */
     else m_pTypeCombo->setCurrentIndex(0);
++++++ vbox-deprec-gsoap-service-proxies.diff ++++++
Index: VirtualBox-4.2.10/src/VBox/Main/webservice/Makefile.kmk
===================================================================
--- VirtualBox-4.2.10.orig/src/VBox/Main/webservice/Makefile.kmk
+++ VirtualBox-4.2.10/src/VBox/Main/webservice/Makefile.kmk
@@ -650,7 +650,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 has to be a separate rule if we
++++++ vbox-disable-updates.diff ++++++
Index: 
src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsUpdate.cpp
===================================================================
--- 
src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsUpdate.cpp.orig
+++ src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsUpdate.cpp
@@ -63,7 +63,7 @@ void UIGlobalSettingsUpdate::loadToCache
 void UIGlobalSettingsUpdate::getFromCache()
 {
     /* Apply internal variables data to QWidget(s): */
-    m_pEnableUpdateCheckbox->setChecked(m_cache.m_fCheckEnabled);
+    m_pEnableUpdateCheckbox->setChecked(false);
     if (m_pEnableUpdateCheckbox->isChecked())
     {
         m_pUpdatePeriodCombo->setCurrentIndex(m_cache.m_periodIndex);
Index: src/VBox/Frontends/VirtualBox/src/settings/UISettingsDialogSpecific.cpp
===================================================================
--- src/VBox/Frontends/VirtualBox/src/settings/UISettingsDialogSpecific.cpp.orig
+++ src/VBox/Frontends/VirtualBox/src/settings/UISettingsDialogSpecific.cpp
@@ -342,15 +342,6 @@ UISettingsDialogGlobal::UISettingsDialog
                             iPageIndex, "#input", pSettingsPage);
                     break;
                 }
-                /* Update page: */
-                case GlobalSettingsPageType_Update:
-                {
-                    pSettingsPage = new UIGlobalSettingsUpdate;
-                    addItem(":/refresh_32px.png", 
":/refresh_disabled_32px.png",
-                            ":/refresh_16px.png", 
":/refresh_disabled_16px.png",
-                            iPageIndex, "#update", pSettingsPage);
-                    break;
-                }
                 /* Language page: */
                 case GlobalSettingsPageType_Language:
                 {
@@ -489,9 +480,6 @@ void UISettingsDialogGlobal::retranslate
     /* Input page: */
     m_pSelector->setItemText(GlobalSettingsPageType_Input, tr("Input"));
 
-    /* Update page: */
-    m_pSelector->setItemText(GlobalSettingsPageType_Update, tr("Update"));
-
     /* Language page: */
     m_pSelector->setItemText(GlobalSettingsPageType_Language, tr("Language"));
 
++++++ vbox-fpie.diff ++++++
Index: VirtualBox-4.2.28/Config.kmk
===================================================================
--- VirtualBox-4.2.28.orig/Config.kmk
+++ VirtualBox-4.2.28/Config.kmk
@@ -3751,6 +3751,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)
@@ -3769,8 +3772,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.2.10/src/VBox/Main/webservice/Makefile.kmk
===================================================================
--- VirtualBox-4.2.10.orig/src/VBox/Main/webservice/Makefile.kmk
+++ VirtualBox-4.2.10/src/VBox/Main/webservice/Makefile.kmk
@@ -298,6 +298,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
@@ -443,6 +444,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/VBoxBFE/VBoxBFE.cpp
===================================================================
--- src/VBox/Frontends/VBoxBFE/VBoxBFE.cpp.orig
+++ src/VBox/Frontends/VBoxBFE/VBoxBFE.cpp
@@ -388,7 +388,7 @@ extern "C" DECLEXPORT(int) TrustedMain (
 #endif
     int rc = VINF_SUCCESS;
 
-    RTPrintf(VBOX_PRODUCT " Simple SDL GUI built %s %s\n", __DATE__, __TIME__);
+    RTPrintf(VBOX_PRODUCT " Simple SDL GUI\n");
 
     // less than one parameter is not possible
     if (argc < 2)
@@ -1051,10 +1051,9 @@ DECLCALLBACK(int) VMPowerUpThread(RTTHRE
             char szNowUct[64];
             RTTimeSpecToString(RTTimeNow(&TimeSpec), szNowUct, 
sizeof(szNowUct));
             RTLogRelLogger(pLogger, 0, ~0U,
-                           "VBoxBFE %s (%s %s) release log\n"
+                           "VBoxBFE %s release log\n"
                            "Log opened %s\n",
-                           VBOX_VERSION_STRING, __DATE__, __TIME__,
-                           szNowUct);
+                           VBOX_VERSION_STRING, szNowUct);
 
             /* register this logger as the release logger */
             RTLogRelSetDefaultInstance(pLogger);
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
@@ -1033,7 +1033,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/Additions/common/VBoxService/VBoxService.cpp
===================================================================
--- src/VBox/Additions/common/VBoxService/VBoxService.cpp.orig
+++ src/VBox/Additions/common/VBoxService/VBoxService.cpp
@@ -158,10 +158,10 @@ static void VBoxServiceLogHeaderFooter(P
         case RTLOGPHASE_BEGIN:
         {
             pfnLog(pLoggerRelease,
-                   "VBoxService %s r%s (verbosity: %d) %s (%s %s) release 
log\n"
+                   "VBoxService %s r%s (verbosity: %d) %s (%s %s) release 
log\n"
                    "Log opened %s\n",
                    RTBldCfgVersion(), RTBldCfgRevisionStr(), g_cVerbosity, 
VBOX_BUILD_TARGET,
-                   __DATE__, __TIME__, szTmp);
+                   "openSUSE","Buildservice",szTmp);
 
             int vrc = RTSystemQueryOSInfo(RTSYSOSINFO_PRODUCT, szTmp, 
sizeof(szTmp));
             if (RT_SUCCESS(vrc) || vrc == VERR_BUFFER_OVERFLOW)
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
@@ -151,7 +151,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
@@ -240,7 +240,7 @@ static void vboxHeaderFooter(PRTLOGGER p
 #endif
                    "Log opened %s\n",
                    g_pszLogEntity, VBOX_VERSION_STRING, RTBldCfgRevision(),
-                   RTBldCfgTargetDotArch(), __DATE__, __TIME__, szTmp);
+                   RTBldCfgTargetDotArch(), "openSUSE", "Buildservice", szTmp);
 
             int vrc = RTSystemQueryOSInfo(RTSYSOSINFO_PRODUCT, szTmp, 
sizeof(szTmp));
             if (RT_SUCCESS(vrc) || vrc == VERR_BUFFER_OVERFLOW)
++++++ vbox-permissions_warning.diff ++++++
Index: VirtualBox-4.2.6/src/apps/Makefile.kmk
===================================================================
--- VirtualBox-4.2.6.orig/src/apps/Makefile.kmk
+++ VirtualBox-4.2.6/src/apps/Makefile.kmk
@@ -39,5 +39,7 @@ ifdef VBOX_WITH_DEVMAPPER
  endif
 endif
 
+include $(PATH_SUB_CURRENT)/VBoxPermissionMessage/Makefile.kmk
+
 include $(FILE_KBUILD_SUB_FOOTER)
 
Index: VirtualBox-4.2.6/src/apps/VBoxPermissionMessage/Makefile.kmk
===================================================================
--- /dev/null
+++ VirtualBox-4.2.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.2.6/src/apps/VBoxPermissionMessage/VBoxPermissionMessage.cpp
===================================================================
--- /dev/null
+++ VirtualBox-4.2.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 ++++++
--- VirtualBox-4.0.2_OSE.orig/src/libs/xpcom18a4/python/gen_python_deps.py      
2011-01-14 20:15:09.000000000 +0000
+++ VirtualBox-4.0.2_OSE/src/libs/xpcom18a4/python/gen_python_deps.py   
2011-02-07 05:36:42.427567000 +0000
@@ -68,7 +68,7 @@
     else:
         multi = 1
 
-    if multi == 0:
+    if not multi:
         prefixes = ["/usr"]
         versions = [str(sys.version_info[0])+'.'+str(sys.version_info[1])]
 
@@ -86,22 +86,23 @@
     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-ret-in-nonvoid-fnc.diff ++++++
Index: VirtualBox-3.1.4_OSE/src/VBox/Devices/PC/Etherboot-src/core/nic.c
===================================================================
--- VirtualBox-3.1.4_OSE.orig/src/VBox/Devices/PC/Etherboot-src/core/nic.c
+++ VirtualBox-3.1.4_OSE/src/VBox/Devices/PC/Etherboot-src/core/nic.c
@@ -478,6 +478,7 @@ int eth_load(struct dev *dev __unused)
        }
        interruptible_sleep(2);         /* lay off the server for a while */
        longjmp(restart_etherboot, -1);
+       return 0;
 }
 
 
Index: VirtualBox-3.1.4_OSE/src/VBox/Devices/PC/Etherboot-src/core/osloader.c
===================================================================
--- VirtualBox-3.1.4_OSE.orig/src/VBox/Devices/PC/Etherboot-src/core/osloader.c
+++ VirtualBox-3.1.4_OSE/src/VBox/Devices/PC/Etherboot-src/core/osloader.c
@@ -81,6 +81,7 @@ dead_download - Restart etherboot if pro
 **************************************************************************/
 static sector_t dead_download ( unsigned char *data __unused, unsigned int len 
__unused, int eof __unused) {
         longjmp(restart_etherboot, -2);
+               return 0;
 }
 
 #ifdef IMAGE_MULTIBOOT
++++++ vbox-smc-napa.diff ++++++
Index: VirtualBox-4.0.0_OSE/src/VBox/Devices/PC/vbox.dsl
===================================================================
--- VirtualBox-4.0.0_OSE.orig/src/VBox/Devices/PC/vbox.dsl
+++ VirtualBox-4.0.0_OSE/src/VBox/Devices/PC/vbox.dsl
@@ -778,7 +778,7 @@ DefinitionBlock ("DSDT.aml", "DSDT", 1,
                 Device (SMC)
                 {
                     Name (_HID, EisaId ("APP0001"))
-                    Name (_CID, "smc-napa")
+                    Name (_CID, "smcnapa")
 
                     Method (_STA, 0, NotSerialized)
                     {
++++++ vbox-vboxadd-init-script.diff ++++++
Index: src/VBox/Additions/linux/installer/vboxadd.sh
===================================================================
--- src/VBox/Additions/linux/installer/vboxadd.sh.orig
+++ src/VBox/Additions/linux/installer/vboxadd.sh
@@ -21,11 +21,12 @@
 #
 ### BEGIN INIT INFO
 # Provides:       vboxadd
-# Required-Start:
-# Required-Stop:
-# Default-Start:  2 3 4 5
+# Required-Start: $remote_fs
+# Required-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
@@ -255,12 +256,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
@@ -271,12 +266,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
 }
@@ -284,6 +273,13 @@ do_vboxguest_non_udev()
 start()
 {
     begin "Starting the VirtualBox Guest Additions ";
+
+    if [ -x /usr/bin/systemd-detect-virt  ]; then
+      if [ "x$(systemd-detect-virt)" != "xoracle"  ]; then
+          fail "Not running on a virtualbox guest"
+      fi
+    fi
+
     uname -r | grep -q -E '^2\.6|^3' 2>/dev/null &&
         ps -A -o comm | grep -q '/*udevd$' 2>/dev/null ||
         no_udev=1
@@ -491,32 +487,8 @@ 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
-
-    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
++++++ 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
@@ -193,13 +194,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
@@ -297,70 +291,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-4.1.8_OSE/src/VBox/Installer/linux/vboxweb-service.sh.in
===================================================================
--- VirtualBox-4.1.8_OSE.orig/src/VBox/Installer/linux/vboxweb-service.sh.in
+++ VirtualBox-4.1.8_OSE/src/VBox/Installer/linux/vboxweb-service.sh.in
@@ -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"
++++++ virtualbox-60-vboxdrv.rules ++++++
KERNEL=="vboxdrv", NAME="vboxdrv", OWNER="root", GROUP="root", MODE="0600"
#these lines below give access permission to vboxusers to properly work with 
usb nodes, but enabling them could be security risk (bnc#664520) !!
#SUBSYSTEM=="usb_device", ACTION=="add", RUN+="VBoxCreateUSBNode.sh $major 
$minor $attr{bDeviceClass} vboxusers"
#SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", 
RUN+="VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass} vboxusers"
#SUBSYSTEM=="usb_device", ACTION=="remove", RUN+="VBoxCreateUSBNode.sh --remove 
$major $minor"
#SUBSYSTEM=="usb", ACTION=="remove", ENV{DEVTYPE}=="usb_device", 
RUN+="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/updates
/lib/modules/%2-%1/updates/vboxsf.ko
/lib/modules/%2-%1/updates/vboxvideo.ko
/lib/modules/%2-%1/updates/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-ose-host-kmp
++++++ virtualbox-host-kmp-files ++++++
%defattr (-,root,root)
%dir /lib/modules/%2-%1/
%dir /lib/modules/%2-%1/updates
/lib/modules/%2-%1/updates/vboxdrv.ko
/lib/modules/%2-%1/updates/vboxnetadp.ko
/lib/modules/%2-%1/updates/vboxnetflt.ko
/lib/modules/%2-%1/updates/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-ose-guest-kmp
++++++ 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-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-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