diff -Nru oss4-4.2-build2010/debian/changelog oss4-4.2-build2010/debian/changelog --- oss4-4.2-build2010/debian/changelog 2019-11-14 16:11:48.000000000 +0000 +++ oss4-4.2-build2010/debian/changelog 2021-06-23 12:10:36.000000000 +0000 @@ -1,3 +1,25 @@ +oss4 (4.2-build2010-5ubuntu6~20.04.3) focal; urgency=medium + + * Fix build for Linux >= 5.11 (LP: #1932168): + - do not define oss_get_time unless LICENSED_VERSION is defined. + + -- Thadeu Lima de Souza Cascardo Wed, 23 Jun 2021 12:10:36 +0000 + +oss4 (4.2-build2010-5ubuntu6~20.04.2) focal; urgency=medium + + * No change rebuild in security pocket. LP: #1914279. + + -- Dimitri John Ledkov Thu, 29 Apr 2021 16:08:32 +0100 + +oss4 (4.2-build2010-5ubuntu6~20.04.1) focal; urgency=medium + + * Fix build for Linux >=5.6 (LP: #1884645), changes picked from Groovy: + 512-Linux-5.6-proc-fops-conversion.patch, + 513-Linux-5.6-define-time_t.patch + properly use KBUILD_EXTRA_SYMBOLS instead of symlinking Module.symvers + + -- Stefan Bader Tue, 27 Oct 2020 12:14:17 +0100 + oss4 (4.2-build2010-5ubuntu5) focal; urgency=medium * Use M= instead of SUBDIRS= on debian/oss4-dkms.dkms.in (LP: #1848590) diff -Nru oss4-4.2-build2010/debian/create-ma-tree.sh oss4-4.2-build2010/debian/create-ma-tree.sh --- oss4-4.2-build2010/debian/create-ma-tree.sh 2015-03-09 18:55:24.000000000 +0000 +++ oss4-4.2-build2010/debian/create-ma-tree.sh 2020-10-27 11:14:17.000000000 +0000 @@ -74,9 +74,11 @@ echo "static const struct modversion_info ____versions[]" >> osscore_symbols.inc echo " __attribute__((used))" >> osscore_symbols.inc echo "__attribute__((section(\"__versions\"))) = {" >> osscore_symbols.inc - sed -e "s:^:{:" -e "s:\t:, \":" -e "s:\t\(.\)*:\"},:" < Module.symvers >> osscore_symbols.inc + sed -e "s:^:{:" -e "s:\t:, \":" -e "s:\t\(.\)*:\"},:" < \$(PWD)/core/Module.symvers >> osscore_symbols.inc echo "};" >> osscore_symbols.inc +KBUILD_EXTRA_SYMBOLS := \$(PWD)/core/Module.symvers + MULTIARCH_PATH = /usr/include/\$(shell dpkg-architecture -qDEB_HOST_MULTIARCH) EXTRA_CFLAGS=-D_KERNEL -I\$(KBUILD_EXTMOD)/../core -I\$(KBUILD_EXTMOD) -isystem /usr/include -isystem \$(MULTIARCH_PATH) -mhard-float \ -isystem \$(shell \$(CC) --print-file-name=include-fixed) @@ -136,6 +138,3 @@ find "$NEWDIR"/ -type f |xargs sed -i -e 's,#ifdef OSS_LITTLE_ENDIAN,#if __BYTE_ORDER == __LITTLE_ENDIAN,g' find "$NEWDIR"/ -type f |xargs sed -i -e 's,#ifndef OSS_LITTLE_ENDIAN,#if __BYTE_ORDER != __LITTLE_ENDIAN,g' -# OSS4 drivers need to depend on OSS4 core and not OSS3 from the kernel -ln -sf ../core/Module.symvers "$NEWDIR"/drivers/Module.symvers - diff -Nru oss4-4.2-build2010/debian/patches/512-Linux-5.6-proc-fops-conversion.patch oss4-4.2-build2010/debian/patches/512-Linux-5.6-proc-fops-conversion.patch --- oss4-4.2-build2010/debian/patches/512-Linux-5.6-proc-fops-conversion.patch 1970-01-01 00:00:00.000000000 +0000 +++ oss4-4.2-build2010/debian/patches/512-Linux-5.6-proc-fops-conversion.patch 2020-10-27 11:14:17.000000000 +0000 @@ -0,0 +1,39 @@ +From 63b1dcaafd453183ddf6a84ce0433cc0b50d7bb9 Mon Sep 17 00:00:00 2001 +From: Paolo Pisati +Date: Thu, 21 May 2020 13:54:41 +0000 +Subject: [PATCH 1/2] Linux 5.6: /proc fops conversion + +commit d56c0d45f0e2 "proc: decouple proc from VFS with struct proc_ops" +replaced struct file_operations with struct proc_ops for proc() ops, fix the +code accordingly. + +Signed-off-by: Paolo Pisati +--- + setup/Linux/oss/build/osscore.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/setup/Linux/oss/build/osscore.c b/setup/Linux/oss/build/osscore.c +index c98eae7..11d7530 100644 +--- a/setup/Linux/oss/build/osscore.c ++++ b/setup/Linux/oss/build/osscore.c +@@ -287,11 +287,17 @@ static struct file_operations oss_proc_operations = { + .read = oss_read_devfiles, + }; + #else ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0) ++static struct proc_ops fops = { ++ .proc_read = oss_read_devfiles, ++}; ++#else + static struct file_operations fops = { + .owner = THIS_MODULE, + .read = oss_read_devfiles, + }; + #endif ++#endif + + + static void +-- +2.27.0.rc0 + diff -Nru oss4-4.2-build2010/debian/patches/513-Linux-5.6-hide-time_t-from-shared-header.patch oss4-4.2-build2010/debian/patches/513-Linux-5.6-hide-time_t-from-shared-header.patch --- oss4-4.2-build2010/debian/patches/513-Linux-5.6-hide-time_t-from-shared-header.patch 1970-01-01 00:00:00.000000000 +0000 +++ oss4-4.2-build2010/debian/patches/513-Linux-5.6-hide-time_t-from-shared-header.patch 2020-10-27 11:14:17.000000000 +0000 @@ -0,0 +1,82 @@ +From d9dda85076ba68ed18840e39f52c905f917eb8bf Mon Sep 17 00:00:00 2001 +From: Paolo Pisati +Date: Fri, 22 May 2020 11:30:03 +0000 +Subject: [PATCH] Linux 5.6: hide time_t from shared header + +time_t was removed in: + +412c53a680a97cb1ae2c0ab60230e193bee86387 +y2038: remove unused time32 interfaces + +and + +c766d1472c70d25ad475cf56042af1652e792b23 +y2038: hide timeval/timespec/itimerval/itimerspec types + +define oss_get_time locally when necessary, and remove its definition from +public shared header. + +Signed-off-by: Paolo Pisati +--- + kernel/OS/Linux/os_linux.c | 8 ++++++++ + kernel/OS/Linux/wrapper/wrap.h | 2 -- + setup/Linux/oss/build/osscore.c | 4 ++++ + 3 files changed, 12 insertions(+), 2 deletions(-) + +diff --git a/kernel/OS/Linux/os_linux.c b/kernel/OS/Linux/os_linux.c +index c47f3da..4497fa4 100644 +--- a/kernel/OS/Linux/os_linux.c ++++ b/kernel/OS/Linux/os_linux.c +@@ -13,6 +13,9 @@ + * + */ + ++#include ++#include ++ + #include + #include + +@@ -986,6 +989,11 @@ oss_install_chrdev (oss_device_t * osdev, char *name, int dev_class, + } + } + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0) ++typedef old_time32_t time_t; ++#endif ++extern time_t oss_get_time (void); ++ + int + oss_init_osscore (oss_device_t * osdev) + { +diff --git a/kernel/OS/Linux/wrapper/wrap.h b/kernel/OS/Linux/wrapper/wrap.h +index ef158bc..974d5f2 100644 +--- a/kernel/OS/Linux/wrapper/wrap.h ++++ b/kernel/OS/Linux/wrapper/wrap.h +@@ -128,8 +128,6 @@ extern void *oss_contig_malloc (oss_device_t * osdev, int sz, + oss_native_word * phaddr); + extern void oss_contig_free (oss_device_t * osdev, void *p, int sz); + +-extern time_t oss_get_time (void); +- + typedef struct _inode_handle_t oss_inode_handle_t; + typedef struct _vm_aread_handle oss_vm_area_handle_t; + +diff --git a/setup/Linux/oss/build/osscore.c b/setup/Linux/oss/build/osscore.c +index c98eae7..f0e3492 100644 +--- a/setup/Linux/oss/build/osscore.c ++++ b/setup/Linux/oss/build/osscore.c +@@ -78,6 +78,10 @@ static int nminors = 0; + #define WK_SLEEP 0x08 + #define WK_SELECT 0x10 + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0) ++typedef old_time32_t time_t; ++#endif ++ + time_t + oss_get_time (void) + { +-- +2.27.0.rc0 + diff -Nru oss4-4.2-build2010/debian/patches/514-Linux-5.11-get_seconds_is_gone.patch oss4-4.2-build2010/debian/patches/514-Linux-5.11-get_seconds_is_gone.patch --- oss4-4.2-build2010/debian/patches/514-Linux-5.11-get_seconds_is_gone.patch 1970-01-01 00:00:00.000000000 +0000 +++ oss4-4.2-build2010/debian/patches/514-Linux-5.11-get_seconds_is_gone.patch 2021-06-23 12:09:17.000000000 +0000 @@ -0,0 +1,20 @@ +Index: oss4-4.2-build2010/setup/Linux/oss/build/osscore.c +=================================================================== +--- oss4-4.2-build2010.orig/setup/Linux/oss/build/osscore.c ++++ oss4-4.2-build2010/setup/Linux/oss/build/osscore.c +@@ -79,6 +79,7 @@ static int nminors = 0; + #define WK_SLEEP 0x08 + #define WK_SELECT 0x10 + ++#ifdef LICENSED_VERSION + #if LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0) + typedef old_time32_t time_t; + #endif +@@ -92,6 +93,7 @@ oss_get_time (void) + return xtime.tv_sec; + #endif + } ++#endif + + void *oss_memset (void *t, int val, size_t l); + diff -Nru oss4-4.2-build2010/debian/patches/series oss4-4.2-build2010/debian/patches/series --- oss4-4.2-build2010/debian/patches/series 2019-06-13 16:28:23.000000000 +0000 +++ oss4-4.2-build2010/debian/patches/series 2021-06-23 12:07:03.000000000 +0000 @@ -24,3 +24,6 @@ include_cred.h.patch 510_fix_makedev_build_failure.patch 511_fix_kernel_include_files.patch +512-Linux-5.6-proc-fops-conversion.patch +513-Linux-5.6-hide-time_t-from-shared-header.patch +514-Linux-5.11-get_seconds_is_gone.patch