]> git.pld-linux.org Git - packages/VirtualBox.git/blobdiff - VirtualBox.spec
- better systemd deps
[packages/VirtualBox.git] / VirtualBox.spec
index a5ee40e829c7188edaf6da4c21734a1f3437c765..fc15f6ab919f852ffe9cb986456a6bbcd0311e63 100644 (file)
@@ -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
 %define                _enable_debug_packages  0
 %endif
 
-%define                rel             4
+%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.4
+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: b4770ca14d1a8cbad9b3eb0e0028ff4b
+# Source0-md5: 263e495ef3a7ab75943af28d446ee702
 Source1:       http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso
-# Source1-md5: 88604a0e94bf1b8c0d0f18fe4314cfdf
+# 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
+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}
@@ -70,8 +84,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
@@ -89,29 +106,34 @@ 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
 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
 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
@@ -139,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
@@ -164,35 +196,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.
 
@@ -214,10 +252,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
@@ -235,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) <= 11.0
+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) <= 8.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
@@ -397,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
@@ -426,7 +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
+%patch10 -p1
+%patch11 -p1
+
 
 %build
 %if %{with userspace}
@@ -437,10 +517,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}
@@ -448,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
@@ -475,21 +562,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
@@ -500,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
@@ -515,7 +602,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
@@ -523,8 +617,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
@@ -534,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
@@ -558,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}
@@ -565,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}
@@ -581,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}
@@ -595,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}
@@ -609,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}
@@ -623,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}
@@ -634,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}
@@ -657,13 +789,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/icons/*x*
 %dir %{_libdir}/VirtualBox/nls
 %attr(755,root,root) %{_bindir}/VBoxBFE
 %attr(755,root,root) %{_bindir}/VBoxHeadless
@@ -678,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
@@ -763,12 +893,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
@@ -779,8 +906,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
@@ -791,6 +922,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
@@ -816,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*
 
This page took 0.189598 seconds and 4 git commands to generate.