X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=VirtualBox.spec;h=f1e6847e3130627db96c99d8d60d1ba1ece021fa;hb=c81fa4121fc38e2fdb1c73b4531e2a5efb336b7f;hp=d31b465017df1f46c62c9b610208076259dbf56e;hpb=154d6840a3c6020c803149a3262e21acf958b414;p=packages%2FVirtualBox.git diff --git a/VirtualBox.spec b/VirtualBox.spec index d31b465..f1e6847 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,44 +32,35 @@ Summary: VirtualBox OSE - x86 hardware virtualizer Summary(pl.UTF-8): VirtualBox OSE - wirtualizator sprzętu x86 Name: %{pname}%{_alt_kernel} -Version: 2.1.2 +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: %{pname}-%{version}-OSE.tar.bz2 -# Source0-md5: ce1360945d65a79dbea1bec997c25c00 -#Source1: http://download.virtualbox.org/virtualbox/%{version}/UserManual.pdf -Source1: UserManual.pdf -# Source1-md5: 6637b80b4e175035dba5a1efd89a0498 -#Source2: http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso -Source2: VBoxGuestAdditions_%{version}.iso -# Source2-md5: 4c02fdb1b4e7f2d5ce7bb0ab8eca33d9 +Source0: http://download.virtualbox.org/virtualbox/%{version}/%{pname}-%{version}-OSE.tar.bz2 +# Source0-md5: 6cb3c8161ad878c2a2732137c1621dc4 +Source1: http://download.virtualbox.org/virtualbox/%{version}/UserManual.pdf +# Source1-md5: 8561a2b883fbede1e93b7dfb2238e7cc +Source2: http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso +# 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}-qt-paths.patch -Patch2: %{pname}-shared-libstdc++.patch -Patch3: %{pname}-disable-xclient-build.patch -Patch4: %{pname}-configure-spaces.patch -Patch6: %{pname}-vboxnetflt_export.patch +Patch1: %{pname}-configure-spaces.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 -%endif -%if "%{pld_release}" == "th" -BuildRequires: compat-gcc-34 -%endif -%if "%{pld_release}" == "ti" -BuildRequires: gcc3 +BuildRequires: libstdc++-multilib-static %endif %if "%{pld_release}" == "ac" BuildRequires: XFree86-devel @@ -73,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 @@ -93,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 @@ -108,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 @@ -176,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} @@ -187,13 +201,15 @@ 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 +%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 @@ -216,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 @@ -234,8 +271,8 @@ Provides: kernel(vboxnetflt) = %{version}-%{rel} VirtualBox OSE Network Filter Driver. %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 OSE - sterownik filtrowania sieci +dla systemu głównego. %package -n kernel%{_alt_kernel}-misc-vboxvfs Summary: Host file system access VFS for VirtualBox OSE @@ -244,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 @@ -255,8 +292,28 @@ Provides: kernel(vboxvfs) = %{version}-%{rel} Host file system access VFS for VirtualBox OSE. %description -n kernel%{_alt_kernel}-misc-vboxvfs -l pl.UTF-8 -Moduł jądra Linuksa dla VirtualBoksa OSE - dostęp do plików -systemu głównego z poziomu systemu gościa. +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 @@ -264,6 +321,8 @@ Summary(pl.UTF-8): Sterownik myszy dla systemu gościa w VirtualBoksie OSE Release: %{rel} Group: X11/Applications 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. @@ -276,7 +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-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. @@ -289,20 +351,18 @@ Sterownik grafiki dla systemu gościa w VirtualBoksie OSE. %patch0 -p1 %patch1 -p1 %patch2 -p1 - -%ifarch %{x8664} %patch3 -p1 -%endif -%patch4 -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 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 @@ -317,21 +377,23 @@ rm -rf PLD-MODULE-BUILD && mkdir PLD-MODULE-BUILD && cd PLD-MODULE-BUILD --with-gcc="%{__cc}" \ --with-g++="%{__cxx}" \ --disable-hardening \ - --disable-kmods \ - --disable-qt3 + --disable-kmods . ./env.sh && \ -kmk -j1 %{?with_verbose:KBUILD_VERBOSE=3} +kmk -j1 %{?with_verbose:KBUILD_VERBOSE=3} USER=$(id -un) %endif %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 @@ -339,53 +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{%{_bindir},%{_sbindir},%{_libdir},%{_pixmapsdir},%{_desktopdir}} \ + $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,dri,input} -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_15.so \ - $RPM_BUILD_ROOT%{_libdir}/xorg/modules/input/vboxmouse_drv.so -install out/linux.%{outdir}/release/bin/additions/vboxvideo_drv_15.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 @@ -396,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. @@ -412,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} @@ -440,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} @@ -457,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} @@ -468,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) @@ -476,26 +605,66 @@ 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 %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/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 @@ -506,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 @@ -517,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) @@ -533,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 @@ -554,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