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