已关闭
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
已关闭
从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 33 | 42 | %global upstream_sublevel 33 |
| 43 | %global devel_release 0 | 43 | %global devel_release 0 |
| 44 | %global maintenance_release .0.0 | 44 | %global maintenance_release .0.0 |
| 45 | -%global pkg_release .1 | 45 | +%global pkg_release .2 |
| 46 | 46 | ||
| 47 | %global openeuler_lts 0 | 47 | %global openeuler_lts 0 |
| 48 | %global openeuler_major 0 | 48 | %global openeuler_major 0 |
| @@ -109,6 +109,8 @@ Source21: Module.kabi_x86_64 | |||
| 109 | %endif | 109 | %endif |
| 110 | 110 | ||
| 111 | Source200: mkgrub-menu-aarch64.sh | 111 | Source200: mkgrub-menu-aarch64.sh |
| 112 | +Source300: extra-modules_x86_64.list | ||
| 113 | +Source301: extra-modules_aarch64.list | ||
| 112 | 114 | ||
| 113 | Source2000: cpupower.service | 115 | Source2000: cpupower.service |
| 114 | Source2001: cpupower.config | 116 | Source2001: cpupower.config |
| @@ -231,6 +233,15 @@ Obsoletes: %{name}-tools-libs-devel | |||
| 231 | This package contains the development files for the tools/ directory from | 233 | This package contains the development files for the tools/ directory from |
| 232 | the kernel source. | 234 | the 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 perf | 246 | %package -n perf |
| 236 | Summary: Performance monitoring for the Linux kernel | 247 | Summary: 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 kdump | 631 | # 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 | + | ||
| 623 | pushd $RPM_BUILD_ROOT/lib/modules/%{KernelVer} | 640 | pushd $RPM_BUILD_ROOT/lib/modules/%{KernelVer} |
| 641 | +%ifnarch x86_64 aarch64 | ||
| 624 | find -type f -name "*.ko" >modnames | 642 | find -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 them | 660 | # mark modules executable so that strip-to-file can strip them |
| 627 | xargs --no-run-if-empty chmod u+x < modnames | 661 | xargs --no-run-if-empty chmod u+x < modnames |
| @@ -662,6 +696,9 @@ grep -E -v \ | |||
| 662 | modinfo && exit 1 | 696 | modinfo && exit 1 |
| 663 | 697 | ||
| 664 | rm -f modinfo modnames drivers.undef | 698 | rm -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 | ||
| 666 | for i in alias alias.bin builtin.bin ccwmap dep dep.bin ieee1394map inputmap isapnpmap ofmap pcimap seriomap symbols symbols.bin usbmap | 703 | for i in alias alias.bin builtin.bin ccwmap dep dep.bin ieee1394map inputmap isapnpmap ofmap pcimap seriomap symbols symbols.bin usbmap |
| 667 | do | 704 | do |
| @@ -960,7 +997,12 @@ fi | |||
| 960 | /sbin/ldconfig | 997 | /sbin/ldconfig |
| 961 | %systemd_postun cpupower.service | 998 | %systemd_postun cpupower.service |
| 962 | 999 | ||
| 1000 | + | ||
| 1001 | +%ifnarch x86_64 aarch64 | ||
| 963 | %files | 1002 | %files |
| 1003 | +%else | ||
| 1004 | +%files -f kernel-modules-filelist | ||
| 1005 | +%endif | ||
| 964 | %defattr (-, root, root) | 1006 | %defattr (-, root, root) |
| 965 | %doc | 1007 | %doc |
| 966 | /boot/config-* | 1008 | /boot/config-* |
| @@ -975,11 +1017,21 @@ fi | |||
| 975 | %ghost /boot/initramfs-%{KernelVer}.img | 1017 | %ghost /boot/initramfs-%{KernelVer}.img |
| 976 | /boot/.vmlinuz-*.hmac | 1018 | /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}/source | 1026 | %exclude /lib/modules/%{KernelVer}/source |
| 980 | %exclude /lib/modules/%{KernelVer}/build | 1027 | %exclude /lib/modules/%{KernelVer}/build |
| 981 | %{_sbindir}/mkgrub-menu*.sh | 1028 | %{_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 devel | 1035 | %files devel |
| 984 | %defattr (-, root, root) | 1036 | %defattr (-, root, root) |
| 985 | %doc | 1037 | %doc |
| @@ -1076,6 +1128,13 @@ fi | |||
| 1076 | %endif | 1128 | %endif |
| 1077 | 1129 | ||
| 1078 | %changelog | 1130 | %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.1 | 1138 | * Wed Jun 18 2025 laokz <zhangkai@iscas.ac.cn> - 6.12.33-0.0.0.1 |
| 1080 | - upgrade to upstream v6.12.33 | 1139 | - upgrade to upstream v6.12.33 |
| 1081 | - reset %with_debuginfo | 1140 | - reset %with_debuginfo |