diff --git a/UserManual.pdf b/UserManual.pdf index 6884308..a8ac9d3 100644 --- a/UserManual.pdf +++ b/UserManual.pdf @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d0191d99ba1746d581920dace67d2acd65c8febc131dba9f27bde660e432ee91 -size 4338868 +oid sha256:545e897e079210e43c3e396732b1a954a37cf644ef0aac915f12e9e20d76eb91 +size 4350253 diff --git a/VirtualBox-5.1.6-patched.tar.bz2 b/VirtualBox-5.1.6-patched.tar.bz2 deleted file mode 100644 index 38d2ec7..0000000 --- a/VirtualBox-5.1.6-patched.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6bf464ab319df3ecb91e3e5cdc5a4b33c110342c6449359a091f484d7fcbcc7d -size 80064621 diff --git a/VirtualBox-5.1.8-patched.tar.bz2 b/VirtualBox-5.1.8-patched.tar.bz2 new file mode 100644 index 0000000..5ea2669 --- /dev/null +++ b/VirtualBox-5.1.8-patched.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8a836c61e8f1d751236d0f25f609bfb5d52adc5d834fc102037778833cea4c1d +size 80056974 diff --git a/_constraints b/_constraints index 56c3463..56d0a62 100644 --- a/_constraints +++ b/_constraints @@ -2,7 +2,7 @@ - 8000 + 12000 diff --git a/vbox-python-detection.diff b/vbox-python-detection.diff index eb67ec3..6337c0b 100644 --- a/vbox-python-detection.diff +++ b/vbox-python-detection.diff @@ -1,17 +1,17 @@ -Index: VirtualBox-5.1.6/src/libs/xpcom18a4/python/gen_python_deps.py +Index: VirtualBox-5.1.8/src/libs/xpcom18a4/python/gen_python_deps.py =================================================================== ---- VirtualBox-5.1.6.orig/src/libs/xpcom18a4/python/gen_python_deps.py -+++ VirtualBox-5.1.6/src/libs/xpcom18a4/python/gen_python_deps.py -@@ -85,7 +85,7 @@ def main(argv): +--- VirtualBox-5.1.8.orig/src/libs/xpcom18a4/python/gen_python_deps.py ++++ VirtualBox-5.1.8/src/libs/xpcom18a4/python/gen_python_deps.py +@@ -86,7 +86,7 @@ def main(argv): else: multi = 1 - if multi == 0: + if not multi: prefixes = ["/usr"] - versions = [str(sys.version_info[0])+'.'+str(sys.version_info[1])] - -@@ -112,22 +112,23 @@ def main(argv): + versions = [str(sys.version_info[0])+'.'+str(sys.version_info[1]), + str(sys.version_info[0])+'.'+str(sys.version_info[1])+'m'] +@@ -114,24 +114,25 @@ def main(argv): continue for p in prefixes: c = checkPair(p, v, dllpre, dllsuff, bitness_magic) @@ -37,6 +37,8 @@ Index: VirtualBox-5.1.6/src/libs/xpcom18a4/python/gen_python_deps.py + # this type of problem should be detected in configure + # print_vars("DEF", defaultpaths, sep, bitness_magic) + pass + else: + print(argv[0] + ": No Python development package found!", file=sys.stderr) + if multi: + for ver, paths in known.items(): + print_vars(ver.replace('.', '').upper(), paths, sep, bitness_magic) diff --git a/vbox_fix_4.9_api_changes.patch b/vbox_fix_4.9_api_changes.patch new file mode 100644 index 0000000..8c87295 --- /dev/null +++ b/vbox_fix_4.9_api_changes.patch @@ -0,0 +1,66 @@ +Index: VirtualBox-5.1.8/src/VBox/Additions/linux/sharedfolders/dirops.c +=================================================================== +--- VirtualBox-5.1.8.orig/src/VBox/Additions/linux/sharedfolders/dirops.c ++++ VirtualBox-5.1.8/src/VBox/Additions/linux/sharedfolders/dirops.c +@@ -747,8 +747,14 @@ static int sf_rmdir(struct inode *parent + * @param new_dentry new directory cache entry + * @returns 0 on success, Linux error code otherwise + */ ++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 9, 0) + static int sf_rename(struct inode *old_parent, struct dentry *old_dentry, + struct inode *new_parent, struct dentry *new_dentry) ++#else ++static int sf_rename(struct inode *old_parent, struct dentry *old_dentry, ++ struct inode *new_parent, struct dentry *new_dentry, ++ unsigned int flags) ++#endif + { + int err = 0, rc = VINF_SUCCESS; + struct sf_glob_info *sf_g = GET_GLOB_INFO(old_parent->i_sb); +Index: VirtualBox-5.1.8/src/VBox/Additions/linux/drm/vbox_ttm.c +=================================================================== +--- VirtualBox-5.1.8.orig/src/VBox/Additions/linux/drm/vbox_ttm.c ++++ VirtualBox-5.1.8/src/VBox/Additions/linux/drm/vbox_ttm.c +@@ -221,7 +221,8 @@ static int vbox_bo_move(struct ttm_buffe + struct ttm_mem_reg *new_mem) + { + int r; +-#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 8, 0) ++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 8, 0) || \ ++ LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0) + r = ttm_bo_move_memcpy(bo, evict, no_wait_gpu, new_mem); + #else + r = ttm_bo_move_memcpy(bo, evict, interruptible, no_wait_gpu, new_mem); +Index: VirtualBox-5.1.8/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c +=================================================================== +--- VirtualBox-5.1.8.orig/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c ++++ VirtualBox-5.1.8/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c +@@ -1045,7 +1045,27 @@ DECLHIDDEN(int) rtR0MemObjNativeLockUser + /* + * Get user pages. + */ +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0) ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0) ++ if (R0Process == RTR0ProcHandleSelf()) ++ rc = get_user_pages(R3Ptr, /* Where from. */ ++ cPages, /* How many pages. */ ++ fWrite, /* Write to memory. */ ++ &pMemLnx->apPages[0], /* Page array. */ ++ papVMAs); /* vmas */ ++ /* ++ * Actually this should not happen at the moment as call this function ++ * only for our own process. ++ */ ++ else ++ rc = get_user_pages_remote( ++ pTask, /* Task for fault accounting. */ ++ pTask->mm, /* Whose pages. */ ++ R3Ptr, /* Where from. */ ++ cPages, /* How many pages. */ ++ fWrite, /* Write to memory. */ ++ &pMemLnx->apPages[0], /* Page array. */ ++ papVMAs); /* vmas */ ++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0) + if (R0Process == RTR0ProcHandleSelf()) + rc = get_user_pages(R3Ptr, /* Where from. */ + cPages, /* How many pages. */ diff --git a/vbox_remove_smp_mflags.patch b/vbox_remove_smp_mflags.patch new file mode 100644 index 0000000..61bb787 --- /dev/null +++ b/vbox_remove_smp_mflags.patch @@ -0,0 +1,26 @@ +Index: VirtualBox-5.1.8/src/libs/libxml2-2.9.2/libxml.spec.in +=================================================================== +--- VirtualBox-5.1.8.orig/src/libs/libxml2-2.9.2/libxml.spec.in ++++ VirtualBox-5.1.8/src/libs/libxml2-2.9.2/libxml.spec.in +@@ -69,7 +69,7 @@ at parse time or later once the document + + %build + %configure +-make %{_smp_mflags} ++make + + %install + rm -fr %{buildroot} +Index: VirtualBox-5.1.8/src/libs/libxml2-2.9.2/libxml2.spec +=================================================================== +--- VirtualBox-5.1.8.orig/src/libs/libxml2-2.9.2/libxml2.spec ++++ VirtualBox-5.1.8/src/libs/libxml2-2.9.2/libxml2.spec +@@ -69,7 +69,7 @@ at parse time or later once the document + + %build + %configure +-make %{_smp_mflags} ++make + + %install + rm -fr %{buildroot} diff --git a/virtualbox.changes b/virtualbox.changes index 47cb21f..a6cc1b6 100644 --- a/virtualbox.changes +++ b/virtualbox.changes @@ -1,3 +1,91 @@ +------------------------------------------------------------------- +Tue Nov 1 15:31:03 UTC 2016 - Larry.Finger@lwfinger.net + +- Remove all references to libreadline. I misinterpreted a previous error message. +- Fixes for VUL-0: CVE-2016-5501,CVE-2016-5538,CVE-2016-5605,CVE-2016-5608,CVE-2016-5610,CVE-2016-5611,CVE-2016-561313 + boo #1005621. + +------------------------------------------------------------------- +Sun Oct 30 00:29:50 UTC 2016 - Larry.Finger@lwfinger.net + +- Replaced libreadline6 with libreadline7. + +------------------------------------------------------------------- +Wed Oct 26 17:08:03 UTC 2016 - Larry.Finger@lwfinger.net + +- Found and fixed another API change for kernel 4.9. In addition, the libreadline6 package is now needed. + +------------------------------------------------------------------- +Fri Oct 21 16:05:13 UTC 2016 - Larry.Finger@lwfinger.net + +- Fix typo in "vbox_fix_4.9_api_changes.patch". + +------------------------------------------------------------------- +Thu Oct 20 23:04:09 UTC 2016 - Larry.Finger@lwfinger.net + +- Make another 4.9 API change. + +------------------------------------------------------------------- +Thu Oct 20 12:57:28 UTC 2016 - Larry.Finger@lwfinger.net + +- Fix build on kernel 4.9 using patch "vbox_fix_4.9_api_changes.patch". + +------------------------------------------------------------------- +Wed Oct 19 15:42:56 UTC 2016 - Larry.Finger@lwfinger.net + +- Fixes for VUL-0: CVE-2016-5501,CVE-2016-5538,CVE-2016-5605,CVE-2016-5608,CVE-2016-5610,CVE-2016-5611,CVE-2016-561313 + boo #1005621. + +- Add patch file "vbox_remove_smp_mflags.patch" to limit number of simultaneous make jobs. + +- Version bump to 5.1.8 (released 2016-10-18 by Oracle) + +This is a maintenance release. The following items were fixed and/or added: + + GUI: fixed keyboard shortcut handling regressions (Mac OS X hosts only; bugs #15937 and #15938) + GUI: fixed keyboard handling regression for separate UI (Windows hosts only; bugs #15928) + NAT: don't exceed the maximum number of "search" suffixes. Patch from bug #15948. + NAT: fixed parsing of port-forwarding rules with a name which contains a slash (bug #16002) + NAT Network: when the host has only loopback nameserver that cannot be mapped to the guests (e.g. dnsmasq running on 127.0.1.1), make DHCP supply NAT Network DNS proxy as nameserver. + Bridged Network: prevent flooding syslog with packet allocation error messages (bug #15569) + Audio: now using Audio Queues on Mac OS X hosts + Audio: fixed recording with the PulseAudio backend (5.1 regression) + Audio: various bugfixes + Snapshots: fixed regression in 5.1.4 for deleting snapshots with several disks (bug #15831) + Snapshots: crash fix and better error reporting when snapshot deletion failed + Storage: some fixes for the NVMe emulation with Windows guests + API: fixed initialization of SAS controllers (bug #15972) + Build system: make it possible to build VBox on systems which default to Python 3 + Windows Additions / VGA: if the guest's power management turns a virtual screen off, blank the corresponding VM window rather than hide the window + Windows Additions: fixed a generic bug which could lead to freezing shared folders (bug #15662) + Linux hosts / guests: fix for kernels with CONFIG_CPUMASK_OFFSTACK set (bug #16020) + Linux Additions: don't require all virtual consoles be in text mode. This should fix cases when the guest is booted with a graphical boot screen (bug #15683) + Linux Additions: added depmod overrides for the vboxguest and vboxsf kernel modules to fix conflicts with modules shipped by certain Linux distributions + X11 Additions: disable 3D on the guest if the host does not provide enough capabilities (bug #15860) + +------------------------------------------------------------------- +Tue Oct 18 14:43:04 UTC 2016 - Larry.Finger@lwfinger.net + +- Requesting 14000 MB is too much. Reduce the request to 12000 MB. + +------------------------------------------------------------------- +Thu Oct 13 19:15:03 UTC 2016 - Larry.Finger@lwfinger.net + +- Some builds still run out of memory and fail. Increase to 14000 MB. + +------------------------------------------------------------------- +Thu Oct 13 16:11:14 UTC 2016 - Larry.Finger@lwfinger.net + +- Builds keep running out of memory when building the web server part of the package. + To help the memory pressure, I have forced make to run with "-j2", rather than use + the number of processors. Such a change will slow the build, but will result in a + higher rate of success. + +------------------------------------------------------------------- +Wed Oct 12 20:07:16 UTC 2016 - Larry.Finger@lwfinger.net + +- Increase memory allowed in build to 10000 MB. + ------------------------------------------------------------------- Mon Sep 12 22:25:42 UTC 2016 - Larry.Finger@lwfinger.net diff --git a/virtualbox.spec b/virtualbox.spec index a921b45..08f03b9 100644 --- a/virtualbox.spec +++ b/virtualbox.spec @@ -19,7 +19,7 @@ %define _vbox_instdir %{_libexecdir}/virtualbox %define _udevrulesdir %{_libexecdir}/udev/rules.d Name: virtualbox -Version: 5.1.6 +Version: 5.1.8 Release: 0 Summary: VirtualBox is an Emulator License: GPL-2.0+ @@ -86,6 +86,10 @@ Patch109: vbox-usb-warning.diff Patch111: vbox_prevent_wrong_SONAME.patch # Fix change in kernel API for ttm_bo_move_memcpy() Patch112: modify_for_4_8_bo_move.patch +# Remove all mention of _smp_mflags +Patch113: vbox_remove_smp_mflags.patch +# Fix build error on kernel 4.9 +Patch114: vbox_fix_4.9_api_changes.patch # BuildRequires: LibVNCServer-devel BuildRequires: SDL-devel @@ -319,6 +323,8 @@ This package contains icons for guest desktop files that were created on the des %patch109 -p1 %patch111 -p1 %patch112 -p1 +%patch113 -p1 +%patch114 -p1 #copy user manual cp %{SOURCE1} UserManual.pdf @@ -369,11 +375,8 @@ 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 +# To keep memory requirements within bounds, limit make to 2 jobs + %{_bindir}/kmk -j2 \ VBOX_GCC_WERR= \ KBUILD_VERBOSE=2 \ VBOX_USE_SYSTEM_XORG_HEADERS=1 \ @@ -422,12 +425,7 @@ 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 - %ifarch %ix86 - make -j2 \ - %else - make %{?_smp_mflags} \ - %endif - -C %{_prefix}/src/linux-obj/%{_target_cpu}/$flavor modules \ + make -j2 -C %{_prefix}/src/linux-obj/%{_target_cpu}/$flavor modules \ M=$PWD/modules_build_dir/$flavor/$module_name done done @@ -464,7 +462,7 @@ do #and trought the all flavors for flavor in %{flavors_to_build}; do #to install modules use Makefile from %{_prefix}/src/linux-obj/%_target_cpu/$flavor and builds from $PWD/modules_build_dir/$flavor/$module_name - make %{?_smp_mflags} -C %{_prefix}/src/linux-obj/%{_target_cpu}/$flavor modules_install M=$PWD/modules_build_dir/$flavor/$module_name + make -C %{_prefix}/src/linux-obj/%{_target_cpu}/$flavor modules_install M=$PWD/modules_build_dir/$flavor/$module_name done done