[zoneminder/f32] (2 commits) ...1.34.18 Release
by Andrew Bauer
Summary of changes:
ac0d84f... Disable LTO due to top level asm (*)
14ca0e9... 1.34.18 Release (*)
(*) This commit already existed in another branch; no separate mail sent
4 years, 3 months
[zoneminder] 1.34.18 Release
by Andrew Bauer
commit 14ca0e97abe0a97c432e1d85774904c246c8c0c4
Author: Andrew Bauer <zonexpertconsulting(a)outlook.com>
Date: Thu Aug 6 20:46:31 2020 -0500
1.34.18 Release
.gitignore | 1 +
sources | 2 +-
zoneminder.spec | 7 +++++--
3 files changed, 7 insertions(+), 3 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index ffd2a4b..8b4af51 100644
--- a/.gitignore
+++ b/.gitignore
@@ -21,3 +21,4 @@
/zoneminder-1.34.14.tar.gz
/zoneminder-1.34.16.tar.gz
/zoneminder-1.34.17.tar.gz
+/zoneminder-1.34.18.tar.gz
diff --git a/sources b/sources
index 65d0886..cde0cae 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
SHA512 (cakephp-enum-behavior-1.0-zm.tar.gz) = 26b4fa4e4b53b6add69df506d68cee06c7c153ddb6facb76ff1156c5f558b9a7704e99b54361771195092ae7ab4f493c24135fa5a3f59fae84b6dc33ff3e0bd1
SHA512 (crud-3.1.0-zm.tar.gz) = 03b641454ad070a729e45f592c6c01bf2c80c53f00e085eb48380ba96e88d8c1410b2a0c58607f85d6536375d789b022b9e6b7de5bda8886ec17c3bdb07a68fc
-SHA512 (zoneminder-1.34.17.tar.gz) = 6588279bfea87d3cb239b832ba604ddf140126cf51b2b703c7a10215f5e87e82fa34f15cd98fd2531a174b59d04c6fd4dce4f26d7f5a8271962e8f4184594b75
+SHA512 (zoneminder-1.34.18.tar.gz) = 2513a9e811557c8bac738dc8118d1274532ab27a90013f3ad6d87013670e52f7d56c3f8bc477dfe24a83c31f4ca7fceeab340e9872a76efa77b1f826504450a3
diff --git a/zoneminder.spec b/zoneminder.spec
index b382f1a..8c360fd 100644
--- a/zoneminder.spec
+++ b/zoneminder.spec
@@ -28,8 +28,8 @@
%global _hardened_build 1
Name: zoneminder
-Version: 1.34.17
-Release: 2%{?dist}
+Version: 1.34.18
+Release: 1%{?dist}
Summary: A camera monitoring and analysis tool
Group: System Environment/Daemons
# Mootools is inder the MIT license: http://mootools.net/
@@ -420,6 +420,9 @@ EOF
%dir %attr(755,nginx,nginx) %{_localstatedir}/spool/zoneminder-upload
%changelog
+* Thu Aug 06 2020 Andrew Bauer <zonexpertconsulting(a)outlook.com> - 1.34.18-1
+- 1.34.18 Release
+
* Thu Aug 06 2020 Andrew Bauer <zonexpertconsulting(a)outlook.com> - 1.34.17-2
- Disable LTO due to top level asm
4 years, 3 months
[zoneminder] Disable LTO due to top level asm
by Andrew Bauer
commit ac0d84ffcf16a5a00dbdf961db2bf60cadb0e610
Author: Andrew Bauer <zonexpertconsulting(a)outlook.com>
Date: Thu Aug 6 14:00:01 2020 -0500
Disable LTO due to top level asm
zoneminder.spec | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
---
diff --git a/zoneminder.spec b/zoneminder.spec
index 22237f4..b382f1a 100644
--- a/zoneminder.spec
+++ b/zoneminder.spec
@@ -29,7 +29,7 @@
Name: zoneminder
Version: 1.34.17
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: A camera monitoring and analysis tool
Group: System Environment/Daemons
# Mootools is inder the MIT license: http://mootools.net/
@@ -206,6 +206,10 @@ mv -f CakePHP-Enum-Behavior-%{ceb_version} ./web/api/app/Plugin/CakePHP-Enum-Beh
./utils/zmeditconfigdata.sh ZM_OPT_FAST_DELETE no
%build
+# Disable LTO due to top level asm
+# See https://fedoraproject.org/wiki/LTOByDefault
+%define _lto_cflags %{nil}
+
%cmake3 \
-DZM_WEB_USER="%{zmuid_final}" \
-DZM_WEB_GROUP="%{zmgid_final}" \
@@ -416,6 +420,9 @@ EOF
%dir %attr(755,nginx,nginx) %{_localstatedir}/spool/zoneminder-upload
%changelog
+* Thu Aug 06 2020 Andrew Bauer <zonexpertconsulting(a)outlook.com> - 1.34.17-2
+- Disable LTO due to top level asm
+
* Wed Aug 05 2020 Andrew Bauer <zonexpertconsulting(a)outlook.com> - 1.34.17-1
- 1.34.17 Release
4 years, 3 months
[VirtualBox] Updates for kernel-5.8
by Sérgio M. Basto
commit 8bdc1cdb75cc9f9cb104405b2dcd5e3b545c7bde
Author: Sérgio M. Basto <sergio(a)serjux.com>
Date: Thu Aug 6 12:35:47 2020 +0100
Updates for kernel-5.8
088da92603cb4f1175ed6d0c452b049af3372c1e.patch | 65 +++++++
3c981196de564d78aa8c653496f7fefe303bf7b6.patch | 47 +++++
521d08e75cb85b0dad89643d2a9de39dfb6f8832.patch | 160 ++++++++++++++++
6370c9d7c7908f7072b654f9794ed6c5d562768b.patch | 41 +++++
842e5679b0904a80c7f065ad50417d82af265395.patch | 27 +++
9f9e3db9d80be17d6fc9be48b6d8745c971fca99.patch | 241 +++++++++++++++++++++++++
VirtualBox.spec | 21 ++-
b0f29563e5a7e5d4af8585ee0fffe208d3f528d2.patch | 27 +++
update_vbox.sh | 2 +-
9 files changed, 628 insertions(+), 3 deletions(-)
---
diff --git a/088da92603cb4f1175ed6d0c452b049af3372c1e.patch b/088da92603cb4f1175ed6d0c452b049af3372c1e.patch
new file mode 100644
index 0000000..3ee086b
--- /dev/null
+++ b/088da92603cb4f1175ed6d0c452b049af3372c1e.patch
@@ -0,0 +1,65 @@
+From 088da92603cb4f1175ed6d0c452b049af3372c1e Mon Sep 17 00:00:00 2001
+From: vboxsync <vboxsync@cfe28804-0f27-0410-a406-dd0f0b0b656f>
+Date: Wed, 29 Jul 2020 10:44:46 +0000
+Subject: [PATCH] IPRT/memobj-r0drv-linux.c: Make it easier to push the W^X
+ semantics further back (after some testing). bugref:9801
+
+git-svn-id: http://www.virtualbox.org/svn/vbox@85514 cfe28804-0f27-0410-a406-dd0f0b0b656f
+---
+ .../VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c | 15 +++++++++++----
+ 1 file changed, 11 insertions(+), 4 deletions(-)
+
+diff --git a/trunk/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c b/trunk/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
+index e42fe255b6..4edf533d45 100644
+--- a/trunk/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
++++ b/trunk/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
+@@ -52,6 +52,13 @@
+ # define PAGE_READONLY_EXEC PAGE_READONLY
+ #endif
+
++/** @def IPRT_USE_ALLOC_VM_AREA_FOR_EXEC
++ * Whether we use alloc_vm_area (3.2+) for executable memory.
++ * This is a must for 5.8+, but we'll enable it for earlier kernels later. */
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0) || defined(DOXYGEN_RUNNING)
++# define IPRT_USE_ALLOC_VM_AREA_FOR_EXEC
++#endif
++
+ /*
+ * 2.6.29+ kernels don't work with remap_pfn_range() anymore because
+ * track_pfn_vma_new() is apparently not defined for non-RAM pages.
+@@ -105,7 +112,7 @@ typedef struct RTR0MEMOBJLNX
+ bool fExecutable;
+ /** Set if we've vmap'ed the memory into ring-0. */
+ bool fMappedToRing0;
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0)
++#ifdef IPRT_USE_ALLOC_VM_AREA_FOR_EXEC
+ /** Return from alloc_vm_area() that we now need to use for executable
+ * memory. */
+ struct vm_struct *pArea;
+@@ -544,7 +551,7 @@ static int rtR0MemObjLinuxVMap(PRTR0MEMOBJLNX pMemLnx, bool fExecutable)
+ pgprot_val(fPg) |= _PAGE_NX;
+ # endif
+
+-# if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0)
++# ifdef IPRT_USE_ALLOC_VM_AREA_FOR_EXEC
+ if (fExecutable)
+ {
+ pte_t **papPtes = (pte_t **)kmalloc_array(pMemLnx->cPages, sizeof(papPtes[0]), GFP_KERNEL);
+@@ -612,7 +619,7 @@ static int rtR0MemObjLinuxVMap(PRTR0MEMOBJLNX pMemLnx, bool fExecutable)
+ static void rtR0MemObjLinuxVUnmap(PRTR0MEMOBJLNX pMemLnx)
+ {
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 4, 22)
+-# if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0)
++# ifdef IPRT_USE_ALLOC_VM_AREA_FOR_EXEC
+ if (pMemLnx->pArea)
+ {
+ # if 0
+@@ -1828,7 +1835,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJINTERNAL ppMem, RTR0MEMOBJ p
+
+ DECLHIDDEN(int) rtR0MemObjNativeProtect(PRTR0MEMOBJINTERNAL pMem, size_t offSub, size_t cbSub, uint32_t fProt)
+ {
+-# if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0)
++# ifdef IPRT_USE_ALLOC_VM_AREA_FOR_EXEC
+ /*
+ * Currently only supported when we've got addresses PTEs from the kernel.
+ */
diff --git a/3c981196de564d78aa8c653496f7fefe303bf7b6.patch b/3c981196de564d78aa8c653496f7fefe303bf7b6.patch
new file mode 100644
index 0000000..dbaabb4
--- /dev/null
+++ b/3c981196de564d78aa8c653496f7fefe303bf7b6.patch
@@ -0,0 +1,47 @@
+From 3c981196de564d78aa8c653496f7fefe303bf7b6 Mon Sep 17 00:00:00 2001
+From: vboxsync <vboxsync@cfe28804-0f27-0410-a406-dd0f0b0b656f>
+Date: Thu, 23 Jul 2020 11:58:10 +0000
+Subject: [PATCH] SUPDrv/supdrvOSChangeCR4: Adjustments for 5.8. bugref:9801
+
+git-svn-id: http://www.virtualbox.org/svn/vbox@85431 cfe28804-0f27-0410-a406-dd0f0b0b656f
+---
+ .../HostDrivers/Support/linux/SUPDrv-linux.c | 19 ++++++++++++-------
+ 1 file changed, 12 insertions(+), 7 deletions(-)
+
+diff --git a/trunk/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c b/trunk/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c
+index 02cea26f02..16f6e9fc9e 100644
+--- a/trunk/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c
++++ b/trunk/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c
+@@ -756,20 +756,25 @@ EXPORT_SYMBOL(SUPDrvLinuxIDC);
+
+ RTCCUINTREG VBOXCALL supdrvOSChangeCR4(RTCCUINTREG fOrMask, RTCCUINTREG fAndMask)
+ {
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 20, 0)
+- RTCCUINTREG uOld = this_cpu_read(cpu_tlbstate.cr4);
+- RTCCUINTREG uNew = (uOld & fAndMask) | fOrMask;
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0)
++ RTCCUINTREG const uOld = __read_cr4();
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3, 20, 0)
++ RTCCUINTREG const uOld = this_cpu_read(cpu_tlbstate.cr4);
++#else
++ RTCCUINTREG const uOld = ASMGetCR4();
++#endif
++ RTCCUINTREG const uNew = (uOld & fAndMask) | fOrMask;
+ if (uNew != uOld)
+ {
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0)
++ ASMSetCR4(uNew);
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3, 20, 0)
+ this_cpu_write(cpu_tlbstate.cr4, uNew);
+ __write_cr4(uNew);
+- }
+ #else
+- RTCCUINTREG uOld = ASMGetCR4();
+- RTCCUINTREG uNew = (uOld & fAndMask) | fOrMask;
+- if (uNew != uOld)
+ ASMSetCR4(uNew);
+ #endif
++ }
+ return uOld;
+ }
+
diff --git a/521d08e75cb85b0dad89643d2a9de39dfb6f8832.patch b/521d08e75cb85b0dad89643d2a9de39dfb6f8832.patch
new file mode 100644
index 0000000..a1f8c04
--- /dev/null
+++ b/521d08e75cb85b0dad89643d2a9de39dfb6f8832.patch
@@ -0,0 +1,160 @@
+From 521d08e75cb85b0dad89643d2a9de39dfb6f8832 Mon Sep 17 00:00:00 2001
+From: vboxsync <vboxsync@cfe28804-0f27-0410-a406-dd0f0b0b656f>
+Date: Thu, 23 Jul 2020 11:57:35 +0000
+Subject: [PATCH] IPRT/memobj-r0drv-linux.c: Wrap mmap_sem operations as it was
+ renamed to mmap_lock in 5.8. bugref:9801
+
+git-svn-id: http://www.virtualbox.org/svn/vbox@85430 cfe28804-0f27-0410-a406-dd0f0b0b656f
+---
+ .../Runtime/r0drv/linux/memobj-r0drv-linux.c | 49 ++++++++++++-------
+ 1 file changed, 32 insertions(+), 17 deletions(-)
+
+diff --git a/trunk/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c b/trunk/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
+index 91e77076bf..b2c9dcdea8 100644
+--- a/trunk/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
++++ b/trunk/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
+@@ -72,6 +72,21 @@
+ # define gfp_t unsigned
+ #endif
+
++/*
++ * Wrappers around mmap_lock/mmap_sem difference.
++ */
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0)
++# define LNX_MM_DOWN_READ(a_pMm) down_read(&(a_pMm)->mmap_lock)
++# define LNX_MM_UP_READ(a_pMm) up_read(&(a_pMm)->mmap_lock)
++# define LNX_MM_DOWN_WRITE(a_pMm) down_write(&(a_pMm)->mmap_lock)
++# define LNX_MM_UP_WRITE(a_pMm) up_write(&(a_pMm)->mmap_lock)
++#else
++# define LNX_MM_DOWN_READ(a_pMm) down_read(&(a_pMm)->mmap_sem)
++# define LNX_MM_UP_READ(a_pMm) up_read(&(a_pMm)->mmap_sem)
++# define LNX_MM_DOWN_WRITE(a_pMm) down_write(&(a_pMm)->mmap_sem)
++# define LNX_MM_UP_WRITE(a_pMm) up_write(&(a_pMm)->mmap_sem)
++#endif
++
+
+ /*********************************************************************************************************************************
+ * Structures and Typedefs *
+@@ -182,7 +197,7 @@ static pgprot_t rtR0MemObjLinuxConvertProt(unsigned fProt, bool fKernel)
+ * Worker for rtR0MemObjNativeReserveUser and rtR0MemObjNativerMapUser that creates
+ * an empty user space mapping.
+ *
+- * We acquire the mmap_sem of the task!
++ * We acquire the mmap_sem/mmap_lock of the task!
+ *
+ * @returns Pointer to the mapping.
+ * (void *)-1 on failure.
+@@ -222,9 +237,9 @@ static void *rtR0MemObjLinuxDoMmap(RTR3PTR R3PtrFixed, size_t cb, size_t uAlignm
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 5, 0)
+ ulAddr = vm_mmap(NULL, R3PtrFixed, cb, fLnxProt, MAP_SHARED | MAP_ANONYMOUS | MAP_FIXED, 0);
+ #else
+- down_write(&pTask->mm->mmap_sem);
++ LNX_MM_DOWN_WRITE(pTask->mm);
+ ulAddr = do_mmap(NULL, R3PtrFixed, cb, fLnxProt, MAP_SHARED | MAP_ANONYMOUS | MAP_FIXED, 0);
+- up_write(&pTask->mm->mmap_sem);
++ LNX_MM_UP_WRITE(pTask->mm);
+ #endif
+ }
+ else
+@@ -232,9 +247,9 @@ static void *rtR0MemObjLinuxDoMmap(RTR3PTR R3PtrFixed, size_t cb, size_t uAlignm
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 5, 0)
+ ulAddr = vm_mmap(NULL, 0, cb, fLnxProt, MAP_SHARED | MAP_ANONYMOUS, 0);
+ #else
+- down_write(&pTask->mm->mmap_sem);
++ LNX_MM_DOWN_WRITE(pTask->mm);
+ ulAddr = do_mmap(NULL, 0, cb, fLnxProt, MAP_SHARED | MAP_ANONYMOUS, 0);
+- up_write(&pTask->mm->mmap_sem);
++ LNX_MM_UP_WRITE(pTask->mm);
+ #endif
+ if ( !(ulAddr & ~PAGE_MASK)
+ && (ulAddr & (uAlignment - 1)))
+@@ -257,7 +272,7 @@ static void *rtR0MemObjLinuxDoMmap(RTR3PTR R3PtrFixed, size_t cb, size_t uAlignm
+ * Worker that destroys a user space mapping.
+ * Undoes what rtR0MemObjLinuxDoMmap did.
+ *
+- * We acquire the mmap_sem of the task!
++ * We acquire the mmap_sem/mmap_lock of the task!
+ *
+ * @param pv The ring-3 mapping.
+ * @param cb The size of the mapping.
+@@ -269,13 +284,13 @@ static void rtR0MemObjLinuxDoMunmap(void *pv, size_t cb, struct task_struct *pTa
+ Assert(pTask == current); RT_NOREF_PV(pTask);
+ vm_munmap((unsigned long)pv, cb);
+ #elif defined(USE_RHEL4_MUNMAP)
+- down_write(&pTask->mm->mmap_sem);
++ LNX_MM_DOWN_WRITE(pTask->mm);
+ do_munmap(pTask->mm, (unsigned long)pv, cb, 0); /* should it be 1 or 0? */
+- up_write(&pTask->mm->mmap_sem);
++ LNX_MM_UP_WRITE(pTask->mm);
+ #else
+- down_write(&pTask->mm->mmap_sem);
++ LNX_MM_DOWN_WRITE(pTask->mm);
+ do_munmap(pTask->mm, (unsigned long)pv, cb);
+- up_write(&pTask->mm->mmap_sem);
++ LNX_MM_UP_WRITE(pTask->mm);
+ #endif
+ }
+
+@@ -593,7 +608,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
+ size_t iPage;
+ Assert(pTask);
+ if (pTask && pTask->mm)
+- down_read(&pTask->mm->mmap_sem);
++ LNX_MM_DOWN_READ(pTask->mm);
+
+ iPage = pMemLnx->cPages;
+ while (iPage-- > 0)
+@@ -608,7 +623,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
+ }
+
+ if (pTask && pTask->mm)
+- up_read(&pTask->mm->mmap_sem);
++ LNX_MM_UP_READ(pTask->mm);
+ }
+ /* else: kernel memory - nothing to do here. */
+ break;
+@@ -1076,7 +1091,7 @@ DECLHIDDEN(int) rtR0MemObjNativeLockUser(PPRTR0MEMOBJINTERNAL ppMem, RTR3PTR R3P
+ papVMAs = (struct vm_area_struct **)RTMemAlloc(sizeof(*papVMAs) * cPages);
+ if (papVMAs)
+ {
+- down_read(&pTask->mm->mmap_sem);
++ LNX_MM_DOWN_READ(pTask->mm);
+
+ /*
+ * Get user pages.
+@@ -1162,7 +1177,7 @@ DECLHIDDEN(int) rtR0MemObjNativeLockUser(PPRTR0MEMOBJINTERNAL ppMem, RTR3PTR R3P
+ papVMAs[rc]->vm_flags |= VM_DONTCOPY | VM_LOCKED;
+ }
+
+- up_read(&pTask->mm->mmap_sem);
++ LNX_MM_UP_READ(pTask->mm);
+
+ RTMemFree(papVMAs);
+
+@@ -1189,7 +1204,7 @@ DECLHIDDEN(int) rtR0MemObjNativeLockUser(PPRTR0MEMOBJINTERNAL ppMem, RTR3PTR R3P
+ #endif
+ }
+
+- up_read(&pTask->mm->mmap_sem);
++ LNX_MM_UP_READ(pTask->mm);
+
+ RTMemFree(papVMAs);
+ rc = VERR_LOCK_FAILED;
+@@ -1604,7 +1619,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJINTERNAL ppMem, RTR0MEMOBJ p
+ const size_t cPages = (offSub + cbSub) >> PAGE_SHIFT;
+ size_t iPage;
+
+- down_write(&pTask->mm->mmap_sem);
++ LNX_MM_DOWN_WRITE(pTask->mm);
+
+ rc = VINF_SUCCESS;
+ if (pMemLnxToMap->cPages)
+@@ -1721,7 +1736,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJINTERNAL ppMem, RTR0MEMOBJ p
+ }
+ #endif /* CONFIG_NUMA_BALANCING */
+
+- up_write(&pTask->mm->mmap_sem);
++ LNX_MM_UP_WRITE(pTask->mm);
+
+ if (RT_SUCCESS(rc))
+ {
diff --git a/6370c9d7c7908f7072b654f9794ed6c5d562768b.patch b/6370c9d7c7908f7072b654f9794ed6c5d562768b.patch
new file mode 100644
index 0000000..cf3510e
--- /dev/null
+++ b/6370c9d7c7908f7072b654f9794ed6c5d562768b.patch
@@ -0,0 +1,41 @@
+From 6370c9d7c7908f7072b654f9794ed6c5d562768b Mon Sep 17 00:00:00 2001
+From: vboxsync <vboxsync@cfe28804-0f27-0410-a406-dd0f0b0b656f>
+Date: Wed, 29 Jul 2020 10:03:29 +0000
+Subject: [PATCH] IPRT/alloc-r0drv-linux.c,SUPDrv-linux.c: RTMEMALLOC_EXEC_HEAP
+ for 5.8+ (more on this later as it doesn't really work). bugref:9801
+
+git-svn-id: http://www.virtualbox.org/svn/vbox@85505 cfe28804-0f27-0410-a406-dd0f0b0b656f
+---
+ trunk/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c | 4 ++--
+ trunk/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/trunk/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c b/trunk/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c
+index 16f6e9fc9e..efe873a184 100644
+--- a/trunk/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c
++++ b/trunk/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c
+@@ -144,9 +144,9 @@ static int force_async_tsc = 0;
+ * Memory for the executable memory heap (in IPRT).
+ */
+ # ifdef DEBUG
+-# define EXEC_MEMORY_SIZE 8388608 /* 8 MB */
++# define EXEC_MEMORY_SIZE 10485760 /* 10 MB */
+ # else
+-# define EXEC_MEMORY_SIZE 2097152 /* 2 MB */
++# define EXEC_MEMORY_SIZE 8388608 /* 8 MB */
+ # endif
+ extern uint8_t g_abExecMemory[EXEC_MEMORY_SIZE];
+ # ifndef VBOX_WITH_TEXT_MODMEM_HACK
+diff --git a/trunk/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c b/trunk/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c
+index dcda77d276..b182404cec 100644
+--- a/trunk/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c
++++ b/trunk/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c
+@@ -38,7 +38,7 @@
+
+
+ #if (defined(RT_ARCH_AMD64) || defined(DOXYGEN_RUNNING)) && !defined(RTMEMALLOC_EXEC_HEAP)
+-# if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 23)
++# if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 23) && LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0)
+ /**
+ * Starting with 2.6.23 we can use __get_vm_area and map_vm_area to allocate
+ * memory in the moduel range. This is preferrable to the exec heap below.
diff --git a/842e5679b0904a80c7f065ad50417d82af265395.patch b/842e5679b0904a80c7f065ad50417d82af265395.patch
new file mode 100644
index 0000000..e5cf91b
--- /dev/null
+++ b/842e5679b0904a80c7f065ad50417d82af265395.patch
@@ -0,0 +1,27 @@
+From 842e5679b0904a80c7f065ad50417d82af265395 Mon Sep 17 00:00:00 2001
+From: vboxsync <vboxsync@cfe28804-0f27-0410-a406-dd0f0b0b656f>
+Date: Wed, 29 Jul 2020 11:01:45 +0000
+Subject: [PATCH] IPRT/the-linux-kernel.h: Need header for __flush_tlb_all()
+ now. bugref:9801
+
+git-svn-id: http://www.virtualbox.org/svn/vbox@85518 cfe28804-0f27-0410-a406-dd0f0b0b656f
+---
+ trunk/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/trunk/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h b/trunk/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h
+index 9b77283e1c..0142035c41 100644
+--- a/trunk/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h
++++ b/trunk/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h
+@@ -176,6 +176,11 @@
+ # include <asm/set_memory.h>
+ #endif
+
++/* for __flush_tlb_all() */
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28) && (defined(RT_ARCH_AMD64) || defined(RT_ARCH_X86))
++# include <asm/tlbflush.h>
++#endif
++
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 7, 0)
+ # include <asm/smap.h>
+ #else
diff --git a/9f9e3db9d80be17d6fc9be48b6d8745c971fca99.patch b/9f9e3db9d80be17d6fc9be48b6d8745c971fca99.patch
new file mode 100644
index 0000000..2c82f93
--- /dev/null
+++ b/9f9e3db9d80be17d6fc9be48b6d8745c971fca99.patch
@@ -0,0 +1,241 @@
+From 9f9e3db9d80be17d6fc9be48b6d8745c971fca99 Mon Sep 17 00:00:00 2001
+From: vboxsync <vboxsync@cfe28804-0f27-0410-a406-dd0f0b0b656f>
+Date: Wed, 29 Jul 2020 10:02:13 +0000
+Subject: [PATCH] IPRT/memobj-r0drv*: Change the fExecutable flag to W^X
+ semantics where possible (linux 5.8+ only atm). Linux 5.8 adjustments.
+ bugref:9801
+
+git-svn-id: http://www.virtualbox.org/svn/vbox@85504 cfe28804-0f27-0410-a406-dd0f0b0b656f
+---
+ trunk/include/iprt/memobj.h | 30 ++++--
+ .../Runtime/r0drv/linux/memobj-r0drv-linux.c | 99 +++++++++++++++++--
+ 2 files changed, 115 insertions(+), 14 deletions(-)
+
+diff --git a/trunk/include/iprt/memobj.h b/trunk/include/iprt/memobj.h
+index 2510d8be52..4925315db6 100644
+--- a/trunk/include/iprt/memobj.h
++++ b/trunk/include/iprt/memobj.h
+@@ -127,7 +127,10 @@ RTR0DECL(int) RTR0MemObjFree(RTR0MEMOBJ MemObj, bool fFreeMappings);
+ * @returns IPRT status code.
+ * @param pMemObj Where to store the ring-0 memory object handle.
+ * @param cb Number of bytes to allocate. This is rounded up to nearest page.
+- * @param fExecutable Flag indicating whether it should be permitted to executed code in the memory object.
++ * @param fExecutable Flag indicating whether it should be permitted to
++ * executed code in the memory object. The user must
++ * use RTR0MemObjProtect after initialization the
++ * allocation to actually make it executable.
+ */
+ #define RTR0MemObjAllocPage(pMemObj, cb, fExecutable) \
+ RTR0MemObjAllocPageTag((pMemObj), (cb), (fExecutable), RTMEM_TAG)
+@@ -140,7 +143,10 @@ RTR0DECL(int) RTR0MemObjFree(RTR0MEMOBJ MemObj, bool fFreeMappings);
+ * @returns IPRT status code.
+ * @param pMemObj Where to store the ring-0 memory object handle.
+ * @param cb Number of bytes to allocate. This is rounded up to nearest page.
+- * @param fExecutable Flag indicating whether it should be permitted to executed code in the memory object.
++ * @param fExecutable Flag indicating whether it should be permitted to
++ * executed code in the memory object. The user must
++ * use RTR0MemObjProtect after initialization the
++ * allocation to actually make it executable.
+ * @param pszTag Allocation tag used for statistics and such.
+ */
+ RTR0DECL(int) RTR0MemObjAllocPageTag(PRTR0MEMOBJ pMemObj, size_t cb, bool fExecutable, const char *pszTag);
+@@ -154,7 +160,10 @@ RTR0DECL(int) RTR0MemObjAllocPageTag(PRTR0MEMOBJ pMemObj, size_t cb, bool fExecu
+ * @returns IPRT status code.
+ * @param pMemObj Where to store the ring-0 memory object handle.
+ * @param cb Number of bytes to allocate. This is rounded up to nearest page.
+- * @param fExecutable Flag indicating whether it should be permitted to executed code in the memory object.
++ * @param fExecutable Flag indicating whether it should be permitted to
++ * executed code in the memory object. The user must
++ * use RTR0MemObjProtect after initialization the
++ * allocation to actually make it executable.
+ */
+ #define RTR0MemObjAllocLow(pMemObj, cb, fExecutable) \
+ RTR0MemObjAllocLowTag((pMemObj), (cb), (fExecutable), RTMEM_TAG)
+@@ -168,7 +177,10 @@ RTR0DECL(int) RTR0MemObjAllocPageTag(PRTR0MEMOBJ pMemObj, size_t cb, bool fExecu
+ * @returns IPRT status code.
+ * @param pMemObj Where to store the ring-0 memory object handle.
+ * @param cb Number of bytes to allocate. This is rounded up to nearest page.
+- * @param fExecutable Flag indicating whether it should be permitted to executed code in the memory object.
++ * @param fExecutable Flag indicating whether it should be permitted to
++ * executed code in the memory object. The user must
++ * use RTR0MemObjProtect after initialization the
++ * allocation to actually make it executable.
+ * @param pszTag Allocation tag used for statistics and such.
+ */
+ RTR0DECL(int) RTR0MemObjAllocLowTag(PRTR0MEMOBJ pMemObj, size_t cb, bool fExecutable, const char *pszTag);
+@@ -182,7 +194,10 @@ RTR0DECL(int) RTR0MemObjAllocLowTag(PRTR0MEMOBJ pMemObj, size_t cb, bool fExecut
+ * @returns IPRT status code.
+ * @param pMemObj Where to store the ring-0 memory object handle.
+ * @param cb Number of bytes to allocate. This is rounded up to nearest page.
+- * @param fExecutable Flag indicating whether it should be permitted to executed code in the memory object.
++ * @param fExecutable Flag indicating whether it should be permitted to
++ * executed code in the memory object. The user must
++ * use RTR0MemObjProtect after initialization the
++ * allocation to actually make it executable.
+ */
+ #define RTR0MemObjAllocCont(pMemObj, cb, fExecutable) \
+ RTR0MemObjAllocContTag((pMemObj), (cb), (fExecutable), RTMEM_TAG)
+@@ -196,7 +211,10 @@ RTR0DECL(int) RTR0MemObjAllocLowTag(PRTR0MEMOBJ pMemObj, size_t cb, bool fExecut
+ * @returns IPRT status code.
+ * @param pMemObj Where to store the ring-0 memory object handle.
+ * @param cb Number of bytes to allocate. This is rounded up to nearest page.
+- * @param fExecutable Flag indicating whether it should be permitted to executed code in the memory object.
++ * @param fExecutable Flag indicating whether it should be permitted to
++ * executed code in the memory object. The user must
++ * use RTR0MemObjProtect after initialization the
++ * allocation to actually make it executable.
+ * @param pszTag Allocation tag used for statistics and such.
+ */
+ RTR0DECL(int) RTR0MemObjAllocContTag(PRTR0MEMOBJ pMemObj, size_t cb, bool fExecutable, const char *pszTag);
+diff --git a/trunk/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c b/trunk/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
+index b2c9dcdea8..e42fe255b6 100644
+--- a/trunk/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
++++ b/trunk/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
+@@ -92,7 +92,7 @@
+ * Structures and Typedefs *
+ *********************************************************************************************************************************/
+ /**
+- * The Darwin version of the memory object structure.
++ * The Linux version of the memory object structure.
+ */
+ typedef struct RTR0MEMOBJLNX
+ {
+@@ -105,11 +105,20 @@ typedef struct RTR0MEMOBJLNX
+ bool fExecutable;
+ /** Set if we've vmap'ed the memory into ring-0. */
+ bool fMappedToRing0;
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0)
++ /** Return from alloc_vm_area() that we now need to use for executable
++ * memory. */
++ struct vm_struct *pArea;
++ /** PTE array that goes along with pArea (must be freed). */
++ pte_t **papPtesForArea;
++#endif
+ /** The pages in the apPages array. */
+ size_t cPages;
+ /** Array of struct page pointers. (variable size) */
+ struct page *apPages[1];
+-} RTR0MEMOBJLNX, *PRTR0MEMOBJLNX;
++} RTR0MEMOBJLNX;
++/** Pointer to the linux memory object. */
++typedef RTR0MEMOBJLNX *PRTR0MEMOBJLNX;
+
+
+ static void rtR0MemObjLinuxFreePages(PRTR0MEMOBJLNX pMemLnx);
+@@ -535,15 +544,49 @@ static int rtR0MemObjLinuxVMap(PRTR0MEMOBJLNX pMemLnx, bool fExecutable)
+ pgprot_val(fPg) |= _PAGE_NX;
+ # endif
+
++# if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0)
++ if (fExecutable)
++ {
++ pte_t **papPtes = (pte_t **)kmalloc_array(pMemLnx->cPages, sizeof(papPtes[0]), GFP_KERNEL);
++ if (papPtes)
++ {
++ pMemLnx->pArea = alloc_vm_area(pMemLnx->Core.cb, papPtes); /* Note! pArea->nr_pages is not set. */
++ if (pMemLnx->pArea)
++ {
++ size_t i;
++ Assert(pMemLnx->pArea->size >= pMemLnx->Core.cb); /* Note! includes guard page. */
++ Assert(pMemLnx->pArea->addr);
++# ifdef _PAGE_NX
++ pgprot_val(fPg) |= _PAGE_NX; /* Uses RTR0MemObjProtect to clear NX when memory ready, W^X fashion. */
++# endif
++ pMemLnx->papPtesForArea = papPtes;
++ for (i = 0; i < pMemLnx->cPages; i++)
++ *papPtes[i] = mk_pte(pMemLnx->apPages[i], fPg);
++ pMemLnx->Core.pv = pMemLnx->pArea->addr;
++ pMemLnx->fMappedToRing0 = true;
++ }
++ else
++ {
++ kfree(papPtes);
++ rc = VERR_MAP_FAILED;
++ }
++ }
++ else
++ rc = VERR_MAP_FAILED;
++ }
++ else
++# endif
++ {
+ # ifdef VM_MAP
+- pMemLnx->Core.pv = vmap(&pMemLnx->apPages[0], pMemLnx->cPages, VM_MAP, fPg);
++ pMemLnx->Core.pv = vmap(&pMemLnx->apPages[0], pMemLnx->cPages, VM_MAP, fPg);
+ # else
+- pMemLnx->Core.pv = vmap(&pMemLnx->apPages[0], pMemLnx->cPages, VM_ALLOC, fPg);
++ pMemLnx->Core.pv = vmap(&pMemLnx->apPages[0], pMemLnx->cPages, VM_ALLOC, fPg);
+ # endif
+- if (pMemLnx->Core.pv)
+- pMemLnx->fMappedToRing0 = true;
+- else
+- rc = VERR_MAP_FAILED;
++ if (pMemLnx->Core.pv)
++ pMemLnx->fMappedToRing0 = true;
++ else
++ rc = VERR_MAP_FAILED;
++ }
+ #else /* < 2.4.22 */
+ rc = VERR_NOT_SUPPORTED;
+ #endif
+@@ -569,6 +612,22 @@ static int rtR0MemObjLinuxVMap(PRTR0MEMOBJLNX pMemLnx, bool fExecutable)
+ static void rtR0MemObjLinuxVUnmap(PRTR0MEMOBJLNX pMemLnx)
+ {
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 4, 22)
++# if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0)
++ if (pMemLnx->pArea)
++ {
++# if 0
++ pte_t **papPtes = pMemLnx->papPtesForArea;
++ size_t i;
++ for (i = 0; i < pMemLnx->cPages; i++)
++ *papPtes[i] = 0;
++# endif
++ free_vm_area(pMemLnx->pArea);
++ kfree(pMemLnx->papPtesForArea);
++ pMemLnx->pArea = NULL;
++ pMemLnx->papPtesForArea = NULL;
++ }
++ else
++# endif
+ if (pMemLnx->fMappedToRing0)
+ {
+ Assert(pMemLnx->Core.pv);
+@@ -1437,6 +1496,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJINTERNAL ppMem, RTR0MEMOBJ
+ * Use vmap - 2.4.22 and later.
+ */
+ pgprot_t fPg = rtR0MemObjLinuxConvertProt(fProt, true /* kernel */);
++ /** @todo We don't really care too much for EXEC here... 5.8 always adds NX. */
+ Assert(((offSub + cbSub) >> PAGE_SHIFT) <= pMemLnxToMap->cPages);
+ # ifdef VM_MAP
+ pMemLnx->Core.pv = vmap(&pMemLnxToMap->apPages[offSub >> PAGE_SHIFT], cbSub >> PAGE_SHIFT, VM_MAP, fPg);
+@@ -1768,6 +1828,29 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJINTERNAL ppMem, RTR0MEMOBJ p
+
+ DECLHIDDEN(int) rtR0MemObjNativeProtect(PRTR0MEMOBJINTERNAL pMem, size_t offSub, size_t cbSub, uint32_t fProt)
+ {
++# if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0)
++ /*
++ * Currently only supported when we've got addresses PTEs from the kernel.
++ */
++ PRTR0MEMOBJLNX pMemLnx = (PRTR0MEMOBJLNX)pMem;
++ if (pMemLnx->pArea && pMemLnx->papPtesForArea)
++ {
++ pgprot_t const fPg = rtR0MemObjLinuxConvertProt(fProt, true /*fKernel*/);
++ size_t const cPages = (offSub + cbSub) >> PAGE_SHIFT;
++ pte_t **papPtes = pMemLnx->papPtesForArea;
++ size_t i;
++
++ for (i = offSub >> PAGE_SHIFT; i < cPages; i++)
++ {
++ set_pte(papPtes[i], mk_pte(pMemLnx->apPages[i], fPg));
++ }
++ preempt_disable();
++ __flush_tlb_all();
++ preempt_enable();
++ return VINF_SUCCESS;
++ }
++# endif
++
+ NOREF(pMem);
+ NOREF(offSub);
+ NOREF(cbSub);
diff --git a/VirtualBox.spec b/VirtualBox.spec
index 3022801..cb7cde1 100644
--- a/VirtualBox.spec
+++ b/VirtualBox.spec
@@ -46,7 +46,7 @@
Name: VirtualBox
Version: 6.1.12
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: A general-purpose full virtualizer for PC hardware
License: GPLv2 or (GPLv2 and CDDL)
@@ -95,6 +95,13 @@ Patch70: vbox-python-detection.diff
Patch80: VirtualBox-6.1.4-gcc10.patch
Patch86: VirtualBox-6.1.0-VBoxRem.patch
+Patch87: 3c981196de564d78aa8c653496f7fefe303bf7b6.patch
+Patch88: 521d08e75cb85b0dad89643d2a9de39dfb6f8832.patch
+Patch89: 9f9e3db9d80be17d6fc9be48b6d8745c971fca99.patch
+Patch90: 6370c9d7c7908f7072b654f9794ed6c5d562768b.patch
+Patch91: 088da92603cb4f1175ed6d0c452b049af3372c1e.patch
+Patch92: b0f29563e5a7e5d4af8585ee0fffe208d3f528d2.patch
+Patch93: 842e5679b0904a80c7f065ad50417d82af265395.patch
BuildRequires: kBuild >= 0.1.9998.r3093
@@ -344,7 +351,14 @@ rm -r src/libs/zlib-1.2.*/
%patch61 -p1 -b .automount
%patch70 -p1 -b .python-detection
%patch80 -p1 -b .gcc10
-%patch86 -p1 -b .vboxrem
+#patch86 -p1 -b .vboxrem
+%patch87 -p2 -b .kernel-5.8
+%patch88 -p2 -b .kernel-5.8
+%patch89 -p2 -b .kernel-5.8
+%patch90 -p2 -b .kernel-5.8
+%patch91 -p2 -b .kernel-5.8
+%patch92 -p2 -b .kernel-5.8
+%patch93 -p2 -b .kernel-5.8
%build
@@ -899,6 +913,9 @@ getent passwd vboxadd >/dev/null || \
%{_datadir}/%{name}-kmod-%{version}
%changelog
+* Wed Aug 05 2020 Sérgio Basto <sergio(a)serjux.com> - 6.1.12-2
+- Updates for kernel-5.8
+
* Thu Jul 16 2020 Sérgio Basto <sergio(a)serjux.com> - 6.1.12-1
- Update VBox to 6.1.12
- From Debian disable cloud_net "Fix build failure due to missing upstream file"
diff --git a/b0f29563e5a7e5d4af8585ee0fffe208d3f528d2.patch b/b0f29563e5a7e5d4af8585ee0fffe208d3f528d2.patch
new file mode 100644
index 0000000..8384188
--- /dev/null
+++ b/b0f29563e5a7e5d4af8585ee0fffe208d3f528d2.patch
@@ -0,0 +1,27 @@
+From b0f29563e5a7e5d4af8585ee0fffe208d3f528d2 Mon Sep 17 00:00:00 2001
+From: vboxsync <vboxsync@cfe28804-0f27-0410-a406-dd0f0b0b656f>
+Date: Wed, 29 Jul 2020 10:47:38 +0000
+Subject: [PATCH] IPRT/memobj-r0drv-linux.c: Enable
+ IPRT_USE_ALLOC_VM_AREA_FOR_EXEC for linux 3.2 and later. bugref:9801
+
+git-svn-id: http://www.virtualbox.org/svn/vbox@85516 cfe28804-0f27-0410-a406-dd0f0b0b656f
+---
+ trunk/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/trunk/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c b/trunk/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
+index 4edf533d45..f2a6f829d6 100644
+--- a/trunk/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
++++ b/trunk/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
+@@ -54,8 +54,9 @@
+
+ /** @def IPRT_USE_ALLOC_VM_AREA_FOR_EXEC
+ * Whether we use alloc_vm_area (3.2+) for executable memory.
+- * This is a must for 5.8+, but we'll enable it for earlier kernels later. */
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0) || defined(DOXYGEN_RUNNING)
++ * This is a must for 5.8+, but we enable it all the way back to 3.2.x for
++ * better W^R compliance (fExecutable flag). */
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 2, 0) || defined(DOXYGEN_RUNNING)
+ # define IPRT_USE_ALLOC_VM_AREA_FOR_EXEC
+ #endif
+
diff --git a/update_vbox.sh b/update_vbox.sh
index 4784e6f..5e18fe0 100755
--- a/update_vbox.sh
+++ b/update_vbox.sh
@@ -1,5 +1,5 @@
VERSION=6.1.12
-REL=1
+REL=2
RAWHIDE=33
REPOS="f32 f31 el8 el7"
if [ -z "$1" ]
4 years, 3 months
[lightspark] Use new cmake macros
by Xavier Bachelot
commit 98d2387fc5160633808c369497f83fba1880cf84
Author: Xavier Bachelot <xavier(a)bachelot.org>
Date: Thu Aug 6 12:12:01 2020 +0200
Use new cmake macros
lightspark.spec | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
---
diff --git a/lightspark.spec b/lightspark.spec
index b5165ce..dc11b6b 100644
--- a/lightspark.spec
+++ b/lightspark.spec
@@ -7,7 +7,7 @@
Name: lightspark
Version: 0.8.3
-Release: 1%{?git_snapshot:.%{date}git%{commit_short}}%{?dist}
+Release: 2%{?git_snapshot:.%{date}git%{commit_short}}%{?dist}
Summary: An alternative Flash Player implementation
License: LGPLv3+
URL: http://lightspark.github.io/
@@ -85,11 +85,11 @@ This is the Chromium compatible plugin for %{name}.
%{?with_tightspark: -DCOMPILE_TIGHTSPARK=1} \
.
-%make_build VERBOSE=1
+%cmake_build
%install
-%make_install
+%cmake_install
%find_lang %{name}
%if %{with tightspark}
@@ -127,6 +127,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop
%changelog
+* Thu Aug 06 2020 Xavier Bachelot <xavier(a)bachelot.org> - 0.8.3-2
+- Use new cmake macros
+
* Wed Jul 08 2020 Xavier Bachelot <xavier(a)bachelot.org> - 0.8.3-1
- Update to 0.8.3
4 years, 3 months
[obs-studio] Improve compatibility with new CMake macro
by Leigh Scott
commit 9408fcd7971c27336153436118732f7246217586
Author: Leigh Scott <leigh123linux(a)gmail.com>
Date: Thu Aug 6 08:58:55 2020 +0100
Improve compatibility with new CMake macro
obs-studio.spec | 19 ++++++++++++-------
1 file changed, 12 insertions(+), 7 deletions(-)
---
diff --git a/obs-studio.spec b/obs-studio.spec
index 0e0bd22..6b35a31 100644
--- a/obs-studio.spec
+++ b/obs-studio.spec
@@ -1,3 +1,4 @@
+%undefine __cmake_in_source_build
%define _legacy_common_support 1
%if 0%{?fedora} || 0%{?rhel} > 7
# bytecompile with Python 3
@@ -8,7 +9,7 @@
Name: obs-studio
Version: 25.0.8
-Release: 3%{?dist}
+Release: 4%{?dist}
Summary: Open Broadcaster Software Studio
License: GPLv2+
@@ -97,20 +98,21 @@ that use %{name}.
sed -i 's|OBS_MULTIARCH_SUFFIX|LIB_SUFFIX|g' cmake/Modules/ObsHelpers.cmake
%build
-mkdir -p build
-pushd build
%cmake3 -DOBS_VERSION_OVERRIDE=%{version} \
-DUNIX_STRUCTURE=1 -GNinja \
- -DOpenGL_GL_PREFERENCE=GLVND ..
-%ninja_build
-popd
+ -DOpenGL_GL_PREFERENCE=GLVND \
+%if 0%{?rhel}
+ -S . -B %{_target_platform}
+%endif
+%cmake3_build
+
# build docs
doxygen
%install
-%ninja_install -C build
+%cmake3_install
# Add missing files to enable the build of obs-ndi
install -Dm644 UI/obs-frontend-api/obs-frontend-api.h %{buildroot}%{_includedir}/obs/
@@ -149,6 +151,9 @@ appstream-util validate-relax --nonet %{buildroot}%{_datadir}/metainfo/*.appdata
%doc docs/html
%changelog
+* Thu Aug 06 2020 Leigh Scott <leigh123linux(a)gmail.com> - 25.0.8-4
+- Improve compatibility with new CMake macro
+
* Tue Jul 07 2020 Sérgio Basto <sergio(a)serjux.com> - 25.0.8-3
- Mass rebuild for x264
4 years, 3 months
[zoneminder/el7: 2/2] Merge branch 'master' into el7
by Andrew Bauer
commit 4d03a64d7bf359eca44ff31e0312ae6302e75b25
Merge: 453ac84 c5c5a16
Author: Andrew Bauer <zonexpertconsulting(a)outlook.com>
Date: Wed Aug 5 16:49:28 2020 -0500
Merge branch 'master' into el7
.gitignore | 1 +
sources | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
---
4 years, 3 months
[zoneminder/el8] 1.34.17 Release
by Andrew Bauer
Summary of changes:
c5c5a16... 1.34.17 Release (*)
(*) This commit already existed in another branch; no separate mail sent
4 years, 3 months
[zoneminder/f31] 1.34.17 Release
by Andrew Bauer
Summary of changes:
c5c5a16... 1.34.17 Release (*)
(*) This commit already existed in another branch; no separate mail sent
4 years, 3 months