rpms/VirtualBox-OSE/F-10 VirtualBox-OSE-1.6.4-desktop.patch, NONE, 1.1 VirtualBox-OSE-2.0.2-setup.patch, NONE, 1.1 VirtualBox-OSE-2.1.0-32bit.patch, NONE, 1.1 VirtualBox-OSE-2.1.0-icons.patch, NONE, 1.1 VirtualBox-OSE-2.1.2-gcc44.patch, NONE, 1.1 VirtualBox-OSE-2.1.4-libcap.patch, NONE, 1.1 VirtualBox-OSE-2.1.4-swab.patch, NONE, 1.1 VirtualBox-OSE-90-vboxdrv.rules, NONE, 1.1 VirtualBox-OSE-guest.modules, NONE, 1.1 VirtualBox-OSE.desktop, NONE, 1.1 VirtualBox-OSE.modules, NONE, 1.1 VirtualBox-OSE.spec, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2

Lubomir Rintel lkundrak at rpmfusion.org
Tue Apr 21 08:26:12 CEST 2009


Author: lkundrak

Update of /cvs/free/rpms/VirtualBox-OSE/F-10
In directory se02.es.rpmfusion.net:/tmp/cvs-serv2902/F-10

Modified Files:
	.cvsignore sources 
Added Files:
	VirtualBox-OSE-1.6.4-desktop.patch 
	VirtualBox-OSE-2.0.2-setup.patch 
	VirtualBox-OSE-2.1.0-32bit.patch 
	VirtualBox-OSE-2.1.0-icons.patch 
	VirtualBox-OSE-2.1.2-gcc44.patch 
	VirtualBox-OSE-2.1.4-libcap.patch 
	VirtualBox-OSE-2.1.4-swab.patch 
	VirtualBox-OSE-90-vboxdrv.rules VirtualBox-OSE-guest.modules 
	VirtualBox-OSE.desktop VirtualBox-OSE.modules 
	VirtualBox-OSE.spec 
Log Message:
Import VirtualBox-OSE

VirtualBox-OSE-1.6.4-desktop.patch:

--- NEW FILE VirtualBox-OSE-1.6.4-desktop.patch ---
This makes the Desktop Entry compliant with the Specification
and corrects the name eliminating possibly unlicensed use of trademark
and confision with differently licensed commercial product.

Lubomir Rintel <lkundrak at v3.sk>

--- VirtualBox-1.6.4/src/VBox/Installer/linux/VirtualBox.desktop.desktop	2008-09-02 18:56:23.000000000 +0200
+++ VirtualBox-1.6.4/src/VBox/Installer/linux/VirtualBox.desktop	2008-09-02 18:58:57.000000000 +0200
@@ -1,14 +1,13 @@
 [Desktop Entry]
 Encoding=UTF-8
 Version=1.0
-Name=Sun xVM VirtualBox
+Name=VirtualBox OSE
 GenericName=Virtual Machine
 Type=Application
 Exec=VirtualBox
 TryExec=VirtualBox
-DocPath=file://$VBOX_DOC_PATH/UserManual.pdf
 Icon=VBox
-Categories=Emulator;System;X-MandrivaLinux-System;
+Categories=Emulator;System;
 Comment=Run several virtual systems on a single host computer
 Comment[de]=Windows und andere Betriebssysteme unter Linux ausführen
 Comment[sv]=Kör flera virtuella system på en enda värddator

VirtualBox-OSE-2.0.2-setup.patch:

--- NEW FILE VirtualBox-OSE-2.0.2-setup.patch ---
Replace some strings which ones that (sometimes) make more sense.
Use QT3 version when QT4 is not available (On el5).
Wrap vditool for fixed LD_LIBRARY_PATH.

Lubomir Rintel <lkundrak at v3.sk>

--- VirtualBox-2.0.2/src/VBox/Installer/linux/VBox.sh.setup	2008-09-01 14:23:31.000000000 +0200
+++ VirtualBox-2.0.2/src/VBox/Installer/linux/VBox.sh	2008-09-20 11:01:12.000000000 +0200
@@ -36,19 +36,20 @@
     cat << EOF
 WARNING: The vboxdrv kernel module is not loaded. Either there is no module
          available for the current kernel (`uname -r`) or it failed to
-         load. Please recompile the kernel module and install it by
+         load. Reboot the computer, or insert the kernel module by executing
 
-           sudo /etc/init.d/vboxdrv setup
+           '/sbin/modprobe vboxdrv' (as root)
 
          You will not be able to start VMs until this problem is fixed.
 EOF
 elif [ ! -c /dev/vboxdrv ]; then
     cat << EOF
-WARNING: The character device /dev/vboxdrv does not exist. Try
+WARNING: The character device /dev/vboxdrv does not exist. Try running
 
-           sudo /etc/init.d/vboxdrv restart
+           '/sbin/udevtrigger' (as root)
 
-         and if that is not successful, try to re-install the package.
+         and if that is not successful, then you're in situation that
+         can not possibly happen and there's nothing you can do about it.
 
 	 You will not be able to start VMs until this problem is fixed.
 EOF
@@ -86,7 +87,15 @@
 APP=${APP##/*/}
 case "$APP" in
   VirtualBox)
