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