X-Git-Url: http://git.pld-linux.org/?p=packages%2FVirtualBox.git;a=blobdiff_plain;f=VirtualBox.spec;h=d83baa02962e243e7871c98bca6ad3f945afa82d;hp=7fd6c6e939bc7d6f264d3c3a5b99ca5899456d3f;hb=cbed52fa5fb42bb044e03507e435a7764d88898b;hpb=9d448cdcaa04bdb9f82e66e7ccf6052680906124 diff --git a/VirtualBox.spec b/VirtualBox.spec index 7fd6c6e..d83baa0 100644 --- a/VirtualBox.spec +++ b/VirtualBox.spec @@ -3,13 +3,14 @@ # - 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 propably not GPL v2. +# - Check License of VBoxGuestAdditions_*.iso, it's probably not GPL v2. # If so check if it is distributable. # # Conditional build: %bcond_without dist_kernel # without distribution kernel %bcond_without kernel # don't build kernel module %bcond_without userspace # don't build userspace package +%bcond_with force_userspace # force userspace build (useful if alt_kernel is set) %bcond_with verbose %if %{without kernel} @@ -18,6 +19,9 @@ %if "%{_alt_kernel}" != "%{nil}" %undefine with_userspace %endif +%if %{with force_userspace} +%define with_userspace 1 +%endif %if %{without userspace} # nothing to be placed to debuginfo package %define _enable_debug_packages 0 @@ -28,33 +32,35 @@ Summary: VirtualBox OSE - x86 hardware virtualizer Summary(pl.UTF-8): VirtualBox OSE - wirtualizator sprzętu x86 Name: %{pname}%{_alt_kernel} -Version: 2.2.0 +Version: 3.1.6 Release: %{rel} License: GPL v2 Group: Applications/Emulators Source0: http://download.virtualbox.org/virtualbox/%{version}/%{pname}-%{version}-OSE.tar.bz2 -# Source0-md5: 37bd7d58cf7b6c46998cfd82c1b70573 +# Source0-md5: 6cb3c8161ad878c2a2732137c1621dc4 Source1: http://download.virtualbox.org/virtualbox/%{version}/UserManual.pdf -# Source1-md5: e8333e067d76901e39879ef301f545af +# Source1-md5: 8561a2b883fbede1e93b7dfb2238e7cc Source2: http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso -# Source2-md5: 3ea8b6af3c6dfa331723c101ce3adc38 +# Source2-md5: f924e3a75c0d2d78f587b2ac89482074 Source3: %{pname}-vboxdrv.init -Source4: %{pname}-vboxadd.init +Source4: %{pname}-vboxguest.init Source5: %{pname}-vboxnetflt.init Source6: %{pname}-vboxvfs.init -Source7: %{pname}.desktop +Source7: %{pname}-vboxnetadp.init Source8: %{pname}.sh Source9: mount.vdi Patch0: %{pname}-configure.patch Patch1: %{pname}-configure-spaces.patch -Patch2: %{pname}-vboxnetflt_export.patch +Patch2: %{pname}-export_modules.patch +Patch3: %{pname}-VBoxSysInfo.patch URL: http://www.virtualbox.org/ -BuildRequires: rpmbuild(macros) >= 1.379 +BuildRequires: rpmbuild(macros) >= 1.531 %if %{with userspace} %ifarch %{x8664} BuildRequires: gcc-multilib BuildRequires: glibc-devel(i686) BuildRequires: libstdc++-multilib-devel +BuildRequires: libstdc++-multilib-static %endif %if "%{pld_release}" == "ac" BuildRequires: XFree86-devel @@ -62,19 +68,24 @@ BuildRequires: XFree86-devel BuildRequires: xorg-lib-libXcursor-devel BuildRequires: xorg-lib-libXmu-devel %endif +BuildRequires: OpenGL-GLU-devel BuildRequires: OpenGL-devel BuildRequires: QtGui-devel BuildRequires: QtNetwork-devel +BuildRequires: QtOpenGL-devel BuildRequires: SDL-devel >= 1.2.7 BuildRequires: acpica BuildRequires: alsa-lib-devel >= 1.0.6 BuildRequires: bash BuildRequires: bcc BuildRequires: bin86 +BuildRequires: curl-devel BuildRequires: gcc >= 5:3.2.3 BuildRequires: libIDL-devel +BuildRequires: libcap-static BuildRequires: libpng-devel >= 1.2.5 BuildRequires: libstdc++-devel >= 5:3.2.3 +BuildRequires: libstdc++-static >= 5:3.2.3 BuildRequires: libuuid-devel BuildRequires: libxml2-devel >= 2.6.26 BuildRequires: libxslt-devel >= 1.1.17 @@ -82,6 +93,7 @@ BuildRequires: libxslt-progs >= 1.1.17 BuildRequires: pkgconfig BuildRequires: pulseaudio-devel >= 0.9.0 BuildRequires: python-devel +BuildRequires: python-modules BuildRequires: qt4-build >= 4.2.0 BuildRequires: qt4-linguist BuildRequires: sed >= 4.0 @@ -97,16 +109,19 @@ Requires(post,preun): /sbin/chkconfig Requires(postun): /usr/sbin/groupdel Requires(pre): /usr/bin/getgid Requires(pre): /usr/sbin/groupadd +Requires: QtCore >= 4.6.1 Suggests: gxmessage Provides: group(vbox) ExclusiveArch: %{ix86} %{x8664} BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %ifarch %{x8664} -%define outdir amd64 +%define vbox_platform linux.amd64 %else -%define outdir x86 +%define vbox_platform linux.x86 %endif +%define outdir out/%{vbox_platform}/release/bin +%define _sbindir /sbin %description InnoTek VirtualBox OSE is a general-purpose full virtualizer for x86 @@ -165,7 +180,17 @@ udev rules for VirtualBox OSE kernel modules. %description udev -l pl.UTF-8 Reguły udev dla modułów jądra Linuksa dla VirtualBoksa. -%package -n kernel%{_alt_kernel}-misc-vboxadd +%package additions +Summary: VirtualBox Guest Additions +Group: Base +Requires: %{name} = %{version}-%{release} + +%description additions +VirtualBox Guest Additions. + +This package contains ISO9660 image with drivers for Guest OS. + +%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 Release: %{rel}@%{_kernel_ver_str} @@ -176,14 +201,16 @@ Requires: dev >= 2.9.0-7 %requires_releq_kernel Requires(postun): %releq_kernel %endif -Provides: kernel(vboxadd) = %{version}-%{rel} +Provides: kernel(vboxguest) = %{version}-%{rel} +Obsoletes: kernel%{_alt_kernel}-misc-vboxadd +Conflicts: kernel%{_alt_kernel}-misc-vboxdrv -%description -n kernel%{_alt_kernel}-misc-vboxadd +%description -n kernel%{_alt_kernel}-misc-vboxguest VirtualBox OSE Guest Additions for Linux Module. -%description -n kernel%{_alt_kernel}-misc-vboxadd -l pl.UTF-8 -Moduł jądra Linuksa vboxadd dla VirtualBoksa OSE - dodatki dla systemu -gościa. +%description -n kernel%{_alt_kernel}-misc-vboxguest -l pl.UTF-8 +Moduł jądra Linuksa vboxguest dla VirtualBoksa OSE - dodatki dla +systemu gościa. %package -n kernel%{_alt_kernel}-misc-vboxdrv Summary: VirtualBox OSE Support Driver @@ -205,8 +232,29 @@ VirtualBox OSE Support Driver. Moduł jądra Linuksa dla VirtualBoksa OSE - 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 +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(vboxnetflt) = %{version}-%{rel} + +%description -n kernel%{_alt_kernel}-misc-vboxnetadp +VirtualBox OSE Network Adapter Driver. + +%description -n kernel%{_alt_kernel}-misc-vboxnetadp -l pl.UTF-8 +Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik witrualnej karty +sieciowej. + %package -n kernel%{_alt_kernel}-misc-vboxnetflt -Summary: VirtualBox OSE Guest Additions for Linux Module +Summary: VirtualBox OSE Network Filter Driver Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE Release: %{rel}@%{_kernel_ver_str} Group: Base/Kernel @@ -233,7 +281,7 @@ Release: %{rel}@%{_kernel_ver_str} Group: Base/Kernel Requires(post,postun): /sbin/depmod Requires: dev >= 2.9.0-7 -Requires: kernel%{_alt_kernel}-misc-vboxadd +Requires: kernel%{_alt_kernel}-misc-vboxguest %if %{with dist_kernel} %requires_releq_kernel Requires(postun): %releq_kernel @@ -247,14 +295,34 @@ Host file system access VFS for VirtualBox OSE. Moduł jądra Linuksa dla VirtualBoksa OSE - 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 +Release: %{rel}@%{_kernel_ver_str} +Group: Base/Kernel +Requires(post,postun): /sbin/depmod +Requires: dev >= 2.9.0-7 +%if %{with dist_kernel} +%requires_releq_kernel +%requires_releq_kernel -n drm +Requires(postun): %releq_kernel +%endif +Provides: kernel(vboxvideo) = %{version}-%{rel} + +%description -n kernel%{_alt_kernel}-misc-vboxvideo +DRM support for VirtualBox OSE. + +%description -n kernel%{_alt_kernel}-misc-vboxvideo -l pl.UTF-8 +Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik obsługi DRM. + %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 Release: %{rel} Group: X11/Applications -Requires: xorg-xserver-server(xinput-abi) >= 4.0 -Requires: xorg-xserver-server(xinput-abi) < 5.0 Requires: xorg-xserver-server >= 1.0.99.901 +Requires: xorg-xserver-server(xinput-abi) <= 7.0 +Requires: xorg-xserver-server(xinput-abi) >= 4.0 %description -n xorg-driver-input-vboxmouse X.org mouse driver for VirtualBox OSE guest OS. @@ -267,9 +335,10 @@ Summary: X.org video driver for VirtualBox OSE guest OS Summary(pl.UTF-8): Sterownik grafiki dla systemu gościa w VirtualBoksie OSE Release: %{rel} Group: X11/Applications -Requires: xorg-xserver-server(videodrv-abi) < 6.0 -Requires: xorg-xserver-server(videodrv-abi) >= 2.0 +Requires: xorg-xserver-libdri >= 1.7.4 Requires: xorg-xserver-server >= 1.0.99.901 +Requires: xorg-xserver-server(videodrv-abi) <= 6.0 +Requires: xorg-xserver-server(videodrv-abi) >= 2.0 %description -n xorg-driver-video-vboxvideo X.org video driver for VirtualBox OSE guest OS. @@ -282,13 +351,18 @@ Sterownik grafiki dla systemu gościa w VirtualBoksie OSE. %patch0 -p1 %patch1 -p1 %patch2 -p1 +%patch3 -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 cat <<'EOF' > udev.conf -KERNEL=="vboxdrv", NAME="%k", GROUP="vbox", MODE="0660" -KERNEL=="vboxadd", NAME="%k", GROUP="vbox", MODE="0660" +KERNEL=="vboxdrv", GROUP="vbox", MODE="0660" +KERNEL=="vboxguest", GROUP="vbox", MODE="0660" +KERNEL=="vboxnetctl", GROUP="vbox", MODE="0660" EOF -install %{SOURCE1} . +cp -a %{SOURCE1} . sed 's#@LIBDIR@#%{_libdir}#' < %{SOURCE8} > VirtualBox-wrapper.sh rm -rf PLD-MODULE-BUILD && mkdir PLD-MODULE-BUILD && cd PLD-MODULE-BUILD @@ -296,9 +370,6 @@ rm -rf PLD-MODULE-BUILD && mkdir PLD-MODULE-BUILD && cd PLD-MODULE-BUILD tar -zxf modules.tar.gz && rm -f modules.tar.gz ../src/VBox/HostDrivers/linux/export_modules modules.tar.gz --without-hardening && \ tar -zxf modules.tar.gz && rm -f modules.tar.gz -#./src/VBox/HostDrivers/Support/linux/Makefile:70: -#./PLD-MODULE-BUILD/vboxdrv/Makefile:70: - %build %if %{with userspace} @@ -314,12 +385,15 @@ kmk -j1 %{?with_verbose:KBUILD_VERBOSE=3} USER=$(id -un) %if %{with kernel} cd PLD-MODULE-BUILD -%build_kernel_modules -m vboxadd -C vboxadd +%build_kernel_modules -m vboxguest -C vboxguest %build_kernel_modules -m vboxdrv -C vboxdrv +%build_kernel_modules -m vboxnetadp -C vboxnetadp %build_kernel_modules -m vboxnetflt -C vboxnetflt -cp -a vboxadd/Module.symvers vboxvfs +cp -a vboxguest/Module.symvers vboxvfs %build_kernel_modules -m vboxvfs -C vboxvfs -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 %endif %install @@ -327,55 +401,89 @@ rm -rf $RPM_BUILD_ROOT %if %{with userspace} install -d \ - $RPM_BUILD_ROOT{%{_bindir},%{_pixmapsdir},%{_desktopdir}} \ - $RPM_BUILD_ROOT%{_libdir}/VirtualBox \ - $RPM_BUILD_ROOT/sbin + $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir},%{_pixmapsdir},%{_desktopdir}} \ + $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,dri,input} -install %{SOURCE9} $RPM_BUILD_ROOT/sbin/mount.vdi -install VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_libdir}/VirtualBox -for f in {VBox{BFE,Headless,Manage,SDL,SVC,Tunctl,XPCOMIPCD},VirtualBox}; do - install out/linux.%{outdir}/release/bin/$f $RPM_BUILD_ROOT%{_libdir}/VirtualBox/$f - ln -s %{_libdir}/VirtualBox/VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_bindir}/$f -done - -install out/linux.%{outdir}/release/bin/VBox*.so \ - $RPM_BUILD_ROOT%{_libdir}/VirtualBox -install out/linux.%{outdir}/release/bin/{VBox{DD,DD2}{GC.gc,R0.r0},VMM{GC.gc,R0.r0}} \ - $RPM_BUILD_ROOT%{_libdir}/VirtualBox +# test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition +if cp -al VBox.png $RPM_BUILD_ROOT/Vbox.png 2>/dev/null; then + l=l + rm -f $RPM_BUILD_ROOT/VBox.png +fi -install -d $RPM_BUILD_ROOT%{_libdir}/VirtualBox/additions -install -d $RPM_BUILD_ROOT%{_libdir}/VirtualBox/nls +cp -a$l %{outdir} $RPM_BUILD_ROOT%{_libdir}/%{pname} -install %{SOURCE2} $RPM_BUILD_ROOT%{_libdir}/VirtualBox/additions/VBoxGuestAdditions.iso -cp -a out/linux.%{outdir}/release/bin/components $RPM_BUILD_ROOT%{_libdir}/VirtualBox -cp -a out/linux.%{outdir}/release/bin/nls/* $RPM_BUILD_ROOT%{_libdir}/VirtualBox/nls +cp -a %{SOURCE2} $RPM_BUILD_ROOT%{_libdir}/VirtualBox/additions/VBoxGuestAdditions.iso +install -p %{SOURCE9} $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 -install out/linux.%{outdir}/release/bin/additions/mountvboxsf \ - $RPM_BUILD_ROOT%{_bindir} +mv $RPM_BUILD_ROOT{%{_libdir}/%{pname},%{_pixmapsdir}}/VBox.png +mv $RPM_BUILD_ROOT{%{_libdir}/%{pname},%{_desktopdir}}/virtualbox.desktop -install -d $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,input} -install out/linux.%{outdir}/release/bin/additions/vboxmouse_drv_16.so \ - $RPM_BUILD_ROOT%{_libdir}/xorg/modules/input/vboxmouse_drv.so -install out/linux.%{outdir}/release/bin/additions/vboxvideo_drv_16.so \ - $RPM_BUILD_ROOT%{_libdir}/xorg/modules/drivers/vboxvideo_drv.so +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} +mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/VBoxOGL.so,%{_libdir}/xorg/modules/dri/vboxvideo_dri.so} +# xorg other driver versions +rm -f $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxmouse_drv*.{o,so} +rm -f $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxvideo_drv*.{o,so} -install out/linux.%{outdir}/release/bin/VBox.png $RPM_BUILD_ROOT%{_pixmapsdir}/VBox.png -install %{SOURCE7} $RPM_BUILD_ROOT%{_desktopdir}/%{pname}.desktop +# XXX: where else to install them that vboxvideo_dri.so finds them? patch with rpath? +mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLcrutil.so +mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpackspu.so +mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLerrorspu.so +mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLfeedbackspu.so +mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpassthroughspu.so install -d $RPM_BUILD_ROOT/etc/udev/rules.d -install udev.conf $RPM_BUILD_ROOT/etc/udev/rules.d/virtualbox.rules +cp -a udev.conf $RPM_BUILD_ROOT/etc/udev/rules.d/virtualbox.rules + +# cleanup unpackaged +rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/{src,sdk,testcase} +rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/src +rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxkeyboard.tar.gz +rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/tst* + +# unknown - checkme +rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/EfiThunk +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}/VBoxEFI32.fd +rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/VBoxEFI64.fd +rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/VBoxClient +rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/VBoxControl +rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/VBoxOGLarrayspu.so +rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/VBoxService +rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxshell.py +rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/xpidl + +# packaged by kernel part +rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/mount.vboxsf %endif %if %{with kernel} -install -d $RPM_BUILD_ROOT/etc/rc.d/init.d -install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxdrv -install %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxadd -install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxnetflt -install %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxvfs -%install_kernel_modules -m PLD-MODULE-BUILD/vboxadd/vboxadd -d misc +install -d $RPM_BUILD_ROOT{/etc/{rc.d/init.d,modprobe.d},%{_sbindir}} +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/vboxvfs +install -p %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxnetadp %install_kernel_modules -m PLD-MODULE-BUILD/vboxdrv/vboxdrv -d misc +%install_kernel_modules -m PLD-MODULE-BUILD/vboxguest/vboxguest -d misc +%install_kernel_modules -m PLD-MODULE-BUILD/vboxnetadp/vboxnetadp -d misc %install_kernel_modules -m PLD-MODULE-BUILD/vboxnetflt/vboxnetflt -d misc %install_kernel_modules -m PLD-MODULE-BUILD/vboxvfs/vboxvfs -d misc +%install_kernel_modules -m PLD-MODULE-BUILD/vboxvideo_drm/vboxvideo -d misc + +install -p mount.vboxsf $RPM_BUILD_ROOT%{_sbindir}/mount.vboxsf + +cat <<'EOF' > $RPM_BUILD_ROOT/etc/modprobe.d/vboxvfs.conf +# Filesystem name has got it's name from Shared Folders, while module is from VFS +alias vboxsf vboxvfs +EOF %endif %clean @@ -386,12 +494,23 @@ rm -rf $RPM_BUILD_ROOT %post cat << 'EOF' -NOTE: You must also install kernel module for this software to work - kernel-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str} - kernel-desktop-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str} - kernel-laptop-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str} - kernel-vanilla-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str} - etc. +You must also install kernel module for this software to work: + kernel-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str} + +Additionally you might want to install: + kernel-misc-vboxnetadp-%{version}-%{rel}@%{_kernel_ver_str} + kernel-misc-vboxnetflt-%{version}-%{rel}@%{_kernel_ver_str} + +On Guest Linux system you might want to install: + kernel-misc-vboxguest-%{version}-%{rel}@%{_kernel_ver_str} + kernel-misc-vboxvfs-%{version}-%{rel}@%{_kernel_ver_str} + kernel-misc-vboxvideo-%{version}-%{rel}@%{_kernel_ver_str} + +NOTE: for different kernel brands append after word kernel the brand, like: + kernel-desktop-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str} + kernel-laptop-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str} + kernel-vanilla-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str} + ...etc. Depending on which kernel brand You use. @@ -402,24 +521,24 @@ if [ "$1" = "0" ]; then %groupremove vbox fi -%post -n kernel%{_alt_kernel}-misc-vboxadd +%post -n kernel%{_alt_kernel}-misc-vboxguest %depmod %{_kernel_ver} -/sbin/chkconfig --add vboxadd -%service vboxadd restart "VirtualBox OSE guest additions driver" +/sbin/chkconfig --add vboxguest +%service vboxguest restart "VirtualBox OSE Guest additions driver" -%postun -n kernel%{_alt_kernel}-misc-vboxadd +%postun -n kernel%{_alt_kernel}-misc-vboxguest %depmod %{_kernel_ver} -%preun -n kernel%{_alt_kernel}-misc-vboxadd +%preun -n kernel%{_alt_kernel}-misc-vboxguest if [ "$1" = "0" ]; then - %service vboxadd stop - /sbin/chkconfig --del vboxadd + %service vboxguest stop + /sbin/chkconfig --del vboxguest fi %post -n kernel%{_alt_kernel}-misc-vboxdrv %depmod %{_kernel_ver} /sbin/chkconfig --add vboxdrv -%service vboxdrv restart "VirtualBox OSE driver" +%service vboxdrv restart "VirtualBox OSE Support Driver" %postun -n kernel%{_alt_kernel}-misc-vboxdrv %depmod %{_kernel_ver} @@ -430,10 +549,24 @@ if [ "$1" = "0" ]; then /sbin/chkconfig --del vboxdrv fi +%post -n kernel%{_alt_kernel}-misc-vboxnetadp +%depmod %{_kernel_ver} +/sbin/chkconfig --add vboxnetadp +%service vboxnetadp restart "VirtualBox OSE Network HostOnly driver" + +%postun -n kernel%{_alt_kernel}-misc-vboxnetadp +%depmod %{_kernel_ver} + +%preun -n kernel%{_alt_kernel}-misc-vboxnetadp +if [ "$1" = "0" ]; then + %service vboxnetadp stop + /sbin/chkconfig --del vboxnetadp +fi + %post -n kernel%{_alt_kernel}-misc-vboxnetflt %depmod %{_kernel_ver} /sbin/chkconfig --add vboxnetflt -%service vboxdrv restart "VirtualBox OSE Network Filter driver" +%service vboxnetflt restart "VirtualBox OSE Network Filter driver" %postun -n kernel%{_alt_kernel}-misc-vboxnetflt %depmod %{_kernel_ver} @@ -447,7 +580,7 @@ fi %post -n kernel%{_alt_kernel}-misc-vboxvfs %depmod %{_kernel_ver} /sbin/chkconfig --add vboxvfs -%service vboxvfs restart "VirtualBox OSE guest additions VFS driver" +%service vboxvfs restart "VirtualBox OSE Host file system access VFS" %postun -n kernel%{_alt_kernel}-misc-vboxvfs %depmod %{_kernel_ver} @@ -458,6 +591,12 @@ if [ "$1" = "0" ]; then /sbin/chkconfig --del vboxvfs fi +%post -n kernel%{_alt_kernel}-misc-vboxvideo +%depmod %{_kernel_ver} + +%postun -n kernel%{_alt_kernel}-misc-vboxvideo +%depmod %{_kernel_ver} + %if %{with userspace} %files %defattr(644,root,root,755) @@ -466,8 +605,13 @@ fi %dir %{_libdir}/VirtualBox/additions %dir %{_libdir}/VirtualBox/components %dir %{_libdir}/VirtualBox/nls -%attr(755,root,root) %{_bindir}/mountvboxsf -%attr(755,root,root) %{_bindir}/VBox* +%attr(755,root,root) %{_bindir}/VBoxBFE +%attr(755,root,root) %{_bindir}/VBoxHeadless +%attr(755,root,root) %{_bindir}/VBoxManage +%attr(755,root,root) %{_bindir}/VBoxSDL +%attr(755,root,root) %{_bindir}/VBoxSVC +%attr(755,root,root) %{_bindir}/VBoxTunctl +%attr(755,root,root) %{_bindir}/VBoxXPCOMIPCD %attr(755,root,root) %{_bindir}/VirtualBox %attr(755,root,root) /sbin/mount.vdi %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSVC @@ -475,18 +619,52 @@ fi %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/VBox*.so +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxDD.so +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxDD2.so +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxDDU.so +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxGuestPropSvc.so +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxKeyboard.so +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxNetAdpCtl +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxNetDHCP +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLhostcrutil.so +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLhosterrorspu.so +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLrenderspu.so +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxPython.so +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxPython2_6.so +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM.so +%ifarch %{ix86} +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM32.so +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM64.so +%endif +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxRT.so +%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/VBoxVMM.so +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOM.so +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOMC.so %attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox %attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox-wrapper.sh -%{_libdir}/VirtualBox/*.gc -%{_libdir}/VirtualBox/*.r0 -%{_libdir}/VirtualBox/additions/* -%{_libdir}/VirtualBox/components/* +%attr(755,root,root) %{_libdir}/VirtualBox/VBoxSysInfo.sh +%{_libdir}/VirtualBox/VBoxDD2GC.gc +%{_libdir}/VirtualBox/VBoxDDGC.gc +%{_libdir}/VirtualBox/VMMGC.gc +%{_libdir}/VirtualBox/VBoxDD2R0.r0 +%{_libdir}/VirtualBox/VBoxDDR0.r0 +%{_libdir}/VirtualBox/VMMR0.r0 +%{_libdir}/VirtualBox/components/VBoxXPCOMBase.xpt +%{_libdir}/VirtualBox/components/VirtualBox_XPCOM.xpt +%attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxC.so +%attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxSVCM.so +%attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxXPCOMIPCC.so %lang(ar) %{_libdir}/VirtualBox/nls/*_ar.qm +%lang(bg) %{_libdir}/VirtualBox/nls/*_bg.qm %lang(ca) %{_libdir}/VirtualBox/nls/*_ca.qm %lang(cs) %{_libdir}/VirtualBox/nls/*_cs.qm +%lang(da) %{_libdir}/VirtualBox/nls/*_da.qm %lang(de) %{_libdir}/VirtualBox/nls/*_de.qm %lang(el) %{_libdir}/VirtualBox/nls/*_el.qm %lang(es) %{_libdir}/VirtualBox/nls/*_es.qm @@ -497,6 +675,7 @@ fi %lang(id) %{_libdir}/VirtualBox/nls/*_id.qm %lang(it) %{_libdir}/VirtualBox/nls/*_it.qm %lang(ja) %{_libdir}/VirtualBox/nls/*_ja.qm +%lang(km_KH) %{_libdir}/VirtualBox/nls/*_km_KH.qm %lang(ko) %{_libdir}/VirtualBox/nls/*_ko.qm %lang(nl) %{_libdir}/VirtualBox/nls/*_nl.qm %lang(pl) %{_libdir}/VirtualBox/nls/*_pl.qm @@ -508,10 +687,15 @@ fi %lang(sr) %{_libdir}/VirtualBox/nls/*_sr.qm %lang(sv) %{_libdir}/VirtualBox/nls/*_sv.qm %lang(tr) %{_libdir}/VirtualBox/nls/*_tr.qm +%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 -%{_desktopdir}/%{pname}.desktop +%{_desktopdir}/*.desktop + +%files additions +%defattr(644,root,root,755) +%{_libdir}/VirtualBox/additions/VBoxGuestAdditions.iso %files udev %defattr(644,root,root,755) @@ -524,19 +708,31 @@ fi %files -n xorg-driver-video-vboxvideo %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/xorg/modules/drivers/vboxvideo_drv.so +%attr(755,root,root) %{_libdir}/xorg/modules/dri/vboxvideo_dri.so +# vboxvideo_dri.so deps +%attr(755,root,root) %{_libdir}/VBoxOGLcrutil.so +%attr(755,root,root) %{_libdir}/VBoxOGLerrorspu.so +%attr(755,root,root) %{_libdir}/VBoxOGLfeedbackspu.so +%attr(755,root,root) %{_libdir}/VBoxOGLpackspu.so +%attr(755,root,root) %{_libdir}/VBoxOGLpassthroughspu.so %endif %if %{with kernel} -%files -n kernel%{_alt_kernel}-misc-vboxadd +%files -n kernel%{_alt_kernel}-misc-vboxguest %defattr(644,root,root,755) -%attr(754,root,root) /etc/rc.d/init.d/vboxadd -/lib/modules/%{_kernel_ver}/misc/vboxadd.ko* +%attr(754,root,root) /etc/rc.d/init.d/vboxguest +/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 /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 +/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 @@ -545,5 +741,11 @@ fi %files -n kernel%{_alt_kernel}-misc-vboxvfs %defattr(644,root,root,755) %attr(754,root,root) /etc/rc.d/init.d/vboxvfs +%attr(755,root,root) %{_sbindir}/mount.vboxsf +/etc/modprobe.d/vboxvfs.conf /lib/modules/%{_kernel_ver}/misc/vboxvfs.ko* + +%files -n kernel%{_alt_kernel}-misc-vboxvideo +%defattr(644,root,root,755) +/lib/modules/%{_kernel_ver}/misc/vboxvideo.ko* %endif