]> git.pld-linux.org Git - packages/VirtualBox.git/blobdiff - VirtualBox.spec
- identify our build as _PLD, see http://www.virtualbox.org/wiki/Editions
[packages/VirtualBox.git] / VirtualBox.spec
index 890eb86254d1c96a3ea0ece09b4888d1c91456fe..e2baed295792fc2d3d7a14cf1e4a07b59c95ff13 100644 (file)
@@ -1,12 +1,17 @@
 #
-# TODO:
+# TODO
+# - java bindings
 # - 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 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
 %bcond_without dist_kernel     # without distribution kernel
 %bcond_without kernel          # don't build kernel module
 %bcond_without userspace       # don't build userspace package
 %define                _enable_debug_packages  0
 %endif
 
-%define                rel             8.1
+%define                rel             1
 %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.2.8
+Version:       4.0.6
 Release:       %{rel}
 License:       GPL v2
 Group:         Applications/Emulators
-Source0:       http://download.virtualbox.org/virtualbox/%{version}/%{pname}-%{version}-OSE.tar.bz2
-# Source0-md5: 84de65bddb365ba61eddd3b112b303e5
-Source1:       http://download.virtualbox.org/virtualbox/%{version}/UserManual.pdf
-# Source1-md5: 322feb471c55b81e95e0caecdc93efb0
-Source2:       http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso
-# Source2-md5: 023cc07b07e0b3850c5e8c354ddc6075
+Source0:       http://download.virtualbox.org/virtualbox/%{version}/%{pname}-%{version}.tar.bz2
+# Source0-md5: cf274f0585c35c5c137e2bd9b48b462a
+Source1:       http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso
+# Source1-md5: d3c3d1848cfcb005f86db622d8a3f7db
 Source3:       %{pname}-vboxdrv.init
 Source4:       %{pname}-vboxguest.init
 Source5:       %{pname}-vboxnetflt.init
@@ -51,12 +54,19 @@ Source7:    %{pname}-vboxnetadp.init
 Source8:       %{pname}.sh
 Source9:       mount.vdi
 Source10:      udev.rules
-Patch0:                %{pname}-configure.patch
-Patch1:                %{pname}-configure-spaces.patch
-Patch2:                %{pname}-export_modules.patch
-Patch3:                %{pname}-VBoxSysInfo.patch
-Patch4:                %{pname}-warning_workaround.patch
-Patch5:                %{pname}-vnc.patch
+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
+# ubuntu patches
+Patch7:                16-no-update.patch
+Patch8:                18-system-xorg.patch
+Patch9:                22-no-static-libstdcpp.patch
+# /ubuntu patches
+Patch10:       %{pname}-gcc.patch
 URL:           http://www.virtualbox.org/
 BuildRequires: rpmbuild(macros) >= 1.535
 %if %{with userspace}
@@ -69,8 +79,10 @@ 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-xserver-server-devel
 %endif
 BuildRequires: OpenGL-GLU-devel
 BuildRequires: OpenGL-devel
@@ -84,9 +96,11 @@ BuildRequires:       bash
 BuildRequires: bcc
 BuildRequires: bin86
 BuildRequires: curl-devel
+%{?with_doc:BuildRequires:     docbook-dtd44-xml}
 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
@@ -95,7 +109,10 @@ BuildRequires:      libvncserver-devel
 BuildRequires: libxml2-devel >= 2.6.26
 BuildRequires: libxslt-devel >= 1.1.17
 BuildRequires: libxslt-progs >= 1.1.17
+BuildRequires: mkisofs
+BuildRequires: makeself
 BuildRequires: pam-devel
+BuildRequires: pixman-devel
 BuildRequires: pkgconfig
 BuildRequires: pulseaudio-devel >= 0.9.0
 BuildRequires: python-devel
@@ -103,6 +120,14 @@ BuildRequires:     python-modules
 BuildRequires: qt4-build >= 4.2.0
 BuildRequires: qt4-linguist
 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
 BuildRequires: xerces-c-devel >= 2.6.0
@@ -115,7 +140,7 @@ 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
+Requires:      QtCore >= 4.7.0
 Suggests:      gxmessage
 Provides:      group(vbox)
 ExclusiveArch: %{ix86} %{x8664}
@@ -204,8 +229,8 @@ You should install this package in your Host OS.
 %package guest
 Summary:       VirtualBox Guest Additions
 Group:         Base
