# # FOR INFORMATION ABOUT OTHER KERNELS: # cvs up -r KERNEL_BRANCHES_INFORMATION kernel.spec && less kernel.spec # # NOTE: # - no grsecurity (not planned, use selinux) # - no devfs (devfs is obsolete, use udev from HEAD) # # TODO: # - everything # - activate reiser4 in configs for platforms other than i386 w/o SMP # # Conditional build: %bcond_without BOOT # don't build BOOT kernel %bcond_without smp # don't build SMP kernel %bcond_without up # don't build UP kernel %bcond_without source # don't build kernel-source package %bcond_with verbose # verbose build (V=1) %bcond_with preemptive # build preemptive kernel %{?debug:%define with_verbose 1} %ifarch sparc # sparc32 is missing important updates from 2.5 cycle - won't build %undefine with_smp %endif %ifarch ia64 # broken %undefine with_up %endif %ifarch i586 i686 pentium3 pentium4 athlon %undefine with_BOOT %endif # temporary as BOOT is not finished yet %undefine with_BOOT ## Program required by kernel to work. %define _binutils_ver 2.12 %define _util_linux_ver 2.10o %define _module_init_tool_ver 0.9.10 %define _e2fsprogs_ver 1.29 %define _jfsutils_ver 1.1.3 %define _reiserfsprogs_ver 3.6.3 %define _xfsprogs_ver 2.6.0 %define _pcmcia_cs_ver 3.1.21 %define _quota_tools_ver 3.09 %define _PPP_ver 2.4.0 %define _isdn4k_utils_ver 3.1pre1 %define _nfs_utils_ver 1.0.5 %define _procps_ver 3.2.0 %define _oprofile_ver 0.5.3 %define _post_ver %{nil} %define _rel 0.1 %define _cset 0 %define _apply_cset 0 %define _netfilter_snap 20040629 %define _enable_debug_packages 0 %define no_install_post_strip 1 %define no_install_post_chrpath 1 %define pcmcia_version 3.1.22 %define drm_xfree_version 4.3.0 Summary: The Linux kernel (the core of the Linux operating system) Summary(de): Der Linux-Kernel (Kern des Linux-Betriebssystems) Summary(fr): Le Kernel-Linux (La partie centrale du systeme) Summary(pl): Jądro Linuksa Name: kernel Version: 2.6.10%{_post_ver} Release: %{_rel} Epoch: 3 License: GPL v2 Group: Base/Kernel %define _rc %{nil} Source0: http://ftp.kernel.org/pub/linux/kernel/v2.6/linux-%{version}%{_rc}.tar.bz2 # Source0-md5: cffcd2919d9c8ef793ce1ac07a440eda Source1: %{name}-autoconf.h %if "%{_apply_cset}" != "0" Source4: http://ftp.kernel.org/pub/linux/kernel/v2.6/testing/cset/cset-%{_cset}.txt.bz2 # Source4-md5: 6d572bee414b6d065f90cc9824eecff3 %endif Source20: %{name}-i386.config Source21: %{name}-i386-smp.config Source22: %{name}-x86_64.config Source23: %{name}-x86_64-smp.config Source24: %{name}-sparc.config Source25: %{name}-sparc-smp.config Source26: %{name}-sparc64.config Source27: %{name}-sparc64-smp.config Source28: %{name}-alpha.config Source29: %{name}-alpha-smp.config Source30: %{name}-ppc.config Source31: %{name}-ppc-smp.config Source32: %{name}-ia64.config Source33: %{name}-ia64-smp.config Source40: %{name}.FAQ-pl Source80: %{name}-netfilter.config Source90: %{name}-grsec.config Source91: %{name}-grsec+pax.config # http://kem.p.lodz.pl/~peter/qnet/ Patch15: patch-2.6.8.1-qnet2.bz2 Patch18: linux-kbuild-extmod.patch Patch20: 2.6.1-rc2-VLAN-NS83820-lkml.patch Patch21: 2.6.5-3C920b-Tornado.patch Patch22: 2.6.5-i386-cmpxchg.patch Patch30: kernel-vmalloc-reserve.patch # suspend/resume # http://softwaresuspend.berlios.de/ Patch500: linux-2.6-software-suspend-2.1.5.10.patch.gz # http://sources.redhat.com/cluster/ Patch550: linux-cluster-cman.patch Patch551: linux-cluster-dlm.patch Patch552: linux-cluster-gfs.patch Patch553: linux-cluster-gnbd.patch URL: http://www.kernel.org/ BuildRequires: binutils >= 2.14.90.0.7 BuildRequires: diffutils %ifarch sparc sparc64 BuildRequires: elftoaout %endif BuildRequires: module-init-tools BuildRequires: perl-base BuildRequires: rpmbuild(macros) >= 1.213 BuildRequires: sed >= 4.0 Autoreqprov: no PreReq: coreutils PreReq: module-init-tools >= 0.9.9 PreReq: geninitrd >= 2.57 Requires(pre): rc-scripts Provides: %{name}-up = %{epoch}:%{version}-%{release} Provides: module-info Provides: %{name}(netfilter) = %{_netfilter_snap} Obsoletes: kernel-modules Conflicts: util-linux < %{_util_linux_ver} Conflicts: module-init-tool < %{_module_init_tool_ver} Conflicts: e2fsprogs < %{_e2fsprogs_ver} Conflicts: jfsutils < %{_jfsutils_ver} Conflicts: reiserfsprogs < %{_reiserfsprogs_ver} Conflicts: xfsprogs < %{_xfsprogs_ver} Conflicts: quota-tools < %{_quota_tools_ver} Conflicts: PPP < %{_PPP_ver} Conflicts: isdn4k-utils < %{_isdn4k_utils_ver} Conflicts: nfs-utils < %{_nfs_utils_ver} Conflicts: procps < %{_procps_ver} Conflicts: oprofile < %{_oprofile_ver} ExclusiveArch: %{ix86} %{x8664} alpha ia64 ppc sparc sparc64 ExclusiveOS: Linux BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %ifarch ia64 %define initrd_dir /boot/efi %else %define initrd_dir /boot %endif %description This package contains the Linux kernel that is used to boot and run your system. It contains few device drivers for specific hardware. Most hardware is instead supported by modules loaded after booting. %description -l de Das Kernel-Paket enthält den Linux-Kernel (vmlinuz), den Kern des Linux-Betriebssystems. Der Kernel ist für grundliegende Systemfunktionen verantwortlich: Speicherreservierung, Prozeß-Management, Geräte Ein- und Ausgaben, usw. %description -l fr Le package kernel contient le kernel linux (vmlinuz), la partie centrale d'un systčme d'exploitation Linux. Le noyau traite les fonctions basiques d'un systčme d'exploitation: allocation mémoire, allocation de process, entrée/sortie de peripheriques, etc. %description -l pl Pakiet zawiera jądro Linuksa niezbędne do prawidłowego działania Twojego komputera. Zawiera w sobie sterowniki do sprzętu znajdującego się w komputerze, takiego jak sterowniki dysków itp. %package drm Summary: DRM kernel modules Summary(pl): Sterowniki DRM Group: Base/Kernel PreReq: %{name}-up = %{epoch}:%{version}-%{release} Requires(postun): %{name}-up = %{epoch}:%{version}-%{release} Provides: %{name}-drm = %{drm_xfree_version} Autoreqprov: no %description drm DRM kernel modules (%{drm_xfree_version}). %description drm -l pl Sterowniki DRM (%{drm_xfree_version}). %package pcmcia Summary: PCMCIA modules Summary(pl): Moduły PCMCIA Group: Base/Kernel PreReq: %{name}-up = %{epoch}:%{version}-%{release} Requires(postun): %{name}-up = %{epoch}:%{version}-%{release} Provides: %{name}-pcmcia = %{pcmcia_version} Provides: kernel(pcmcia) Conflicts: pcmcia-cs < %{_pcmcia_cs_ver} Autoreqprov: no %description pcmcia PCMCIA modules (%{pcmcia_version}). %description pcmcia -l pl Moduły PCMCIA (%{pcmcia_version}). %package sound-alsa Summary: ALSA kernel modules Summary(pl): Sterowniki dźwięku ALSA Group: Base/Kernel PreReq: %{name}-up = %{epoch}:%{version}-%{release} Requires(postun): %{name}-up = %{epoch}:%{version}-%{release} Autoreqprov: no %description sound-alsa ALSA (Advanced Linux Sound Architecture) sound drivers. %description sound-alsa -l pl Sterowniki dźwięku ALSA (Advanced Linux Sound Architecture). %package sound-oss Summary: OSS kernel modules Summary(pl): Sterowniki dźwięku OSS Group: Base/Kernel PreReq: %{name}-up = %{epoch}:%{version}-%{release} Requires(postun): %{name}-up = %{epoch}:%{version}-%{release} Autoreqprov: no %description sound-oss OSS (Open Sound System) drivers. %description sound-oss -l pl Sterowniki dźwięku OSS (Open Sound System). %package smp Summary: Kernel version %{version} compiled for SMP machines Summary(de): Kernel version %{version} für Multiprozessor-Maschinen Summary(fr): Kernel version %{version} compiler pour les machine Multi-Processeur Summary(pl): Jądro Linuksa w wersji %{version} dla maszyn wieloprocesorowych Group: Base/Kernel PreReq: coreutils PreReq: module-init-tools >= 0.9.9 PreReq: geninitrd >= 2.26 Provides: %{name} = %{epoch}:%{version}-%{release} Provides: module-info Provides: %{name}(netfilter) = %{_netfilter_snap} Conflicts: util-linux < %{_util_linux_ver} Conflicts: module-init-tool < %{_module_init_tool_ver} Conflicts: e2fsprogs < %{_e2fsprogs_ver} Conflicts: jfsutils < %{_jfsutils_ver} Conflicts: reiserfsprogs < %{_reiserfsprogs_ver} Conflicts: xfsprogs < %{_xfsprogs_ver} Conflicts: quota-tools < %{_quota_tools_ver} Conflicts: PPP < %{_PPP_ver} Conflicts: isdn4k-utils < %{_isdn4k_utils_ver} Conflicts: nfs-utils < %{_nfs_utils_ver} Conflicts: procps < %{_procps_ver} Conflicts: oprofile < %{_oprofile_ver} Autoreqprov: no %description smp This package includes a SMP version of the Linux %{version} kernel. It is required only on machines with two or more CPUs, although it should work fine on single-CPU boxes. %description smp -l de Dieses Paket enthält eine SMP (Multiprozessor)-Version von Linux-Kernel %{version}. Es wird für Maschinen mit zwei oder mehr Prozessoren gebraucht, sollte aber auch auf Computern mit nur einer CPU laufen. %description smp -l fr Ce package inclu une version SMP du noyau de Linux version {version}. Il et nécessaire seulement pour les machine avec deux processeurs ou plus, il peut quand męme fonctionner pour les systčme mono-processeur. %description smp -l pl Pakiet zawiera jądro SMP Linuksa w wersji %{version}. Jest ono wymagane przez komputery zawierające dwa lub więcej procesorów. Powinno również dobrze działać na maszynach z jednym procesorem. %package smp-drm Summary: DRM SMP kernel modules Summary(pl): Sterowniki DRM dla maszyn wieloprocesorowych Group: Base/Kernel PreReq: %{name}-smp = %{epoch}:%{version}-%{release} Requires(postun): %{name}-smp = %{epoch}:%{version}-%{release} Provides: %{name}-drm = %{drm_xfree_version} Autoreqprov: no %description smp-drm DRM SMP kernel modules (%{drm_xfree_version}). %description smp-drm -l pl Sterowniki DRM dla maszyn wieloprocesorowych (%{drm_xfree_version}). %package smp-pcmcia Summary: PCMCIA modules for SMP kernel Summary(pl): Moduły PCMCIA dla maszyn SMP Group: Base/Kernel PreReq: %{name}-smp = %{epoch}:%{version}-%{release} Requires(postun): %{name}-smp = %{epoch}:%{version}-%{release} Provides: %{name}-pcmcia = %{pcmcia_version} Provides: kernel(pcmcia) Conflicts: pcmcia-cs < %{_pcmcia_cs_ver} Autoreqprov: no %description smp-pcmcia PCMCIA modules for SMP kernel (%{pcmcia_version}). %description smp-pcmcia -l pl Moduły PCMCIA dla maszyn SMP (%{pcmcia_version}). %package smp-sound-alsa Summary: ALSA SMP kernel modules Summary(pl): Sterowniki dźwięku ALSA dla maszyn wieloprocesorowych Group: Base/Kernel PreReq: %{name}-smp = %{epoch}:%{version}-%{release} Requires(postun): %{name}-smp = %{epoch}:%{version}-%{release} Autoreqprov: no %description smp-sound-alsa ALSA (Advanced Linux Sound Architecture) SMP sound drivers. %description smp-sound-alsa -l pl Sterowniki dźwięku ALSA (Advanced Linux Sound Architecture) dla maszyn wieloprocesorowych. %package smp-sound-oss Summary: OSS SMP kernel modules Summary(pl): Sterowniki dźwięku OSS dla maszyn wieloprocesorowych Group: Base/Kernel PreReq: %{name}-smp = %{epoch}:%{version}-%{release} Requires(postun): %{name}-smp = %{epoch}:%{version}-%{release} Autoreqprov: no %description smp-sound-oss OSS (Open Sound System) SMP sound drivers. %description smp-sound-oss -l pl Sterowniki OSS (Open Sound System) dla maszyn wieloprocesorowych. %package BOOT Summary: Kernel version %{version} used on the installation boot disks Summary(de): Kernel version %{version} für Installationsdisketten Summary(fr): Kernel version %{version} utiliser pour les disquettes d'installation Summary(pl): Jądro Linuksa w wersji %{version} dla dyskietek startowych Group: Base/Kernel PreReq: module-init-tools Autoreqprov: no %description BOOT This package includes a trimmed down version of the Linux %{version} kernel. This kernel is used on the installation boot disks only and should not be used for an installed system, as many features in this kernel are turned off because of the size constraints. %description BOOT -l de Dieses Paket enthält eine verkleinerte Version vom Linux-Kernel version %{version}. Dieser Kernel wird auf den Installations-Bootdisketten benutzt und sollte nicht auf einem installierten System verwendet werden, da viele Funktionen wegen der Platzprobleme abgeschaltet sind. %description BOOT -l pl Pakiet zawiera jądro Linuksa dedykowane dyskietkom startowym i powinno być używane jedynie podczas instalacji systemu. Wiele użytecznych opcji zostało wyłączonych, aby jak najbardziej zmniejszyć jego rozmiar. %package headers Summary: Header files for the Linux kernel Summary(pl): Pliki nagłówkowe jądra Linuksa Group: Base/Kernel Provides: %{name}-headers(agpgart) = %{version} Provides: %{name}-headers(reiserfs) = %{version} Provides: %{name}-headers(bridging) = %{version} Provides: kernel-i2c-devel Provides: %{name}-headers(netfilter) = %{_netfilter_snap} Provides: %{name}-headers(alsa-drivers) Obsoletes: kernel-i2c-devel Autoreqprov: no %description headers These are the C header files for the Linux kernel, which define structures and constants that are needed when rebuilding the kernel or building kernel modules. %description headers -l pl Pakiet zawiera pliki nagłówkowe jądra, niezbędne do rekompilacji jądra oraz budowania modułów jądra. %package module-build Summary: Development files for building kernel modules Summary(pl): Pliki służące do budowania modułów jądra Group: Base/Kernel Requires: %{name}-headers = %{epoch}:%{version}-%{release} Autoreqprov: no %description module-build Development files from kernel source tree needed to build Linux kernel modules from external packages. %description module-build -l pl Pliki ze drzewa źródeł jądra potrzebne do budowania modułów jądra Linuksa z zewnętrznych pakietów. %package source Summary: Kernel source tree Summary(pl): Kod źródłowy jądra Linuksa Group: Base/Kernel Requires: %{name}-module-build = %{epoch}:%{version}-%{release} Autoreqprov: no %description source This is the source code for the Linux kernel. It is required to build most C programs as they depend on constants defined in here. You can also build a custom kernel that is better tuned to your particular hardware. %description source -l de Das Kernel-Source-Paket enthält den source code (C/Assembler-Code) des Linux-Kernels. Die Source-Dateien werden gebraucht, um viele C-Programme zu compilieren, da sie auf Konstanten zurückgreifen, die im Kernel-Source definiert sind. Die Source-Dateien können auch benutzt werden, um einen Kernel zu compilieren, der besser auf Ihre Hardware ausgerichtet ist. %description source -l fr Le package pour le kernel-source contient le code source pour le noyau linux. Ces sources sont nécessaires pour compiler la plupart des programmes C, car il dépend de constantes définies dans le code source. Les sources peuvent ętre aussi utilisée pour compiler un noyau personnalisé pour avoir de meilleures performances sur des matériels particuliers. %description source -l pl Pakiet zawiera kod źródłowy jądra systemu. %package doc Summary: Kernel documentation Summary(pl): Dokumentacja do jądra Linuksa Group: Base/Kernel Provides: %{name}-doc = %{version} Autoreqprov: no %description doc This is the documentation for the Linux kernel, as found in /usr/src/linux/Documentation directory. %description doc -l pl Pakiet zawiera dokumentację do jądra Linuksa pochodzącą z katalogu /usr/src/linux/Documentation. %prep %setup -q -n linux-%{version}%{_rc} %if "%{_apply_cset}" != "0" bzcat %{SOURCE4} | patch -p1 -s [ $? -ne 0 ] && exit 1 %endif %patch15 -p1 %patch18 -p1 %patch20 -p1 %patch21 -p1 %patch22 -p1 %patch30 -p1 %patch500 -p1 %patch550 -p1 %patch551 -p1 %patch552 -p1 %patch553 -p1 # Fix EXTRAVERSION in main Makefile sed -i -e 's#EXTRAVERSION =.*#EXTRAVERSION =#g' Makefile sed -i -e 's#CC.*$(CROSS_COMPILE)gcc#CC = $(CROSS_COMPILE)$(OURCC)#g' Makefile sed -i -e 's#\-pipe##' arch/*/Makefile %build TuneUpConfigForIX86 () { %ifarch %{ix86} %ifnarch i386 sed -i 's:CONFIG_M386=y:# CONFIG_M386 is not set:' $1 %endif %ifarch i486 sed -i 's:# CONFIG_M486 is not set:CONFIG_M486=y:' $1 %endif %ifarch i586 sed -i 's:# CONFIG_M586 is not set:CONFIG_M586=y:' $1 %endif %ifarch i686 sed -i 's:# CONFIG_M686 is not set:CONFIG_M686=y:' $1 %endif %ifarch pentium3 sed -i 's:# CONFIG_MPENTIUMIII is not set:CONFIG_MPENTIUMIII=y:' $1 %endif %ifarch pentium4 sed -i 's:# CONFIG_MPENTIUM4 is not set:CONFIG_MPENTIUM4=y:' $1 %endif %ifarch athlon sed -i 's:# CONFIG_MK7 is not set:CONFIG_MK7=y:' $1 %endif %ifarch pentium3 pentium4 athlon # kernel-i386-smp.config contains 64G support by default. %if %{with up} sed -i "s:CONFIG_HIGHMEM4G=y:# CONFIG_HIGHMEM4G is not set:" $1 sed -i "s:# CONFIG_HIGHMEM64G is not set:CONFIG_HIGHMEM64G=y\nCONFIG_X86_PAE=y:" $1 %endif %endif %ifarch i686 pentium3 pentium4 sed -i 's:CONFIG_MATH_EMULATION=y:# CONFIG_MATH_EMULATION is not set:' $1 %endif %endif } %if "%{_target_base_arch}" != "%{_arch}" Opts="ARCH=%{_target_base_arch} CROSS_COMPILE=\"%{_target_cpu}-pld-linux-\" OURCC=\"gcc\"" %else %ifarch %{ix86} alpha sparc ppc Opts="OURCC=\"%{__cc}\"" %endif %ifarch sparc64 Opts="OURCC=\"sparc64-pld-linux-gcc\"" %endif %endif BuildConfig (){ %{?_debug:set -x} # is this a special kernel we want to build? BOOT= smp= [ "$1" = "BOOT" -o "$2" = "BOOT" ] && BOOT=yes [ "$1" = "smp" -o "$2" = "smp" ] && smp=yes if [ "$smp" = "yes" ]; then Config="%{_target_base_arch}-smp" else Config="%{_target_base_arch}" fi if [ "$BOOT" = "yes" ]; then KernelVer=%{version}-%{release}BOOT else KernelVer=%{version}-%{release}$1 fi echo "Building config file for KERNEL $1..." cat $RPM_SOURCE_DIR/kernel-$Config.config > arch/%{_target_base_arch}/defconfig TuneUpConfigForIX86 arch/%{_target_base_arch}/defconfig %if %{with preemptive} sed -i 's:# CONFIG_PREEMPT is not set:CONFIG_PREEMPT=y:' arch/%{_target_base_arch}/defconfig %endif # netfilter cat %{SOURCE80} >> arch/%{_target_base_arch}/defconfig # grsecurity %if !%{with pax} cat %{SOURCE90} >> arch/%{_target_base_arch}/defconfig %else cat %{SOURCE91} >> arch/%{_target_base_arch}/defconfig %endif ln -sf arch/%{_target_base_arch}/defconfig .config install -d $KERNEL_INSTALL_DIR/usr/src/linux-%{version}/include/linux %{__make} $Opts include/linux/autoconf.h if [ "$smp" = "yes" ]; then install include/linux/autoconf.h \ $KERNEL_INSTALL_DIR/usr/src/linux-%{version}/include/linux/autoconf-smp.h install .config \ $KERNEL_INSTALL_DIR/usr/src/linux-%{version}/config-smp else install include/linux/autoconf.h \ $KERNEL_INSTALL_DIR/usr/src/linux-%{version}/include/linux/autoconf-up.h install .config \ $KERNEL_INSTALL_DIR/usr/src/linux-%{version}/config-up fi } ConfigBOOT() { Config="%{_target_base_arch}" cat $RPM_SOURCE_DIR/kernel-$Config.config > arch/%{_target_base_arch}/defconfig %ifarch i386 echo "CONFIG_M386=y" >> arch/%{_target_base_arch}/defconfig %endif %ifarch i486 echo "CONFIG_M486=y" >> arch/%{_target_base_arch}/defconfig %endif %ifarch i386 i486 i586 sed -i 's/# CONFIG_MATH_EMULATION is not set/CONFIG_MATH_EMULATION=y/' \ arch/%{_target_base_arch}/defconfig %endif cat <>arch/%{_target_base_arch}/defconfig # CONFIG_APM is not set # CONFIG_ACPI is not set # CONFIG_ACPI_BOOT is not set # CONFIG_MTD is not set # CONFIG_NETFILTER is not set # CONFIG_WAN is not set # CONFIG_ATM is not set # CONFIG_HOTPLUG_PCI is not set # CONFIG_NET_SCHED is not set # CONFIG_X86_MCE is not set # CONFIG_MTRR is not set # CONFIG_PM is not set # CONFIG_CPU_FREQ is not set # CONFIG_DRM is not set # CONFIG_FTAPE is not set # CONFIG_WATCHDOG is not set # CONFIG_DVB is not set # CONFIG_DVB_CORE is not set # CONFIG_VIDEO_DEV is not set # CONFIG_SECURITY is not set # CONFIG_SOUND is not set # CONFIG_USB_AUDIO is not set # CONFIG_INPUT_JOYSTICK is not set # CONFIG_OMNIBOOK is not set # CONFIG_NET_RADIO is not set # CONFIG_HOTPLUG is not set # CONFIG_QUOTA is not set # CONFIG_REGPARM is not set # CONFIG_SCSI_LOGGING is not set CONFIG_PACKET=m CONFIG_UNIX=m # CONFIG_DEV_APPLETALK is not set # CONFIG_ECONET_AUNUDP is not set # CONFIG_HIPPI is not set # CONFIG_TR is not set # CONFIG_INPUT_MISC is not set # CONFIG_INPUT_TOUCHSCREEN is not set # CONFIG_PROFILING is not set # CONFIG_DEBUG_KERNEL is not set # CONFIG_DEBUG_SPINLOCK_SLEEP is not set # CONFIG_FRAME_POINTER is not set # CONFIG_LBD is not set # CONFIG_SLIP is not set # CONFIG_PPP is not set # CONFIG_PLIP is not set # CONFIG_FDDI is not set # CONFIG_HAMRADIO is not set # CONFIG_NETPOLL_RX is not set # CONFIG_NETPOLL_TRAP is not set # CONFIG_FB is not set EOF ln -sf arch/%{_target_base_arch}/defconfig .config install -d $KERNEL_INSTALL_DIR/usr/src/linux-%{version}/include/linux %{__make} $Opts include/linux/autoconf.h if [ "$smp" = "yes" ]; then install include/linux/autoconf.h $KERNEL_INSTALL_DIR/usr/src/linux-%{version}/include/linux/autoconf-smp.h else install include/linux/autoconf.h $KERNEL_INSTALL_DIR/usr/src/linux-%{version}/include/linux/autoconf-up.h fi } BuildKernel() { %{?_debug:set -x} echo "Building kernel $1 ..." %{__make} $Opts mrproper \ RCS_FIND_IGNORE='-name build-done -prune -o' ln -sf arch/%{_target_base_arch}/defconfig .config %ifarch sparc sparc32 %{__make} $Opts clean \ RCS_FIND_IGNORE='-name build-done -prune -o' %else %{__make} $Opts clean \ RCS_FIND_IGNORE='-name build-done -prune -o' %endif %{__make} $Opts include/linux/version.h \ %{?with_verbose:V=1} # make does vmlinux, modules and bzImage at once %ifarch sparc sparc64 %ifarch sparc64 %{__make} $Opts image \ %{?with_verbose:V=1} %{__make} $Opts modules \ %{?with_verbose:V=1} %else sparc32 %{__make} $Opts \ %{?with_verbose:V=1} %endif %else %{__make} $Opts \ %{?with_verbose:V=1} %endif } PreInstallKernel (){ BOOT= smp= [ "$1" = "BOOT" -o "$2" = "BOOT" ] && BOOT=yes [ "$1" = "smp" -o "$2" = "smp" ] && smp=yes if [ "$smp" = "yes" ]; then Config="%{_target_base_arch}-smp" else Config="%{_target_base_arch}" fi if [ "$BOOT" = "yes" ]; then KernelVer=%{version}-%{release}BOOT else KernelVer=%{version}-%{release}$1 fi mkdir -p $KERNEL_INSTALL_DIR/boot install System.map $KERNEL_INSTALL_DIR/boot/System.map-$KernelVer %ifarch %{ix86} %{x8664} install arch/%{_target_base_arch}/boot/bzImage $KERNEL_INSTALL_DIR/boot/vmlinuz-$KernelVer %endif %ifarch alpha sparc sparc64 gzip -cfv vmlinux > vmlinuz install vmlinux $KERNEL_INSTALL_DIR/boot/vmlinux-$KernelVer install vmlinuz $KERNEL_INSTALL_DIR/boot/vmlinuz-$KernelVer %ifarch sparc elftoaout arch/sparc/boot/image -o vmlinux.aout install vmlinux.aout $KERNEL_INSTALL_DIR/boot/vmlinux.aout-$KernelVer %endif %ifarch sparc64 elftoaout arch/sparc64/boot/image -o vmlinux.aout install vmlinux.aout $KERNEL_INSTALL_DIR/boot/vmlinux.aout-$KernelVer %endif %endif %ifarch ppc install vmlinux $KERNEL_INSTALL_DIR/boot/vmlinux-$KernelVer install vmlinux $KERNEL_INSTALL_DIR/boot/vmlinuz-$KernelVer %endif %ifarch ia64 gzip -cfv vmlinux > vmlinuz install -d $KERNEL_INSTALL_DIR/boot/efi #? install vmlinux $KERNEL_INSTALL_DIR/boot/efi/vmlinux-$KernelVer install vmlinuz $KERNEL_INSTALL_DIR/boot/efi/vmlinuz-$KernelVer ln -sf efi/vmlinuz-$KernelVer $KERNEL_INSTALL_DIR/boot/vmlinuz-$KernelVer %endif %{__make} $Opts modules_install \ %{?with_verbose:V=1} \ INSTALL_MOD_PATH=$KERNEL_INSTALL_DIR \ KERNELRELEASE=$KernelVer echo "CHECKING DEPENDENCIES FOR KERNEL MODULES" /sbin/depmod --basedir $KERNEL_INSTALL_DIR -ae -F $KERNEL_INSTALL_DIR/boot/System.map-$KernelVer -r $KernelVer || echo echo "KERNEL RELEASE $KernelVer DONE" } KERNEL_BUILD_DIR=`pwd` %if %{with up} # UP KERNEL KERNEL_INSTALL_DIR="$KERNEL_BUILD_DIR/build-done/kernel-UP" rm -rf $KERNEL_INSTALL_DIR BuildConfig BuildKernel PreInstallKernel %endif %if %{with smp} # SMP KERNEL KERNEL_INSTALL_DIR="$KERNEL_BUILD_DIR/build-done/kernel-SMP" rm -rf $KERNEL_INSTALL_DIR BuildConfig smp BuildKernel smp PreInstallKernel smp %endif %if %{with BOOT} KERNEL_INSTALL_DIR="$KERNEL_BUILD_DIR/build-done/BOOT" rm -rf $KERNEL_INSTALL_DIR ConfigBOOT BuildKernel BOOT PreInstallKernel BOOT %endif %install rm -rf $RPM_BUILD_ROOT umask 022 %if "%{_target_base_arch}" != "%{_arch}" Opts="ARCH=%{_target_base_arch} CROSS_COMPILE=\"%{_target_cpu}-pld-linux-\" OURCC=\"gcc\"" %else %ifarch %{ix86} alpha sparc ppc Opts="OURCC=\"%{__cc}\"" %endif %ifarch sparc64 Opts="OURCC=\"sparc64-pld-linux-gcc\"" %endif %endif sed -i -e 's#CC.*$(CROSS_COMPILE)$(OURCC)#CC = $(CROSS_COMPILE)gcc#g' Makefile install -d $RPM_BUILD_ROOT%{_prefix}/src/linux-%{version} install -d $RPM_BUILD_ROOT/lib/modules/%{version}-%{release}{,smp}/misc install %{SOURCE40} FAQ-pl KERNEL_BUILD_DIR=`pwd` %if %{with up} || %{with smp} cp -a $KERNEL_BUILD_DIR/build-done/kernel-*/* $RPM_BUILD_ROOT %endif for i in "" smp ; do if [ -e $RPM_BUILD_ROOT/lib/modules/%{version}-%{release}$i ] ; then rm -f $RPM_BUILD_ROOT/lib/modules/%{version}-%{release}$i/build ln -sf %{_prefix}/src/linux-%{version} \ $RPM_BUILD_ROOT/lib/modules/%{version}-%{release}$i/build fi done ln -sf linux-%{version} $RPM_BUILD_ROOT%{_prefix}/src/linux find . -maxdepth 1 ! -name "build-done" ! -name "." -exec cp -a "{}" "$RPM_BUILD_ROOT/usr/src/linux-%{version}/" ";" cd $RPM_BUILD_ROOT%{_prefix}/src/linux-%{version} %{__make} $Opts mrproper \ RCS_FIND_IGNORE='-name build-done -prune -o' find -name "*~" -exec rm -f "{}" ";" find -name "*.orig" -exec rm -f "{}" ";" if [ -e $KERNEL_BUILD_DIR/build-done/kernel-UP/usr/src/linux-%{version}/include/linux/autoconf-up.h ]; then install $KERNEL_BUILD_DIR/build-done/kernel-UP/usr/src/linux-%{version}/include/linux/autoconf-up.h \ $RPM_BUILD_ROOT/usr/src/linux-%{version}/include/linux install $KERNEL_BUILD_DIR/build-done/kernel-UP/usr/src/linux-%{version}/config-up \ $RPM_BUILD_ROOT/usr/src/linux-%{version}/include/linux fi if [ -e $KERNEL_BUILD_DIR/build-done/kernel-SMP/usr/src/linux-%{version}/include/linux/autoconf-smp.h ]; then install $KERNEL_BUILD_DIR/build-done/kernel-SMP/usr/src/linux-%{version}/include/linux/autoconf-smp.h \ $RPM_BUILD_ROOT/usr/src/linux-%{version}/include/linux install $KERNEL_BUILD_DIR/build-done/kernel-SMP/usr/src/linux-%{version}/config-smp \ $RPM_BUILD_ROOT/usr/src/linux-%{version}/include/linux fi %if %{with up} || %{with smp} # UP or SMP install $KERNEL_BUILD_DIR/build-done/kernel-*/usr/src/linux-%{version}/include/linux/* \ $RPM_BUILD_ROOT/usr/src/linux-%{version}/include/linux %endif %{__make} $Opts mrproper %{__make} $Opts include/linux/version.h install %{SOURCE1} $RPM_BUILD_ROOT%{_prefix}/src/linux-%{version}/include/linux/autoconf.h %clean rm -rf $RPM_BUILD_ROOT %preun rm -f /lib/modules/%{version}-%{release}/modules.* %pre . /etc/rc.d/init.d/functions [ -f /etc/sysconfig/system ] && . /etc/sysconfig/system if is_yes "${MOUNT_BOOT_ON_INSTALL:-no}"; then mount /boot >/dev/null 2>&1 || : mount /boot -o remount,rw >/dev/null 2>&1 || : fi %post %ifarch ia64 mv -f /boot/efi/vmlinuz /boot/efi/vmlinuz.old 2> /dev/null > /dev/null %endif mv -f /boot/vmlinuz /boot/vmlinuz.old 2> /dev/null > /dev/null mv -f /boot/System.map /boot/System.map.old 2> /dev/null > /dev/null %ifarch ia64 ln -sf vmlinuz-%{version}-%{release} /boot/efi/vmlinuz %endif ln -sf vmlinuz-%{version}-%{release} /boot/vmlinuz ln -sf System.map-%{version}-%{release} /boot/System.map if [ ! -L /lib/modules/%{version} ] ; then mv -f /lib/modules/%{version} /lib/modules/%{version}.rpmsave > /dev/null 2>&1 fi rm -f /lib/modules/%{version} ln -snf %{version}-%{release} /lib/modules/%{version} %depmod %{version}-%{release} /sbin/geninitrd -f --initrdfs=rom %{initrd_dir}/initrd-%{version}-%{release}.gz %{version}-%{release} mv -f %{initrd_dir}/initrd %{initrd_dir}/initrd.old ln -sf initrd-%{version}-%{release}.gz %{initrd_dir}/initrd if [ -x /sbin/rc-boot ] ; then /sbin/rc-boot 1>&2 || : fi %postun if [ -L /lib/modules/%{version} ]; then if [ "`ls -l /lib/modules/%{version} | awk '{ print $10 }'`" = "%{version}-%{release}" ]; then if [ "$1" = "0" ]; then rm -f /lib/modules/%{version} fi fi fi rm -f %{initrd_dir}/initrd-%{version}-%{release}.gz %post drm %depmod %{version}-%{release} %postun drm %depmod %{version}-%{release} %post pcmcia %depmod %{version}-%{release} %postun pcmcia %depmod %{version}-%{release} %post sound-alsa %depmod %{version}-%{release} %postun sound-alsa %depmod %{version}-%{release} %post sound-oss %depmod %{version}-%{release} %postun sound-oss %depmod %{version}-%{release} %preun smp rm -f /lib/modules/%{version}-%{release}smp/modules.* %post smp %ifarch ia64 mv -f /boot/efi/vmlinuz /boot/efi/vmlinuz.old 2> /dev/null > /dev/null %endif mv -f /boot/vmlinuz /boot/vmlinuz.old 2> /dev/null > /dev/null mv -f /boot/System.map /boot/System.map.old 2> /dev/null > /dev/null %ifarch ia64 ln -sf vmlinuz-%{version}-%{release}smp /boot/efi/vmlinuz %endif ln -sf vmlinuz-%{version}-%{release}smp /boot/vmlinuz ln -sf System.map-%{version}-%{release}smp /boot/System.map if [ ! -L /lib/modules/%{version} ] ; then mv -f /lib/modules/%{version} /lib/modules/%{version}.rpmsave > /dev/null 2>&1 fi rm -f /lib/modules/%{version} ln -snf %{version}-%{release}smp /lib/modules/%{version} %depmod %{version}-%{release}smp /sbin/geninitrd -f --initrdfs=rom %{initrd_dir}/initrd-%{version}-%{release}smp.gz %{version}-%{release}smp mv -f %{initrd_dir}/initrd %{initrd_dir}/initrd.old ln -sf initrd-%{version}-%{release}smp.gz %{initrd_dir}/initrd if [ -x /sbin/rc-boot ] ; then /sbin/rc-boot 1>&2 || : fi %postun smp if [ -L /lib/modules/%{version} ]; then if [ "`ls -l /lib/modules/%{version} | awk '{ print $10 }'`" = "%{version}-%{release}smp" ]; then if [ "$1" = "0" ]; then rm -f /lib/modules/%{version} fi fi fi rm -f %{initrd_dir}/initrd-%{version}-%{release}smp.gz %post BOOT if [ ! -L %{_libdir}/bootdisk/lib/modules/%{version} ] ; then mv -f %{_libdir}/bootdisk/lib/modules/%{version} %{_libdir}/bootdisk/lib/modules/%{version}.rpmsave fi if [ ! -L %{_libdir}/bootdisk/boot/vmlinuz-%{version} ] ; then mv -f %{_libdir}/bootdisk/boot/vmlinuz-%{version} %{_libdir}/bootdisk/boot/vmlinuz-%{version}.rpmsave fi rm -f %{_libdir}/bootdisk/lib/modules/%{version} ln -snf %{version}-%{release}BOOT %{_libdir}/bootdisk/lib/modules/%{version} rm -f %{_libdir}/bootdisk/boot/vmlinuz-%{version} ln -snf vmlinuz-%{version}-%{release}BOOT %{_libdir}/bootdisk/boot/vmlinuz-%{version} %post smp-drm %depmod %{version}-%{release}smp %postun smp-drm %depmod %{version}-%{release}smp %post smp-pcmcia %depmod %{version}-%{release}smp %postun smp-pcmcia %depmod %{version}-%{release}smp %post smp-sound-alsa %depmod %{version}-%{release}smp %postun smp-sound-alsa %depmod %{version}-%{release}smp %post smp-sound-oss %depmod %{version}-%{release}smp %postun smp-sound-oss %depmod %{version}-%{release}smp %postun BOOT if [ -L %{_libdir}/bootdisk/lib/modules/%{version} ]; then if [ "`ls -l %{_libdir}/bootdisk/lib/modules/%{version} | awk '{ print $10 }'`" = "%{version}-%{release}BOOT" ]; then if [ "$1" = "0" ]; then rm -f %{_libdir}/bootdisk/lib/modules/%{version} fi fi fi %post headers rm -f /usr/src/linux ln -snf linux-%{version} /usr/src/linux %postun headers if [ -L %{_prefix}/src/linux ]; then if [ "`ls -l %{_prefix}/src/linux | awk '{ print $10 }'`" = "linux-%{version}" ]; then if [ "$1" = "0" ]; then rm -f %{_prefix}/src/linux fi fi fi %if %{with up} %files %defattr(644,root,root,755) %doc FAQ-pl %ifarch alpha ppc /boot/vmlinux-%{version}-%{release} %endif %ifarch sparc sparc64 /boot/vmlinux-%{version}-%{release} /boot/vmlinux.aout-%{version}-%{release} %endif %ifarch ia64 /boot/efi/vmlinuz-%{version}-%{release} %endif /boot/vmlinuz-%{version}-%{release} /boot/System.map-%{version}-%{release} %dir /lib/modules/%{version}-%{release} /lib/modules/%{version}-%{release}/kernel %dir /lib/modules/%{version}-%{release}/misc %ifnarch sparc sparc64 #pcmcia stuff %exclude /lib/modules/%{version}-%{release}/kernel/drivers/pcmcia %exclude /lib/modules/%{version}-%{release}/kernel/drivers/*/pcmcia %exclude /lib/modules/%{version}-%{release}/kernel/drivers/bluetooth/*_cs.ko* %exclude /lib/modules/%{version}-%{release}/kernel/drivers/net/wireless/*_cs.ko* %exclude /lib/modules/%{version}-%{release}/kernel/drivers/parport/parport_cs.ko* %exclude /lib/modules/%{version}-%{release}/kernel/drivers/serial/serial_cs.ko* %endif %ifnarch sparc sparc64 #drm stuff %exclude /lib/modules/%{version}-%{release}/kernel/drivers/char/drm %endif %ifnarch sparc sparc64 #oss sound stuff %exclude /lib/modules/%{version}-%{release}/kernel/sound/oss %endif #alsa sound stuff %exclude /lib/modules/%{version}-%{release}/kernel/sound/core %exclude /lib/modules/%{version}-%{release}/kernel/sound/drivers %ifnarch sparc sparc64 %exclude /lib/modules/%{version}-%{release}/kernel/sound/i2c %exclude /lib/modules/%{version}-%{release}/kernel/sound/isa %exclude /lib/modules/%{version}-%{release}/kernel/sound/pci %exclude /lib/modules/%{version}-%{release}/kernel/sound/synth %exclude /lib/modules/%{version}-%{release}/kernel/sound/usb %endif %ifarch sparc sparc64 %exclude /lib/modules/%{version}-%{release}/kernel/sound/sparc %endif /lib/modules/%{version}-%{release}/build %ghost /lib/modules/%{version}-%{release}/modules.* %ifnarch sparc sparc64 %files drm %defattr(644,root,root,755) /lib/modules/%{version}-%{release}/kernel/drivers/char/drm %endif %ifnarch sparc sparc64 %files pcmcia %defattr(644,root,root,755) /lib/modules/%{version}-%{release}/kernel/drivers/pcmcia /lib/modules/%{version}-%{release}/kernel/drivers/*/pcmcia /lib/modules/%{version}-%{release}/kernel/drivers/bluetooth/*_cs.ko* /lib/modules/%{version}-%{release}/kernel/drivers/net/wireless/*_cs.ko* /lib/modules/%{version}-%{release}/kernel/drivers/parport/parport_cs.ko* /lib/modules/%{version}-%{release}/kernel/drivers/serial/serial_cs.ko* %endif %files sound-alsa %defattr(644,root,root,755) /lib/modules/%{version}-%{release}/kernel/sound/core /lib/modules/%{version}-%{release}/kernel/sound/drivers %ifnarch sparc sparc64 /lib/modules/%{version}-%{release}/kernel/sound/i2c /lib/modules/%{version}-%{release}/kernel/sound/isa /lib/modules/%{version}-%{release}/kernel/sound/pci /lib/modules/%{version}-%{release}/kernel/sound/synth /lib/modules/%{version}-%{release}/kernel/sound/usb %endif %ifarch sparc sparc64 /lib/modules/%{version}-%{release}/kernel/sound/sparc %endif %ifnarch sparc sparc64 %files sound-oss %defattr(644,root,root,755) /lib/modules/%{version}-%{release}/kernel/sound/oss %endif %endif # %%{with up} %if %{with smp} %files smp %defattr(644,root,root,755) %doc FAQ-pl %ifarch alpha sparc sparc64 ppc /boot/vmlinux-%{version}-%{release}smp %endif %ifarch ia64 /boot/efi/vmlinuz-%{version}-%{release}smp %endif /boot/vmlinuz-%{version}-%{release}smp /boot/System.map-%{version}-%{release}smp %dir /lib/modules/%{version}-%{release}smp /lib/modules/%{version}-%{release}smp/kernel %dir /lib/modules/%{version}-%{release}smp/misc %ifnarch sparc sparc64 #pcmcia stuff %exclude /lib/modules/%{version}-%{release}smp/kernel/drivers/pcmcia %exclude /lib/modules/%{version}-%{release}smp/kernel/drivers/*/pcmcia %exclude /lib/modules/%{version}-%{release}smp/kernel/drivers/bluetooth/*_cs.ko* %exclude /lib/modules/%{version}-%{release}smp/kernel/drivers/net/wireless/*_cs.ko* %exclude /lib/modules/%{version}-%{release}smp/kernel/drivers/parport/parport_cs.ko* %exclude /lib/modules/%{version}-%{release}smp/kernel/drivers/serial/serial_cs.ko* %endif %ifnarch sparc sparc64 #drm stuff %exclude /lib/modules/%{version}-%{release}smp/kernel/drivers/char/drm %endif %ifnarch sparc sparc64 #oss sound stuff %exclude /lib/modules/%{version}-%{release}smp/kernel/sound/oss %endif #alsa sound stuff %exclude /lib/modules/%{version}-%{release}smp/kernel/sound/core %exclude /lib/modules/%{version}-%{release}smp/kernel/sound/drivers %ifnarch sparc sparc64 %exclude /lib/modules/%{version}-%{release}smp/kernel/sound/i2c %exclude /lib/modules/%{version}-%{release}smp/kernel/sound/isa %exclude /lib/modules/%{version}-%{release}smp/kernel/sound/pci %exclude /lib/modules/%{version}-%{release}smp/kernel/sound/synth %exclude /lib/modules/%{version}-%{release}smp/kernel/sound/usb %endif %ifarch sparc sparc64 %exclude /lib/modules/%{version}-%{release}smp/kernel/sound/sparc %endif /lib/modules/%{version}-%{release}smp/build %ghost /lib/modules/%{version}-%{release}smp/modules.* %ifnarch sparc sparc64 %files smp-drm %defattr(644,root,root,755) /lib/modules/%{version}-%{release}smp/kernel/drivers/char/drm %endif %ifnarch sparc sparc64 %files smp-pcmcia %defattr(644,root,root,755) /lib/modules/%{version}-%{release}smp/kernel/drivers/pcmcia /lib/modules/%{version}-%{release}smp/kernel/drivers/*/pcmcia /lib/modules/%{version}-%{release}smp/kernel/drivers/bluetooth/*_cs.ko* /lib/modules/%{version}-%{release}smp/kernel/drivers/net/wireless/*_cs.ko* /lib/modules/%{version}-%{release}smp/kernel/drivers/parport/parport_cs.ko* /lib/modules/%{version}-%{release}smp/kernel/drivers/serial/serial_cs.ko* %endif %files smp-sound-alsa %defattr(644,root,root,755) /lib/modules/%{version}-%{release}smp/kernel/sound/core /lib/modules/%{version}-%{release}smp/kernel/sound/drivers %ifnarch sparc sparc64 /lib/modules/%{version}-%{release}smp/kernel/sound/i2c /lib/modules/%{version}-%{release}smp/kernel/sound/isa /lib/modules/%{version}-%{release}smp/kernel/sound/pci /lib/modules/%{version}-%{release}smp/kernel/sound/synth /lib/modules/%{version}-%{release}smp/kernel/sound/usb %endif %ifarch sparc sparc64 /lib/modules/%{version}-%{release}smp/kernel/sound/sparc %endif %ifnarch sparc sparc64 %files smp-sound-oss %defattr(644,root,root,755) /lib/modules/%{version}-%{release}smp/kernel/sound/oss %endif %endif # %%{with smp} %if %{with BOOT} %files BOOT %defattr(644,root,root,755) %ifarch alpha sparc sparc64 ppc # arch %{_libdir}/bootdisk/boot/vmlinux-%{version}-%{release}BOOT %endif #arch %{_libdir}/bootdisk/boot/vmlinuz-%{version}-%{release}BOOT %{_libdir}/bootdisk/boot/System.map-%{version}-%{release}BOOT %dir %{_libdir}/bootdisk/lib/modules/%{version}-%{release}BOOT %{_libdir}/bootdisk/lib/modules/%{version}-%{release}BOOT/kernel %{_libdir}/bootdisk/lib/modules/%{version}-%{release}BOOT/build %ghost %{_libdir}/bootdisk/lib/modules/%{version}-%{release}BOOT/modules.* %endif # %%{with BOOT} %files headers %defattr(644,root,root,755) %dir %{_prefix}/src/linux-%{version} %{_prefix}/src/linux-%{version}/include %{?with_smp:%{_prefix}/src/linux-%{version}/config-smp} %{?with_up:%{_prefix}/src/linux-%{version}/config-up} %files module-build %defattr(644,root,root,755) %{_prefix}/src/linux-%{version}/Makefile %dir %{_prefix}/src/linux-%{version}/arch %dir %{_prefix}/src/linux-%{version}/arch/* %{_prefix}/src/linux-%{version}/arch/*/Makefile* %dir %{_prefix}/src/linux-%{version}/arch/*/kernel %{_prefix}/src/linux-%{version}/arch/*/kernel/Makefile %{_prefix}/src/linux-%{version}/arch/*/kernel/asm-offsets.* %{_prefix}/src/linux-%{version}/arch/*/kernel/sigframe.h %dir %{_prefix}/src/linux-%{version}/scripts %{_prefix}/src/linux-%{version}/scripts/Makefile* %{_prefix}/src/linux-%{version}/scripts/basic %{_prefix}/src/linux-%{version}/scripts/mod %{_prefix}/src/linux-%{version}/scripts/*.c %{_prefix}/src/linux-%{version}/scripts/*.sh %files doc %defattr(644,root,root,755) %{_prefix}/src/linux-%{version}/Documentation #%%{_prefix}/src/linux-%{version}/netfilter-patch-o-matic %if %{with source} %files source %defattr(644,root,root,755) %{_prefix}/src/linux-%{version}/arch/*/[!Mk]* %{_prefix}/src/linux-%{version}/arch/*/kernel/[!M]* %exclude %{_prefix}/src/linux-%{version}/arch/*/kernel/asm-offsets.* %exclude %{_prefix}/src/linux-%{version}/arch/*/kernel/sigframe.h %{_prefix}/src/linux-%{version}/cluster %{_prefix}/src/linux-%{version}/crypto %{_prefix}/src/linux-%{version}/drivers %{_prefix}/src/linux-%{version}/fs %if %{with grsec} %{_prefix}/src/linux-%{version}/grsecurity %endif %{_prefix}/src/linux-%{version}/init %{_prefix}/src/linux-%{version}/ipc %{_prefix}/src/linux-%{version}/kernel %{_prefix}/src/linux-%{version}/lib %{_prefix}/src/linux-%{version}/mm %{_prefix}/src/linux-%{version}/net %{_prefix}/src/linux-%{version}/scripts/* %exclude %{_prefix}/src/linux-%{version}/scripts/Makefile* %exclude %{_prefix}/src/linux-%{version}/scripts/basic %exclude %{_prefix}/src/linux-%{version}/scripts/mod %exclude %{_prefix}/src/linux-%{version}/scripts/*.c %exclude %{_prefix}/src/linux-%{version}/scripts/*.sh %{_prefix}/src/linux-%{version}/sound %{_prefix}/src/linux-%{version}/security %{_prefix}/src/linux-%{version}/usr %{_prefix}/src/linux-%{version}/COPYING %{_prefix}/src/linux-%{version}/CREDITS %{_prefix}/src/linux-%{version}/MAINTAINERS %{_prefix}/src/linux-%{version}/README %{_prefix}/src/linux-%{version}/REPORTING-BUGS %endif