-    exec "$INSTALL_DIR/VirtualBox" "$@"
+    if [ -e "$INSTALL_DIR/VirtualBox" ]
+    then
+        exec "$INSTALL_DIR/VirtualBox" "$@"
+    else
+        exec "$INSTALL_DIR/VirtualBox3" "$@"
+    fi
+    ;;
+  VirtualBox3)
+    exec "$INSTALL_DIR/VirtualBox3" "$@"
     ;;
   VBoxManage)
     exec "$INSTALL_DIR/VBoxManage" "$@"
@@ -103,6 +112,9 @@
   vboxwebsrv)
     exec "$INSTALL_DIR/vboxwebsrv" "$@"
     ;;
+  vditool)
+    exec "$INSTALL_DIR/vditool" "$@"
+    ;;
   *)
     echo "Unknown application - $APP"
     ;;
--- VirtualBox-2.0.2/src/VBox/VMM/VM.cpp.setup	2008-09-01 14:23:13.000000000 +0200
+++ VirtualBox-2.0.2/src/VBox/VMM/VM.cpp	2008-09-20 10:47:26.000000000 +0200
@@ -258,8 +258,8 @@
 #ifdef RT_OS_LINUX
                     pszError = N_("VirtualBox kernel driver not loaded. The vboxdrv kernel module "
                                   "was either not loaded or /dev/vboxdrv is not set up properly. "
-                                  "Re-setup the kernel module by executing "
-                                  "'/etc/init.d/vboxdrv setup' as root");
+                                  "Reboot the computer, or insert the kernel module by executing "
+                                  "'/sbin/modprobe vboxdrv' as root");
 #else
                     pszError = N_("VirtualBox kernel driver not loaded");
 #endif
@@ -300,8 +300,8 @@
 #ifdef RT_OS_LINUX
                     pszError = N_("VirtualBox kernel driver not installed. The vboxdrv kernel module "
                                   "was either not loaded or /dev/vboxdrv was not created for some "
-                                  "reason. Re-setup the kernel module by executing "
-                                  "'/etc/init.d/vboxdrv setup' as root");
+                                  "reason. Insert the kernel module by executing "
+                                  "'/sbin/modprobe vboxdrv' as root");
 #else
                     pszError = N_("VirtualBox kernel driver not installed");
 #endif

VirtualBox-OSE-2.1.0-32bit.patch:

--- NEW FILE VirtualBox-OSE-2.1.0-32bit.patch ---
Build on x86_64 without 32bit toolchain.
This disables the check for 32bit toolchain and tests that need it (boo).

Lubomir Rintel <lkundrak at v3.sk>

--- VirtualBox-2.1.0/src/VBox/Devices/testcase/Makefile.kmk.32bit	2008-12-15 18:25:25.000000000 +0100
+++ VirtualBox-2.1.0/src/VBox/Devices/testcase/Makefile.kmk	2009-01-11 11:36:52.000000000 +0100
@@ -33,22 +33,28 @@
 # We setup one 'other' target for executing the structure & alignment
 # validation testcases. Perhaps a bit hackish, but extremely useful.
 #
+ifneq ($(KBUILD_HOST_ARCH),amd64)
 ifeq ($(KBUILD_TARGET),$(KBUILD_HOST))
  ifeq ($(filter-out x86.x86 amd64.amd64 x86.amd64, $(KBUILD_TARGET_ARCH).$(KBUILD_HOST_ARCH)),)
   OTHERS += \
 	$(VBOX_DEVICES_TEST_OUT_DIR)/tstDeviceStructSize.run
  endif
 endif
+endif
 
 # The normal testing pass.
+ifneq ($(KBUILD_HOST_ARCH),amd64)
 TESTING += \
 	$(VBOX_DEVICES_TEST_OUT_DIR)/tstDeviceStructSize.run
+endif
 
 
 #
 # The testcase generator.
 #
+ifneq ($(KBUILD_HOST_ARCH),amd64)
 PROGRAMS += tstDeviceStructSizeGC
+endif
 tstDeviceStructSizeGC_TEMPLATE  = VBOXGCEXE
 tstDeviceStructSizeGC_DEFS      =
 ifdef VBOX_WITH_USB
@@ -78,7 +84,9 @@
 #
 # The testcase it self.
 #
+ifneq ($(KBUILD_HOST_ARCH),amd64)
 PROGRAMS += tstDeviceStructSize
+endif
 tstDeviceStructSize_TEMPLATE = VBOXR3AUTOTST
 tstDeviceStructSize_DEFS     =
 ifdef VBOX_WITH_USB
--- VirtualBox-2.1.0/src/VBox/VMM/testcase/Makefile.kmk.32bit	2008-12-13 22:59:41.000000000 +0100
+++ VirtualBox-2.1.0/src/VBox/VMM/testcase/Makefile.kmk	2009-01-11 12:29:14.000000000 +0100
@@ -25,7 +25,10 @@
 #
 # Target lists.
 #
-PROGRAMS   += tstVMStructSize tstVMStructGC tstAsmStructs tstAsmStructsGC tstVMM tstVMM-HwAccm tstGlobalConfig tstInstrEmul
+PROGRAMS   += tstVMM tstVMM-HwAccm tstGlobalConfig tstInstrEmul
+ifneq ($(KBUILD_HOST_ARCH),amd64)
+  PROGRAMS   += tstVMStructSize tstVMStructGC tstAsmStructs tstAsmStructsGC
+endif
 ifneq ($(KBUILD_TARGET),win)
 PROGRAMS   += tstVMMFork
 endif
