已关闭
kernel: Split extra modules into kernel-extra-modules subpackage #2172
lw5202031创建于 2025年8月4日关闭于 4 天前
kernel: Split extra modules into kernel-extra-modules subpackage #2172
已关闭
lw5202031创建于 2025年8月4日关闭于 4 天前
refs/pull/2172/head合入到master
3 个文件变更+118-1
The file is empty
@@ -0,0 +1,58 @@
1+drivers/hid/i2c-hid/i2c-hid-acpi.ko
2+drivers/hid/i2c-hid/i2c-hid.ko
3+drivers/net/wireless/marvell/mwl8k.ko
4+drivers/net/wireless/mediatek/mt76/mt7603/mt7603e.ko
5+drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common.ko
6+drivers/net/wireless/mediatek/mt76/mt7615/mt7615e.ko
7+drivers/net/wireless/mediatek/mt76/mt7615/mt7663s.ko
8+drivers/net/wireless/mediatek/mt76/mt7615/mt7663u.ko
9+drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common.ko
10+drivers/net/wireless/mediatek/mt76/mt76-connac-lib.ko
11+drivers/net/wireless/mediatek/mt76/mt76-sdio.ko
12+drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0e.ko
13+drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2e.ko
14+drivers/net/wireless/mediatek/mt76/mt7915/mt7915e.ko
15+drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common.ko
16+drivers/net/wireless/mediatek/mt76/mt7921/mt7921e.ko
17+drivers/net/wireless/mediatek/mt76/mt7921/mt7921s.ko
18+drivers/net/wireless/mediatek/mt76/mt7921/mt7921u.ko
19+drivers/net/wireless/mediatek/mt76/mt792x-lib.ko
20+drivers/net/wireless/mediatek/mt76/mt792x-usb.ko
21+drivers/net/wireless/mediatek/mt76/mt7996/mt7996e.ko
22+drivers/net/wireless/realtek/rtw88/rtw88_8723de.ko
23+drivers/net/wireless/realtek/rtw88/rtw88_8723d.ko
24+drivers/net/wireless/realtek/rtw88/rtw88_8723ds.ko
25+drivers/net/wireless/realtek/rtw88/rtw88_8723du.ko
26+drivers/net/wireless/realtek/rtw88/rtw88_8821ce.ko
27+drivers/net/wireless/realtek/rtw88/rtw88_8821c.ko
28+drivers/net/wireless/realtek/rtw88/rtw88_8821cs.ko
29+drivers/net/wireless/realtek/rtw88/rtw88_8821cu.ko
30+drivers/net/wireless/realtek/rtw88/rtw88_8822be.ko
31+drivers/net/wireless/realtek/rtw88/rtw88_8822b.ko
32+drivers/net/wireless/realtek/rtw88/rtw88_8822bs.ko
33+drivers/net/wireless/realtek/rtw88/rtw88_8822bu.ko
34+drivers/net/wireless/realtek/rtw88/rtw88_8822ce.ko
35+drivers/net/wireless/realtek/rtw88/rtw88_8822c.ko
36+drivers/net/wireless/realtek/rtw88/rtw88_8822cs.ko
37+drivers/net/wireless/realtek/rtw88/rtw88_8822cu.ko
38+drivers/net/wireless/realtek/rtw88/rtw88_core.ko
39+drivers/net/wireless/realtek/rtw88/rtw88_pci.ko
40+drivers/net/wireless/realtek/rtw88/rtw88_sdio.ko
41+drivers/net/wireless/realtek/rtw88/rtw88_usb.ko
42+drivers/net/wireless/realtek/rtw89/rtw89_8851be.ko
43+drivers/net/wireless/realtek/rtw89/rtw89_8851b.ko
44+drivers/net/wireless/realtek/rtw89/rtw89_8852ae.ko
45+drivers/net/wireless/realtek/rtw89/rtw89_8852a.ko
46+drivers/net/wireless/realtek/rtw89/rtw89_8852be.ko
47+drivers/net/wireless/realtek/rtw89/rtw89_8852b.ko
48+drivers/net/wireless/realtek/rtw89/rtw89_8852ce.ko
49+drivers/net/wireless/realtek/rtw89/rtw89_8852c.ko
50+drivers/net/wireless/realtek/rtw89/rtw89_core.ko
51+drivers/net/wireless/realtek/rtw89/rtw89_pci.ko
52+drivers/pinctrl/intel/pinctrl-alderlake.ko
53+drivers/pinctrl/intel/pinctrl-elkhartlake.ko
54+drivers/pinctrl/intel/pinctrl-jasperlake.ko
55+drivers/pinctrl/intel/pinctrl-lakefield.ko
56+drivers/pinctrl/intel/pinctrl-lynxpoint.ko
57+drivers/pinctrl/intel/pinctrl-meteorlake.ko
58+drivers/pinctrl/intel/pinctrl-tigerlake.ko
@@ -42,7 +42,7 @@ rm -f test_openEuler_sign.ko test_openEuler_sign.ko.sig
42%global upstream_sublevel 3342%global upstream_sublevel 33
43%global devel_release 043%global devel_release 0
44%global maintenance_release .0.044%global maintenance_release .0.0
45-%global pkg_release .145+%global pkg_release .2
46 46 
47%global openeuler_lts 047%global openeuler_lts 0
48%global openeuler_major 048%global openeuler_major 0
@@ -109,6 +109,8 @@ Source21: Module.kabi_x86_64
109%endif109%endif
110 110 
111Source200: mkgrub-menu-aarch64.sh111Source200: mkgrub-menu-aarch64.sh
112+Source300: extra-modules_x86_64.list
113+Source301: extra-modules_aarch64.list
112 114 
113Source2000: cpupower.service115Source2000: cpupower.service
114Source2001: cpupower.config116Source2001: cpupower.config
@@ -231,6 +233,15 @@ Obsoletes: %{name}-tools-libs-devel
231This package contains the development files for the tools/ directory from233This package contains the development files for the tools/ directory from
232the kernel source.234the kernel source.
233 235 
236+%ifarch x86_64 aarch64
237+%package extra-modules
238+Summary: Extra kernel modules to match the kernel
239+AutoReqProv: no
240+Provides: kernel-extra-modules = %{version}-%{release}
241+%description extra-modules
242+This package contains optional modules that may be dynamically loaded but not needed for base system operation.
243+%endif
244+ 
234%if %{with_perf}245%if %{with_perf}
235%package -n perf246%package -n perf
236Summary: Performance monitoring for the Linux kernel247Summary: Performance monitoring for the Linux kernel
@@ -620,8 +631,31 @@ install -m 755 %{SOURCE200} $RPM_BUILD_ROOT%{_sbindir}/mkgrub-menu-%{version}-%{
620# deal with module, if not kdump631# deal with module, if not kdump
621%{make} ARCH=%{Arch} INSTALL_MOD_PATH=$RPM_BUILD_ROOT modules_install KERNELRELEASE=%{KernelVer} mod-fw=632%{make} ARCH=%{Arch} INSTALL_MOD_PATH=$RPM_BUILD_ROOT modules_install KERNELRELEASE=%{KernelVer} mod-fw=
622######## to collect ko to module.filelist about netwoking. block. drm. modesetting ###############633######## to collect ko to module.filelist about netwoking. block. drm. modesetting ###############
634+# 1. Generates extra-module.list by:
635+# - Processing predefined extra-modules_%{_target_cpu}.list
636+# 2. Creates core-module.list by comparing installed modules with extra modules
637+# Final output: Generates kernel-modules-filelist (core) and kernel-extra-modules-filelist
638+# for RPM package specification, while ensuring proper path mapping to /lib/modules/%{KernelVer}/
639+ 
623pushd $RPM_BUILD_ROOT/lib/modules/%{KernelVer}640pushd $RPM_BUILD_ROOT/lib/modules/%{KernelVer}
641+%ifnarch x86_64 aarch64
624find -type f -name "*.ko" >modnames642find -type f -name "*.ko" >modnames
643+%else
644+sed 's!^!kernel/!; s!\.ko$!!' %{_sourcedir}/extra-modules_%{_target_cpu}.list > modules-extra.list
645+ 
646+find -type f -name "*.ko" | sort >modnames
647+ 
648+grep -vFf modules-extra.list modnames > modules-core.list || true
649+ 
650+sed -e 's!^\.\/kernel/!/lib/modules/%{KernelVer}/kernel/!; s!\.ko$!.ko.xz!' \
651+ modules-core.list > %{_builddir}/%{name}-%{version}/kernel-modules-filelist
652+ 
653+if [ -s modules-extra.list ]; then
654+ sed 's!^kernel/!!; s!$!.ko.xz!; s!^!/lib/modules/%{KernelVer}/kernel/!' modules-extra.list > %{_builddir}/%{name}-%{version}/kernel-extra-modules-filelist
655+else
656+ echo "%ghost /nonexistent/dummy/file" > %{_builddir}/%{name}-%{version}/kernel-extra-modules-filelist
657+fi
658+%endif
625 659 
626# mark modules executable so that strip-to-file can strip them660# mark modules executable so that strip-to-file can strip them
627xargs --no-run-if-empty chmod u+x < modnames661xargs --no-run-if-empty chmod u+x < modnames
@@ -662,6 +696,9 @@ grep -E -v \
662 modinfo && exit 1696 modinfo && exit 1
663 697 
664rm -f modinfo modnames drivers.undef698rm -f modinfo modnames drivers.undef
699+%ifarch x86_64 aarch64
700+rm -f modules-extra.list modules-core.list modules.list
701+%endif
665 702 
666for i in alias alias.bin builtin.bin ccwmap dep dep.bin ieee1394map inputmap isapnpmap ofmap pcimap seriomap symbols symbols.bin usbmap703for i in alias alias.bin builtin.bin ccwmap dep dep.bin ieee1394map inputmap isapnpmap ofmap pcimap seriomap symbols symbols.bin usbmap
667do704do
@@ -960,7 +997,12 @@ fi
960/sbin/ldconfig997/sbin/ldconfig
961%systemd_postun cpupower.service998%systemd_postun cpupower.service
962 999 
1000+ 
1001+%ifnarch x86_64 aarch64
963%files1002%files
1003+%else
1004+%files -f kernel-modules-filelist
1005+%endif
964%defattr (-, root, root)1006%defattr (-, root, root)
965%doc1007%doc
966/boot/config-*1008/boot/config-*
@@ -975,11 +1017,21 @@ fi
975%ghost /boot/initramfs-%{KernelVer}.img1017%ghost /boot/initramfs-%{KernelVer}.img
976/boot/.vmlinuz-*.hmac1018/boot/.vmlinuz-*.hmac
977/etc/ld.so.conf.d/*1019/etc/ld.so.conf.d/*
1020+%ifnarch x86_64 aarch64
978/lib/modules/%{KernelVer}/1021/lib/modules/%{KernelVer}/
1022+%else
1023+/lib/modules/%{KernelVer}/vdso/
1024+/lib/modules/%{KernelVer}/modules.*
1025+%endif
979%exclude /lib/modules/%{KernelVer}/source1026%exclude /lib/modules/%{KernelVer}/source
980%exclude /lib/modules/%{KernelVer}/build1027%exclude /lib/modules/%{KernelVer}/build
981%{_sbindir}/mkgrub-menu*.sh1028%{_sbindir}/mkgrub-menu*.sh
982 1029 
1030+%ifarch x86_64 aarch64
1031+%files extra-modules -f kernel-extra-modules-filelist
1032+%defattr(-,root,root)
1033+%endif
1034+ 
983%files devel1035%files devel
984%defattr (-, root, root)1036%defattr (-, root, root)
985%doc1037%doc
@@ -1076,6 +1128,13 @@ fi
1076%endif1128%endif
1077 1129 
1078%changelog1130%changelog
1131+* Mon Aug 04 2025 Liu Wang <1823363429@qq.com> - 6.12.33-0.0.0.2
1132+- Split kernel modules into kernel-extra-modules subpackage
1133+- Prioritizes core kmod (networking/drm/block/modesetting) in main kernel package
1134+- All extra modules and their dependencies are isolated to kernel-extra-modules
1135+- Added module-filelist generation scripts for both packages
1136+- Updated post-install scripts to handle extra modules dependency
1137+ 
1079* Wed Jun 18 2025 laokz <zhangkai@iscas.ac.cn> - 6.12.33-0.0.0.11138* Wed Jun 18 2025 laokz <zhangkai@iscas.ac.cn> - 6.12.33-0.0.0.1
1080- upgrade to upstream v6.12.331139- upgrade to upstream v6.12.33
1081- reset %with_debuginfo1140- reset %with_debuginfo