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