]> git.pld-linux.org Git - packages/kernel.git/blob - kernel.spec
- log modules dependencies when building
[packages/kernel.git] / kernel.spec
1 #
2 # If you define the following as 1, only kernel, -headers and -source
3 # packages will be built
4
5 %bcond_without smp      # don't build SMP kernel
6 %bcond_without up       # don't build UP kernel
7 %bcond_without boot     # don't build BOOT kernel
8 %bcond_without source   # don't build source
9 %bcond_without doc      # don't build documentation package
10 %bcond_without grsec    # don't apply grsecurity patch
11 %bcond_without kheaders # build without support for glibc-kernel-headers
12 %bcond_with win4lin     # apply the Win4lin patches
13
14 %define         base_arch %(echo %{_target_cpu} | sed 's/i.86/i386/;s/athlon/i386/;s/amd64/x86_64/')
15 %define         no_install_post_strip   1
16 %define         no_install_post_compress_modules        1
17 #
18 %define         pre_version             %{nil}
19 %define         netfilter_snap          20031209
20 %define         i2c_version             2.8.1
21 Summary:        The Linux kernel (the core of the Linux operating system)
22 Summary(de):    Der Linux-Kernel (Kern des Linux-Betriebssystems)
23 Summary(es):    Núcleo (Kernel) linux genérico
24 Summary(fr):    Le Kernel-Linux (La partie centrale du systeme)
25 Summary(pl):    J±dro Linuksa
26 Summary(pt_BR): Kernel Linux (a parte central do sistema operacional Linux)
27 Name:           kernel
28 Version:        2.4.23
29 Release:        0.8.2
30 License:        GPL v2
31 Group:          Base/Kernel
32 Source0:        ftp://ftp.kernel.org/pub/linux/kernel/v2.4/linux-%{version}.tar.bz2
33 # Source0-md5:  642af5ab5e1fc63685fde85e9ae601e4
34 Source1:        %{name}-autoconf.h
35 Source2:        %{name}-BuildASM.sh
36 Source3:        http://www.garloff.de/kurt/linux/dc395/dc395-141.tar.gz
37 # Source3-md5:  8ed492197244b6a772270417c66214d3
38 Source7:        http://www10.software.ibm.com/developer/opensource/jfs/project/pub/jfs-2.4-1.1.4.tar.gz
39 # Source7-md5:  ea33c28ca1d3afa448b20f337b615b48
40 Source20:       %{name}-ia32.config
41 Source21:       %{name}-ia32-smp.config
42 Source50:       %{name}-sparc.config
43 Source51:       %{name}-sparc-smp.config
44 Source60:       %{name}-sparc64.config
45 Source61:       %{name}-sparc64-smp.config
46 Source70:       %{name}-alpha.config
47 Source71:       %{name}-alpha-smp.config
48 Source73:       %{name}-ppc.config
49 Source74:       %{name}-ppc-smp.config
50 Source1000:     %{name}-addon.config
51 Source1001:     %{name}-netfilter.config
52 Source1002:     %{name}-grsec.config
53 Source2000:     %{name}-win4lin.config
54
55 # New features/updates/backports
56
57 # Essential stuff
58
59 Patch0:         %{name}-pldfblogo.patch
60
61 # from ftp://ftp.kernel.org/pub/linux/kernel/people/hvr/testing/
62 Patch10:        patch-cryptoloop-jari-2.4.22-rc2.0
63 # from ftp://ftp.xs4all.nl/pub/crypto/freeswan/freeswan-*
64 Patch12:        linux-2.4.23-freeswan-2.04.patch.gz
65 Patch15:        linux-2.4.23-sched-O1.patch
66 # http://dl.sourceforge.net/user-mode-linux/uml-patch-2.4.20-6.bz2
67 Patch20:        uml-patch-2.4.20-6-21.bz2
68 Patch21:        linux-2.4.21-uml-o1.patch
69 # http://dl.sourceforge.net/user-mode-linux/host-skas3.patch
70 Patch22:        linux-2.4.20-uml-host-skas3.patch
71 # http://www.kernel.org/pub/linux/kernel/people/jgarzik/libata/
72 Patch23:        2.4.23-libata1.patch.bz2
73 # missing <linux/mm.h> include in libata-core.c (needed on alpha)
74 Patch24:        linux-2.4.23-libata1-include.patch
75
76 # New filesystems
77
78 # http://linux-xfs.sgi.com/projects/xfs/
79 Patch25:        linux-2.4.23-xfs-2003-12-01.patch.gz
80 # http://acl.bestbits.at/
81 Patch31:        linux-2.4.21-jfs-acl.patch
82 Patch32:        linux-2.4.22-ea+acl+nfsacl-0.8.60.diff.gz
83 # http://dl.sourceforge.net/linux-ntfs/
84 Patch40:        linux-2.4.23-ntfs-2.1.5a.patch.bz2
85 # FC01_davfs_0.2.4.patch
86 Patch50:        linux-2.4.20-davfs-0.2.4.patch.bz2
87 # FC02_davfs__FUNCTION__.patch
88 Patch55:        linux-2.4.20-davfs-_FUNCTION_.patch
89 Patch60:        linux-2.4.22-data-loging+quota.patch
90 Patch61:        linux-2.4.22-acl+xattr.patch
91 # http://dl.sourceforge.net/squashfs/squashfs-1.3.tar.gz
92 Patch65:        squashfs1.3-2.4.21-patch
93 #from http://sci.felk.cvut.cz/nwd/linux/nwd-patch-2.4.19
94 Patch70:        nwd-2.4.21.patch
95 Patch80:        linux-2.4.22-intermezzo-acl.patch
96
97 # Networking
98
99 # ALWAYS use released patchomatic tarball (don't use CVS)
100 # DO NOT include patches from patch-o-matic/userspace since they cause iptables incompatibilities
101 Patch100:       linux-2.4.23-netfilter-pom-%{netfilter_snap}.patch.gz
102 Patch101:       linux-2.4.23-netfilter-IMQ-target.patch
103 # http://rnvs.informatik.uni-leipzig.de/ipp2p/index_en.html
104 # http://rnvs.informatik.uni-leipzig.de/ipp2p/downloads/ipp2p-0.5a_vs_2.4.22.diff.gz
105 Patch102:       ipp2p-0.5a_vs_2.4.22.diff.gz
106
107 # http://ebtables.sourceforge.net/
108 Patch110:       ebtables-brnf-3_vs_2.4.22.diff.gz
109 # http://trash.net/~kaber/imq/
110 Patch120:       linux-2.4.21-imq-1.diff
111 # ftp://ftp.samba.org/pub/unpacked/ppp/linux/mppe/
112 Patch125:       linux-2.4.18-mppe.patch
113 Patch130:       linux-2.4.22-tun-new-style.patch
114
115 # ATM bugfixes
116 # Patches by Chas Williams <chas@locutus.cmf.nrl.navy.mil>
117 # Included in Chas patch:
118 # http://tulipe.cnam.fr/personne/lizzi/linux/linux-2.3.99-pre6-fore200e-0.2f.tar.gz
119 # http://christophe.lizzi.free.fr/linux/linux-2.4.0-test9-fore200e-0.3.tar.gz
120 # ftp://ftp.cmf.nrl.navy.mil/pub/chas/linux-atm/
121 Patch150:       linux-2.4.21-atm_diffs.patch
122 Patch151:       ftp://ftp.cmf.nrl.navy.mil/pub/chas/linux-atm/vbr/vbr-kernel-diffs
123 Patch152:       linux-2.4.22-fore200e-0.2f.patch
124
125 # New devices/drivers
126
127 # http://people.sistina.com/~thornber/patches/2.4-stable/
128 Patch200:       linux-2.4.23-dm-3.patch
129
130 # EVMS additional patches (http://www.sourceforge.net/projects/evms/)
131 Patch205:       linux-2.4.22-evms-2.1.1.patch
132
133 #from http://dl.sourceforge.net/i810fb/linux-2.4.20-i810fb.diff.bz2
134 Patch210:       linux-2.4.21-I810FB.patch.gz
135
136 # Support for CDRW packet writing
137 Patch215:       %{name}-cdrw-packet.patch
138 Patch216:       %{name}-cd-mrw-2.patch
139 Patch225:       wrr-linux-2.4.9.patch
140 Patch226:       linux-2.4.18-esfq.diff
141 # http://l7-filter.sourceforge.net/
142 Patch227:       layer7-kernel2.4patch-v0.4.1a.patch.gz
143
144 Patch231:       linux-2.4.21-aic7xxx-mmapio.patch
145 Patch235:       linux-2.4.20-audigy.patch.bz2
146 Patch240:       linux-2.4.20-ecc.patch
147 # i2c - http://secure.netroedge.com/~lm78/
148 Patch255:       linux-2.4.23-i2c-%{i2c_version}.patch
149 Patch256:       linux-2.4.21-i2c-headers.patch
150 Patch257:       linux-2.4.21-i2c-sparc64.patch
151 Patch265:       linux-2.4.20-e820.patch
152 # Syntax bug
153 Patch270:       dc395-tab.patch
154 # http://www.qlogic.com/
155 Patch275:       linux-2.4.20-qla2x00-v6.04.00-fo.patch.gz
156
157 # TV stuff from http://bytesex.org/
158 Patch301:       20_v4l2-2.4.23-pre7.diff.gz
159 Patch302:       30_bt832-2.4.23-pre7.diff
160 Patch303:       30_btaudio-2.4.23-pre7.diff
161
162 # The following go last as they touch a lot of code
163 # and/or are on bcond and/or are ifarch
164
165 # Win4Lin
166 Patch900:       linux-2.4.20-Win4Lin.PLD.patch.bz2
167 Patch901:       linux-2.4.20-Win4Lin-mki-adapter.patch.bz2
168
169 # http://openipmi.sourceforge.net/
170 Patch950:       linux-2.4.23-ipmi-v27.patch
171
172 # Assorted bugfixes
173
174 # jam - http://giga.cps.unizar.es/~magallon/linux/kernel/
175 Patch1000:      jam-04-clone-detached.patch
176 Patch1002:      jam-06-force-inline.patch
177 Patch1003:      jam-07-scsi-error-tmout.patch
178 Patch1006:      jam-10-highpage-init.patch
179 Patch1007:      jam-11-self_exec_id.patch
180 Patch1008:      jam-15-fast-csum-D.patch
181 Patch1009:      jam-21-mem-barriers.patch
182 Patch1010:      jam-30-smptimers-A0.patch
183
184 Patch1102:      linux-2.4.20-lvm-updates.patch
185
186 # IrDA patch for broken IBM Latpops
187 Patch1104:      linux-2.4.21-irda-ibm.patch
188
189 # fix lun probing on multilun RAID chassis
190 Patch1105:      linux-2.4.12-scsi_scan.patch
191 Patch1106:      linux-scsi-debug-bug.patch
192
193 # This patch allows to create more than one sound device using alsa
194 # and devfs with two or more sound cards
195 Patch1111:      linux-sound_core.patch
196
197 # rivafb - fix for text background in 16bpp modes
198 Patch1150:      linux-rivafb16.patch
199 Patch1152:      linux-2.4.20-agp_uninorth.patch
200
201 Patch1201:      linux-2.4.21-cpqfc.patch
202 Patch1203:      linux-2.4.20-amd-golem.patch
203 Patch1205:      linux-53c7,8xx-build.fix
204 Patch1207:      linux-2.4.20-serverworks.patch
205 # this patch adds support for "io" and "irq" options in PCNet32 driver module
206 Patch1209:      linux-2.4.19-pcnet-parms.patch
207
208 # disable some networking printk's
209 Patch1250:      linux-2.4.1-netdebug.patch
210 Patch1251:      linux-2.4.2-raw-ip.patch
211 Patch1252:      linux-2.4.19-netmos_pci_parallel_n_serial.patch
212 Patch1253:      linux-proc_net_dev-counter-fix.patch
213 Patch1254:      kernel-2.4.17-netsyms-export-fix.patch
214 Patch1255:      linux-2.4.20-pre1-nr_frags.patch
215
216 Patch1301:      linux-2.4.18-hpfs.patch
217 Patch1302:      linux-2.4.18-nfs-default-size.patch
218 Patch1303:      linux-2.4.20-irixnfs.patch
219 # Tru64 NFS kludge
220 Patch1304:      linux-2.4.21-tru64nfs.patch
221 Patch1305:      linux-2.4.21-nfs-silly-rename.patch
222
223 Patch1350:      linux-2.4.21-nousb.patch
224 # from http://www.noc.uoa.gr/~avel/page.php?page=nokia&lang=en
225 Patch1354:      linux-2.4.20-Nokia5510.patch
226
227 # raid5 xor fix for PIII/P4, should go away shortly
228 Patch1400:      linux-2.4.0-raid5xor.patch
229 Patch1401:      linux-2.4.0-nonintconfig.patch
230 # Add an ioctl to the block layer so we can be EFI compliant
231 Patch1402:      linux-2.4.2-blkioctl-sector.patch
232 Patch1403:      linux-2.4.3-pcipenalty.patch
233 Patch1404:      linux-2.4.3-rawio.patch
234 Patch1405:      linux-2.4.7-suspend.patch
235 Patch1407:      kernel-Makefile-include-fix.patch
236 Patch1408:      kernel-pswscancode.patch
237 Patch1410:      linux-2.4.18-input-35215.patch
238 Patch1411:      linux-2.4.18-kiobuf.patch
239 Patch1413:      linux-2.4.22-andrea-9980_fix-pausing-6.patch
240 Patch1414:      linux-2.4.21-oopsmeharder.patch
241 Patch1415:      linux-mtd-missing-include-fix-2.4.7-pre6.patch
242 Patch1416:      linux-2.4.21-no-FPU.patch
243 Patch1418:      linux-2.4.21-hpt372-chicken-egg-hack.patch
244 Patch1419:      linux-2.4.21-agp-num_of_masks.patch
245 # fix spare disk counting for raid 5
246 Patch1420:      linux-raid5-spare-counting.patch
247 Patch1421:      linux-2.4.21-bttv-typo.patch
248
249 Patch2000:      linux-PPC-SMP.patch
250 Patch2001:      linux-2.4-ppc-procesor.patch
251 Patch2002:      kernel-2.4.18-SPARC64-PLD.patch
252 Patch2003:      linux-2.4.20-AXP-avma1_cs.patch
253 Patch2004:      linux-2.4.22-ppc-amd8111e.patch
254
255 Patch3000:      linux-2.4.1-compilefailure.patch
256 Patch3002:      linux-2.4.20-EXPORT_SYMBOL.patch
257 Patch3003:      linux-2.4.20-missing-license-tags.patch
258 Patch3004:      linux-2.4.20-sym53c8xx_old.patch
259 Patch3008:      linux-drm-4.2.0-force-cmpxchg.patch
260 Patch3010:      linux-2.4.21-ipsec-sparc64.patch
261 Patch3011:      linux-2.4.22-gcc33-inline.patch
262 Patch3012:      linux-2.4.22-gcc-ext3.patch
263 Patch3013:      linux-2.4.23-ppc-symbols.patch
264
265 # Security patches/fixes
266
267 # modified http://www.hardrock.org/kernel/current-updates/linux-2.4.23-updates.patch
268 # since we already have some of these fixes applied
269 Patch3500:      http://www.hardrock.org/kernel/current-updates/linux-2.4.23-updates.patch
270 Patch4000:      grsecurity-2.0-rc3-2.4.22-O1.patch
271
272 ExclusiveOS:    Linux
273 URL:            http://www.kernel.org/
274 %ifarch         %{ix86}
275 BuildRequires:  bin86
276 %endif
277 #BuildRequires: %{kgcc_package}
278 BuildRequires:  modutils
279 BuildRequires:  ed
280 PreReq:         modutils
281 PreReq:         geninitrd >= 1354
282 Requires(post,postun):  fileutils
283 Requires(postun):       awk
284 Provides:       %{name}-up = %{version}-%{release}
285 Provides:       module-info
286 Provides:       i2c = %{i2c_version}
287 Provides:       bttv = 0.7.83
288 Provides:       %{name}(netfilter) = 1.2.9-%{netfilter_snap}
289 Provides:       %{name}(reiserfs) = %{version}
290 Provides:       %{name}(agpgart) = %{version}
291 #Provides:      %{name}(cdrw)
292 #Provides:      %{name}(cdmrw)
293 AutoReqProv:    no
294 Obsoletes:      kernel-modules
295 Conflicts:      iptables < 1.2.9
296 Conflicts:      lvm < 1.0.4
297 Conflicts:      xfsprogs < 2.1.0
298 Conflicts:      reiserfsprogs < 3.6.3
299 Conflicts:      e2fsprogs < 1.25
300 Conflicts:      jfsutils < 1.0.12
301 Conflicts:      util-linux < 2.10o
302 Conflicts:      modutils < 2.4.2
303 Conflicts:      quota < 3.06
304 Conflicts:      linux-atm < 2.4.1
305 Conflicts:      device-mapper < 1.00.05
306 ExclusiveArch:  %{ix86} sparc sparc64 alpha ppc
307 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
308
309 %description
310 This package contains the Linux kernel that is used to boot and run
311 your system. It contains few device drivers for specific hardware.
312 Most hardware is instead supported by modules loaded after booting.
313
314 %description -l de
315 Das Kernel-Paket enthält den Linux-Kernel (vmlinuz), den Kern des
316 Linux-Betriebssystems. Der Kernel ist für grundliegende
317 Systemfunktionen verantwortlich: Speicherreservierung,
318 Prozeß-Management, Geräte Ein- und Ausgaben, usw.
319
320 %description -l es
321 Este paquete contiene núcleo (kernel) Linux que se usa para arranque y
322 funcionamiento de tu sistema. Contiene soporte a pocos hardwares
323 específicos. La mayoría de los hardwares son soportados, vía módulos
324 que se cargan después del arranque.
325
326 %description -l fr
327 Le package kernel contient le kernel linux (vmlinuz), la partie
328 centrale d'un système d'exploitation Linux. Le noyau traite les
329 fonctions basiques d'un système d'exploitation: allocation mémoire,
330 allocation de process, entrée/sortie de peripheriques, etc.
331
332 %description -l pl
333 Pakiet zawiera j±dro Linuksa niezbêdne do prawid³owego dzia³ania
334 Twojego komputera. Zawiera w sobie sterowniki do sprzêtu znajduj±cego
335 siê w komputerze, takich jak karty muzyczne, sterowniki dysków, etc.
336
337 %description -l pt_BR
338 Este pacote contém o kernel Linux que é usado para inicialização
339 e funcionamento de seu sistema. Contém suporte a poucos hardwares
340 específicos. A maioria dos hardwares são suportados via módulos
341 que são carregados após a inicialização.
342
343 %package smp
344 Summary:        Kernel version %{version} compiled for SMP machines
345 Summary(de):    Kernel version %{version} für Multiprozessor-Maschinen
346 Summary(es):    Núcleo (kernel) compilado para máquinas SMP
347 Summary(fr):    Kernel version %{version} compiler pour les machine Multi-Processeur
348 Summary(pl):    J±dro Linuksa %{version} skompilowane dla maszyn wieloprocesorowych
349 Summary(pt_BR): Kernel compilado para máquinas SMP
350 Group:          Base/Kernel
351 PreReq:         modutils
352 PreReq:         geninitrd >= 2.21
353 Requires(post,postun):  fileutils
354 Requires(postun):       awk
355 Provides:       %{name}-smp = %{version}-%{release}
356 Provides:       module-info
357 Provides:       i2c = %{i2c_version}
358 Provides:       bttv = 0.7.83
359 Provides:       %{name}(netfilter) = 1.2.9-%{netfilter_snap}
360 Provides:       %{name}(reiserfs) = %{version}
361 Provides:       %{name}(agpgart) = %{version}
362 #Provides:      %{name}(cdrw)
363 #Provides:      %{name}(cdmrw)
364 AutoReqProv:    no
365 Conflicts:      iptables < 1.2.9
366 Conflicts:      lvm < 1.0.4
367 Conflicts:      xfsprogs < 2.1.0
368 Conflicts:      reiserfsprogs < 3.6.3
369 Conflicts:      e2fsprogs < 1.25
370 Conflicts:      jfsutils < 1.0.12
371 Conflicts:      util-linux < 2.10o
372 Conflicts:      modutils < 2.4.2
373 Conflicts:      quota < 3.06
374 Conflicts:      linux-atm < 2.4.1
375 Conflicts:      device-mapper < 1.00.05
376
377 %description smp
378 This package includes a SMP version of the Linux %{version} kernel. It
379 is required only on machines with two or more CPUs, although it should
380 work fine on single-CPU boxes.
381
382 %description smp -l de
383 Dieses Paket enthält eine SMP (Multiprozessor)-Version von
384 Linux-Kernel %{version}. Es wird für Maschinen mit zwei oder mehr
385 Prozessoren gebraucht, sollte aber auch auf Computern mit nur einer
386 CPU laufen.
387
388 %description smp -l es
389 Núcleo (kernel) compilado para máquinas SMP
390
391 %description smp -l fr
392 Ce package inclu une version SMP du noyau de Linux version %{version}.
393 Il et nécessaire seulement pour les machine avec deux processeurs ou
394 plus, il peut quand même fonctionner pour les système mono-processeur.
395
396 %description smp -l pl
397 Pakiet zawiera j±dro SMP Linuksa w wersji %{version}. Jest ono
398 wymagane przez komputery zawieraj±ce dwa lub wiêcej procesorów.
399 Powinno równie¿ dobrze dzia³aæ na maszynach z jednym procesorem.
400
401 %description smp -l pt_BR
402 Este pacote inclui uma versão SMP do kernel Linux versão %{version}.
403 Ele deve ser utilizado apenas em máquinas com dois ou mais processadores,
404 apesar de trabalhar perfeitamente em máquinas com apenas um processador.
405
406 %package BOOT
407 Summary:        Kernel version %{version} used on the installation boot disks
408 Summary(de):    Kernel version %{version} für Installationsdisketten
409 Summary(es):    Núcleo (kernel) de Linux, utilizado en el disco de instalación
410 Summary(fr):    Kernel version %{version} utiliser pour les disquettes d'installation
411 Summary(pl):    J±dro Linuksa %{version} dla bootkietek instalacyjnych
412 Summary(pt_BR): Kernel Linux utilizado no disco de instalação
413 Group:          Base/Kernel
414 PreReq:         modutils
415 Requires(post,postun):  fileutils
416 Requires(postun):       awk
417 AutoReqProv:    no
418
419 %description BOOT
420 This package includes a trimmed down version of the Linux %{version}
421 kernel. This kernel is used on the installation boot disks only and
422 should not be used for an installed system, as many features in this
423 kernel are turned off because of the size constraints.
424
425 %description BOOT -l de
426 Dieses Paket enthält eine verkleinerte Version vom Linux-Kernel
427 version %{version}. Dieser Kernel wird auf den
428 Installations-Bootdisketten benutzt und sollte nicht auf einem
429 installierten System verwendet werden, da viele Funktionen wegen der
430 Platzprobleme abgeschaltet sind.
431
432 %description BOOT -l es
433 Núcleo (kernel) de Linux, utilizado en el disco de instalación
434
435 %description BOOT -l pl
436 Pakiet zawiera j±dro Linuksa dedykowane dyskietkom startowym i powinno
437 byæ u¿ywane jedynie podczas instalacji systemu. Wiele u¿ytecznych
438 opcji zosta³o wy³±czonych, aby jak najbardziej zmniejszyæ jego
439 rozmiar.
440
441 %description BOOT -l pt_BR
442 Este pacote inclui uma versão minimizada do kernel Linux, criada para
443 ser utilizada *apenas* no disco de instalação, e não deve ser utilizada
444 em máquinas já instaladas, pois várias características do kernel
445 são desabilitadas para diminuir o tamanho final do kernel a ser utilizado.
446
447 %package pcmcia
448 Summary:        PCMCIA modules
449 Summary(pl):    Modu³y PCMCIA
450 Group:          Base/Kernel
451 PreReq:         %{name}-up = %{version}-%{release}
452 Requires(postun):       %{name}-up = %{version}-%{release}
453 Provides:       kernel(pcmcia)
454
455 %description pcmcia
456 Kernel PCMCIA modules.
457
458 %description pcmcia -l pl
459 Modu³y PCMCIA z kernela.
460
461 %package smp-pcmcia
462 Summary:        PCMCIA modules for SMP kernel
463 Summary(pl):    Modu³y PCMCIA dla maszyn SMP
464 Group:          Base/Kernel
465 PreReq:         %{name}-smp = %{version}-%{release}
466 Requires(postun):       %{name}-smp = %{version}-%{release}
467 Provides:       kernel(pcmcia)
468
469 %description smp-pcmcia
470 Kernel PCMCIA modules for SMP kernel.
471
472 %description smp-pcmcia -l pl
473 Modu³y PCMCIA z kernela dla maszyn SMP.
474
475 %package drm
476 Summary:        DRM kernel modules
477 Summary(pl):    Sterowniki DRM
478 Group:          Base/Kernel
479 PreReq:         %{name}-up = %{version}-%{release}
480 Requires(postun):       %{name}-up = %{version}-%{release}
481 Provides:       %{name}-drm = %{drm_xfree_version}
482
483 %description drm
484 DRM kernel modules (%{drm_xfree_version}).
485
486 %description drm -l pl
487 Sterowniki DRM (%{drm_xfree_version}).
488
489 %package smp-drm
490 Summary:        DRM SMP kernel modules
491 Summary(pl):    Sterowniki DRM dla maszyn wieloprocesorowych
492 Group:          Base/Kernel
493 PreReq:         %{name}-smp = %{version}-%{release}
494 Requires(postun):       %{name}-smp = %{version}-%{release}
495 Provides:       %{name}-drm = %{drm_xfree_version}
496
497 %description smp-drm
498 DRM SMP kernel modules (%{drm_xfree_version}).
499
500 %description smp-drm -l pl
501 Sterowniki DRM dla maszyn wieloprocesorowych (%{drm_xfree_version}).
502
503 %package headers
504 Summary:        Header files for the Linux kernel
505 Summary(es):    Archivos de inclusión para núcleo (kernel) Linux.
506 Summary(pl):    Pliki nag³ówkowe j±dra
507 Summary(pt_BR): Arquivos de inclusão para o kernel Linux.
508 Group:          Base/Kernel
509 Requires(post,postun):  fileutils
510 Requires(postun):       awk
511 Provides:       %{name}-headers(agpgart) = %{version}
512 Provides:       %{name}-headers(reiserfs) = %{version}
513 Provides:       %{name}-headers(bridging) = %{version}
514 Provides:       i2c-devel = %{i2c_version}
515 Provides:       %{name}-headers(netfilter) = 1.2.9-%{netfilter_snap}
516 AutoReqProv:    no
517
518 %description headers
519 These are the C header files for the Linux kernel, which define
520 structures and constants that are needed when building most standard
521 programs under Linux, as well as to rebuild the kernel.
522
523 %description headers -l es
524 Estos son los archivos de inclusión C para núcleo (kernel) Linux, que define
525 estructuras y constantes que son necesarias a la construcción de la
526 mayoría de los programas en el Linux, como también para reconstruir
527 el núcleo (kernel).
528
529 %description headers -l pl
530 Pakiet zawiera pliki nag³ówkowe j±dra, niezbêdne do rekompilacji j±dra
531 oraz niektórych programów.
532
533 %description headers -l pt_BR
534 Estes são os arquivos de inclusão C para o kernel Linux, os
535 quais definem estruturas e constantes que são necessárias para
536 a construção da maioria dos programas no Linux, bem como para
537 reconstruir o próprio kernel.
538
539 %package source
540 Summary:        Kernel source tree
541 Summary(es):    Fuentes del núcleo (kernel) Linux
542 Summary(pl):    Kod ¼ród³owy j±dra Linuksa
543 Summary(pt_BR): Fontes do kernel Linux
544 Group:          Base/Kernel
545 Requires:       %{name}-headers = %{version}-%{release}
546 %ifarch %{ix86}
547 Requires:       bin86
548 %endif
549 AutoReqProv:    no
550
551 %description source
552 This is the source code for the Linux kernel. It is required to build
553 most C programs as they depend on constants defined in here. You can
554 also build a custom kernel that is better tuned to your particular
555 hardware.
556
557 %description source -l de
558 Das Kernel-Source-Paket enthält den source code (C/Assembler-Code) des
559 Linux-Kernels. Die Source-Dateien werden gebraucht, um viele
560 C-Programme zu compilieren, da sie auf Konstanten zurückgreifen, die
561 im Kernel-Source definiert sind. Die Source-Dateien können auch
562 benutzt werden, um einen Kernel zu compilieren, der besser auf Ihre
563 Hardware ausgerichtet ist.
564
565 %description source -l es
566 Este es el fuente para el núcleo (kernel) Linux. Se necesita para la
567 construcción de la mayoría de los programas C, pues dependen de
568 constantes definidas en él. Tu puedes también construir un núcleo (kernel)
569 personalizado que será lo mejor configurado para tu hardware en
570 particular.
571
572 %description source -l fr
573 Le package pour le kernel-source contient le code source pour le noyau
574 linux. Ces sources sont nécessaires pour compiler la plupart des
575 programmes C, car il dépend de constantes définies dans le code
576 source. Les sources peuvent être aussi utilisée pour compiler un noyau
577 personnalisé pour avoir de meilleures performances sur des matériels
578 particuliers.
579
580 %description source -l pl
581 Pakiet zawiera kod ¼ród³owy j±dra systemu.
582
583 %description source -l pt_BR
584 Este é o fonte para o kernel Linux. É necessário para a
585 construção da maioria dos programas C, pois eles dependem de
586 constantes definidas nele. Você também pode construir um kernel
587 personalizado que será melhor configurado para seu hardware particular.
588
589 %package doc
590 Summary:        Kernel documentation
591 Summary(es):    Documentación para los archivos fuente del núcleo (kernel) de Linux
592 Summary(pl):    Dokumentacja do j±dra Linuksa
593 Summary(pt_BR): Documentação para os arquivos fontes do kernel Linux
594 Group:          Base/Kernel
595 Provides:       %{name}-doc = %{version}
596 AutoReqProv:    no
597
598 %description doc
599 This is the documentation for the Linux kernel, as found in
600 /usr/src/linux/Documentation directory.
601
602 %description doc -l es
603 Documentación para los archivos fuente del núcleo (kernel) de Linux
604
605 %description doc -l pl
606 Pakiet zawiera dokumentacjê j±dra z katalogu
607 /usr/src/linux/Documentation.
608
609 %description doc -l pt_BR
610 Este pacote contém documentação para o kernel Linux.
611
612 %prep
613 %setup -q -a3 -n linux-%{version}
614 # new JFS
615 rm -fr fs/jfs
616 gzip -dc %{SOURCE7} | tar -xf -
617 %patch0 -p1
618 %patch10 -p1
619 %patch12 -p1
620 %patch15 -p1
621 %patch20 -p1
622 %patch21 -p1
623 %patch22 -p1
624 %patch23 -p1
625 %patch24 -p1
626 %patch25 -p1
627 #%patch26 -p1
628 %patch32 -p1
629 # XXX: TODO - update patch
630 #%patch31 -p1
631 %patch40 -p1
632 %patch50 -p1
633 %patch55 -p1
634 %patch60 -p1
635 %patch61 -p1
636 %patch65 -p1
637 %patch70 -p1
638 %patch80 -p1
639 %patch100 -p1
640 %patch101 -p1
641 %patch102 -p1
642 %patch110 -p1
643 %patch120 -p1
644 %patch125 -p1
645 %patch130 -p1
646 #%patch150 -p1
647 %patch151 -p1
648 %patch152 -p1
649 %patch200 -p1
650 %patch205 -p1
651 %patch210 -p1
652 #%patch215 -p1
653 #%patch216 -p1
654 %patch225 -p1
655 %patch226 -p1
656 %patch227 -p1
657 %patch231 -p1
658 %patch235 -p1
659 %patch240 -p1
660 %patch255 -p1
661 %patch256 -p1
662 %patch257 -p1
663 %patch265 -p1
664 %patch275 -p1
665 %patch301 -p1
666 %patch302 -p1
667 %patch303 -p1
668 %patch950 -p1
669 %patch1000 -p1
670 %patch1002 -p1
671 %patch1003 -p1
672 %patch1006 -p1
673 %patch1007 -p1
674 #%patch1008 -p1
675 %patch1009 -p1
676 %patch1010 -p1
677 %patch1102 -p1
678 %patch1104 -p0
679 %patch1105 -p1
680 %patch1106 -p0
681 %patch1111 -p1
682 %patch1150 -p1
683 %patch1152 -p1
684 %patch1201 -p1
685 %patch1203 -p1
686 %patch1205 -p1
687 %patch1207 -p1
688 %patch1209 -p1
689 %patch1250 -p1
690 %patch1251 -p1
691 %patch1252 -p1
692 %patch1253 -p1
693 %patch1254 -p0
694 %patch1255 -p1
695 %patch1301 -p1
696 %patch1302 -p1
697 %patch1303 -p1
698 %patch1304 -p1
699 %patch1305 -p1
700 %patch1350 -p1
701 %patch1354 -p1
702 %patch1400 -p1
703 %patch1401 -p1
704 %patch1402 -p1
705 %patch1403 -p1
706 %patch1404 -p1
707 %patch1405 -p1
708 %patch1407 -p1
709 %patch1408 -p1
710 %patch1410 -p1
711 %patch1411 -p1
712 %patch1413 -p1
713 %patch1414 -p1
714 %patch1415 -p0
715 %patch1416 -p1
716 %patch1418 -p1
717 %patch1419 -p1
718 %patch1420 -p1
719 %patch1421 -p1
720
721 %patch2000 -p0
722 %patch2001 -p1
723 %patch2002 -p1
724 %patch2003 -p1
725 %ifarch ppc
726 %patch2004 -p1
727 %endif
728
729 %patch3000 -p1
730 %patch3002 -p1
731 %patch3003 -p1
732 %patch3004 -p1
733 cd drivers/char/drm
734 %patch3008 -p1
735 cd ../../..
736
737 %ifarch sparc64
738 %patch3010 -p1
739 %endif
740
741 %patch3011 -p1
742 %patch3012 -p1
743 %patch3013 -p1
744
745 %patch3500 -p1
746 %{?with_grsec:%patch4000 -p1}
747
748 mv -f drivers/scsi/sym53c8xx.c drivers/scsi/sym53c8xx_old.c
749
750 # Tekram DC395/315 U/UW SCSI host driver
751 echo Adding Tekram DC395/315 driver
752 patch -p1 -s < dc395/dc395-integ24.diff
753 install dc395/dc395x_trm.? dc395/README.dc395x drivers/scsi/
754 %patch270 -p1
755
756 # The following go last as they touch a lot of code
757 # and/or are on bcond and/or are ifarch
758
759 %ifarch %{ix86}
760 %if %{with win4lin}
761 echo Win4Lin patch ...
762 %patch900 -p1
763 %patch901 -p1
764 %endif
765 %endif
766
767 # Remove -g from drivers/atm/Makefile and net/ipsec/Makefile
768 echo -e ',s/EXTRA_CFLAGS.*-g//g\n,w' | ed net/ipsec/Makefile
769
770 # Fix EXTRAVERSION and CC in main Makefile
771 echo -e ',s/EXTRAVERSION =.*/EXTRAVERSION =/g\n,w' | ed Makefile
772 %ifarch sparc64
773 echo -e ',s/CC.*$(CROSS_COMPILE)gcc/CC          = sparc64-linux-gcc/g\n,w' | ed Makefile
774 %endif
775
776 %build
777 BuildKernel() {
778         %{?_debug:set -x}
779         # is this a special kernel we want to build?
780         BOOT=
781         smp=
782         [ "$1" = "BOOT" -o "$2" = "BOOT" ] && BOOT=yes
783         [ "$1" = "smp" -o "$2" = "smp" ] && smp=yes
784 %ifarch %{ix86}
785         if [ "$smp" = "yes" ]; then
786                 Config="ia32-smp"
787         else
788                 Config="ia32"
789         fi
790 %else
791         if [ "$smp" = "yes" ]; then
792                 Config="%{_target_cpu}-smp"
793         else
794                 Config="%{_target_cpu}"
795         fi
796 %endif
797         if [ "$BOOT" = "yes" ]; then
798                 KernelVer=%{version}-%{release}BOOT
799         else
800                 KernelVer=%{version}-%{release}$1
801         fi
802         echo "BUILDING THE NORMAL KERNEL $*..."
803 :> arch/%{base_arch}/defconfig
804         cat $RPM_SOURCE_DIR/kernel-$Config.config >> arch/%{base_arch}/defconfig
805 %ifarch i386
806         echo "CONFIG_M386=y" >> arch/%{base_arch}/defconfig
807 %endif
808 %ifarch i586
809         echo "CONFIG_M586=y" >> arch/%{base_arch}/defconfig
810 %endif
811 %ifarch i686
812         echo "CONFIG_M686=y" >> arch/%{base_arch}/defconfig
813 %endif
814 %ifarch athlon
815         echo "CONFIG_MK7=y" >> arch/%{base_arch}/defconfig
816 %endif
817         cat %{SOURCE1000} >> arch/%{base_arch}/defconfig
818         cat %{SOURCE1001} >> arch/%{base_arch}/defconfig
819
820 %ifarch sparc64
821         echo -e ',s/^CONFIG_FB_I810=.*/# CONFIG_FB_I810 is not set/g\n,w' | \
822                 ed arch/%{base_arch}/defconfig
823         echo -e ',s/CONFIG_IPSEC_AUTH_HMAC_SHA1=y/# CONFIG_IPSEC_AUTH_HMAC_SHA1 is not set/g\n,w' | \
824                 ed arch/%{base_arch}/defconfig
825 %endif
826
827         if [ "$BOOT" = "yes" ] ; then
828                 echo "# CONFIG_GRKERNSEC is not set" >> arch/%{base_arch}/defconfig
829         else
830                 :;
831 %if %{with grsec}
832                 echo -e ',s/CONFIG_CRYPTO_SHA256=m/CONFIG_CRYPTO_SHA256=y/g\n,w' | \
833                         ed arch/%{base_arch}/defconfig
834                 cat %{SOURCE1002} >> arch/%{base_arch}/defconfig
835 %endif
836         fi
837 %ifarch %{ix86}
838         cat %{SOURCE2000} >> arch/%{base_arch}/defconfig
839 %endif
840
841 %ifarch i386
842         echo -e ',s/# CONFIG_MATH_EMULATION is not set/CONFIG_MATH_EMULATION=y/g\n,w' | \
843                 ed arch/%{base_arch}/defconfig
844 %endif
845
846         %{__make} mrproper
847         ln -sf arch/%{base_arch}/defconfig .config
848
849 %ifarch sparc
850         sparc32 %{__make} oldconfig
851         sparc32 %{__make} dep clean
852 %else
853         %{__make} oldconfig
854         %{__make} dep clean
855 %endif
856         %{__make} include/linux/version.h
857
858 # making  table for soundmodem.
859         cd drivers/net/hamradio/soundmodem
860         %{__cc} -o gentbl -lm gentbl.c
861         ./gentbl
862         cd ../../../..
863
864 %ifarch %{ix86}
865         %{__make} bzImage
866 %endif
867 %ifarch sparc
868         sparc32 %{__make} boot
869 %else
870 %ifnarch %{ix86}
871         %{__make}
872 %endif
873 %endif
874 %ifarch sparc
875         sparc32 %{__make} modules
876 %else
877         %{__make} modules
878 %endif
879
880         mkdir -p $KERNEL_INSTALL_DIR/boot
881         install System.map $KERNEL_INSTALL_DIR/boot/System.map-$KernelVer
882 %ifarch %{ix86}
883         cp arch/i386/boot/bzImage $KERNEL_INSTALL_DIR/boot/vmlinuz-$KernelVer
884 %endif
885 %ifarch alpha sparc sparc64
886         gzip -cfv vmlinux > vmlinuz
887         install vmlinux $KERNEL_INSTALL_DIR/boot/vmlinux-$KernelVer
888         install vmlinuz $KERNEL_INSTALL_DIR/boot/vmlinuz-$KernelVer
889 %endif
890 %ifarch ppc
891         install vmlinux $KERNEL_INSTALL_DIR/boot/vmlinux-$KernelVer
892         install vmlinux $KERNEL_INSTALL_DIR/boot/vmlinuz-$KernelVer
893 %endif
894 %ifarch sparc
895         sparc32 %{__make} modules_install \
896         INSTALL_MOD_PATH=$KERNEL_INSTALL_DIR \
897         KERNELRELEASE=$KernelVer
898         echo KERNEL RELEASE $KernelVer
899 %else
900         %{__make} modules_install \
901         INSTALL_MOD_PATH=$KERNEL_INSTALL_DIR \
902         KERNELRELEASE=$KernelVer
903         echo KERNEL RELEASE $KernelVer
904 %endif
905         echo "CHECKING DEPENDENCIES FOR KERNEL MODULES"
906         depmod --basedir $KERNEL_INSTALL_DIR -ae -F $KERNEL_INSTALL_DIR/boot/System.map-$KernelVer $KernelVer || echo
907 }
908
909 KERNEL_BUILD_DIR=`pwd`
910 KERNEL_INSTALL_DIR=$KERNEL_BUILD_DIR-installed
911 rm -rf $KERNEL_INSTALL_DIR
912 install -d $KERNEL_INSTALL_DIR
913
914 # make drivers/scsi/ missing files
915 #       (cd drivers/scsi; make -f M)
916
917 # UP KERNEL
918 %{?with_up:BuildKernel}
919
920 # SMP KERNEL
921 %{?with_smp:BuildKernel smp}
922
923 %if ! %{with up} && ! %{with smp}
924 # We need include/asm created somewhere
925 make symlinks
926 %endif
927
928 # BOOT kernel
929 %ifnarch i586 i686 athlon
930 KERNEL_INSTALL_DIR="$KERNEL_BUILD_DIR-installed%{_libdir}/bootdisk"
931 rm -rf $KERNEL_INSTALL_DIR
932 %{?with_boot:BuildKernel BOOT}
933 %endif
934
935 %install
936 rm -rf $RPM_BUILD_ROOT
937 umask 022
938
939 install -d $RPM_BUILD_ROOT%{_prefix}/{include,src/linux-%{version}}
940
941 KERNEL_BUILD_DIR=`pwd`
942
943 KERNEL_BUILD_INSTALL=no
944 %{?with_up:KERNEL_BUILD_INSTALL=yes}
945 %{?with_smp:KERNEL_BUILD_INSTALL=yes}
946 [ "$KERNEL_BUILD_INSTALL" = "yes" ] && cp -a $KERNEL_BUILD_DIR-installed/* $RPM_BUILD_ROOT
947
948 for i in "" smp ; do
949         if [ -e  $RPM_BUILD_ROOT/lib/modules/%{version}-%{release}$i ] ; then
950                 rm -f $RPM_BUILD_ROOT/lib/modules/%{version}-%{release}$i/build
951                 ln -sf %{_prefix}/src/linux-%{version} \
952                         $RPM_BUILD_ROOT/lib/modules/%{version}-%{release}$i/build
953         fi
954 done
955 ln -sf ../src/linux/include/linux $RPM_BUILD_ROOT%{_includedir}/linux
956 ln -sf linux-%{version} $RPM_BUILD_ROOT%{_prefix}/src/linux
957
958 %ifarch sparc sparc64
959 ln -s /usr/src/linux/include/asm-sparc $RPM_BUILD_ROOT%{_includedir}/asm-sparc
960 ln -s ../src/linux/include/asm-sparc64 $RPM_BUILD_ROOT%{_includedir}/asm-sparc64
961 %else
962 ln -sf ../src/linux/include/asm $RPM_BUILD_ROOT/usr/include/asm
963 %endif
964
965 %if %{with source}
966 cp -a . $RPM_BUILD_ROOT/usr/src/linux-%{version}
967 %else
968 cp -a {include,scripts,Makefile,Rules.make,Documentation} $RPM_BUILD_ROOT/usr/src/linux-%{version}
969 %endif
970
971 %ifarch sparc sparc64
972 sh %{SOURCE2} $RPM_BUILD_ROOT%{_includedir}
973 cp -a %{SOURCE2} $RPM_BUILD_ROOT%{_includedir}/asm/BuildASM
974 %endif
975
976 cd $RPM_BUILD_ROOT%{_prefix}/src/linux-%{version}
977
978 # remove foreign architecture files
979 cd include
980 mkdir _asm_keep
981 mv asm-generic _asm_keep
982 %ifarch sparc sparc64
983         mv asm-sparc* _asm_keep
984 %else
985         mv `resolvesymlink asm 2> /dev/null || readlink asm 2> /dev/null` _asm_keep
986 %endif
987 rm -rf asm-*
988 mv _asm_keep/* .
989 rmdir _asm_keep
990 cd ..
991
992 %if %{with source}
993 MYARCH=%{_arch}
994 %ifarch %{ix86}
995 MYARCH=i386
996 %endif
997 %ifarch sparc sparc64
998 MYARCH="sparc sparc64"
999 %endif
1000 cd arch
1001 mv $MYARCH ..
1002 cd ..
1003 rm -rf arch/*
1004 mv $MYARCH arch
1005 %endif
1006
1007 %if %{with source}
1008 %{__make} mrproper
1009
1010 find  -name "*~" -print | xargs rm -f
1011 find  -name "*.orig" -print | xargs rm -f
1012
1013 %ifarch %{ix86}
1014 cat $RPM_SOURCE_DIR/kernel-ia32.config > .config
1015 %else
1016 install $RPM_SOURCE_DIR/kernel-%{_target_cpu}.config .config
1017 %endif
1018
1019 %ifarch i386
1020 echo "CONFIG_M386=y" >> .config
1021 %endif
1022 %ifarch i586
1023 echo "CONFIG_M586=y" >> .config
1024 %endif
1025 %ifarch i686
1026 echo "CONFIG_M686=y" >> .config
1027 %endif
1028 %ifarch athlon
1029 echo "CONFIG_MK7=y" >> .config
1030 %endif
1031 cat %{SOURCE1000} >> .config
1032 cat %{SOURCE1001} >> .config
1033 %{?with_grsec:cat %{SOURCE1002} >> .config}
1034
1035 %ifarch sparc64
1036         echo -e ',s/^CONFIG_FB_I810=.*/# CONFIG_FB_I810 is not set/g\n,w' | \
1037                 ed .config
1038         echo -e ',s/CONFIG_IPSEC_AUTH_HMAC_SHA1=y/# CONFIG_IPSEC_AUTH_HMAC_SHA1 is not set/g\n,w' | \
1039                 ed .config
1040 %endif
1041
1042 %ifarch %{ix86}
1043 cat %{SOURCE2000} >> .config
1044 %endif
1045
1046 %ifarch sparc
1047 sparc32 %{__make} oldconfig
1048 %else
1049 %{__make} oldconfig
1050 %endif
1051
1052 mv include/linux/autoconf.h include/linux/autoconf-up.h
1053 cp .config config-up
1054
1055 %ifarch %{ix86}
1056 cat $RPM_SOURCE_DIR/kernel-ia32-smp.config >> .config
1057 %else
1058 install $RPM_SOURCE_DIR/kernel-%{_target_cpu}-smp.config .config
1059 %endif
1060
1061 %ifarch i386
1062 echo "CONFIG_M386=y" >> .config
1063 %endif
1064 %ifarch i586
1065 echo "CONFIG_M586=y" >> .config
1066 %endif
1067 %ifarch i686
1068 echo "CONFIG_M686=y" >> .config
1069 %endif
1070 %ifarch athlon
1071 echo "CONFIG_MK7=y" >> .config
1072 %endif
1073
1074 cat %{SOURCE1000} >> .config
1075 cat %{SOURCE1001} >> .config
1076 %{?with_grsec:cat %{SOURCE1002} >> .config}
1077
1078 %ifarch sparc64
1079         echo -e ',s/^CONFIG_FB_I810=.*/# CONFIG_FB_I810 is not set/g\n,w' | \
1080                 ed .config
1081         echo -e ',s/CONFIG_IPSEC_AUTH_HMAC_SHA1=y/# CONFIG_IPSEC_AUTH_HMAC_SHA1 is not set/g\n,w' | \
1082                 ed .config
1083 %endif
1084
1085 %ifarch %{ix86}
1086 cat %{SOURCE2000} >> .config
1087 %endif
1088
1089 %ifarch sparc
1090 sparc32 %{__make} oldconfig
1091 %else
1092 %{__make} oldconfig
1093 %endif
1094 mv include/linux/autoconf.h include/linux/autoconf-smp.h
1095 cp .config config-smp
1096 %endif
1097
1098 install %{SOURCE1} $RPM_BUILD_ROOT/usr/src/linux-%{version}/include/linux/autoconf.h
1099
1100 %if %{with source}
1101 # this generates modversions info which we want to include and we may as
1102 # well include the depends stuff as well
1103 %{__make} symlinks
1104 %{__make} include/linux/version.h
1105 #%{__make} "`pwd`/include/linux/modversions.h"
1106 %endif
1107 rm -f include/linux/modversions.h
1108 echo "#include <linux/modsetver.h>" > include/linux/modversions.h
1109
1110
1111 # this generates modversions info which we want to include and we may as
1112 # well include the depends stuff as well, after we fix the paths
1113
1114 %if %{with source}
1115 %{__make} depend
1116 find $RPM_BUILD_ROOT/usr/src/linux-%{version} -name ".*depend" \
1117         -exec /bin/sh -c "echo -e \",s|$RPM_BUILD_ROOT||g\n,w\" | ed {}" \;
1118
1119 %{__make} clean
1120 rm -f scripts/mkdep
1121 rm -f drivers/net/hamradio/soundmodem/gentbl
1122 %endif
1123
1124 # BOOT
1125 %if %{with boot}
1126 %ifnarch i586 i686 athlon
1127 install -d $RPM_BUILD_ROOT%{_libdir}/bootdisk
1128 cp -rdp $KERNEL_BUILD_DIR-installed%{_libdir}/bootdisk/* $RPM_BUILD_ROOT%{_libdir}/bootdisk
1129 %endif
1130 %endif
1131
1132 %clean
1133 rm -rf $RPM_BUILD_ROOT
1134 rm -rf $RPM_BUILD_DIR/linux-%{version}-installed
1135
1136 %post
1137 mv -f /boot/vmlinuz /boot/vmlinuz.old 2> /dev/null > /dev/null
1138 mv -f /boot/System.map /boot/System.map.old 2> /dev/null > /dev/null
1139 ln -sf vmlinuz-%{version}-%{release} /boot/vmlinuz
1140 ln -sf System.map-%{version}-%{release} /boot/System.map
1141
1142 if [ ! -L /lib/modules/%{version} ] ; then
1143         mv -f /lib/modules/%{version} /lib/modules/%{version}.rpmsave > /dev/null 2>&1
1144 fi
1145 rm -f /lib/modules/%{version}
1146 ln -snf %{version}-%{release} /lib/modules/%{version}
1147 /sbin/depmod -a -F /boot/System.map-%{version}-%{release} %{version}-%{release}
1148
1149 /sbin/geninitrd -f --initrdfs=rom /boot/initrd-%{version}-%{release}.gz %{version}-%{release}
1150 mv -f /boot/initrd /boot/initrd.old
1151 ln -sf initrd-%{version}-%{release}.gz /boot/initrd
1152
1153 if [ -f %{_prefix}/src/linux-%{version}/config-up ] ; then
1154         ln -s %{_prefix}/src/linux-%{version}/config-up %{_prefix}/src/linux-%{version}/.config
1155 fi
1156
1157 if [ -x /sbin/rc-boot ] ; then
1158         /sbin/rc-boot 1>&2 || :
1159 fi
1160
1161 %post smp
1162 mv -f /boot/vmlinuz /boot/vmlinuz.old 2> /dev/null > /dev/null
1163 mv -f /boot/System.map /boot/System.map.old 2> /dev/null > /dev/null
1164 ln -sf vmlinuz-%{version}-%{release}smp /boot/vmlinuz
1165 ln -sf System.map-%{version}-%{release}smp /boot/System.map
1166
1167 if [ ! -L /lib/modules/%{version} ] ; then
1168         mv -f /lib/modules/%{version} /lib/modules/%{version}.rpmsave > /dev/null 2>&1
1169 fi
1170 rm -f /lib/modules/%{version}
1171 ln -snf %{version}-%{release}smp /lib/modules/%{version}
1172 /sbin/depmod -a -F /boot/System.map-%{version}-%{release}smp %{version}-%{release}smp
1173
1174 /sbin/geninitrd -f --initrdfs=rom /boot/initrd-%{version}-%{release}smp.gz %{version}-%{release}smp
1175 mv -f /boot/initrd /boot/initrd.old
1176 ln -sf initrd-%{version}-%{release}smp.gz /boot/initrd
1177
1178 if [ -f %{_prefix}/src/linux-%{version}/config-smp ] ; then
1179         ln -s %{_prefix}/src/linux-%{version}/config-smp %{_prefix}/src/linux-%{version}/.config
1180 fi
1181
1182 if [ -x /sbin/rc-boot ] ; then
1183         /sbin/rc-boot 1>&2 || :
1184 fi
1185
1186 %post BOOT
1187 if [ ! -L %{_libdir}/bootdisk/lib/modules/%{version} ] ; then
1188         mv -f %{_libdir}/bootdisk/lib/modules/%{version} %{_libdir}/bootdisk/lib/modules/%{version}.rpmsave
1189 fi
1190 if [ ! -L %{_libdir}/bootdisk/boot/vmlinuz-%{version} ] ; then
1191         mv -f %{_libdir}/bootdisk/boot/vmlinuz-%{version} %{_libdir}/bootdisk/boot/vmlinuz-%{version}.rpmsave
1192 fi
1193 rm -f %{_libdir}/bootdisk/lib/modules/%{version}
1194 ln -snf %{version}-%{release}BOOT %{_libdir}/bootdisk/lib/modules/%{version}
1195 rm -f %{_libdir}/bootdisk/boot/vmlinuz-%{version}
1196 ln -snf vmlinuz-%{version}-%{release}BOOT %{_libdir}/bootdisk/boot/vmlinuz-%{version}
1197
1198 %postun
1199 if [ -L /lib/modules/%{version} ]; then
1200         if [ "`ls -l /lib/modules/%{version} | awk '{ print $11 }'`" = "%{version}-%{release}" ]; then
1201                 if [ "$1" = "0" ]; then
1202                         rm -f /lib/modules/%{version}
1203                 fi
1204         fi
1205 fi
1206 rm -f /boot/initrd-%{version}-%{release}.gz
1207
1208 %post pcmcia
1209 /sbin/depmod -a -F /boot/System.map-%{version}-%{release} %{version}-%{release}
1210
1211 %postun pcmcia
1212 /sbin/depmod -a -F /boot/System.map-%{version}-%{release} %{version}-%{release} > /dev/null 2>&1
1213
1214 %post drm
1215 /sbin/depmod -a -F /boot/System.map-%{version}-%{release} %{version}-%{release}
1216
1217 %postun drm
1218 /sbin/depmod -a -F /boot/System.map-%{version}-%{release} %{version}-%{release} > /dev/null 2>&1
1219
1220 %postun smp
1221 if [ -L /lib/modules/%{version} ]; then
1222         if [ "`ls -l /lib/modules/%{version} | awk '{ print $11 }'`" = "%{version}-%{release}smp" ]; then
1223                 if [ "$1" = "0" ]; then
1224                         rm -f /lib/modules/%{version}
1225                 fi
1226         fi
1227 fi
1228 rm -f /boot/initrd-%{version}-%{release}smp.gz
1229
1230 %post smp-pcmcia
1231 /sbin/depmod -a -F /boot/System.map-%{version}-%{release}smp %{version}-%{release}smp
1232
1233 %postun smp-pcmcia
1234 /sbin/depmod -a -F /boot/System.map-%{version}-%{release}smp %{version}-%{release}smp > /dev/null 2>&1
1235
1236 %post smp-drm
1237 /sbin/depmod -a -F /boot/System.map-%{version}-%{release}smp %{version}-%{release}smp
1238
1239 %postun smp-drm
1240 /sbin/depmod -a -F /boot/System.map-%{version}-%{release}smp %{version}-%{release}smp > /dev/null 2>&1
1241
1242 %postun BOOT
1243 if [ -L %{_libdir}/bootdisk/lib/modules/%{version} ]; then
1244         if [ "`ls -l %{_libdir}/bootdisk/lib/modules/%{version} | awk '{ print $11 }'`" = "%{version}-%{release}BOOT" ]; then
1245                 if [ "$1" = "0" ]; then
1246                         rm -f %{_libdir}/bootdisk/lib/modules/%{version}
1247                 fi
1248         fi
1249 fi
1250
1251 %post headers
1252 rm -f /usr/src/linux
1253 ln -snf linux-%{version} /usr/src/linux
1254
1255 %postun headers
1256 if [ -L /usr/src/linux ]; then
1257         if [ "`ls -l /usr/src/linux | awk '{ print $11 }'`" = "linux-%{version}" ]; then
1258                 if [ "$1" = "0" ]; then
1259                         rm -f /usr/src/linux
1260                 fi
1261         fi
1262 fi
1263
1264 %if %{with up}
1265 %files
1266 %defattr(644,root,root,755)
1267 %ifarch alpha sparc sparc64 ppc
1268 /boot/vmlinux-%{version}-%{release}
1269 %endif
1270 /boot/vmlinuz-%{version}-%{release}
1271 /boot/System.map-%{version}-%{release}
1272 %dir /lib/modules/%{version}-%{release}
1273 /lib/modules/%{version}-%{release}/kernel
1274 %ifnarch sparc sparc64
1275 %exclude /lib/modules/%{version}-%{release}/kernel/drivers/pcmcia
1276 %exclude /lib/modules/%{version}-%{release}/kernel/drivers/ide/legacy/*-cs.o*
1277 %exclude /lib/modules/%{version}-%{release}/kernel/drivers/mtd/maps/pcmcia*
1278 %exclude /lib/modules/%{version}-%{release}/kernel/drivers/net/pcmcia
1279 %exclude /lib/modules/%{version}-%{release}/kernel/drivers/scsi/pcmcia
1280 %exclude /lib/modules/%{version}-%{release}/kernel/drivers/char/pcmcia
1281 %exclude /lib/modules/%{version}-%{release}/kernel/drivers/net/wireless/*_cs.o*
1282 %exclude /lib/modules/%{version}-%{release}/kernel/drivers/parport/*_cs.o*
1283 %exclude /lib/modules/%{version}-%{release}/kernel/drivers/bluetooth/*_cs.o*
1284 %endif
1285 %ifnarch ppc sparc sparc64
1286 %exclude /lib/modules/%{version}-%{release}/kernel/drivers/isdn/hisax/*_cs.o*
1287 %ifnarch alpha
1288 %exclude /lib/modules/%{version}-%{release}/kernel/drivers/isdn/avmb1/avm_cs.o*
1289 %exclude /lib/modules/%{version}-%{release}/kernel/drivers/telephony/*_pcmcia.o*
1290 %endif
1291 %endif
1292 %ifnarch sparc
1293 %exclude /lib/modules/%{version}-%{release}/kernel/drivers/char/drm
1294 %endif
1295 /lib/modules/%{version}-%{release}/build
1296 %ghost /lib/modules/%{version}-%{release}/modules.*
1297
1298 %ifnarch sparc sparc64
1299 %files pcmcia
1300 %defattr(644,root,root,755)
1301 /lib/modules/%{version}-%{release}/kernel/drivers/pcmcia
1302 /lib/modules/%{version}-%{release}/kernel/drivers/ide/legacy/*-cs.o*
1303 /lib/modules/%{version}-%{release}/kernel/drivers/mtd/maps/pcmcia*
1304 /lib/modules/%{version}-%{release}/kernel/drivers/net/pcmcia
1305 /lib/modules/%{version}-%{release}/kernel/drivers/scsi/pcmcia
1306 /lib/modules/%{version}-%{release}/kernel/drivers/char/pcmcia
1307 /lib/modules/%{version}-%{release}/kernel/drivers/net/wireless/*_cs.o*
1308 /lib/modules/%{version}-%{release}/kernel/drivers/parport/*_cs.o*
1309 /lib/modules/%{version}-%{release}/kernel/drivers/bluetooth/*_cs.o*
1310 %ifnarch ppc
1311 /lib/modules/%{version}-%{release}/kernel/drivers/isdn/hisax/*_cs.o*
1312 %ifnarch alpha
1313 /lib/modules/%{version}-%{release}/kernel/drivers/isdn/avmb1/avm_cs.o*
1314 /lib/modules/%{version}-%{release}/kernel/drivers/telephony/*_pcmcia.o*
1315 %endif
1316 %endif
1317 %endif
1318
1319 %ifnarch sparc
1320 %files drm
1321 %defattr(644,root,root,755)
1322 /lib/modules/%{version}-%{release}/kernel/drivers/char/drm
1323 %endif                  # %%{with up}
1324 %endif
1325
1326 %if %{with smp}
1327 %files smp
1328 %defattr(644,root,root,755)
1329 %ifarch alpha sparc sparc64 ppc
1330 /boot/vmlinux-%{version}-%{release}smp
1331 %endif
1332 /boot/vmlinuz-%{version}-%{release}smp
1333 /boot/System.map-%{version}-%{release}smp
1334 %dir /lib/modules/%{version}-%{release}smp
1335 /lib/modules/%{version}-%{release}smp/kernel
1336 %ifnarch sparc sparc64
1337 %exclude /lib/modules/%{version}-%{release}smp/kernel/drivers/pcmcia
1338 %exclude /lib/modules/%{version}-%{release}smp/kernel/drivers/ide/legacy/*-cs.o*
1339 %exclude /lib/modules/%{version}-%{release}smp/kernel/drivers/mtd/maps/pcmcia*
1340 %exclude /lib/modules/%{version}-%{release}smp/kernel/drivers/net/pcmcia
1341 %exclude /lib/modules/%{version}-%{release}smp/kernel/drivers/scsi/pcmcia
1342 %exclude /lib/modules/%{version}-%{release}smp/kernel/drivers/char/pcmcia
1343 %exclude /lib/modules/%{version}-%{release}smp/kernel/drivers/net/wireless/*_cs.o*
1344 %exclude /lib/modules/%{version}-%{release}smp/kernel/drivers/parport/*_cs.o*
1345 %exclude /lib/modules/%{version}-%{release}smp/kernel/drivers/bluetooth/*_cs.o*
1346 %endif
1347 %ifnarch ppc sparc sparc64
1348 %exclude /lib/modules/%{version}-%{release}smp/kernel/drivers/isdn/hisax/*_cs.o*
1349 %ifnarch alpha
1350 %exclude /lib/modules/%{version}-%{release}smp/kernel/drivers/isdn/avmb1/avm_cs.o*
1351 %exclude /lib/modules/%{version}-%{release}smp/kernel/drivers/telephony/*_pcmcia.o*
1352 %endif
1353 %endif
1354 %ifnarch sparc
1355 %exclude /lib/modules/%{version}-%{release}smp/kernel/drivers/char/drm
1356 %endif
1357 /lib/modules/%{version}-%{release}smp/build
1358 %ghost /lib/modules/%{version}-%{release}smp/modules.*
1359
1360 %ifnarch sparc sparc64
1361 %files -n kernel-smp-pcmcia
1362 %defattr(644,root,root,755)
1363 /lib/modules/%{version}-%{release}smp/kernel/drivers/pcmcia
1364 /lib/modules/%{version}-%{release}smp/kernel/drivers/ide/legacy/*-cs.o*
1365 /lib/modules/%{version}-%{release}smp/kernel/drivers/mtd/maps/pcmcia*
1366 /lib/modules/%{version}-%{release}smp/kernel/drivers/net/pcmcia
1367 /lib/modules/%{version}-%{release}smp/kernel/drivers/scsi/pcmcia
1368 /lib/modules/%{version}-%{release}smp/kernel/drivers/char/pcmcia
1369 /lib/modules/%{version}-%{release}smp/kernel/drivers/net/wireless/*_cs.o*
1370 /lib/modules/%{version}-%{release}smp/kernel/drivers/parport/*_cs.o*
1371 /lib/modules/%{version}-%{release}smp/kernel/drivers/bluetooth/dtl1_cs.o*
1372 %ifnarch ppc
1373 /lib/modules/%{version}-%{release}smp/kernel/drivers/isdn/hisax/*_cs.o*
1374 %ifnarch alpha
1375 /lib/modules/%{version}-%{release}smp/kernel/drivers/isdn/avmb1/avm_cs.o*
1376 /lib/modules/%{version}-%{release}smp/kernel/drivers/telephony/*_pcmcia.o*
1377 %endif
1378 %endif
1379 %endif
1380
1381 %ifnarch sparc
1382 %files -n kernel-smp-drm
1383 %defattr(644,root,root,755)
1384 /lib/modules/%{version}-%{release}smp/kernel/drivers/char/drm
1385 %endif                  # %%{with smp}
1386 %endif
1387
1388 %if %{with boot}
1389 %ifnarch i586 i686 athlon               # narch
1390 %files BOOT
1391 %defattr(644,root,root,755)
1392 %ifarch alpha sparc sparc64 ppc         # arch
1393 %{_libdir}/bootdisk/boot/vmlinux-%{version}-%{release}BOOT
1394 %endif                          #arch
1395 %{_libdir}/bootdisk/boot/vmlinuz-%{version}-%{release}BOOT
1396 %{_libdir}/bootdisk/boot/System.map-%{version}-%{release}BOOT
1397 %dir %{_libdir}/bootdisk/lib/modules/%{version}-%{release}BOOT
1398 %{_libdir}/bootdisk/lib/modules/%{version}-%{release}BOOT/kernel
1399 %{_libdir}/bootdisk/lib/modules/%{version}-%{release}BOOT/build
1400 %ghost %{_libdir}/bootdisk/lib/modules/%{version}-%{release}BOOT/modules.*
1401 %endif                          # narch
1402 %endif                          # %%{with boot}
1403
1404 %files headers
1405 %defattr(644,root,root,755)
1406 %dir %{_prefix}/src/linux-%{version}
1407 %{_prefix}/src/linux-%{version}/include
1408 %{!?with_kheaders:%{_includedir}/asm}
1409 %{!?with_kheaders:%{_includedir}/linux}
1410
1411 %if %{with doc}
1412 %files doc
1413 %defattr(644,root,root,755)
1414 %{_prefix}/src/linux-%{version}/Documentation
1415 %endif
1416
1417 %if %{with source}
1418 %files source
1419 %defattr(644,root,root,755)
1420 %{_prefix}/src/linux-%{version}/arch
1421 %{_prefix}/src/linux-%{version}/crypto
1422 %{_prefix}/src/linux-%{version}/drivers
1423 %{_prefix}/src/linux-%{version}/fs
1424 %{_prefix}/src/linux-%{version}/init
1425 %{?with_grsec:%{_prefix}/src/linux-%{version}/grsecurity}
1426 %{_prefix}/src/linux-%{version}/ipc
1427 #%{_prefix}/src/linux-%{version}/kdb
1428 %{_prefix}/src/linux-%{version}/kernel
1429 %{_prefix}/src/linux-%{version}/lib
1430 %{_prefix}/src/linux-%{version}/mm
1431 %{_prefix}/src/linux-%{version}/net
1432 %{_prefix}/src/linux-%{version}/scripts
1433 %{_prefix}/src/linux-%{version}/.config
1434 %{_prefix}/src/linux-%{version}/.depend
1435 %{_prefix}/src/linux-%{version}/.hdepend
1436 %{_prefix}/src/linux-%{version}/COPYING
1437 %{_prefix}/src/linux-%{version}/CREDITS
1438 %{_prefix}/src/linux-%{version}/MAINTAINERS
1439 %{_prefix}/src/linux-%{version}/Makefile
1440 %{_prefix}/src/linux-%{version}/README
1441 %{_prefix}/src/linux-%{version}/REPORTING-BUGS
1442 %{_prefix}/src/linux-%{version}/Rules.make
1443 %{_prefix}/src/linux-%{version}/config*
1444 %endif
This page took 0.16552 seconds and 4 git commands to generate.