From 01757d88922ac947947fe7c2e3a58ceac96d273b Mon Sep 17 00:00:00 2001 From: Mikhail Novosyolov Date: Tue, 18 Oct 2022 18:44:54 +0300 Subject: [PATCH] add more realteks --- kernel.spec | 115 +++++++++++++++++++++++++++------------------- macros.ksobirator | 29 ++++++++++++ 2 files changed, 98 insertions(+), 46 deletions(-) diff --git a/kernel.spec b/kernel.spec index a1877f9..2362be5 100644 --- a/kernel.spec +++ b/kernel.spec @@ -532,6 +532,15 @@ BuildRequires: kernel-source-rtl8812au BuildRequires: kernel-source-rtl8821au BuildRequires: kernel-source-rtl8814au BuildRequires: kernel-source-rtk_btusb +BuildRequires: kernel-source-rtl8723au +BuildRequires: kernel-source-rtl8188gu +BuildRequires: kernel-source-rtl8723bu +BuildRequires: kernel-source-rtl8723ds +BuildRequires: kernel-source-rtl8723du +BuildRequires: kernel-source-rtl8852au +BuildRequires: kernel-source-rtl8192du +BuildRequires: kernel-source-rtw89 +BuildRequires: kernel-source-rtw88 # Broadcom-wl and nvidia contain a proprietary blob which is only for x86 %ifarch %{ix86} %{x86_64} BuildRequires: kernel-source-broadcom-wl @@ -661,6 +670,15 @@ depmod -a %{kver_full} %exclude %{_modulesdir}/%{kver_full}/kernel/net/wireless/8821au.ko%{kmod_suffix} %exclude %{_modulesdir}/%{kver_full}/kernel/net/wireless/8814au.ko%{kmod_suffix} %exclude %{_modulesdir}/%{kver_full}/kernel/drivers/bluetooth/rtk_btusb.ko%{kmod_suffix} +%exclude %{_modulesdir}/%{kver_full}/kernel/net/wireless/8723au.ko%{kmod_suffix} +%exclude %{_modulesdir}/%{kver_full}/kernel/net/wireless/8188gu.ko%{kmod_suffix} +%exclude %{_modulesdir}/%{kver_full}/kernel/net/wireless/8723bu.ko%{kmod_suffix} +%exclude %{_modulesdir}/%{kver_full}/kernel/net/wireless/8723ds.ko%{kmod_suffix} +%exclude %{_modulesdir}/%{kver_full}/kernel/net/wireless/8723du.ko%{kmod_suffix} +%exclude %{_modulesdir}/%{kver_full}/kernel/net/wireless/8852au.ko%{kmod_suffix} +%exclude %{_modulesdir}/%{kver_full}/kernel/net/wireless/8192du.ko%{kmod_suffix} +%exclude %{_modulesdir}/%{kver_full}/kernel/net/wireless/realtek/rtw89p +%exclude %{_modulesdir}/%{kver_full}/kernel/net/wireless/realtek/rtw88p %ifarch %{ix86} %{x86_64} %exclude %{_modulesdir}/%{kver_full}/kernel/net/wireless/wl.ko%{kmod_suffix} %endif @@ -1013,6 +1031,16 @@ User Mode Linux (UML) kernel modules: %ksob_mk_module_pkg -n 8821au -s net/wireless %ksob_mk_module_pkg -n 8814au -s net/wireless %ksob_mk_module_pkg -n rtk_btusb -s drivers/bluetooth -r rtk_btusb-firmware +%ksob_mk_module_pkg -n 8723au -s net/wireless +%ksob_mk_module_pkg -n 8188gu -s net/wireless +%ksob_mk_module_pkg -n 8723bu -s net/wireless +%ksob_mk_module_pkg -n 8723ds -s net/wireless +%ksob_mk_module_pkg -n 8723du -s net/wireless +%ksob_mk_module_pkg -n 8852au -s net/wireless +%ksob_mk_module_pkg -n 8192du -s net/wireless +%ksob_mk_modules_pkg -n rtw89 -s net/wireless/realtek/rtw89p -r rtw89-firmware +%ksob_mk_modules_pkg -n rtw88 -s net/wireless/realtek/rtw88p -r rtw88-firmware + %ifarch %{ix86} %{x86_64} %ksob_mk_module_pkg -n wl -s net/wireless -r broadcom-wl-aliases %kroko_kmod_pkg -r %{kroko_release} -j %{nvidia_340_j} -n %{nvidia_340_n} -f %{flavour} -k %{kernelversion}.%{patchlevel} -m %{sublevel} -p %{kver_full} -s %{NAME} -c %{kmod_suffix} @@ -1454,53 +1482,32 @@ mkdir -p %{temp_modules}/%{kver_full} # Copy directory because write permissions are required # `make modules_install` must be done before this, otherwise these copied files will be deleted -cp -r "$(rpm -q --qf '/usr/src/rtl8821ce-%%{VERSION}-%%{RELEASE}' kernel-source-rtl8821ce)" kernel-source-rtl8821ce -pushd kernel-source-rtl8821ce -%kmake KSRC=%{src_dir} M="$PWD" -mkdir -p %{temp_modules}/%{kver_full}/kernel/net/wireless/ -cp 8821ce.ko %{temp_modules}/%{kver_full}/kernel/net/wireless/8821ce.ko -popd -rm -fr kernel-source-rtl8821ce +# $1: name of kernel module +# $2: directory (e.g.: kernel/net/wireless) +_build_rtl(){ + cp -r "$(rpm -q --qf "/usr/src/rtl${1}-%%{VERSION}-%%{RELEASE}" kernel-source-rtl${1})" kernel-source-rtl${1} + pushd kernel-source-rtl${1} + %kmake KSRC=%{src_dir} M="$PWD" + mkdir -p %{temp_modules}/%{kver_full}/${2} + cp ${1}.ko %{temp_modules}/%{kver_full}/${2} + popd + rm -fr kernel-source-rtl${1} +} -cp -r "$(rpm -q --qf '/usr/src/rtl8821cu-%%{VERSION}-%%{RELEASE}' kernel-source-rtl8821cu)" kernel-source-rtl8821cu -pushd kernel-source-rtl8821cu -%kmake KSRC=%{src_dir} M="$PWD" -mkdir -p %{temp_modules}/%{kver_full}/kernel/net/wireless/ -cp 8821cu.ko %{temp_modules}/%{kver_full}/kernel/net/wireless/8821cu.ko -popd -rm -fr kernel-source-rtl8821cu - -cp -r "$(rpm -q --qf '/usr/src/rtl88x2bu-%%{VERSION}-%%{RELEASE}' kernel-source-rtl88x2bu)" kernel-source-rtl88x2bu -pushd kernel-source-rtl88x2bu -%kmake KSRC=%{src_dir} M="$PWD" -mkdir -p %{temp_modules}/%{kver_full}/kernel/net/wireless/ -cp 88x2bu.ko %{temp_modules}/%{kver_full}/kernel/net/wireless/88x2bu.ko -popd -rm -fr kernel-source-rtl88x2bu - -cp -r "$(rpm -q --qf '/usr/src/rtl8812au-%%{VERSION}-%%{RELEASE}' kernel-source-rtl8812au)" kernel-source-rtl8812au -pushd kernel-source-rtl8812au -%kmake KSRC=%{src_dir} M="$PWD" -mkdir -p %{temp_modules}/%{kver_full}/kernel/net/wireless/ -cp 8812au.ko %{temp_modules}/%{kver_full}/kernel/net/wireless/8812au.ko -popd -rm -fr kernel-source-rtl8812au - -cp -r "$(rpm -q --qf '/usr/src/rtl8821au-%%{VERSION}-%%{RELEASE}' kernel-source-rtl8821au)" kernel-source-rtl8821au -pushd kernel-source-rtl8821au -%kmake KSRC=%{src_dir} M="$PWD" -mkdir -p %{temp_modules}/%{kver_full}/kernel/net/wireless/ -cp 8821au.ko %{temp_modules}/%{kver_full}/kernel/net/wireless/8821au.ko -popd -rm -fr kernel-source-rtl8821au - -cp -r "$(rpm -q --qf '/usr/src/rtl8814au-%%{VERSION}-%%{RELEASE}' kernel-source-rtl8814au)" kernel-source-rtl8814au -pushd kernel-source-rtl8814au -%kmake KSRC=%{src_dir} M="$PWD" -mkdir -p %{temp_modules}/%{kver_full}/kernel/net/wireless/ -cp 8814au.ko %{temp_modules}/%{kver_full}/kernel/net/wireless/8814au.ko -popd -rm -fr kernel-source-rtl8814au +_build_rtl 8821ce kernel/net/wireless +_build_rtl 8821cu kernel/net/wireless +_build_rtl 88x2bu kernel/net/wireless +_build_rtl 8812au kernel/net/wireless +_build_rtl 8821au kernel/net/wireless +_build_rtl 8821au kernel/net/wireless +_build_rtl 8814au kernel/net/wireless +_build_rtl 8723au kernel/net/wireless +_build_rtl 8188gu kernel/net/wireless +_build_rtl 8723bu kernel/net/wireless +_build_rtl 8723ds kernel/net/wireless +_build_rtl 8723du kernel/net/wireless +_build_rtl 8852au kernel/net/wireless +_build_rtl 8192du kernel/net/wireless cp -r "$(rpm -q --qf '/usr/src/rtk_btusb-%%{VERSION}-%%{RELEASE}' kernel-source-rtk_btusb)" kernel-source-rtk_btusb pushd kernel-source-rtk_btusb @@ -1510,6 +1517,22 @@ cp rtk_btusb.ko %{temp_modules}/%{kver_full}/kernel/drivers/bluetooth/rtk_btusb. popd rm -fr kernel-source-rtk_btusb +cp -r "$(rpm -q --qf '/usr/src/rtw89-%%{VERSION}-%%{RELEASE}' kernel-source-rtw89)" kernel-source-rtw89 +pushd kernel-source-rtw89 +%kmake KSRC=%{src_dir} +mkdir -p %{temp_modules}/%{kver_full}/kernel/net/wireless/realtek/rtw89p +cp *.ko %{temp_modules}/%{kver_full}/kernel/net/wireless/realtek/rtw89p +popd +rm -fr kernel-source-rtw89 + +cp -r "$(rpm -q --qf '/usr/src/rtw88-%%{VERSION}-%%{RELEASE}' kernel-source-rtw88)" kernel-source-rtw88 +pushd kernel-source-rtw88 +%kmake KSRC=%{src_dir} +mkdir -p %{temp_modules}/%{kver_full}/kernel/net/wireless/realtek/rtw88p +cp *.ko %{temp_modules}/%{kver_full}/kernel/net/wireless/realtek/rtw88p +popd +rm -fr kernel-source-rtw88 + _build_nvidia(){ cp -r "$(rpm -q --qf "/usr/src/nvidia${1}-%%{VERSION}-%%{RELEASE}" kernel-source-nvidia${1})" kernel-source-nvidia${1} pushd kernel-source-nvidia${1} diff --git a/macros.ksobirator b/macros.ksobirator index ef1ea39..94976ab 100644 --- a/macros.ksobirator +++ b/macros.ksobirator @@ -37,3 +37,32 @@ Binary module %{module_name} for kernel-%{ksob_kernel} \ \ %{nil} \ } + +# %%ksob_mk_modules_pkg -s module section [ -r additional requires for this package ] +# Examples: +# %%ksob_mk_modules_pkg -n rtw89 -s net/wireless/realtek/rtw89p -r rtw89-firmware +# %%ksob_mk_modules_pkg -n rtw89 -s net/wireless/realtek/rtw89p +%ksob_mk_modules_pkg(n:s:r:) \ +\ +%define module_name %{-n:%{-n*}}%{!-n:%{error:Module name not defined!}} \ +%define pkg_main kernel-modules-%{module_name}-%{ksob_kernel} \ +%define module_section %{-s:%{-s*}}%{!-s:%{error:Module section (e.g. extra/foo) not defined!}} \ +\ +%{expand: \ +%package -n %{pkg_main} \ +Summary: Binary modules %{module_name} for kernel-%{ksob_kernel} \ +Group: System/Kernel and hardware \ +\ +%{-r:Requires: %{-r*}} \ +Requires: %{name}%{_isa} = %{EVRD} \ +Provides: installonlypkg(kernel-module) = %{EVRD}.module.%{module_name} \ +\ +%description -n %{pkg_main} \ +Binary module %{module_name} for kernel-%{ksob_kernel} \ +\ +%files -n %{pkg_main} \ +%dir %{_modulesdir}/%{kver_full}/kernel/%{module_section} +%{_modulesdir}/%{kver_full}/kernel/%{module_section}/*.ko%{kmod_suffix} \ +\ +%{nil} \ +}