X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=VirtualBox.spec;h=43fa64abf5f34cdb7c79b565f190ffa839ef6bd3;hb=549cc2daf47611d1cfab92849a2656c86831f216;hp=9332d2e06d9320b54104ec629fcc60cd365c9914;hpb=72a71cd673b8f04e9866bef82c0daeaf272e3b16;p=packages%2FVirtualBox.git diff --git a/VirtualBox.spec b/VirtualBox.spec index 9332d2e..43fa64a 100644 --- a/VirtualBox.spec +++ b/VirtualBox.spec @@ -11,6 +11,7 @@ # - fix desc for dkms packages (proper wording needed), kernel modules desc is mess as well # # Conditional build: +%bcond_with all_langs # build with all manual translations %bcond_without doc # don't build the documentation %bcond_without debuginfo # disable debuginfo creation (to save space when compiling) %bcond_without kernel # don't build kernel module @@ -19,11 +20,8 @@ %bcond_without lightdm # lightdm greeter %bcond_without dkms # build dkms package %bcond_without verbose +%bcond_without gui # disable Qt4 GUI frontend build -# The goal here is to have main, userspace, package built once with -# simple release number, and only rebuild kernel packages with kernel -# version as part of release number, without the need to bump release -# with every kernel change. %if 0%{?_pld_builder:1} && %{with kernel} && %{with userspace} %{error:kernel and userspace cannot be built at the same time on PLD builders} exit 1 @@ -42,24 +40,21 @@ exit 1 %define _enable_debug_packages 0 %endif -%define kbrs %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo "BuildRequires:kernel%%{_alt_kernel}-module-build >= 3:2.6.20.2" ; done) -%define kpkg %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo %%kernel_pkg ; done) -%define bkpkg %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo %%build_kernel_pkg ; done) -%define ikpkg %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo %%install_kernel_pkg ; done) +%define qtver 4.8.0 -%define rel 4 +%define rel 1 %define pname VirtualBox Summary: VirtualBox - x86 hardware virtualizer Summary(pl.UTF-8): VirtualBox - wirtualizator sprzętu x86 Name: %{pname}%{?_pld_builder:%{?with_kernel:-kernel}}%{_alt_kernel} -Version: 4.3.20 +Version: 5.0.4 Release: %{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}} License: GPL v2 Group: Applications/Emulators Source0: http://download.virtualbox.org/virtualbox/%{version}/%{pname}-%{version}.tar.bz2 -# Source0-md5: cf3f25644aa0fae1029e8b362bd4375e +# Source0-md5: 499abc66de7bb74a9117bda75e43ec4d Source1: http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso -# Source1-md5: 4f6861ee0c584bcf6819cc76a2bd65ab +# Source1-md5: 6bec1f5d0bf22841cad08b7973e95588 Source2: vboxservice.init Source3: vboxservice.service Source5: mount.vdi @@ -68,7 +63,7 @@ Source7: %{pname}-virtualbox-host-modules-load.conf Source8: %{pname}-virtualbox-guest-modules-load.conf Source9: vboxautostart.init Source10: autostart.cfg -Patch0: %{pname}-configure-spaces.patch +Patch0: %{pname}-version-error.patch Patch1: %{pname}-VBoxSysInfo.patch Patch2: %{pname}-warning_workaround.patch Patch3: %{pname}-dri.patch @@ -80,8 +75,10 @@ Patch8: lightdm-greeter-g++-link.patch Patch9: pld-guest.patch Patch10: 16-no-update.patch Patch11: 18-system-xorg.patch -Patch12: x8664-build.patch -Patch13: %{pname}-all-translations.patch +Patch12: %{pname}-all-translations.patch +Patch13: x32.patch +Patch14: %{pname}-no-scrextend.patch +Patch15: %{pname}-vnc.patch URL: http://www.virtualbox.org/ %if %{with userspace} %ifarch %{x8664} @@ -93,25 +90,32 @@ BuildRequires: libstdc++-multilib-32-static %if "%{pld_release}" == "ac" BuildRequires: XFree86-devel %else +BuildRequires: xorg-lib-libX11-devel BuildRequires: xorg-lib-libXcomposite-devel BuildRequires: xorg-lib-libXcursor-devel +BuildRequires: xorg-lib-libXdamage-devel +BuildRequires: xorg-lib-libXext-devel +BuildRequires: xorg-lib-libXinerama-devel BuildRequires: xorg-lib-libXmu-devel +BuildRequires: xorg-lib-libXrandr-devel BuildRequires: xorg-proto-glproto-devel BuildRequires: xorg-xserver-server-devel %endif BuildRequires: OpenGL-GLU-devel BuildRequires: OpenGL-devel -BuildRequires: QtGui-devel -BuildRequires: QtNetwork-devel -BuildRequires: QtOpenGL-devel +BuildRequires: QtCore-devel >= %{qtver} +BuildRequires: QtGui-devel >= %{qtver} +BuildRequires: QtNetwork-devel >= %{qtver} +BuildRequires: QtOpenGL-devel >= %{qtver} +BuildRequires: QtXml-devel >= %{qtver} 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: device-mapper-devel +BuildRequires: curl-devel >= 7.19.1 +BuildRequires: device-mapper-devel >= 1.02 %{?with_doc:BuildRequires: docbook-dtd44-xml} BuildRequires: fakeroot %{?with_lightdm:BuildRequires: fltk-devel} @@ -127,20 +131,21 @@ BuildRequires: libstdc++-devel >= 5:3.2.3 BuildRequires: libstdc++-static >= 5:3.2.3 BuildRequires: libuuid-devel BuildRequires: libvncserver-devel >= 0.9.9 -BuildRequires: libvpx-devel +BuildRequires: libvpx-devel >= 0.9.5 BuildRequires: libxml2-devel >= 2.6.26 BuildRequires: libxslt-devel >= 1.1.17 BuildRequires: libxslt-progs >= 1.1.17 %{?with_lightdm:BuildRequires: lightdm-libs-qt4-devel} BuildRequires: makeself BuildRequires: mkisofs +BuildRequires: openssl-devel >= 0.9.8 BuildRequires: pam-devel BuildRequires: pixman-devel BuildRequires: pkgconfig BuildRequires: pulseaudio-devel >= 0.9.0 -BuildRequires: python-devel +BuildRequires: python-devel >= 2.3 BuildRequires: python-modules -BuildRequires: qt4-build >= 4.2.0 +BuildRequires: qt4-build BuildRequires: qt4-linguist BuildRequires: rpmbuild(macros) >= 1.701 BuildRequires: sed >= 4.0 @@ -155,7 +160,7 @@ BuildRequires: texlive-xetex BuildRequires: which BuildRequires: xalan-c-devel >= 1.10.0 BuildRequires: xerces-c-devel >= 2.6.0 -BuildRequires: yasm +BuildRequires: yasm >= 0.5.1 BuildRequires: zlib-devel >= 1.2.1 %endif %{?with_kernel:%{expand:%buildrequires_kernel kernel%%{_alt_kernel}-module-build >= 3:2.6.20.2}} @@ -228,7 +233,7 @@ konfigurację maszyny wirtualnej na inny komputer. Summary: Qt GUI part for VirtualBox Group: X11/Applications Requires: %{name} = %{version}-%{release} -Requires: QtCore >= 4.7.0 +Requires: QtCore >= %{qtver} Requires: desktop-file-utils Requires: desktop-file-utils Requires: fontconfig @@ -341,8 +346,7 @@ Group: X11/Applications Requires: Mesa-dri-driver-swrast Requires: xorg-xserver-libdri >= 1.7.4 Requires: xorg-xserver-server >= 1.0.99.901 -Requires: xorg-xserver-server(videodrv-abi) <= 18.0 -Requires: xorg-xserver-server(videodrv-abi) >= 2.0 +%{?requires_xorg_xserver_videodrv} Provides: OpenGL = 2.1 Provides: OpenGL-GLX = 1.3 Provides: xorg-driver-video @@ -499,13 +503,7 @@ cp -a vboxguest/Module.symvers vboxsf\ %build_kernel_modules -m vboxsf -C vboxsf -c\ %build_kernel_modules -m vboxvideo -C vboxvideo\ cd ../..\ -%install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/HostDrivers/vboxdrv/vboxdrv -d misc\ -%install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/HostDrivers/vboxnetadp/vboxnetadp -d misc\ -%install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/HostDrivers/vboxnetflt/vboxnetflt -d misc\ -%install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/HostDrivers/vboxpci/vboxpci -d misc\ -%install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/GuestDrivers/vboxguest/vboxguest -d misc\ -%install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/GuestDrivers/vboxsf/vboxsf -d misc\ -%install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/GuestDrivers/vboxvideo/vboxvideo -d misc\ +%install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/HostDrivers/vboxdrv/vboxdrv,PLD-MODULE-BUILD/HostDrivers/vboxnetadp/vboxnetadp,PLD-MODULE-BUILD/HostDrivers/vboxnetflt/vboxnetflt,PLD-MODULE-BUILD/HostDrivers/vboxpci/vboxpci,PLD-MODULE-BUILD/GuestDrivers/vboxguest/vboxguest,PLD-MODULE-BUILD/GuestDrivers/vboxsf/vboxsf,PLD-MODULE-BUILD/GuestDrivers/vboxvideo/vboxvideo -d misc\ %{nil} %{?with_kernel:%{expand:%create_kernel_packages}} @@ -524,8 +522,12 @@ cd ../..\ %patch9 -p1 %patch10 -p1 %patch11 -p1 -%patch12 -p1 -%patch13 -p0 +%if %{with all_langs} +%patch12 -p0 +%endif +%patch13 -p1 +%patch14 -p1 +%patch15 -p0 %{__sed} -i -e 's,@VBOX_DOC_PATH@,%{_docdir}/%{name}-%{version},' \ -e 's/Categories=.*/Categories=Utility;Emulator;/' src/VBox/Installer/common/virtualbox.desktop.in @@ -554,6 +556,11 @@ cd - cp -p src/VBox/Frontends/VirtualBox/images/os_{linux26,pld}.png cp -p src/VBox/Frontends/VirtualBox/images/os_{linux26,pld}_64.png +# don't force whole userspace to be built with -fPIC +# see https://www.virtualbox.org/pipermail/vbox-dev/2015-February/012863.html +%define filterout_c -fPIC +%define filterout_cxx -fPIC + cat <<'EOF'>> LocalConfig.kmk %{?with_verbose:KBUILD_VERBOSE=3} USERNAME=%(id -un) @@ -575,12 +582,16 @@ VBOX_PATH_SHARED_LIBS := $(VBOX_PATH_APP_PRIVATE_ARCH) VBOX_WITH_ORIGIN := VBOX_WITH_RUNPATH := $(VBOX_PATH_APP_PRIVATE_ARCH) #VBOX_PATH_APP_DOCS := %{_docdir}/%{pname}-doc-%{version} +VBOX_PATH_DOCBOOK_DTD := %{_datadir}/sgml/docbook/xml-dtd-4.4 # don't build testcases to save time, they are not needed for the package VBOX_WITH_TESTCASES := VBOX_WITH_TESTSUITE := EOF +%undefine filterout_c +%undefine filterout_cxx + %build %if %{with userspace} ./configure \ @@ -591,6 +602,7 @@ EOF --disable-hardening \ --disable-kmods \ --enable-vnc \ + %{!?with_gui:--disable-qt} \ %{__enable webservice} \ %{nil} @@ -619,7 +631,13 @@ if cp -al COPYING $RPM_BUILD_ROOT/COPYING; then fi cp -a$l %{outdir}/* $RPM_BUILD_ROOT%{_libdir}/%{pname} -cp -a$l %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/VBoxGuestAdditions.iso +cp -p$l %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/VBoxGuestAdditions.iso || +cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/VBoxGuestAdditions.iso + +%if %{without gui} +%{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons +%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/virtualbox.xml +%endif # vboxvideo %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/VBoxOGL.so,%{_libdir}/xorg/modules/dri/vboxvideo_dri.so} @@ -697,6 +715,7 @@ fakeroot sh -x $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/install.sh \ --ose \ --prefix %{_prefix} \ %{!?with_webservice:--no-web-service} \ + %{!?with_gui:--no-qt} \ --root $RPM_BUILD_ROOT %{__mv} $RPM_BUILD_ROOT{%{_datadir}/%{pname},/lib/udev}/VBoxCreateUSBNode.sh @@ -713,7 +732,6 @@ mv $RPM_BUILD_ROOT%{_datadir}/%{pname}/src $RPM_BUILD_ROOT%{_usrsrc}/vboxhost-%{ %{__rm} -r $RPM_BUILD_ROOT%{_bindir}/vboxheadless %{__rm} -r $RPM_BUILD_ROOT%{_bindir}/vboxmanage %{__rm} -r $RPM_BUILD_ROOT%{_bindir}/vboxsdl -%{__rm} -r $RPM_BUILD_ROOT%{_bindir}/virtualbox # cleanup unpackaged %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/{sdk,testcase} @@ -724,16 +742,23 @@ mv $RPM_BUILD_ROOT%{_datadir}/%{pname}/src $RPM_BUILD_ROOT%{_usrsrc}/vboxhost-%{ %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/ExtensionPacks/VNC/ExtPack-license.* %{__rm} -r $RPM_BUILD_ROOT%{py_sitescriptdir}/vboxapi* +%if %{with gui} +# cleanup lowercased variants, not used in any script (less cruft) +%{__rm} -r $RPM_BUILD_ROOT%{_bindir}/virtualbox # weird icon size %{__rm} -r $RPM_BUILD_ROOT%{_iconsdir}/hicolor/40x40 +%endif + # duplicate, we already have virtualbox.png (128x128), this is 32x32 %{__rm} -r $RPM_BUILD_ROOT%{_pixmapsdir}/VBox.png %if %{with doc} ln -sf %{_docdir}/%{pname}-doc-%{version}/UserManual.pdf $RPM_BUILD_ROOT%{_libdir}/%{pname}/UserManual.pdf +%if %{with all_langs} ln -sf %{_docdir}/%{pname}-doc-%{version}/UserManual_fr_FR.pdf $RPM_BUILD_ROOT%{_libdir}/%{pname}/UserManual_fr_FR.pdf %endif %endif +%endif %if %{with kernel} install -d $RPM_BUILD_ROOT{/etc/modules-load.d,/sbin} @@ -852,13 +877,15 @@ dkms remove -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade --all || : %attr(755,root,root) %{_bindir}/VBox %attr(755,root,root) %{_bindir}/VBoxAutostart %attr(755,root,root) %{_bindir}/VBoxBalloonCtrl +%attr(755,root,root) %{_bindir}/VBoxDTrace %attr(755,root,root) %{_bindir}/VBoxHeadless %attr(755,root,root) %{_bindir}/VBoxManage %attr(755,root,root) %{_bindir}/VBoxSDL %attr(755,root,root) %{_bindir}/VBoxTunctl +%attr(755,root,root) %{_bindir}/vbox-img %dir %{_libdir}/%{pname} # libraries -%attr(755,root,root) %{_libdir}/%{pname}/DBGCPlugInDiggers.so +%attr(755,root,root) %{_libdir}/%{pname}/DbgPlugInDiggers.so %attr(755,root,root) %{_libdir}/%{pname}/VBoxAuth.so %attr(755,root,root) %{_libdir}/%{pname}/VBoxAuthSimple.so %attr(755,root,root) %{_libdir}/%{pname}/VBoxDD.so @@ -905,6 +932,7 @@ dkms remove -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade --all || : %attr(755,root,root) %{_libdir}/%{pname}/VBoxManageHelp %endif %dir %{_libdir}/%{pname}/tools +%attr(755,root,root) %{_libdir}/%{pname}/tools/RTDbgSymCache %attr(755,root,root) %{_libdir}/%{pname}/tools/RTGzip %attr(755,root,root) %{_libdir}/%{pname}/tools/RTLdrFlt %attr(755,root,root) %{_libdir}/%{pname}/tools/RTManifest @@ -912,25 +940,34 @@ dkms remove -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade --all || : %attr(755,root,root) %{_libdir}/%{pname}/tools/RTShutdown %attr(755,root,root) %{_libdir}/%{pname}/tools/RTSignTool %attr(755,root,root) %{_libdir}/%{pname}/tools/RTTar +%attr(755,root,root) %{_libdir}/%{pname}/tools/RTUnzip +%attr(755,root,root) %{_libdir}/%{pname}/tools/scm %dir %{_libdir}/%{pname}/ExtensionPacks %{_libdir}/%{pname}/ExtensionPacks/VNC/ExtPack.xml %dir %{_libdir}/%{pname}/ExtensionPacks/VNC %dir %{_libdir}/%{pname}/ExtensionPacks/VNC/linux* %attr(755,root,root) %{_libdir}/%{pname}/ExtensionPacks/VNC/linux*/VBoxVNC*.so - -%{_libdir}/%{pname}/VBoxDD2GC.debug -%{_libdir}/%{pname}/VBoxDD2GC.gc +%dir %{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack +%{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/ExtPack.xml +%dir %{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux* +%attr(755,root,root) %{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux*/VBoxDTrace*.so +%{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux*/VBoxDTraceR0.debug +%{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux*/VBoxDTraceR0.r0 + +%{_libdir}/%{pname}/VBoxCpuReport %{_libdir}/%{pname}/VBoxDD2R0.debug %{_libdir}/%{pname}/VBoxDD2R0.r0 -%{_libdir}/%{pname}/VBoxDDGC.debug -%{_libdir}/%{pname}/VBoxDDGC.gc +%{_libdir}/%{pname}/VBoxDD2RC.debug +%{_libdir}/%{pname}/VBoxDD2RC.rc +%{_libdir}/%{pname}/VBoxDDRC.debug +%{_libdir}/%{pname}/VBoxDDRC.rc %{_libdir}/%{pname}/VBoxDDR0.debug %{_libdir}/%{pname}/VBoxDDR0.r0 %{_libdir}/%{pname}/VBoxEFI32.fd %{_libdir}/%{pname}/VBoxEFI64.fd -%{_libdir}/%{pname}/VMMGC.debug -%{_libdir}/%{pname}/VMMGC.gc +%{_libdir}/%{pname}/VMMRC.debug +%{_libdir}/%{pname}/VMMRC.rc %{_libdir}/%{pname}/VMMR0.debug %{_libdir}/%{pname}/VMMR0.r0 @@ -947,6 +984,7 @@ dkms remove -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade --all || : %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/*.rules %attr(755,root,root) /lib/udev/VBoxCreateUSBNode.sh +%if %{with gui} %files gui %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/VirtualBox @@ -993,6 +1031,7 @@ dkms remove -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade --all || : %{_iconsdir}/hicolor/*/apps/virtualbox.svg %{_iconsdir}/hicolor/*/mimetypes/virtualbox-*.png %{_datadir}/mime/packages/virtualbox.xml +%endif %files additions %defattr(644,root,root,755) @@ -1036,11 +1075,15 @@ dkms remove -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade --all || : %defattr(644,root,root,755) # this is a symlink... %doc %{_libdir}/%{pname}/UserManual.pdf +%if %{with all_langs} %lang(fr) %doc %{_libdir}/%{pname}/UserManual_fr_FR.pdf +%endif # ..to this file %doc %{outdir}/UserManual.pdf +%if %{with all_langs} %lang(fr) %doc %{outdir}/UserManual_fr_FR.pdf %endif +%endif %files -n xorg-driver-video-vboxvideo %defattr(644,root,root,755)