X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=VirtualBox.spec;h=f1e6847e3130627db96c99d8d60d1ba1ece021fa;hb=c81fa4121fc38e2fdb1c73b4531e2a5efb336b7f;hp=a449b61655d62d676c623496cdbd627b1e8c5e5f;hpb=ffb38bb6fe36fdfffd205ec5e8189d2410028188;p=packages%2FVirtualBox.git diff --git a/VirtualBox.spec b/VirtualBox.spec index a449b61..f1e6847 100644 --- a/VirtualBox.spec +++ b/VirtualBox.spec @@ -27,26 +27,26 @@ %define _enable_debug_packages 0 %endif -%define rel 1 +%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 @@ -182,7 +185,7 @@ Summary: VirtualBox Guest Additions Group: Base Requires: %{name} = %{version}-%{release} -%description udev +%description additions VirtualBox Guest Additions. This package contains ISO9660 image with drivers for Guest OS. @@ -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 \ + $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir},%{_pixmapsdir},%{_desktopdir}} \ + $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,dri,input} -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 - -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