]> git.pld-linux.org Git - packages/VirtualBox.git/blobdiff - VirtualBox.spec
fix build with kernel 5.11; rel 4
[packages/VirtualBox.git] / VirtualBox.spec
index 3bc7a28ec428581dfd6d5eea0785890b4f2f3f21..6782661b4b5cb4018a5d3f6a0b76cc77b4906f0e 100644 (file)
@@ -21,6 +21,7 @@
 %bcond_without dkms            # build dkms package
 %bcond_without verbose
 %bcond_without gui                     # disable Qt4 GUI frontend build
+%bcond_without host                    # build guest packages only
 
 %if 0%{?_pld_builder:1} && %{with kernel} && %{with userspace}
 %{error:kernel and userspace cannot be built at the same time on PLD builders}
@@ -40,21 +41,25 @@ exit 1
 %define                _enable_debug_packages  0
 %endif
 
+%ifnarch %{x8664} %{?with_kernel:x32}
+%undefine      with_host
+%endif
+
 %define                qtver   5.6.0
 
-%define                rel             0.1
+%define                rel             4
 %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:       6.1.0
+Version:       6.1.18
 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: 484b550f4692c9d61896b08bb0a1be7f
+# Source0-md5: c61001386eb3822ab8f06d688a82e84b
 Source1:       http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso
-# Source1-md5: 24e170ad35727712a53d191b806428f5
+# Source1-md5: dc3c3f818d27a78f1accfcda05e13f85
 Source2:       vboxservice.init
 Source3:       vboxservice.service
 Source4:       vboxservice.sysconfig
@@ -69,7 +74,6 @@ Source12:     udev-guest.rules
 Patch0:                %{pname}-version-error.patch
 Patch1:                %{pname}-VBoxSysInfo.patch
 Patch2:                %{pname}-warning_workaround.patch
-Patch3:                svn_rev.patch
 Patch4:                wrapper.patch
 Patch6:                hardening-shared.patch
 Patch7:                lightdm-greeter-makefile.patch
@@ -83,6 +87,9 @@ Patch14:      %{pname}-multipython.patch
 Patch15:       %{pname}-lightdm-1.19.2.patch
 Patch16:       %{pname}-no-vboxvideo.patch
 Patch17:       qt5-gl.patch
+Patch18:       32bit.patch
+Patch19:       kernel-4.9.256.patch
+Patch20:       kernel-5.11.patch
 URL:           http://www.virtualbox.org/
 %if %{with userspace}
 %ifarch %{x8664}
@@ -135,7 +142,7 @@ BuildRequires:      kBuild >= 0.1.9998.3093
 BuildRequires: libIDL-devel
 BuildRequires: libcap-static
 BuildRequires: libdrm-devel
-BuildRequires: libpng-devel >= 1.2.5
+BuildRequires: libpng-devel >= 2:1.2.5
 BuildRequires: libstdc++-devel >= 5:3.2.3
 BuildRequires: libstdc++-static >= 5:3.2.3
 BuildRequires: libuuid-devel
@@ -156,7 +163,7 @@ BuildRequires:      python-devel >= 2.3
 BuildRequires: python-modules
 BuildRequires: qt5-build
 BuildRequires: qt5-linguist
-BuildRequires: rpmbuild(macros) >= 1.715
+BuildRequires: rpmbuild(macros) >= 1.752
 BuildRequires: sed >= 4.0
 %if %{with doc}
 BuildRequires: texlive-fonts-bitstream
@@ -195,6 +202,8 @@ BuildRoot:  %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define                filterout               -Werror=format-security
 
+%define                _noautochrpath  .*\\.debug$
+
 %description
 Oracle VirtualBox is a general-purpose full virtualizer for x86
 hardware. Targeted at server, desktop and embedded use, it is now the
@@ -272,9 +281,7 @@ This package contains VirtualBox User Manual.
 Summary:       VirtualBox Guest Additions
 Group:         Base
 Requires:      %{name} = %{version}
-%if "%{_rpmversion}" >= "5"
-BuildArch:     noarch
-%endif
+%{?noarchpackage}
 
 %description additions
 VirtualBox Guest Additions.
@@ -359,9 +366,7 @@ Summary(pl.UTF-8):  Moduły VirtualBoksa do jądra Linuksa dla systemu gościa
 License:       GPL v2+
 Group:         Base/Kernel
 Requires:      dkms
-%if "%{_rpmversion}" >= "5"
-BuildArch:     noarch
-%endif
+%{?noarchpackage}
 
 %description -n dkms-vboxguest
 This package contains DKMS-ready VirtualBox Guest Additions for Linux
@@ -379,9 +384,7 @@ Summary(pl.UTF-8):  Moduły jądra Linuksa dla VirtualBoksa
 License:       GPL v2+
 Group:         Base/Kernel
 Requires:      dkms