-Requires:      kernel%{_alt_kernel}-misc-vboxsf = %{version}-%{rel}@%{_kernel_ver_str}
-Requires:      kernel%{_alt_kernel}-misc-vboxvideo = %{version}-%{rel}@%{_kernel_ver_str}
+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}
 
@@ -229,11 +254,7 @@ Summary:   X.org mouse driver for VirtualBox OSE guest OS
 Summary(pl.UTF-8):     Sterownik myszy dla systemu gościa w VirtualBoksie OSE
 Group:         X11/Applications
 Requires:      xorg-xserver-server >= 1.0.99.901
-%if "%{pld_release}" == "ti"
-Requires:      xorg-xserver-server(xinput-abi) <= 7.0
-%else
-Requires:      xorg-xserver-server(xinput-abi) <= 9.0
-%endif
+Requires:      xorg-xserver-server(xinput-abi) <= 12.2
 Requires:      xorg-xserver-server(xinput-abi) >= 4.0
 
 %description -n xorg-driver-input-vboxmouse
@@ -246,13 +267,10 @@ Sterownik myszy dla systemu gościa w VirtualBoksie.
 Summary:       X.org video driver for VirtualBox OSE guest OS
 Summary(pl.UTF-8):     Sterownik grafiki dla systemu gościa w VirtualBoksie OSE
 Group:         X11/Applications
+Requires:      Mesa-dri-driver-swrast
 Requires:      xorg-xserver-libdri >= 1.7.4
 Requires:      xorg-xserver-server >= 1.0.99.901
-%if "%{pld_release}" == "ti"
-Requires:      xorg-xserver-server(videodrv-abi) <= 6.0
-%else
-Requires:      xorg-xserver-server(videodrv-abi) <= 7.0
-%endif
+Requires:      xorg-xserver-server(videodrv-abi) <= 10.0
 Requires:      xorg-xserver-server(videodrv-abi) >= 2.0
 
 %description -n xorg-driver-video-vboxvideo
@@ -410,11 +428,9 @@ Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik obsługi DRM.
 %patch4 -p1
 %patch5 -p1
 
-%{__sed} -i -e 's,#VBOX_WITH_VNC,VBOX_WITH_VNC,'
-%{__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
+%{__sed} -i -e 's,@VBOX_DOC_PATH@,%{_docdir}/%{name}-%{version},' \
+       -e 's/Categories=.*/Categories=Utility;Emulator;/' src/VBox/Installer/common/virtualbox.desktop.in
 
-cp -a %{SOURCE1} .
 sed 's#@LIBDIR@#%{_libdir}#' < %{SOURCE8} > VirtualBox-wrapper.sh
 
 install -d PLD-MODULE-BUILD/{GuestDrivers,HostDrivers}
@@ -425,6 +441,11 @@ 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
+%patch7 -p1
+%patch8 -p1
+%patch9 -p1
+%patch10 -p1
 
 %build
 %if %{with userspace}
@@ -432,11 +453,18 @@ echo "VBOX_WITH_TESTCASES := " > LocalConfig.kmk
 ./configure \
        --with-gcc="%{__cc}" \
        --with-g++="%{__cxx}" \
+       %{!?with_doc:--disable-docs} \
+       --disable-java \
        --disable-hardening \
        --disable-kmods
 
+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}
@@ -451,15 +479,15 @@ cp -a vboxguest/Module.symvers vboxsf
 %build_kernel_modules -m vboxsf -C vboxsf -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
+%{__cc} %{rpmcflags} %{rpmldflags} -Wall -Werror src/VBox/Additions/linux/sharedfolders/{mount.vboxsf.c,vbsfmount.c} -o mount.vboxsf
 %endif
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
 %if %{with userspace}
-install -d \
-       $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir},%{_pixmapsdir},%{_desktopdir}} \
+install -d $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir}/%{pname}/ExtensionPacks} \
+       $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir}} \
        $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,dri,input}
 
 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
@@ -468,25 +496,20 @@ if cp -al VBox.png $RPM_BUILD_ROOT/Vbox.png 2>/dev/null; then
        rm -f $RPM_BUILD_ROOT/VBox.png
 fi
 
