1*49c803cdSMasahiro Yamada# _arch is undefined if /usr/lib/rpm/platform/*/macros was not included. 2*49c803cdSMasahiro Yamada%{!?_arch: %define _arch dummy} 3*49c803cdSMasahiro Yamada%{!?make: %define make make} 4*49c803cdSMasahiro Yamada%define makeflags %{?_smp_mflags} ARCH=%{ARCH} 5*49c803cdSMasahiro Yamada%define __spec_install_post /usr/lib/rpm/brp-compress || : 6*49c803cdSMasahiro Yamada%define debug_package %{nil} 7*49c803cdSMasahiro Yamada 8*49c803cdSMasahiro YamadaName: kernel 9*49c803cdSMasahiro YamadaSummary: The Linux Kernel 10*49c803cdSMasahiro YamadaVersion: %(echo %{KERNELRELEASE} | sed -e 's/-/_/g') 11*49c803cdSMasahiro YamadaRelease: %{pkg_release} 12*49c803cdSMasahiro YamadaLicense: GPL 13*49c803cdSMasahiro YamadaGroup: System Environment/Kernel 14*49c803cdSMasahiro YamadaVendor: The Linux Community 15*49c803cdSMasahiro YamadaURL: https://www.kernel.org 16*49c803cdSMasahiro YamadaSource0: linux.tar.gz 17*49c803cdSMasahiro YamadaSource1: config 18*49c803cdSMasahiro YamadaSource2: diff.patch 19*49c803cdSMasahiro YamadaProvides: kernel-%{KERNELRELEASE} 20*49c803cdSMasahiro YamadaBuildRequires: bc binutils bison dwarves 21*49c803cdSMasahiro YamadaBuildRequires: (elfutils-libelf-devel or libelf-devel) flex 22*49c803cdSMasahiro YamadaBuildRequires: gcc make openssl openssl-devel perl python3 rsync 23*49c803cdSMasahiro Yamada 24*49c803cdSMasahiro Yamada%description 25*49c803cdSMasahiro YamadaThe Linux Kernel, the operating system core itself 26*49c803cdSMasahiro Yamada 27*49c803cdSMasahiro Yamada%package headers 28*49c803cdSMasahiro YamadaSummary: Header files for the Linux kernel for use by glibc 29*49c803cdSMasahiro YamadaGroup: Development/System 30*49c803cdSMasahiro YamadaObsoletes: kernel-headers 31*49c803cdSMasahiro YamadaProvides: kernel-headers = %{version} 32*49c803cdSMasahiro Yamada%description headers 33*49c803cdSMasahiro YamadaKernel-headers includes the C header files that specify the interface 34*49c803cdSMasahiro Yamadabetween the Linux kernel and userspace libraries and programs. The 35*49c803cdSMasahiro Yamadaheader files define structures and constants that are needed for 36*49c803cdSMasahiro Yamadabuilding most standard programs and are also needed for rebuilding the 37*49c803cdSMasahiro Yamadaglibc package. 38*49c803cdSMasahiro Yamada 39*49c803cdSMasahiro Yamada%if %{with_devel} 40*49c803cdSMasahiro Yamada%package devel 41*49c803cdSMasahiro YamadaSummary: Development package for building kernel modules to match the %{version} kernel 42*49c803cdSMasahiro YamadaGroup: System Environment/Kernel 43*49c803cdSMasahiro YamadaAutoReqProv: no 44*49c803cdSMasahiro Yamada%description -n kernel-devel 45*49c803cdSMasahiro YamadaThis package provides kernel headers and makefiles sufficient to build modules 46*49c803cdSMasahiro Yamadaagainst the %{version} kernel package. 47*49c803cdSMasahiro Yamada%endif 48*49c803cdSMasahiro Yamada 49*49c803cdSMasahiro Yamada%prep 50*49c803cdSMasahiro Yamada%setup -q -n linux 51*49c803cdSMasahiro Yamadacp %{SOURCE1} .config 52*49c803cdSMasahiro Yamadapatch -p1 < %{SOURCE2} 53*49c803cdSMasahiro Yamada 54*49c803cdSMasahiro Yamada%build 55*49c803cdSMasahiro Yamada%{make} %{makeflags} KERNELRELEASE=%{KERNELRELEASE} KBUILD_BUILD_VERSION=%{release} 56*49c803cdSMasahiro Yamada 57*49c803cdSMasahiro Yamada%install 58*49c803cdSMasahiro Yamadamkdir -p %{buildroot}/boot 59*49c803cdSMasahiro Yamada%ifarch ia64 60*49c803cdSMasahiro Yamadamkdir -p %{buildroot}/boot/efi 61*49c803cdSMasahiro Yamadacp $(%{make} %{makeflags} -s image_name) %{buildroot}/boot/efi/vmlinuz-%{KERNELRELEASE} 62*49c803cdSMasahiro Yamadaln -s efi/vmlinuz-%{KERNELRELEASE} %{buildroot}/boot/ 63*49c803cdSMasahiro Yamada%else 64*49c803cdSMasahiro Yamadacp $(%{make} %{makeflags} -s image_name) %{buildroot}/boot/vmlinuz-%{KERNELRELEASE} 65*49c803cdSMasahiro Yamada%endif 66*49c803cdSMasahiro Yamada%{make} %{makeflags} INSTALL_MOD_PATH=%{buildroot} modules_install 67*49c803cdSMasahiro Yamada%{make} %{makeflags} INSTALL_HDR_PATH=%{buildroot}/usr headers_install 68*49c803cdSMasahiro Yamadacp System.map %{buildroot}/boot/System.map-%{KERNELRELEASE} 69*49c803cdSMasahiro Yamadacp .config %{buildroot}/boot/config-%{KERNELRELEASE} 70*49c803cdSMasahiro Yamadaln -fns /usr/src/kernels/%{KERNELRELEASE} %{buildroot}/lib/modules/%{KERNELRELEASE}/build 71*49c803cdSMasahiro Yamada%if %{with_devel} 72*49c803cdSMasahiro Yamada%{make} %{makeflags} run-command KBUILD_RUN_COMMAND='${srctree}/scripts/package/install-extmod-build %{buildroot}/usr/src/kernels/%{KERNELRELEASE}' 73*49c803cdSMasahiro Yamada%endif 74*49c803cdSMasahiro Yamada 75*49c803cdSMasahiro Yamada%clean 76*49c803cdSMasahiro Yamadarm -rf %{buildroot} 77*49c803cdSMasahiro Yamada 78*49c803cdSMasahiro Yamada%post 79*49c803cdSMasahiro Yamadaif [ -x /sbin/installkernel -a -r /boot/vmlinuz-%{KERNELRELEASE} -a -r /boot/System.map-%{KERNELRELEASE} ]; then 80*49c803cdSMasahiro Yamadacp /boot/vmlinuz-%{KERNELRELEASE} /boot/.vmlinuz-%{KERNELRELEASE}-rpm 81*49c803cdSMasahiro Yamadacp /boot/System.map-%{KERNELRELEASE} /boot/.System.map-%{KERNELRELEASE}-rpm 82*49c803cdSMasahiro Yamadarm -f /boot/vmlinuz-%{KERNELRELEASE} /boot/System.map-%{KERNELRELEASE} 83*49c803cdSMasahiro Yamada/sbin/installkernel %{KERNELRELEASE} /boot/.vmlinuz-%{KERNELRELEASE}-rpm /boot/.System.map-%{KERNELRELEASE}-rpm 84*49c803cdSMasahiro Yamadarm -f /boot/.vmlinuz-%{KERNELRELEASE}-rpm /boot/.System.map-%{KERNELRELEASE}-rpm 85*49c803cdSMasahiro Yamadafi 86*49c803cdSMasahiro Yamada 87*49c803cdSMasahiro Yamada%preun 88*49c803cdSMasahiro Yamadaif [ -x /sbin/new-kernel-pkg ]; then 89*49c803cdSMasahiro Yamadanew-kernel-pkg --remove %{KERNELRELEASE} --rminitrd --initrdfile=/boot/initramfs-%{KERNELRELEASE}.img 90*49c803cdSMasahiro Yamadaelif [ -x /usr/bin/kernel-install ]; then 91*49c803cdSMasahiro Yamadakernel-install remove %{KERNELRELEASE} 92*49c803cdSMasahiro Yamadafi 93*49c803cdSMasahiro Yamada 94*49c803cdSMasahiro Yamada%postun 95*49c803cdSMasahiro Yamadaif [ -x /sbin/update-bootloader ]; then 96*49c803cdSMasahiro Yamada/sbin/update-bootloader --remove %{KERNELRELEASE} 97*49c803cdSMasahiro Yamadafi 98*49c803cdSMasahiro Yamada 99*49c803cdSMasahiro Yamada%files 100*49c803cdSMasahiro Yamada%defattr (-, root, root) 101*49c803cdSMasahiro Yamada/lib/modules/%{KERNELRELEASE} 102*49c803cdSMasahiro Yamada%exclude /lib/modules/%{KERNELRELEASE}/build 103*49c803cdSMasahiro Yamada/boot/* 104*49c803cdSMasahiro Yamada 105*49c803cdSMasahiro Yamada%files headers 106*49c803cdSMasahiro Yamada%defattr (-, root, root) 107*49c803cdSMasahiro Yamada/usr/include 108*49c803cdSMasahiro Yamada 109*49c803cdSMasahiro Yamada%if %{with_devel} 110*49c803cdSMasahiro Yamada%files devel 111*49c803cdSMasahiro Yamada%defattr (-, root, root) 112*49c803cdSMasahiro Yamada/usr/src/kernels/%{KERNELRELEASE} 113*49c803cdSMasahiro Yamada/lib/modules/%{KERNELRELEASE}/build 114*49c803cdSMasahiro Yamada%endif 115