2 %bcond_without source # don't build kernel-source package
3 %bcond_without doc # don't build kernel-doc package
4 %bcond_with verbose # verbose build (V=1)
10 %define alt_kernel 3.8-vanilla
12 # kernel release (used in filesystem and eventually in uname -r)
13 # modules will be looked from /lib/modules/%{kernel_release}
14 # localversion is just that without version for "> localversion"
15 %define localversion %{rel}
16 %define kernel_release %{version}%{?alt_kernel:.%{alt_kernel}}-%{localversion}
18 Summary: The Linux kernel (the core of the Linux operating system)
19 Summary(de.UTF-8): Der Linux-Kernel (Kern des Linux-Betriebssystems)
20 Summary(et.UTF-8): Linuxi kernel (ehk operatsioonisüsteemi tuum)
21 Summary(fr.UTF-8): Le Kernel-Linux (La partie centrale du systeme)
22 Summary(pl.UTF-8): Jądro Linuksa
23 Name: kernel%{_alt_kernel}
24 Version: %{basever}%{postver}
29 Source0: http://www.kernel.org/pub/linux/kernel/v3.x/linux-%{basever}.tar.xz
30 # Source0-md5: 1c738edfc54e7c65faeb90c436104e2f
31 %if "%{_postver}" != "%{nil}"
32 Source1: http://www.kernel.org/pub/linux/kernel/v3.x/patch-%{version}.bz2
33 # Source1-md5: 95224572ecb1f4c7089683c1f06ef2b4
36 Source2: kernel.sysconfig
37 Source3: kernel-module-build.pl
40 URL: http://www.kernel.org/
41 BuildRequires: binutils >= 3:2.18
42 BuildRequires: /sbin/depmod
43 BuildRequires: gcc >= 5:3.2
44 BuildRequires: xz >= 1:4.999.7
46 BuildRequires: hostname
48 BuildRequires: perl-base
49 BuildRequires: rpm-build >= 4.5-24
50 BuildRequires: rpmbuild(macros) >= 1.652
51 Requires(post): coreutils
52 Requires(post): geninitrd >= 12639-1
53 Requires(post): kmod >= 12-2
54 Requires: /sbin/depmod
56 Requires: geninitrd >= 12639-1
57 Requires: kmod >= 12-2
59 Requires: cpuinfo(pae)
64 Suggests: linux-firmware
65 Provides: %{name}(netfilter) = 20070806
66 Provides: %{name}(vermagic) = %{kernel_release}
67 Obsoletes: kernel%{_alt_kernel}-char-lirc-ene0100
68 Obsoletes: kernel%{_alt_kernel}-char-lirc-it87
69 Obsoletes: kernel%{_alt_kernel}-char-lirc-ite8709
70 Obsoletes: kernel%{_alt_kernel}-char-lirc-mceusb
71 Obsoletes: kernel%{_alt_kernel}-char-lirc-streamzap
72 Obsoletes: kernel%{_alt_kernel}-isdn-mISDN
73 Obsoletes: kernel-firmware
74 Obsoletes: kernel-misc-acer_acpi
75 Obsoletes: kernel-misc-fuse
76 Obsoletes: kernel-misc-uvc
77 Obsoletes: kernel-modules
78 Obsoletes: kernel-net-ar81
79 Obsoletes: kernel-net-hostap
80 Obsoletes: kernel-net-ieee80211
81 Obsoletes: kernel-net-ipp2p
82 Obsoletes: kernel-net-rt61
84 Conflicts: e2fsprogs < 1.29
85 Conflicts: isdn4k-utils < 3.1pre1
86 Conflicts: jfsutils < 1.1.3
87 Conflicts: linux-firmware < 20120720
88 Conflicts: lvm2 < 2.02.40
89 Conflicts: module-init-tools < 3.16
90 Conflicts: nfs-utils < 1.0.5
91 Conflicts: oprofile < 0.9
92 Conflicts: ppp < 1:2.4.0
93 Conflicts: procps < 3.2.0
94 Conflicts: quota-tools < 3.09
95 Conflicts: reiserfsprogs < 3.6.3
96 Conflicts: rpm < 4.4.2-0.2
97 Conflicts: udev < 1:081
98 Conflicts: util-linux < 2.10o
99 Conflicts: xfsprogs < 2.6.0
100 ExclusiveArch: i686 x86_64
102 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
105 %define target_arch_dir x86
107 %define target_arch_dir %{_target_base_arch}
110 %define defconfig arch/%{target_arch_dir}/defconfig
112 # No ELF objects there to strip (skips processing 27k files)
113 %define _noautostrip \\(.*%{_kernelsrcdir}/.*\\|.*/vmlinux.*\\)
114 %define _noautochrpath .*%{_kernelsrcdir}/.*
115 %define _enable_debug_packages 0
117 %define initrd_dir /boot
119 %define topdir %{_builddir}/%{name}-%{version}
120 %define srcdir %{topdir}/linux-%{basever}
121 %define objdir %{topdir}/%{targetobj}
122 %define targetobj %{_target_base_arch}-gcc-%(%{kgcc} -dumpversion)
124 %define _kernelsrcdir /usr/src/linux%{_alt_kernel}-%{version}
126 %if "%{_target_base_arch}" != "%{_host_base_arch}"
127 %define CrossOpts ARCH=%{_target_base_arch} CROSS_COMPILE=%{_target_cpu}-tld-linux-
128 %define DepMod /bin/true
130 %if "%{_host_base_arch}" == "x86_64" && "%{_target_base_arch}" == "i386"
131 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
132 %define DepMod /sbin/depmod
136 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
137 %define DepMod /sbin/depmod
139 %define MakeOpts %{CrossOpts} HOSTCC="%{__cc}"
142 This package contains the Linux kernel that is used to boot and run
143 your system. It contains few device drivers for specific hardware.
144 Most hardware is instead supported by modules loaded after booting.
146 %description -l de.UTF-8
147 Das Kernel-Paket enthält den Linux-Kernel (vmlinuz), den Kern des
148 Linux-Betriebssystems. Der Kernel ist für grundliegende
149 Systemfunktionen verantwortlich: Speicherreservierung,
150 Prozeß-Management, Geräte Ein- und Ausgaben, usw.
152 %description -l fr.UTF-8
153 Le package kernel contient le kernel linux (vmlinuz), la partie
154 centrale d'un système d'exploitation Linux. Le noyau traite les
155 fonctions basiques d'un système d'exploitation: allocation mémoire,
156 allocation de process, entrée/sortie de peripheriques, etc.
158 %description -l pl.UTF-8
159 Pakiet zawiera jądro Linuksa niezbędne do prawidłowego działania
160 Twojego komputera. Zawiera w sobie sterowniki do sprzętu znajdującego
161 się w komputerze, takiego jak sterowniki dysków itp.
164 Summary: vmlinux - uncompressed kernel image
165 Summary(de.UTF-8): vmlinux - dekompressiertes Kernel Bild
166 Summary(pl.UTF-8): vmlinux - rozpakowany obraz jądra
168 Obsoletes: kernel-smp-vmlinux
171 vmlinux - uncompressed kernel image.
173 %description vmlinux -l de.UTF-8
174 vmlinux - dekompressiertes Kernel Bild.
176 %description vmlinux -l pl.UTF-8
177 vmlinux - rozpakowany obraz jądra.
180 Summary: DRM kernel modules
181 Summary(de.UTF-8): DRM Kernel Treiber
182 Summary(pl.UTF-8): Sterowniki DRM
184 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
185 Requires: %{name} = %{epoch}:%{version}-%{release}
186 Obsoletes: kernel-smp-drm
192 %description drm -l de.UTF-8
195 %description drm -l pl.UTF-8
199 Summary: PCMCIA modules
200 Summary(de.UTF-8): PCMCIA Module
201 Summary(pl.UTF-8): Moduły PCMCIA
203 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
204 Requires: %{name} = %{epoch}:%{version}-%{release}
205 Obsoletes: kernel-smp-pcmcia
206 Conflicts: pcmcia-cs < 3.1.21
207 Conflicts: pcmciautils < 004
213 %description pcmcia -l de.UTF-8
216 %description pcmcia -l pl.UTF-8
220 Summary: ALSA kernel modules
221 Summary(de.UTF-8): ALSA Kernel Module
222 Summary(pl.UTF-8): Sterowniki dźwięku ALSA
224 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
225 Requires: %{name} = %{epoch}:%{version}-%{release}
226 Obsoletes: kernel-smp-sound-alsa
229 %description sound-alsa
230 ALSA (Advanced Linux Sound Architecture) sound drivers.
232 %description sound-alsa -l de.UTF-8
233 ALSA (Advanced Linux Sound Architecture) Sound-Treiber.
235 %description sound-alsa -l pl.UTF-8
236 Sterowniki dźwięku ALSA (Advanced Linux Sound Architecture).
239 Summary: OSS kernel modules
240 Summary(de.UTF-8): OSS Kernel Module
241 Summary(pl.UTF-8): Sterowniki dźwięku OSS
243 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
244 Requires: %{name} = %{epoch}:%{version}-%{release}
245 Obsoletes: kernel-smp-sound-oss
248 %description sound-oss
249 OSS (Open Sound System) drivers.
251 %description sound-oss -l de.UTF-8
252 OSS (Open Sound System) Treiber.
254 %description sound-oss -l pl.UTF-8
255 Sterowniki dźwięku OSS (Open Sound System).
258 Summary: Header files for the Linux kernel
259 Summary(de.UTF-8): Header Dateien für den Linux-Kernel
260 Summary(pl.UTF-8): Pliki nagłówkowe jądra Linuksa
261 Group: Development/Building
262 Provides: %{name}-headers(netfilter) = 20070806
266 These are the C header files for the Linux kernel, which define
267 structures and constants that are needed when rebuilding the kernel or
268 building kernel modules.
270 %description headers -l de.UTF-8
271 Dies sind die C Header Dateien für den Linux-Kernel, die definierte
272 Strukturen und Konstante beinhalten, die beim rekompilieren des
273 Kernels oder bei Kernel Modul kompilationen gebraucht werden.
275 %description headers -l pl.UTF-8
276 Pakiet zawiera pliki nagłówkowe jądra, niezbędne do rekompilacji jądra
277 oraz budowania modułów jądra.
279 %package module-build
280 Summary: Development files for building kernel modules
281 Summary(de.UTF-8): Development Dateien die beim Kernel Modul kompilationen gebraucht werden
282 Summary(pl.UTF-8): Pliki służące do budowania modułów jądra
283 Group: Development/Building
284 Requires: %{name}-headers = %{epoch}:%{version}-%{release}
285 Conflicts: rpmbuild(macros) < 1.652
288 %description module-build
289 Development files from kernel source tree needed to build Linux kernel
290 modules from external packages.
292 %description module-build -l de.UTF-8
293 Development Dateien des Linux-Kernels die beim kompilieren externer
294 Kernel Module gebraucht werden.
296 %description module-build -l pl.UTF-8
297 Pliki ze drzewa źródeł jądra potrzebne do budowania modułów jądra
298 Linuksa z zewnętrznych pakietów.
301 Summary: Kernel source tree
302 Summary(de.UTF-8): Der Kernel Quelltext
303 Summary(pl.UTF-8): Kod źródłowy jądra Linuksa
304 Group: Development/Building
305 Requires: %{name}-module-build = %{epoch}:%{version}-%{release}
309 This is the source code for the Linux kernel. You can build a custom
310 kernel that is better tuned to your particular hardware.
312 %description source -l de.UTF-8
313 Das Kernel-Source-Paket enthält den source code (C/Assembler-Code) des
314 Linux-Kernels. Die Source-Dateien werden gebraucht, um viele
315 C-Programme zu kompilieren, da sie auf Konstanten zurückgreifen, die
316 im Kernel-Source definiert sind. Die Source-Dateien können auch
317 benutzt werden, um einen Kernel zu kompilieren, der besser auf Ihre
318 Hardware ausgerichtet ist.
320 %description source -l fr.UTF-8
321 Le package pour le kernel-source contient le code source pour le noyau
322 linux. Ces sources sont nécessaires pour compiler la plupart des
323 programmes C, car il dépend de constantes définies dans le code
324 source. Les sources peuvent être aussi utilisée pour compiler un noyau
325 personnalisé pour avoir de meilleures performances sur des matériels
328 %description source -l pl.UTF-8
329 Pakiet zawiera kod źródłowy jądra systemu.
332 Summary: Kernel documentation
333 Summary(de.UTF-8): Kernel Dokumentation
334 Summary(pl.UTF-8): Dokumentacja do jądra Linuksa
339 This is the documentation for the Linux kernel, as found in
340 /usr/src/linux/Documentation directory.
342 %description doc -l de.UTF-8
343 Dies ist die Kernel Dokumentation wie sie im 'Documentation'
344 Verzeichniss vorgefunden werden kann.
346 %description doc -l pl.UTF-8
347 Pakiet zawiera dokumentację do jądra Linuksa pochodzącą z katalogu
348 /usr/src/linux/Documentation.
352 ln -s %{SOURCE3} kernel-module-build.pl
353 ln -s %{SOURCE4} Makefile
356 %if "%{_postver}" != "%{nil}"
357 %{__bzip2} -dc %{SOURCE1} | patch -p1 -s
360 # Fix EXTRAVERSION in main Makefile
361 sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{?alt_kernel:.%{alt_kernel}}#g' Makefile
363 # cleanup backups after patching
364 find '(' -name '*~' -o -name '*.orig' -o -name '.gitignore' ')' -print0 | xargs -0 -r -l512 rm -f
368 cat > %{targetobj}.mk <<'EOF'
369 # generated by %{name}.spec
370 KERNELSRC := %{srcdir}
371 KERNELOUTPUT := %{objdir}
373 SRCARCH := %{target_arch_dir}
374 ARCH := %{_target_base_arch}
375 Q := %{!?with_verbose:@}
376 MAKE_OPTS := %{MakeOpts}
377 DEFCONFIG := %{defconfig}
381 install -d arch/%{target_arch_dir}
383 %define kernel_config kernel-%{alt_kernel}-x86.config
385 %define kernel_config kernel-%{alt_kernel}-%{_target_base_arch}.config
387 echo "Building config file using %{kernel_config}..."
388 cat $RPM_SOURCE_DIR/%{kernel_config} > %{defconfig}
390 ln -sf %{defconfig} .config
394 TARGETOBJ=%{targetobj} \
395 %{?with_verbose:V=1} \
400 TARGETOBJ=%{targetobj} \
401 %{?with_verbose:V=1} \
405 rm -rf $RPM_BUILD_ROOT
406 %{__make} %{MakeOpts} -j1 %{!?with_verbose:-s} modules_install firmware_install \
408 %{?with_verbose:V=1} \
410 INSTALL_MOD_PATH=$RPM_BUILD_ROOT \
411 INSTALL_FW_PATH=$RPM_BUILD_ROOT/lib/firmware/%{kernel_release} \
412 KERNELRELEASE=%{kernel_release}
414 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/misc
416 # create directories which may be missing, to simplyfy %files
417 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/kernel/{arch,sound,mm}
419 # rpm obeys filelinkto checks for ghosted symlinks, convert to files
420 rm -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
421 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
423 # no point embed content for %ghost files. empty them
431 test -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
432 > $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
436 install -d $RPM_BUILD_ROOT/boot
437 cp -a %{objdir}/System.map $RPM_BUILD_ROOT/boot/System.map-%{kernel_release}
438 cp -aL %{objdir}/.config $RPM_BUILD_ROOT/boot/config-%{kernel_release}
439 cp -a %{objdir}/arch/%{target_arch_dir}/boot/bzImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
440 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
443 touch $RPM_BUILD_ROOT%{initrd_dir}/initrd-%{kernel_release}.img
444 touch $RPM_BUILD_ROOT%{initrd_dir}/initramfs-%{kernel_release}.img
446 %if "%{_target_base_arch}" != "%{_host_base_arch}"
447 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.dep
451 install -d $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{kernel_release}
453 install -d $RPM_BUILD_ROOT/etc/sysconfig
454 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/kernel
457 install -d $RPM_BUILD_ROOT%{_kernelsrcdir}
459 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
460 if cp -al %{srcdir}/COPYING $RPM_BUILD_ROOT/COPYING 2>/dev/null; then
462 rm -f $RPM_BUILD_ROOT/COPYING
465 cp -a$l %{srcdir}/* $RPM_BUILD_ROOT%{_kernelsrcdir}
466 cp -a %{objdir}/Module.symvers $RPM_BUILD_ROOT%{_kernelsrcdir}
467 cp -aL %{objdir}/.config $RPM_BUILD_ROOT%{_kernelsrcdir}
468 cp -a %{objdir}/include $RPM_BUILD_ROOT%{_kernelsrcdir}
469 # copy arch/x86/include/generated
470 for dir in $(cd %{objdir} && find arch -name generated -type d); do
471 cp -a %{objdir}/$dir $RPM_BUILD_ROOT%{_kernelsrcdir}/$dir
472 find $RPM_BUILD_ROOT%{_kernelsrcdir}/$dir -name '.*.cmd' -exec rm "{}" ";"
475 # version.h location changed in 3.7, but a lot of external modules don't know about it
476 # add a compatibility symlink
477 ln -s ../generated/uapi/linux/version.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/version.h
479 # disable this here, causes a lot of build-time problems and our rpm-build disables it anyway
480 %{__sed} -i -e 's|\(CONSTIFY_PLUGIN.*:=.*\)|# \1|' $RPM_BUILD_ROOT%{_kernelsrcdir}/Makefile
482 # collect module-build files and directories
483 # Usage: kernel-module-build.pl $rpmdir $fileoutdir
485 cd $RPM_BUILD_ROOT%{_kernelsrcdir}
486 %{__perl} %{topdir}/kernel-module-build.pl %{_kernelsrcdir} $fileoutdir
489 for f in `find %{objdir}/scripts -type f -print | grep -v "/\.\|\.o$"` ; do
492 echo "%attr(755,root,root) %{_kernelsrcdir}/$ff" >>files.mb_include_modulebuild_and_dirs
494 echo "%{_kernelsrcdir}/$ff" >>files.mb_include_modulebuild_and_dirs
496 echo "%exclude %{_kernelsrcdir}/$ff" >>files.source_exclude_modulebuild_and_dirs
497 cp -a "$f" "$RPM_BUILD_ROOT%{_kernelsrcdir}/$ff"
501 # move to %{_docdir} so we wouldn't depend on any kernel package for dirs
502 install -d $RPM_BUILD_ROOT%{_docdir}
503 mv $RPM_BUILD_ROOT{%{_kernelsrcdir}/Documentation,%{_docdir}/%{name}-%{version}}
505 %{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/dontdiff
506 %{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/Makefile
507 %{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/Makefile
508 %{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/*/Makefile
510 %{__rm} -r $RPM_BUILD_ROOT%{_kernelsrcdir}/Documentation
514 rm -rf $RPM_BUILD_ROOT
517 if [ -x /sbin/new-kernel-pkg ]; then
518 /sbin/new-kernel-pkg --remove %{kernel_release}
522 %depmod %{kernel_release}
525 [ -f /etc/sysconfig/kernel ] && . /etc/sysconfig/kernel
526 if [[ "$USE_GENINITRD" != [Nn][Oo] ]]; then
527 # generate initrd after all dependant modules are installed
528 /sbin/geninitrd -f --initrdfs=initramfs %{initrd_dir}/initrd-%{kernel_release}.img %{kernel_release}
531 # if dracut is present then generate full-featured initramfs
532 if [[ "$USE_DRACUT" != [Nn][Oo] ]] && [ -x /sbin/dracut ]; then
533 /sbin/dracut --force --quiet /boot/initramfs-%{kernel_release}.img %{kernel_release}
536 # update boot loaders
537 [ -x /sbin/update-grub -a -f /etc/sysconfig/grub ] && . /etc/sysconfig/grub
538 if [[ "$UPDATE_GRUB" != [Nn][Oo] ]]; then
541 if [ -x /sbin/new-kernel-pkg ]; then
542 /sbin/new-kernel-pkg --initrdfile=%{initrd_dir}/initrd-%{kernel_release}.img --install %{kernel_release} --banner "TLD Linux%{?alt_kernel: %{alt_kernel}}"
544 if [ -x /sbin/rc-boot ]; then
545 /sbin/rc-boot 1>&2 || :
549 %depmod %{kernel_release}
552 %depmod %{kernel_release}
555 %depmod %{kernel_release}
558 %depmod %{kernel_release}
561 %depmod %{kernel_release}
564 %depmod %{kernel_release}
567 %depmod %{kernel_release}
570 %depmod %{kernel_release}
573 ln -snf %{basename:%{_kernelsrcdir}} %{_prefix}/src/linux%{_alt_kernel}
576 if [ "$1" = "0" ]; then
577 if [ -L %{_prefix}/src/linux%{_alt_kernel} ]; then
578 if [ "$(readlink %{_prefix}/src/linux%{_alt_kernel})" = "linux%{_alt_kernel}-%{version}" ]; then
579 rm -f %{_prefix}/src/linux%{_alt_kernel}
584 %triggerin module-build -- %{name} = %{epoch}:%{version}-%{release}
585 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/build
586 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/source
588 %triggerun module-build -- %{name} = %{epoch}:%{version}-%{release}
589 if [ "$1" = 0 ]; then
590 rm -f /lib/modules/%{kernel_release}/{build,source}
594 %defattr(644,root,root,755)
595 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/kernel
596 /boot/vmlinuz-%{kernel_release}
597 /boot/System.map-%{kernel_release}
598 /boot/config-%{kernel_release}
599 %ghost %{initrd_dir}/initrd-%{kernel_release}.img
600 %ghost %{initrd_dir}/initramfs-%{kernel_release}.img
601 /lib/firmware/%{kernel_release}
603 %dir /lib/modules/%{kernel_release}
604 %dir /lib/modules/%{kernel_release}/kernel
605 /lib/modules/%{kernel_release}/kernel/arch
606 /lib/modules/%{kernel_release}/kernel/crypto
607 /lib/modules/%{kernel_release}/kernel/drivers
608 %exclude /lib/modules/%{kernel_release}/kernel/drivers/gpu
609 /lib/modules/%{kernel_release}/kernel/fs
610 /lib/modules/%{kernel_release}/kernel/kernel
611 /lib/modules/%{kernel_release}/kernel/lib
612 /lib/modules/%{kernel_release}/kernel/net
613 /lib/modules/%{kernel_release}/kernel/mm
614 %dir /lib/modules/%{kernel_release}/kernel/sound
615 /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
616 /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
617 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/pci/cx88/cx88-alsa.ko*
618 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/usb/em28xx/em28xx-alsa.ko*
619 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/pci/saa7134/saa7134-alsa.ko*
620 %dir /lib/modules/%{kernel_release}/misc
621 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/[!p]*
622 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pd6729.ko*
623 %exclude /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
624 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
625 %exclude /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
626 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
627 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
628 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
629 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
630 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
631 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
632 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
633 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
634 %exclude /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
635 %exclude /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/8250/serial_cs.ko*
636 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
637 /lib/modules/%{kernel_release}/kernel/security
639 %dir %{_sysconfdir}/modprobe.d/%{kernel_release}
642 /lib/modules/%{kernel_release}/modules.order
643 /lib/modules/%{kernel_release}/modules.builtin*
645 # rest modules.* are ghost (regenerated by post depmod -a invocation)
646 %ghost /lib/modules/%{kernel_release}/modules.alias
647 %ghost /lib/modules/%{kernel_release}/modules.alias.bin
648 %ghost /lib/modules/%{kernel_release}/modules.dep
649 %ghost /lib/modules/%{kernel_release}/modules.dep.bin
650 %ghost /lib/modules/%{kernel_release}/modules.devname
651 %ghost /lib/modules/%{kernel_release}/modules.softdep
652 %ghost /lib/modules/%{kernel_release}/modules.symbols
653 %ghost /lib/modules/%{kernel_release}/modules.symbols.bin
655 # symlinks pointing to kernelsrcdir
656 %ghost /lib/modules/%{kernel_release}/build
657 %ghost /lib/modules/%{kernel_release}/source
660 %defattr(644,root,root,755)
661 /boot/vmlinux-%{kernel_release}
664 %defattr(644,root,root,755)
665 /lib/modules/%{kernel_release}/kernel/drivers/gpu
668 %defattr(644,root,root,755)
669 /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/*ko*
670 /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
671 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pcmcia*ko*
672 /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
673 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
674 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
675 /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
676 /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
677 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
678 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
679 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
680 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
681 /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
682 /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/8250/serial_cs.ko*
683 /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
686 %defattr(644,root,root,755)
687 /lib/modules/%{kernel_release}/kernel/sound
688 %exclude %dir /lib/modules/%{kernel_release}/kernel/sound
689 %exclude /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
690 %exclude /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
691 %exclude /lib/modules/%{kernel_release}/kernel/sound/oss
692 /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
693 /lib/modules/%{kernel_release}/kernel/drivers/media/pci/cx88/cx88-alsa.ko*
694 /lib/modules/%{kernel_release}/kernel/drivers/media/usb/em28xx/em28xx-alsa.ko*
695 /lib/modules/%{kernel_release}/kernel/drivers/media/pci/saa7134/saa7134-alsa.ko*
698 %defattr(644,root,root,755)
699 /lib/modules/%{kernel_release}/kernel/sound/oss
701 %files headers -f files.headers_exclude_kbuild
702 %defattr(644,root,root,755)
703 %dir %{_kernelsrcdir}
704 %{_kernelsrcdir}/include
705 %dir %{_kernelsrcdir}/arch
706 %dir %{_kernelsrcdir}/arch/[!K]*
707 %{_kernelsrcdir}/arch/*/include
708 %dir %{_kernelsrcdir}/security
709 %dir %{_kernelsrcdir}/security/selinux
710 %{_kernelsrcdir}/security/selinux/include
711 %{_kernelsrcdir}/.config
712 %{_kernelsrcdir}/Module.symvers
714 %files module-build -f files.mb_include_modulebuild_and_dirs
715 %defattr(644,root,root,755)
716 %exclude %dir %{_kernelsrcdir}/arch/um
717 %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
718 %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
719 %{_kernelsrcdir}/drivers/lguest/lg.h
720 %{_kernelsrcdir}/drivers/media/pci/bt8xx/bttv.h
721 %{_kernelsrcdir}/kernel/bounds.c
722 %{_kernelsrcdir}/scripts/basic/*.c
723 %attr(755,root,root) %{_kernelsrcdir}/scripts/kconfig/*.sh
724 %{_kernelsrcdir}/scripts/kconfig/*.in
725 %{_kernelsrcdir}/scripts/kconfig/*_shipped
726 %{_kernelsrcdir}/scripts/kconfig/*.pl
727 %{_kernelsrcdir}/scripts/kconfig/*.glade
728 %{_kernelsrcdir}/scripts/kconfig/*.gperf
729 %{_kernelsrcdir}/scripts/kconfig/*.cc
730 %{_kernelsrcdir}/scripts/kconfig/*.y
731 %{_kernelsrcdir}/scripts/kconfig/*.l
732 %{_kernelsrcdir}/scripts/kconfig/[c-k]*.c
733 %{_kernelsrcdir}/scripts/kconfig/[c-k]*.h
734 %{_kernelsrcdir}/scripts/kconfig/l*.h
735 %{_kernelsrcdir}/scripts/kconfig/[m-u]*.c
736 %{_kernelsrcdir}/scripts/kconfig/[m-u]*.h
737 %{_kernelsrcdir}/scripts/kconfig/lxdialog
738 %{_kernelsrcdir}/scripts/mod/*.c
739 %{_kernelsrcdir}/scripts/mod/[^e]*.h
740 %attr(755,root,root) %{_kernelsrcdir}/scripts/mkcompile_h
741 %{_kernelsrcdir}/scripts/mkmakefile
742 %{_kernelsrcdir}/scripts/module-common.lds
743 %attr(755,root,root) %{_kernelsrcdir}/scripts/setlocalversion
744 %{_kernelsrcdir}/scripts/*.c
745 %attr(755,root,root) %{_kernelsrcdir}/scripts/*.sh
746 %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
747 %{_kernelsrcdir}/scripts/selinux/mdp/*.c
748 %exclude %dir %{_kernelsrcdir}/security
749 %exclude %dir %{_kernelsrcdir}/security/selinux
753 %defattr(644,root,root,755)
754 %dir %{_docdir}/%{name}-%{version}
756 %{_docdir}/%{name}-%{version}/[!jkz]*
757 %{_docdir}/%{name}-%{version}/[jkz]*.txt
758 %{_docdir}/%{name}-%{version}/kbuild
759 %{_docdir}/%{name}-%{version}/kdump
760 %lang(ja) %{_docdir}/%{name}-%{version}/ja_JP
761 %lang(ko) %{_docdir}/%{name}-%{version}/ko_KR
762 %lang(zh_CN) %{_docdir}/%{name}-%{version}/zh_CN
766 %files source -f files.source_exclude_modulebuild_and_dirs
767 %defattr(644,root,root,755)
768 %{_kernelsrcdir}/arch/*/[!Mik]*
769 %{_kernelsrcdir}/arch/*/kernel/[!M]*
770 %{_kernelsrcdir}/arch/ia64/install.sh
771 %{_kernelsrcdir}/arch/m68k/ifpsp060/[!M]*
772 %{_kernelsrcdir}/arch/m68k/ifpsp060/MISC
773 %{_kernelsrcdir}/arch/m68k/install.sh
774 %{_kernelsrcdir}/arch/parisc/install.sh
775 %{_kernelsrcdir}/arch/x86/ia32/[!M]*
776 %{_kernelsrcdir}/arch/ia64/kvm
777 %{_kernelsrcdir}/arch/powerpc/kvm
778 %{_kernelsrcdir}/arch/s390/kvm
779 %{_kernelsrcdir}/arch/x86/kvm
780 %exclude %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
781 %exclude %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
782 %exclude %{_kernelsrcdir}/drivers/lguest/lg.h
783 %exclude %{_kernelsrcdir}/drivers/media/pci/bt8xx/bttv.h
784 %{_kernelsrcdir}/block
785 %{_kernelsrcdir}/crypto
786 %{_kernelsrcdir}/drivers
787 %{_kernelsrcdir}/firmware
789 %{_kernelsrcdir}/init
791 %{_kernelsrcdir}/kernel
792 %exclude %{_kernelsrcdir}/kernel/bounds.c
796 %{_kernelsrcdir}/virt
797 %{_kernelsrcdir}/samples
798 %{_kernelsrcdir}/scripts/*
799 %exclude %{_kernelsrcdir}/scripts/Kbuild.include
800 %exclude %{_kernelsrcdir}/scripts/Makefile*
801 %exclude %{_kernelsrcdir}/scripts/basic
802 %exclude %{_kernelsrcdir}/scripts/kconfig
803 %exclude %{_kernelsrcdir}/scripts/mkcompile_h
804 %exclude %{_kernelsrcdir}/scripts/mkmakefile
805 %exclude %{_kernelsrcdir}/scripts/mod
806 %exclude %{_kernelsrcdir}/scripts/module-common.lds
807 %exclude %{_kernelsrcdir}/scripts/setlocalversion
808 %exclude %{_kernelsrcdir}/scripts/*.c
809 %exclude %{_kernelsrcdir}/scripts/*.sh
810 %exclude %dir %{_kernelsrcdir}/scripts/selinux
811 %exclude %{_kernelsrcdir}/scripts/selinux/Makefile
812 %exclude %dir %{_kernelsrcdir}/scripts/selinux/genheaders
813 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
814 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
815 %exclude %dir %{_kernelsrcdir}/scripts/selinux/mdp
816 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
817 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/*.c
818 %{_kernelsrcdir}/sound
819 %{_kernelsrcdir}/security
820 %exclude %{_kernelsrcdir}/security/selinux/include
821 %{_kernelsrcdir}/tools/*
823 %{_kernelsrcdir}/COPYING
824 %{_kernelsrcdir}/CREDITS
825 %{_kernelsrcdir}/MAINTAINERS
826 %{_kernelsrcdir}/README
827 %{_kernelsrcdir}/REPORTING-BUGS