3 %bcond_without source # don't build kernel-source package
4 %bcond_without doc # don't build kernel-doc package
5 %bcond_with verbose # verbose build (V=1)
11 %define alt_kernel 3.14-vanilla
13 # kernel release (used in filesystem and eventually in uname -r)
14 # modules will be looked from /lib/modules/%{kernel_release}
15 # localversion is just that without version for "> localversion"
16 %define localversion %{rel}
17 %define kernel_release %{version}%{?alt_kernel:-%{alt_kernel}}-%{localversion}
19 Summary: The Linux kernel (the core of the Linux operating system)
20 Summary(de.UTF-8): Der Linux-Kernel (Kern des Linux-Betriebssystems)
21 Summary(et.UTF-8): Linuxi kernel (ehk operatsioonisüsteemi tuum)
22 Summary(fr.UTF-8): Le Kernel-Linux (La partie centrale du systeme)
23 Summary(pl.UTF-8): Jądro Linuksa
24 Name: kernel%{_alt_kernel}
25 Version: %{basever}.%{postver}
30 Source0: http://www.kernel.org/pub/linux/kernel/v3.x/linux-%{basever}.tar.xz
31 # Source0-md5: b621207b3f6ecbb67db18b13258f8ea8
32 %if "%{postver}" != "0"
33 Source1: http://www.kernel.org/pub/linux/kernel/v3.x/patch-%{version}.xz
34 # Source1-md5: a56bf05cb9033097198f9269bbcff130
37 Source2: kernel.sysconfig
38 Source3: kernel-module-build.pl
41 Source10: kernel-vanilla-x86.config
42 Source11: kernel-vanilla-x86_64.config
44 URL: http://www.kernel.org/
45 BuildRequires: binutils >= 3:2.18
46 BuildRequires: /sbin/depmod
47 BuildRequires: gcc >= 5:3.2
48 BuildRequires: xz >= 1:4.999.7
50 BuildRequires: hostname
52 BuildRequires: perl-base
53 BuildRequires: rpm >= 4.5-74
54 BuildRequires: rpmbuild(macros) >= 1.652
55 Requires(post): coreutils
56 Requires(post): geninitrd >= 12639-1
57 Requires(post): kmod >= 12-2
58 Requires: /sbin/depmod
60 Requires: geninitrd >= 12639-1
61 Requires: kmod >= 12-2
63 Requires: cpuinfo(pae)
68 Suggests: linux-firmware
69 Provides: %{name}(netfilter) = 20070806
70 Provides: %{name}(vermagic) = %{kernel_release}
71 Obsoletes: kernel%{_alt_kernel}-char-lirc-ene0100
72 Obsoletes: kernel%{_alt_kernel}-char-lirc-it87
73 Obsoletes: kernel%{_alt_kernel}-char-lirc-ite8709
74 Obsoletes: kernel%{_alt_kernel}-char-lirc-mceusb
75 Obsoletes: kernel%{_alt_kernel}-char-lirc-streamzap
76 Obsoletes: kernel%{_alt_kernel}-isdn-mISDN
77 Obsoletes: kernel-firmware
78 Obsoletes: kernel-misc-acer_acpi
79 Obsoletes: kernel-misc-fuse
80 Obsoletes: kernel-misc-uvc
81 Obsoletes: kernel-modules
82 Obsoletes: kernel-net-ar81
83 Obsoletes: kernel-net-hostap
84 Obsoletes: kernel-net-ieee80211
85 Obsoletes: kernel-net-ipp2p
86 Obsoletes: kernel-net-rt61
88 Conflicts: e2fsprogs < 1.29
89 Conflicts: isdn4k-utils < 3.1pre1
90 Conflicts: jfsutils < 1.1.3
91 Conflicts: linux-firmware < 20120720
92 Conflicts: lvm2 < 2.02.40
93 Conflicts: module-init-tools < 3.16
94 Conflicts: nfs-utils < 1.0.5
95 Conflicts: oprofile < 0.9
96 Conflicts: ppp < 1:2.4.0
97 Conflicts: procps < 3.2.0
98 Conflicts: quota-tools < 3.09
99 Conflicts: reiserfsprogs < 3.6.3
100 Conflicts: rpm < 4.4.2-0.2
101 Conflicts: udev < 1:081
102 Conflicts: util-linux < 2.10o
103 Conflicts: xfsprogs < 2.6.0
104 ExclusiveArch: i686 x86_64
106 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
109 %define target_arch_dir x86
111 %define target_arch_dir %{_target_base_arch}
114 %define defconfig arch/%{target_arch_dir}/defconfig
116 # No ELF objects there to strip (skips processing 27k files)
117 %define _noautostrip \\(.*%{_kernelsrcdir}/.*\\|.*/vmlinux.*\\)
118 %define _noautochrpath .*%{_kernelsrcdir}/.*
119 %define _enable_debug_packages 0
121 %define initrd_dir /boot
123 %define topdir %{_builddir}/%{name}-%{version}
124 %define srcdir %{topdir}/linux-%{basever}
125 %define objdir %{topdir}/%{targetobj}
126 %define targetobj %{_target_base_arch}-gcc-%(%{kgcc} -dumpversion)
128 %define _kernelsrcdir /usr/src/linux%{_alt_kernel}-%{version}
130 %if "%{_target_base_arch}" != "%{_host_base_arch}"
131 %define CrossOpts ARCH=%{_target_base_arch} CROSS_COMPILE=%{_target_cpu}-tld-linux-
132 %define DepMod /bin/true
134 %if "%{_host_base_arch}" == "x86_64" && "%{_target_base_arch}" == "i386"
135 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
136 %define DepMod /sbin/depmod
140 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
141 %define DepMod /sbin/depmod
143 %define MakeOpts %{CrossOpts} HOSTCC="%{__cc}"
146 This package contains the Linux kernel that is used to boot and run
147 your system. It contains few device drivers for specific hardware.
148 Most hardware is instead supported by modules loaded after booting.
150 %description -l de.UTF-8
151 Das Kernel-Paket enthält den Linux-Kernel (vmlinuz), den Kern des
152 Linux-Betriebssystems. Der Kernel ist für grundliegende
153 Systemfunktionen verantwortlich: Speicherreservierung,
154 Prozeß-Management, Geräte Ein- und Ausgaben, usw.
156 %description -l fr.UTF-8
157 Le package kernel contient le kernel linux (vmlinuz), la partie
158 centrale d'un système d'exploitation Linux. Le noyau traite les
159 fonctions basiques d'un système d'exploitation: allocation mémoire,
160 allocation de process, entrée/sortie de peripheriques, etc.
162 %description -l pl.UTF-8
163 Pakiet zawiera jądro Linuksa niezbędne do prawidłowego działania
164 Twojego komputera. Zawiera w sobie sterowniki do sprzętu znajdującego
165 się w komputerze, takiego jak sterowniki dysków itp.
168 Summary: vmlinux - uncompressed kernel image
169 Summary(de.UTF-8): vmlinux - dekompressiertes Kernel Bild
170 Summary(pl.UTF-8): vmlinux - rozpakowany obraz jądra
172 Obsoletes: kernel-smp-vmlinux
175 vmlinux - uncompressed kernel image.
177 %description vmlinux -l de.UTF-8
178 vmlinux - dekompressiertes Kernel Bild.
180 %description vmlinux -l pl.UTF-8
181 vmlinux - rozpakowany obraz jądra.
184 Summary: DRM kernel modules
185 Summary(de.UTF-8): DRM Kernel Treiber
186 Summary(pl.UTF-8): Sterowniki DRM
188 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
189 Requires: %{name} = %{epoch}:%{version}-%{release}
190 Obsoletes: kernel-smp-drm
196 %description drm -l de.UTF-8
199 %description drm -l pl.UTF-8
203 Summary: PCMCIA modules
204 Summary(de.UTF-8): PCMCIA Module
205 Summary(pl.UTF-8): Moduły PCMCIA
207 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
208 Requires: %{name} = %{epoch}:%{version}-%{release}
209 Obsoletes: kernel-smp-pcmcia
210 Conflicts: pcmcia-cs < 3.1.21
211 Conflicts: pcmciautils < 004
217 %description pcmcia -l de.UTF-8
220 %description pcmcia -l pl.UTF-8
224 Summary: ALSA kernel modules
225 Summary(de.UTF-8): ALSA Kernel Module
226 Summary(pl.UTF-8): Sterowniki dźwięku ALSA
228 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
229 Requires: %{name} = %{epoch}:%{version}-%{release}
230 Obsoletes: kernel-smp-sound-alsa
233 %description sound-alsa
234 ALSA (Advanced Linux Sound Architecture) sound drivers.
236 %description sound-alsa -l de.UTF-8
237 ALSA (Advanced Linux Sound Architecture) Sound-Treiber.
239 %description sound-alsa -l pl.UTF-8
240 Sterowniki dźwięku ALSA (Advanced Linux Sound Architecture).
243 Summary: OSS kernel modules
244 Summary(de.UTF-8): OSS Kernel Module
245 Summary(pl.UTF-8): Sterowniki dźwięku OSS
247 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
248 Requires: %{name} = %{epoch}:%{version}-%{release}
249 Obsoletes: kernel-smp-sound-oss
252 %description sound-oss
253 OSS (Open Sound System) drivers.
255 %description sound-oss -l de.UTF-8
256 OSS (Open Sound System) Treiber.
258 %description sound-oss -l pl.UTF-8
259 Sterowniki dźwięku OSS (Open Sound System).
262 Summary: Header files for the Linux kernel
263 Summary(de.UTF-8): Header Dateien für den Linux-Kernel
264 Summary(pl.UTF-8): Pliki nagłówkowe jądra Linuksa
265 Group: Development/Building
266 Provides: %{name}-headers(netfilter) = 20070806
270 These are the C header files for the Linux kernel, which define
271 structures and constants that are needed when rebuilding the kernel or
272 building kernel modules.
274 %description headers -l de.UTF-8
275 Dies sind die C Header Dateien für den Linux-Kernel, die definierte
276 Strukturen und Konstante beinhalten, die beim rekompilieren des
277 Kernels oder bei Kernel Modul kompilationen gebraucht werden.
279 %description headers -l pl.UTF-8
280 Pakiet zawiera pliki nagłówkowe jądra, niezbędne do rekompilacji jądra
281 oraz budowania modułów jądra.
283 %package module-build
284 Summary: Development files for building kernel modules
285 Summary(de.UTF-8): Development Dateien die beim Kernel Modul kompilationen gebraucht werden
286 Summary(pl.UTF-8): Pliki służące do budowania modułów jądra
287 Group: Development/Building
288 Requires: %{name}-headers = %{epoch}:%{version}-%{release}
289 Conflicts: rpmbuild(macros) < 1.652
292 %description module-build
293 Development files from kernel source tree needed to build Linux kernel
294 modules from external packages.
296 %description module-build -l de.UTF-8
297 Development Dateien des Linux-Kernels die beim kompilieren externer
298 Kernel Module gebraucht werden.
300 %description module-build -l pl.UTF-8
301 Pliki ze drzewa źródeł jądra potrzebne do budowania modułów jądra
302 Linuksa z zewnętrznych pakietów.
305 Summary: Kernel source tree
306 Summary(de.UTF-8): Der Kernel Quelltext
307 Summary(pl.UTF-8): Kod źródłowy jądra Linuksa
308 Group: Development/Building
309 Requires: %{name}-module-build = %{epoch}:%{version}-%{release}
313 This is the source code for the Linux kernel. You can build a custom
314 kernel that is better tuned to your particular hardware.
316 %description source -l de.UTF-8
317 Das Kernel-Source-Paket enthält den source code (C/Assembler-Code) des
318 Linux-Kernels. Die Source-Dateien werden gebraucht, um viele
319 C-Programme zu kompilieren, da sie auf Konstanten zurückgreifen, die
320 im Kernel-Source definiert sind. Die Source-Dateien können auch
321 benutzt werden, um einen Kernel zu kompilieren, der besser auf Ihre
322 Hardware ausgerichtet ist.
324 %description source -l fr.UTF-8
325 Le package pour le kernel-source contient le code source pour le noyau
326 linux. Ces sources sont nécessaires pour compiler la plupart des
327 programmes C, car il dépend de constantes définies dans le code
328 source. Les sources peuvent être aussi utilisée pour compiler un noyau
329 personnalisé pour avoir de meilleures performances sur des matériels
332 %description source -l pl.UTF-8
333 Pakiet zawiera kod źródłowy jądra systemu.
336 Summary: Kernel documentation
337 Summary(de.UTF-8): Kernel Dokumentation
338 Summary(pl.UTF-8): Dokumentacja do jądra Linuksa
343 This is the documentation for the Linux kernel, as found in
344 /usr/src/linux/Documentation directory.
346 %description doc -l de.UTF-8
347 Dies ist die Kernel Dokumentation wie sie im 'Documentation'
348 Verzeichniss vorgefunden werden kann.
350 %description doc -l pl.UTF-8
351 Pakiet zawiera dokumentację do jądra Linuksa pochodzącą z katalogu
352 /usr/src/linux/Documentation.
356 ln -s %{SOURCE3} kernel-module-build.pl
357 ln -s %{SOURCE4} Makefile
360 %if "%{postver}" != "0"
361 %{__xz} -dc %{SOURCE1} | patch -p1 -s
364 # Fix EXTRAVERSION in main Makefile
365 sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{?alt_kernel:-%{alt_kernel}}#g' Makefile
367 # cleanup backups after patching
368 find '(' -name '*~' -o -name '*.orig' -o -name '.gitignore' ')' -print0 | xargs -0 -r -l512 rm -f
372 cat > %{targetobj}.mk <<'EOF'
373 # generated by %{name}.spec
374 KERNELSRC := %{srcdir}
375 KERNELOUTPUT := %{objdir}
377 SRCARCH := %{target_arch_dir}
378 ARCH := %{_target_base_arch}
379 Q := %{!?with_verbose:@}
380 MAKE_OPTS := %{MakeOpts}
381 DEFCONFIG := %{defconfig}
385 install -d arch/%{target_arch_dir}
387 cat %{SOURCE10} > %{defconfig}
390 cat %{SOURCE11} > %{defconfig}
392 sed -i "s:CONFIG_LOCALVERSION=\"\":CONFIG_LOCALVERSION=\"-%{localversion}\":" %{defconfig}
394 ln -sf %{defconfig} .config
398 TARGETOBJ=%{targetobj} \
399 %{?with_verbose:V=1} \
404 TARGETOBJ=%{targetobj} \
405 %{?with_verbose:V=1} \
409 rm -rf $RPM_BUILD_ROOT
410 %{__make} %{MakeOpts} -j1 %{!?with_verbose:-s} modules_install firmware_install \
412 %{?with_verbose:V=1} \
414 INSTALL_MOD_PATH=$RPM_BUILD_ROOT \
415 INSTALL_FW_PATH=$RPM_BUILD_ROOT/lib/firmware/%{kernel_release} \
416 KERNELRELEASE=%{kernel_release}
418 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/misc
420 # create directories which may be missing, to simplyfy %files
421 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/kernel/{arch,sound,mm}
423 # rpm obeys filelinkto checks for ghosted symlinks, convert to files
424 rm -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
425 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
427 # no point embed content for %ghost files. empty them
435 test -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
436 > $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
440 install -d $RPM_BUILD_ROOT/boot
441 cp -a %{objdir}/System.map $RPM_BUILD_ROOT/boot/System.map-%{kernel_release}
442 cp -aL %{objdir}/.config $RPM_BUILD_ROOT/boot/config-%{kernel_release}
443 cp -a %{objdir}/arch/%{target_arch_dir}/boot/bzImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
444 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
447 touch $RPM_BUILD_ROOT%{initrd_dir}/initrd-%{kernel_release}.img
448 touch $RPM_BUILD_ROOT%{initrd_dir}/initramfs-%{kernel_release}.img
450 %if "%{_target_base_arch}" != "%{_host_base_arch}"
451 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.dep
455 install -d $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{kernel_release}
457 install -d $RPM_BUILD_ROOT/etc/sysconfig
458 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/kernel
461 install -d $RPM_BUILD_ROOT%{_kernelsrcdir}
463 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
464 if cp -al %{srcdir}/COPYING $RPM_BUILD_ROOT/COPYING 2>/dev/null; then
466 rm -f $RPM_BUILD_ROOT/COPYING
469 cp -a$l %{srcdir}/* $RPM_BUILD_ROOT%{_kernelsrcdir}
470 cp -a %{objdir}/Module.symvers $RPM_BUILD_ROOT%{_kernelsrcdir}
471 cp -aL %{objdir}/.config $RPM_BUILD_ROOT%{_kernelsrcdir}
472 cp -a %{objdir}/include $RPM_BUILD_ROOT%{_kernelsrcdir}
473 # copy arch/x86/include/generated
474 for dir in $(cd %{objdir} && find arch -name generated -type d); do
475 cp -a %{objdir}/$dir $RPM_BUILD_ROOT%{_kernelsrcdir}/$dir
476 find $RPM_BUILD_ROOT%{_kernelsrcdir}/$dir -name '.*.cmd' -exec rm "{}" ";"
479 # version.h location changed in 3.7, but a lot of external modules don't know about it
480 # add a compatibility symlink
481 ln -s ../generated/uapi/linux/version.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/version.h
483 # disable this here, causes a lot of build-time problems and our rpm-build disables it anyway
484 %{__sed} -i -e 's|\(CONSTIFY_PLUGIN.*:=.*\)|# \1|' $RPM_BUILD_ROOT%{_kernelsrcdir}/Makefile
486 # collect module-build files and directories
487 # Usage: kernel-module-build.pl $rpmdir $fileoutdir
489 cd $RPM_BUILD_ROOT%{_kernelsrcdir}
490 %{__perl} %{topdir}/kernel-module-build.pl %{_kernelsrcdir} $fileoutdir
493 for f in `find %{objdir}/scripts -type f -print | grep -v "/\.\|\.o$"` ; do
496 echo "%attr(755,root,root) %{_kernelsrcdir}/$ff" >>files.mb_include_modulebuild_and_dirs
498 echo "%{_kernelsrcdir}/$ff" >>files.mb_include_modulebuild_and_dirs
500 echo "%exclude %{_kernelsrcdir}/$ff" >>files.source_exclude_modulebuild_and_dirs
501 cp -a "$f" "$RPM_BUILD_ROOT%{_kernelsrcdir}/$ff"
505 # move to %{_docdir} so we wouldn't depend on any kernel package for dirs
506 install -d $RPM_BUILD_ROOT%{_docdir}
507 mv $RPM_BUILD_ROOT{%{_kernelsrcdir}/Documentation,%{_docdir}/%{name}-%{version}}
509 %{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/dontdiff
510 %{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/Makefile
511 %{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/Makefile
512 %{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/*/Makefile
514 %{__rm} -r $RPM_BUILD_ROOT%{_kernelsrcdir}/Documentation
518 rm -rf $RPM_BUILD_ROOT
521 if [ -x /sbin/new-kernel-pkg ]; then
522 /sbin/new-kernel-pkg --remove %{kernel_release}
526 %depmod %{kernel_release}
529 [ -f /etc/sysconfig/kernel ] && . /etc/sysconfig/kernel
530 # generate simple initramfs/initrd image
531 if [[ "$USE_GENINITRD" != [Nn][Oo] ]]; then
532 /sbin/geninitrd -f --initrdfs=initramfs %{initrd_dir}/initrd-%{kernel_release}.img %{kernel_release}
535 # if dracut is present then generate full-featured initramfs
536 if [[ "$USE_DRACUT" != [Nn][Oo] ]] && [ -x /sbin/dracut ]; then
537 /sbin/dracut --force --quiet /boot/initramfs-%{kernel_release}.img %{kernel_release}
540 # update boot loaders
541 if [ -x /sbin/update-grub -a -f /etc/sysconfig/grub ]; then
542 if [ "$(. /etc/sysconfig/grub; echo ${UPDATE_GRUB:-yes})" = "yes" ]; then
543 /sbin/update-grub >/dev/null
546 if [ -x /sbin/new-kernel-pkg ]; then
547 /sbin/new-kernel-pkg --initrdfile=%{initrd_dir}/initrd-%{kernel_release}.img --install %{kernel_release} --banner "TLD Linux%{?alt_kernel: %{alt_kernel}}"
549 if [ -x /sbin/rc-boot ]; then
550 /sbin/rc-boot 1>&2 || :
554 %depmod %{kernel_release}
557 %depmod %{kernel_release}
560 %depmod %{kernel_release}
563 %depmod %{kernel_release}
566 %depmod %{kernel_release}
569 %depmod %{kernel_release}
572 %depmod %{kernel_release}
575 %depmod %{kernel_release}
578 ln -snf %{basename:%{_kernelsrcdir}} %{_prefix}/src/linux%{_alt_kernel}
581 if [ "$1" = "0" ]; then
582 if [ -L %{_prefix}/src/linux%{_alt_kernel} ]; then
583 if [ "$(readlink %{_prefix}/src/linux%{_alt_kernel})" = "linux%{_alt_kernel}-%{version}" ]; then
584 rm -f %{_prefix}/src/linux%{_alt_kernel}
589 %triggerin module-build -- %{name} = %{epoch}:%{version}-%{release}
590 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/build
591 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/source
593 %triggerun module-build -- %{name} = %{epoch}:%{version}-%{release}
594 if [ "$1" = 0 ]; then
595 rm -f /lib/modules/%{kernel_release}/{build,source}
599 %defattr(644,root,root,755)
600 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/kernel
601 /boot/vmlinuz-%{kernel_release}
602 /boot/System.map-%{kernel_release}
603 /boot/config-%{kernel_release}
604 %ghost %{initrd_dir}/initrd-%{kernel_release}.img
605 %ghost %{initrd_dir}/initramfs-%{kernel_release}.img
606 /lib/firmware/%{kernel_release}
608 %dir /lib/modules/%{kernel_release}
609 %dir /lib/modules/%{kernel_release}/kernel
610 /lib/modules/%{kernel_release}/kernel/arch
611 /lib/modules/%{kernel_release}/kernel/crypto
612 /lib/modules/%{kernel_release}/kernel/drivers
613 %exclude /lib/modules/%{kernel_release}/kernel/drivers/gpu
614 /lib/modules/%{kernel_release}/kernel/fs
615 /lib/modules/%{kernel_release}/kernel/kernel
616 /lib/modules/%{kernel_release}/kernel/lib
617 /lib/modules/%{kernel_release}/kernel/net
618 /lib/modules/%{kernel_release}/kernel/mm
619 %dir /lib/modules/%{kernel_release}/kernel/sound
620 /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
621 /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
622 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/pci/cx88/cx88-alsa.ko*
623 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/usb/em28xx/em28xx-alsa.ko*
624 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/pci/saa7134/saa7134-alsa.ko*
625 %dir /lib/modules/%{kernel_release}/misc
626 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/[!p]*
627 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pd6729.ko*
628 %exclude /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
629 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
630 %exclude /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
631 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
632 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
633 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
634 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
635 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
636 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
637 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
638 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
639 %exclude /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
640 %exclude /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/8250/serial_cs.ko*
641 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
642 /lib/modules/%{kernel_release}/kernel/security
644 %dir %{_sysconfdir}/modprobe.d/%{kernel_release}
647 /lib/modules/%{kernel_release}/modules.order
648 /lib/modules/%{kernel_release}/modules.builtin*
650 # rest modules.* are ghost (regenerated by post depmod -a invocation)
651 %ghost /lib/modules/%{kernel_release}/modules.alias
652 %ghost /lib/modules/%{kernel_release}/modules.alias.bin
653 %ghost /lib/modules/%{kernel_release}/modules.dep
654 %ghost /lib/modules/%{kernel_release}/modules.dep.bin
655 %ghost /lib/modules/%{kernel_release}/modules.devname
656 %ghost /lib/modules/%{kernel_release}/modules.softdep
657 %ghost /lib/modules/%{kernel_release}/modules.symbols
658 %ghost /lib/modules/%{kernel_release}/modules.symbols.bin
660 # symlinks pointing to kernelsrcdir
661 %ghost /lib/modules/%{kernel_release}/build
662 %ghost /lib/modules/%{kernel_release}/source
665 %defattr(644,root,root,755)
666 /boot/vmlinux-%{kernel_release}
669 %defattr(644,root,root,755)
670 /lib/modules/%{kernel_release}/kernel/drivers/gpu
673 %defattr(644,root,root,755)
674 /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/*ko*
675 /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
676 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pcmcia*ko*
677 /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
678 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
679 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
680 /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
681 /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
682 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
683 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
684 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
685 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
686 /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
687 /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/8250/serial_cs.ko*
688 /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
691 %defattr(644,root,root,755)
692 /lib/modules/%{kernel_release}/kernel/sound
693 %exclude %dir /lib/modules/%{kernel_release}/kernel/sound
694 %exclude /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
695 %exclude /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
696 %exclude /lib/modules/%{kernel_release}/kernel/sound/oss
697 /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
698 /lib/modules/%{kernel_release}/kernel/drivers/media/pci/cx88/cx88-alsa.ko*
699 /lib/modules/%{kernel_release}/kernel/drivers/media/usb/em28xx/em28xx-alsa.ko*
700 /lib/modules/%{kernel_release}/kernel/drivers/media/pci/saa7134/saa7134-alsa.ko*
703 %defattr(644,root,root,755)
704 /lib/modules/%{kernel_release}/kernel/sound/oss
706 %files headers -f files.headers_exclude_kbuild
707 %defattr(644,root,root,755)
708 %dir %{_kernelsrcdir}
709 %{_kernelsrcdir}/include
710 %dir %{_kernelsrcdir}/arch
711 %dir %{_kernelsrcdir}/arch/[!K]*
712 %{_kernelsrcdir}/arch/*/include
713 %dir %{_kernelsrcdir}/security
714 %dir %{_kernelsrcdir}/security/selinux
715 %{_kernelsrcdir}/security/selinux/include
716 %{_kernelsrcdir}/.config
717 %{_kernelsrcdir}/Module.symvers
719 %files module-build -f files.mb_include_modulebuild_and_dirs
720 %defattr(644,root,root,755)
721 %exclude %dir %{_kernelsrcdir}/arch/um
722 %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
723 %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
724 %{_kernelsrcdir}/drivers/lguest/lg.h
725 %{_kernelsrcdir}/drivers/media/pci/bt8xx/bttv.h
726 %{_kernelsrcdir}/kernel/bounds.c
727 %{_kernelsrcdir}/scripts/basic/*.c
728 %attr(755,root,root) %{_kernelsrcdir}/scripts/kconfig/*.sh
729 %{_kernelsrcdir}/scripts/kconfig/*.in
730 %{_kernelsrcdir}/scripts/kconfig/*_shipped
731 %{_kernelsrcdir}/scripts/kconfig/*.pl
732 %{_kernelsrcdir}/scripts/kconfig/*.glade
733 %{_kernelsrcdir}/scripts/kconfig/*.gperf
734 %{_kernelsrcdir}/scripts/kconfig/*.cc
735 %{_kernelsrcdir}/scripts/kconfig/*.y
736 %{_kernelsrcdir}/scripts/kconfig/*.l
737 %{_kernelsrcdir}/scripts/kconfig/[c-k]*.c
738 %{_kernelsrcdir}/scripts/kconfig/[c-k]*.h
739 %{_kernelsrcdir}/scripts/kconfig/l*.h
740 %{_kernelsrcdir}/scripts/kconfig/[m-u]*.c
741 %{_kernelsrcdir}/scripts/kconfig/[m-u]*.h
742 %{_kernelsrcdir}/scripts/kconfig/lxdialog
743 %{_kernelsrcdir}/scripts/mod/*.c
744 %{_kernelsrcdir}/scripts/mod/[^e]*.h
745 %attr(755,root,root) %{_kernelsrcdir}/scripts/mkcompile_h
746 %{_kernelsrcdir}/scripts/mkmakefile
747 %{_kernelsrcdir}/scripts/module-common.lds
748 %attr(755,root,root) %{_kernelsrcdir}/scripts/setlocalversion
749 %{_kernelsrcdir}/scripts/*.c
750 %attr(755,root,root) %{_kernelsrcdir}/scripts/*.sh
751 %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
752 %{_kernelsrcdir}/scripts/selinux/mdp/*.c
753 %exclude %dir %{_kernelsrcdir}/security
754 %exclude %dir %{_kernelsrcdir}/security/selinux
758 %defattr(644,root,root,755)
759 %dir %{_docdir}/%{name}-%{version}
761 %{_docdir}/%{name}-%{version}/[!jkz]*
762 %{_docdir}/%{name}-%{version}/[jkz]*.txt
763 %{_docdir}/%{name}-%{version}/kbuild
764 %{_docdir}/%{name}-%{version}/kdump
765 %lang(ja) %{_docdir}/%{name}-%{version}/ja_JP
766 %lang(ko) %{_docdir}/%{name}-%{version}/ko_KR
767 %lang(zh_CN) %{_docdir}/%{name}-%{version}/zh_CN
771 %files source -f files.source_exclude_modulebuild_and_dirs
772 %defattr(644,root,root,755)
773 %{_kernelsrcdir}/arch/*/[!Mik]*
774 %{_kernelsrcdir}/arch/*/kernel/[!M]*
775 %{_kernelsrcdir}/arch/ia64/install.sh
776 %{_kernelsrcdir}/arch/m68k/ifpsp060/[!M]*
777 %{_kernelsrcdir}/arch/m68k/ifpsp060/MISC
778 %{_kernelsrcdir}/arch/m68k/install.sh
779 %{_kernelsrcdir}/arch/parisc/install.sh
780 %{_kernelsrcdir}/arch/x86/ia32/[!M]*
781 %{_kernelsrcdir}/arch/arm/kvm
782 %{_kernelsrcdir}/arch/arm64/kvm
783 %{_kernelsrcdir}/arch/ia64/kvm
784 %{_kernelsrcdir}/arch/mips/kvm
785 %{_kernelsrcdir}/arch/powerpc/kvm
786 %{_kernelsrcdir}/arch/s390/kvm
787 %{_kernelsrcdir}/arch/x86/kvm
788 %exclude %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
789 %exclude %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
790 %exclude %{_kernelsrcdir}/drivers/lguest/lg.h
791 %exclude %{_kernelsrcdir}/drivers/media/pci/bt8xx/bttv.h
792 %{_kernelsrcdir}/block
793 %{_kernelsrcdir}/crypto
794 %{_kernelsrcdir}/drivers
795 %{_kernelsrcdir}/firmware
797 %{_kernelsrcdir}/init
799 %{_kernelsrcdir}/kernel
800 %exclude %{_kernelsrcdir}/kernel/bounds.c
804 %{_kernelsrcdir}/virt
805 %{_kernelsrcdir}/samples
806 %{_kernelsrcdir}/scripts/*
807 %exclude %{_kernelsrcdir}/scripts/Kbuild.include
808 %exclude %{_kernelsrcdir}/scripts/Makefile*
809 %exclude %{_kernelsrcdir}/scripts/basic
810 %exclude %{_kernelsrcdir}/scripts/kconfig
811 %exclude %{_kernelsrcdir}/scripts/mkcompile_h
812 %exclude %{_kernelsrcdir}/scripts/mkmakefile
813 %exclude %{_kernelsrcdir}/scripts/mod
814 %exclude %{_kernelsrcdir}/scripts/module-common.lds
815 %exclude %{_kernelsrcdir}/scripts/setlocalversion
816 %exclude %{_kernelsrcdir}/scripts/*.c
817 %exclude %{_kernelsrcdir}/scripts/*.sh
818 %exclude %dir %{_kernelsrcdir}/scripts/selinux
819 %exclude %{_kernelsrcdir}/scripts/selinux/Makefile
820 %exclude %dir %{_kernelsrcdir}/scripts/selinux/genheaders
821 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
822 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
823 %exclude %dir %{_kernelsrcdir}/scripts/selinux/mdp
824 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
825 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/*.c
826 %{_kernelsrcdir}/sound
827 %{_kernelsrcdir}/security
828 %exclude %{_kernelsrcdir}/security/selinux/include
829 %{_kernelsrcdir}/tools/*
831 %{_kernelsrcdir}/COPYING
832 %{_kernelsrcdir}/CREDITS
833 %{_kernelsrcdir}/MAINTAINERS
834 %{_kernelsrcdir}/README
835 %{_kernelsrcdir}/REPORTING-BUGS