-%if "%{_rpmversion}" >= "5"
-BuildArch:     noarch
-%endif
+%{?noarchpackage}
 
 %description -n dkms-vboxhost
 This package contains DKMS enabled sourcecode of VirtualBox Support
@@ -444,7 +447,6 @@ Requires:   systemd-units >= 38\
 Provides:      kernel(vboxdrv) = %{version}-%{rel}\
 Provides:      kernel(vboxnetadp) = %{version}-%{rel}\
 Provides:      kernel(vboxnetflt) = %{version}-%{rel}\
-Provides:      kernel(vboxpci) = %{version}-%{rel}\
 Obsoletes:     kernel-init-host\
 \
 %description -n kernel%{_alt_kernel}-virtualbox-host\
@@ -471,12 +473,13 @@ gospodarzem sprzętu PCI.\
 /lib/modules/%{_kernel_ver}/misc/vboxvideo.ko*\
 %endif\
 \
+%if %{with host}\
 %files -n kernel%{_alt_kernel}-virtualbox-host\
 %config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/virtualbox-host.conf\
 /lib/modules/%{_kernel_ver}/misc/vboxdrv.ko*\
 /lib/modules/%{_kernel_ver}/misc/vboxnetadp.ko*\
 /lib/modules/%{_kernel_ver}/misc/vboxnetflt.ko*\
-/lib/modules/%{_kernel_ver}/misc/vboxpci.ko*\
+%endif\
 %endif\
 \
 %post -n kernel%{_alt_kernel}-virtualbox-guest\
@@ -485,39 +488,43 @@ gospodarzem sprzętu PCI.\
 %postun        -n kernel%{_alt_kernel}-virtualbox-guest\
 %depmod %{_kernel_ver}\
 \
+%if %{with host}\
 %post  -n kernel%{_alt_kernel}-virtualbox-host\
 %depmod %{_kernel_ver}\
 \
 %postun        -n kernel%{_alt_kernel}-virtualbox-host\
 %depmod %{_kernel_ver}\
+%endif\
 %{nil}
 
 %define build_kernel_pkg()\
 export KERN_DIR=%{_kernelsrcdir}\
-cd PLD-MODULE-BUILD/HostDrivers\
+%if %{with host}\
+cd kernel/HostDrivers\
 %build_kernel_modules -m vboxdrv -C vboxdrv\
 %build_kernel_modules -m vboxnetadp -C vboxnetadp KBUILD_EXTRA_SYMBOLS=$PWD/../vboxdrv/Module.symvers\
 %build_kernel_modules -m vboxnetflt -C vboxnetflt KBUILD_EXTRA_SYMBOLS=$PWD/../vboxdrv/Module.symvers\
-%build_kernel_modules -m vboxpci -C vboxpci KBUILD_EXTRA_SYMBOLS=$PWD/../vboxdrv/Module.symvers\
-cd ../GuestDrivers\
+%install_kernel_modules -D ../../kernel/installed -m vboxdrv/vboxdrv,vboxnetadp/vboxnetadp,vboxnetflt/vboxnetflt -d misc\
+cd ../..\
+%endif\
+cd kernel/GuestDrivers\
 %build_kernel_modules -m vboxguest -C vboxguest\
-cp -a vboxguest/Module.symvers vboxsf\
-%build_kernel_modules -m vboxsf -C vboxsf -c\
+%build_kernel_modules -m vboxsf -C vboxsf KBUILD_EXTRA_SYMBOLS=$PWD/../vboxguest/Module.symvers\
+%install_kernel_modules -D ../../kernel/installed -m vboxsf/vboxsf,vboxguest/vboxguest -d misc\
 %if %{_kernel_version_code} < %{_kernel_version_magic 4 13 0}\
-%build_kernel_modules -m vboxvideo -C vboxvideo\
+%build_kernel_modules -m vboxvideo -C vboxvideo KBUILD_EXTRA_SYMBOLS=$PWD/../vboxguest/Module.symvers\
+%install_kernel_modules -D ../../kernel/installed -m vboxvideo/vboxvideo -d misc\
 %endif\
 cd ../..\
-%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/vboxsf/vboxsf -d misc\
-%install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/GuestDrivers/vboxguest/vboxguest -d misc\
-%if %{_kernel_version_code} < %{_kernel_version_magic 4 13 0}\
-%install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/GuestDrivers/vboxvideo/vboxvideo -d misc\
-%endif\
 %{nil}
 
 %define install_kernel_pkg()\
 %if %{_kernel_version_code} >= %{_kernel_version_magic 4 16 0}\