@@ -51,17 +54,23 @@
 #
 ifeq ($(KBUILD_TARGET),$(KBUILD_HOST))
  ifeq ($(filter-out x86.x86 amd64.amd64 x86.amd64, $(KBUILD_TARGET_ARCH).$(KBUILD_HOST_ARCH)),)
+  ifneq ($(KBUILD_HOST_ARCH),amd64)
   OTHERS += \
 	$(VBOX_VMM_TESTCASE_OUT_DIR)/tstAsmStructs.run \
-	$(VBOX_VMM_TESTCASE_OUT_DIR)/tstVMStructSize.run \
+	$(VBOX_VMM_TESTCASE_OUT_DIR)/tstVMStructSize.run
+  endif
+  OTHERS += \
 	$(VBOX_VMM_TESTCASE_OUT_DIR)/tstInstrEmul.run
  endif
 endif
 
 # The normal testing pass.
+ifneq ($(KBUILD_HOST_ARCH),amd64)
 TESTING += \
 	$(VBOX_VMM_TESTCASE_OUT_DIR)/tstAsmStructs.run \
-	$(VBOX_VMM_TESTCASE_OUT_DIR)/tstVMStructSize.run \
+	$(VBOX_VMM_TESTCASE_OUT_DIR)/tstVMStructSize.run
+endif
+TESTING += \
         $(VBOX_VMM_TESTCASE_OUT_DIR)/tstInstrEmul.run
 
 OTHER_CLEAN += \
--- VirtualBox-2.1.0/configure.32bit	2008-12-17 10:49:00.000000000 +0100
+++ VirtualBox-2.1.0/configure	2009-01-11 11:36:52.000000000 +0100
@@ -2092,7 +2092,7 @@
   fi
   check_libcap
   check_compiler_h
-  [ "$BUILD_MACHINE" = "amd64" ] && check_32bit
+  #[ "$BUILD_MACHINE" = "amd64" ] && check_32bit
 fi
 
 [ -n "$SETUP_WINE" ] && setup_wine

VirtualBox-OSE-2.1.0-icons.patch:

--- NEW FILE VirtualBox-OSE-2.1.0-icons.patch ---
These icons are referred to by the QT3-based frontend, but not
included in the project. SPEC file copies the from QT4 frontend
directory.

Lubomir Rintel <lkundrak at v3.sk>

diff -up VirtualBox-2.1.0/src/VBox/Frontends/VirtualBox/VBoxUI.pro.icons VirtualBox-2.1.0/src/VBox/Frontends/VirtualBox/VBoxUI.pro
--- VirtualBox-2.1.0/src/VBox/Frontends/VirtualBox/VBoxUI.pro.icons	2008-12-30 02:06:39.000000000 +0100
+++ VirtualBox-2.1.0/src/VBox/Frontends/VirtualBox/VBoxUI.pro	2008-12-30 02:08:51.000000000 +0100
@@ -62,40 +62,66 @@ IMAGES	= images/tpixel.png \
 	images/vm_show_logs_disabled_32px.png \
 	images/vm_start_32px.png \
 	images/vm_start_disabled_32px.png \
+	images/os_archlinux_64.png \
 	images/os_archlinux.png \
+	images/os_debian_64.png \
 	images/os_debian.png \
 	images/os_dos.png \
 	images/os_ecs.png \
+	images/os_fedora_64.png \
 	images/os_fedoracore.png \
+	images/os_fedora.png \
+	images/os_freebsd_64.png \
 	images/os_freebsd.png \
+	images/os_gentoo_64.png \
 	images/os_gentoo.png \
 	images/os_l4.png \
 	images/os_linux22.png \
+	images/os_linux24_64.png \
 	images/os_linux24.png \
+	images/os_linux26_64.png \
 	images/os_linux26.png \
+	images/os_linux_other.png \
+	images/os_mandriva_64.png \
 	images/os_mandriva.png \
+	images/os_netbsd_64.png \
 	images/os_netbsd.png \
 	images/os_netware.png \
+	images/os_openbsd_64.png \
 	images/os_openbsd.png \
+	images/os_opensolaris_64.png \
 	images/os_opensolaris.png \
+	images/os_opensuse_64.png \
 	images/os_opensuse.png \
+	images/os_os2ecs.png \
+	images/os_os2_other.png \
 	images/os_os2warp3.png \
-	images/os_os2warp4.png \
 	images/os_os2warp45.png \
+	images/os_os2warp4.png \
+	images/os_other.png \
+	images/os_redhat_64.png \
 	images/os_redhat.png \
+	images/os_solaris_64.png \
 	images/os_solaris.png \
+	images/os_ubuntu_64.png \
 	images/os_ubuntu.png \
 	images/os_unknown.png \
-	images/os_win2k.png \
+	images/os_win2k3_64.png \
 	images/os_win2k3.png \
+	images/os_win2k8_64.png \
 	images/os_win2k8.png \
+	images/os_win2k.png \
 	images/os_win31.png \
 	images/os_win95.png \
 	images/os_win98.png \
 	images/os_winme.png \
 	images/os_winnt4.png \
+	images/os_win_other.png \
+	images/os_winvista_64.png \
 	images/os_winvista.png \
+	images/os_winxp_64.png \
 	images/os_winxp.png \
