Accepting request 417849 from home:bruno_friedmann:branches:Virtualization

Feel free to include a proposed fix to be able to build ix86 arch

- Add upstream patch fix cpu_has_pge removed macro in kernel 4.7
  Patch11
- Add ifarch ix86 to limit concurrency on 32bits (-j2)
  Remove ExcludeArch instructions

OBS-URL: https://build.opensuse.org/request/show/417849
OBS-URL: https://build.opensuse.org/package/show/Virtualization/virtualbox?expand=0&rev=263
This commit is contained in:
Larry Finger 2016-08-08 14:38:05 +00:00 committed by Git OBS Bridge
parent ff1d6fb65b
commit 8cbc364fed
4 changed files with 39 additions and 10 deletions

View File

@ -1,8 +1,8 @@
<?xml version="1.0"?>
<constraints>
<hardware>
<memory>
<physicalmemory>
<size unit="M">8000</size>
</memory>
</physicalmemory>
</hardware>
</constraints>

View File

@ -0,0 +1,15 @@
Index: VirtualBox-5.1.2/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h
===================================================================
--- VirtualBox-5.1.2.ori/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h
+++ VirtualBox-5.1.2/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h
@@ -257,7 +257,7 @@
# ifdef __PAGE_KERNEL_EXEC
/* >= 2.6.27 */
-# define MY_PAGE_KERNEL_EXEC __pgprot(cpu_has_pge ? __PAGE_KERNEL_EXEC | _PAGE_GLOBAL : __PAGE_KERNEL_EXEC)
+# define MY_PAGE_KERNEL_EXEC __pgprot(boot_cpu_has(X86_FEATURE_PGE) ? __PAGE_KERNEL_EXEC | _PAGE_GLOBAL : __PAGE_KERNEL_EXEC)
# else
-# define MY_PAGE_KERNEL_EXEC __pgprot(cpu_has_pge ? _PAGE_KERNEL_EXEC | _PAGE_GLOBAL : _PAGE_KERNEL_EXEC)
+# define MY_PAGE_KERNEL_EXEC __pgprot(boot_cpu_has(X86_FEATURE_PGE) ? _PAGE_KERNEL_EXEC | _PAGE_GLOBAL : _PAGE_KERNEL_EXEC)
# endif
#else

View File

@ -1,3 +1,11 @@
-------------------------------------------------------------------
Mon Aug 8 11:57:18 UTC 2016 - bruno@ioda-net.ch
- Add upstream patch fix cpu_has_pge removed macro in kernel 4.7
Patch11
- Add ifarch ix86 to limit concurrency on 32bits (-j2)
Remove ExcludeArch instructions
-------------------------------------------------------------------
Fri Jul 22 00:49:00 UTC 2016 - luizluca@tre-sc.jus.br

View File

@ -63,6 +63,8 @@ Patch8: vbox-python-detection.diff
Patch9: vbox-deprec-gsoap-service-proxies.diff
#fix failed linking process during build - this patch is just quick workaround
Patch10: vbox-gsoapssl-deps.diff
#fix failed cpu_has_pge removed macro in kernel 4.7
Patch11: vbox-kernel47-cpu_has_pge.diff
#PATCH-FIX-OPENSUSE implement messagebox (VBoxPermissionMessage app), which is displayed, when user
#try to start VirtualBox and is not memeber of vboxusers group
Patch99: vbox-permissions_warning.diff
@ -159,12 +161,6 @@ Provides: %{name}-ose = %{version}
Obsoletes: %{name}-ose < %{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%(sed -e '/^Provides: multiversion(kernel)/d' %{_libexecdir}/rpm/kernel-module-subpackage > %{_builddir}/virtualbox-kmp-template)
# Temporarily disable i586 until build problem is solved
#ExclusiveArch: %ix86 x86_64
#%if 0%{?suse_version} == 1315
#ExcludeArch: %ix86
#%endif
ExclusiveArch: x86_64
%ifarch amd64 x86_64 ia32e em64t
BuildRequires: gcc-32bit
BuildRequires: gcc-c++-32bit
@ -313,6 +309,7 @@ This package contains icons for guest desktop files that were created on the des
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch99 -p1
%patch100
%patch101 -p1
@ -375,7 +372,11 @@ source ./env.sh
# VBOX_PATH_PACKAGE_DOCS set propper path for link to pdf in .desktop file
# VBOX_WITH_REGISTRATION_REQUEST= VBOX_WITH_UPDATE_REQUEST= just disable some functionality in gui
echo "build basic parts"
%ifarch %ix86
%{_bindir}/kmk -j2 \
%else
%{_bindir}/kmk %{?_smp_mflags} \
%endif
VBOX_GCC_WERR= \
KBUILD_VERBOSE=2 \
VBOX_USE_SYSTEM_XORG_HEADERS=1 \
@ -424,7 +425,12 @@ for vbox_module in out/linux.*/release/bin/src/vbox{drv,netflt,netadp,pci} \
$PWD/modules_build_dir/$flavor/$module_name
fi
# build the module for the specific flavor
make %{?_smp_mflags} -C %{_prefix}/src/linux-obj/%{_target_cpu}/$flavor modules \
%ifarch %ix86
make -j2 \
%else
make %{?_smp_mflags} \
%endif
-C %{_prefix}/src/linux-obj/%{_target_cpu}/$flavor modules \
M=$PWD/modules_build_dir/$flavor/$module_name
done
done