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