[ndiswrapper-kmod] Update changelog
by Nicolas Chauvet
commit 747d77fedad23f5a02a3bf36965715ee8cba0d33
Author: Nicolas Chauvet <kwizart(a)gmail.com>
Date: Thu Sep 1 16:10:29 2022 +0200
Update changelog
ndiswrapper-kmod.spec | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
---
diff --git a/ndiswrapper-kmod.spec b/ndiswrapper-kmod.spec
index ccf3bc5..07d04d8 100644
--- a/ndiswrapper-kmod.spec
+++ b/ndiswrapper-kmod.spec
@@ -8,7 +8,7 @@
Summary: Ndiswrapper kernel module
Name: ndiswrapper-kmod
Version: 1.63
-Release: 5%{?pre}%{?dist}
+Release: 6%{?pre}%{?dist}
License: GPLv2
URL: http://ndiswrapper.sourceforge.net
Source0: http://downloads.sf.net/ndiswrapper/ndiswrapper-%{version}%{?pre}.tar.gz
@@ -71,6 +71,10 @@ done
%changelog
+* Thu Sep 01 2022 Nicolas Chauvet <kwizart(a)gmail.com> - 1.63-6
+- Update for kernel 5.17 from leigh
+- Update for kernel 5.18 from kwizart
+
* Sun Aug 07 2022 RPM Fusion Release Engineering <sergiomb(a)rpmfusion.org> - 1.63-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild and ffmpeg
5.1
2 years, 2 months
[ndiswrapper-kmod] Add patches
by Nicolas Chauvet
commit 327b09aaff4ec8ba0bbe05f2530001225c58e002
Author: Nicolas Chauvet <kwizart(a)gmail.com>
Date: Thu Sep 1 16:10:12 2022 +0200
Add patches
kernel-5.17.patch | 27 +++++++
kernel-5.18.patch | 213 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 240 insertions(+)
---
diff --git a/kernel-5.17.patch b/kernel-5.17.patch
new file mode 100644
index 0000000..2d9c29d
--- /dev/null
+++ b/kernel-5.17.patch
@@ -0,0 +1,27 @@
+--- a/driver/proc.c
++++ b/driver/proc.c
+@@ -104,6 +104,10 @@ static int do_proc_make_entry(const char
+ return 0;
+ }
+
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 17, 0))
++#define PDE_DATA(inode) pde_data(inode)
++#endif
++
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)
+ #define PROC_DECLARE_RO(name) \
+ static int proc_##name##_open(struct inode *inode, struct file *file) \
+--- a/driver/ntoskernel.c
++++ b/driver/ntoskernel.c
+@@ -1643,7 +1643,11 @@ wstdcall NTSTATUS WIN_FUNC(PsTerminateSy
+ } else
+ ERROR("couldn't find thread for task: %p", current);
+
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 17, 0))
++ kthread_complete_and_exit(NULL, status);
++#else
+ complete_and_exit(NULL, status);
++#endif
+ ERROR("oops: %p, %d", thread->task, thread->pid);
+ return STATUS_FAILURE;
+ }
diff --git a/kernel-5.18.patch b/kernel-5.18.patch
new file mode 100644
index 0000000..e1dfa65
--- /dev/null
+++ b/kernel-5.18.patch
@@ -0,0 +1,213 @@
+diff -up ndiswrapper-1.63/driver/ndis.c.orig2 ndiswrapper-1.63/driver/ndis.c
+--- ndiswrapper-1.63/driver/ndis.c.orig2 2020-05-03 14:18:33.000000000 +0200
++++ ndiswrapper-1.63/driver/ndis.c 2022-09-01 15:55:13.271733795 +0200
+@@ -945,18 +945,18 @@ wstdcall NDIS_STATUS WIN_FUNC(NdisMAlloc
+ EXIT2(return NDIS_STATUS_RESOURCES);
+ }
+ if (dmasize == NDIS_DMA_24BITS) {
+- if (pci_set_dma_mask(wnd->wd->pci.pdev, DMA_BIT_MASK(24)) ||
+- pci_set_consistent_dma_mask(wnd->wd->pci.pdev,
++ if (dma_set_mask(&wnd->wd->pci.pdev->dev, DMA_BIT_MASK(24)) ||
++ dma_set_coherent_mask(&wnd->wd->pci.pdev->dev,
+ DMA_BIT_MASK(24)))
+ WARNING("setting dma mask failed");
+ } else if (dmasize == NDIS_DMA_32BITS) {
+ /* consistent dma is in low 32-bits by default */
+- if (pci_set_dma_mask(wnd->wd->pci.pdev, DMA_BIT_MASK(32)))
++ if (dma_set_mask(&wnd->wd->pci.pdev->dev, DMA_BIT_MASK(32)))
+ WARNING("setting dma mask failed");
+ #ifdef CONFIG_X86_64
+ } else if (dmasize == NDIS_DMA_64BITS) {
+- if (pci_set_dma_mask(wnd->wd->pci.pdev, DMA_BIT_MASK(64)) ||
+- pci_set_consistent_dma_mask(wnd->wd->pci.pdev,
++ if (dma_set_mask(&wnd->wd->pci.pdev->dev, DMA_BIT_MASK(64)) ||
++ dma_set_coherent_mask(&wnd->wd->pci.pdev->dev,
+ DMA_BIT_MASK(64)))
+ WARNING("setting dma mask failed");
+ else
+@@ -1045,7 +1045,7 @@ wstdcall void WIN_FUNC(NdisMStartBufferP
+ wnd->dma_map_addr[index] =
+ PCI_DMA_MAP_SINGLE(wnd->wd->pci.pdev,
+ MmGetSystemAddressForMdl(buf),
+- MmGetMdlByteCount(buf), PCI_DMA_TODEVICE);
++ MmGetMdlByteCount(buf), DMA_TO_DEVICE);
+ phy_addr_array[0].phy_addr = wnd->dma_map_addr[index];
+ phy_addr_array[0].length = MmGetMdlByteCount(buf);
+ TRACE4("%llx, %d, %d", phy_addr_array[0].phy_addr,
+@@ -1074,7 +1074,7 @@ wstdcall void WIN_FUNC(NdisMCompleteBuff
+ TRACE4("%llx", (unsigned long long)wnd->dma_map_addr[index]);
+ if (wnd->dma_map_addr[index]) {
+ PCI_DMA_UNMAP_SINGLE(wnd->wd->pci.pdev, wnd->dma_map_addr[index],
+- MmGetMdlByteCount(buf), PCI_DMA_TODEVICE);
++ MmGetMdlByteCount(buf), DMA_TO_DEVICE);
+ wnd->dma_map_addr[index] = 0;
+ } else
+ WARNING("map registers at %u not used", index);
+@@ -1092,7 +1092,7 @@ wstdcall void WIN_FUNC(NdisMAllocateShar
+ ERROR("used on a non-PCI device");
+ return;
+ }
+- *virt = PCI_DMA_ALLOC_COHERENT(wd->pci.pdev, size, &dma_addr);
++ *virt = dma_alloc_coherent(&wd->pci.pdev->dev, size, &dma_addr, GFP_KERNEL);
+ if (*virt)
+ *phys = dma_addr;
+ else
+@@ -1111,7 +1111,7 @@ wstdcall void WIN_FUNC(NdisMFreeSharedMe
+ ERROR("used on a non-PCI device");
+ return;
+ }
+- PCI_DMA_FREE_COHERENT(wd->pci.pdev, size, virt, addr);
++ dma_free_coherent(&wd->pci.pdev->dev, size, virt, addr);
+ EXIT3(return);
+ }
+
+@@ -2292,8 +2292,15 @@ wstdcall void NdisMIndicateReceivePacket
+
+ if (in_interrupt())
+ netif_rx(skb);
+- else
++ else {
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,18,0)
++ local_bh_disable();
++ netif_rx(skb);
++ local_bh_enable();
++#else
+ netif_rx_ni(skb);
++#endif
++ }
+ } else {
+ WARNING("couldn't allocate skb; packet dropped");
+ atomic_inc_var(wnd->net_stats.rx_dropped);
+@@ -2440,8 +2447,15 @@ wstdcall void EthRxIndicateHandler(struc
+ atomic_inc_var(wnd->net_stats.rx_packets);
+ if (in_interrupt())
+ netif_rx(skb);
+- else
++ else {
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,18,0)
++ local_bh_disable();
++ netif_rx(skb);
++ local_bh_enable();
++#else
+ netif_rx_ni(skb);
++#endif
++ }
+ }
+
+ EXIT3(return);
+@@ -2505,8 +2519,15 @@ wstdcall void NdisMTransferDataComplete(
+
+ if (in_interrupt())
+ netif_rx(skb);
+- else
++ else {
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,18,0)
++ local_bh_disable();
++ netif_rx(skb);
++ local_bh_enable();
++#else
+ netif_rx_ni(skb);
++#endif
++ }
+ }
+
+ /* called via function pointer */
+@@ -2629,8 +2650,8 @@ wstdcall NDIS_STATUS WIN_FUNC(NdisMIniti
+ #ifdef CONFIG_X86_64
+ if (!dma64_supported) {
+ TRACE1("64-bit DMA size is not supported");
+- if (pci_set_dma_mask(wnd->wd->pci.pdev, DMA_BIT_MASK(32)) ||
+- pci_set_consistent_dma_mask(wnd->wd->pci.pdev,
++ if (dma_set_mask(&wnd->wd->pci.pdev->dev, DMA_BIT_MASK(32)) ||
++ dma_set_coherent_mask(&wnd->wd->pci.pdev->dev,
+ DMA_BIT_MASK(32)))
+ WARNING("setting dma mask failed");
+ }
+diff -up ndiswrapper-1.63/driver/ntoskernel.h.orig2 ndiswrapper-1.63/driver/ntoskernel.h
+--- ndiswrapper-1.63/driver/ntoskernel.h.orig2 2020-05-03 14:18:33.000000000 +0200
++++ ndiswrapper-1.63/driver/ntoskernel.h 2022-09-01 15:55:13.271733795 +0200
+@@ -52,6 +52,10 @@
+ #include <linux/sched/signal.h>
+ #endif
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,18,0)
++#include <linux/prandom.h>
++#endif
++
+ #if !defined(CONFIG_X86) && !defined(CONFIG_X86_64)
+ #error "this module is for x86 or x86_64 architectures only"
+ #endif
+diff -up ndiswrapper-1.63/driver/pnp.c.orig2 ndiswrapper-1.63/driver/pnp.c
+--- ndiswrapper-1.63/driver/pnp.c.orig2 2020-05-03 14:18:33.000000000 +0200
++++ ndiswrapper-1.63/driver/pnp.c 2022-09-01 15:55:13.271733795 +0200
+@@ -61,8 +61,8 @@ static NTSTATUS start_pdo(struct device_
+ /* 64-bit broadcom driver doesn't work if DMA is allocated
+ * from over 1GB */
+ if (wd->vendor == 0x14e4) {
+- if (pci_set_dma_mask(pdev, DMA_BIT_MASK(30)) ||
+- pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(30)))
++ if (dma_set_mask(&pdev->dev, DMA_BIT_MASK(30)) ||
++ dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(30)))
+ WARNING("couldn't set DMA mask; this driver "
+ "may not work with more than 1GB RAM");
+ }
+diff -up ndiswrapper-1.63/driver/wrapndis.c.orig2 ndiswrapper-1.63/driver/wrapndis.c
+--- ndiswrapper-1.63/driver/wrapndis.c.orig2 2020-05-03 14:18:33.000000000 +0200
++++ ndiswrapper-1.63/driver/wrapndis.c 2022-09-01 15:55:13.271733795 +0200
+@@ -433,8 +433,8 @@ static int setup_tx_sg_list(struct ndis_
+ if (skb_shinfo(skb)->nr_frags <= 1) {
+ sg_element = &oob_data->wrap_tx_sg_list.elements[0];
+ sg_element->address =
+- PCI_DMA_MAP_SINGLE(wnd->wd->pci.pdev, skb->data,
+- skb->len, PCI_DMA_TODEVICE);
++ dma_map_single(&wnd->wd->pci.pdev->dev, skb->data,
++ skb->len, DMA_TO_DEVICE);
+ sg_element->length = skb->len;
+ oob_data->wrap_tx_sg_list.nent = 1;
+ oob_data->ext.info[ScatterGatherListPacketInfo] =
+@@ -452,8 +452,8 @@ static int setup_tx_sg_list(struct ndis_
+ sg_element = sg_list->elements;
+ sg_element->length = skb_headlen(skb);
+ sg_element->address =
+- PCI_DMA_MAP_SINGLE(wnd->wd->pci.pdev, skb->data,
+- skb_headlen(skb), PCI_DMA_TODEVICE);
++ dma_map_single(&wnd->wd->pci.pdev->dev, skb->data,
++ skb_headlen(skb), DMA_TO_DEVICE);
+ for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) {
+ skb_frag_t *frag = &skb_shinfo(skb)->frags[i];
+ sg_element++;
+@@ -463,13 +463,13 @@ static int setup_tx_sg_list(struct ndis_
+ sg_element->length = frag->size;
+ #endif
+ sg_element->address =
+- pci_map_page(wnd->wd->pci.pdev, skb_frag_page(frag),
++ dma_map_page(&wnd->wd->pci.pdev->dev, skb_frag_page(frag),
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(5,4,0)
+ skb_frag_off(frag), skb_frag_size(frag),
+ #else
+ frag->page_offset, frag->size,
+ #endif
+- PCI_DMA_TODEVICE);
++ DMA_TO_DEVICE);
+ TRACE3("%llx, %u", sg_element->address, sg_element->length);
+ }
+ oob_data->ext.info[ScatterGatherListPacketInfo] = sg_list;
+@@ -485,14 +485,14 @@ static void free_tx_sg_list(struct ndis_
+ oob_data->ext.info[ScatterGatherListPacketInfo];
+ sg_element = sg_list->elements;
+ TRACE3("%p, %d", sg_list, sg_list->nent);
+- PCI_DMA_UNMAP_SINGLE(wnd->wd->pci.pdev, sg_element->address,
+- sg_element->length, PCI_DMA_TODEVICE);
++ dma_unmap_single(&wnd->wd->pci.pdev->dev, sg_element->address,
++ sg_element->length, DMA_TO_DEVICE);
+ if (sg_list->nent == 1)
+ EXIT3(return);
+ for (i = 1; i < sg_list->nent; i++, sg_element++) {
+ TRACE3("%llx, %u", sg_element->address, sg_element->length);
+- pci_unmap_page(wnd->wd->pci.pdev, sg_element->address,
+- sg_element->length, PCI_DMA_TODEVICE);
++ dma_unmap_page(&wnd->wd->pci.pdev->dev, sg_element->address,
++ sg_element->length, DMA_TO_DEVICE);
+ }
+ TRACE3("%p", sg_list);
+ kfree(sg_list);
2 years, 2 months
[ndiswrapper-kmod] Add patches
by Nicolas Chauvet
commit 67aae0b2cff9dd48469b1502c7b318a47262ef19
Author: Nicolas Chauvet <kwizart(a)gmail.com>
Date: Thu Sep 1 16:07:19 2022 +0200
Add patches
ndiswrapper-kmod.spec | 14 +++++---------
1 file changed, 5 insertions(+), 9 deletions(-)
---
diff --git a/ndiswrapper-kmod.spec b/ndiswrapper-kmod.spec
index 887a41a..ccf3bc5 100644
--- a/ndiswrapper-kmod.spec
+++ b/ndiswrapper-kmod.spec
@@ -1,14 +1,7 @@
-# buildforkernels macro hint: when you build a new version or a new release
-# that contains bugfixes or other improvements then you must disable the
-# "buildforkernels newest" macro for just that build; immediately after
-# queuing that build enable the macro again for subsequent builds; that way
-# a new akmod package will only get build when a new one is actually needed
-# RHEL8 kernel doesn't have WEXT, so only build an akmod there
-# so that others kernel implementation can have ndiswrapper
%if 0%{?fedora} || 0%{?rhel} > 7
%global buildforkernels akmod
-%global debug_package %{nil}
%endif
+%global debug_package %{nil}
#global pre rc1
@@ -22,8 +15,9 @@ Source0: http://downloads.sf.net/ndiswrapper/ndiswrapper-%{version}%{?pre}.tar.
Source11: ndiswrapper-kmodtool-excludekernel-filterfile
Patch0: ndiswrapper-kmod-nomodinfo.patch
Patch1: kernel-5.8.patch
+Patch2: kernel-5.17.patch
+Patch3: kernel-5.18.patch
-# needed for plague to make sure it builds for i586 and i686
ExclusiveArch: i686 x86_64
# get the needed BuildRequires (in parts depending on what we build for)
@@ -53,6 +47,8 @@ kmodtool --target %{_target_cpu} --repo rpmfusion --kmodname %{name} --filterfi
(cd ndiswrapper-%{version}%{?pre} ;
%patch0 -p1 -b .orig
%patch1 -p1 -b .orig
+%patch2 -p1 -b .orig
+%patch3 -p1 -b .orig2
)
sed -i 's|/sbin/depmod -a|/bin/true|' ndiswrapper-%{version}%{?pre}/driver/Makefile
for kernel_version in %{?kernel_versions} ; do
2 years, 2 months
[ndiswrapper-kmod] Revert "This hasn't built since kernel-5.15 or earlier"
by Nicolas Chauvet
commit cc0cdc7b481a525ab0b5da3b129599c9f0232ba4
Author: Nicolas Chauvet <kwizart(a)gmail.com>
Date: Thu Sep 1 16:07:42 2022 +0200
Revert "This hasn't built since kernel-5.15 or earlier"
This reverts commit 0bbe2a736cc80f0122044cc11788d50c6d759ae4.
.gitignore | 1 +
dead.package | 1 -
kernel-5.8.patch | 45 ++++++++
ndiswrapper-kmod-nomodinfo.patch | 14 +++
ndiswrapper-kmod.spec | 156 ++++++++++++++++++++++++++
ndiswrapper-kmodtool-excludekernel-filterfile | 1 +
sources | 1 +
7 files changed, 218 insertions(+), 1 deletion(-)
---
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..52ae49b
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+ndiswrapper-*.tar.gz
diff --git a/kernel-5.8.patch b/kernel-5.8.patch
new file mode 100644
index 0000000..95b9f2a
--- /dev/null
+++ b/kernel-5.8.patch
@@ -0,0 +1,45 @@
+--- a/driver/loader.c 2020-05-03 13:18:33.000000000 +0100
++++ b/driver/loader.c 2020-08-31 15:43:53.379776002 +0100
+@@ -155,8 +155,12 @@ static int load_sys_files(struct wrap_dr
+ #elif defined PAGE_KERNEL_EXEC
+ pe_image->image =
+ __vmalloc(load_driver->sys_files[i].size,
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0)
++ GFP_KERNEL | __GFP_HIGHMEM);
++#else
+ GFP_KERNEL | __GFP_HIGHMEM,
+ PAGE_KERNEL_EXEC);
++#endif
+ #else
+ #error x86_64 should have either PAGE_KERNEL_EXECUTABLE or PAGE_KERNEL_EXEC
+ #endif
+--- a/driver/pe_linker.c 2020-05-03 13:18:33.000000000 +0100
++++ b/driver/pe_linker.c 2020-08-31 15:49:48.147882380 +0100
+@@ -417,8 +417,12 @@ static int fix_pe_image(struct pe_image
+ image = __vmalloc(image_size, GFP_KERNEL | __GFP_HIGHMEM,
+ PAGE_KERNEL_EXECUTABLE);
+ #elif defined PAGE_KERNEL_EXEC
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0)
++ image = __vmalloc(image_size, GFP_KERNEL | __GFP_HIGHMEM);
++#else
+ image = __vmalloc(image_size, GFP_KERNEL | __GFP_HIGHMEM,
+ PAGE_KERNEL_EXEC);
++#endif
+ #else
+ #error x86_64 should have either PAGE_KERNEL_EXECUTABLE or PAGE_KERNEL_EXEC
+ #endif
+--- a/driver/ntoskernel.c 2020-05-03 13:18:33.000000000 +0100
++++ b/driver/ntoskernel.c 2020-08-31 15:55:47.458977337 +0100
+@@ -821,8 +821,12 @@ wstdcall void *WIN_FUNC(ExAllocatePoolWi
+ addr = kmalloc(size, irql_gfp());
+ else {
+ if (irql_gfp() & GFP_ATOMIC) {
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0)
++ addr = __vmalloc(size, GFP_ATOMIC | __GFP_HIGHMEM);
++#else
+ addr = __vmalloc(size, GFP_ATOMIC | __GFP_HIGHMEM,
+ PAGE_KERNEL);
++#endif
+ TRACE1("%p, %zu", addr, size);
+ } else {
+ addr = vmalloc(size);
diff --git a/ndiswrapper-kmod-nomodinfo.patch b/ndiswrapper-kmod-nomodinfo.patch
new file mode 100644
index 0000000..632b8b0
--- /dev/null
+++ b/ndiswrapper-kmod-nomodinfo.patch
@@ -0,0 +1,14 @@
+diff -up ndiswrapper-1.57/driver/Makefile.orig ndiswrapper-1.57/driver/Makefile
+--- ndiswrapper-1.57/driver/Makefile.orig 2012-01-11 22:04:35.103054918 +0100
++++ ndiswrapper-1.57/driver/Makefile 2012-01-11 22:06:37.880672013 +0100
+@@ -191,8 +191,8 @@ clean:
+ rm -rf .tmp_versions
+
+ install: config_check $(MODULE)
+- @/sbin/modinfo $(MODULE) | grep -q "^vermagic: *$(KVERS) " || \
+- { echo "$(MODULE)" is not for Linux $(KVERS); exit 1; }
++ #@/sbin/modinfo $(MODULE) | grep -q "^vermagic: *$(KVERS) " || \
++ # { echo "$(MODULE)" is not for Linux $(KVERS); exit 1; }
+ mkdir -p -m 755 $(DESTDIR)$(INST_DIR)
+ install -m 0644 $(MODULE) $(DESTDIR)$(INST_DIR)
+ ifndef DESTDIR
diff --git a/ndiswrapper-kmod.spec b/ndiswrapper-kmod.spec
new file mode 100644
index 0000000..887a41a
--- /dev/null
+++ b/ndiswrapper-kmod.spec
@@ -0,0 +1,156 @@
+# buildforkernels macro hint: when you build a new version or a new release
+# that contains bugfixes or other improvements then you must disable the
+# "buildforkernels newest" macro for just that build; immediately after
+# queuing that build enable the macro again for subsequent builds; that way
+# a new akmod package will only get build when a new one is actually needed
+# RHEL8 kernel doesn't have WEXT, so only build an akmod there
+# so that others kernel implementation can have ndiswrapper
+%if 0%{?fedora} || 0%{?rhel} > 7
+%global buildforkernels akmod
+%global debug_package %{nil}
+%endif
+
+#global pre rc1
+
+Summary: Ndiswrapper kernel module
+Name: ndiswrapper-kmod
+Version: 1.63
+Release: 5%{?pre}%{?dist}
+License: GPLv2
+URL: http://ndiswrapper.sourceforge.net
+Source0: http://downloads.sf.net/ndiswrapper/ndiswrapper-%{version}%{?pre}.tar.gz
+Source11: ndiswrapper-kmodtool-excludekernel-filterfile
+Patch0: ndiswrapper-kmod-nomodinfo.patch
+Patch1: kernel-5.8.patch
+
+# needed for plague to make sure it builds for i586 and i686
+ExclusiveArch: i686 x86_64
+
+# get the needed BuildRequires (in parts depending on what we build for)
+BuildRequires: %{_bindir}/kmodtool
+%{!?kernels:BuildRequires: buildsys-build-rpmfusion-kerneldevpkgs-%{?buildforkernels:%{buildforkernels}}%{!?buildforkernels:current}-%{_target_cpu} }
+# kmodtool does its magic here
+%{expand:%(kmodtool --target %{_target_cpu} --repo rpmfusion --kmodname %{name} --filterfile %{SOURCE11} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) }
+
+%description
+The ndiswrapper project makes it possible to use WLAN-Hardware
+with Linux by means of a loadable kernel module that "wraps
+around" NDIS (Windows network driver API) drivers. These rpms contain
+just the kernel module and loader. You will also need the Windows driver
+for your card.
+
+WARNING: Fedora-Kernels use 4K size stack. Many Windows drivers
+will need at least 8K size stacks. For details read the wiki on:
+http:/ndiswrapper.sourceforge.net
+
+%prep
+# error out if there was something wrong with kmodtool
+%{?kmodtool_check}
+# print kmodtool output for debugging purposes:
+kmodtool --target %{_target_cpu} --repo rpmfusion --kmodname %{name} --filterfile %{SOURCE11} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null
+# go
+%setup -q -c -T -a 0 -n %{name}-%{version}%{?pre}
+(cd ndiswrapper-%{version}%{?pre} ;
+%patch0 -p1 -b .orig
+%patch1 -p1 -b .orig
+)
+sed -i 's|/sbin/depmod -a|/bin/true|' ndiswrapper-%{version}%{?pre}/driver/Makefile
+for kernel_version in %{?kernel_versions} ; do
+ cp -a ndiswrapper-%{version}%{?pre} _kmod_build_${kernel_version%%___*}
+done
+
+
+%build
+for kernel_version in %{?kernel_versions} ; do
+ make V=1 %{?_smp_mflags} -C _kmod_build_${kernel_version%%___*} KVERS="${kernel_version%%___*}" KSRC="${kernel_version##*___}" KBUILD="${kernel_version##*___}" -C driver
+done
+
+
+%install
+for kernel_version in %{?kernel_versions} ; do
+ make -C _kmod_build_${kernel_version%%___*}/driver KVERS="${kernel_version%%___*}" KSRC="${kernel_version##*___}" KBUILD="${kernel_version##*___}" INST_DIR=$RPM_BUILD_ROOT%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix} install
+ chmod 0755 $RPM_BUILD_ROOT/%{kmodinstdir_prefix}/*/%{kmodinstdir_postfix}/*
+done
+%{?akmod_install}
+
+
+%changelog
+* Sun Aug 07 2022 RPM Fusion Release Engineering <sergiomb(a)rpmfusion.org> - 1.63-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild and ffmpeg
+ 5.1
+
+* Wed Feb 09 2022 RPM Fusion Release Engineering <sergiomb(a)rpmfusion.org> - 1.63-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
+
+* Tue Aug 03 2021 RPM Fusion Release Engineering <leigh123linux(a)gmail.com> - 1.63-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
+
+* Wed Feb 03 2021 RPM Fusion Release Engineering <leigh123linux(a)gmail.com> - 1.63-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
+
+* Mon Aug 31 2020 Leigh Scott <leigh123linux(a)gmail.com> - 1.63-1
+- Update to 1.63
+- Patch for 5.8 kernel
+
+* Tue Aug 18 2020 RPM Fusion Release Engineering <leigh123linux(a)gmail.com> - 1.62-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Wed Apr 22 2020 Leigh Scott <leigh123linux(a)gmail.com> - 1.62-1
+- Update to 1.62
+
+* Wed Feb 05 2020 RPM Fusion Release Engineering <leigh123linux(a)gmail.com> - 1.61-13
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
+
+* Fri Dec 20 2019 Leigh Scott <leigh123linux(a)googlemail.com> - 1.61-12
+- Patch for 5.3 and 5.4 kernel
+
+* Fri Aug 09 2019 RPM Fusion Release Engineering <leigh123linux(a)gmail.com> - 1.61-11
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
+
+* Sun Apr 07 2019 Leigh Scott <leigh123linux(a)googlemail.com> - 1.61-10
+- Patch for 5.0 kernel
+
+* Mon Mar 04 2019 RPM Fusion Release Engineering <leigh123linux(a)gmail.com> - 1.61-9
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
+
+* Thu Dec 13 2018 Nicolas Chauvet <kwizart(a)gmail.com> - 1.61-8
+- Package clean-up
+- Drop some changelog
+
+* Fri Jul 27 2018 RPM Fusion Release Engineering <leigh123linux(a)gmail.com> - 1.61-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
+
+* Sun Mar 11 2018 Leigh Scott <leigh123linux(a)googlemail.com> - 1.61-6
+- Patch for 4.15 kernel
+
+* Thu Mar 01 2018 RPM Fusion Release Engineering <leigh123linux(a)googlemail.com> - 1.61-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Thu Dec 14 2017 Leigh Scott <leigh123linux(a)googlemail.com> - 1.61-4
+- Patch for 4.13 kernel
+
+* Thu Aug 31 2017 RPM Fusion Release Engineering <kwizart(a)rpmfusion.org> - 1.61-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Wed Jun 28 2017 Leigh Scott <leigh123linux(a)googlemail.com> - 1.61-2
+- Patch for 4.11 kernel
+
+* Tue Jun 27 2017 Nicolas Chauvet <kwizart(a)gmail.com> - 1.61-1
+- Update to 1.61
+
+* Mon Mar 20 2017 RPM Fusion Release Engineering <kwizart(a)rpmfusion.org> - 1.60-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Mon Sep 19 2016 Leigh Scott <leigh123linux(a)googlemail.com> - 1.60-2
+- Patch for 4.7 kernel
+
+* Sun Jun 19 2016 Leigh Scott <leigh123linux(a)googlemail.com> - 1.60-1
+- Update to 1.60
+
+* Mon May 25 2015 Leigh Scott <leigh123linux(a)googlemail.com> - 1.59-8
+- Patch for 4.0.0 kernel
+
+* Sun May 24 2015 Nicolas Chauvet <kwizart(a)gmail.com> - 1.59-7.25
+- Rebuilt for kernel
+
+
diff --git a/ndiswrapper-kmodtool-excludekernel-filterfile b/ndiswrapper-kmodtool-excludekernel-filterfile
new file mode 100644
index 0000000..22913e1
--- /dev/null
+++ b/ndiswrapper-kmodtool-excludekernel-filterfile
@@ -0,0 +1 @@
+xen$
diff --git a/sources b/sources
new file mode 100644
index 0000000..0b44e12
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (ndiswrapper-1.63.tar.gz) = 694802655d775ba55cfc0ec0b8c4d0cbdb659ead613d46f158eed79c8985393cf22ded757fff06b0e1a6e3c94bdaace7dd4cb1059d2960244e9f955f097fb7ad
2 years, 2 months
[chromium-freeworld] Enable v4l2 and disable vaapi for aarch64
by Leigh Scott
commit f243c20ce3687bb47c902c2d1d130fa6dd3f3085
Author: Leigh Scott <leigh123linux(a)gmail.com>
Date: Thu Sep 1 15:45:15 2022 +0100
Enable v4l2 and disable vaapi for aarch64
chromium-freeworld.spec | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
---
diff --git a/chromium-freeworld.spec b/chromium-freeworld.spec
index f938d2d..a5637ab 100644
--- a/chromium-freeworld.spec
+++ b/chromium-freeworld.spec
@@ -43,7 +43,7 @@
##############################Package Definitions######################################
Name: chromium-freeworld
Version: 105.0.5195.52
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: Chromium built with all freeworld codecs and VA-API support
License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2)
URL: https://www.chromium.org/Home
@@ -332,7 +332,6 @@ gn_arg use_aura=true
gn_arg use_cups=true
gn_arg use_kerberos=true
gn_arg use_gold=false
-gn_arg use_vaapi=true
gn_arg optimize_webui=false
%if %{system_freetype}
gn_arg use_system_freetype=true
@@ -372,10 +371,13 @@ gn_arg is_clang=true
gn_arg clang_use_chrome_plugins=false
gn_arg use_lld=true
%ifarch %{arm64}
+gn_arg use_v4l2_codec=true
+gn_arg use_vaapi=false
gn_arg 'target_cpu="arm64"'
gn_arg use_thin_lto=false
%else
gn_arg use_thin_lto=true
+gn_arg use_vaapi=true
%endif
gn_arg is_cfi=false
gn_arg use_cfi_icall=false
@@ -513,6 +515,9 @@ appstream-util validate-relax --nonet "%{buildroot}%{_metainfodir}/%{name}.appda
%{chromiumdir}/vk_swiftshader_icd.json
#########################################changelogs#################################################
%changelog
+* Thu Sep 01 2022 Leigh Scott <leigh123linux(a)gmail.com> - 105.0.5195.52-2
+- Enable v4l2 and disable vaapi for aarch64
+
* Tue Aug 30 2022 Leigh Scott <leigh123linux(a)gmail.com> - 105.0.5195.52-1
- Update to 105.0.5195.52
2 years, 2 months