# _without_source - don't build source
# _without_doc - don't build documentation package
# _without_grsec - don't apply grsecurity patch
+# _without_kheaders - build without support for glibc-kernel-headers
#
%define base_arch %(echo %{_target_cpu} | sed 's/i.86/i386/;s/athlon/i386/')
%define no_install_post_strip 1
%define netfilter_snap 20030616
Summary: The Linux kernel (the core of the Linux operating system)
Summary(de): Der Linux-Kernel (Kern des Linux-Betriebssystems)
+Summary(es): Núcleo (Kernel) linux genérico
Summary(fr): Le Kernel-Linux (La partie centrale du systeme)
Summary(pl): J±dro Linuksa
+Summary(pt_BR): Kernel Linux (a parte central do sistema operacional Linux)
Name: kernel
Version: 2.4.21
-Release: 1.2
+Release: 1.3
License: GPL
Group: Base/Kernel
Source0: ftp://ftp.kernel.org/pub/linux/kernel/v2.4/linux-%{version}.tar.bz2
#Patch35: reiserfs-xattrs
#Patch36: reiserfs-acl
#Patch37: reiserfs-trusted
-# http://dl.sourceforge.net/squashfs/squashfs-1.1b.tar.gz
-Patch65: squashfs1.2-2.4.21-patch
+# http://dl.sourceforge.net/squashfs/squashfs-1.3.tar.gz
+Patch65: squashfs1.3-2.4.21-patch
#Patch70: linux-2.4.20-afs.patch.bz2
#from http://sci.felk.cvut.cz/nwd/linux/nwd-patch-2.4.19
Patch75: nwd-2.4.21.patch
Patch270: dc395-tab.patch
# http://www.qlogic.com/
Patch275: linux-2.4.20-qla2x00-v6.04.00-fo.patch.gz
-Patch280: ftp://ftp.lsil.com/pub/linux-megaraid/drivers/patches/megaraid-118f-118i.patch.gz
+# ftp://ftp.lsil.com/pub/linux-megaraid/drivers/version-1.18j/megaraid-v1.18j.tgz
+Patch280: %{name}-megaraid.patch
# The following go last as they touch a lot of code
# and/or are on bcond and/or are ifarch
#BuildRequires: %{kgcc_package}
%endif
BuildRequires: modutils
-Buildrequires: perl
-BuildRequires: sed >= 3.95
+BuildRequires: perl-base
Provides: %{name}-up = %{version}-%{release}
Provides: module-info
Provides: i2c = 2.7.0
Systemfunktionen verantwortlich: Speicherreservierung,
Prozeß-Management, Geräte Ein- und Ausgaben, usw.
+%description -l es
+Este paquete contiene núcleo (kernel) Linux que se usa para arranque y
+funcionamiento de tu sistema. Contiene soporte a pocos hardwares
+específicos. La mayoría de los hardwares son soportados, vía módulos
+que se cargan después del arranque.
+
%description -l fr
Le package kernel contient le kernel linux (vmlinuz), la partie
centrale d'un système d'exploitation Linux. Le noyau traite les
Twojego komputera. Zawiera w sobie sterowniki do sprzêtu znajduj±cego
siê w komputerze, takich jak karty muzyczne, sterowniki dysków, etc.
+%description -l pt_BR
+Este pacote contém o kernel Linux que é usado para inicialização
+e funcionamento de seu sistema. Contém suporte a poucos hardwares
+específicos. A maioria dos hardwares são suportados via módulos
+que são carregados após a inicialização.
+
%package smp
Summary: Kernel version %{version} compiled for SMP machines
Summary(de): Kernel version %{version} für Multiprozessor-Maschinen
+Summary(es): Núcleo (kernel) compilado para máquinas SMP
Summary(fr): Kernel version %{version} compiler pour les machine Multi-Processeur
Summary(pl): J±dro Linuksa %{version} skompilowane dla maszyn wieloprocesorowych
+Summary(pt_BR): Kernel compilado para máquinas SMP
Group: Base/Kernel
Provides: %{name}-smp = %{version}-%{release}
Provides: module-info
Prozessoren gebraucht, sollte aber auch auf Computern mit nur einer
CPU laufen.
+%description smp -l es
+Núcleo (kernel) compilado para máquinas SMP
+
%description smp -l fr
Ce package inclu une version SMP du noyau de Linux version %{version}.
Il et nécessaire seulement pour les machine avec deux processeurs ou
wymagane przez komputery zawieraj±ce dwa lub wiêcej procesorów.
Powinno równie¿ dobrze dzia³aæ na maszynach z jednym procesorem.
+%description smp -l pt_BR
+Este pacote inclui uma versão SMP do kernel Linux versão %{version}.
+Ele deve ser utilizado apenas em máquinas com dois ou mais processadores,
+apesar de trabalhar perfeitamente em máquinas com apenas um processador.
+
%package BOOT
Summary: Kernel version %{version} used on the installation boot disks
Summary(de): Kernel version %{version} für Installationsdisketten
+Summary(es): Núcleo (kernel) de Linux, utilizado en el disco de instalación
Summary(fr): Kernel version %{version} utiliser pour les disquettes d'installation
Summary(pl): J±dro Linuksa %{version} dla bootkietek instalacyjnych
+Summary(pt_BR): Kernel Linux utilizado no disco de instalação
Group: Base/Kernel
Prereq: modutils
Autoreqprov: no
installierten System verwendet werden, da viele Funktionen wegen der
Platzprobleme abgeschaltet sind.
+%description BOOT -l es
+Núcleo (kernel) de Linux, utilizado en el disco de instalación
+
%description BOOT -l pl
Pakiet zawiera j±dro Linuksa dedykowane dyskietkom startowym i powinno
byæ u¿ywane jedynie podczas instalacji systemu. Wiele u¿ytecznych
opcji zosta³o wy³±czonych, aby jak najbardziej zmniejszyæ jego
rozmiar.
+%description BOOT -l pt_BR
+Este pacote inclui uma versão minimizada do kernel Linux, criada para
+ser utilizada *apenas* no disco de instalação, e não deve ser utilizada
+em máquinas já instaladas, pois várias características do kernel
+são desabilitadas para diminuir o tamanho final do kernel a ser utilizado.
+
%package pcmcia-cs
Summary: PCMCIA-CS modules
Summary(pl): Modu³y PCMCIA-CS
%package headers
Summary: Header files for the Linux kernel
+Summary(es): Archivos de inclusión para núcleo (kernel) Linux.
Summary(pl): Pliki nag³ówkowe j±dra
+Summary(pt_BR): Arquivos de inclusão para o kernel Linux.
Group: Base/Kernel
Provides: %{name}-headers(agpgart) = %{version}
Provides: %{name}-headers(reiserfs) = %{version}
Provides: %{name}-headers(bridging) = %{version}
Provides: i2c-devel = 2.7.0
-Provides: %{name}(netfilter) = 1.2.8-%{netfilter_snap}
+Provides: %{name}-headers(netfilter) = 1.2.8-%{netfilter_snap}
Autoreqprov: no
%description headers
structures and constants that are needed when building most standard
programs under Linux, as well as to rebuild the kernel.
+%description headers -l es
+Estos son los archivos de inclusión C para núcleo (kernel) Linux, que define
+estructuras y constantes que son necesarias a la construcción de la
+mayoría de los programas en el Linux, como también para reconstruir
+el núcleo (kernel).
+
%description headers -l pl
Pakiet zawiera pliki nag³ówkowe j±dra, niezbêdne do rekompilacji j±dra
oraz niektórych programów.
+%description headers -l pt_BR
+Estes são os arquivos de inclusão C para o kernel Linux, os
+quais definem estruturas e constantes que são necessárias para
+a construção da maioria dos programas no Linux, bem como para
+reconstruir o próprio kernel.
+
%package source
Summary: Kernel source tree
+Summary(es): Fuentes del núcleo (kernel) Linux
Summary(pl): Kod ¼ród³owy j±dra Linuksa
+Summary(pt_BR): Fontes do kernel Linux
Group: Base/Kernel
Autoreqprov: no
Requires: %{name}-headers = %{version}-%{release}
benutzt werden, um einen Kernel zu compilieren, der besser auf Ihre
Hardware ausgerichtet ist.
+%description source -l es
+Este es el fuente para el núcleo (kernel) Linux. Se necesita para la
+construcción de la mayoría de los programas C, pues dependen de
+constantes definidas en él. Tu puedes también construir un núcleo (kernel)
+personalizado que será lo mejor configurado para tu hardware en
+particular.
+
%description source -l fr
Le package pour le kernel-source contient le code source pour le noyau
linux. Ces sources sont nécessaires pour compiler la plupart des
%description source -l pl
Pakiet zawiera kod ¼ród³owy j±dra systemu.
+%description source -l pt_BR
+Este é o fonte para o kernel Linux. É necessário para a
+construção da maioria dos programas C, pois eles dependem de
+constantes definidas nele. Você também pode construir um kernel
+personalizado que será melhor configurado para seu hardware particular.
+
%package doc
Summary: Kernel documentation
+Summary(es): Documentación para los archivos fuente del núcleo (kernel) de Linux
Summary(pl): Dokumentacja do j±dra Linuksa
+Summary(pt_BR): Documentação para os arquivos fontes do kernel Linux
Group: Base/Kernel
Provides: %{name}-doc = %{version}
Autoreqprov: no
This is the documentation for the Linux kernel, as found in
/usr/src/linux/Documentation directory.
+%description doc -l es
+Documentación para los archivos fuente del núcleo (kernel) de Linux
+
%description doc -l pl
Pakiet zawiera dokumentacjê j±dra z katalogu
/usr/src/linux/Documentation.
+%description doc -l pt_BR
+Este pacote contém documentação para o kernel Linux.
+
%prep
%setup -q -a3 -a8 -a9 -n linux-%{version}
cd hostap-2002-10-12
%patch255 -p1
%patch265 -p1
%patch275 -p1
-cd drivers/scsi
%patch280 -p1
-cd ../..
%patch1000 -p1
%patch1002 -p1
%patch1003 -p1
%endif
# Remove -g from drivers/atm/Makefile and net/ipsec/Makefile
-sed -i -e 's/EXTRA_CFLAGS.*//g' drivers/atm/Makefile
-sed -i -e 's/EXTRA_CFLAGS.*-g//g' net/ipsec/Makefile
+perl -pi -e 's/EXTRA_CFLAGS.*//g' drivers/atm/Makefile
+perl -pi -e 's/EXTRA_CFLAGS.*-g//g' net/ipsec/Makefile
# Fix EXTRAVERSION and CC in main Makefile
-sed -i -e 's/EXTRAVERSION =.*/EXTRAVERSION =/g' \
+perl -pi -e 's/EXTRAVERSION =.*/EXTRAVERSION =/g' Makefile
%ifarch sparc64
- -e 's/CC.*$(CROSS_COMPILE)gcc/CC = sparc64-linux-gcc/g' \
+perl -pi -e 's/CC.*$(CROSS_COMPILE)gcc/CC = sparc64-linux-gcc/g' Makefile
%endif
- Makefile
%build
BuildKernel() {
%endif
%ifarch i386
- sed -i -e 's/# CONFIG_MATH_EMULATION is not set/CONFIG_MATH_EMULATION=y/' \
+ perl -pi -e 's/# CONFIG_MATH_EMULATION is not set/CONFIG_MATH_EMULATION=y/' \
arch/%{base_arch}/defconfig
%endif
%if %{?_without_source:0}%{!?_without_source:1}
%{__make} depend
find $RPM_BUILD_ROOT/usr/src/linux-%{version} -name ".*depend" | \
- xargs sed -i -e "s|$RPM_BUILD_ROOT\(/usr/src/linux\)|\1|g"
+ xargs perl -pi -e "s|$RPM_BUILD_ROOT\(/usr/src/linux\)|\1|g"
%{__make} clean
rm -f scripts/mkdep
%defattr(644,root,root,755)
%dir %{_prefix}/src/linux-%{version}
%{_prefix}/src/linux-%{version}/include
-%{_includedir}/asm
-%{_includedir}/linux
+%{?_without_kheaders:%{_includedir}/asm}
+%{?_without_kheaders:%{_includedir}/linux}
%if %{?_without_doc:0}%{!?_without_doc:1}
%files doc