-install -d PLD-MODULE-BUILD/installed/etc/depmod.d/%{_kernel_ver}\
-echo override vboxguest %{_kernel_ver} misc > PLD-MODULE-BUILD/installed/etc/depmod.d/%{_kernel_ver}/vboxguest.conf\
+install -d kernel/installed/etc/depmod.d/%{_kernel_ver}\
+echo override vboxguest %{_kernel_ver} misc > kernel/installed/etc/depmod.d/%{_kernel_ver}/vboxguest.conf\
+%if %{_kernel_version_code} >= %{_kernel_version_magic 5 6 0}\
+echo override vboxsf %{_kernel_ver} misc >> kernel/installed/etc/depmod.d/%{_kernel_ver}/vboxguest.conf\
+%endif\
 %endif\
 %{nil}
 
@@ -528,7 +535,6 @@ echo override vboxguest %{_kernel_ver} misc > PLD-MODULE-BUILD/installed/etc/dep
 %patch0 -p1
 %patch1 -p1
 %patch2 -p1
-%patch3 -p1
 %patch4 -p1
 %patch6 -p1
 %patch7 -p1
@@ -544,6 +550,8 @@ echo override vboxguest %{_kernel_ver} misc > PLD-MODULE-BUILD/installed/etc/dep
 %patch15 -p0
 %patch16 -p0
 %patch17 -p1
+%patch18 -p1
+%patch20 -p1
 
 %{__sed} -i -e 's,@VBOX_DOC_PATH@,%{_docdir}/%{name}-%{version},' \
        -e 's/Categories=.*/Categories=Utility;Emulator;/' src/VBox/Installer/common/virtualbox.desktop.in
@@ -555,14 +563,15 @@ echo override vboxguest %{_kernel_ver} misc > PLD-MODULE-BUILD/installed/etc/dep
 %{__sed} -i -e 's#@INSTALL_DIR@#%{_libdir}/%{pname}#' src/VBox/Installer/linux/VBox.sh
 
 %if %{with kernel}
-install -d PLD-MODULE-BUILD/{GuestDrivers,HostDrivers}
-cd PLD-MODULE-BUILD
+install -d kernel/{GuestDrivers,HostDrivers}
+cd kernel
 ../src/VBox/Additions/linux/export_modules.sh guest-modules.tar.gz
 tar -zxf guest-modules.tar.gz -C GuestDrivers
 
 ../src/VBox/HostDrivers/linux/export_modules.sh --file host-modules.tar.gz --without-hardening
 tar -zxf host-modules.tar.gz -C HostDrivers
 cd -
+%patch19 -p1
 %endif
 
 # using system kBuild package
@@ -607,6 +616,7 @@ VBOX_WITH_TESTSUITE :=
 
 VBOX_WITH_VRDP_RDESKTOP=
 VBOX_WITH_MULTIVERSION_PYTHON=0
+%{!?with_host:VBOX_ONLY_ADDITIONS_WITHOUT_RTISOMAKER=1}
 EOF
 
 %undefine      filterout_c
@@ -624,6 +634,7 @@ EOF
        --enable-vnc \
        %{!?with_gui:--disable-qt} \
        %{__enable webservice} \
+       %{!?with_host:--only-additions} \
        %{nil}
 
 . "$PWD/env.sh"
