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