Hello community,
here is the log from the commit of package virtualbox.5948 for openSUSE:13.1:Update checked in at 2016-12-06 09:24:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.1:Update/virtualbox.5948 (Old)
and /work/SRC/openSUSE:13.1:Update/.virtualbox.5948.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "virtualbox.5948"
Changes:
--------
New Changes file:
--- /dev/null 2016-10-27 01:54:32.792041256 +0200
+++ /work/SRC/openSUSE:13.1:Update/.virtualbox.5948.new/virtualbox.changes 2016-12-06 09:24:47.000000000 +0100
@@ -0,0 +1,3254 @@
+-------------------------------------------------------------------
+Thu Nov 12 18:11:24 UTC 2015 - Larry.Finger@lwfinger.net
+
+- Version bump tp 4.2.36 (released 2015-11-11 by Oracle)
+
+ several fixes - Oracle is not more specific
+
+-------------------------------------------------------------------
+Mon Oct 26 05:58:08 UTC 2015 - Larry.Finger@lwfinger.net
+
+- Version bump to 4.2.34 (released 2015-10-20 by Oracle, bsc#951432(CVE-2015-4813 and CVE-2015-4896)
+
+This is a maintenance release. The following items were fixed and/or added:
+
+ several fixes
+ Linux hosts: Linux 4.2 fix
+ Linux hosts: Linux 4.3 compile fixes
+ Windows hosts: hardening fixes
+ Linux Additions: Linux 4.2 fixes (bug #14227)
+
+-------------------------------------------------------------------
+Wed Sep 30 16:19:24 UTC 2015 - Larry.Finger@lwfinger.net
+
+- Remove extranious "%fillup_and_insserv -f -y vboxadd-service" in the %post
+ scriptlet call. Reported by Wolfgang Baur in Comment #13 of boo#936254.
+
+-------------------------------------------------------------------
+Mon Sep 28 15:28:45 UTC 2015 - Larry.Finger@lwfinger.net
+
+- Fix placement of scriptlet call for vboxadd-service. As noted in Comment #10 at
+ boo#936254, one of the calls was scheduled for the main package rather
+ than virtualbox-guest-tools.
+
+-------------------------------------------------------------------
+Thu Sep 17 17:00:15 UTC 2015 - Larry.Finger@lwfinger.net
+
+- Add missing creation of the vboxsf group which is necessary for
+ automount of shared folders to work.
+
+-------------------------------------------------------------------
+Sat Sep 5 19:01:09 UTC 2015 - Larry.Finger@lwfinger.net
+
+- Changes made by Wed May 6 20:35:29 UTC 2015 - tchvatal@suse.com
+ should be in this version as well.
+- Create groups properly and also create vboxsf and vboxguest on
+ guest additions bnc#927708
+
+-------------------------------------------------------------------
+Thu Sep 3 21:43:16 UTC 2015 - Larry.Finger@lwfinger.net
+
+- Wolfgang Baur submitted a number of improvements to the Factory
+ version of VirtualBox. This commit ports those changes to openSUSE 13.1.
+- Install and enable the vboxadd-service init script, to make auto-mounting of shared
+ folders and time synchronization work
+- Install VBoxService to /usr/sbin/ instead of /usr/bin/ so that vboxadd-service can
+ find it, it cannot be run as user anyway
+- Fixes boo#908669 and boo#936254
+
+-------------------------------------------------------------------
+Sun Aug 9 03:41:44 UTC 2015 - Larry.Finger@lwfinger.net
+
+- Version bump to 4.2.32 bnc#938408 CVE-2015-2594
+ * Storage: fixed a crash when taking snapshots (4.2.30 regression)
+ * ExtPack: don't fail if the TMP directory contains non-latin1 characters (bug #14159)
+ * Main: implemented dedicated event processing queue
+ * Linux hosts: fixed a bug which made the netfilter driver ignore certain events (bug #12264)
+
+-------------------------------------------------------------------
+Wed Jun 24 12:17:57 UTC 2015 - tchvatal@suse.com
+
+- Version bump to 4.2.30 bnc#935900 CVE-2015-3456:
+ * Various small fixes here and there
+- Fix the multiinstall on kernel modules to avoid conflicts bnc#925663
+- Drop smap.diff fails to apply to the latest release
+
+-------------------------------------------------------------------
+Wed May 20 13:41:27 UTC 2015 - mpluskal@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 - tchvatal@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 - mgorse@suse.com
+
+- added vbox-shared-folder.diff to fix shared folders (bnc#841673).
+
+-------------------------------------------------------------------
+Wed Sep 25 11:35:04 UTC 2013 - wbauer@tmo.at
+
+- install udev rules and VBoxCreateUSBNode.sh to the correct
+ directories (bnc#799741)
+
+-------------------------------------------------------------------
+Sun Sep 15 06:14:34 UTC 2013 - mseben@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 - mseben@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 - mseben@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 - sndirsch@suse.com
+
+- install 1.14 vboxvideo driver on openSUSE 13.1 (bnc#826326)
+
+-------------------------------------------------------------------
+Sun Jun 30 11:20:39 UTC 2013 - mseben@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)
++++ 3057 more lines (skipped)
++++ between /dev/null
++++ and /work/SRC/openSUSE:13.1:Update/.virtualbox.5948.new/virtualbox.changes
New:
----
UserManual.pdf
VirtualBox-4.2.36-patched.tar.bz2
_constraints
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-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 ++++++
++++ 882 lines (skipped)
++++++ 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
+#include
+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-script...
#
# 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 $@