+	images/os_xandros_64.png \
 	images/os_xandros.png \
 	images/state_aborted_16px.png \
 	images/state_discarding_16px.png \

VirtualBox-OSE-2.1.2-gcc44.patch:

--- NEW FILE VirtualBox-OSE-2.1.2-gcc44.patch ---
Make the beast build with GCC 4.4

Lubomir Rintel <lkundrak at v3.sk>

diff -up VirtualBox-2.1.2_OSE/configure.gcc44 VirtualBox-2.1.2_OSE/configure
--- VirtualBox-2.1.2_OSE/configure.gcc44	2009-03-14 13:47:48.086155215 +0100
+++ VirtualBox-2.1.2_OSE/configure	2009-03-14 13:47:48.099155125 +0100
@@ -372,9 +372,9 @@ check_gcc()
       elif [ $cc_maj -lt 3 \
              -o \( $cc_maj -eq 3 -a $cc_min -lt 2 \) \
              -o \( $cc_maj -eq 4 -a $cc_min -lt 1 -a "$OS" != "darwin" \) \
-             -o \( $cc_maj -eq 4 -a $cc_min -gt 3 \) \
+             -o \( $cc_maj -eq 4 -a $cc_min -gt 4 \) \
              -o $cc_maj -gt 4 ]; then
-        log_failure "gcc version $cc_ver found, expected gcc 3.x with x>1 or gcc 4.x with 0<x<4"
+        log_failure "gcc version $cc_ver found, expected gcc 3.x with x>1 or gcc 4.x with 0<x<5"
         fail really
       else
         log_success "found version $cc_ver"
