%global _branch 6.16 Name: linux-sm8550 ExclusiveArch: aarch64 Version: 6.16.0 Release: 1 Summary: AIO package for linux kernel, modules and headers for Xiaomi Pad 6S Pro. URL: https://github.com/map220v/sm8550-mainline Source1: %{url}/archive/refs/heads/sheng-%{_branch}.zip License: GPL Provides: kernel = %{version}-%{release} Provides: kernel-core = %{version}-%{release} Provides: kernel-modules = %{version}-%{release} Provides: kernel-devel = %{version}-%{release} Provides: kernel-headers = %{version}-%{release} BuildRequires: kmod, bash, coreutils, tar, unzip, git-core, which BuildRequires: bzip2, xz, findutils, m4, perl-interpreter, perl-Carp, perl-devel, perl-generators, make, diffutils, gawk BuildRequires: zstd BuildRequires: gcc, binutils, redhat-rpm-config, hmaccalc, bison, flex, gcc-c++ BuildRequires: rust, rust-src, bindgen, rustfmt, clippy BuildRequires: net-tools, hostname, bc, elfutils-devel BuildRequires: dwarves BuildRequires: python3 BuildRequires: python3-devel BuildRequires: python3-pyyaml BuildRequires: glibc-static BuildRequires: rsync BuildRequires: opencsd-devel >= 1.0.0 BuildRequires: openssl-devel Requires: dracut Requires: systemd-boot %description Mainline kernel for Xiaomi Pad 6S Pro (sm8550 device). %prep unzip %{SOURCE1} %build cd sm8550-mainline-sheng-%{_branch} make defconfig sm8550.config make EXTRAVERSION="-%{release}" -j`nproc` Image.gz dtbs modules %install mkdir -p %{buildroot}/boot/ cd sm8550-mainline-sheng-%{_branch} make EXTRAVERSION="-%{release}" kernelrelease > %{buildroot}/boot/version.txt kernel_version=$(cat %{buildroot}/boot/version.txt) cp arch/arm64/boot/Image.gz %{buildroot}/boot/vmlinuz-$kernel_version cp System.map %{buildroot}/boot/System.map-$kernel_version cp .config %{buildroot}/boot/config-$kernel_version make EXTRAVERSION="-%{release}" modules_install INSTALL_MOD_PATH=%{buildroot}/usr make EXTRAVERSION="-%{release}" headers_install INSTALL_HDR_PATH=%{buildroot}/usr cp arch/arm64/boot/dts/qcom/sm8550-xiaomi-sheng.dtb %{buildroot}/usr/lib/modules/$kernel_version/dtb cp arch/arm64/boot/Image.gz %{buildroot}/usr/lib/modules/$kernel_version/vmlinuz rm %{buildroot}/usr/lib/modules/%{version}*/build %posttrans kernel_version=$(cat %{buildroot}/boot/version.txt) kernel-install add %{kernel_version} /usr/lib/modules/%{kernel_version}/vmlinuz %postun kernel_version=$(cat %{buildroot}/boot/version.txt) kernel-install remove %{kernel_version} /usr/lib/modules/%{kernel_version}/vmlinuz %files /boot/version.txt /boot/System.map-%{version}* /boot/config-%{version}* /boot/vmlinuz-%{version}* /usr/lib/modules/%{version}* /usr/include