Hello community, here is the log from the commit of package virtualbox.3962 for openSUSE:13.2:Update checked in at 2015-08-18 09:56:09 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:13.2:Update/virtualbox.3962 (Old) and /work/SRC/openSUSE:13.2:Update/.virtualbox.3962.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "virtualbox.3962" Changes: -------- New Changes file: --- /dev/null 2015-07-22 21:25:44.928025004 +0200 +++ /work/SRC/openSUSE:13.2:Update/.virtualbox.3962.new/virtualbox.changes 2015-08-18 09:56:13.000000000 +0200 @@ -0,0 +1,3787 @@ +------------------------------------------------------------------- +Sun Aug 9 01:13:19 UTC 2015 - [email protected] + +- Version bump to 4.2.30 bnc#938408 CVE-2015-2594: + VMM: fixed a hang under rare conditions on 32-bit hosts + VMM: fixed a bug while diagnosing VERR_VMX_INVALID_GUEST_STATE Gurus Meditations (VT-x only) + GUI: allow to save the VM state from the selector even if the VM is already paused + API: OS type description consistency fix (bug #14162) + API: fixed incorrect resuming of VMs on host-resume unless they were previously paused due to a host-suspend + API: fixed several bugs when cloning a VM having a saved state + NAT: fixed several potential crashes + Netsniffer: properly handle changing of the trace file name at VM runtime + USB: some improvements for passing through audio devices (headsets etc) + Audio: fixed audio output and input when changing the default audio device more than once on OS X + Audio: fixed audio input on OS X under certain circumstances + VRDP: fixed a couple of races which may cause a crash during VM poweroff + ExtPack: don't fail if the TMP directory contains non-latin1 characters (bug #14159) + SDK: fixed a memory leak in the Java bindings (bug #13647) + Linux hosts: fixed a bug which made the netfilter driver ignore certain events (bug #12264) + Mac OS X hosts: fixed a bug which might trigger a host kernel panic if a VM is started and another hypervisor is active + Mac OS X hosts: several El-Capitan fixes + X11 Additions: fixed wrong DPI value with certain guests (4.3.28 regression; bug #14151) + Solaris Additions: added quiesce support to co-operate with Solaris' fast-reboot feature +- Two gcc5 support patches are no longer needed + * removed: gcc5-support.patch + * removed: gcc51-support.patch + +------------------------------------------------------------------- +Fri Jun 12 10:33:55 UTC 2015 - [email protected] + +- Enable building of for all supported kernel flavours + * exclude also pv flavour + +------------------------------------------------------------------- +Tue Jun 9 11:36:42 UTC 2015 - [email protected] + +- Disable multiversion_kernel support, taken from nvidia driver spec, + should fix bnc#925663. + +------------------------------------------------------------------- +Wed May 27 10:22:22 UTC 2015 - [email protected] + +- initial gcc5 support (it builds at least) + * added: gcc5-support.patch (upstream) + * added: gcc51-support.patch (upstream) + * added: gcc5-real-support.patch + +------------------------------------------------------------------- +Tue May 19 15:09:12 UTC 2015 - [email protected] + +- Add smap.diff (boo#931461) + +------------------------------------------------------------------- +Fri May 15 07:49:31 UTC 2015 - [email protected] + +- Version bump to 4.3.28 bnc#935900 CVE-2015-3456: + * VMM: fixed a Guru Meditation when rebooting certain guests (for example Solaris + doing fast reboot) by fixing the implementation for INIT IPI + * VMM: added some information for diagnosing rare VERR_VMX_INVALID_VMXON_PTR Guru + Meditations (VT-x only) + * GUI: HID LEDs sync: prevent synchronization if VM window has no focus (Windows + and Mac OS X hosts only) + * GUI: fixed drag and drop moving the cursor between guest screens on certain + hosts + * 3D: fixed a crash on restoring the VM state on X11 hosts (bug #12737) + * 3D: fixed a crash on Linux guest shutdown (bug #12772) + * VRDP: fixed incompatibility with rdesktop 1.8.3 + * VRDP: fixed listening for IPv6 on some systems (bug #14038) + * Storage: don't crash if creating an asynchronous I/O context fails (e.g. when + starting many VMs) and show a proper error message + * Floppy: several fixes + * Audio: improved the behavior of the volume control for the HD audio device + emulation + * USB: increase the number of supported drivers from 3 to 5 (Windows hosts only) + * PS/2 keyboard: synchronize the LED state on VM restore (Windows and Mac OS X + hosts only) + * NAT Network: when running multiple NAT networks with multiple VMs, only stop + the respective services when stopping VMs (bug #14090) + * NAT: don't kill UDP bindings on ICMP errors (bug #13475) + * NAT: bandwidth limit now works properly with NAT (bug #11485) + * BIOS: fixed the returned size value of the VBE 2.0 PMI function 0Ah (4.2.0 + regression; bug #14096) + * Guest Control: fixed parameter quoting in Windows guests (bug #13157) + * Webcam passthrough improvements for Linux (V4L2) hosts to support more webcam + models + * API: don't fail starting a VM with VBOX_E_INVALID_OBJECT_STATE under certain + conditions (bug #13617) + * API: be more verbose on VBOX_E_INVALID_OBJECT_STATE if a medium is attached to + a running VM (bug #13560) + * API: fixed a bug which could result in losing certain screen resize events with + multi-monitor guests + * rdesktop-vrdp: fixed path to the keymaps (bug #12066) + * rdesktop-vrdp: switch to version 1.8.3 + * Windows hosts: more hardening fixes (e.g. bugs #14051, #14052) + * Linux hosts: another fix for activated SMAP on Linux 3.19 and newer (Broadwell + and later; bug #13961) + * Linux hosts: Linux 4.1 compile fix (bug #14081) + * Solaris hosts: fixed using of VNIC templates with Crossbow based bridged + networking to be compatible with vanity interface names + * Mac OS X hosts: fixed crash during VM termination under rare circumstances + * Windows Additions/WDDM: improved video memory utilization and allow more/bigger + guest screens with large resolutions (including HiDPI) + * X11 Additions: prevent flickering when updating mouse cursor + * Solaris Additions: fixed incorrect usage of 'prtconf' while installing Guest + Additions (Solaris 10 only) +- Refresh patch: + * vbox-vboxadd-init-script.diff + +------------------------------------------------------------------- +Sun May 10 10:47:58 UTC 2015 - [email protected] + +- Provide host-kmp src for use with custom kernels (bnc#925663) + +------------------------------------------------------------------- +Wed May 6 20:35:29 UTC 2015 - [email protected] + +- Create groups properly and also create vboxsf and vboxguest on + guest additions bnc#927708 + +------------------------------------------------------------------- +Wed May 6 16:52:56 UTC 2015 - [email protected] + +- Build with system libs for X instead of localy built ones. + This should fix bnc#929697 +- Adds patch: + * virtualbox-system-x.patch + +------------------------------------------------------------------- +Wed May 6 15:51:43 UTC 2015 - [email protected] + +- Split kmk call to multiple lines + +------------------------------------------------------------------- +Wed May 6 15:40:52 UTC 2015 - [email protected] + +- Reorder alignment of buildroot for various install commands so it + does not look so fuzzy + +------------------------------------------------------------------- +Mon Apr 20 11:10:16 UTC 2015 - [email protected] + +- Allow access to vboxdrv to vboxusers group members bnc#927525 + +------------------------------------------------------------------- +Mon Mar 23 10:04:55 UTC 2015 - [email protected] + +- Version bump to 2.3.26: + * GUI: in the snapshots pane, protect the age of snapshots against wrong host + time (bug #13955) + * NAT Network: fixed a bug which prevented to propagate any DNS name server / + domain / search string information to the NAT network (4.3.24 regression; bugs + #13915, #13918) + * NAT Network: don't delay the shutdown of VBoxSVC on Windows hosts + * Mouse support: the mouse could not be moved under rare conditions if no Guest + * Additions are installed (4.3.24 regression; bug #13935) + * Storage: if the guest ejects a virtual CD/DVD medium, make the change permanent + (bugs #9858, #12885) + * VGA: made saving secondary screen sizes possible in X11 guests + * SDK: fixed the VirtualBox.tlb file (4.3.20 regression; bug #13943) + rdesktop-vrdp: make it work with USB devices again (4.3.14 regression; bug + #13901) + * USB: fixed a possible BSOD on Windows hosts under rare conditions + * iPXE: enable the HTTP download protocol on non-Linux hosts (bug #13628) + * Mac OS X hosts: don't panic on hosts with activated SMAP (Broadwell and later; + bug #13951) + * Linux hosts: don't crash Linux 4.0 hosts (bug #13835) + +------------------------------------------------------------------- +Wed Mar 4 11:41:54 UTC 2015 - [email protected] + +- Version bump to 2.3.24: + * VMM: emulation fix for the ENTER instruction under certain conditions; fixes + Solaris 10 guests (VT-x without unrestricted guest execution) + * VMM: fix for handling NMIs on Linux hosts with X2APIC enabled + * NAT/NAT Network: fix connection drops when the host's DHCP lease was renewed + (4.3.22 regression; Windows hosts only; bug #13839) + * NAT: don't crash on an empty domain list when switching the DNS host + configuration (4.3.22 regression; Mac OS X hosts only; bug #13874) + * PXE: re-enable it on Windows hosts (4.3.22 regression; Windows hosts only; bug + #13842) + * Shared Folders: fixed a problem with Windows guests (4.3.22 regression; bug + #13786) + * Audio: improved record quality when using the DirectSound audio backend + * VBoxManage: when executing the controlvm command take care that the + corresponding VM runtime changes are saved permanently (bug #13892) + * Windows Installer: properly install the 32-bit version of VBoxRes.dll on 32-bit + hosts (bug #13876) + * Linux hosts / guests: Linux 4.0 fixes (bug #13835) + * OS/2 Additions: fixed mouse integration (4.3.22 regression; bug #13825) + * X11 Additions: fixed a sporadic failure to deactivate virtual screens (bug + #13845) +- Use smp_mflags when building kernel modules + +------------------------------------------------------------------- +Thu Feb 26 18:13:18 UTC 2015 - [email protected] + +- Install vboxvideo_drv_117.so on Factory ++++ 3590 more lines (skipped) ++++ between /dev/null ++++ and /work/SRC/openSUSE:13.2:Update/.virtualbox.3962.new/virtualbox.changes New: ---- UserManual.pdf VirtualBox-4.3.30-patched.tar.bz2 _constraints _service gcc5-real-support.patch smap.diff vbox-default-os-type.diff vbox-deprec-gsoap-service-proxies.diff vbox-disable-updates.diff vbox-fpie.diff vbox-gsoapssl-deps.diff vbox-no-build-dates.diff vbox-permissions_warning.diff vbox-python-detection.diff vbox-smc-napa.diff vbox-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-system-x.patch virtualbox-vboxes virtualbox-wrapper.sh virtualbox.changes virtualbox.spec ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ virtualbox.spec ++++++ ++++ 804 lines (skipped) ++++++ _service ++++++ <services> <service name="refresh_patches" mode="disabled"> <param name="changesgenerate">enable</param> </service> </services> ++++++ gcc5-real-support.patch ++++++ --- Config.kmk | 2 +- configure | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) --- a/Config.kmk +++ b/Config.kmk @@ -2292,7 +2292,7 @@ else # The reason for this hack is that the windows kmk_ash cannot deal with $((1+1)). # Some versions of gcc (e.g. openSUSE11) return only major.minor on `gcc -dumpversion`. VBOX_GCC_VERSION = $(shell \ - $(1) -dumpversion | $(SED_EXT) 's|\([0-9]\)\.\([0-9]\)\.\{0,1\}\([0-9]\{0,1\}\).*|$$(int-add $$(int-mul 10000, \1), $$(int-mul 100, \2), $$(firstword \3 0))|' ) + $(1) -dumpversion | $(SED_EXT) 's|\([0-9]\)\.\{0,1\}\([0-9]\{0,1\}\)\.\{0,1\}\([0-9]\{0,1\}\).*|$$(int-add $$(int-mul 10000, \1), $$(int-mul 100, $$(firstword \2 0)), $$(firstword \3 0))|' ) endif # Find MinGW cross compilers for EFI on non-windows systems. We need to probe --- a/configure +++ b/configure @@ -409,8 +409,13 @@ check_gcc() log_failure "cannot execute '$CXX -dumpversion'" fail really fi - cc_maj=`echo $cc_ver|cut -d. -f1` - cc_min=`echo $cc_ver|cut -d. -f2` + if echo $cc_ver | grep -q '\.'; then + cc_maj=`echo $cc_ver|cut -d. -f1` + cc_min=`echo $cc_ver|cut -d. -f2` + else + cc_maj=$cc_ver + cc_min=0 + fi if [ "x$cc_ver" != "x$cxx_ver" ]; then log_failure "gcc version $cc_ver does not match g++ version $cxx_ver" fail really ++++++ smap.diff ++++++ Index: VirtualBox-4.3.28/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c =================================================================== --- VirtualBox-4.3.28.orig/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c +++ VirtualBox-4.3.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 ++++++ vbox-default-os-type.diff ++++++ --- a/src/VBox/Frontends/VirtualBox/src/widgets/UINameAndSystemEditor.cpp 2014-02-25 18:08:58.000000000 +0100 +++ b/src/VBox/Frontends/VirtualBox/src/widgets/UINameAndSystemEditor.cpp 2014-03-03 15:18:07.298245235 +0100 @@ -203,15 +203,15 @@ if (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") { - QString strDefaultID = "Ubuntu"; + QString strDefaultID = "openSUSE"; if (ARCH_BITS == 64 && m_fSupportsHWVirtEx && m_fSupportsLongMode) strDefaultID += "_64"; - int iIndexUbuntu = m_pTypeCombo->findData(strDefaultID, TypeID); - if (iIndexUbuntu != -1) - m_pTypeCombo->setCurrentIndex(iIndexUbuntu); + int iIndexopenSUSE = m_pTypeCombo->findData(strDefaultID, TypeID); + if (iIndexopenSUSE != -1) + m_pTypeCombo->setCurrentIndex(iIndexopenSUSE); } /* Else simply select the first one present: */ else m_pTypeCombo->setCurrentIndex(0); ++++++ vbox-deprec-gsoap-service-proxies.diff ++++++ diff -Pdpru VirtualBox-4.3.18.orig/src/VBox/Main/webservice/Makefile.kmk VirtualBox-4.3.18/src/VBox/Main/webservice/Makefile.kmk --- VirtualBox-4.3.18.orig/src/VBox/Main/webservice/Makefile.kmk 2014-10-11 14:07:33.000000000 +0200 +++ VirtualBox-4.3.18/src/VBox/Main/webservice/Makefile.kmk 2014-10-13 17:10:53.689539003 +0200 @@ -683,7 +683,7 @@ $(VBOXWEB_OUT_DIR)/gsoap_generate_all_ts : $(VBOXWEB_GSOAPH_FROM_GSOAP) $(VBOXWEB_GSOAPH_FROM_XSLT) $(VBOX_NSMAP) $(RECOMPILE_ON_MAKEFILE_CURRENT) | $$(dir $$@) $(call MSG_GENERATE,,lots of files,$(GSOAPH_RELEVANT)) $(RM) -f $@ - $(REDIRECT) -C $(VBOXWEB_OUT_DIR) -- $(VBOX_SOAPCPP2) $(VBOXWEB_SOAPCPP2_SKIP_FILES) -L -2 -w -I$(VBOX_PATH_GSOAP_IMPORT) $(GSOAPH_RELEVANT) + $(REDIRECT) -C $(VBOXWEB_OUT_DIR) -- $(VBOX_SOAPCPP2) $(VBOXWEB_SOAPCPP2_SKIP_FILES) -z1 -L -2 -w -I$(VBOX_PATH_GSOAP_IMPORT) $(GSOAPH_RELEVANT) $(APPEND) $@ done # Copy the generated headers and stuff. This was split into a separate rule ++++++ vbox-disable-updates.diff ++++++ 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 @@ -62,7 +62,7 @@ void UIGlobalSettingsUpdate::loadToCache void UIGlobalSettingsUpdate::getFromCache() { /* Apply internal variables data to QWidget(s): */ - m_pCheckBoxUpdate->setChecked(m_cache.m_fCheckEnabled); + m_pCheckBoxUpdate->setChecked(false); if (m_pCheckBoxUpdate->isChecked()) { m_pComboBoxUpdatePeriod->setCurrentIndex(m_cache.m_periodIndex); 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 @@ -359,15 +359,6 @@ UISettingsDialogGlobal::UISettingsDialog break; } #ifdef VBOX_GUI_WITH_NETWORK_MANAGER - /* 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; - } #endif /* VBOX_GUI_WITH_NETWORK_MANAGER */ /* Language page: */ case GlobalSettingsPageType_Language: @@ -498,8 +489,6 @@ void UISettingsDialogGlobal::retranslate m_pSelector->setItemText(GlobalSettingsPageType_Input, tr("Input")); #ifdef VBOX_GUI_WITH_NETWORK_MANAGER - /* Update page: */ - m_pSelector->setItemText(GlobalSettingsPageType_Update, tr("Update")); #endif /* VBOX_GUI_WITH_NETWORK_MANAGER */ /* Language page: */ ++++++ vbox-fpie.diff ++++++ Index: VirtualBox-4.3.14/Config.kmk =================================================================== --- VirtualBox-4.3.14.orig/Config.kmk +++ VirtualBox-4.3.14/Config.kmk @@ -3963,6 +3963,9 @@ TEMPLATE_VBOXR3HARDENEDEXE_LDFLAGS.darwi ifeq ($(KBUILD_TARGET),linux) # not necessary except USE_LIB_PCAP is defined in SUPR3HardenedMain.cpp # TEMPLATE_VBOXR3HARDENEDEXE_LIBS += cap + TEMPLATE_VBOXR3HARDENEDEXE_CXXFLAGS.linux = $(TEMPLATE_VBOXR3EXE_CXXFLAGS.linux) -fPIE + TEMPLATE_VBOXR3HARDENEDEXE_CFLAGS.linux = $(TEMPLATE_VBOXR3EXE_CFLAGS.linux) -fPIE + TEMPLATE_VBOXR3HARDENEDEXE_LDFLAGS.linux = $(TEMPLATE_VBOXR3EXE_LDFLAGS.linux) -pie endif ifeq ($(KBUILD_TARGET),win) # No CRT! TEMPLATE_VBOXR3HARDENEDEXE_SDKS = VBOX_NTDLL $(TEMPLATE_VBOXR3EXE_SDKS) @@ -3981,8 +3984,8 @@ ifeq ($(KBUILD_TARGET),win) # No CRT! TEMPLATE_VBOXR3HARDENEDEXE_LIBS.x86 = $(NOT_SUCH_VARIABLE) TEMPLATE_VBOXR3HARDENEDEXE_LIBS.amd64 = $(NOT_SUCH_VARIABLE) else ifn1of ($(KBUILD_TARGET), os2) - TEMPLATE_VBOXR3HARDENEDEXE_LDFLAGS = $(filter-out '$(VBOX_GCC_RPATH_OPT)%,$(TEMPLATE_VBOXR3EXE_LDFLAGS)) - TEMPLATE_VBOXR3HARDENEDEXE_LDFLAGS.linux = $(filter-out $(VBOX_GCC_ORIGIN_OPT),$(TEMPLATE_VBOXR3EXE_LDFLAGS.linux)) + TEMPLATE_VBOXR3HARDENEDEXE_LDFLAGS = $(filter-out '$(VBOX_GCC_RPATH_OPT)%,$(TEMPLATE_VBOXR3EXE_LDFLAGS)) -pie + TEMPLATE_VBOXR3HARDENEDEXE_LDFLAGS.linux = $(filter-out $(VBOX_GCC_ORIGIN_OPT),$(TEMPLATE_VBOXR3EXE_LDFLAGS.linux)) -pie endif # ++++++ vbox-gsoapssl-deps.diff ++++++ Index: VirtualBox-4.3.6/src/VBox/Main/webservice/Makefile.kmk =================================================================== --- VirtualBox-4.3.6.orig/src/VBox/Main/webservice/Makefile.kmk +++ VirtualBox-4.3.6/src/VBox/Main/webservice/Makefile.kmk @@ -303,6 +303,7 @@ endif vboxwebsrv_LIBS += \ $(PATH_STAGE_LIB)/vboxsoap$(VBOX_SUFF_LIB) \ $(VBOX_GSOAP_CXX_LIBS) \ + ssl crypto z \ $(LIB_RUNTIME) vboxwebsrv_LIBS.solaris += socket nsl ifdef VBOX_WITH_WEBSERVICES_SSL @@ -480,6 +481,7 @@ $$(VBOX_JWSSRC_JAR): $$(VBOX_JWS_JAR) | webtest_LIBS += \ $(PATH_STAGE_LIB)/vboxsoap$(VBOX_SUFF_LIB) \ $(VBOX_GSOAP_CXX_LIBS) \ + ssl crypto z \ $(LIB_RUNTIME) webtest_LIBS.solaris += nsl ifdef VBOX_WITH_WEBSERVICES_SSL ++++++ vbox-no-build-dates.diff ++++++ Index: src/VBox/Frontends/VBoxFB/VBoxFB.cpp =================================================================== --- src/VBox/Frontends/VBoxFB/VBoxFB.cpp.orig +++ src/VBox/Frontends/VBoxFB/VBoxFB.cpp @@ -62,7 +62,7 @@ int main(int argc, char *argv[]) printf("VirtualBox DirectFB GUI built %s %s\n" "(C) 2004-" VBOX_C_YEAR " " VBOX_VENDOR "\n" - "(C) 2004-2005 secunet Security Networks AG\n", __DATE__, __TIME__); + "(C) 2004-2005 secunet Security Networks AG\n"); for (;;) { Index: src/VBox/Runtime/common/string/uniread.cpp =================================================================== --- src/VBox/Runtime/common/string/uniread.cpp.orig +++ src/VBox/Runtime/common/string/uniread.cpp @@ -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 @@ -161,10 +161,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 @@ -159,7 +159,7 @@ void set_mode(uint8_t mode); #define BX_PCIBIOS 1 #define BX_APPNAME "VirtualBox" -#define BIOS_BUILD_DATE __DATE__ +#define BIOS_BUILD_DATE "openSUSE Buildservice" //-------------------------------------------------------------------------- // print_bios_banner // displays a the bios version Index: src/VBox/Main/glue/com.cpp =================================================================== --- src/VBox/Main/glue/com.cpp.orig +++ src/VBox/Main/glue/com.cpp @@ -294,7 +294,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); pfnLog(pReleaseLogger, "Build Type: %s\n", KBUILD_TYPE); int vrc = RTSystemQueryOSInfo(RTSYSOSINFO_PRODUCT, szTmp, sizeof(szTmp)); ++++++ vbox-permissions_warning.diff ++++++ Index: VirtualBox-4.3.6/src/apps/Makefile.kmk =================================================================== --- VirtualBox-4.3.6.orig/src/apps/Makefile.kmk +++ VirtualBox-4.3.6/src/apps/Makefile.kmk @@ -34,5 +34,7 @@ if1of ($(KBUILD_TARGET),darwin solaris l endif endif +include $(PATH_SUB_CURRENT)/VBoxPermissionMessage/Makefile.kmk + include $(FILE_KBUILD_SUB_FOOTER) Index: VirtualBox-4.3.6/src/apps/VBoxPermissionMessage/Makefile.kmk =================================================================== --- /dev/null +++ VirtualBox-4.3.6/src/apps/VBoxPermissionMessage/Makefile.kmk @@ -0,0 +1,31 @@ +# $Id: Makefile.kmk 28800 2010-04-27 08:22:32Z vboxsync $ +## @file +# +# VBoxPermissionMessage is wrapper for suse users +# +# +# Copyright (C) 2009 Oracle Corporation +# +# This file is part of VirtualBox Open Source Edition (OSE), as +# available from http://www.virtualbox.org. This file is free software; +# you can redistribute it and/or modify it under the terms of the GNU +# General Public License (GPL) as published by the Free Software +# Foundation, in version 2 as it comes in the "COPYING" file of the +# VirtualBox OSE distribution. VirtualBox OSE is distributed in the +# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. +# + + +SUB_DEPTH = ../../.. +include $(KBUILD_PATH)/subheader.kmk + +PROGRAMS += VBoxPermissionMessage + +VBoxPermissionMessage_TEMPLATE = VBOXQT4GUIEXE +VBoxPermissionMessage_SOURCES = VBoxPermissionMessage.cpp +VBoxPermissionMessage_QT_MODULES = Core Gui + +#INSTALLS += VBoxPermissionMessage + +include $(KBUILD_PATH)/subfooter.kmk + Index: VirtualBox-4.3.6/src/apps/VBoxPermissionMessage/VBoxPermissionMessage.cpp =================================================================== --- /dev/null +++ VirtualBox-4.3.6/src/apps/VBoxPermissionMessage/VBoxPermissionMessage.cpp @@ -0,0 +1,12 @@ +#include <QtGui/QApplication> +#include <QtGui/QMessageBox> +int main(int argc, char *argv[]) +{ + QApplication app(argc, argv); + QMessageBox msgBox; + msgBox.setWindowTitle(QObject::tr("Permissions problem !")); + msgBox.setText(QObject::tr("You are not a member of the \"vboxusers\" group. Please add yourself to this group before starting VirtualBox. You could do it using: Yast / Security and Users / User and Group management. Don't forget re-login your user account!")); + int ret = msgBox.exec(); + app.quit(); + return 0; +} \ No newline at end of file ++++++ vbox-python-detection.diff ++++++ Index: VirtualBox-4.3.6/src/libs/xpcom18a4/python/gen_python_deps.py =================================================================== --- VirtualBox-4.3.6.orig/src/libs/xpcom18a4/python/gen_python_deps.py +++ VirtualBox-4.3.6/src/libs/xpcom18a4/python/gen_python_deps.py @@ -71,7 +71,7 @@ def main(argv): else: multi = 1 - if multi == 0: + if not multi: prefixes = ["/usr"] versions = [str(sys.version_info[0])+'.'+str(sys.version_info[1])] @@ -92,22 +92,23 @@ def main(argv): for v in versions: for p in prefixes: c = checkPair(p, v, dllpre, dllsuff, bitness_magic) - if c is not None: + if c: known[v] = c break - keys = known.keys() - # we want default to be the lowest versioned Python - keys.sort() - d = None # We need separator other than newline, to sneak through $(shell) sep = "|" - for k in keys: - if d is None: - d = k - vers = k.replace('.', '') - print_vars(vers, known[k], sep, bitness_magic) - if d is not None: - print_vars("DEF", known[d], sep, bitness_magic) + + if not known: + # this type of problem should be detected in configure + # print_vars("DEF", defaultpaths, sep, bitness_magic) + pass + if multi: + for ver, paths in known.items(): + print_vars(ver.replace('.', ''), paths, sep, bitness_magic) + else: + ver = versions[0] + paths = known[ver] + print_vars(ver.replace('.', ''), paths, sep, bitness_magic) if __name__ == '__main__': main(sys.argv) ++++++ vbox-smc-napa.diff ++++++ Index: VirtualBox-4.3.6/src/VBox/Devices/PC/vbox.dsl =================================================================== --- VirtualBox-4.3.6.orig/src/VBox/Devices/PC/vbox.dsl +++ VirtualBox-4.3.6/src/VBox/Devices/PC/vbox.dsl @@ -848,7 +848,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 @@ -257,12 +258,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 @@ -273,12 +268,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 } @@ -286,6 +275,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|^4' 2>/dev/null && ps -A -o comm | grep -q '/*udevd$' 2>/dev/null || no_udev=1 @@ -493,32 +489,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 @@ -191,13 +192,6 @@ start() fi fi # ensure permissions - if ! chown :%GROUP% $DEVICE 2>/dev/null; then - rmmod vboxpci 2>/dev/null - rmmod vboxnetadp 2>/dev/null - rmmod vboxnetflt 2>/dev/null - rmmod vboxdrv 2>/dev/null - failure "Cannot change group %GROUP% for device $DEVICE" - fi if ! $MODPROBE vboxnetflt > /dev/null 2>&1; then failure "modprobe vboxnetflt failed. Please use 'dmesg' to find out why" fi @@ -295,70 +289,8 @@ stop_vms() # setup_script setup() { - stop - DKMS=`which dkms 2>/dev/null` - if [ -n "$DKMS" ]; then - begin_msg "Uninstalling old VirtualBox DKMS kernel modules" - $DODKMS uninstall vboxhost vboxdrv vboxnetflt vboxnetadp > $LOG - succ_msg - fi - if find /lib/modules/`uname -r` -name "vboxpci\.*" 2>/dev/null|grep -q vboxpci; then - begin_msg "Removing old VirtualBox pci kernel module" - find /lib/modules/`uname -r` -name "vboxpci\.*" 2>/dev/null|xargs rm -f 2>/dev/null - succ_msg - fi - if find /lib/modules/`uname -r` -name "vboxnetadp\.*" 2>/dev/null|grep -q vboxnetadp; then - begin_msg "Removing old VirtualBox netadp kernel module" - find /lib/modules/`uname -r` -name "vboxnetadp\.*" 2>/dev/null|xargs rm -f 2>/dev/null - succ_msg - fi - if find /lib/modules/`uname -r` -name "vboxnetflt\.*" 2>/dev/null|grep -q vboxnetflt; then - begin_msg "Removing old VirtualBox netflt kernel module" - find /lib/modules/`uname -r` -name "vboxnetflt\.*" 2>/dev/null|xargs rm -f 2>/dev/null - succ_msg - fi - if find /lib/modules/`uname -r` -name "vboxdrv\.*" 2>/dev/null|grep -q vboxdrv; then - begin_msg "Removing old VirtualBox kernel module" - find /lib/modules/`uname -r` -name "vboxdrv\.*" 2>/dev/null|xargs rm -f 2>/dev/null - succ_msg - fi - if [ -n "$DKMS" ]; then - begin_msg "Trying to register the VirtualBox kernel modules using DKMS" - if ! $DODKMS install vboxhost $VERSION >> $LOG; then - fail_msg "Failed, trying without DKMS" - DKMS="" - fi - fi - if [ -z "$DKMS" ]; then - begin_msg "Recompiling VirtualBox kernel modules" - if ! $BUILDINTMP \ - --save-module-symvers /tmp/vboxdrv-Module.symvers \ - --module-source "$MODULE_SRC/vboxdrv" \ - --no-print-directory install >> $LOG 2>&1; then - failure "Look at $LOG to find out what went wrong" - fi - if ! $BUILDINTMP \ - --use-module-symvers /tmp/vboxdrv-Module.symvers \ - --module-source "$MODULE_SRC/vboxnetflt" \ - --no-print-directory install >> $LOG 2>&1; then - failure "Look at $LOG to find out what went wrong" - fi - if ! $BUILDINTMP \ - --use-module-symvers /tmp/vboxdrv-Module.symvers \ - --module-source "$MODULE_SRC/vboxnetadp" \ - --no-print-directory install >> $LOG 2>&1; then - failure "Look at $LOG to find out what went wrong" - fi - if ! $BUILDINTMP \ - --use-module-symvers /tmp/vboxdrv-Module.symvers \ - --module-source "$MODULE_SRC/vboxpci" \ - --no-print-directory install >> $LOG 2>&1; then - failure "Look at $LOG to find out what went wrong" - fi - fi - rm -f /etc/vbox/module_not_compiled + begin_msg "Recompiling VirtualBox kernel module, NOT. It has been packaged." succ_msg - start } dmnstatus() ++++++ vbox-vboxweb-init-script.diff ++++++ Index: VirtualBox-4.1.8_OSE/src/VBox/Installer/linux/vboxweb-service.sh =================================================================== --- VirtualBox-4.1.8_OSE.orig/src/VBox/Installer/linux/vboxweb-service.sh +++ VirtualBox-4.1.8_OSE/src/VBox/Installer/linux/vboxweb-service.sh @@ -20,7 +20,7 @@ # Provides: vboxweb-service # Required-Start: vboxdrv # Required-Stop: vboxdrv -# Default-Start: 2 3 4 5 +# Default-Start: 2 3 5 # Default-Stop: 0 1 6 # Description: VirtualBox web service API ### END INIT INFO @@ -50,7 +50,7 @@ if [ -f /etc/redhat-release ]; then PIDFILE="/var/lock/subsys/vboxweb-service" elif [ -f /etc/SuSE-release ]; then system=suse - PIDFILE="/var/lock/subsys/vboxweb-service" + PIDFILE="/var/run/vboxweb-service" elif [ -f /etc/debian_version ]; then system=debian PIDFILE="/var/run/vboxweb-service" ++++++ virtualbox-60-vboxdrv.rules ++++++ KERNEL=="vboxdrv", NAME="vboxdrv", OWNER="root", GROUP="vboxusers", MODE="0660" # #these lines below give access permission to vboxusers to properly work with usb nodes, but enabling them could be security risk (bnc#664520) !! #if you can live with this security problem put these lines below in to the new file /etc/udev/rules.d/60-vboxdrv.rules so they will stay enabled also after package update #SUBSYSTEM=="usb_device", ACTION=="add", RUN+="/usr/lib/udev/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass} vboxusers" #SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", RUN+="/usr/lib/udev/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass} vboxusers" #SUBSYSTEM=="usb_device", ACTION=="remove", RUN+="/usr/lib/udev/VBoxCreateUSBNode.sh --remove $major $minor" #SUBSYSTEM=="usb", ACTION=="remove", ENV{DEVTYPE}=="usb_device", RUN+="/usr/lib/udev/VBoxCreateUSBNode.sh --remove $major $minor" ++++++ virtualbox-60-vboxguest.rules ++++++ KERNEL=="vboxguest", NAME="vboxguest", OWNER="root", MODE="0660" ENV{ID_INPUT}="1", ENV{ID_INPUT_MOUSE}="1" KERNEL=="vboxuser", NAME="vboxuser", OWNER="root", GROUP="users", MODE="0660" ++++++ virtualbox-default.virtualbox ++++++ # /etc/default/virtualbox # # ------------------------------------------------------------------------------------------------- # In the "SHUTDOWN_USERS" list all users for which a check for runnings VMs should be done during # shutdown of "vboxdrv" resp. the server: # SHUTDOWN_USERS="foo bar" # # Set "SHUTDOWN" to one of "poweroff", "acpibutton" or "savestate" depending on which of the # shutdown methods for running VMs are wanted: # SHUTDOWN="poweroff" # SHUTDOWN="acpibutton" # SHUTDOWN="savestate" # ------------------------------------------------------------------------------------------------- # #SHUTDOWN_USERS="foo bar" #SHUTDOWN="savestate" ++++++ virtualbox-guest-kmp-files ++++++ %defattr (-,root,root) %dir /lib/modules/%2-%1/ %dir /lib/modules/%2-%1/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-system-x.patch ++++++ Description: Build the X.Org driver only for the selected system X Server version. Author: Michael Meskes <[email protected]>, Felix Geyer <[email protected]> Index: virtualbox/src/VBox/Additions/common/VBoxGuestLib/Makefile.kmk =================================================================== --- virtualbox.orig/src/VBox/Additions/common/VBoxGuestLib/Makefile.kmk 2013-11-19 04:35:17.181627034 -0500 +++ virtualbox/src/VBox/Additions/common/VBoxGuestLib/Makefile.kmk 2013-11-19 04:36:33.913630598 -0500 @@ -40,8 +40,6 @@ VBoxGuestR3LibShared ifndef VBOX_ONLY_TESTSUITE if1of ($(KBUILD_TARGET), freebsd linux netbsd openbsd) - LIBRARIES += \ - VBoxGuestR3LibXFree86 endif if1of ($(KBUILD_TARGET), freebsd linux netbsd openbsd solaris) LIBRARIES += \ Index: virtualbox/src/VBox/Additions/common/crOpenGL/Makefile.kmk =================================================================== --- virtualbox.orig/src/VBox/Additions/common/crOpenGL/Makefile.kmk 2013-11-19 04:35:17.181627034 -0500 +++ virtualbox/src/VBox/Additions/common/crOpenGL/Makefile.kmk 2013-11-19 04:35:17.181627034 -0500 @@ -74,18 +74,12 @@ VBoxOGL_INCS = . if1of ($(KBUILD_TARGET), linux solaris freebsd) VBoxOGL_INCS += \ - $(VBOX_PATH_X11_ROOT)/libXdamage-1.1 \ - $(VBOX_PATH_X11_ROOT)/libXcomposite-0.4.0 \ - $(VBOX_PATH_X11_ROOT)/libXext-1.3.1 \ - $(VBOX_PATH_X11_ROOT)/libXfixes-4.0.3 \ - $(VBOX_PATH_X11_ROOT)/damageproto-1.1.0 \ - $(VBOX_PATH_X11_ROOT)/compositeproto-0.4 \ - $(VBOX_PATH_X11_ROOT)/fixesproto-4.0 \ - $(VBOX_PATH_X11_ROOT)/libx11-1.1.5-other \ - $(VBOX_PATH_X11_ROOT)/xextproto-7.1.1 \ - $(VBOX_PATH_X11_ROOT)/xproto-7.0.18 \ + /usr/include/x11 \ + /usr/include/xorg \ + /usr/include/pixman-1 \ $(VBOX_MESA_INCS) \ - $(PATH_ROOT)/src/VBox/Additions/x11/x11include/libdrm-2.4.13 + /usr/include/drm \ + /usr/include/libdrm VBoxOGL_DEFS += VBOX_NO_NATIVEGL endif @@ -215,10 +209,10 @@ $(PATH_STAGE_LIB)/additions/VBoxOGLspuload$(VBOX_SUFF_LIB) if1of ($(KBUILD_TARGET), linux solaris freebsd) VBoxOGL_LIBS += \ - $(PATH_STAGE_LIB)/libXcomposite.so \ - $(PATH_STAGE_LIB)/libXdamage.so \ - $(PATH_STAGE_LIB)/libXfixes.so \ - $(PATH_STAGE_LIB)/libXext.so + Xcomposite \ + Xdamage \ + Xfixes \ + Xext ifdef VBoxOGL_FAKEDRI ifeq ($(KBUILD_TARGET), freebsd) VBoxOGL_LIBS += \ ++++++ 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 $@