diff -up VirtualBox-2.1.2_OSE/src/recompiler_new/exec.c.gcc44 VirtualBox-2.1.2_OSE/src/recompiler_new/exec.c
--- VirtualBox-2.1.2_OSE/src/recompiler_new/exec.c.gcc44	2009-03-14 15:32:13.205157315 +0100
+++ VirtualBox-2.1.2_OSE/src/recompiler_new/exec.c	2009-03-14 15:33:13.804150888 +0100
@@ -2751,7 +2751,7 @@ static void notdirty_mem_writeb(void *op
     int dirty_flags;
 #if defined(VBOX)
     ram_addr = addr;
-#elif
+#else
     ram_addr = addr - (unsigned long)phys_ram_base;
 #endif
 #ifdef VBOX
diff -up VirtualBox-2.1.2_OSE/src/VBox/Frontends/VirtualBox4/src/main.cpp.gcc44 VirtualBox-2.1.2_OSE/src/VBox/Frontends/VirtualBox4/src/main.cpp
--- VirtualBox-2.1.2_OSE/src/VBox/Frontends/VirtualBox4/src/main.cpp.gcc44	2009-03-14 15:37:17.874151958 +0100
+++ VirtualBox-2.1.2_OSE/src/VBox/Frontends/VirtualBox4/src/main.cpp	2009-03-14 15:38:07.678153113 +0100
@@ -20,6 +20,7 @@
  * additional information or have any questions.
  */
 
+#include <cstdio>
 #include "VBoxGlobal.h"
 #include "VBoxProblemReporter.h"
 #include "VBoxSelectorWnd.h"
diff -up VirtualBox-2.1.2_OSE/src/VBox/Main/linux/HostHardwareLinux.cpp.gcc44 VirtualBox-2.1.2_OSE/src/VBox/Main/linux/HostHardwareLinux.cpp
--- VirtualBox-2.1.2_OSE/src/VBox/Main/linux/HostHardwareLinux.cpp.gcc44	2009-03-14 15:56:02.806148287 +0100
+++ VirtualBox-2.1.2_OSE/src/VBox/Main/linux/HostHardwareLinux.cpp	2009-03-14 16:15:22.049162257 +0100
@@ -27,6 +27,7 @@
 *   Header Files                                                               *
 *******************************************************************************/
 
+#include <cstdio>
 #include <HostHardwareLinux.h>
 
 #include <VBox/log.h>

VirtualBox-OSE-2.1.4-libcap.patch:

--- NEW FILE VirtualBox-OSE-2.1.4-libcap.patch ---
diff -up VirtualBox-2.1.4_OSE/configure.libcap VirtualBox-2.1.4_OSE/configure
--- VirtualBox-2.1.4_OSE/configure.libcap	2009-03-30 14:19:11.475691095 +0200
+++ VirtualBox-2.1.4_OSE/configure	2009-03-30 14:19:45.267690625 +0200
@@ -1548,6 +1548,7 @@ check_libcap()
   test_header "libcap library"
   cat > .tmp_src.cc << EOF
 #include <cstdio>
+#include <sys/types.h>
 #include <sys/capability.h>
 
 extern "C" int main(void)

VirtualBox-OSE-2.1.4-swab.patch:

--- NEW FILE VirtualBox-OSE-2.1.4-swab.patch ---
Since 2.6.29, kernel ships swab.h which conflicts with us.

Lubomir Rintel <lkundrak at v3.sk>

diff -up VirtualBox-2.1.4_OSE/src/VBox/Devices/Storage/DrvHostDVD.cpp.swab VirtualBox-2.1.4_OSE/src/VBox/Devices/Storage/DrvHostDVD.cpp
--- VirtualBox-2.1.4_OSE/src/VBox/Devices/Storage/DrvHostDVD.cpp.swab	2009-03-30 14:07:28.804132649 +0200
+++ VirtualBox-2.1.4_OSE/src/VBox/Devices/Storage/DrvHostDVD.cpp	2009-03-30 14:07:30.369131589 +0200
@@ -49,6 +49,7 @@
 /* This is another hack for not bothering with C++ unfriendly byteswap macros. */
 # define _LINUX_BYTEORDER_SWAB_H
 # define _LINUX_BYTEORDER_SWABB_H
+# define _LINUX_SWAB_H
 /* Those macros that are needed are defined in the header below */
 # include "swab.h"
 # include <linux/cdrom.h>


--- NEW FILE VirtualBox-OSE-90-vboxdrv.rules ---
ACTION=="add", DEVPATH=="/class/misc/vboxdrv", OWNER="root", MODE="0660", GROUP="vboxusers"


--- NEW FILE VirtualBox-OSE-guest.modules ---
#!/bin/sh
/sbin/modprobe vboxadd &>/dev/null
/sbin/modprobe vboxvfs &>/dev/null


--- NEW FILE VirtualBox-OSE.desktop ---
[Desktop Entry]
Encoding=UTF-8
Name=VirtualBox
GenericName=Emulator
Comment=VirtualBox is an Emulator
Exec=VirtualBox
Terminal=False
TryExec=VirtualBox


--- NEW FILE VirtualBox-OSE.modules ---
#!/bin/sh
/sbin/modprobe vboxdrv &>/dev/null
/sbin/modprobe vboxnetflt &>/dev/null


--- NEW FILE VirtualBox-OSE.spec ---
# This is to prevent certain object files from being stripped.
# FIXME: We would not probably get useful information
# without utilizing optflags (see below)
# TODO: Remove executable bit temporarily to prevent stripping
%define debug_package %{nil}

%define groupname vboxusers

Name:           VirtualBox-OSE
Version:        2.1.4
Release:        3%{?dist}
Summary:        A general-purpose full virtualizer for PC hardware

Group:          Development/Tools
License:        GPLv2 or (GPLv2 and CDDL)
URL:            http://www.virtualbox.org/wiki/VirtualBox
Source0:        http://download.virtualbox.org/virtualbox/%{version}/VirtualBox-%{version}-3-OSE.tar.bz2
Source1:        http://download.virtualbox.org/virtualbox/%{version}/UserManual.pdf
Source3:        %{name}.desktop
Source4:        %{name}-90-vboxdrv.rules
Source5:        %{name}.modules
Source6:        %{name}-guest.modules
Patch6:         %{name}-1.6.4-desktop.patch
Patch7:         %{name}-2.0.2-setup.patch
Patch9:         %{name}-2.1.0-icons.patch
Patch10:        %{name}-2.1.0-32bit.patch
Patch11:        %{name}-2.1.2-gcc44.patch
Patch12:        %{name}-2.1.4-swab.patch
Patch13:        %{name}-2.1.4-libcap.patch

BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

BuildRequires:  kBuild >= 0.1.5-1
BuildRequires:  SDL-devel xalan-c-devel hal-devel
BuildRequires:  dev86 iasl libxslt-devel xerces-c-devel libXcursor-devel libIDL-devel
BuildRequires:  yasm
BuildRequires:  pulseaudio-libs-devel
BuildRequires:  libXmu-devel
BuildRequires:  python-devel
BuildRequires:  desktop-file-utils
BuildRequires:  libcap-devel
%if 0%{?fedora} > 6
BuildRequires:  qt4-devel
%else
BuildRequires:  qt-devel < 1:4
%endif

ExclusiveArch:  %{ix86} x86_64
Requires:       %{name}-kmod = %{version}
Provides:       %{name}-kmod-common = %{version}

Requires(pre):  shadow-utils

%description
A general-purpose full virtualizer and emulator for 32-bit and
64-bit x86 based PC-compatible machines.


%package devel
Summary:        %{name} SDK
Group:          Development/Libraries
Requires:       pyxpcom
Requires:       VirtualBox-OSE = %{version}-%{release}

%description devel
%{name} Software Development Kit.


%package guest
Summary:        %{name} Guest Additions
Group:          System Environment/Base
Requires:       %{name}-kmod = %{version}
Provides:       %{name}-kmod-common = %{version}

%description guest
Tools that utilize kernel modules for supporting integration
with the Host, including file sharing and tracking of mouse pointer
movement.


%package kmodsrc
Summary:        %{name} kernel module source code
Group:          System Environment/Kernel
Requires:       xorg-x11-server-Xorg

%description kmodsrc
Source tree used for building kernel module packages (%{name}-kmod)
which is generated during the build of main package.


%package -n xorg-x11-drv-%{name}
Summary:        X.org X11 %{name} video and mouse driver
Group:          User Interface/X Hardware Support
Requires:       xorg-x11-server-Xorg

%description -n xorg-x11-drv-%{name}
X.org X11 %{name} video and mouse driver.


%prep
%setup -q -n VirtualBox-%{version}_OSE
cp %{SOURCE1} . # PDF User Guide

%patch6 -p1 -b .desktop
%patch7 -p1 -b .setup
%patch9 -p1 -b .icons
%patch10 -p1 -b .32bit
%patch11 -p1 -b .gcc44
%patch12 -p1 -b .swab
%patch13 -p1 -b .libcap

# Copy icons forgotten from distribution, see patch9
cp src/VBox/Frontends/VirtualBox4/images/os_*.png src/VBox/Frontends/VirtualBox/images

# Remove prebuilt binary tools
rm -rf kBuild
rm -rf tools

# CRLF->LF
sed -i 's/\r//' COPYING


%build
./configure --disable-kmods \
%if 0%{?fedora} > 6
        --disable-qt3
%else
        --disable-qt4
%endif

. ./env.sh

# VirtualBox build system installs and builds in the same step,
# not allways looking for the installed files to places they have
# really been installed to. Therefore we do not override any of
# the installation paths, but install the tree with the default
# layout under 'obj' and shuffle files around in %%install.

# FIXME: Utilize optflags. This will probably involve patching of makefiles
# Setting VBOX_GCC_OPT to optflags doesn't use the flags for large part of
# the tree, while preventing required symbols to be generated in .r0 files
kmk KBUILD_VERBOSE=2 TOOL_YASM_AS=yasm VBOX_WITH_REGISTRATION_REQUEST= PATH_INS="$PWD/obj"


%install
rm -rf $RPM_BUILD_ROOT

# The directory layout created below attempts to mimic the one of
# the commercially supported version to minimize confusion

# Directory structure
install -d $RPM_BUILD_ROOT%{_bindir}
install -d $RPM_BUILD_ROOT%{_libdir}
install -d $RPM_BUILD_ROOT%{_libdir}/virtualbox
install -d $RPM_BUILD_ROOT%{_libdir}/virtualbox/components
%if 0%{?fedora} > 6
install -d $RPM_BUILD_ROOT%{_libdir}/virtualbox/nls
%else
install -d $RPM_BUILD_ROOT%{_libdir}/virtualbox/nls3
%endif
install -d $RPM_BUILD_ROOT%{_datadir}/virtualbox/sdk
install -d $RPM_BUILD_ROOT%{_datadir}/pixmaps
install -d $RPM_BUILD_ROOT%{_prefix}/src/%{name}-kmod-%{version}

# Binaries and Wrapper with Launchers
install -p -m 0755 obj/bin/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBox
ln -sf VBox $RPM_BUILD_ROOT%{_bindir}/VBoxHeadless
ln -sf VBox $RPM_BUILD_ROOT%{_bindir}/VBoxManage
ln -sf VBox $RPM_BUILD_ROOT%{_bindir}/VBoxSDL
ln -sf VBox $RPM_BUILD_ROOT%{_bindir}/VirtualBox
%if 0%{?fedora} <= 6
ln -sf VBox $RPM_BUILD_ROOT%{_bindir}/VirtualBox3
%endif

install -p -m 0755 -t $RPM_BUILD_ROOT%{_bindir} \
        obj/bin/VBoxTunctl      \
        obj/bin/VBoxBFE

# Components
install -p -m 0755 -t $RPM_BUILD_ROOT%{_libdir}/virtualbox/components \
        obj/bin/components/*

# Lib
install -p -m 0644 -t $RPM_BUILD_ROOT%{_libdir}/virtualbox \
        obj/bin/VBoxDD2.so      \
        obj/bin/VBoxDD.so       \
        obj/bin/VBoxDDU.so      \
        obj/bin/VBoxGuestPropSvc.so \
        obj/bin/VBoxHeadless.so \
        obj/bin/VBoxPython.so   \
        obj/bin/VBoxREM.so      \
%ifnarch x86_64
        obj/bin/VBoxREM32.so    \
        obj/bin/VBoxREM64.so    \
%endif
        obj/bin/VBoxRT.so       \
        obj/bin/VBoxSDL.so      \
        obj/bin/VBoxSettings.so \
        obj/bin/VBoxSharedClipboard.so \
        obj/bin/VBoxSharedFolders.so \
        obj/bin/VBoxVMM.so      \
        obj/bin/VBoxXPCOM.so    \
        obj/bin/VBoxBFE.so      \
%if 0%{?fedora} > 6
        obj/bin/VBoxKeyboard.so \
        obj/bin/VirtualBox.so   \
%else
        obj/bin/VBoxKeyboard3.so \
        obj/bin/VirtualBox3.so  \
%endif
        obj/bin/V*.gc           \
        obj/bin/V*.r0

# For some reason this is needed since 2.1.4.
# Upstream binary distribution doesn't do that
pushd $RPM_BUILD_ROOT%{_libdir}/virtualbox/components
ln -sf ../*.so .
popd

# SetUID root binaries
install -p -m 4755 -t $RPM_BUILD_ROOT%{_libdir}/virtualbox \
        obj/bin/VBoxHeadless    \
        obj/bin/VBoxSDL         \
%if 0%{?fedora} > 6
        obj/bin/VirtualBox
%else
        obj/bin/VirtualBox3
%endif

# Other binaries
install -p -m 0755 -t $RPM_BUILD_ROOT%{_libdir}/virtualbox \
        obj/bin/VBoxManage      \
        obj/bin/VBoxSVC         \
        obj/bin/VBoxXPCOMIPCD

# Language files
%if 0%{?fedora} > 6
install -p -m 0755 -t $RPM_BUILD_ROOT%{_libdir}/virtualbox/nls \
        obj/bin/nls/*
%else
install -p -m 0755 -t $RPM_BUILD_ROOT%{_libdir}/virtualbox/nls3 \
        obj/bin/nls3/*
%endif

# SDK
cp -rp obj/bin/sdk/. $RPM_BUILD_ROOT%{_datadir}/virtualbox/sdk

install -p -m 0755 -t $RPM_BUILD_ROOT%{_datadir}/virtualbox \
        obj/bin/VBoxSysInfo.sh

install -p -m 0644 -t $RPM_BUILD_ROOT%{_datadir}/pixmaps \
        obj/bin/VBox.png

# X.Org drivers
install -m 0755 -D obj/bin/additions/vboxmouse_drv_71.so \
        $RPM_BUILD_ROOT%{_libdir}/xorg/modules/drivers/vboxmouse_drv.so
install -m 0755 -D obj/bin/additions/vboxvideo_drv_71.so \
        $RPM_BUILD_ROOT%{_libdir}/xorg/modules/drivers/vboxvideo_drv.so

# Guest Additions
install -p -m 0755 -t $RPM_BUILD_ROOT%{_bindir} \
        obj/bin/additions/mountvboxsf           \
        obj/bin/additions/vboxadd-timesync      \
        obj/bin/additions/VBoxClient            \
        obj/bin/additions/VBoxControl

# Installation root configuration
install -d $RPM_BUILD_ROOT/%{_sysconfdir}/vbox
echo 'INSTALL_DIR="%{_libdir}/virtualbox"' > $RPM_BUILD_ROOT/%{_sysconfdir}/vbox/vbox.cfg

# Install udev rule
install -p -m 0644 -D %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/udev/rules.d/90-vboxdrv.rules

# Install modules load script
install -p -m 0755 -D %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/modules/%{name}.modules
install -p -m 0755 -D %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/modules/%{name}-guest.modules

# Module Source Code
mkdir -p %{name}-kmod-%{version}
cp -al obj/bin/src/vbox* obj/bin/additions/src/vbox* %{name}-kmod-%{version}
install -d $RPM_BUILD_ROOT%{_datadir}/%{name}-kmod-%{version}
tar --use-compress-program lzma -cf $RPM_BUILD_ROOT%{_datadir}/%{name}-kmod-%{version}/%{name}-kmod-%{version}.tar.lzma \
        %{name}-kmod-%{version}

# Menu entry
desktop-file-install --dir=${RPM_BUILD_ROOT}%{_datadir}/applications \
        --vendor='' src/VBox/Installer/linux/VirtualBox.desktop


%clean
rm -rf $RPM_BUILD_ROOT


%pre
getent group %{groupname} >/dev/null || groupadd -r %{groupname}


%files
%defattr(-,root,root,-)
%{_bindir}/VBox
%{_bindir}/VBoxBFE
%{_bindir}/VBoxHeadless
%{_bindir}/VBoxManage
%{_bindir}/VBoxSDL
%{_bindir}/VBoxTunctl
%{_bindir}/VirtualBox
%if 0%{?fedora} <= 6
%{_bindir}/VirtualBox3
%endif
%{_libdir}/virtualbox
%{_datadir}/pixmaps/*
%dir %{_datadir}/virtualbox
%{_datadir}/virtualbox/VBoxSysInfo.sh
%{_datadir}/applications/*.desktop
%config %{_sysconfdir}/vbox/vbox.cfg
%config %{_sysconfdir}/udev/rules.d/90-vboxdrv.rules
%config %{_sysconfdir}/sysconfig/modules/%{name}.modules
%doc COPYING


%files devel
%defattr(0644,root,root,-)
%{_datadir}/virtualbox/sdk
%doc COPYING


%files guest
%defattr(-,root,root,-)
%{_bindir}/mountvboxsf
%{_bindir}/vboxadd-timesync
%{_bindir}/VBoxClient
%{_bindir}/VBoxControl
%config %{_sysconfdir}/sysconfig/modules/%{name}-guest.modules
%doc COPYING


%files kmodsrc
%defattr(-,root,root,-)
%{_datadir}/%{name}-kmod-%{version}


%files -n xorg-x11-drv-%{name}
%defattr(-,root,root,-)
%{_libdir}/xorg/modules/drivers/*


%changelog
* Sun Apr 12 2009 Lubomir Rintel <lkundrak at v3.sk> - 2.1.4-3
- Fix SDK permissions
- Fix SDK requires

* Mon Mar 30 2009 Lubomir Rintel <lkundrak at v3.sk> - 2.1.4-2
- Fix the swab fix so that we don't break pre-2.6.29 build

* Sat Mar 14 2009 Lubomir Rintel <lkundrak at v3.sk> - 2.1.4-1
- Update to 2.1.4
- Pack and compress the module source code
- Drop vendor from desktop entry

* Sat Mar 14 2009 Lubomir Rintel <lkundrak at v3.sk> - 2.1.2-3
- Fix build with GCC 4.4

* Thu Feb 05 2009 Lubomir Rintel <lkundrak at v3.sk> - 2.1.2-2
- Fix Fedora build, don't attempt to use compat gcc

* Sat Jan 24 2009 Lubomir Rintel <lkundrak at v3.sk> - 2.1.2-1
- New upstream release

* Sun Jan 11 2009 Lubomir Rintel <lkundrak at v3.sk> - 2.1.0-2
- Fix EL-5 panic
- Build on x86_64 (w/o 32bit toolchain)

* Mon Dec 29 2008 Lubomir Rintel <lkundrak at v3.sk> - 2.1.0-1
- New upstream release
- Add guest additions subpackage
- Build QT4 frontend in Fedora

* Mon Sep 29 2008 Lubomir Rintel <lkundrak at v3.sk> - 2.0.2-2
- Fix locales path

* Sat Sep 20 2008 Lubomir Rintel <lkundrak at v3.sk> - 2.0.2-1
- Update to 2.0.2
- Fix vditool library path

* Thu Sep 04 2008 Lubomir Rintel <lkundrak at v3.sk> - 1.6.4-3
- Do the previous change correctly
- Replace occurencies of 'vboxdrv setup'

* Wed Sep 03 2008 Lubomir Rintel <lkundrak at v3.sk> - 1.6.4-2
- Move the VboxDD* libs to a less wrong place

* Tue Sep 02 2008 Lubomir Rintel <lkundrak at v3.sk> - 1.6.4-1
- Remove selinux subpackage
- Pack the generated source tree for kernel module
- Split off SDK
- Install to more-or-less FHS compliant tree

* Sat Mar 08 2008 Till Maas <opensource till name> - 1.5.6-5
- update group management to match the current guidelines

* Sat Mar 08 2008 Till Maas <opensource till name> - 1.5.6-4
- remove bogus %%post script for kernel module removing and loading.
  It worked with dkms, but maybe it was bad anyway.

* Sat Mar 08 2008 Till Maas <opensource till name> - 1.5.6-3
- add requires/provides to be used with kmod package

* Sun Feb 24 2008 Lubomir Kundrak <lkundrak at redhat.com> - 1.5.6-2
- SDL-static not needed, as well as the SDL patch
- do not patch configure for kernel sources, use command line switch

* Sun Feb 24 2008 Till Maas <opensource till name> - 1.5.6-1
- update to new version
- add BR: pulseaudio-libs-devel
- remove uneeded recompiler patch
- remove dkms subpackage (it is now a standalone package)

* Sat Feb 16 2008 Lubomir Kundrak <lkundrak at redhat.com> - 1.5.2-3
- Hacks to build with gcc43, on F8

* Tue Oct 30 2007 Till Maas <opensource till name> - 1.5.2-2
- add support for x86_64

* Tue Oct 30 2007 Till Maas <opensource till name> - 1.5.2-1
- Update to new version

* Wed Oct 03 2007 Till Maas <opensource till name> 
- 1.5.2-0.2.20071003svn5134
- update to devel Version

* Wed Sep 19 2007 Till Maas <opensource till name> 
- 1.5.2-0.1.20070919svn4897
- Update to devel Version that may support Fedora as Guest again
- Make /dev/vboxdrv owned by root instead of vboxusers, because only 
  the group is needed

* Mon Sep 03 2007 Till Maas <opensource till name> - 1.5.0-1
- update to new version
- update License Tag

* Wed Jun 27 2007 Till Maas <opensource till name> - 1.4.0-1
- Update to new version
- Adapt to new kBuild version, which seems to be needed

* Wed Apr 21 2007 Till Maas <opensource till name> - 1.3.8-2
- minor bugfixes in the wrapper script
- rename to VirtualBox-OSE

* Wed Apr 11 2007 Till Maas <opensource till name> - 1.3.8-1
- version bump
- add mkdir $RPM_BUILD_ROOT to %%install to prevent racing condition
- start VBoxSVC with --daemonize
- change source directory in %%prep
- add vditool to wrapper script
- fix path: s/sysconf/sysconfig/ for .modules file
- send rmmod output to /dev/null
- add selinux support
- do not unload the kernel module in preun

* Sun Mar 11 2007 Till Maas <opensource till name> - 1.3.6-3
- new wrapper script, include VBoxSDL
- Use vbox.cfg
- load module in dkms package automatically with sysconfig/modules/virtualbox.modules
- move udev rule to -dkms package
- remove vboxdrv module when deinstalling -dkms package
- add LocalConfig.kmk to make it honour at least some rpm optflags

* Sat Mar 10 2007 Till Maas <opensource till name> - 1.3.6-2
- add COPYING.LIB
- CRLF to LF in COPYING
- add xorg-x11-drv-virtualbox package

* Fri Mar 09 2007 Till Maas <opensource till name> - 1.3.6-1
- Initial release for Fedora, inspired by OpenSuSE spec


Index: .cvsignore
===================================================================
RCS file: /cvs/free/rpms/VirtualBox-OSE/F-10/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- .cvsignore	21 Apr 2009 04:53:10 -0000	1.1
+++ .cvsignore	21 Apr 2009 06:26:12 -0000	1.2
@@ -0,0 +1,2 @@
+VirtualBox-2.1.4-3-OSE.tar.bz2
+UserManual.pdf


Index: sources
===================================================================
RCS file: /cvs/free/rpms/VirtualBox-OSE/F-10/sources,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sources	21 Apr 2009 04:53:10 -0000	1.1
+++ sources	21 Apr 2009 06:26:12 -0000	1.2
@@ -0,0 +1,2 @@
+54548336d61b33e2a01b210b314927cd  VirtualBox-2.1.4-3-OSE.tar.bz2
+6d6709fa2a9cb3dfad8c7ad7cd43be32  UserManual.pdf



More information about the rpmfusion-commits mailing list