@@ -654,8 +665,6 @@ fi
 install -d $RPM_BUILD_ROOT%{_datadir}/%{pname}
 
 cp -a$l %{outdir}/* $RPM_BUILD_ROOT%{_libdir}/%{pname}
-cp -p$l %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/%{pname}/VBoxGuestAdditions.iso ||
-cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/%{pname}/VBoxGuestAdditions.iso
 
 %if %{without gui}
 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons
@@ -665,6 +674,7 @@ cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/%{pname}/VBoxGuestAdditions.iso
 # Guest Only Tools
 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxClient
 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxControl
+%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxDRMClient
 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxService
 install -d $RPM_BUILD_ROOT/etc/xdg/autostart
 cp -p src/VBox/Additions/x11/Installer/vboxclient.desktop \
@@ -704,6 +714,9 @@ install -p %{SOURCE5} $RPM_BUILD_ROOT/sbin/mount.vdi
 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/autorun.sh
 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/runasroot.sh
 
+cp -p %{SOURCE12} $RPM_BUILD_ROOT/etc/udev/rules.d/60-vboxguest.rules
+
+%if %{with host}
 # unknown - checkme
 %if 1
 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPInstall
@@ -715,6 +728,9 @@ install -p %{SOURCE5} $RPM_BUILD_ROOT/sbin/mount.vdi
 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/xpidl
 %endif
 
+cp -p$l %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/%{pname}/VBoxGuestAdditions.iso ||
+cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/%{pname}/VBoxGuestAdditions.iso
+
 # manual installation steps based on src/VBox/Installer/linux/install.sh
 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VirtualBox
 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxManage
@@ -755,7 +771,6 @@ rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons
 
 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname},/lib/udev}/VBoxCreateUSBNode.sh
 cp -p %{SOURCE6} $RPM_BUILD_ROOT/etc/udev/rules.d/60-vboxdrv.rules
-cp -p %{SOURCE12} $RPM_BUILD_ROOT/etc/udev/rules.d/60-vboxguest.rules
 
 %if %{with dkms}
 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/src $RPM_BUILD_ROOT%{_usrsrc}/vboxhost-%{version}-%{rel}
@@ -783,11 +798,12 @@ ln -sf %{_docdir}/%{pname}-doc-%{version}/UserManual_fr_FR.pdf $RPM_BUILD_ROOT%{
 %endif
 %endif
 %endif
+%endif
 
 %if %{with kernel}
 install -d $RPM_BUILD_ROOT{/etc/modules-load.d,/sbin}
 
-cp -a PLD-MODULE-BUILD/installed/* $RPM_BUILD_ROOT
+cp -a kernel/installed/* $RPM_BUILD_ROOT
 
 # Tell systemd to load modules
 cp -p %{SOURCE7} $RPM_BUILD_ROOT/etc/modules-load.d/virtualbox-host.conf
@@ -893,6 +909,7 @@ dkms install -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade || :
 dkms remove -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade --all || :
 
 %if %{with userspace}
+%if %{with host}
 %files
 %defattr(644,root,root,755)
 %dir %attr(751,root,root) %{_sysconfdir}/vbox
@@ -954,6 +971,7 @@ dkms remove -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade --all || :
 %attr(755,root,root) %{_libdir}/%{pname}/VirtualBoxVM
 %attr(755,root,root) %{_libdir}/%{pname}/bldRTLdrCheckImports
 %attr(755,root,root) %{_libdir}/%{pname}/iPxeBaseBin
+%attr(755,root,root) %{_libdir}/%{pname}/vboximg-mount
 %if %{with doc}
 %attr(755,root,root) %{_libdir}/%{pname}/VBoxManageHelp
 %endif
@@ -963,6 +981,7 @@ dkms remove -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade --all || :
 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTCp
 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTDbgSymCache
 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTEfiFatExtract
+%attr(755,root,root) %{_libdir}/%{pname}/tools/RTFTPServer
 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTFuzzClient
 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTFuzzMaster
 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTGzip
@@ -1043,6 +1062,7 @@ dkms remove -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade --all || :
 %lang(fr) %{_datadir}/%{pname}/nls/*_fr.qm
 %lang(gl) %{_datadir}/%{pname}/nls/*_gl.qm
 %lang(he) %{_datadir}/%{pname}/nls/*_he.qm
+%lang(hr) %{_datadir}/%{pname}/nls/*_hr_HR.qm
 %lang(hu) %{_datadir}/%{pname}/nls/*_hu.qm
 %lang(id) %{_datadir}/%{pname}/nls/*_id.qm
 %lang(it) %{_datadir}/%{pname}/nls/*_it.qm
@@ -1077,6 +1097,30 @@ dkms remove -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade --all || :
 %defattr(644,root,root,755)
 %{_datadir}/%{pname}/VBoxGuestAdditions.iso
 
+%if %{with webservice}
+%files webservice
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/vboxwebsrv
+%attr(755,root,root) %{_libdir}/%{pname}/vboxwebsrv
+%attr(755,root,root) %{_libdir}/%{pname}/webtest
+%endif
+
+%if %{with doc}
+%files doc
+%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
+%endif
+
 %files guest
 %defattr(644,root,root,755)
 %attr(755,root,root) /sbin/mount.vboxsf
@@ -1093,14 +1137,7 @@ dkms remove -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade --all || :
 /etc/xdg/autostart/vboxclient.desktop
 %attr(755,root,root) %{_bindir}/VBoxClient
 %attr(755,root,root) %{_bindir}/VBoxClient-all
-
-%if %{with webservice}
-%files webservice
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/vboxwebsrv
-%attr(755,root,root) %{_libdir}/%{pname}/vboxwebsrv
-%attr(755,root,root) %{_libdir}/%{pname}/webtest
-%endif
+%attr(755,root,root) %{_bindir}/VBoxDRMClient
 
 %if %{with lightdm}
 %files -n lightdm-greeter-vbox
@@ -1113,28 +1150,15 @@ dkms remove -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade --all || :
 %defattr(644,root,root,755)
 %attr(755,root,root) /%{_lib}/security/pam_vbox.so
 
-%if %{with doc}
-%files doc
-%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
-
 %if %{with dkms}
 %files -n dkms-vboxguest
 %defattr(644,root,root,755)
 %{_usrsrc}/vboxguest-%{version}-%{rel}
 
+%if %{with host}
 %files -n dkms-vboxhost
 %defattr(644,root,root,755)
 %{_usrsrc}/vboxhost-%{version}-%{rel}
 %endif
 %endif
+%endif
This page took 0.066922 seconds and 4 git commands to generate.