X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=VirtualBox.spec;h=fc15f6ab919f852ffe9cb986456a6bbcd0311e63;hb=de615b50e14a98bbea0156fc369802ba71142315;hp=53b7c19237c68274b09b916abe8d9558b0f507d5;hpb=61962686a9977cc87c740a3c850c050c0e918f9b;p=packages%2FVirtualBox.git diff --git a/VirtualBox.spec b/VirtualBox.spec index 53b7c19..fc15f6a 100644 --- a/VirtualBox.spec +++ b/VirtualBox.spec @@ -32,39 +32,45 @@ %define _enable_debug_packages 0 %endif -%define rel 1 +%define rel 8 %define pname VirtualBox - -Summary: VirtualBox OSE - x86 hardware virtualizer -Summary(pl.UTF-8): VirtualBox OSE - wirtualizator sprzętu x86 +Summary: VirtualBox - x86 hardware virtualizer +Summary(pl.UTF-8): VirtualBox - wirtualizator sprzętu x86 Name: %{pname}%{_alt_kernel} -Version: 4.0.8 +Version: 4.1.10 Release: %{rel} License: GPL v2 Group: Applications/Emulators Source0: http://download.virtualbox.org/virtualbox/%{version}/%{pname}-%{version}.tar.bz2 -# Source0-md5: a3e81289f2357fcf4bbe3e77805f38b6 +# Source0-md5: 263e495ef3a7ab75943af28d446ee702 Source1: http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso -# Source1-md5: 598ca9b231c1f1ff7817aa76c80f55d6 +# Source1-md5: 322a8fdaec597bc2aad5f8ae8a37f21b Source3: %{pname}-vboxdrv.init Source4: %{pname}-vboxguest.init Source5: %{pname}-vboxnetflt.init Source6: %{pname}-vboxsf.init Source7: %{pname}-vboxnetadp.init -Source8: %{pname}.sh -Source9: mount.vdi -Source10: udev.rules +Source8: %{pname}-vboxpci.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 Patch3: %{pname}-warning_workaround.patch Patch4: %{pname}-vnc.patch Patch5: %{pname}-dri.patch -Patch6: %{pname}-vboxnetflt-no-qdisc.patch +Patch6: %{pname}-disable_build_NetBiosBin.patch +Patch7: xserver-1.12.patch # ubuntu patches -Patch7: 16-no-update.patch -Patch8: 18-system-xorg.patch -Patch9: 22-no-static-libstdcpp.patch +Patch10: 16-no-update.patch +Patch11: 18-system-xorg.patch # /ubuntu patches URL: http://www.virtualbox.org/ BuildRequires: rpmbuild(macros) >= 1.535 @@ -81,6 +87,7 @@ BuildRequires: XFree86-devel BuildRequires: xorg-lib-libXcomposite-devel BuildRequires: xorg-lib-libXcursor-devel BuildRequires: xorg-lib-libXmu-devel +BuildRequires: xorg-proto-glproto-devel BuildRequires: xorg-xserver-server-devel %endif BuildRequires: OpenGL-GLU-devel @@ -104,7 +111,7 @@ BuildRequires: libpng-devel >= 1.2.5 BuildRequires: libstdc++-devel >= 5:3.2.3 BuildRequires: libstdc++-static >= 5:3.2.3 BuildRequires: libuuid-devel -BuildRequires: libvncserver-devel +BuildRequires: libvncserver-devel >= 0.9.7 BuildRequires: libxml2-devel >= 2.6.26 BuildRequires: libxslt-devel >= 1.1.17 BuildRequires: libxslt-progs >= 1.1.17 @@ -118,6 +125,7 @@ BuildRequires: python-devel 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 @@ -153,22 +161,32 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %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 OSE is a general-purpose full virtualizer for x86 +Oracle VirtualBox is a general-purpose full virtualizer for x86 hardware. Targeted at server, desktop and embedded use, it is now the only professional-quality virtualization solution that is also Open Source Software. -Some of the features of VirtualBox OSE are: +Some of the features of VirtualBox are: -Modularity: VirtualBox OSE has an extremely modular design with +Modularity: VirtualBox has an extremely modular design with well-defined internal programming interfaces and a client/server design. This makes it easy to control it from several interfaces at once: for example, you can start a virtual machine in a typical virtual machine GUI and then control that machine from the command -line. VirtualBox OSE also comes with a full Software Development Kit: -even though it is Open Source Software, you don't have to hack the -source to write a new interface for VirtualBox OSE. +line. VirtualBox also comes with a full Software Development Kit: even +though it is Open Source Software, you don't have to hack the source +to write a new interface for VirtualBox. Virtual machine descriptions in XML: the configuration settings of virtual machines are stored entirely in XML and are independent of the @@ -178,21 +196,20 @@ ported to other computers. You should install this package in your Host OS. %description -l pl.UTF-8 -Oracle VirtualBox OSE jest emulatorem sprzętu x86. Kierowany do -zastosowań serwerowych, desktopowych oraz wbudowanych jest obecnie -jedynym wysokiej jakości rozwiązaniem wirtualizacyjnym dostępnym -również jako Otwarte Oprogramowanie. +Oracle VirtualBox jest emulatorem sprzętu x86. Kierowany do zastosowań +serwerowych, desktopowych oraz wbudowanych jest obecnie jedynym +wysokiej jakości rozwiązaniem wirtualizacyjnym dostępnym również jako +Otwarte Oprogramowanie. Przykładowe cechy VirtualBoksa: -Modularność: VirtualBox OSE jest wysoce zmodularyzowanym produktem z +Modularność: VirtualBox jest wysoce zmodularyzowanym produktem z dobrze zaprojektowanym wewnętrznym interfejsem programowym typu klient/serwer. Dzięki temu można łatwo kontrolować go za pomocą różnych interfejsów. Można na przykład uruchomić maszynę wirtualną z poziomu interfejsu graficznego, a później kontrolować ją z linii -poleceń. VirtualBox OSE dostarcza również pełny pakiet deweloperski, -co pozwala stworzyć dowolny inny interfejs zarządzania maszyną -wirtualną. +poleceń. VirtualBox dostarcza również pełny pakiet deweloperski, co +pozwala stworzyć dowolny inny interfejs zarządzania maszyną wirtualną. Opisy maszyn wirtualnych w XML-u: konfiguracje poszczególnych maszyn wirtualnych są w całości przechowywane w XML-u i są niezależne od @@ -207,13 +224,13 @@ Group: Documentation This package contains VirtualBox User Manual. %package udev -Summary: udev rules for VirtualBox OSE kernel modules +Summary: udev rules for VirtualBox kernel modules Summary(pl.UTF-8): Reguły udev dla modułów jądra Linuksa dla VirtualBoksa Group: Base/Kernel Requires: udev-core %description udev -udev rules for VirtualBox OSE kernel modules. +udev rules for VirtualBox kernel modules. You should install this package in your Host OS and in Guest OS. @@ -256,154 +273,192 @@ PAM module (Pluggable Authentication Module) which can be used to perform automated guest logons. %package -n xorg-driver-input-vboxmouse -Summary: X.org mouse driver for VirtualBox OSE guest OS -Summary(pl.UTF-8): Sterownik myszy dla systemu gościa w VirtualBoksie OSE +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 -Requires: xorg-xserver-server(xinput-abi) <= 12.2 +Requires: xorg-xserver-server(xinput-abi) <= 16.0 Requires: xorg-xserver-server(xinput-abi) >= 4.0 %description -n xorg-driver-input-vboxmouse -X.org mouse driver for VirtualBox OSE guest OS. +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 OSE guest OS -Summary(pl.UTF-8): Sterownik grafiki dla systemu gościa w VirtualBoksie OSE +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: Mesa-dri-driver-swrast Requires: xorg-xserver-libdri >= 1.7.4 Requires: xorg-xserver-server >= 1.0.99.901 -Requires: xorg-xserver-server(videodrv-abi) <= 10.0 +Requires: xorg-xserver-server(videodrv-abi) <= 12.0 Requires: xorg-xserver-server(videodrv-abi) >= 2.0 %description -n xorg-driver-video-vboxvideo -X.org video driver for VirtualBox OSE guest OS. +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 OSE. +Sterownik grafiki dla systemu gościa w VirtualBoksie. +# KERNEL PACKAGES +# KEEP ALL REGULAR SUBPACKAGES BEFORE KERNEL PACKAGES. %package -n kernel%{_alt_kernel}-misc-vboxguest -Summary: VirtualBox OSE Guest Additions for Linux Module -Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE +Summary: VirtualBox Guest Additions for Linux Module +Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa Release: %{rel}@%{_kernel_ver_str} Group: Base/Kernel Requires(post,postun): /sbin/depmod +Requires(post): systemd-units >= 38 Requires: dev >= 2.9.0-7 %if %{with dist_kernel} %requires_releq_kernel Requires(postun): %releq_kernel %endif +Requires: systemd-units >= 38 Provides: kernel(vboxguest) = %{version}-%{rel} Obsoletes: kernel%{_alt_kernel}-misc-vboxadd Conflicts: kernel%{_alt_kernel}-misc-vboxdrv %description -n kernel%{_alt_kernel}-misc-vboxguest -VirtualBox OSE Guest Additions for Linux Module. +VirtualBox Guest Additions for Linux Module. You should install this package in your Guest OS. %description -n kernel%{_alt_kernel}-misc-vboxguest -l pl.UTF-8 -Moduł jądra Linuksa vboxguest dla VirtualBoksa OSE - dodatki dla -systemu gościa. +Moduł jądra Linuksa vboxguest dla VirtualBoksa - dodatki dla systemu +gościa. %package -n kernel%{_alt_kernel}-misc-vboxdrv -Summary: VirtualBox OSE Support Driver -Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE +Summary: VirtualBox Support Driver +Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa Release: %{rel}@%{_kernel_ver_str} Group: Base/Kernel Requires(post,postun): /sbin/depmod +Requires(post): systemd-units >= 38 Requires: dev >= 2.9.0-7 %if %{with dist_kernel} %requires_releq_kernel Requires(postun): %releq_kernel %endif +Requires: systemd-units >= 38 Provides: kernel(vboxdrv) = %{version}-%{rel} %description -n kernel%{_alt_kernel}-misc-vboxdrv -VirtualBox OSE Support Driver. +VirtualBox Support Driver. You should install this package in your Host OS. %description -n kernel%{_alt_kernel}-misc-vboxdrv -l pl.UTF-8 -Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik wsparcia dla -systemu głównego. +Moduł jądra Linuksa dla VirtualBoksa - sterownik wsparcia dla systemu +głównego. %package -n kernel%{_alt_kernel}-misc-vboxnetadp -Summary: VirtualBox OSE Network Adapter Driver -Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE +Summary: VirtualBox Network Adapter Driver +Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa Release: %{rel}@%{_kernel_ver_str} Group: Base/Kernel Requires(post,postun): /sbin/depmod +Requires(post): systemd-units >= 38 Requires: dev >= 2.9.0-7 Requires: kernel%{_alt_kernel}-misc-vboxdrv %if %{with dist_kernel} %requires_releq_kernel Requires(postun): %releq_kernel %endif +Requires: systemd-units >= 38 Provides: kernel(vboxnetflt) = %{version}-%{rel} %description -n kernel%{_alt_kernel}-misc-vboxnetadp -VirtualBox OSE Network Adapter Driver. +VirtualBox Network Adapter Driver. You should install this package in your Host OS. %description -n kernel%{_alt_kernel}-misc-vboxnetadp -l pl.UTF-8 -Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik witrualnej karty +Moduł jądra Linuksa dla VirtualBoksa - sterownik witrualnej karty sieciowej. %package -n kernel%{_alt_kernel}-misc-vboxnetflt -Summary: VirtualBox OSE Network Filter Driver -Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE +Summary: VirtualBox Network Filter Driver +Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa Release: %{rel}@%{_kernel_ver_str} Group: Base/Kernel Requires(post,postun): /sbin/depmod +Requires(post): systemd-units >= 38 Requires: dev >= 2.9.0-7 Requires: kernel%{_alt_kernel}-misc-vboxdrv %if %{with dist_kernel} %requires_releq_kernel Requires(postun): %releq_kernel %endif +Requires: systemd-units >= 38 Provides: kernel(vboxnetflt) = %{version}-%{rel} %description -n kernel%{_alt_kernel}-misc-vboxnetflt -VirtualBox OSE Network Filter Driver. +VirtualBox Network Filter Driver. + +You should install this package in your Host OS. + +%description -n kernel%{_alt_kernel}-misc-vboxnetflt -l pl.UTF-8 +Moduł jądra Linuksa dla VirtualBoksa - sterownik filtrowania sieci dla +systemu głównego. + +%package -n kernel%{_alt_kernel}-misc-vboxpci +Summary: VirtualBox PCI card passthrough Driver +Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa +Release: %{rel}@%{_kernel_ver_str} +Group: Base/Kernel +Requires(post,postun): /sbin/depmod +Requires(post): systemd-units >= 38 +Requires: dev >= 2.9.0-7 +Requires: kernel%{_alt_kernel}-misc-vboxdrv +%if %{with dist_kernel} +%requires_releq_kernel +Requires(postun): %releq_kernel +%endif +Requires: systemd-units >= 38 +Provides: kernel(vboxpci) = %{version}-%{rel} + +%description -n kernel%{_alt_kernel}-misc-vboxpci +VirtualBox PCI card passthrough driver that works as host proxy +between guest and PCI hardware. You should install this package in your Host OS. %description -n kernel%{_alt_kernel}-misc-vboxnetflt -l pl.UTF-8 -Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik filtrowania sieci -dla systemu głównego. +Moduł jądra Linuksa dla VirtualBoksa - sterownik, ktory działa jako +proxy między gościem i gospodarzem sprzętu PCI. %package -n kernel%{_alt_kernel}-misc-vboxsf -Summary: Host file system access (Shared Folders) for VirtualBox OSE -Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE +Summary: Host file system access (Shared Folders) for VirtualBox +Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa Release: %{rel}@%{_kernel_ver_str} Group: Base/Kernel Requires(post,postun): /sbin/depmod +Requires(post): systemd-units >= 38 Requires: dev >= 2.9.0-7 Requires: kernel%{_alt_kernel}-misc-vboxguest %if %{with dist_kernel} %requires_releq_kernel Requires(postun): %releq_kernel %endif +Requires: systemd-units >= 38 Provides: kernel(vboxsf) = %{version}-%{rel} Obsoletes: kernel%{_alt_kernel}-misc-vboxvfs %description -n kernel%{_alt_kernel}-misc-vboxsf -Host file system access (Shared Folders) for VirtualBox OSE. +Host file system access (Shared Folders) for VirtualBox. You should install this package in your Guest OS. %description -n kernel%{_alt_kernel}-misc-vboxsf -l pl.UTF-8 -Moduł jądra Linuksa dla VirtualBoksa OSE - dostęp do plików systemu +Moduł jądra Linuksa dla VirtualBoksa - dostęp do plików systemu głównego z poziomu systemu gościa. %package -n kernel%{_alt_kernel}-misc-vboxvideo -Summary: DRM support for VirtualBox OSE -Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE +Summary: DRM support for VirtualBox +Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa Release: %{rel}@%{_kernel_ver_str} Group: Base/Kernel Requires(post,postun): /sbin/depmod @@ -418,26 +473,28 @@ Requires(postun): %releq_kernel Provides: kernel(vboxvideo) = %{version}-%{rel} %description -n kernel%{_alt_kernel}-misc-vboxvideo -DRM support for VirtualBox OSE. +DRM support for VirtualBox. You should install this package in your Guest OS. %description -n kernel%{_alt_kernel}-misc-vboxvideo -l pl.UTF-8 -Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik obsługi DRM. +Moduł jądra Linuksa dla VirtualBoksa - sterownik obsługi DRM. %prep -%setup -q -n %{pname}-%{version}_OSE +%setup -q -n %{pname}-%{version} %patch0 -p1 %patch1 -p1 %patch2 -p1 %patch3 -p1 %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 -sed 's#@LIBDIR@#%{_libdir}#' < %{SOURCE8} > VirtualBox-wrapper.sh +sed 's#@LIBDIR@#%{_libdir}#' < %{SOURCE9} > VirtualBox-wrapper.sh install -d PLD-MODULE-BUILD/{GuestDrivers,HostDrivers} cd PLD-MODULE-BUILD @@ -447,10 +504,9 @@ tar -zxf guest-modules.tar.gz -C GuestDrivers ../src/VBox/HostDrivers/linux/export_modules host-modules.tar.gz --without-hardening tar -zxf host-modules.tar.gz -C HostDrivers cd - -%patch6 -p1 -%patch7 -p1 -%patch8 -p1 -%patch9 -p1 +%patch10 -p1 +%patch11 -p1 + %build %if %{with userspace} @@ -461,7 +517,8 @@ echo "VBOX_WITH_TESTCASES := " > LocalConfig.kmk %{!?with_doc:--disable-docs} \ --disable-java \ --disable-hardening \ - --disable-kmods + --disable-kmods \ + --enable-vnc XSERVER_VERSION=$(rpm -q --queryformat '%{VERSION}\n' xorg-xserver-server-devel | awk -F. ' { print $1 $2 } ' 2> /dev/null || echo ERROR) . ./env.sh && \ @@ -477,6 +534,7 @@ cd PLD-MODULE-BUILD/HostDrivers %build_kernel_modules -m vboxdrv -C vboxdrv %build_kernel_modules -m vboxnetadp -C vboxnetadp %build_kernel_modules -m vboxnetflt -C vboxnetflt +%build_kernel_modules -m vboxpci -C vboxpci cd ../GuestDrivers %build_kernel_modules -m vboxguest -C vboxguest @@ -504,7 +562,7 @@ fi cp -a$l %{outdir}/* $RPM_BUILD_ROOT%{_libdir}/%{pname} cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/VirtualBox/additions/VBoxGuestAdditions.iso -install -p %{SOURCE9} $RPM_BUILD_ROOT%{_sbindir}/mount.vdi +install -p %{SOURCE10} $RPM_BUILD_ROOT%{_sbindir}/mount.vdi install -p VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_libdir}/%{pname} for f in {VBox{BFE,Headless,Manage,SDL,SVC,Tunctl,XPCOMIPCD},VirtualBox}; do ln -s %{_libdir}/%{pname}/VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_bindir}/$f @@ -513,12 +571,12 @@ done mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/VBox.png,%{_pixmapsdir}/virtualbox.png} mv $RPM_BUILD_ROOT{%{_libdir}/%{pname},%{_desktopdir}}/virtualbox.desktop -mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxmouse_drv.so,%{_libdir}/xorg/modules/input/vboxmouse_drv.so} +mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/vboxmouse_drv.so,%{_libdir}/xorg/modules/input/vboxmouse_drv.so} mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxvideo_drv.so,%{_libdir}/xorg/modules/drivers/vboxvideo_drv.so} mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/VBoxOGL.so,%{_libdir}/xorg/modules/dri/vboxvideo_dri.so} # xorg other driver versions -rm -vf $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxmouse_drv*.{o,so} -rm -vf $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxvideo_drv*.{o,so} +rm -vf $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxmouse_drv*.{o,so} +rm -vf $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxvideo_drv*.{o,so} # XXX: where else to install them that vboxvideo_dri.so finds them? patch with rpath? mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLarrayspu.so @@ -529,7 +587,7 @@ mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpackspu.so mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpassthroughspu.so install -d $RPM_BUILD_ROOT/etc/udev/rules.d -cp -a %{SOURCE10} $RPM_BUILD_ROOT/etc/udev/rules.d/virtualbox.rules +cp -a %{SOURCE11} $RPM_BUILD_ROOT/etc/udev/rules.d/virtualbox.rules install -d $RPM_BUILD_ROOT/%{_lib}/security mv $RPM_BUILD_ROOT{%{_libdir}/VirtualBox/additions,/%{_lib}/security}/pam_vbox.so @@ -568,21 +626,38 @@ rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/mount.vboxsf %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 %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxsf install -p %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxnetadp +install -p %{SOURCE8} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxpci %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxdrv/vboxdrv -d misc %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxnetadp/vboxnetadp -d misc %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxnetflt/vboxnetflt -d misc +%install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxpci/vboxpci -d misc %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxguest/vboxguest -d misc %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxsf/vboxsf -d misc %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxvideo_drm/vboxvideo -d misc 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 @@ -592,6 +667,8 @@ rm -rf $RPM_BUILD_ROOT %groupadd -g 221 -r -f vbox %post +%update_desktop_database + cat << 'EOF' You must install vboxdrv kernel module for this software to work: kernel-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str} @@ -599,6 +676,7 @@ You must install vboxdrv kernel module for this software to work: Additionally you might want to install: kernel-misc-vboxnetadp-%{version}-%{rel}@%{_kernel_ver_str} kernel-misc-vboxnetflt-%{version}-%{rel}@%{_kernel_ver_str} + kernel-misc-vboxpci-%{version}-%{rel}@%{_kernel_ver_str} On Guest Linux system you might want to install: kernel-misc-vboxguest-%{version}-%{rel}@%{_kernel_ver_str} @@ -615,7 +693,8 @@ fi %post -n kernel%{_alt_kernel}-misc-vboxguest %depmod %{_kernel_ver} /sbin/chkconfig --add vboxguest -%service vboxguest restart "VirtualBox OSE Guest additions driver" +%service vboxguest restart "VirtualBox Guest additions driver" +%systemd_reload %postun -n kernel%{_alt_kernel}-misc-vboxguest %depmod %{_kernel_ver} @@ -629,7 +708,8 @@ fi %post -n kernel%{_alt_kernel}-misc-vboxdrv %depmod %{_kernel_ver} /sbin/chkconfig --add vboxdrv -%service vboxdrv restart "VirtualBox OSE Support Driver" +%service vboxdrv restart "VirtualBox Support Driver" +%systemd_reload %postun -n kernel%{_alt_kernel}-misc-vboxdrv %depmod %{_kernel_ver} @@ -643,7 +723,8 @@ fi %post -n kernel%{_alt_kernel}-misc-vboxnetadp %depmod %{_kernel_ver} /sbin/chkconfig --add vboxnetadp -%service vboxnetadp restart "VirtualBox OSE Network HostOnly driver" +%service vboxnetadp restart "VirtualBox Network HostOnly driver" +%systemd_reload %postun -n kernel%{_alt_kernel}-misc-vboxnetadp %depmod %{_kernel_ver} @@ -657,7 +738,8 @@ fi %post -n kernel%{_alt_kernel}-misc-vboxnetflt %depmod %{_kernel_ver} /sbin/chkconfig --add vboxnetflt -%service vboxnetflt restart "VirtualBox OSE Network Filter driver" +%service vboxnetflt restart "VirtualBox Network Filter driver" +%systemd_reload %postun -n kernel%{_alt_kernel}-misc-vboxnetflt %depmod %{_kernel_ver} @@ -668,10 +750,26 @@ if [ "$1" = "0" ]; then /sbin/chkconfig --del vboxnetflt fi +%post -n kernel%{_alt_kernel}-misc-vboxpci +%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} + +%preun -n kernel%{_alt_kernel}-misc-vboxpci +if [ "$1" = "0" ]; then + %service vboxpci stop + /sbin/chkconfig --del vboxpci +fi + %post -n kernel%{_alt_kernel}-misc-vboxsf %depmod %{_kernel_ver} /sbin/chkconfig --add vboxsf -%service vboxsf restart "VirtualBox OSE Host file system access (Shared Folders)" +%service vboxsf restart "VirtualBox Host file system access (Shared Folders)" +%systemd_reload %postun -n kernel%{_alt_kernel}-misc-vboxsf %depmod %{_kernel_ver} @@ -709,6 +807,7 @@ fi %attr(755,root,root) %{_libdir}/VirtualBox/VBoxAuth.so %attr(755,root,root) %{_libdir}/VirtualBox/VBoxAuthSimple.so %attr(755,root,root) %{_libdir}/VirtualBox/VBoxBFE +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxBalloonCtrl %attr(755,root,root) %{_libdir}/VirtualBox/VBoxCreateUSBNode.sh %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDbg.so %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDD2.so @@ -854,26 +953,43 @@ fi %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*