File rtl8821cu.spec of Package rtl8821cu

#
# spec file for package rtl8821cu
#
#
# Copyright (c) 2025 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
# needssslcertforbuild

%define upstream_version 20250614

Name:		rtl8821cu
Summary:	Realtek RTL8811cu/RTL8821cu USB wifi adapter driver 
Version:	%{upstream_version}
Release:	1.1
Group:		System/Kernel
License:	GPL-2.0
Url:		https://github.com/morrownr/8821cu-20210916
BuildRoot:	%{_tmppath}/%{name}-%{version}-build
Source0:	%{name}.tar.gz
Source1:	preamble
Source100:	%{name}.changes
Patch0:     fix_build_system.patch
Patch1:     kernel517.patch
Patch2:     leap155.patch
Patch3:     leap156.patch
Patch4:		kernel616.patch
Patch5:		leap.patch

BuildRequires:	%kernel_module_package_buildreqs
%if 0%{?sle_version} > 150600
BuildRequires:  suse-module-tools-scriptlets
%endif
BuildRequires:  pesign-obs-integration
BuildRequires:	bc
Autoreqprov:	on

%kernel_module_package -n rtl8821cu -x debug -x trace -c %_sourcedir/_projectcert.crt -p %_sourcedir/preamble

%description

Please note:
This driver is obsolete and will be disabled in future, please use the kernel-buildin driver RTW88 or the RTW88 from my Repo.

Linux Driver for USB WiFi Adapters that are based on the RTL8811CU, RTL8821CU and RTL8731AU Chipsets

    v5.12.0 (Realtek) (20210118) plus updates from the Linux community

Sources
https://github.com/morrownr/8821cu-20210118

%prep
%setup -q -n %{name}
%patch -P 0 -p1
%patch -P 1 -p1
%if 0%{?sle_version} == 150500
%patch -P 2 -p1
%endif
%if 0%{?sle_version} == 150600
%patch -P 3 -p1
%endif
%patch -P 4 -p1
%patch -P 5 -p1

%if !%{with concurrent_mode}
%__sed -i 's|EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE|#EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE|g' Makefile
%endif

set -- *
mkdir source
mv "$@" source/
mkdir obj

%build
export EXTRA_CFLAGS='-DVERSION=\"%version\"'
export CONFIG_RTL8821CU=m
for flavor in %flavors_to_build; do
	rm -rf obj/$flavor
	cp -r source obj/$flavor
	make -C obj/$flavor KSRC=/usr/src/linux-obj/%_target_cpu/$flavor
done

%install

#install the module
export INSTALL_MOD_PATH=$RPM_BUILD_ROOT
export INSTALL_MOD_DIR=updates
export CONFIG_RTL8821CU=m
export BRP_PESIGN_FILES='*.ko'
export BRP_PESIGN_COMPRESS_MODULE="xz"

for flavor in %flavors_to_build; do
	make -C /usr/src/linux-obj/%_target_cpu/$flavor modules_install \
		M=$PWD/obj/$flavor
done

%clean
rm -rf $RPM_BUILD_ROOT

%changelog
openSUSE Build Service is sponsored by