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