X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=VirtualBox.spec;h=e094543f4e853df6361c88a080abd074913f1dc7;hb=68476099dbf6a65f669ade6a2addb99ea1870f98;hp=372788b677fe1a203921ab97b6807483568768a2;hpb=c061e8fb3e35433604a282aa7570c1f25cbdd929;p=packages%2FVirtualBox.git diff --git a/VirtualBox.spec b/VirtualBox.spec index 372788b..e094543 100644 --- a/VirtualBox.spec +++ b/VirtualBox.spec @@ -1,12 +1,17 @@ # -# TODO: +# TODO +# - java bindings # - Find how to compile with PLD CFLAGS/CXXFLAGS/LDFLAGS. # - Package SDK. # - 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 %bcond_without dist_kernel # without distribution kernel %bcond_without kernel # don't build kernel module %bcond_without userspace # don't build userspace package @@ -27,35 +32,39 @@ %define _enable_debug_packages 0 %endif -%define rel 3 +%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: 3.2.10 +Version: 4.1.8 Release: %{rel} License: GPL v2 Group: Applications/Emulators -Source0: http://download.virtualbox.org/virtualbox/%{version}/%{pname}-%{version}-OSE.tar.bz2 -# Source0-md5: 5aad764cd4e886f9d80d7bde42163c7a -Source1: http://download.virtualbox.org/virtualbox/%{version}/UserManual.pdf -# Source1-md5: 370bb3e893acffa584536c8f9e966c79 -Source2: http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso -# Source2-md5: 4fde0f279854334b84c01972fbed2874 +Source0: http://download.virtualbox.org/virtualbox/%{version}/%{pname}-%{version}.tar.bz2 +# Source0-md5: 2092bba46baa62fab5520d67dee2ece8 +Source1: http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso +# 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} @@ -68,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 @@ -83,18 +95,23 @@ BuildRequires: bash BuildRequires: bcc BuildRequires: bin86 BuildRequires: curl-devel +%{?with_doc:BuildRequires: docbook-dtd44-xml} 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: makeself +BuildRequires: mkisofs BuildRequires: pam-devel +BuildRequires: pixman-devel BuildRequires: pkgconfig BuildRequires: pulseaudio-devel >= 0.9.0 BuildRequires: python-devel @@ -102,6 +119,14 @@ BuildRequires: python-modules BuildRequires: qt4-build >= 4.2.0 BuildRequires: qt4-linguist BuildRequires: sed >= 4.0 +%if %{with doc} +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 BuildRequires: xerces-c-devel >= 2.6.0 @@ -128,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 @@ -153,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. @@ -203,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 @@ -224,45 +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 -%if "%{pld_release}" == "ti" -Requires: xorg-xserver-server(xinput-abi) <= 7.0 -%else -Requires: xorg-xserver-server(xinput-abi) <= 11.0 -%endif +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 -%if "%{pld_release}" == "ti" -Requires: xorg-xserver-server(videodrv-abi) <= 6.0 -%else -Requires: xorg-xserver-server(videodrv-abi) <= 8.0 -%endif +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 @@ -276,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 @@ -298,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 @@ -321,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 @@ -344,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 OSE - sterownik filtrowania sieci -dla systemu głównego. +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 - 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 @@ -368,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 @@ -393,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 @@ -407,12 +467,13 @@ Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik obsługi DRM. %patch2 -p1 %patch3 -p1 %patch4 -p1 +%patch5 -p1 +%patch6 -p1 -%{__sed} -i -e 's,$VBOX_DOC_PATH,%{_docdir}/%{name}-%{version},' src/VBox/Installer/linux/virtualbox.desktop -%{__sed} -i -e 's/Categories=.*/Categories=Utility;Emulator;/' src/VBox/Installer/linux/virtualbox.desktop +%{__sed} -i -e 's,@VBOX_DOC_PATH@,%{_docdir}/%{name}-%{version},' \ + -e 's/Categories=.*/Categories=Utility;Emulator;/' src/VBox/Installer/common/virtualbox.desktop.in -cp -a %{SOURCE1} . -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 @@ -422,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} @@ -429,11 +493,19 @@ echo "VBOX_WITH_TESTCASES := " > LocalConfig.kmk ./configure \ --with-gcc="%{__cc}" \ --with-g++="%{__cxx}" \ + %{!?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} @@ -441,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 @@ -448,15 +521,15 @@ cp -a vboxguest/Module.symvers vboxsf %build_kernel_modules -m vboxsf -C vboxsf -c %build_kernel_modules -m vboxvideo -C vboxvideo_drm cd ../.. -%{__cc} %{rpmcflags} %{rpmldflags} -Wall -Werror src/VBox/Additions/linux/sharedfolders/mount.vboxsf.c -o mount.vboxsf +%{__cc} %{rpmcflags} %{rpmldflags} -Wall -Werror src/VBox/Additions/linux/sharedfolders/{mount.vboxsf.c,vbsfmount.c} -o mount.vboxsf %endif %install rm -rf $RPM_BUILD_ROOT %if %{with userspace} -install -d \ - $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir},%{_pixmapsdir},%{_desktopdir}} \ +install -d $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir}/%{pname}/ExtensionPacks} \ + $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir}} \ $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,dri,input} # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition @@ -465,29 +538,24 @@ if cp -al VBox.png $RPM_BUILD_ROOT/Vbox.png 2>/dev/null; then rm -f $RPM_BUILD_ROOT/VBox.png fi -cp -a$l %{outdir} $RPM_BUILD_ROOT%{_libdir}/%{pname} +cp -a$l %{outdir}/* $RPM_BUILD_ROOT%{_libdir}/%{pname} -cp -a %{SOURCE2} $RPM_BUILD_ROOT%{_libdir}/VirtualBox/additions/VBoxGuestAdditions.iso -install -p %{SOURCE9} $RPM_BUILD_ROOT%{_sbindir}/mount.vdi +cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/VirtualBox/additions/VBoxGuestAdditions.iso +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 -%if "%{pld_release}" == "ti" -mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxmouse_drv_17.so,%{_libdir}/xorg/modules/input/vboxmouse_drv.so} -mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxvideo_drv_17.so,%{_libdir}/xorg/modules/drivers/vboxvideo_drv.so} -%else -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} -%endif +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,8 +747,8 @@ fi %if %{with userspace} %files %defattr(644,root,root,755) -%doc UserManual.pdf %dir %{_libdir}/VirtualBox +%dir %{_libdir}/VirtualBox/ExtensionPacks %dir %{_libdir}/VirtualBox/additions %dir %{_libdir}/VirtualBox/components %dir %{_libdir}/VirtualBox/nls @@ -669,20 +761,22 @@ fi %attr(755,root,root) %{_bindir}/VBoxXPCOMIPCD %attr(755,root,root) %{_bindir}/VirtualBox %attr(755,root,root) %{_sbindir}/mount.vdi -%attr(755,root,root) %{_libdir}/VirtualBox/VBoxSVC +%attr(755,root,root) %{_libdir}/VirtualBox/DBGCPlugInDiggers.so +%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/VBoxHeadless -%attr(755,root,root) %{_libdir}/VirtualBox/VBoxManage -%attr(755,root,root) %{_libdir}/VirtualBox/VBoxSDL -%attr(755,root,root) %{_libdir}/VirtualBox/VBoxTestOGL -%attr(755,root,root) %{_libdir}/VirtualBox/VBoxTunctl -%attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOMIPCD -%attr(755,root,root) %{_libdir}/VirtualBox/VBoxDD.so +%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 +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxDD.so %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDDU.so +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxExtPackHelperApp %attr(755,root,root) %{_libdir}/VirtualBox/VBoxGuestControlSvc.so %attr(755,root,root) %{_libdir}/VirtualBox/VBoxGuestPropSvc.so +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxHeadless %attr(755,root,root) %{_libdir}/VirtualBox/VBoxKeyboard.so +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxManage %attr(755,root,root) %{_libdir}/VirtualBox/VBoxNetAdpCtl %attr(755,root,root) %{_libdir}/VirtualBox/VBoxNetDHCP %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLhostcrutil.so @@ -695,15 +789,20 @@ fi %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM64.so %endif %attr(755,root,root) %{_libdir}/VirtualBox/VBoxRT.so +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxSDL %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedClipboard.so %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedCrOpenGL.so %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedFolders.so +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxSVC +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxSysInfo.sh +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxTestOGL +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxTunctl %attr(755,root,root) %{_libdir}/VirtualBox/VBoxVMM.so -%attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOM.so %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOMC.so +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOMIPCD +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOM.so %attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox %attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox-wrapper.sh -%attr(755,root,root) %{_libdir}/VirtualBox/VBoxSysInfo.sh %{_libdir}/VirtualBox/VBoxDD2GC.gc %{_libdir}/VirtualBox/VBoxDDGC.gc %{_libdir}/VirtualBox/VMMGC.gc @@ -752,8 +851,10 @@ 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 +%{_libdir}/VirtualBox/virtualbox.xml %files additions %defattr(644,root,root,755) @@ -763,13 +864,28 @@ 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 +%attr(755,root,root) %{_libdir}/VirtualBox/additions/vboxadd-service +%attr(755,root,root) %{_libdir}/VirtualBox/additions/vboxadd-x11 %files -n pam-pam_vbox %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 @@ -812,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