X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=VirtualBox.spec;h=4e9da53e57412f1ab5c299ba24562ca7216dcadf;hb=d87fb4346702918bd86cf4c4f2b3d6c6102666a1;hp=e69c1892c8c62a0a2a0868d580361f6a93dd9443;hpb=c2413bd0ace76288d71816b77490bfec3455a68e;p=packages%2FVirtualBox.git diff --git a/VirtualBox.spec b/VirtualBox.spec index e69c189..4e9da53 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 6 +%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.2 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: 627f9b161bba73f43e752e463bd4d9ac Source1: http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso -# Source1-md5: 4f6861ee0c584bcf6819cc76a2bd65ab +# Source1-md5: 09cbaeb7d93dc3daeed0ffb6fc141478 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,9 @@ 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 URL: http://www.virtualbox.org/ %if %{with userspace} %ifarch %{x8664} @@ -93,25 +89,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 +130,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 +159,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 +232,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 @@ -498,13 +502,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}} @@ -523,8 +521,11 @@ cd ../..\ %patch9 -p1 %patch10 -p1 %patch11 -p1 -%patch12 -p1 -%patch13 -p0 +%if %{with all_langs} +%patch12 -p0 +%endif +%patch13 -p1 +%patch14 -p1 %{__sed} -i -e 's,@VBOX_DOC_PATH@,%{_docdir}/%{name}-%{version},' \ -e 's/Categories=.*/Categories=Utility;Emulator;/' src/VBox/Installer/common/virtualbox.desktop.in @@ -553,6 +554,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) @@ -574,12 +580,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 \ @@ -590,6 +600,7 @@ EOF --disable-hardening \ --disable-kmods \ --enable-vnc \ + %{!?with_gui:--disable-qt} \ %{__enable webservice} \ %{nil} @@ -618,7 +629,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} @@ -696,6 +713,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 @@ -712,7 +730,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} @@ -723,16 +740,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} @@ -851,13 +875,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 @@ -904,6 +930,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 @@ -911,25 +938,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 @@ -946,6 +982,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 @@ -992,6 +1029,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) @@ -1035,11 +1073,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)