%define debug_package %{nil} %define groupname vboxusers Name: VirtualBox-OSE Version: 2.0.2 Release: 2%{?dist} Summary: A general-purpose full virtualizer for x86 hardware Group: Development/Tools License: GPLv2 URL: http://www.virtualbox.org/wiki/VirtualBox Source0: http://virtualbox.org/download/%{version}/VirtualBox-%{version}-OSE.tar.bz2 Source1: http://virtualbox.org/download/%{version}/UserManual.pdf Source3: %{name}.desktop Source4: %{name}-90-vboxdrv.rules Source5: %{name}.modules Patch5: %{name}-1.6.4-missing.patch Patch6: %{name}-1.6.4-desktop.patch Patch7: %{name}-2.0.2-setup.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: kBuild >= 0.1.4 BuildRequires: qt3-devel SDL-devel xalan-c-devel hal-devel BuildRequires: dev86 iasl libxslt-devel xerces-c-devel libXcursor-devel libIDL-devel BuildRequires: kernel-devel yasm BuildRequires: pulseaudio-libs-devel BuildRequires: libXmu-devel BuildRequires: python-devel BuildRequires: desktop-file-utils BuildRequires: compat-gcc-34 ExclusiveArch: %{ix86} x86_64 Requires: %{name}-kmod = %{version} Provides: %{name}-kmod-common = %{version} Requires(pre): shadow-utils %description A general-purpose full virtualizer for x86 hardware. %package devel Summary: %{name} SDK Group: Development/Libraries Requires: xorg-x11-server-Xorg %description devel %{name} Software Development Kit %package kmodsrc Summary: %{name} kernel module source code Group: System Environment/Kernel Requires: xorg-x11-server-Xorg %description kmodsrc %{summary} This is used just for building the %{name}-kmod packages. %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} cp %{SOURCE1} . # PDF User Guide #patch5 -p1 -b .missing %patch6 -p1 -b .desktop %patch7 -p1 -b .setup # Remove prebuilt binary tools rm -rf kBuild rm -rf tools # CRLF->LF sed -i 's/\r//' COPYING %build . /etc/profile.d/qt.sh ./configure --disable-kmods --disable-qt4 --with-gcc-compat=gcc34 . ./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. kmk KBUILD_VERBOSE=2 TOOL_YASM_AS=yasm VBOX_WITH_REGISTRATION_REQUEST=0 PATH_INS="$PWD/obj" # For some reason, since 2.0 the language files are not compiled # during the build process lrelease src/VBox/Frontends/VirtualBox/nls/*.ts #lrelease src/VBox/Frontends/VirtualBox/nls/*.ts %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 install -d $RPM_BUILD_ROOT%{_libdir}/virtualbox/nls3 install -d $RPM_BUILD_ROOT%{_datadir}/virtualbox/sdk install -d $RPM_BUILD_ROOT%{_datadir}/pixmaps install -d $RPM_BUILD_ROOT%{_prefix}/src # 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 ln -sf VBox $RPM_BUILD_ROOT%{_bindir}/VirtualBox3 ln -sf VBox $RPM_BUILD_ROOT%{_bindir}/vditool 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 \ 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 \ obj/bin/VBoxSharedOpenGL.so \ obj/bin/VBoxKeyboard3.so \ obj/bin/VirtualBox3.so \ obj/bin/VBoxREMImp.so \ obj/bin/V*.gc \ obj/bin/V*.r0 # SetUID root binaries install -p -m 4755 -t $RPM_BUILD_ROOT%{_libdir}/virtualbox \ obj/bin/VBoxHeadless \ obj/bin/VBoxSDL \ obj/bin/VirtualBox3 # Other binaries install -p -m 0755 -t $RPM_BUILD_ROOT%{_libdir}/virtualbox \ obj/bin/VBoxManage \ obj/bin/VBoxSVC \ obj/bin/VBoxXPCOMIPCD \ obj/bin/vditool # Language files install -p -m 0755 -t $RPM_BUILD_ROOT%{_libdir}/virtualbox/nls3 \ src/VBox/Frontends/VirtualBox/nls/*.qm # SDK cp -pr 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 # 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 file install -p -m 0755 -D %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/modules/%{name}.modules # Module Source Code cp -rp obj/bin/src $RPM_BUILD_ROOT%{_prefix}/src/%{name}-kmod-%{version} install -p -m 0644 src/VBox/HostDrivers/Support/linux/Makefile \ $RPM_BUILD_ROOT%{_prefix}/src/%{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} exit 0 %files %defattr(-,root,root,-) %doc COPYING src/recompiler/COPYING.LIB UserManual.pdf %{_bindir}/* %{_libdir}/virtualbox %{_libdir}/virtualbox/nls3 %{_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 %files devel %defattr(-,root,root,-) %{_datadir}/virtualbox/sdk %files kmodsrc %defattr(-,root,root,-) %{_prefix}/src/%{name}-kmod-%{version} %files -n xorg-x11-drv-%{name} %defattr(-,root,root,-) %{_libdir}/xorg/modules/drivers/* %changelog * Mon Sep 29 2008 Lubomir Rintel - 2.0.2-2 - Fix locales path * Sat Sep 20 2008 Lubomir Rintel - 2.0.2-1 - Update to 2.0.2 - Fix vditool library path * Thu Sep 04 2008 Lubomir Rintel - 1.6.4-3 - Do the previous change correctly - Replace occurencies of 'vboxdrv setup' * Wed Sep 03 2008 Lubomir Rintel - 1.6.4-2 - Move the VboxDD* libs to a less wrong place * Tue Sep 02 2008 Lubomir Rintel - 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 - 1.5.6-5 - update group management to match the current guidelines * Sat Mar 08 2008 Till Maas - 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 - 1.5.6-3 - add requires/provides to be used with kmod package * Sun Feb 24 2008 Lubomir Kundrak - 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 - 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 - 1.5.2-3 - Hacks to build with gcc43, on F8 * Tue Oct 30 2007 Till Maas - 1.5.2-2 - add support for x86_64 * Tue Oct 30 2007 Till Maas - 1.5.2-1 - Update to new version * Wed Oct 03 2007 Till Maas - 1.5.2-0.2.20071003svn5134 - update to devel Version * Wed Sep 19 2007 Till Maas - 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 - 1.5.0-1 - update to new version - update License Tag * Wed Jun 27 2007 Till Maas - 1.4.0-1 - Update to new version - Adapt to new kBuild version, which seems to be needed * Wed Apr 21 2007 Till Maas - 1.3.8-2 - minor bugfixes in the wrapper script - rename to VirtualBox-OSE * Wed Apr 11 2007 Till Maas - 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 - 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 - 1.3.6-2 - add COPYING.LIB - CRLF to LF in COPYING - add xorg-x11-drv-virtualbox package * Fri Mar 09 2007 Till Maas - 1.3.6-1 - Initial release for Fedora, inspired by OpenSuSE spec