%global debug_package %{nil} %define KNLVERS %{version}-%{release}.%{_target_cpu} %define RPMVERS %{version}-%{release} Name: kernel-@variant@ License: GPLv2 Version: @rpmvers@ Release: @release@.@variant@%{dist} Summary: linux kernel, @variant@ Source0: linux-@version@.tar.gz Source1: kernel.config.el75 Source9: kernel.config.tweaks BuildRequires: devtoolset-9-gcc BuildRequires: devtoolset-9-binutils BuildRequires: make bc flex bison BuildRequires: openssl-devel BuildRequires: pkgconfig(libelf) Requires: grubby Provides: kernel = %{RPMVERS} %package headers Summary: linux kernel, @variant@, headers #Obsoletes: kernel-headers < %{RPMVERS} #Provides: kernel-headers = %{RPMVERS} %description linux kernel, @variant@ %description headers linux kernel, @variant@, headers %prep %setup -q -n linux-@version@ %build source /opt/rh/devtoolset-9/enable gcc --version mkdir build make O=build defconfig cp %{SOURCE1} build/.config cat %{SOURCE9} >> build/.config make -C build olddefconfig echo "CONFIG_LOCALVERSION=\"-%{release}.%{_target_cpu}\"" >> build/.config make -C build oldconfig make EXTRAVERSION="" \ -C build %install source /opt/rh/devtoolset-9/enable mkdir -p %{buildroot}/{boot,lib/modules} make EXTRAVERSION="" \ INSTALL_PATH=%{buildroot}/boot \ INSTALL_MOD_PATH=%{buildroot} \ INSTALL_HDR_PATH=%{buildroot}/usr \ INSTALLKERNEL=/bin/true \ -C build \ install modules_install headers_install # debug ls %{buildroot}/boot ls %{buildroot}/lib/modules ls %{buildroot}/lib/modules/%{KNLVERS} # rename /boot files, add config mv %{buildroot}/boot/System.map \ %{buildroot}/boot/System.map-%{KNLVERS} mv %{buildroot}/boot/vmlinuz \ %{buildroot}/boot/vmlinuz-%{KNLVERS} cp build/.config %{buildroot}/boot/config-%{KNLVERS} # cleanup rm -rf %{buildroot}/lib/firmware rm -f %{buildroot}/lib/modules/%{KNLVERS}/modules.*.bin rm -f %{buildroot}/lib/modules/%{KNLVERS}/modules.{symbols,softdep,devname,dep,alias} rm -f %{buildroot}/lib/modules/%{KNLVERS}/source rm -f %{buildroot}/lib/modules/%{KNLVERS}/build find %{buildroot}/usr -name .install -exec rm "{}" ";" find %{buildroot}/usr -name ..install.cmd -exec rm "{}" ";" # strip and compress modules find %{buildroot}/lib/modules -name "*.ko" | xargs strip --strip-debug find %{buildroot}/lib/modules -name "*.ko" | xargs gzip # make systemtap happy mkdir %{buildroot}/lib/modules/%{KNLVERS}/build cp build/.config %{buildroot}/lib/modules/%{KNLVERS}/build %post if test -x /usr/sbin/new-kernel-pkg; then echo "# new-kernel-pkg install %{name}-%{KNLVERS}" /usr/sbin/new-kernel-pkg --package %{name} \ --install "%{KNLVERS}" fi %preun if test -x /usr/sbin/new-kernel-pkg; then echo "# new-kernel-pkg remove %{name}-%{KNLVERS}" /usr/sbin/new-kernel-pkg \ --rminitrd --rmmoddep --remove "%{KNLVERS}" else echo "# kernel-install remove /boot/vmlinuz-%{KNLVERS}" /bin/kernel-install remove "%{KNLVERS}" "/boot/vmlinuz-%{KNLVERS}" fi %posttrans if test -x /usr/sbin/new-kernel-pkg; then echo "# new-kernel-pkg update+posttrans %{name}-%{KNLVERS}" /usr/sbin/new-kernel-pkg --package %{name} \ --mkinitrd --dracut --depmod --update "%{KNLVERS}" /usr/sbin/new-kernel-pkg --package %{name} \ --rpmposttrans "%{KNLVERS}" else echo "# kernel-install add /boot/vmlinuz-%{KNLVERS}" /bin/kernel-install add "%{KNLVERS}" "/boot/vmlinuz-%{KNLVERS}" fi %files /boot/config-%{KNLVERS} /boot/vmlinuz-%{KNLVERS} /boot/System.map-%{KNLVERS} /lib/modules/%{KNLVERS} %ghost /boot/initramfs-%{KNLVERS}.img %files headers /usr/include/*