%bcond_with verbose # verbose build (V=1)
%bcond_with reiser4 # support for reiser4 fs (experimental)
-%bcond_without grsecurity # don't build grsecurity nor pax at all
+%bcond_with grsecurity # don't build grsecurity nor pax at all
%bcond_with pax # build pax and grsecurity (ie. grsecurity && pax)
%bcond_with fbcondecor # build fbcondecor (disable FB_TILEBLITTING and affected fb modules)
-%bcond_with pae # build PAE (HIGHMEM64G) support on uniprocessor
+%bcond_without pae # build PAE (HIGHMEM64G) support on 32bit i686 athlon pentium3 pentium4
%bcond_with nfsroot # build with root on NFS support
%bcond_without imq # imq support
-%bcond_without wrr # wrr support
%bcond_without esfq # esfq support
%bcond_without ipv6 # ipv6 support
%bcond_without vserver # support for VServer (enabled by default)
-%bcond_with tuxonice # support for tuxonice (ex-suspend2) (enabled by default)
%bcond_with vanilla # don't include any patches
%bcond_with rescuecd # build kernel for our rescue
%define have_pcmcia 1
%if %{with rescuecd}
-%unglobal with_tuxonice
%unglobal with_grsecurity
%unglobal with_pax
%unglobal with_vserver
%define have_pcmcia 0
%endif
-%define basever 3.0
-%define postver .3
-%define rel 0.2
+%define rel 1
+%define basever 3.3
+%define postver .5
-%define _enable_debug_packages 0
+# __alt_kernel is list of features, empty string if none set
+# _alt kernel is defined as: %{nil}%{?alt_kernel:-%{?alt_kernel}} (defined in rpm.macros)
+# alt_kernel should be defined if __alt_kernel has non-empty value (for %{?alt_kernel:foo} constructs)
+%define __alt_kernel %{?with_pax:pax}%{?with_grsecurity:grsecurity}
-%define tuxonice_version 3.2
-
-%define module_init_tools_ver 3.16
+%if "%{__alt_kernel}" != ""
+%define alt_kernel %{__alt_kernel}
+%endif
-%if %{with myown}
-%if "%{_alt_kernel}" == ""
+# these override whatever name was picked from bconds
+%if %{with myown} && "%{_alt_kernel}" == ""
%define alt_kernel myown
%endif
-%else # not myown:
-%if %{with vanilla}
-%define alt_kernel vanilla
-%else # not vanilla:
%if %{with rescuecd}
%define alt_kernel rescuecd
-%else # not rescuecd:
-%define __alt_kernel %{?with_pax:pax}%{!?with_grsecurity:nogrsecurity}%{?with_pae:pae}
-%if "%{__alt_kernel}" != ""
-%define alt_kernel %{__alt_kernel}
%endif
-%endif # not rescuecd
-%endif # not vanilla
-%endif # not myown
+%if %{with vanilla}
+%define alt_kernel vanilla
+%endif
# kernel release (used in filesystem and eventually in uname -r)
# modules will be looked from /lib/modules/%{kernel_release}
# localversion is just that without version for "> localversion"
%define localversion %{rel}
-%define kernel_release %{version}%{?alt_kernel:_%{alt_kernel}}-%{localversion}
+%define kernel_release %{version}%{?alt_kernel:.%{alt_kernel}}-%{localversion}
Summary: The Linux kernel (the core of the Linux operating system)
Summary(de.UTF-8): Der Linux-Kernel (Kern des Linux-Betriebssystems)
Epoch: 3
License: GPL v2
Group: Base/Kernel
-Source0: http://www.kernel.org/pub/linux/kernel/v3.0/linux-%{basever}.tar.bz2
-# Source0-md5: 398e95866794def22b12dfbc15ce89c0
+Source0: http://www.kernel.org/pub/linux/kernel/v3.x/linux-%{basever}.tar.xz
+# Source0-md5: 7133f5a2086a7d7ef97abac610c094f5
%if "%{postver}" != ".0"
-Source1: http://www.kernel.org/pub/linux/kernel/v3.0/patch-%{version}.bz2
-# Source1-md5: 1757786b9a9ffbd48ad9642199ff5bd7
+Patch0: http://www.kernel.org/pub/linux/kernel/v3.x/patch-%{version}.bz2
+# Patch0-md5: c44a49dcdaad9ba5385694859c4a9fea
%endif
Source3: kernel-autoconf.h
Source25: kernel-ia64.config
Source41: kernel-patches.config
-Source42: kernel-tuxonice.config
Source43: kernel-vserver.config
Source45: kernel-grsec.config
Source50: kernel-no-pax.config
Source55: kernel-imq.config
Source56: kernel-reiser4.config
-Source57: kernel-wrr.config
Source58: kernel-inittmpfs.config
Patch22: kernel-pom-ng-rsh.patch
Patch23: kernel-pom-ng-rpc.patch
-# based on http://mike.it-loops.com/rtsp/rtsp-2.6.26.patch
-Patch36: kernel-nf_rtsp.patch
-
# http://ftp.linux-vserver.org/pub/people/dhozac/p/k/delta-owner-xid-feat02.diff
Patch37: kernel-owner-xid.patch
# http://zph.bratcheda.org/linux-2.6.26.3-zph.patch
Patch49: kernel-zph.patch
-# based on http://www.linuximq.net/patchs/linux-2.6.39-imq-multiqueue-test1.diff.bz2
+# based on http://www.linuximq.net/patchs/patch-imqmq-3.1.diff.bz2
Patch50: kernel-imq.patch
# http://www.kernel.org/pub/linux/kernel/people/edward/reiser4/reiser4-for-2.6/reiser4-for-2.6.35.patch.bz2
Patch51: kernel-reiser4.patch
-# http://www.zz9.dk/patches/wrr-linux-071203-2.6.25.patch.gz
-Patch52: kernel-wrr.patch
-
# http://fatooh.org/esfq-2.6/sfq-2.6.24.1.tar.bz2
Patch53: kernel-esfq.patch
-# http://memebeam.org/free-software/toshiba_acpi/toshiba_acpi-dev_toshiba_test5-linux_2.6.26.patch
-Patch54: kernel-toshiba_acpi.patch
-
# by Baggins request:
# derived from ftp://ftp.cmf.nrl.navy.mil/pub/chas/linux-atm/vbr/vbr-kernel-diffs
Patch55: kernel-atm-vbr.patch
# http://synce.svn.sourceforge.net/svnroot/synce/trunk/patches/linux-2.6.22-rndis_host-wm5.patch
Patch59: kernel-rndis_host-wm5.patch
-# Project suspend2 renamed to tuxonice
-# http://tuxonice.net/files/current-tuxonice-for-2.6.37.patch_0.bz2
-# NOTE: currently using own diff from tuxonice git tree until official patch is released
-# git://git.kernel.org/pub/scm/linux/kernel/git/nigelc/tuxonice-head.git
-# git://git.kernel.org/pub/scm/linux/kernel/git/nigelc/tuxonice-<basever>.git
-# To produce patch: git diff upstream/master...tuxonice/combined
-Patch69: kernel-tuxonice.patch
-Patch70: kernel-tuxonice-headers.patch
-
# adds some ids for hostap suported cards and monitor_enable from/for aircrack-ng
# http://patches.aircrack-ng.org/hostap-kernel-2.6.18.patch
Patch85: kernel-hostap.patch
-# http://vserver.13thfloor.at/Experimental/patch-3.0.1-vs2.3.1-pre9.diff
+# http://vserver.13thfloor.at/Experimental/patch-3.3.1-vs2.3.3.2.diff
Patch100: kernel-vserver-2.3.patch
Patch101: kernel-vserver-fixes.patch
-# Wake-On-Lan fix for nForce drivers; using http://atlas.et.tudelft.nl/verwei90/nforce2/wol.html
-# Fix verified for that kernel version.
-Patch130: kernel-forcedeth-WON.patch
-
-# http://download.filesystems.org/unionfs/unionfs-2.x/unionfs-2.5.8_for_2.6.38-rc7.diff.gz
+# http://download.filesystems.org/unionfs/unionfs-2.x/unionfs-2.5.11_for_3.2.2.diff.gz
Patch140: kernel-unionfs.patch
# git://aufs.git.sourceforge.net/gitroot/aufs/aufs3-standalone.git, read README
# Patch creation:
# git clone git://aufs.git.sourceforge.net/gitroot/aufs/aufs3-standalone.git
# cd aufs3-standalone
-# git checkout -b aufs3.0 origin/aufs3.0
+# git checkout -b aufs3.2 origin/aufs3.2
# cat aufs3-kbuild.patch aufs3-base.patch aufs3-standalone.patch > ~/rpm/packages/kernel/kernel-aufs3.patch
# mkdir linux
# cp -a Documentation fs include linux
-# diff -urN /usr/share/empty linux >> ~/rpm/packages/kernel/kernel-aufs3.patch
+# diff -urN /usr/share/empty linux >> ~/rpm/packages/kernel/kernel-aufs3.patch
#
Patch145: kernel-aufs3.patch
Patch146: kernel-aufs2-unionfs.patch
# based on ftp://ftp.leg.uct.ac.za/pub/linux/rip/tmpfs_root-2.6.30.diff.gz
Patch7000: kernel-inittmpfs.patch
-# based on http://grsecurity.net/~spender/grsecurity-2.2.2-3.0.3-201108232250.patch
+# based on http://grsecurity.net/~spender/grsecurity-2.2.2-3.1.1-201111181902.patch
# NOTE: put raw upstream patches on kernel-grsec_full.patch:GRSECURITY_RAW for reference
# (since upstream deletes older patches)
+# NOTE: mirror of old grsecurity patches:
+# https://github.com/slashbeast/grsecurity-scrape/tree/master/test
Patch9999: kernel-grsec_full.patch
Patch10000: kernel-grsec-caps.patch
Patch10001: kernel-grsec-common.patch
BuildRequires: xz >= 1:4.999.7
AutoReqProv: no
BuildRequires: hostname
-BuildRequires: module-init-tools >= %{module_init_tools_ver}
+BuildRequires: virtual(module-tools)
BuildRequires: perl-base
BuildRequires: rpm-build >= 4.5-24
BuildRequires: rpmbuild(macros) >= 1.217
Requires(post): coreutils
Requires(post): geninitrd >= 10000-3
-Requires(post): module-init-tools >= %{module_init_tools_ver}
+Requires(post): virtual(module-tools)
Requires: /sbin/depmod
Requires: coreutils
Requires: geninitrd >= 10000-3
-Requires: module-init-tools >= %{module_init_tools_ver}
+Requires: virtual(module-tools)
+%if %{with pae}
+%ifarch i686 athlon pentium3 pentium4
+Requires: cpuinfo(pae)
+%endif
+%endif
+Suggests: dracut
Suggests: keyutils
+Suggests: linux-firmware
Provides: %{name}(netfilter) = 20070806
Provides: %{name}(vermagic) = %{kernel_release}
+Obsoletes: kernel%{_alt_kernel}-char-lirc-ene0100
+Obsoletes: kernel%{_alt_kernel}-char-lirc-it87
+Obsoletes: kernel%{_alt_kernel}-char-lirc-ite8709
+Obsoletes: kernel%{_alt_kernel}-char-lirc-mceusb
+Obsoletes: kernel%{_alt_kernel}-char-lirc-streamzap
Obsoletes: kernel%{_alt_kernel}-isdn-mISDN
Obsoletes: kernel-firmware
Obsoletes: kernel-misc-acer_acpi
Conflicts: isdn4k-utils < 3.1pre1
Conflicts: jfsutils < 1.1.3
Conflicts: lvm2 < 2.02.40
+Conflicts: module-init-tools < 3.16
Conflicts: nfs-utils < 1.0.5
Conflicts: oprofile < 0.9
Conflicts: ppp < 1:2.4.0
Conflicts: util-linux < 2.10o
Conflicts: util-vserver < 0.30.216
Conflicts: xfsprogs < 2.6.0
-%if %{with pae}
-ExcludeArch: i386 i486 i586
-%else
ExclusiveArch: %{ix86} %{x8664} alpha arm ia64 ppc ppc64 sparc sparc64
-%endif
ExclusiveOS: Linux
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
# No ELF objects there to strip (skips processing 27k files)
%define _noautostrip \\(.*%{_kernelsrcdir}/.*\\|.*/vmlinux.*\\)
%define _noautochrpath .*%{_kernelsrcdir}/.*
+%define _enable_debug_packages 0
%ifarch ia64
%define initrd_dir /boot/efi
Summary(pl.UTF-8): Pliki służące do budowania modułów jądra
Group: Development/Building
Requires: %{name}-headers = %{epoch}:%{version}-%{release}
-Conflicts: rpmbuild(macros) < 1.550
+Conflicts: rpmbuild(macros) < 1.642
AutoReqProv: no
%description module-build
# hack against warning in pax/grsec
sed -i 's/-Werror//' arch/alpha/kernel/Makefile
+
%if "%{postver}" != ".0"
-%{__bzip2} -dc %{SOURCE1} | patch -p1 -s
+%patch0 -p1
%endif
%if %{without vanilla}
-# tuxonice:
-%if %{with tuxonice}
-%patch69 -p1
-%patch70 -p1
-%endif
-
%if %{with fbcondecor}
%patch3 -p1
%endif
# kernel-pom-ng-rpc.patch
%patch23 -p1
-# kernel-nf_rtsp.patch
-%patch36 -p1
-
# kernel-owner-xid.patch
%if %{with vserver}
%patch37 -p1
%patch53 -p1
%endif
-%if %{with wrr}
-%patch52 -p1
-%endif
-
-# toshiba_acpi
-%patch54 -p1
-
%patch55 -p1
%patch56 -p1
%patch101 -p1
%endif
-# forcedeth
-%patch130 -p1
-
# aufs2
%if %{with reiser4}
%patch148 -p1
# grsecurity & pax stuff
#
-
%if %{with grsecurity}
+exit 0
%patch9999 -p1
# aufs needs this
%patch147 -p1
#%patch50000 -p1
# Fix EXTRAVERSION in main Makefile
-sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{?alt_kernel:_%{alt_kernel}}#g' Makefile
+sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{?alt_kernel:.%{alt_kernel}}#g' Makefile
# cleanup backups after patching
find '(' -name '*~' -o -name '*.orig' -o -name '.gitignore' ')' -print0 | xargs -0 -r -l512 rm -f
%if %{with reiser4}
%{SOURCE56} \
%endif
-%if %{with wrr}
- %{SOURCE57} \
-%endif
%if %{with imq}
%{SOURCE55} \
%endif
%if %{with vserver}
%{SOURCE43} \
-%endif
-%if %{with tuxonice}
-%ifarch %{ix86} %{x8664} ia64 ppc ppc64
- %{SOURCE42} \
-%endif
%endif
%{SOURCE41} %{?0:patches} \
%endif
install -d $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{kernel_release}
# /usr/src/linux
-install -d $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated
+install -d $RPM_BUILD_ROOT%{_kernelsrcdir}
+
# test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
if cp -al %{srcdir}/COPYING $RPM_BUILD_ROOT/COPYING 2>/dev/null; then
l=l
fi
cp -a$l %{srcdir}/* $RPM_BUILD_ROOT%{_kernelsrcdir}
-cp -a %{objdir}/Module.symvers $RPM_BUILD_ROOT%{_kernelsrcdir}/Module.symvers-dist
-cp -aL %{objdir}/.config $RPM_BUILD_ROOT%{_kernelsrcdir}/config-dist
-cp -a %{objdir}/include/generated/autoconf.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated/autoconf-dist.h
-cp -a %{objdir}/include/generated/utsrelease.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated
-cp -a %{objdir}/include/linux/version.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux
-cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated/autoconf.h
-cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/config.h
+cp -a %{objdir}/Module.symvers $RPM_BUILD_ROOT%{_kernelsrcdir}
+cp -aL %{objdir}/.config $RPM_BUILD_ROOT%{_kernelsrcdir}
+cp -a %{objdir}/include $RPM_BUILD_ROOT%{_kernelsrcdir}
+# copy arch/x86/include/generated
+for dir in $(cd %{objdir} && find arch -name generated -type d); do
+ cp -a %{objdir}/$dir $RPM_BUILD_ROOT%{_kernelsrcdir}/$dir
+ find $RPM_BUILD_ROOT%{_kernelsrcdir}/$dir -name '.*.cmd' -exec rm "{}" ";"
+done
+
+# disable this here, causes a lot of build-time problems and our rpm-build disables it anyway
+%{__sed} -i -e 's|\(CONSTIFY_PLUGIN.*:=.*\)|# \1|' $RPM_BUILD_ROOT%{_kernelsrcdir}/Makefile
# collect module-build files and directories
# Usage: kernel-module-build.pl $rpmdir $fileoutdir
%{__perl} %{topdir}/kernel-module-build.pl %{_kernelsrcdir} $fileoutdir
cd -
+for f in `find %{objdir}/scripts -type f -print | grep -v "/\.\|\.o$"` ; do
+ ff=${f##%{objdir}/}
+ if [ -x "$f" ]; then
+ echo "%attr(755,root,root) %{_kernelsrcdir}/$ff" >>files.mb_include_modulebuild_and_dirs
+ else
+ echo "%{_kernelsrcdir}/$ff" >>files.mb_include_modulebuild_and_dirs
+ fi
+ echo "%exclude %{_kernelsrcdir}/$ff" >>files.source_exclude_modulebuild_and_dirs
+ cp -a "$f" "$RPM_BUILD_ROOT%{_kernelsrcdir}/$ff"
+done
+
# move to %{_docdir} so we wouldn't depend on any kernel package for dirs
install -d $RPM_BUILD_ROOT%{_docdir}
mv $RPM_BUILD_ROOT{%{_kernelsrcdir}/Documentation,%{_docdir}/%{name}-%{version}}
%posttrans
# generate initrd after all dependant modules are installed
-/sbin/geninitrd -f --initrdfs=rom %{initrd_dir}/initrd-%{kernel_release}.gz %{kernel_release}
+/sbin/geninitrd -f --initrdfs=initramfs %{initrd_dir}/initrd-%{kernel_release}.gz %{kernel_release}
mv -f %{initrd_dir}/initrd{,.old} 2> /dev/null
%{?alt_kernel:mv -f %{initrd_dir}/initrd%{_alt_kernel}{,.old} 2> /dev/null}
ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd
%{?alt_kernel:ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd%{_alt_kernel}}
+# if dracut is present then generate full-featured initramfs
+if [ -x /sbin/dracut ]; then
+ /sbin/dracut --quiet /boot/initramfs-%{kernel_release}.img %{kernel_release}
+fi
+
# update boot loaders when old package files are gone from filesystem
if [ -x /sbin/update-grub -a -f /etc/sysconfig/grub ]; then
if [ "$(. /etc/sysconfig/grub; echo ${UPDATE_GRUB:-no})" = "yes" ]; then
%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
%exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
%exclude /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
-%exclude /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/serial_cs.ko*
+%exclude /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/8250/serial_cs.ko*
%exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
%endif
%if %{with myown}
/lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
/lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
/lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
-/lib/modules/%{kernel_release}/kernel/drivers/tty/serial/serial_cs.ko*
+/lib/modules/%{kernel_release}/kernel/drivers/tty/serial/8250/serial_cs.ko*
/lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
%endif
%dir %{_kernelsrcdir}/security
%dir %{_kernelsrcdir}/security/selinux
%{_kernelsrcdir}/security/selinux/include
-%{_kernelsrcdir}/config-dist
-%{_kernelsrcdir}/Module.symvers-dist
+%{_kernelsrcdir}/.config
+%{_kernelsrcdir}/Module.symvers
%files module-build -f files.mb_include_modulebuild_and_dirs
%defattr(644,root,root,755)
%{_kernelsrcdir}/arch/*/kernel/asm-offsets*
%{_kernelsrcdir}/arch/*/kernel/sigframe*.h
%{_kernelsrcdir}/drivers/lguest/lg.h
+%{_kernelsrcdir}/drivers/media/video/bt8xx/bttv.h
%{_kernelsrcdir}/kernel/bounds.c
-%dir %{_kernelsrcdir}/scripts
-%{_kernelsrcdir}/scripts/Kbuild.include
-%{_kernelsrcdir}/scripts/Makefile*
-%{_kernelsrcdir}/scripts/basic
-%{_kernelsrcdir}/scripts/kconfig
-%{_kernelsrcdir}/scripts/mkcompile_h
+%{_kernelsrcdir}/scripts/basic/*.c
+%attr(755,root,root) %{_kernelsrcdir}/scripts/kconfig/*.sh
+%{_kernelsrcdir}/scripts/kconfig/*.in
+%{_kernelsrcdir}/scripts/kconfig/*_shipped
+%{_kernelsrcdir}/scripts/kconfig/*.pl
+%{_kernelsrcdir}/scripts/kconfig/*.glade
+%{_kernelsrcdir}/scripts/kconfig/*.gperf
+%{_kernelsrcdir}/scripts/kconfig/*.cc
+%{_kernelsrcdir}/scripts/kconfig/*.y
+%{_kernelsrcdir}/scripts/kconfig/*.l
+%{_kernelsrcdir}/scripts/kconfig/[c-k]*.c
+%{_kernelsrcdir}/scripts/kconfig/[c-k]*.h
+%{_kernelsrcdir}/scripts/kconfig/l*.h
+%{_kernelsrcdir}/scripts/kconfig/[m-u]*.c
+%{_kernelsrcdir}/scripts/kconfig/[m-u]*.h
+%{_kernelsrcdir}/scripts/kconfig/lxdialog
+%{_kernelsrcdir}/scripts/mod/*.c
+%{_kernelsrcdir}/scripts/mod/[^e]*.h
+%attr(755,root,root) %{_kernelsrcdir}/scripts/mkcompile_h
%{_kernelsrcdir}/scripts/mkmakefile
-%{_kernelsrcdir}/scripts/mod
%{_kernelsrcdir}/scripts/module-common.lds
-%{_kernelsrcdir}/scripts/setlocalversion
+%attr(755,root,root) %{_kernelsrcdir}/scripts/setlocalversion
%{_kernelsrcdir}/scripts/*.c
-%{_kernelsrcdir}/scripts/*.sh
-%dir %{_kernelsrcdir}/scripts/selinux
-%{_kernelsrcdir}/scripts/selinux/Makefile
-%dir %{_kernelsrcdir}/scripts/selinux/genheaders
-%{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
+%attr(755,root,root) %{_kernelsrcdir}/scripts/*.sh
%{_kernelsrcdir}/scripts/selinux/genheaders/*.c
-%dir %{_kernelsrcdir}/scripts/selinux/mdp
-%{_kernelsrcdir}/scripts/selinux/mdp/Makefile
%{_kernelsrcdir}/scripts/selinux/mdp/*.c
%exclude %dir %{_kernelsrcdir}/security
%exclude %dir %{_kernelsrcdir}/security/selinux
+%if %{with grsecurity}
+%{_kernelsrcdir}/tools/gcc/*.c
+%endif
%if %{with doc}
%files doc
%exclude %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
%exclude %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
%exclude %{_kernelsrcdir}/drivers/lguest/lg.h
+%exclude %{_kernelsrcdir}/drivers/media/video/bt8xx/bttv.h
%{_kernelsrcdir}/block
%{_kernelsrcdir}/crypto
%{_kernelsrcdir}/drivers
%{_kernelsrcdir}/sound
%{_kernelsrcdir}/security
%exclude %{_kernelsrcdir}/security/selinux/include
-%{_kernelsrcdir}/tools
+%{_kernelsrcdir}/tools/*
+%if %{with grsecurity}
+%exclude %{_kernelsrcdir}/tools/gcc/*.c
+%endif
%{_kernelsrcdir}/usr
%{_kernelsrcdir}/COPYING
%{_kernelsrcdir}/CREDITS