Группа :: Система/Ядро и оборудование
Пакет: kernel-image-hpc
Главная Изменения Спек Патчи Sources Загрузить Gear Bugs and FR Repocop
Name: kernel-image-hpc
Version: 2.6.18
Release: alt1.M41.1
%define kernel_base_version %version
%define kernel_extra_version %nil
# Numeric extra version scheme developed by Alexander Bokovoy:
# 0.0.X -- preX
# 0.X.0 -- rcX
# 1.0.0 -- release
%define kernel_extra_version_numeric 1.0.0
%define krelease %release
%define flavour %( s='%name'; printf %%s "${s#kernel-image-}" )
%define base_flavour %( s='%flavour'; printf %%s "${s%%%%-*}" )
%define sub_flavour %( s='%flavour'; printf %%s "${s#*-}" )
# Build options
# You can change compiler version by editing this line:
%define kgcc_version 4.1
# Enable/disable SGML docs formatting
## Don't edit below this line ##################################
%define kversion %kernel_base_version%kernel_extra_version
%define modules_dir /lib/modules/%kversion-%flavour-%krelease
%define kheaders_dir %_prefix/include/linux-%kversion-%flavour
%define kbuild_dir %_prefix/src/linux-%kversion-%flavour-%krelease
%define old_kbuild_dir %_prefix/src/linux-%kversion-%flavour
Summary: The Linux kernel (the core of the Linux operating system)
License: GPL
Group: System/Kernel and hardware
Url: http://www.kernel.org/
Packager: Michail Yakushin <silicium at altlinux.ru>
Patch0: %name-%version-%release.patch
ExclusiveOS: Linux
BuildRequires(pre): rpm-build-kernel
BuildRequires: dev86 flex
BuildRequires: libdb4-devel
BuildRequires: gcc%kgcc_version
BuildRequires: kernel-source-%kernel_base_version = %kernel_extra_version_numeric
BuildRequires: module-init-tools >= 3.1
%if_enabled docs
BuildRequires: xmlto transfig ghostscript
%endif
%if_enabled ccache
BuildRequires: ccache
%endif
%ifdef use_ccache
BuildRequires: ccache
%endif
Requires: bootloader-utils >= 0.3-alt1
Requires: module-init-tools >= 3.1
Requires: mkinitrd >= 1:2.9.9-alt1
Requires: startup >= 0.8.3-alt1
Provides: kernel = %kversion
Prereq: coreutils
Prereq: module-init-tools >= 3.1
Prereq: mkinitrd >= 1:2.9.9-alt1
%description
This package contains the Linux kernel that is used to boot and run
your system.
Most hardware drivers for this kernel are built as modules. Some of
these drivers are built separately from the kernel; they are available
in separate packages (kernel-modules-*-%flavour).
This is special kernel built for HPC needs. In this kernel impruved support
of infiniband.
%package -n kernel-headers-%flavour
Summary: Header files for the Linux kernel
Group: Development/Kernel
Requires: kernel-headers-common >= 1.1.5
Provides: kernel-headers = %version
Provides: kernel-headers-%base_flavour = %version-%release
%description -n kernel-headers-%flavour
This package makes Linux kernel headers corresponding to the Linux
kernel package %name-%version-%release available for building
userspace programs (if this version of headers is selected by
adjust_kernel_headers).
Since Linux 2.6.18 the kernel build system supports creation of
sanitized kernel headers for use in userspace (by deleting headers
which are not usable in userspace and removing #ifdef __KERNEL__
blocks from installed headers). This package contains sanitized
headers instead of raw kernel headers which were present in some
previous versions of similar packages.
If possible, try to use glibc-kernheaders instead of this package.
%package -n kernel-headers-modules-%flavour
Summary: Headers and other files needed for building kernel modules
Group: Development/Kernel
Requires: gcc%kgcc_version
%description -n kernel-headers-modules-%flavour
This package contains header files, Makefiles and other parts of the
Linux kernel build system which are needed to build kernel modules for
the Linux kernel package %name-%version-%release.
If you need to compile a third-party kernel module for the Linux
kernel package %name-%version-%release, install this package
and specify %kbuild_dir as the kernel source
directory.
%prep
%setup -cT -n kernel-image-%flavour-%kversion-%krelease
rm -rf kernel-source-%kernel_base_version
tar -jxf %kernel_src/kernel-source-%kernel_base_version.tar.bz2
%setup -D -T -n kernel-image-%flavour-%kversion-%krelease/kernel-source-%kernel_base_version
%patch0 -p1
# this file should be usable both with make and sh (for broken modules
# which do not use the kernel makefile system)
echo 'export GCC_VERSION=%kgcc_version' > gcc_version.inc
subst 's/EXTRAVERSION[[:space:]]*=.*/EXTRAVERSION = %kernel_extra_version-%flavour-%krelease/g' Makefile
subst 's/CC.*$(CROSS_COMPILE)gcc/CC := $(shell echo $${GCC_USE_CCACHE:+ccache}) gcc-%kgcc_version/g' Makefile
# get rid of unwanted files resulting from patch fuzz
find . -name "*.orig" -delete -or -name "*~" -delete
%build
export ARCH=%base_arch
KernelVer=%kversion-%flavour-%krelease
echo "Building Kernel $KernelVer"
%make_build mrproper
cp -vf config-%_target_cpu .config
%make_build oldconfig
%make_build include/linux/version.h
%make_build bzImage
%make_build modules
echo "Kernel built $KernelVer"
%install
export ARCH=%base_arch
KernelVer=%kversion-%flavour-%krelease
install -Dp -m644 System.map %buildroot/boot/System.map-$KernelVer
install -Dp -m644 arch/%base_arch/boot/bzImage \
%buildroot/boot/vmlinuz-$KernelVer
install -Dp -m644 .config %buildroot/boot/config-$KernelVer
make modules_install INSTALL_MOD_PATH=%buildroot
install -d %buildroot%kbuild_dir
cp -a include %buildroot%kbuild_dir/include
# remove asm-* include files for other architectures
pushd %buildroot%kbuild_dir/include
for dir in asm-*; do
[ "$dir" = "asm-generic" ] && continue
[ "$dir" = "asm-%base_arch" ] && continue
rm -rf -- "$dir"
done
popd
# drivers-headers install
install -d %buildroot%kbuild_dir/drivers/scsi
install -d %buildroot%kbuild_dir/drivers/char/drm
install -d %buildroot%kbuild_dir/drivers/md
install -d %buildroot%kbuild_dir/drivers/media/dvb/dvb-core
install -d %buildroot%kbuild_dir/drivers/media/video/{bt8xx,cx88,saa7134}
install -d %buildroot%kbuild_dir/drivers/usb/core
cp -a drivers/scsi/{{scsi,hosts,scsi_typedefs}.h,scsi_module.c} \
%buildroot%kbuild_dir/drivers/scsi/
cp -a drivers/char/drm/{drm,drm_os_linux,drmP}.h \
%buildroot%kbuild_dir/drivers/char/drm/
cp -a drivers/md/dm*.h \
%buildroot%kbuild_dir/drivers/md/
cp -a drivers/media/dvb/dvb-core/*.h \
%buildroot%kbuild_dir/drivers/media/dvb/dvb-core/
cp -a drivers/media/video/btcx-risc.h \
%buildroot%kbuild_dir/drivers/media/video/
cp -a drivers/media/video/bt8xx/{bt848,bttv,bttvp}.h \
%buildroot%kbuild_dir/drivers/media/video/bt8xx/
cp -a drivers/media/video/cx88/{cx88,cx88-reg}.h \
%buildroot%kbuild_dir/drivers/media/video/cx88/
cp -a drivers/media/video/saa7134/{saa7134,saa7134-reg}.h \
%buildroot%kbuild_dir/drivers/media/video/saa7134/
cp -a drivers/usb/core/*.h \
%buildroot%kbuild_dir/drivers/usb/core/
# Install files required for building external modules (in addition to headers)
KbuildFiles="
Makefile
Module.symvers
arch/%base_arch/Makefile
arch/%base_arch/Makefile.cpu
scripts/pnmtologo
scripts/mod/modpost
scripts/mkmakefile
scripts/mkversion
scripts/mod/mk_elfconfig
scripts/kconfig/conf
scripts/mkcompile_h
scripts/makelst
scripts/Makefile.modpost
scripts/Makefile.modinst
scripts/Makefile.lib
scripts/Makefile.host
scripts/Makefile.clean
scripts/Makefile.build
scripts/Makefile
scripts/Kbuild.include
scripts/kallsyms
scripts/genksyms/genksyms
scripts/basic/fixdep
scripts/extract-ikconfig
scripts/conmakehash
scripts/checkversion.pl
scripts/checkincludes.pl
scripts/checkconfig.pl
scripts/bin2c
scripts/gcc-version.sh
.config
.kernelrelease
gcc_version.inc
"
for f in $KbuildFiles; do
[ -e "$f" ] || continue
[ -x "$f" ] && mode=755 || mode=644
install -Dp -m$mode "$f" %buildroot%kbuild_dir/"$f"
done
# Fix symlinks to kernel sources in /lib/modules
rm -f %buildroot%modules_dir/{build,source}
ln -s %kbuild_dir %buildroot%modules_dir/build
# Provide kbuild directory with old name (without %%krelease)
ln -s "$(relative %kbuild_dir %old_kbuild_dir)" %buildroot%old_kbuild_dir
# Provide kernel headers for userspace
make headers_install INSTALL_HDR_PATH=%buildroot%kheaders_dir
%post
%post_kernel_image %kversion-%flavour-%krelease
%preun
%preun_kernel_image %kversion-%flavour-%krelease
%post -n kernel-headers-%flavour
%post_kernel_headers %kversion-%flavour-%krelease
%postun -n kernel-headers-%flavour
%postun_kernel_headers %kversion-%flavour-%krelease
%files
/boot/vmlinuz-%kversion-%flavour-%krelease
/boot/System.map-%kversion-%flavour-%krelease
/boot/config-%kversion-%flavour-%krelease
%modules_dir
%exclude %modules_dir/build
%files -n kernel-headers-%flavour
%kheaders_dir
%files -n kernel-headers-modules-%flavour
%kbuild_dir
%old_kbuild_dir
%dir %modules_dir
%modules_dir/build
%changelog
…
Полный changelog можно просмотреть здесь
Version: 2.6.18
Release: alt1.M41.1
%define kernel_base_version %version
%define kernel_extra_version %nil
# Numeric extra version scheme developed by Alexander Bokovoy:
# 0.0.X -- preX
# 0.X.0 -- rcX
# 1.0.0 -- release
%define kernel_extra_version_numeric 1.0.0
%define krelease %release
%define flavour %( s='%name'; printf %%s "${s#kernel-image-}" )
%define base_flavour %( s='%flavour'; printf %%s "${s%%%%-*}" )
%define sub_flavour %( s='%flavour'; printf %%s "${s#*-}" )
# Build options
# You can change compiler version by editing this line:
%define kgcc_version 4.1
# Enable/disable SGML docs formatting
## Don't edit below this line ##################################
%define kversion %kernel_base_version%kernel_extra_version
%define modules_dir /lib/modules/%kversion-%flavour-%krelease
%define kheaders_dir %_prefix/include/linux-%kversion-%flavour
%define kbuild_dir %_prefix/src/linux-%kversion-%flavour-%krelease
%define old_kbuild_dir %_prefix/src/linux-%kversion-%flavour
Summary: The Linux kernel (the core of the Linux operating system)
License: GPL
Group: System/Kernel and hardware
Url: http://www.kernel.org/
Packager: Michail Yakushin <silicium at altlinux.ru>
Patch0: %name-%version-%release.patch
ExclusiveOS: Linux
BuildRequires(pre): rpm-build-kernel
BuildRequires: dev86 flex
BuildRequires: libdb4-devel
BuildRequires: gcc%kgcc_version
BuildRequires: kernel-source-%kernel_base_version = %kernel_extra_version_numeric
BuildRequires: module-init-tools >= 3.1
%if_enabled docs
BuildRequires: xmlto transfig ghostscript
%endif
%if_enabled ccache
BuildRequires: ccache
%endif
%ifdef use_ccache
BuildRequires: ccache
%endif
Requires: bootloader-utils >= 0.3-alt1
Requires: module-init-tools >= 3.1
Requires: mkinitrd >= 1:2.9.9-alt1
Requires: startup >= 0.8.3-alt1
Provides: kernel = %kversion
Prereq: coreutils
Prereq: module-init-tools >= 3.1
Prereq: mkinitrd >= 1:2.9.9-alt1
%description
This package contains the Linux kernel that is used to boot and run
your system.
Most hardware drivers for this kernel are built as modules. Some of
these drivers are built separately from the kernel; they are available
in separate packages (kernel-modules-*-%flavour).
This is special kernel built for HPC needs. In this kernel impruved support
of infiniband.
%package -n kernel-headers-%flavour
Summary: Header files for the Linux kernel
Group: Development/Kernel
Requires: kernel-headers-common >= 1.1.5
Provides: kernel-headers = %version
Provides: kernel-headers-%base_flavour = %version-%release
%description -n kernel-headers-%flavour
This package makes Linux kernel headers corresponding to the Linux
kernel package %name-%version-%release available for building
userspace programs (if this version of headers is selected by
adjust_kernel_headers).
Since Linux 2.6.18 the kernel build system supports creation of
sanitized kernel headers for use in userspace (by deleting headers
which are not usable in userspace and removing #ifdef __KERNEL__
blocks from installed headers). This package contains sanitized
headers instead of raw kernel headers which were present in some
previous versions of similar packages.
If possible, try to use glibc-kernheaders instead of this package.
%package -n kernel-headers-modules-%flavour
Summary: Headers and other files needed for building kernel modules
Group: Development/Kernel
Requires: gcc%kgcc_version
%description -n kernel-headers-modules-%flavour
This package contains header files, Makefiles and other parts of the
Linux kernel build system which are needed to build kernel modules for
the Linux kernel package %name-%version-%release.
If you need to compile a third-party kernel module for the Linux
kernel package %name-%version-%release, install this package
and specify %kbuild_dir as the kernel source
directory.
%prep
%setup -cT -n kernel-image-%flavour-%kversion-%krelease
rm -rf kernel-source-%kernel_base_version
tar -jxf %kernel_src/kernel-source-%kernel_base_version.tar.bz2
%setup -D -T -n kernel-image-%flavour-%kversion-%krelease/kernel-source-%kernel_base_version
%patch0 -p1
# this file should be usable both with make and sh (for broken modules
# which do not use the kernel makefile system)
echo 'export GCC_VERSION=%kgcc_version' > gcc_version.inc
subst 's/EXTRAVERSION[[:space:]]*=.*/EXTRAVERSION = %kernel_extra_version-%flavour-%krelease/g' Makefile
subst 's/CC.*$(CROSS_COMPILE)gcc/CC := $(shell echo $${GCC_USE_CCACHE:+ccache}) gcc-%kgcc_version/g' Makefile
# get rid of unwanted files resulting from patch fuzz
find . -name "*.orig" -delete -or -name "*~" -delete
%build
export ARCH=%base_arch
KernelVer=%kversion-%flavour-%krelease
echo "Building Kernel $KernelVer"
%make_build mrproper
cp -vf config-%_target_cpu .config
%make_build oldconfig
%make_build include/linux/version.h
%make_build bzImage
%make_build modules
echo "Kernel built $KernelVer"
%install
export ARCH=%base_arch
KernelVer=%kversion-%flavour-%krelease
install -Dp -m644 System.map %buildroot/boot/System.map-$KernelVer
install -Dp -m644 arch/%base_arch/boot/bzImage \
%buildroot/boot/vmlinuz-$KernelVer
install -Dp -m644 .config %buildroot/boot/config-$KernelVer
make modules_install INSTALL_MOD_PATH=%buildroot
install -d %buildroot%kbuild_dir
cp -a include %buildroot%kbuild_dir/include
# remove asm-* include files for other architectures
pushd %buildroot%kbuild_dir/include
for dir in asm-*; do
[ "$dir" = "asm-generic" ] && continue
[ "$dir" = "asm-%base_arch" ] && continue
rm -rf -- "$dir"
done
popd
# drivers-headers install
install -d %buildroot%kbuild_dir/drivers/scsi
install -d %buildroot%kbuild_dir/drivers/char/drm
install -d %buildroot%kbuild_dir/drivers/md
install -d %buildroot%kbuild_dir/drivers/media/dvb/dvb-core
install -d %buildroot%kbuild_dir/drivers/media/video/{bt8xx,cx88,saa7134}
install -d %buildroot%kbuild_dir/drivers/usb/core
cp -a drivers/scsi/{{scsi,hosts,scsi_typedefs}.h,scsi_module.c} \
%buildroot%kbuild_dir/drivers/scsi/
cp -a drivers/char/drm/{drm,drm_os_linux,drmP}.h \
%buildroot%kbuild_dir/drivers/char/drm/
cp -a drivers/md/dm*.h \
%buildroot%kbuild_dir/drivers/md/
cp -a drivers/media/dvb/dvb-core/*.h \
%buildroot%kbuild_dir/drivers/media/dvb/dvb-core/
cp -a drivers/media/video/btcx-risc.h \
%buildroot%kbuild_dir/drivers/media/video/
cp -a drivers/media/video/bt8xx/{bt848,bttv,bttvp}.h \
%buildroot%kbuild_dir/drivers/media/video/bt8xx/
cp -a drivers/media/video/cx88/{cx88,cx88-reg}.h \
%buildroot%kbuild_dir/drivers/media/video/cx88/
cp -a drivers/media/video/saa7134/{saa7134,saa7134-reg}.h \
%buildroot%kbuild_dir/drivers/media/video/saa7134/
cp -a drivers/usb/core/*.h \
%buildroot%kbuild_dir/drivers/usb/core/
# Install files required for building external modules (in addition to headers)
KbuildFiles="
Makefile
Module.symvers
arch/%base_arch/Makefile
arch/%base_arch/Makefile.cpu
scripts/pnmtologo
scripts/mod/modpost
scripts/mkmakefile
scripts/mkversion
scripts/mod/mk_elfconfig
scripts/kconfig/conf
scripts/mkcompile_h
scripts/makelst
scripts/Makefile.modpost
scripts/Makefile.modinst
scripts/Makefile.lib
scripts/Makefile.host
scripts/Makefile.clean
scripts/Makefile.build
scripts/Makefile
scripts/Kbuild.include
scripts/kallsyms
scripts/genksyms/genksyms
scripts/basic/fixdep
scripts/extract-ikconfig
scripts/conmakehash
scripts/checkversion.pl
scripts/checkincludes.pl
scripts/checkconfig.pl
scripts/bin2c
scripts/gcc-version.sh
.config
.kernelrelease
gcc_version.inc
"
for f in $KbuildFiles; do
[ -e "$f" ] || continue
[ -x "$f" ] && mode=755 || mode=644
install -Dp -m$mode "$f" %buildroot%kbuild_dir/"$f"
done
# Fix symlinks to kernel sources in /lib/modules
rm -f %buildroot%modules_dir/{build,source}
ln -s %kbuild_dir %buildroot%modules_dir/build
# Provide kbuild directory with old name (without %%krelease)
ln -s "$(relative %kbuild_dir %old_kbuild_dir)" %buildroot%old_kbuild_dir
# Provide kernel headers for userspace
make headers_install INSTALL_HDR_PATH=%buildroot%kheaders_dir
%post
%post_kernel_image %kversion-%flavour-%krelease
%preun
%preun_kernel_image %kversion-%flavour-%krelease
%post -n kernel-headers-%flavour
%post_kernel_headers %kversion-%flavour-%krelease
%postun -n kernel-headers-%flavour
%postun_kernel_headers %kversion-%flavour-%krelease
%files
/boot/vmlinuz-%kversion-%flavour-%krelease
/boot/System.map-%kversion-%flavour-%krelease
/boot/config-%kversion-%flavour-%krelease
%modules_dir
%exclude %modules_dir/build
%files -n kernel-headers-%flavour
%kheaders_dir
%files -n kernel-headers-modules-%flavour
%kbuild_dir
%old_kbuild_dir
%dir %modules_dir
%modules_dir/build
%changelog
…
Полный changelog можно просмотреть здесь