-cp -a$l %{outdir} $RPM_BUILD_ROOT%{_libdir}/%{pname}
+cp -a$l %{outdir}/* $RPM_BUILD_ROOT%{_libdir}/%{pname}
 
-cp -a %{SOURCE2} $RPM_BUILD_ROOT%{_libdir}/VirtualBox/additions/VBoxGuestAdditions.iso
+cp -a %{SOURCE1} $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
 
-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
 
-%if "%{pld_release}" == "ti"
-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}
-%else
-mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxmouse_drv_18.so,%{_libdir}/xorg/modules/input/vboxmouse_drv.so}
-mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxvideo_drv_18.so,%{_libdir}/xorg/modules/drivers/vboxvideo_drv.so}
-%endif
+mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/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}
@@ -658,8 +681,9 @@ fi
 %if %{with userspace}
 %files
 %defattr(644,root,root,755)
-%doc UserManual.pdf
+%{?with_doc:%doc %{outdir}/UserManual.pdf}
 %dir %{_libdir}/VirtualBox
+%dir %{_libdir}/VirtualBox/ExtensionPacks
 %dir %{_libdir}/VirtualBox/additions
 %dir %{_libdir}/VirtualBox/components
 %dir %{_libdir}/VirtualBox/nls
@@ -672,20 +696,21 @@ fi
 %attr(755,root,root) %{_bindir}/VBoxXPCOMIPCD
 %attr(755,root,root) %{_bindir}/VirtualBox
 %attr(755,root,root) %{_sbindir}/mount.vdi
-%attr(755,root,root) %{_libdir}/VirtualBox/VBoxSVC
+%attr(755,root,root) %{_libdir}/VirtualBox/DBGCPlugInDiggers.so
+%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/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/VBoxDD.so
+%attr(755,root,root) %{_libdir}/VirtualBox/VBoxCreateUSBNode.sh
+%attr(755,root,root) %{_libdir}/VirtualBox/VBoxDbg.so
 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDD2.so
+%attr(755,root,root) %{_libdir}/VirtualBox/VBoxDD.so
 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDDU.so
+%attr(755,root,root) %{_libdir}/VirtualBox/VBoxExtPackHelperApp
 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxGuestControlSvc.so
 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxGuestPropSvc.so
+%attr(755,root,root) %{_libdir}/VirtualBox/VBoxHeadless
 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxKeyboard.so
+%attr(755,root,root) %{_libdir}/VirtualBox/VBoxManage
 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxNetAdpCtl
 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxNetDHCP
 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLhostcrutil.so
@@ -698,15 +723,20 @@ fi
 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM64.so
 %endif
 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxRT.so
+%attr(755,root,root) %{_libdir}/VirtualBox/VBoxSDL
 %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/VBoxSVC
+%attr(755,root,root) %{_libdir}/VirtualBox/VBoxSysInfo.sh
+%attr(755,root,root) %{_libdir}/VirtualBox/VBoxTestOGL
+%attr(755,root,root) %{_libdir}/VirtualBox/VBoxTunctl
 %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/VBoxXPCOMIPCD
+%attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOM.so
 %attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox
 %attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox-wrapper.sh
-%attr(755,root,root) %{_libdir}/VirtualBox/VBoxSysInfo.sh
 %{_libdir}/VirtualBox/VBoxDD2GC.gc
 %{_libdir}/VirtualBox/VBoxDDGC.gc
 %{_libdir}/VirtualBox/VMMGC.gc
@@ -755,8 +785,10 @@ 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
+%{_libdir}/VirtualBox/virtualbox.xml
 
 %files additions
 %defattr(644,root,root,755)
@@ -764,8 +796,16 @@ fi
 
 %files guest
 %defattr(644,root,root,755)
+# NOTE: unfinished, should contain .desktop files for starting up mouse
+# integration and other desktop services
+# NOTE: the filelist is incomplete too
 %attr(755,root,root) %{_bindir}/VBoxService
 
+%attr(755,root,root) %{_libdir}/VirtualBox/additions/autorun.sh
+%attr(755,root,root) %{_libdir}/VirtualBox/additions/vboxadd
+%attr(755,root,root) %{_libdir}/VirtualBox/additions/vboxadd-service
+%attr(755,root,root) %{_libdir}/VirtualBox/additions/vboxadd-x11
+
 %files -n pam-pam_vbox
 %defattr(644,root,root,755)
 %attr(755,root,root) /%{_lib}/security/pam_vbox.so
This page took 0.112089 seconds and 4 git commands to generate.