]> git.pld-linux.org Git - packages/kernel.git/blob - kernel.spec
0904df6b40c518e4113ab151d7cd9585f96d8821
[packages/kernel.git] / kernel.spec
1 #
2 # LATEST VERSION CHECKER:
3 # # curl -s http://www.kernel.org/kdist/finger_banner
4 #
5 # TODO:
6 # - benchmark NO_HZ & HZ=1000 vs HZ=300 on i686
7 # - IPv4 source address selection for multihomed vservers is completely broken
8 #       meaning routing table is ignored except for default
9 #
10 # HOWTO update configuration files:
11 # - run build
12 # - add new options to proper config (kernel-multiarch.config, kernel-x86.config, kernel-powerpc.config etc)
13 # - sort configuration files using:
14 #   ./kernel-config-sort.pl ~/rpm/BUILD/kernel-%{version}/linux-%{version}/ -a x86 kernel-x86.config
15 #   ./kernel-config-sort.pl ~/rpm/BUILD/kernel-%{version}/linux-%{version} kernel-multiarch.config
16 #
17 # Conditional build:
18 %bcond_without  source          # don't build kernel-source package
19 %bcond_without  doc                     # don't build kernel-doc package
20 %bcond_without  pcmcia          # don't build pcmcia
21
22 %bcond_with     verbose         # verbose build (V=1)
23 %bcond_with     reiser4         # support for reiser4 fs (experimental)
24 %bcond_with     unionfs         # unmaintained unionfs support
25
26 %bcond_with     fbcondecor      # build fbcondecor (disable FB_TILEBLITTING and affected fb modules)
27 %bcond_without  pae             # build PAE (HIGHMEM64G) support on 32bit i686 athlon pentium3 pentium4
28 %bcond_with     nfsroot         # build with root on NFS support
29
30 %bcond_without  imq             # imq support
31 %bcond_without  esfq            # esfq support
32 %bcond_without  ipv6            # ipv6 support
33
34 %bcond_without  vserver         # support for VServer (enabled by default)
35
36 %bcond_with     vanilla         # don't include any patches
37 %bcond_with     rescuecd        # build kernel for our rescue
38 %bcond_with     myown           # build with your own config (kernel-myown.config)
39
40 %{?debug:%define with_verbose 1}
41
42 %define         have_drm        1
43 %define         have_oss        1
44 %define         have_sound      1
45 %define         have_pcmcia     1
46
47 %if %{with rescuecd}
48 %unglobal       with_vserver
49 %define         have_drm        0
50 %define         have_sound      0
51 %endif
52
53 %if %{with myown}
54 %define         have_drm        0
55 %define         have_oss        0
56 %define         have_sound      0
57 %define         have_pcmcia     0
58 %endif
59
60 %ifarch sparc sparc64
61 %unglobal       with_pcmcia
62 %define         have_drm        0
63 %define         have_oss        0
64 %endif
65
66 %if %{without pcmcia}
67 %define         have_pcmcia     0
68 %endif
69
70 %define         rel             0.1
71 %define         basever         3.6
72 %define         postver         .6
73
74 # __alt_kernel is list of features, empty string if none set
75 # _alt kernel is defined as: %{nil}%{?alt_kernel:-%{?alt_kernel}} (defined in rpm.macros)
76 # alt_kernel should be defined if __alt_kernel has non-empty value (for %{?alt_kernel:foo} constructs)
77 %define         __alt_kernel    %{nil}
78
79 %if "%{__alt_kernel}" != ""
80 %define         alt_kernel      %{__alt_kernel}
81 %endif
82
83 # these override whatever name was picked from bconds
84 %if %{with myown} && "%{_alt_kernel}" == ""
85 %define         alt_kernel      myown
86 %endif
87 %if %{with rescuecd}
88 %define         alt_kernel      rescuecd
89 %endif
90 %if %{with vanilla}
91 %define         alt_kernel      vanilla
92 %endif
93
94 # kernel release (used in filesystem and eventually in uname -r)
95 # modules will be looked from /lib/modules/%{kernel_release}
96 # localversion is just that without version for "> localversion"
97 %define         localversion    %{rel}
98 %define         kernel_release  %{version}%{?alt_kernel:.%{alt_kernel}}-%{localversion}
99
100 Summary:        The Linux kernel (the core of the Linux operating system)
101 Summary(de.UTF-8):      Der Linux-Kernel (Kern des Linux-Betriebssystems)
102 Summary(et.UTF-8):      Linuxi kernel (ehk operatsioonisüsteemi tuum)
103 Summary(fr.UTF-8):      Le Kernel-Linux (La partie centrale du systeme)
104 Summary(pl.UTF-8):      JÄ…dro Linuksa
105 Name:           kernel%{_alt_kernel}
106 Version:        %{basever}%{postver}
107 Release:        %{rel}
108 Epoch:          3
109 License:        GPL v2
110 Group:          Base/Kernel
111 Source0:        http://www.kernel.org/pub/linux/kernel/v3.x/linux-%{basever}.tar.xz
112 # Source0-md5:  1a1760420eac802c541a20ab51a093d1
113 %if "%{postver}" != ".0"
114 Patch0:         http://www.kernel.org/pub/linux/kernel/v3.x/patch-%{version}.bz2
115 # Patch0-md5:   363e730147333182616cc687345e7fe2
116 %endif
117
118 Source3:        kernel-autoconf.h
119 Source4:        kernel-config.h
120 Source6:        kernel-config.awk
121 Source7:        kernel-module-build.pl
122 Source8:        kernel-track-config-change.awk
123 # not used by kernel.spec, but it's good to have it in SOURCES
124 Source9:        kernel-config-sort.pl
125 Source10:       kernel.make
126
127 Source20:       kernel-multiarch.config
128 Source21:       kernel-x86.config
129 Source22:       kernel-sparc.config
130 Source23:       kernel-alpha.config
131 Source24:       kernel-powerpc.config
132 Source25:       kernel-ia64.config
133
134 Source41:       kernel-patches.config
135 Source43:       kernel-vserver.config
136
137 Source55:       kernel-imq.config
138 Source56:       kernel-reiser4.config
139
140 Source58:       kernel-inittmpfs.config
141
142 # http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.4-2.6.25-rc6.patch
143 Patch3:         kernel-fbcondecor.patch
144 Patch4:         kernel-fbcon-margins.patch
145 Patch5:         linux-wistron-amilo8210.patch
146
147 # netfilter related stuff mostly based on patch-o-matic-ng
148 # snapshot 20070806 with some fixes. Some modules
149 # were ported to nf_conntrack.
150
151 Patch10:        kernel-pom-ng-IPV4OPTSSTRIP.patch
152
153 Patch16:        kernel-pom-ng-mms-conntrack-nat.patch
154 Patch22:        kernel-pom-ng-rsh.patch
155 Patch23:        kernel-pom-ng-rpc.patch
156
157 # http://ftp.linux-vserver.org/pub/people/dhozac/p/k/delta-owner-xid-feat02.diff
158 Patch37:        kernel-owner-xid.patch
159
160 # based on kernel-2.6.25-layer7-2.20.patch from
161 # http://switch.dl.sourceforge.net/sourceforge/l7-filter/netfilter-layer7-v2.20.tar.gz
162 Patch40:        kernel-layer7.patch
163
164 ### End netfilter
165
166 # http://zph.bratcheda.org/linux-2.6.26.3-zph.patch
167 Patch49:        kernel-zph.patch
168
169 # based on http://www.linuximq.net/patchs/patch-imqmq-3.1.diff.bz2
170 Patch50:        kernel-imq.patch
171
172 Patch51:        http://downloads.sourceforge.net/project/reiser4/reiser4-for-linux-3.x/reiser4-for-3.5.3.patch.gz
173 # Patch51-md5:  7794f6edb31fd39f5d27f978d4f23cb1
174
175 # http://fatooh.org/esfq-2.6/sfq-2.6.24.1.tar.bz2
176 Patch53:        kernel-esfq.patch
177
178 # by Baggins request:
179 # derived from ftp://ftp.cmf.nrl.navy.mil/pub/chas/linux-atm/vbr/vbr-kernel-diffs
180 Patch55:        kernel-atm-vbr.patch
181 Patch56:        kernel-atmdd.patch
182
183 # http://synce.svn.sourceforge.net/svnroot/synce/trunk/patches/linux-2.6.22-rndis_host-wm5.patch
184 Patch59:        kernel-rndis_host-wm5.patch
185
186 # adds some ids for hostap suported cards and monitor_enable from/for aircrack-ng
187 # http://patches.aircrack-ng.org/hostap-kernel-2.6.18.patch
188 Patch85:        kernel-hostap.patch
189
190 # http://vserver.13thfloor.at/Experimental/patch-3.6.6-vs2.3.4.3.1-noxfs-nocow.diff
191 Patch100:       kernel-vserver-2.3.patch
192 Patch101:       kernel-vserver-fixes.patch
193
194 # http://download.filesystems.org/unionfs/unionfs-2.x/unionfs-2.5.11_for_3.3.0-rc3.diff.gz
195 Patch140:       kernel-unionfs.patch
196
197 # git://aufs.git.sourceforge.net/gitroot/aufs/aufs3-standalone.git, read README
198 # Patch creation:
199 # git clone git://aufs.git.sourceforge.net/gitroot/aufs/aufs3-standalone.git
200 # cd aufs3-standalone
201 # git checkout -b aufs3.6 origin/aufs3.6
202 # cat aufs3-kbuild.patch aufs3-base.patch aufs3-standalone.patch > ~/rpm/packages/kernel/kernel-aufs3.patch
203 # mkdir linux
204 # cp -a Documentation fs include linux
205 # diff -urN /usr/share/empty linux >> ~/rpm/packages/kernel/kernel-aufs3.patch
206 # drop hunk at the end of patch (hunk is patching include/linux/Kbuild with single line change)
207 #
208 Patch145:       kernel-aufs3.patch
209 Patch146:       kernel-aufs2-unionfs.patch
210
211 # Show normal colors in menuconfig with ncurses ABI 6
212 Patch250:       kernel-fix_256colors_menuconfig.patch
213
214 # https://patchwork.kernel.org/patch/236261/
215 Patch400:       kernel-virtio-gl-accel.patch
216
217 Patch2000:      kernel-small_fixes.patch
218 Patch2001:      kernel-pwc-uncompress.patch
219 Patch2003:      kernel-regressions.patch
220
221 # http://git.kernel.org/?p=linux/kernel/git/jj/linux-apparmor.git;a=shortlog;h=refs/heads/v3.5-aa2.8
222 Patch5000:      kernel-apparmor.patch
223
224 # for rescuecd
225 # based on ftp://ftp.leg.uct.ac.za/pub/linux/rip/tmpfs_root-2.6.30.diff.gz
226 Patch7000:      kernel-inittmpfs.patch
227
228 # Do not remove this line, please. It is easier for me to uncomment two lines, then patch
229 # kernel.spec every time.
230 #Patch50000:    kernel-usb_reset.patch
231
232 URL:            http://www.kernel.org/
233 BuildRequires:  binutils >= 3:2.18
234 %ifarch sparc sparc64
235 BuildRequires:  elftoaout
236 %endif
237 %ifarch ppc
238 BuildRequires:  uboot-mkimage
239 %endif
240 BuildRequires:  /sbin/depmod
241 BuildRequires:  gcc >= 5:3.2
242 BuildRequires:  xz >= 1:4.999.7
243 AutoReqProv:    no
244 BuildRequires:  hostname
245 BuildRequires:  virtual(module-tools)
246 BuildRequires:  perl-base
247 BuildRequires:  rpm-build >= 4.5-24
248 BuildRequires:  rpmbuild(macros) >= 1.652
249 Requires(post): coreutils
250 Requires(post): geninitrd >= 10000-3
251 Requires(post): virtual(module-tools)
252 Requires:       /sbin/depmod
253 Requires:       coreutils
254 Requires:       geninitrd >= 10000-3
255 Requires:       virtual(module-tools)
256 %if %{with pae}
257 %ifarch i686 athlon pentium3 pentium4
258 Requires:       cpuinfo(pae)
259 %endif
260 %endif
261 Suggests:       dracut
262 Suggests:       keyutils
263 Suggests:       linux-firmware
264 Provides:       %{name}(netfilter) = 20070806
265 Provides:       %{name}(vermagic) = %{kernel_release}
266 Obsoletes:      kernel%{_alt_kernel}-char-lirc-ene0100
267 Obsoletes:      kernel%{_alt_kernel}-char-lirc-it87
268 Obsoletes:      kernel%{_alt_kernel}-char-lirc-ite8709
269 Obsoletes:      kernel%{_alt_kernel}-char-lirc-mceusb
270 Obsoletes:      kernel%{_alt_kernel}-char-lirc-streamzap
271 Obsoletes:      kernel%{_alt_kernel}-isdn-mISDN
272 Obsoletes:      kernel-firmware
273 Obsoletes:      kernel-misc-acer_acpi
274 Obsoletes:      kernel-misc-fuse
275 Obsoletes:      kernel-misc-uvc
276 Obsoletes:      kernel-modules
277 Obsoletes:      kernel-net-ar81
278 Obsoletes:      kernel-net-hostap
279 Obsoletes:      kernel-net-ieee80211
280 Obsoletes:      kernel-net-ipp2p
281 Obsoletes:      kernel-net-rt61
282 Obsoletes:      kernel-smp
283 Conflicts:      e2fsprogs < 1.29
284 Conflicts:      isdn4k-utils < 3.1pre1
285 Conflicts:      jfsutils < 1.1.3
286 Conflicts:      linux-firmware < 20120720
287 Conflicts:      lvm2 < 2.02.40
288 Conflicts:      module-init-tools < 3.16
289 Conflicts:      nfs-utils < 1.0.5
290 Conflicts:      oprofile < 0.9
291 Conflicts:      ppp < 1:2.4.0
292 Conflicts:      procps < 3.2.0
293 Conflicts:      quota-tools < 3.09
294 %{?with_reiserfs4:Conflicts:    reiser4progs < 1.0.0}
295 Conflicts:      reiserfsprogs < 3.6.3
296 Conflicts:      rpm < 4.4.2-0.2
297 Conflicts:      udev < 1:081
298 Conflicts:      util-linux < 2.10o
299 Conflicts:      util-vserver < 0.30.216
300 Conflicts:      xfsprogs < 2.6.0
301 ExclusiveArch:  %{ix86} %{x8664} alpha arm ia64 ppc ppc64 sparc sparc64
302 ExclusiveOS:    Linux
303 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
304
305 %ifarch %{ix86} %{x8664}
306 %define         target_arch_dir         x86
307 %endif
308 %ifarch ppc ppc64
309 %define         target_arch_dir         powerpc
310 %endif
311 %ifarch sparc sparc64
312 %define         target_arch_dir         sparc
313 %endif
314 %ifnarch %{ix86} %{x8664} ppc ppc64 sparc sparc64
315 %define         target_arch_dir         %{_target_base_arch}
316 %endif
317
318 %define         defconfig       arch/%{target_arch_dir}/defconfig
319
320 # No ELF objects there to strip (skips processing 27k files)
321 %define         _noautostrip    \\(.*%{_kernelsrcdir}/.*\\|.*/vmlinux.*\\)
322 %define         _noautochrpath  .*%{_kernelsrcdir}/.*
323 %define         _enable_debug_packages  0
324
325 %ifarch ia64
326 %define         initrd_dir      /boot/efi
327 %else
328 %define         initrd_dir      /boot
329 %endif
330
331 %define         topdir          %{_builddir}/%{name}-%{version}
332 %define         srcdir          %{topdir}/linux-%{basever}
333 %define         objdir          %{topdir}/%{targetobj}
334 %define         targetobj       %{_target_base_arch}-gcc-%(%{kgcc} -dumpversion)
335
336 %define         _kernelsrcdir   /usr/src/linux%{_alt_kernel}-%{version}
337
338 %if "%{_target_base_arch}" != "%{_host_base_arch}"
339         %define CrossOpts ARCH=%{_target_base_arch} CROSS_COMPILE=%{_target_cpu}-pld-linux-
340         %define DepMod /bin/true
341
342         %if "%{_host_base_arch}" == "sparc" && "%{_target_base_arch}" == "sparc64"
343         %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
344         %define DepMod /sbin/depmod
345         %endif
346
347         %if "%{_host_base_arch}" == "sparc64" && "%{_target_base_arch}" == "sparc"
348         %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
349         %define DepMod /sbin/depmod
350         %endif
351
352         %if "%{_host_base_arch}" == "x86_64" && "%{_target_base_arch}" == "i386"
353         %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
354         %define DepMod /sbin/depmod
355         %endif
356
357         %if "%{_target_base_arch}" == "ppc" || "%{_target_base_arch}" == "ppc64"
358         %define CrossOpts ARCH=powerpc CROSS_COMPILE=%{_target_cpu}-pld-linux-
359         %endif
360 %else
361         %ifarch ppc ppc64
362         %define CrossOpts ARCH=powerpc CC="%{__cc}"
363         %else
364         %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
365         %endif
366         %define DepMod /sbin/depmod
367 %endif
368 %define MakeOpts %{CrossOpts} HOSTCC="%{__cc}"
369
370 %define __features \
371 %{?with_fbcondecor:Fbsplash/fbcondecor - enabled }\
372 %{?with_nfsroot:Root on NFS - enabled}\
373
374 %define Features %(echo "%{__features}" | sed '/^$/d')
375
376 %description
377 This package contains the Linux kernel that is used to boot and run
378 your system. It contains few device drivers for specific hardware.
379 Most hardware is instead supported by modules loaded after booting.
380
381 %{Features}
382
383 %description -l de.UTF-8
384 Das Kernel-Paket enthält den Linux-Kernel (vmlinuz), den Kern des
385 Linux-Betriebssystems. Der Kernel ist für grundliegende
386 Systemfunktionen verantwortlich: Speicherreservierung,
387 Prozeß-Management, Geräte Ein- und Ausgaben, usw.
388
389 %{Features}
390
391 %description -l fr.UTF-8
392 Le package kernel contient le kernel linux (vmlinuz), la partie
393 centrale d'un système d'exploitation Linux. Le noyau traite les
394 fonctions basiques d'un système d'exploitation: allocation mémoire,
395 allocation de process, entrée/sortie de peripheriques, etc.
396
397 %{Features}
398
399 %description -l pl.UTF-8
400 Pakiet zawiera jÄ…dro Linuksa niezbÄ™dne do prawidÅ‚owego dziaÅ‚ania
401 Twojego komputera. Zawiera w sobie sterowniki do sprzÄ™tu znajdujÄ…cego
402 siÄ™ w komputerze, takiego jak sterowniki dysków itp.
403
404 %{Features}
405
406 %package vmlinux
407 Summary:        vmlinux - uncompressed kernel image
408 Summary(de.UTF-8):      vmlinux - dekompressiertes Kernel Bild
409 Summary(pl.UTF-8):      vmlinux - rozpakowany obraz jÄ…dra
410 Group:          Base/Kernel
411 Obsoletes:      kernel-smp-vmlinux
412
413 %description vmlinux
414 vmlinux - uncompressed kernel image.
415
416 %description vmlinux -l de.UTF-8
417 vmlinux - dekompressiertes Kernel Bild.
418
419 %description vmlinux -l pl.UTF-8
420 vmlinux - rozpakowany obraz jÄ…dra.
421
422 %package drm
423 Summary:        DRM kernel modules
424 Summary(de.UTF-8):      DRM Kernel Treiber
425 Summary(pl.UTF-8):      Sterowniki DRM
426 Group:          Base/Kernel
427 Requires(postun):       %{name} = %{epoch}:%{version}-%{release}
428 Requires:       %{name} = %{epoch}:%{version}-%{release}
429 Obsoletes:      kernel-smp-drm
430 AutoReqProv:    no
431
432 %description drm
433 DRM kernel modules.
434
435 %description drm -l de.UTF-8
436 DRM Kernel Treiber.
437
438 %description drm -l pl.UTF-8
439 Sterowniki DRM.
440
441 %package pcmcia
442 Summary:        PCMCIA modules
443 Summary(de.UTF-8):      PCMCIA Module
444 Summary(pl.UTF-8):      ModuÅ‚y PCMCIA
445 Group:          Base/Kernel
446 Requires(postun):       %{name} = %{epoch}:%{version}-%{release}
447 Requires:       %{name} = %{epoch}:%{version}-%{release}
448 Obsoletes:      kernel-smp-pcmcia
449 Conflicts:      pcmcia-cs < 3.1.21
450 Conflicts:      pcmciautils < 004
451 AutoReqProv:    no
452
453 %description pcmcia
454 PCMCIA modules.
455
456 %description pcmcia -l de.UTF-8
457 PCMCIA Module.
458
459 %description pcmcia -l pl.UTF-8
460 ModuÅ‚y PCMCIA.
461
462 %package sound-alsa
463 Summary:        ALSA kernel modules
464 Summary(de.UTF-8):      ALSA Kernel Module
465 Summary(pl.UTF-8):      Sterowniki dźwiÄ™ku ALSA
466 Group:          Base/Kernel
467 Requires(postun):       %{name} = %{epoch}:%{version}-%{release}
468 Requires:       %{name} = %{epoch}:%{version}-%{release}
469 Obsoletes:      kernel-smp-sound-alsa
470 AutoReqProv:    no
471
472 %description sound-alsa
473 ALSA (Advanced Linux Sound Architecture) sound drivers.
474
475 %description sound-alsa -l de.UTF-8
476 ALSA (Advanced Linux Sound Architecture) Sound-Treiber.
477
478 %description sound-alsa -l pl.UTF-8
479 Sterowniki dźwiÄ™ku ALSA (Advanced Linux Sound Architecture).
480
481 %package sound-oss
482 Summary:        OSS kernel modules
483 Summary(de.UTF-8):      OSS Kernel Module
484 Summary(pl.UTF-8):      Sterowniki dźwiÄ™ku OSS
485 Group:          Base/Kernel
486 Requires(postun):       %{name} = %{epoch}:%{version}-%{release}
487 Requires:       %{name} = %{epoch}:%{version}-%{release}
488 Obsoletes:      kernel-smp-sound-oss
489 AutoReqProv:    no
490
491 %description sound-oss
492 OSS (Open Sound System) drivers.
493
494 %description sound-oss -l de.UTF-8
495 OSS (Open Sound System) Treiber.
496
497 %description sound-oss -l pl.UTF-8
498 Sterowniki dźwiÄ™ku OSS (Open Sound System).
499
500 %package headers
501 Summary:        Header files for the Linux kernel
502 Summary(de.UTF-8):      Header Dateien für den Linux-Kernel
503 Summary(pl.UTF-8):      Pliki nagłówkowe jÄ…dra Linuksa
504 Group:          Development/Building
505 Provides:       %{name}-headers(netfilter) = 20070806
506 AutoReqProv:    no
507
508 %description headers
509 These are the C header files for the Linux kernel, which define
510 structures and constants that are needed when rebuilding the kernel or
511 building kernel modules.
512
513 %description headers -l de.UTF-8
514 Dies sind die C Header Dateien für den Linux-Kernel, die definierte
515 Strukturen und Konstante beinhalten, die beim rekompilieren des
516 Kernels oder bei Kernel Modul kompilationen gebraucht werden.
517
518 %description headers -l pl.UTF-8
519 Pakiet zawiera pliki nagłówkowe jÄ…dra, niezbÄ™dne do rekompilacji jÄ…dra
520 oraz budowania modułów jÄ…dra.
521
522 %package module-build
523 Summary:        Development files for building kernel modules
524 Summary(de.UTF-8):      Development Dateien die beim Kernel Modul kompilationen gebraucht werden
525 Summary(pl.UTF-8):      Pliki sÅ‚użące do budowania modułów jÄ…dra
526 Group:          Development/Building
527 Requires:       %{name}-headers = %{epoch}:%{version}-%{release}
528 Conflicts:      rpmbuild(macros) < 1.652
529 AutoReqProv:    no
530
531 %description module-build
532 Development files from kernel source tree needed to build Linux kernel
533 modules from external packages.
534
535 %description module-build -l de.UTF-8
536 Development Dateien des Linux-Kernels die beim kompilieren externer
537 Kernel Module gebraucht werden.
538
539 %description module-build -l pl.UTF-8
540 Pliki ze drzewa ÅºródeÅ‚ jÄ…dra potrzebne do budowania modułów jÄ…dra
541 Linuksa z zewnÄ™trznych pakietów.
542
543 %package source
544 Summary:        Kernel source tree
545 Summary(de.UTF-8):      Der Kernel Quelltext
546 Summary(pl.UTF-8):      Kod ÅºródÅ‚owy jÄ…dra Linuksa
547 Group:          Development/Building
548 Requires:       %{name}-module-build = %{epoch}:%{version}-%{release}
549 AutoReqProv:    no
550
551 %description source
552 This is the source code for the Linux kernel. You can build a custom
553 kernel that is better tuned to your particular hardware.
554
555 %description source -l de.UTF-8
556 Das Kernel-Source-Paket enthält den source code (C/Assembler-Code) des
557 Linux-Kernels. Die Source-Dateien werden gebraucht, um viele
558 C-Programme zu kompilieren, da sie auf Konstanten zurückgreifen, die
559 im Kernel-Source definiert sind. Die Source-Dateien können auch
560 benutzt werden, um einen Kernel zu kompilieren, der besser auf Ihre
561 Hardware ausgerichtet ist.
562
563 %description source -l fr.UTF-8
564 Le package pour le kernel-source contient le code source pour le noyau
565 linux. Ces sources sont nécessaires pour compiler la plupart des
566 programmes C, car il dépend de constantes définies dans le code
567 source. Les sources peuvent Ãªtre aussi utilisée pour compiler un noyau
568 personnalisé pour avoir de meilleures performances sur des matériels
569 particuliers.
570
571 %description source -l pl.UTF-8
572 Pakiet zawiera kod ÅºródÅ‚owy jÄ…dra systemu.
573
574 %package doc
575 Summary:        Kernel documentation
576 Summary(de.UTF-8):      Kernel Dokumentation
577 Summary(pl.UTF-8):      Dokumentacja do jÄ…dra Linuksa
578 Group:          Documentation
579 AutoReqProv:    no
580
581 %description doc
582 This is the documentation for the Linux kernel, as found in
583 /usr/src/linux/Documentation directory.
584
585 %description doc -l de.UTF-8
586 Dies ist die Kernel Dokumentation wie sie im 'Documentation'
587 Verzeichniss vorgefunden werden kann.
588
589 %description doc -l pl.UTF-8
590 Pakiet zawiera dokumentacjÄ™ do jÄ…dra Linuksa pochodzÄ…cÄ… z katalogu
591 /usr/src/linux/Documentation.
592
593 %prep
594 %setup -qc
595 ln -s %{SOURCE7} kernel-module-build.pl
596 ln -s %{SOURCE10} Makefile
597 cd linux-%{basever}
598
599 %if "%{postver}" != ".0"
600 %patch0 -p1
601 %endif
602
603 %if %{without vanilla}
604
605 %if %{with fbcondecor}
606 %patch3 -p1
607 %endif
608 %patch4 -p1
609 %patch5 -p1
610
611 ## netfilter
612 #
613
614 # kernel-pom-ng-IPV4OPTSSTRIP.patch
615 %patch10 -p1
616
617 # kernel-pom-ng-mms-conntrack-nat.patch
618 # FIXME FOR 3.6 KERNEL
619 #%%patch16 -p1
620
621 # kernel-pom-ng-rsh.patch
622 # FIXME FOR 3.6 KERNEL
623 #%%patch22 -p1
624
625 # kernel-pom-ng-rpc.patch
626 # FIXME FOR 3.6 KERNEL
627 #%%patch23 -p1
628
629 # kernel-owner-xid.patch
630 %if %{with vserver}
631 %patch37 -p1
632 %endif
633
634 # kernel-layer7.patch
635 %patch40 -p1
636
637 ##
638 # end of netfilter
639
640 # zph
641 %patch49 -p1
642
643 %if %{with imq}
644 %patch50 -p1
645 %endif
646
647 # reiser4
648 %if %{with reiser4}
649 %patch51 -p1
650 %endif
651
652 # esfq
653 %if %{with esfq}
654 %patch53 -p1
655 %endif
656
657 %patch55 -p1
658 %patch56 -p1
659
660 # kernel-rndis_host-wm5.patch
661 %patch59 -p1
662
663 # hostap enhancements from/for aircrack-ng
664 %patch85 -p1
665
666 # vserver
667 %if %{with vserver}
668 %patch100 -p1
669 %patch101 -p1
670 %endif
671
672 # aufs3
673 %patch145 -p1
674 %{?with_unionfs:%patch146 -p1}
675
676 # unionfs
677 %{?with_unionfs:%patch140 -p1}
678
679 %if %{with rescuecd}
680 %patch7000 -p1
681 %endif
682
683 # apparmor
684 %patch5000 -p1
685
686 %patch250 -p1
687
688 # virtio-gl
689 %patch400 -p1
690
691 %endif # vanilla
692
693 # Small fixes:
694 %patch2000 -p1
695 %patch2001 -p1
696 #%patch2003 -p1
697
698 # Do not remove this, please!
699 #%%patch50000 -p1
700
701 # Fix EXTRAVERSION in main Makefile
702 sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{?alt_kernel:.%{alt_kernel}}#g' Makefile
703
704 # cleanup backups after patching
705 find '(' -name '*~' -o -name '*.orig' -o -name '.gitignore' ')' -print0 | xargs -0 -r -l512 rm -f
706
707 %build
708 install -d %{objdir}
709 cat > %{targetobj}.mk <<'EOF'
710 # generated by %{name}.spec
711 KERNELSRC               := %{srcdir}
712 KERNELOUTPUT    := %{objdir}
713
714 SRCARCH         := %{target_arch_dir}
715 ARCH            := %{_target_base_arch}
716 Q                       := %{!?with_verbose:@}
717 MAKE_OPTS       := %{MakeOpts}
718 DEFCONFIG   := %{defconfig}
719 EOF
720
721 RescueConfig() {
722         set -x
723         cat <<-EOCONFIG > $1
724                 # CONFIG_SOUND is not set
725                 # CONFIG_AUDIT is not set
726                 # CONFIG_TR is not set
727                 # CONFIG_BT is not set
728                 # CONFIG_VIDEO_DEV is not set
729                 # CONFIG_DVB_CORE is not set
730                 # CONFIG_HAMRADIO is not set
731                 # CONFIG_ARCNET is not set
732                 # CONFIG_FB is not set
733                 # CONFIG_DRM is not set
734                 # CONFIG_WATCHDOG is not set
735                 # CONFIG_INPUT_JOYSTICK is not set
736                 # CONFIG_DEBUG_KERNEL is not set
737                 # CONFIG_ISDN is not set
738                 # CONFIG_AGP is not set
739                 # CONFIG_SECURITY is not set
740                 # CONFIG_PARIDE is not set
741                 # CONFIG_CPU_FREQ is not set
742                 # CONFIG_GAMEPORT is not set
743                 # CONFIG_KVM is not set
744                 # CONFIG_PHONE is not set
745                 # CONFIG_STRICT_DEVMEM is not set
746                 # CONFIG_IMA is not set
747                 CONFIG_AUFS=y
748                 CONFIG_AUFS_FS=y
749                 CONFIG_AUFS_BR_RAMFS=y
750                 CONFIG_AUFS_RDU=y
751                 CONFIG_BLK_DEV_LOOP=y
752                 CONFIG_ISO9660_FS=y
753                 CONFIG_NLS_UTF8=y
754                 CONFIG_SQUASHFS=y
755 EOCONFIG
756
757         return 0
758 }
759
760 BuildConfig() {
761         %{?debug:set -x}
762         set -e
763
764         Config="kernel-%{target_arch_dir}.config"
765         echo >&2 "Building config file for %{_target_cpu} using $Config et al."
766
767         # prepare local and important options
768         cat <<-EOCONFIG > important.config
769                 LOCALVERSION="-%{localversion}"
770
771 %if 0%{?debug:1}
772                 CONFIG_DEBUG_SLAB=y
773                 CONFIG_DEBUG_SLAB_LEAK=y
774                 CONFIG_DEBUG_PREEMPT=y
775                 CONFIG_RT_DEADLOCK_DETECT=y
776 %endif
777
778 %if %{without ipv6}
779                 CONFIG_IPV6=n
780 %endif
781
782 %ifarch i686 athlon pentium3 pentium4
783   %if %{with pae}
784                 CONFIG_HIGHMEM4G=n
785                 CONFIG_HIGHMEM64G=y
786                 CONFIG_X86_PAE=y
787                 CONFIG_NUMA=n
788   %endif
789 %endif
790
791 %if %{without pcmcia}
792                 CONFIG_PCMCIA=n
793 %endif
794
795 %if %{with fbcondecor}
796                 CONFIG_FB_S3=n
797                 CONFIG_FB_VT8623=n
798                 CONFIG_FB_ARK=n
799                 CONFIG_FB_TILEBLITTING=n
800                 CONFIG_FB_CON_DECOR=y
801 %endif
802
803 %if %{with nfsroot}
804                 CONFIG_NFS_FS=y
805                 CONFIG_ROOT_NFS=y
806 %endif
807 EOCONFIG
808
809 %if %{with rescuecd}
810         RescueConfig rescue.config
811 %endif
812         # prepare kernel-style config file from multiple config files
813         %{__awk} -v arch="all %{target_arch_dir} %{_target_base_arch} %{_target_cpu}" -f %{SOURCE6} \
814 %if %{with myown}
815                 $RPM_SOURCE_DIR/kernel-%{alt_kernel}.config \
816 %endif
817                 important.config \
818 %if %{without vanilla}
819 %if %{with rescuecd}
820                 %{SOURCE58} \
821                 rescue.config \
822 %endif
823                 \
824 %if %{with reiser4}
825                 %{SOURCE56} \
826 %endif
827 %if %{with imq}
828                 %{SOURCE55} \
829 %endif
830 %if %{with vserver}
831                 %{SOURCE43} \
832 %endif
833                 %{SOURCE41} %{?0:patches} \
834 %endif
835                 %{SOURCE20} \
836                 $RPM_SOURCE_DIR/$Config
837 }
838
839 cd %{objdir}
840 install -d arch/%{target_arch_dir}
841 BuildConfig > %{defconfig}
842 ln -sf %{defconfig} .config
843 cd -
844
845 %{__make} \
846         TARGETOBJ=%{targetobj} \
847         %{?with_verbose:V=1} \
848         oldconfig
849
850 %{__awk} %{?debug:-v dieOnError=1} -v infile=%{objdir}/%{defconfig} -f %{SOURCE8} %{objdir}/.config
851
852 # build kernel
853 %{__make} \
854         TARGETOBJ=%{targetobj} \
855         %{?with_verbose:V=1} \
856         all
857
858 %install
859 rm -rf $RPM_BUILD_ROOT
860 %{__make} %{MakeOpts} -j1 %{!?with_verbose:-s} modules_install firmware_install \
861         -C %{objdir} \
862         %{?with_verbose:V=1} \
863         DEPMOD=%{DepMod} \
864         INSTALL_MOD_PATH=$RPM_BUILD_ROOT \
865         INSTALL_FW_PATH=$RPM_BUILD_ROOT/lib/firmware/%{kernel_release} \
866         KERNELRELEASE=%{kernel_release}
867
868 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/misc
869
870 # create directories which may be missing, to simplyfy %files
871 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/kernel/{arch,sound,mm}
872
873 # rpm obeys filelinkto checks for ghosted symlinks, convert to files
874 rm -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
875 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
876
877 # no point embed content for %ghost files. empty them
878 for a in \
879         dep{,.bin} \
880         alias{,.bin} \
881         devname \
882         softdep \
883         symbols{,.bin} \
884         {pci,usb,ccw,isapnp,input,ieee1394,serio,of}map \
885 ; do
886         test -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
887         > $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
888 done
889
890 # /boot
891 install -d $RPM_BUILD_ROOT/boot
892 cp -a %{objdir}/System.map $RPM_BUILD_ROOT/boot/System.map-%{kernel_release}
893 %ifarch %{ix86} %{x8664}
894         cp -a %{objdir}/arch/%{target_arch_dir}/boot/bzImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
895         install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
896 %endif
897 %ifarch ppc ppc64
898         install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
899         install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
900 %endif
901 %ifarch ia64
902         %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
903         cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/efi/vmlinuz-%{kernel_release}
904         ln -sf efi/vmlinuz-%{kernel_release} $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
905 %endif
906 %ifarch alpha sparc sparc64
907         %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
908         cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
909         install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
910         %ifarch sparc
911                 elftoaout %{objdir}/arch/sparc/boot/image -o %{objdir}/vmlinux.aout
912                 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
913         %endif
914         %ifarch sparc64
915                 elftoaout %{objdir}/arch/sparc64/boot/image -o %{objdir}/vmlinux.aout
916                 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
917         %endif
918 %endif
919 %ifarch arm
920         install -p %{objdir}/arch/arm/boot/zImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
921 %endif
922
923 # ghosted initrd
924 touch $RPM_BUILD_ROOT%{initrd_dir}/initrd-%{kernel_release}.gz
925 touch $RPM_BUILD_ROOT%{initrd_dir}/initramfs-%{kernel_release}.img
926
927 %if "%{_target_base_arch}" != "%{_host_base_arch}"
928 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.dep
929 %endif
930
931 # /etc/modrobe.d
932 install -d $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{kernel_release}
933
934 # /usr/src/linux
935 install -d $RPM_BUILD_ROOT%{_kernelsrcdir}
936
937 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
938 if cp -al %{srcdir}/COPYING $RPM_BUILD_ROOT/COPYING 2>/dev/null; then
939         l=l
940         rm -f $RPM_BUILD_ROOT/COPYING
941 fi
942
943 cp -a$l %{srcdir}/* $RPM_BUILD_ROOT%{_kernelsrcdir}
944 cp -a %{objdir}/Module.symvers $RPM_BUILD_ROOT%{_kernelsrcdir}
945 cp -aL %{objdir}/.config $RPM_BUILD_ROOT%{_kernelsrcdir}
946 cp -a %{objdir}/include $RPM_BUILD_ROOT%{_kernelsrcdir}
947 # copy arch/x86/include/generated
948 for dir in $(cd %{objdir} && find arch -name generated -type d); do
949         cp -a %{objdir}/$dir $RPM_BUILD_ROOT%{_kernelsrcdir}/$dir
950         find $RPM_BUILD_ROOT%{_kernelsrcdir}/$dir -name '.*.cmd' -exec rm "{}" ";"
951 done
952
953 # disable this here, causes a lot of build-time problems and our rpm-build disables it anyway
954 %{__sed} -i -e 's|\(CONSTIFY_PLUGIN.*:=.*\)|# \1|' $RPM_BUILD_ROOT%{_kernelsrcdir}/Makefile
955
956 # collect module-build files and directories
957 # Usage: kernel-module-build.pl $rpmdir $fileoutdir
958 fileoutdir=$(pwd)
959 cd $RPM_BUILD_ROOT%{_kernelsrcdir}
960 %{__perl} %{topdir}/kernel-module-build.pl %{_kernelsrcdir} $fileoutdir
961 cd -
962
963 for f in `find %{objdir}/scripts -type f -print | grep -v "/\.\|\.o$"` ; do
964         ff=${f##%{objdir}/}
965         if [ -x "$f" ]; then
966                 echo "%attr(755,root,root) %{_kernelsrcdir}/$ff" >>files.mb_include_modulebuild_and_dirs
967         else
968                 echo "%{_kernelsrcdir}/$ff" >>files.mb_include_modulebuild_and_dirs
969         fi
970         echo "%exclude %{_kernelsrcdir}/$ff" >>files.source_exclude_modulebuild_and_dirs
971         cp -a "$f" "$RPM_BUILD_ROOT%{_kernelsrcdir}/$ff"
972 done
973
974 # move to %{_docdir} so we wouldn't depend on any kernel package for dirs
975 install -d $RPM_BUILD_ROOT%{_docdir}
976 mv $RPM_BUILD_ROOT{%{_kernelsrcdir}/Documentation,%{_docdir}/%{name}-%{version}}
977
978 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/dontdiff
979 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/Makefile
980 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/Makefile
981 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/*/Makefile
982
983 %clean
984 rm -rf $RPM_BUILD_ROOT
985
986 %preun
987 if [ -x /sbin/new-kernel-pkg ]; then
988         /sbin/new-kernel-pkg --remove %{kernel_release}
989 fi
990
991 %post
992 %ifarch ia64
993 mv -f /boot/efi/vmlinuz{,.old} 2> /dev/null
994 %{?alt_kernel:mv -f /boot/efi/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
995 ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz
996 %{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz%{_alt_kernel}}
997 %endif
998 mv -f /boot/vmlinuz{,.old} 2> /dev/null
999 %{?alt_kernel:mv -f /boot/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
1000 mv -f /boot/System.map{,.old} 2> /dev/null
1001 %{?alt_kernel:mv -f /boot/System%{_alt_kernel}.map{,.old} 2> /dev/null}
1002 ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz
1003 %{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz%{_alt_kernel}}
1004 ln -sf System.map-%{kernel_release} /boot/System.map
1005 %{?alt_kernel:ln -sf System.map-%{kernel_release} /boot/System.map%{_alt_kernel}}
1006
1007 %depmod %{kernel_release}
1008
1009 %posttrans
1010 # generate initrd after all dependant modules are installed
1011 /sbin/geninitrd -f --initrdfs=initramfs %{initrd_dir}/initrd-%{kernel_release}.gz %{kernel_release}
1012 mv -f %{initrd_dir}/initrd{,.old} 2> /dev/null
1013 %{?alt_kernel:mv -f %{initrd_dir}/initrd%{_alt_kernel}{,.old} 2> /dev/null}
1014 ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd
1015 %{?alt_kernel:ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd%{_alt_kernel}}
1016
1017 # if dracut is present then generate full-featured initramfs
1018 if [ -x /sbin/dracut ]; then
1019         /sbin/dracut --force --quiet /boot/initramfs-%{kernel_release}.img %{kernel_release}
1020 fi
1021
1022 # update boot loaders when old package files are gone from filesystem
1023 if [ -x /sbin/update-grub -a -f /etc/sysconfig/grub ]; then
1024         if [ "$(. /etc/sysconfig/grub; echo ${UPDATE_GRUB:-no})" = "yes" ]; then
1025                 /sbin/update-grub >/dev/null
1026         fi
1027 fi
1028 if [ -x /sbin/new-kernel-pkg ]; then
1029         /sbin/new-kernel-pkg --initrdfile=%{initrd_dir}/initrd-%{kernel_release}.gz --install %{kernel_release} --banner "PLD Linux (%{pld_release})%{?alt_kernel: / %{alt_kernel}}"
1030 fi
1031 if [ -x /sbin/rc-boot ]; then
1032         /sbin/rc-boot 1>&2 || :
1033 fi
1034
1035 %post vmlinux
1036 mv -f /boot/vmlinux{,.old} 2> /dev/null
1037 %{?alt_kernel:mv -f /boot/vmlinux-%{alt_kernel}{,.old} 2> /dev/null}
1038 ln -sf vmlinux-%{kernel_release} /boot/vmlinux
1039 %{?alt_kernel:ln -sf vmlinux-%{kernel_release} /boot/vmlinux-%{alt_kernel}}
1040
1041 %post drm
1042 %depmod %{kernel_release}
1043
1044 %postun drm
1045 %depmod %{kernel_release}
1046
1047 %post pcmcia
1048 %depmod %{kernel_release}
1049
1050 %postun pcmcia
1051 %depmod %{kernel_release}
1052
1053 %post sound-alsa
1054 %depmod %{kernel_release}
1055
1056 %postun sound-alsa
1057 %depmod %{kernel_release}
1058
1059 %post sound-oss
1060 %depmod %{kernel_release}
1061
1062 %postun sound-oss
1063 %depmod %{kernel_release}
1064
1065 %post headers
1066 ln -snf %{basename:%{_kernelsrcdir}} %{_prefix}/src/linux%{_alt_kernel}
1067
1068 %postun headers
1069 if [ "$1" = "0" ]; then
1070         if [ -L %{_prefix}/src/linux%{_alt_kernel} ]; then
1071                 if [ "$(readlink %{_prefix}/src/linux%{_alt_kernel})" = "linux%{_alt_kernel}-%{version}" ]; then
1072                         rm -f %{_prefix}/src/linux%{_alt_kernel}
1073                 fi
1074         fi
1075 fi
1076
1077 %triggerin module-build -- %{name} = %{epoch}:%{version}-%{release}
1078 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/build
1079 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/source
1080
1081 %triggerun module-build -- %{name} = %{epoch}:%{version}-%{release}
1082 if [ "$1" = 0 ]; then
1083         rm -f /lib/modules/%{kernel_release}/{build,source}
1084 fi
1085
1086 %files
1087 %defattr(644,root,root,755)
1088 %ifarch sparc sparc64
1089 /boot/vmlinux.aout-%{kernel_release}
1090 %endif
1091 %ifarch ia64
1092 /boot/efi/vmlinuz-%{kernel_release}
1093 %endif
1094 /boot/vmlinuz-%{kernel_release}
1095 /boot/System.map-%{kernel_release}
1096 %ghost %{initrd_dir}/initrd-%{kernel_release}.gz
1097 %ghost %{initrd_dir}/initramfs-%{kernel_release}.img
1098 /lib/firmware/%{kernel_release}
1099
1100 %dir /lib/modules/%{kernel_release}
1101 %dir /lib/modules/%{kernel_release}/kernel
1102 /lib/modules/%{kernel_release}/kernel/arch
1103 /lib/modules/%{kernel_release}/kernel/crypto
1104 /lib/modules/%{kernel_release}/kernel/drivers
1105 %if %{have_drm}
1106 %exclude /lib/modules/%{kernel_release}/kernel/drivers/gpu
1107 %endif
1108 /lib/modules/%{kernel_release}/kernel/fs
1109 /lib/modules/%{kernel_release}/kernel/kernel
1110 /lib/modules/%{kernel_release}/kernel/lib
1111 /lib/modules/%{kernel_release}/kernel/net
1112 /lib/modules/%{kernel_release}/kernel/mm
1113 %if %{have_sound}
1114 %dir /lib/modules/%{kernel_release}/kernel/sound
1115 /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1116 /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1117 %ifnarch sparc
1118 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1119 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1120 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
1121 %endif
1122 %endif
1123 %dir /lib/modules/%{kernel_release}/misc
1124 %if %{have_pcmcia}
1125 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/[!p]*
1126 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pd6729.ko*
1127 %exclude /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1128 %if %{without rescuecd}
1129 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1130 %exclude /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1131 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1132 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1133 %exclude /lib/modules/%{kernel_release}/kernel/drivers/staging/telephony/ixj_pcmcia.ko*
1134 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1135 %endif
1136 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1137 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1138 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1139 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1140 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1141 %exclude /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1142 %exclude /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/8250/serial_cs.ko*
1143 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1144 %endif
1145 %if %{with myown}
1146 /lib/modules/%{kernel_release}/kernel/sound
1147 %endif
1148 /lib/modules/%{kernel_release}/kernel/security
1149
1150 %dir %{_sysconfdir}/modprobe.d/%{kernel_release}
1151
1152 # provided by build
1153 /lib/modules/%{kernel_release}/modules.order
1154 /lib/modules/%{kernel_release}/modules.builtin*
1155
1156 # rest modules.* are ghost (regenerated by post depmod -a invocation)
1157 %ghost /lib/modules/%{kernel_release}/modules.alias
1158 %ghost /lib/modules/%{kernel_release}/modules.alias.bin
1159 %ghost /lib/modules/%{kernel_release}/modules.ccwmap
1160 %ghost /lib/modules/%{kernel_release}/modules.dep
1161 %ghost /lib/modules/%{kernel_release}/modules.dep.bin
1162 %ghost /lib/modules/%{kernel_release}/modules.devname
1163 %ghost /lib/modules/%{kernel_release}/modules.ieee1394map
1164 %ghost /lib/modules/%{kernel_release}/modules.inputmap
1165 %ghost /lib/modules/%{kernel_release}/modules.isapnpmap
1166 %ghost /lib/modules/%{kernel_release}/modules.ofmap
1167 %ghost /lib/modules/%{kernel_release}/modules.pcimap
1168 %ghost /lib/modules/%{kernel_release}/modules.seriomap
1169 %ghost /lib/modules/%{kernel_release}/modules.softdep
1170 %ghost /lib/modules/%{kernel_release}/modules.symbols
1171 %ghost /lib/modules/%{kernel_release}/modules.symbols.bin
1172 %ghost /lib/modules/%{kernel_release}/modules.usbmap
1173
1174 # symlinks pointing to kernelsrcdir
1175 %ghost /lib/modules/%{kernel_release}/build
1176 %ghost /lib/modules/%{kernel_release}/source
1177
1178 %ifarch alpha %{ix86} %{x8664} ppc ppc64 sparc sparc64
1179 %files vmlinux
1180 %defattr(644,root,root,755)
1181 /boot/vmlinux-%{kernel_release}
1182 %endif
1183
1184 %if %{have_drm}
1185 %files drm
1186 %defattr(644,root,root,755)
1187 /lib/modules/%{kernel_release}/kernel/drivers/gpu
1188 %endif
1189
1190 %if %{have_pcmcia}
1191 %files pcmcia
1192 %defattr(644,root,root,755)
1193 /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/*ko*
1194 /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1195 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pcmcia*ko*
1196 %if %{without rescuecd}
1197 /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1198 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1199 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1200 /lib/modules/%{kernel_release}/kernel/drivers/staging/telephony/ixj_pcmcia.ko*
1201 %endif
1202 /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1203 /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1204 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1205 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1206 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1207 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1208 /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1209 /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/8250/serial_cs.ko*
1210 /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1211 %endif
1212
1213 %if %{have_sound}
1214 %files sound-alsa
1215 %defattr(644,root,root,755)
1216 /lib/modules/%{kernel_release}/kernel/sound
1217 %exclude %dir /lib/modules/%{kernel_release}/kernel/sound
1218 %exclude /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1219 %exclude /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1220 %if %{have_oss}
1221 %exclude /lib/modules/%{kernel_release}/kernel/sound/oss
1222 %endif
1223 %ifnarch sparc
1224 /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1225 /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1226 /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1227 /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
1228 %endif
1229
1230 %if %{have_oss}
1231 %files sound-oss
1232 %defattr(644,root,root,755)
1233 /lib/modules/%{kernel_release}/kernel/sound/oss
1234 %endif
1235 %endif
1236
1237 %files headers -f files.headers_exclude_kbuild
1238 %defattr(644,root,root,755)
1239 %dir %{_kernelsrcdir}
1240 %{_kernelsrcdir}/include
1241 %dir %{_kernelsrcdir}/arch
1242 %dir %{_kernelsrcdir}/arch/[!K]*
1243 %{_kernelsrcdir}/arch/*/include
1244 %dir %{_kernelsrcdir}/security
1245 %dir %{_kernelsrcdir}/security/selinux
1246 %{_kernelsrcdir}/security/selinux/include
1247 %{_kernelsrcdir}/.config
1248 %{_kernelsrcdir}/Module.symvers
1249
1250 %files module-build -f files.mb_include_modulebuild_and_dirs
1251 %defattr(644,root,root,755)
1252 %ifarch ppc ppc64
1253 %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1254 %endif
1255 %exclude %dir %{_kernelsrcdir}/arch/um
1256 %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1257 %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1258 %{_kernelsrcdir}/drivers/lguest/lg.h
1259 %{_kernelsrcdir}/drivers/media/video/bt8xx/bttv.h
1260 %{_kernelsrcdir}/kernel/bounds.c
1261 %{_kernelsrcdir}/scripts/basic/*.c
1262 %attr(755,root,root) %{_kernelsrcdir}/scripts/kconfig/*.sh
1263 %{_kernelsrcdir}/scripts/kconfig/*.in
1264 %{_kernelsrcdir}/scripts/kconfig/*_shipped
1265 %{_kernelsrcdir}/scripts/kconfig/*.pl
1266 %{_kernelsrcdir}/scripts/kconfig/*.glade
1267 %{_kernelsrcdir}/scripts/kconfig/*.gperf
1268 %{_kernelsrcdir}/scripts/kconfig/*.cc
1269 %{_kernelsrcdir}/scripts/kconfig/*.y
1270 %{_kernelsrcdir}/scripts/kconfig/*.l
1271 %{_kernelsrcdir}/scripts/kconfig/[c-k]*.c
1272 %{_kernelsrcdir}/scripts/kconfig/[c-k]*.h
1273 %{_kernelsrcdir}/scripts/kconfig/l*.h
1274 %{_kernelsrcdir}/scripts/kconfig/[m-u]*.c
1275 %{_kernelsrcdir}/scripts/kconfig/[m-u]*.h
1276 %{_kernelsrcdir}/scripts/kconfig/lxdialog
1277 %{_kernelsrcdir}/scripts/mod/*.c
1278 %{_kernelsrcdir}/scripts/mod/[^e]*.h
1279 %attr(755,root,root) %{_kernelsrcdir}/scripts/mkcompile_h
1280 %{_kernelsrcdir}/scripts/mkmakefile
1281 %{_kernelsrcdir}/scripts/module-common.lds
1282 %attr(755,root,root) %{_kernelsrcdir}/scripts/setlocalversion
1283 %{_kernelsrcdir}/scripts/*.c
1284 %attr(755,root,root) %{_kernelsrcdir}/scripts/*.sh
1285 %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
1286 %{_kernelsrcdir}/scripts/selinux/mdp/*.c
1287 %exclude %dir %{_kernelsrcdir}/security
1288 %exclude %dir %{_kernelsrcdir}/security/selinux
1289
1290 %if %{with doc}
1291 %files doc
1292 %defattr(644,root,root,755)
1293 %dir %{_docdir}/%{name}-%{version}
1294
1295 %{_docdir}/%{name}-%{version}/[!jkz]*
1296 %{_docdir}/%{name}-%{version}/[jkz]*.txt
1297 %{_docdir}/%{name}-%{version}/kbuild
1298 %{_docdir}/%{name}-%{version}/kdump
1299 %lang(ja) %{_docdir}/%{name}-%{version}/ja_JP
1300 %lang(ko) %{_docdir}/%{name}-%{version}/ko_KR
1301 %lang(zh_CN) %{_docdir}/%{name}-%{version}/zh_CN
1302 %endif
1303
1304 %if %{with source}
1305 %files source -f files.source_exclude_modulebuild_and_dirs
1306 %defattr(644,root,root,755)
1307 %{_kernelsrcdir}/arch/*/[!Mik]*
1308 %{_kernelsrcdir}/arch/*/kernel/[!M]*
1309 %{_kernelsrcdir}/arch/ia64/install.sh
1310 %{_kernelsrcdir}/arch/m68k/ifpsp060/[!M]*
1311 %{_kernelsrcdir}/arch/m68k/ifpsp060/MISC
1312 %{_kernelsrcdir}/arch/m68k/install.sh
1313 %{_kernelsrcdir}/arch/parisc/install.sh
1314 %{_kernelsrcdir}/arch/x86/ia32/[!M]*
1315 %{_kernelsrcdir}/arch/ia64/kvm
1316 %{_kernelsrcdir}/arch/powerpc/kvm
1317 %ifarch ppc ppc64
1318 %exclude %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1319 %endif
1320 %{_kernelsrcdir}/arch/s390/kvm
1321 %{_kernelsrcdir}/arch/x86/kvm
1322 %exclude %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1323 %exclude %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1324 %exclude %{_kernelsrcdir}/drivers/lguest/lg.h
1325 %exclude %{_kernelsrcdir}/drivers/media/video/bt8xx/bttv.h
1326 %{_kernelsrcdir}/block
1327 %{_kernelsrcdir}/crypto
1328 %{_kernelsrcdir}/drivers
1329 %{_kernelsrcdir}/firmware
1330 %{_kernelsrcdir}/fs
1331 %{_kernelsrcdir}/init
1332 %{_kernelsrcdir}/ipc
1333 %{_kernelsrcdir}/kernel
1334 %exclude %{_kernelsrcdir}/kernel/bounds.c
1335 %{_kernelsrcdir}/lib
1336 %{_kernelsrcdir}/mm
1337 %{_kernelsrcdir}/net
1338 %{_kernelsrcdir}/virt
1339 %{_kernelsrcdir}/samples
1340 %{_kernelsrcdir}/scripts/*
1341 %exclude %{_kernelsrcdir}/scripts/Kbuild.include
1342 %exclude %{_kernelsrcdir}/scripts/Makefile*
1343 %exclude %{_kernelsrcdir}/scripts/basic
1344 %exclude %{_kernelsrcdir}/scripts/kconfig
1345 %exclude %{_kernelsrcdir}/scripts/mkcompile_h
1346 %exclude %{_kernelsrcdir}/scripts/mkmakefile
1347 %exclude %{_kernelsrcdir}/scripts/mod
1348 %exclude %{_kernelsrcdir}/scripts/module-common.lds
1349 %exclude %{_kernelsrcdir}/scripts/setlocalversion
1350 %exclude %{_kernelsrcdir}/scripts/*.c
1351 %exclude %{_kernelsrcdir}/scripts/*.sh
1352 %exclude %dir %{_kernelsrcdir}/scripts/selinux
1353 %exclude %{_kernelsrcdir}/scripts/selinux/Makefile
1354 %exclude %dir %{_kernelsrcdir}/scripts/selinux/genheaders
1355 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
1356 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
1357 %exclude %dir %{_kernelsrcdir}/scripts/selinux/mdp
1358 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1359 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/*.c
1360 %{_kernelsrcdir}/sound
1361 %{_kernelsrcdir}/security
1362 %exclude %{_kernelsrcdir}/security/selinux/include
1363 %{_kernelsrcdir}/tools/*
1364 %{_kernelsrcdir}/usr
1365 %{_kernelsrcdir}/COPYING
1366 %{_kernelsrcdir}/CREDITS
1367 %{_kernelsrcdir}/MAINTAINERS
1368 %{_kernelsrcdir}/README
1369 %{_kernelsrcdir}/REPORTING-BUGS
1370 %endif
This page took 0.132701 seconds and 2 git commands to generate.