%define _enable_debug_packages 0
%endif
-%define rel 3
+%define rel 17
%define pname VirtualBox
Summary: VirtualBox - x86 hardware virtualizer
Summary(pl.UTF-8): VirtualBox - wirtualizator sprzętu x86
Name: %{pname}%{_alt_kernel}
-Version: 4.1.4
+Version: 4.1.8
Release: %{rel}
License: GPL v2
Group: Applications/Emulators
Source0: http://download.virtualbox.org/virtualbox/%{version}/%{pname}-%{version}.tar.bz2
-# Source0-md5: dc6e6801b3823332b6ca2e9915221aae
+# Source0-md5: 2092bba46baa62fab5520d67dee2ece8
Source1: http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso
-# Source1-md5: 3ea70652459c8590efb8c64f83f4736a
+# Source1-md5: 2eb3daf08b717c76ecf1aa56b82eab03
Source3: %{pname}-vboxdrv.init
Source4: %{pname}-vboxguest.init
Source5: %{pname}-vboxnetflt.init
Source9: %{pname}.sh
Source10: mount.vdi
Source11: udev.rules
+Source12: %{pname}-vboxdrv-modules-load.conf
+Source13: %{pname}-vboxguest-modules-load.conf
+Source14: %{pname}-vboxnetflt-modules-load.conf
+Source15: %{pname}-vboxsf-modules-load.conf
+Source16: %{pname}-vboxnetadp-modules-load.conf
+Source17: %{pname}-vboxpci-modules-load.conf
Patch0: %{pname}-configure-spaces.patch
Patch1: %{pname}-export_modules.patch
Patch2: %{pname}-VBoxSysInfo.patch
Patch4: %{pname}-vnc.patch
Patch5: %{pname}-dri.patch
Patch6: %{pname}-disable_build_NetBiosBin.patch
-Patch7: %{pname}-build.patch
# ubuntu patches
Patch10: 16-no-update.patch
Patch11: 18-system-xorg.patch
BuildRequires: python-modules
BuildRequires: qt4-build >= 4.2.0
BuildRequires: qt4-linguist
+BuildRequires: rpmbuild(macros) >= 1.627
BuildRequires: sed >= 4.0
%if %{with doc}
BuildRequires: texlive-fonts-bitstream
%define outdir out/%{vbox_platform}/release/bin
%define _sbindir /sbin
+# workaround buggy 'file' results:
+#
+# EfiThunk: \0
+# qt_ro.qm: \0 "<\270d\030\312\357\234\225\315!\034\277`\241\275\335B"
+# VBoxEFI32.fd: \0
+# VBoxEFI64.fd: \0
+#
+# which lead to 'Stripping ... ELF shared libraries... (...)/nls/qt_ro.qm: File format not recognized'
+%define _noautostrip .*%{_libdir}/%{name}/.*
+
%description
Oracle VirtualBox is a general-purpose full virtualizer for x86
hardware. Targeted at server, desktop and embedded use, it is now the
%requires_releq_kernel
Requires(postun): %releq_kernel
%endif
+Requires: systemd-units >= 37-0.10
Provides: kernel(vboxguest) = %{version}-%{rel}
Obsoletes: kernel%{_alt_kernel}-misc-vboxadd
Conflicts: kernel%{_alt_kernel}-misc-vboxdrv
%requires_releq_kernel
Requires(postun): %releq_kernel
%endif
+Requires: systemd-units >= 37-0.10
Provides: kernel(vboxdrv) = %{version}-%{rel}
%description -n kernel%{_alt_kernel}-misc-vboxdrv
%requires_releq_kernel
Requires(postun): %releq_kernel
%endif
+Requires: systemd-units >= 37-0.10
Provides: kernel(vboxnetflt) = %{version}-%{rel}
%description -n kernel%{_alt_kernel}-misc-vboxnetadp
%requires_releq_kernel
Requires(postun): %releq_kernel
%endif
+Requires: systemd-units >= 37-0.10
Provides: kernel(vboxnetflt) = %{version}-%{rel}
%description -n kernel%{_alt_kernel}-misc-vboxnetflt
%requires_releq_kernel
Requires(postun): %releq_kernel
%endif
+Requires: systemd-units >= 37-0.10
Provides: kernel(vboxpci) = %{version}-%{rel}
%description -n kernel%{_alt_kernel}-misc-vboxpci
%requires_releq_kernel
Requires(postun): %releq_kernel
%endif
+Requires: systemd-units >= 37-0.10
Provides: kernel(vboxsf) = %{version}-%{rel}
Obsoletes: kernel%{_alt_kernel}-misc-vboxvfs
%patch4 -p1
%patch5 -p1
%patch6 -p1
-%patch7 -p1
%{__sed} -i -e 's,@VBOX_DOC_PATH@,%{_docdir}/%{name}-%{version},' \
-e 's/Categories=.*/Categories=Utility;Emulator;/' src/VBox/Installer/common/virtualbox.desktop.in
%endif
%if %{with kernel}
-install -d $RPM_BUILD_ROOT{/etc/{rc.d/init.d,modprobe.d},%{_sbindir}}
+install -d $RPM_BUILD_ROOT{/etc/{rc.d/init.d,modules-load.d},%{_sbindir},%{systemdunitdir}}
install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxdrv
install -p %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxguest
install -p %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxnetflt
install -p mount.vboxsf $RPM_BUILD_ROOT%{_sbindir}/mount.vboxsf
+# Tell systemd to load modules
+install -p %{SOURCE12} $RPM_BUILD_ROOT/etc/modules-load.d/vboxdrv.conf
+install -p %{SOURCE13} $RPM_BUILD_ROOT/etc/modules-load.d/vboxguest.conf
+install -p %{SOURCE14} $RPM_BUILD_ROOT/etc/modules-load.d/vboxnetflt.conf
+install -p %{SOURCE15} $RPM_BUILD_ROOT/etc/modules-load.d/vboxsf.conf
+install -p %{SOURCE16} $RPM_BUILD_ROOT/etc/modules-load.d/vboxnetadp.conf
+install -p %{SOURCE17} $RPM_BUILD_ROOT/etc/modules-load.d/vboxpci.conf
+
+# And mask module-loading services
+ln -sf /dev/null $RPM_BUILD_ROOT%{systemdunitdir}/vboxdrv.service
+ln -sf /dev/null $RPM_BUILD_ROOT%{systemdunitdir}/vboxguest.service
+ln -sf /dev/null $RPM_BUILD_ROOT%{systemdunitdir}/vboxnetflt.service
+ln -sf /dev/null $RPM_BUILD_ROOT%{systemdunitdir}/vboxsf.service
+ln -sf /dev/null $RPM_BUILD_ROOT%{systemdunitdir}/vboxnetadp.service
+ln -sf /dev/null $RPM_BUILD_ROOT%{systemdunitdir}/vboxpci.service
%endif
%clean
%depmod %{_kernel_ver}
/sbin/chkconfig --add vboxguest
%service vboxguest restart "VirtualBox Guest additions driver"
+%systemd_reload
%postun -n kernel%{_alt_kernel}-misc-vboxguest
%depmod %{_kernel_ver}
%depmod %{_kernel_ver}
/sbin/chkconfig --add vboxdrv
%service vboxdrv restart "VirtualBox Support Driver"
+%systemd_reload
%postun -n kernel%{_alt_kernel}-misc-vboxdrv
%depmod %{_kernel_ver}
%depmod %{_kernel_ver}
/sbin/chkconfig --add vboxnetadp
%service vboxnetadp restart "VirtualBox Network HostOnly driver"
+%systemd_reload
%postun -n kernel%{_alt_kernel}-misc-vboxnetadp
%depmod %{_kernel_ver}
%depmod %{_kernel_ver}
/sbin/chkconfig --add vboxnetflt
%service vboxnetflt restart "VirtualBox Network Filter driver"
+%systemd_reload
%postun -n kernel%{_alt_kernel}-misc-vboxnetflt
%depmod %{_kernel_ver}
%depmod %{_kernel_ver}
/sbin/chkconfig --add vboxpci
%service vboxnetflt restart "VirtualBox PCI passthrough driver"
+%systemd_reload
%postun -n kernel%{_alt_kernel}-misc-vboxpci
%depmod %{_kernel_ver}
%depmod %{_kernel_ver}
/sbin/chkconfig --add vboxsf
%service vboxsf restart "VirtualBox Host file system access (Shared Folders)"
+%systemd_reload
%postun -n kernel%{_alt_kernel}-misc-vboxsf
%depmod %{_kernel_ver}
%files -n kernel%{_alt_kernel}-misc-vboxguest
%defattr(644,root,root,755)
%attr(754,root,root) /etc/rc.d/init.d/vboxguest
+%config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/vboxguest.conf
+%{systemdunitdir}/vboxguest.service
/lib/modules/%{_kernel_ver}/misc/vboxguest.ko*
%files -n kernel%{_alt_kernel}-misc-vboxdrv
%defattr(644,root,root,755)
%attr(754,root,root) /etc/rc.d/init.d/vboxdrv
+%config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/vboxdrv.conf
+%{systemdunitdir}/vboxdrv.service
/lib/modules/%{_kernel_ver}/misc/vboxdrv.ko*
%files -n kernel%{_alt_kernel}-misc-vboxnetadp
%defattr(644,root,root,755)
%attr(754,root,root) /etc/rc.d/init.d/vboxnetadp
+%config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/vboxnetadp.conf
+%{systemdunitdir}/vboxnetadp.service
/lib/modules/%{_kernel_ver}/misc/vboxnetadp.ko*
%files -n kernel%{_alt_kernel}-misc-vboxnetflt
%defattr(644,root,root,755)
%attr(754,root,root) /etc/rc.d/init.d/vboxnetflt
+%config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/vboxnetflt.conf
+%{systemdunitdir}/vboxnetflt.service
/lib/modules/%{_kernel_ver}/misc/vboxnetflt.ko*
%files -n kernel%{_alt_kernel}-misc-vboxpci
%defattr(644,root,root,755)
%attr(754,root,root) /etc/rc.d/init.d/vboxpci
+%config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/vboxpci.conf
+%{systemdunitdir}/vboxpci.service
/lib/modules/%{_kernel_ver}/misc/vboxpci.ko*
%files -n kernel%{_alt_kernel}-misc-vboxsf
%defattr(644,root,root,755)
%attr(754,root,root) /etc/rc.d/init.d/vboxsf
+%config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/vboxsf.conf
+%{systemdunitdir}/vboxsf.service
%attr(755,root,root) %{_sbindir}/mount.vboxsf
/lib/modules/%{_kernel_ver}/misc/vboxsf.ko*