Add pseudo -modules* sub-packages and adjust dependency

While here,
- The main kernel package now provides kernel-core
- Convert license to SPDX expression
- Remove dracut as initramfs is not needed (mentioned in 4.4.21-2)
This commit is contained in:
Koichiro Iwao 2025-01-27 16:24:23 +09:00
parent 08e96e435e
commit 795eb41003

View File

@ -11,7 +11,7 @@ ExclusiveArch: aarch64
%define local_version v8
%define bcmmodel 2711
%define extra_version 1
%define extra_version 2
# This originally implies Kernel 4.x for RPi 2 and is not appropriate now.
# Be careful to change this not to disturb the seamless package update.
@ -41,7 +41,7 @@ Version: %{kversion}.%{patchlevel}
Release: 20241206.%{local_version}.%{extra_version}%{?dist}
Summary: Specific kernel and bootcode for Raspberry Pi
License: GPLv2
License: GPL-2.0 WITH Linux-syscall-note
URL: https://github.com/raspberrypi/linux
Source0: https://github.com/raspberrypi/linux/archive/%{version_tag}.tar.gz
Source1: https://github.com/raspberrypi/firmware/archive/refs/tags/%{firmware_tag}.tar.gz
@ -75,10 +75,9 @@ Specific kernel and bootcode for Raspberry Pi
Group: System Environment/Kernel
Summary: The Linux kernel
Provides: kernel = %{version}-%{release}
Provides: kernel-core = %{version}-%{release}
Provides: installonlypkg(kernel)
Requires: coreutils
#Requires: dracut
Requires: coreutils
%description kernel%{?ksuffix}
The kernel package contains the Linux kernel (vmlinuz), the core of any
Linux operating system. The kernel handles the basic functions
@ -95,11 +94,52 @@ Autoreq: no
Requires(pre): findutils
Requires: findutils
Requires: perl-interpreter
%description kernel%{?ksuffix}-devel
This package provides kernel headers and makefiles sufficient to build modules
against the kernel package.
%package kernel%{?ksuffix}-modules
Summary: Pseudo package for kernel modules
Group: System Environment/Kernel
Provides: installonlypkg(kernel-module)
Provides: kernel-modules = %{version}-%{release}
Provides: kernel-modules-uname-r = %{version}-%{release}
Obsoletes: kernel-modules < %{version}-%{release}
Requires: %{name}-kernel%{?ksuffix} = %{version}-%{release}
AutoReq: no
AutoProv: yes
%description kernel%{?ksuffix}-modules
This package provides pseudo dependency for the packages that depends on regular
kernel-modules packages.
%package kernel%{?ksuffix}-modules-core
Summary: Pseudo package for core kernel modules
Group: System Environment/Kernel
Provides: installonlypkg(kernel-module)
Provides: kernel-modules-core = %{version}-%{release}
Provides: kernel-modules-core-uname-r = %{version}-%{release}
Obsoletes: kernel-modules-core < %{version}-%{release}
Requires: %{name}-kernel%{?ksuffix} = %{version}-%{release}
AutoReq: no
AutoProv: yes
%description kernel%{?ksuffix}-modules-core
This package provides pseudo dependency for the packages that depends on regular
kernel-modules-core packages.
%package kernel%{?ksuffix}-modules-extra
Summary: Pseudo package for extra kernel modules
Group: System Environment/Kernel
Provides: kernel-modules-extra = %{version}-%{release}
Provides: kernel-modules-extra-uname-r = %{version}-%{release}
Provides: installonlypkg(kernel-module)
Obsoletes: kernel-modules-extra < %{version}-%{release}
Requires: %{name}-kernel%{?ksuffix} = %{version}-%{release}
AutoReq: no
AutoProv: yes
%description kernel%{?ksuffix}-modules-extra
This package provides pseudo dependency for the packages that depends on regular
kernel-modules-extra packages.
%if %{with_tools}
%package kernel%{?ksuffix}-tools
Summary: Assortment of tools for the Linux kernel
@ -159,7 +199,7 @@ Obsoletes: kernel-headers < %{version}
Provides: kernel-headers = %{version}-%{release}
Obsoletes: glibc-kernheaders < 3.0-46
Provides: glibc-kernheaders = 3.0-46
Summary: Header files for the Linux kernel for use by glibc
Summary: Header files for the Linux kernel for use by glibc
%description kernel%{?ksuffix}-headers
Kernel-headers includes the C header files that specify the interface
@ -368,7 +408,6 @@ fi
cp /usr/share/%{name}-kernel/%{version}-%{release}/boot/*.dtb /boot/
cp /usr/share/%{name}-kernel/%{version}-%{release}/boot/overlays/*.dtb* /boot/overlays/
cp /usr/share/%{name}-kernel/%{version}-%{release}/boot/overlays/README /boot/overlays/
/usr/bin/dracut /boot/initramfs-%{version}-%{release}.img %{version}-%{release}
cp /boot/config-kernel-%{version}-%{release}.inc /boot/config-kernel.inc
%postun kernel%{?ksuffix}
@ -385,6 +424,18 @@ cp $(ls -1 /boot/config-kernel-*-*|sort -V|tail -1) /boot/config-kernel.inc
%files kernel%{?ksuffix}-devel
%defattr(-,root,root)
/usr/src/kernels/%{version}-%{release}
%files kernel%{?ksuffix}-modules
# empty package
%defattr(-,root,root)
%files kernel%{?ksuffix}-modules-core
# empty package
%defattr(-,root,root)
%files kernel%{?ksuffix}-modules-extra
# empty package
%defattr(-,root,root)
%endif
%if %{with_tools}
@ -438,6 +489,12 @@ cp $(ls -1 /boot/config-kernel-*-*|sort -V|tail -1) /boot/config-kernel.inc
%endif
%changelog
* Mon Jan 27 2025 Koichiro Iwao <emta@almalinux.org> - 6.12.1-20241206.v8.2
- Add pseudo subpackages for kernel modules to resolve dependency issue
- The main kernel package now provides kernel-core
- Convert license to SPDX expression
- Remove dracut as initramfs is not needed (mentioned in 4.4.21-2)
* Wed Dec 25 2024 Koichiro Iwao <meta@almalinux.org> - 6.12.1-20241206.v8.1
- Update kernel to v6.12.1 rpi-6.12.y_20241206_2
- Update firmware to 1.20241126