%bcond_without dist_kernel # without distribution kernel
%bcond_without kernel # don't build kernel module
%bcond_without userspace # don't build userspace package
+%bcond_with force_userspace # force userspace build (useful if alt_kernel is set)
%bcond_with verbose # verbose kernel mod build
+%if "%{_alt_kernel}" != "%{nil}"
+%undefine with_userspace
+%endif
+%if %{with force_userspace}
+%define with_userspace 1
+%endif
# disable debug - no symbols here
%define _enable_debug_packages 0
%define rel 1
-%ifarch %{x8664}
-%define arch amd64
-%else
-%define arch x86
-%endif
-%define prev 61806
%define pname VirtualBox
+%define prev 68302
+
Summary: VirtualBox - x86 hardware virtualizer
Summary(pl.UTF-8): VirtualBox - wirtualizator sprzętu x86
Name: %{pname}-bin
-Version: 3.2.0
+Version: 3.2.12
Release: %{rel}
License: Free for non-commercial use, non-distributable
Group: Applications/Emulators
-#Source0: http://download.virtualbox.org/virtualbox/%{version}/%{pname}-%{version}-%{prev}-Linux_%{arch}.run
-Source0: %{pname}-%{version}-%{prev}-Linux_%{arch}.run
+Source0: http://download.virtualbox.org/virtualbox/%{version}/%{pname}-%{version}-%{prev}-Linux_amd64.run
+# NoSource0-md5: 408db0aff4ada9664b8cdf156916ec64
NoSource: 0
-Source1: http://download.virtualbox.org/virtualbox/%{version}/UserManual.pdf
-# Source1-md5: 09b98518de7eee5935aa4cc902195cbe
+Source1: http://download.virtualbox.org/virtualbox/%{version}/%{pname}-%{version}-%{prev}-Linux_x86.run
+# NoSource1-md5: 984b2dea108ba151ee5203f95987463c
+NoSource: 1
+Source2: http://download.virtualbox.org/virtualbox/%{version}/UserManual.pdf
+# Source2-md5: d7f8685fe5fd84757b33d46e6f0b6bc5
Source3: %{pname}-vboxdrv.init
Source4: %{pname}-vboxadd.init
Source5: %{pname}-vboxnetadp.init
Source7: %{pname}-vboxvfs.init
Source8: %{pname}.desktop
Source9: %{pname}.sh
+Source10: udev.rules
URL: http://www.virtualbox.org/
%{?with_userspace:BuildRequires: ffmpeg-libs}
+%if %{with kernel}
+%{?with_dist_kernel:BuildRequires: kernel%{_alt_kernel}-module-build}
+%endif
BuildRequires: rpmbuild(macros) >= 1.379
Requires(post,preun): /sbin/chkconfig
Requires(postun): /usr/sbin/groupdel
%define _noautoreq libavcodec.so.51 libavformat.so.51
%description
-Oracle VirtualBox is a general-purpose full virtualizer for x86 hardware.
-Targeted at server, desktop and embedded use.
+Oracle VirtualBox is a general-purpose full virtualizer for x86
+hardware. Targeted at server, desktop and embedded use.
Some of the features of VirtualBox are:
%package udev
Summary: udev rules for VirtualBox kernel modules
Summary(pl.UTF-8): Reguły udev dla modułów jądra Linuksa dla VirtualBoksa
-Release: %{rel}
Group: Base/Kernel
Requires: udev-core
%description udev -l pl.UTF-8
Reguły udev dla modułów jądra Linuksa dla VirtualBoksa.
+%package -n xorg-driver-input-vboxmouse
+Summary: X.org mouse driver for VirtualBox guest OS
+Summary(pl.UTF-8): Sterownik myszy dla systemu gościa w VirtualBoksie
+Group: X11/Applications
+Requires: xorg-xserver-server >= 1.0.99.901
+
+%description -n xorg-driver-input-vboxmouse
+X.org mouse driver for VirtualBox guest OS.
+
+%description -n xorg-driver-input-vboxmouse -l pl.UTF-8
+Sterownik myszy dla systemu gościa w VirtualBoksie.
+
+%package -n xorg-driver-video-vboxvideo
+Summary: X.org video driver for VirtualBox guest OS
+Summary(pl.UTF-8): Sterownik grafiki dla systemu gościa w VirtualBoksie
+Group: X11/Applications
+Requires: xorg-xserver-server >= 1.0.99.901
+
+%description -n xorg-driver-video-vboxvideo
+X.org video driver for VirtualBox guest OS.
+
+%description -n xorg-driver-video-vboxvideo -l pl.UTF-8
+Sterownik grafiki dla systemu gościa w VirtualBoksie.
+
%package -n kernel%{_alt_kernel}-misc-vboxadd
Summary: VirtualBox Guest Additions for Linux Module
Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa
Moduł jądra Linuksa dla VirtualBoksa - dostęp do plików systemu
głównego z poziomu systemu gościa.
-%package -n xorg-driver-input-vboxmouse
-Summary: X.org mouse driver for VirtualBox guest OS
-Summary(pl.UTF-8): Sterownik myszy dla systemu gościa w VirtualBoksie
-Release: %{rel}
-Group: X11/Applications
-Requires: xorg-xserver-server >= 1.0.99.901
-
-%description -n xorg-driver-input-vboxmouse
-X.org mouse driver for VirtualBox guest OS.
-
-%description -n xorg-driver-input-vboxmouse -l pl.UTF-8
-Sterownik myszy dla systemu gościa w VirtualBoksie.
-
-%package -n xorg-driver-video-vboxvideo
-Summary: X.org video driver for VirtualBox guest OS
-Summary(pl.UTF-8): Sterownik grafiki dla systemu gościa w VirtualBoksie
-Release: %{rel}
-Group: X11/Applications
-Requires: xorg-xserver-server >= 1.0.99.901
-
-%description -n xorg-driver-video-vboxvideo
-X.org video driver for VirtualBox guest OS.
-
-%description -n xorg-driver-video-vboxvideo -l pl.UTF-8
-Sterownik grafiki dla systemu gościa w VirtualBoksie.
-
%prep
%setup -qcT
+%ifarch %{x8664}
%{__sh} %{SOURCE0} --noexec --keep
-%{__tar} -jxf install/VirtualBox.tar.bz2
+%else
+%{__sh} %{SOURCE1} --noexec --keep
+%endif
-cat <<'EOF' > udev.conf
-KERNEL=="vboxdrv", NAME="%k", GROUP="vbox", MODE="0660"
-KERNEL=="vboxadd", NAME="%k", GROUP="vbox", MODE="0660"
-KERNEL=="vboxnetctl", NAME="%k", GROUP="vbox", MODE="0660"
-EOF
+%{__tar} -jxf install/VirtualBox.tar.bz2
-install %{SOURCE1} .
+install %{SOURCE2} .
sed 's#@LIBDIR@#%{_libdir}#' < %{SOURCE9} > VirtualBox-wrapper.sh
rm -rf PLD-MODULE-BUILD && mkdir PLD-MODULE-BUILD && cd PLD-MODULE-BUILD
cp -rdf ../src/* ./
-sed -i -e 's/-DVBOX_WITH_HARDENING//g' vboxdrv/Makefile
-sed -i -e 's/-DVBOX_WITH_HARDENING//g' vboxnetadp/Makefile
-sed -i -e 's/-DVBOX_WITH_HARDENING//g' vboxnetflt/Makefile
+sed -i -e 's/-DVBOX_WITH_HARDENING//g' vboxhost/vboxdrv/Makefile
+sed -i -e 's/-DVBOX_WITH_HARDENING//g' vboxhost/vboxnetadp/Makefile
+sed -i -e 's/-DVBOX_WITH_HARDENING//g' vboxhost/vboxnetflt/Makefile
%build
%if %{with kernel}
-cd PLD-MODULE-BUILD
+cd PLD-MODULE-BUILD/vboxhost
%build_kernel_modules -m vboxdrv -C vboxdrv
cp -a vboxdrv/Module.symvers vboxnetadp/
%build_kernel_modules -m vboxnetadp -C vboxnetadp
ln -s %{_libdir}/libavformat.so.5? $RPM_BUILD_ROOT%{_libdir}/VirtualBox/libavformat.so.51
install -d $RPM_BUILD_ROOT/etc/udev/rules.d
-install udev.conf $RPM_BUILD_ROOT/etc/udev/rules.d/virtualbox.rules
+cp -a %{SOURCE10} $RPM_BUILD_ROOT/etc/udev/rules.d/virtualbox.rules
%endif
%if %{with kernel}
install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxdrv
install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxnetadp
install %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxnetflt
-%install_kernel_modules -m PLD-MODULE-BUILD/vboxdrv/vboxdrv -d misc
-%install_kernel_modules -m PLD-MODULE-BUILD/vboxnetadp/vboxnetadp -d misc
-%install_kernel_modules -m PLD-MODULE-BUILD/vboxnetflt/vboxnetflt -d misc
+%install_kernel_modules -m PLD-MODULE-BUILD/vboxhost/vboxdrv/vboxdrv -d misc
+%install_kernel_modules -m PLD-MODULE-BUILD/vboxhost/vboxnetadp/vboxnetadp -d misc
+%install_kernel_modules -m PLD-MODULE-BUILD/vboxhost/vboxnetflt/vboxnetflt -d misc
%endif
%clean
%attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLhostcrutil.so
%attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLhosterrorspu.so
%attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLrenderspu.so
+
+%if "%{pld_release}" == "ti"
%attr(755,root,root) %{_libdir}/VirtualBox/VBoxPython2_6.so
+%else
+%attr(755,root,root) %{_libdir}/VirtualBox/VBoxPython2_7.so
+%endif
+
%attr(755,root,root) %{_libdir}/VirtualBox/VBoxPython.so
%attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM.so
%ifarch %{ix86}
%lang(ja) %{_libdir}/VirtualBox/nls/*_ja.qm
%lang(km_KH) %{_libdir}/VirtualBox/nls/*_km_KH.qm
%lang(ko) %{_libdir}/VirtualBox/nls/*_ko.qm
+%lang(lt) %{_libdir}/VirtualBox/nls/*_lt.qm
+%lang(nl) %{_libdir}/VirtualBox/nls/*_nl.qm
%lang(pl) %{_libdir}/VirtualBox/nls/*_pl.qm
%lang(pt) %{_libdir}/VirtualBox/nls/*_pt.qm
%lang(pt_BR) %{_libdir}/VirtualBox/nls/*_pt_BR.qm