X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=VirtualBox.spec;h=fe71367d3e6040559936f0ce43340ba243f3a013;hb=83b27036790d3eec9e844d24c73187dd779e7233;hp=43d7e80e7ecdbc3dbc0bda0a13d59a149c03d4e2;hpb=88c8255d09176f90927e94e866e8a9a1dc7441e4;p=packages%2FVirtualBox.git diff --git a/VirtualBox.spec b/VirtualBox.spec index 43d7e80..fe71367 100644 --- a/VirtualBox.spec +++ b/VirtualBox.spec @@ -6,6 +6,9 @@ # - Package utils (and write initscripts ?) for Guest OS. # - Check License of VBoxGuestAdditions_*.iso, it's probably not GPL v2. # If so check if it is distributable. +# - resolve mess with subpackages? +# - addtions: iso (containing additions/*.iso) +# - guest: to be installed to guests (deps on x11 drivers) # # Conditional build: %bcond_without doc # don't build the documentation @@ -29,34 +32,39 @@ %define _enable_debug_packages 0 %endif -%define rel 1 +%define rel 9 %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.0 +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: 0d8c3d2cb4924140b602bfc115c5801f +# Source0-md5: 2092bba46baa62fab5520d67dee2ece8 Source1: http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso -# Source1-md5: 89957a63bdd79e15e0b1b8df35acc635 +# Source1-md5: 2eb3daf08b717c76ecf1aa56b82eab03 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 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}-disable_build_NetBiosBin.patch +# ubuntu patches +Patch10: 16-no-update.patch +Patch11: 18-system-xorg.patch +# /ubuntu patches URL: http://www.virtualbox.org/ BuildRequires: rpmbuild(macros) >= 1.535 %if %{with userspace} @@ -69,8 +77,11 @@ BuildRequires: libstdc++-multilib-static %if "%{pld_release}" == "ac" BuildRequires: XFree86-devel %else +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 BuildRequires: OpenGL-devel @@ -88,17 +99,19 @@ BuildRequires: curl-devel BuildRequires: gcc >= 5:3.2.3 BuildRequires: libIDL-devel BuildRequires: libcap-static +BuildRequires: libdrm-devel 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 -BuildRequires: mkisofs BuildRequires: makeself +BuildRequires: mkisofs BuildRequires: pam-devel +BuildRequires: pixman-devel BuildRequires: pkgconfig BuildRequires: pulseaudio-devel >= 0.9.0 BuildRequires: python-devel @@ -111,6 +124,8 @@ BuildRequires: texlive-fonts-bitstream BuildRequires: texlive-fonts-other BuildRequires: texlive-fonts-type1-bitstream BuildRequires: texlive-format-pdflatex +BuildRequires: texlive-latex-ucs +BuildRequires: texlive-xetex %endif BuildRequires: which BuildRequires: xalan-c-devel >= 1.10.0 @@ -138,22 +153,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 @@ -163,35 +188,41 @@ 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 lokalnej maszyny. Dzięki temu można szybko i łatwo przenieść konfigurację maszyny wirtualnej na inny komputer. +%package doc +Summary: VirtualBox documentation +Group: Documentation + +%description doc +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. @@ -213,10 +244,10 @@ You should install this package in your Host OS. %package guest Summary: VirtualBox Guest Additions Group: Base -Suggests: kernel%{_alt_kernel}-misc-vboxsf = %{version}-%{rel}@%{_kernel_ver_str} -Suggests: kernel%{_alt_kernel}-misc-vboxvideo = %{version}-%{rel}@%{_kernel_ver_str} Requires: xorg-driver-input-vboxmouse = %{version}-%{release} Requires: xorg-driver-video-vboxvideo = %{version}-%{release} +Suggests: kernel%{_alt_kernel}-misc-vboxsf = %{version}-%{rel}@%{_kernel_ver_str} +Suggests: kernel%{_alt_kernel}-misc-vboxvideo = %{version}-%{rel}@%{_kernel_ver_str} %description guest Tools that utilize kernel modules for supporting integration with the @@ -234,38 +265,40 @@ 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) <= 11.0 +Requires: xorg-xserver-server(xinput-abi) <= 13.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) <= 8.0 +Requires: xorg-xserver-server(videodrv-abi) <= 11.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 @@ -279,17 +312,17 @@ 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 @@ -301,17 +334,17 @@ Requires(postun): %releq_kernel 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 @@ -324,17 +357,17 @@ Requires(postun): %releq_kernel 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 @@ -347,17 +380,41 @@ Requires(postun): %releq_kernel 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: dev >= 2.9.0-7 +Requires: kernel%{_alt_kernel}-misc-vboxdrv +%if %{with dist_kernel} +%requires_releq_kernel +Requires(postun): %releq_kernel +%endif +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 @@ -371,17 +428,17 @@ 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 @@ -396,12 +453,12 @@ 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 @@ -411,11 +468,12 @@ Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik obsługi DRM. %patch3 -p1 %patch4 -p1 %patch5 -p1 +%patch6 -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 @@ -425,6 +483,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 - +%patch10 -p1 +%patch11 -p1 + %build %if %{with userspace} @@ -435,10 +496,16 @@ 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 && \ -kmk -j1 %{?with_verbose:KBUILD_VERBOSE=3} USER=$(id -un) +kmk -j1 \ + %{?with_verbose:KBUILD_VERBOSE=3} \ + USER=$(id -un) \ + VBOX_VERSION_STRING='$(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)'_PLD \ + XSERVER_VERSION="$XSERVER_VERSION" %endif %if %{with kernel} @@ -446,6 +513,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 @@ -473,21 +541,21 @@ 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 done -mv $RPM_BUILD_ROOT{%{_libdir}/%{pname},%{_pixmapsdir}}/VBox.png +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_19.so,%{_libdir}/xorg/modules/input/vboxmouse_drv.so} -mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxvideo_drv_19.so,%{_libdir}/xorg/modules/drivers/vboxvideo_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 @@ -498,7 +566,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 @@ -513,7 +581,14 @@ rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/tst* rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/scm # Guest Only Tools +install -d $RPM_BUILD_ROOT/etc/{X11/xinit/xinitrc.d,xdg/autostart} mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxService +mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxClient +mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxControl +install -p -D src/VBox/Additions/x11/Installer/98vboxadd-xclient \ + $RPM_BUILD_ROOT/etc/X11/xinit/xinitrc.d/98vboxadd-xclient.sh +cp -p src/VBox/Additions/x11/Installer/vboxclient.desktop \ + $RPM_BUILD_ROOT/etc/xdg/autostart/vboxclient.desktop # unknown - checkme %if 1 @@ -521,8 +596,6 @@ rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPInstall rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPLoggerCtl rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPUninstall rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/VBox.sh -rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/VBoxClient -rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/VBoxControl rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxshell.py rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/xpidl %endif @@ -538,9 +611,11 @@ 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 @@ -556,6 +631,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} @@ -563,6 +640,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} @@ -579,7 +657,7 @@ 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" %postun -n kernel%{_alt_kernel}-misc-vboxguest %depmod %{_kernel_ver} @@ -593,7 +671,7 @@ 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" %postun -n kernel%{_alt_kernel}-misc-vboxdrv %depmod %{_kernel_ver} @@ -607,7 +685,7 @@ 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" %postun -n kernel%{_alt_kernel}-misc-vboxnetadp %depmod %{_kernel_ver} @@ -621,7 +699,7 @@ 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" %postun -n kernel%{_alt_kernel}-misc-vboxnetflt %depmod %{_kernel_ver} @@ -632,10 +710,24 @@ 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" + +%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)" %postun -n kernel%{_alt_kernel}-misc-vboxsf %depmod %{_kernel_ver} @@ -655,12 +747,10 @@ fi %if %{with userspace} %files %defattr(644,root,root,755) -%{?with_doc:%doc %{outdir}/UserManual.pdf} %dir %{_libdir}/VirtualBox %dir %{_libdir}/VirtualBox/ExtensionPacks %dir %{_libdir}/VirtualBox/additions %dir %{_libdir}/VirtualBox/components -%dir %{_libdir}/VirtualBox/icons %dir %{_libdir}/VirtualBox/nls %attr(755,root,root) %{_bindir}/VBoxBFE %attr(755,root,root) %{_bindir}/VBoxHeadless @@ -675,6 +765,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 @@ -760,12 +851,9 @@ fi %lang(uk) %{_libdir}/VirtualBox/nls/*_uk.qm %lang(zh_CN) %{_libdir}/VirtualBox/nls/*_zh_CN.qm %lang(zh_TW) %{_libdir}/VirtualBox/nls/*_zh_TW.qm -%{_pixmapsdir}/VBox.png +%{_pixmapsdir}/virtualbox.png %{_desktopdir}/*.desktop -%{_libdir}/VirtualBox/icons/*/virtualbox-ova.png -%{_libdir}/VirtualBox/icons/*/virtualbox-ovf.png -%{_libdir}/VirtualBox/icons/*/virtualbox-vbox-extpack.png -%{_libdir}/VirtualBox/icons/*/virtualbox-vbox.png +%{_libdir}/VirtualBox/icons %{_libdir}/VirtualBox/virtualbox.xml %files additions @@ -776,8 +864,12 @@ fi %defattr(644,root,root,755) # NOTE: unfinished, should contain .desktop files for starting up mouse # integration and other desktop services -# NOTE: the filelist is incopmplete too +# NOTE: the filelist is incomplete too +%attr(755,root,root) %{_bindir}/VBoxClient +%attr(755,root,root) %{_bindir}/VBoxControl %attr(755,root,root) %{_bindir}/VBoxService +/etc/X11/xinit/xinitrc.d/98vboxadd-xclient.sh +/etc/xdg/autostart/vboxclient.desktop %attr(755,root,root) %{_libdir}/VirtualBox/additions/autorun.sh %attr(755,root,root) %{_libdir}/VirtualBox/additions/vboxadd @@ -788,6 +880,12 @@ fi %defattr(644,root,root,755) %attr(755,root,root) /%{_lib}/security/pam_vbox.so +%if %{with doc} +%files doc +%defattr(644,root,root,755) +%doc %{outdir}/UserManual.pdf +%endif + %files udev %defattr(644,root,root,755) %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/virtualbox.rules @@ -830,6 +928,11 @@ fi %attr(754,root,root) /etc/rc.d/init.d/vboxnetflt /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 +/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