]> git.pld-linux.org Git - packages/VirtualBox.git/blobdiff - VirtualBox.spec
- release 3
[packages/VirtualBox.git] / VirtualBox.spec
index d43f30804792b1db003ecd51514376cb5134b140..f1e6847e3130627db96c99d8d60d1ba1ece021fa 100644 (file)
 %define                _enable_debug_packages  0
 %endif
 
-%define                rel             2
+%define                rel             3
 %define                pname   VirtualBox
 Summary:       VirtualBox OSE - x86 hardware virtualizer
 Summary(pl.UTF-8):     VirtualBox OSE - wirtualizator sprzętu x86
 Name:          %{pname}%{_alt_kernel}
-Version:       3.1.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: 442dff6ff4a8fe92d223d303b475a146
+# Source0-md5: 6cb3c8161ad878c2a2732137c1621dc4
 Source1:       http://download.virtualbox.org/virtualbox/%{version}/UserManual.pdf
-# Source1-md5: 51a6eebe5fedc6ac386fe39c1fba5b98
+# Source1-md5: 8561a2b883fbede1e93b7dfb2238e7cc
 Source2:       http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso
-# Source2-md5: 75c4a7f99fa793492146555a6a54c9d3
+# Source2-md5: f924e3a75c0d2d78f587b2ac89482074
 Source3:       %{pname}-vboxdrv.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
@@ -54,7 +54,7 @@ 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
@@ -72,6 +72,7 @@ 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
@@ -108,16 +109,18 @@ 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
@@ -200,13 +203,14 @@ Requires(postun): %releq_kernel
 %endif
 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.
 
 %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 OSE - dodatki dla
+systemu gościa.
 
 %package -n kernel%{_alt_kernel}-misc-vboxdrv
 Summary:       VirtualBox OSE Support Driver
@@ -228,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
@@ -279,6 +304,7 @@ 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}
@@ -309,6 +335,7 @@ 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
@@ -326,12 +353,16 @@ Sterownik grafiki dla systemu gościa w VirtualBoksie OSE.
 %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=="vboxguest", 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
@@ -339,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}
@@ -359,6 +387,7 @@ kmk -j1 %{?with_verbose:KBUILD_VERBOSE=3} USER=$(id -un)
 cd PLD-MODULE-BUILD
 %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 vboxguest/Module.symvers vboxvfs
 %build_kernel_modules -m vboxvfs -C vboxvfs -c
@@ -372,44 +401,67 @@ rm -rf $RPM_BUILD_ROOT
 
 %if %{with userspace}
 install -d \
-       $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_pixmapsdir},%{_desktopdir}} \
-       $RPM_BUILD_ROOT%{_libdir}/VirtualBox \
-
-install -p %{SOURCE9} $RPM_BUILD_ROOT%{_sbindir}/mount.vdi
-install -p VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_libdir}/VirtualBox
-for f in {VBox{BFE,Headless,Manage,SDL,SVC,Tunctl,XPCOMIPCD},VirtualBox}; do
-       install -p 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
+       $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir},%{_pixmapsdir},%{_desktopdir}} \
+       $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,dri,input}
 
-install -p out/linux.%{outdir}/release/bin/VBox{TestOGL,NetAdpCtl,NetDHCP} \
-       $RPM_BUILD_ROOT%{_libdir}/VirtualBox
-install -p out/linux.%{outdir}/release/bin/VBox*.so \
-       $RPM_BUILD_ROOT%{_libdir}/VirtualBox
-install -p out/linux.%{outdir}/release/bin/{VBox{DD,DD2}{GC.gc,R0.r0},VMM{GC.gc,R0.r0}} \
-       $RPM_BUILD_ROOT%{_libdir}/VirtualBox
-install -p out/linux.%{outdir}/release/bin/VBoxSysInfo.sh \
-       $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}
 
 cp -a %{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
+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 -d $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,input}
+mv $RPM_BUILD_ROOT{%{_libdir}/%{pname},%{_pixmapsdir}}/VBox.png
+mv $RPM_BUILD_ROOT{%{_libdir}/%{pname},%{_desktopdir}}/virtualbox.desktop 
 
-install -p out/linux.%{outdir}/release/bin/additions/vboxmouse_drv_17.so       \
-       $RPM_BUILD_ROOT%{_libdir}/xorg/modules/input/vboxmouse_drv.so
-install -p out/linux.%{outdir}/release/bin/additions/vboxvideo_drv_17.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 -p out/linux.%{outdir}/release/bin/VBox.png $RPM_BUILD_ROOT%{_pixmapsdir}/VBox.png
-cp -a %{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
 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}
@@ -418,8 +470,10 @@ 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
@@ -444,6 +498,7 @@ 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:
@@ -494,6 +549,20 @@ 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
@@ -586,11 +655,11 @@ fi
 %{_libdir}/VirtualBox/VBoxDD2R0.r0
 %{_libdir}/VirtualBox/VBoxDDR0.r0
 %{_libdir}/VirtualBox/VMMR0.r0
-%{_libdir}/VirtualBox/components/VBoxC.so
-%{_libdir}/VirtualBox/components/VBoxSVCM.so
 %{_libdir}/VirtualBox/components/VBoxXPCOMBase.xpt
-%{_libdir}/VirtualBox/components/VBoxXPCOMIPCC.so
 %{_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
@@ -622,9 +691,10 @@ fi
 %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
@@ -638,6 +708,13 @@ 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}
@@ -651,6 +728,11 @@ fi
 %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
This page took 0.094528 seconds and 4 git commands to generate.