Sophie

Sophie

distrib > Mandriva > 2011.0 > i586 > media > main-updates-src > by-pkgid > aaf643807516cbe7f89e39a79600b921 > files > 7

kernel-desktop-2.6.39.4-5.1.src.rpm

#
# Spec file generated by kdist version v0.0-11-ge072
#
%define name		kernel-desktop
%define version		2.6.39.4

%define src_uname_r	2.6.39.4-5
%define uname_r		2.6.39.4-5.1-desktop%{nil}

%define source_release	5
%define build_release	1%{nil}

%define archive		kernel-desktop-2.6.39.4-5.1

%define build_srpm	1
%define no_source	1

%define source_path	/usr/src/linux-%{src_uname_r}

%define flavour		desktop

%define exclusive	%ix86 x86_64

%define build_devel	1
%define build_debug	1

%define kdevel_path	/usr/src/devel/%{uname_r}
%ifarch %ix86
%define asm		x86_32
%define asmarch		x86
%endif
%ifarch x86_64
%define asm		x86_64
%define asmarch		x86
%endif
Name:			%{name}
Version:		%{version}
Release:		%mkrel %{source_release}.%{build_release}
License:		GPLv2
URL:			http://www.kernel.org
ExclusiveArch:		%{exclusive}
BuildRoot:		%{_tmppath}/%{name}-%{version}-root

%if %build_debug
%global __debug_package	1
%endif

%define debug_package	%{nil}
%define __check_files	%{nil}

Source0:		%{archive}.tar.bz2
Source1:		2.6.39.4-5.1-desktop-x86_32-defconfig
Source2:		2.6.39.4-5.1-desktop-x86-develfiles.list
Source3:		2.6.39.4-5.1-desktop-x86_64-defconfig
Source4:		2.6.39.4-5.1-desktop-develfiles.list
Source5:		2.6.39.4-5.1-desktop-output-develfiles.list

Summary:		The Linux Kernel for Mandriva %{flavour} systems
Provides:		kernel = %{version}-%{release}
Group:			System/Kernel and hardware
Requires:		kernel-firmware
Requires(pre):		bootloader-utils
Requires(pre):		mkinitrd
Requires(pre):		module-init-tools
BuildRequires:		module-init-tools

%if %no_source
BuildRequires:		kernel-source = %{version}-%{mkrel %{source_release}}
%endif

%if %build_devel
%package devel
Summary:		The minimal Linux Kernel for building %{flavour} kernel modules
Provides:		kernel-devel = %{version}-%{release}
Group:			Development/Kernel
AutoReqProv:		no
%endif

%if %build_debug
%package debuginfo
Summary:		The debug information for the %{flavour} kernel
Provides:		kernel-debuginfo = %{version}-%{release}
Group:			Development/Debug
AutoReqProv:		no
%endif

%description -n %{name}

This kernel is compiled for desktop use, single or multiple
processor(s)/core(s), using HZ_1000, voluntary preempt, CFS cpu
scheduler and cfq i/o scheduler.  This kernel relies on in-kernel smp
alternatives to switch between up & smp mode depending on detected
hardware. To force the kernel to boot in single processor mode, use
the 'nosmp' boot parameter


%if %build_devel
%description -n %{name}-devel
This package provides headers, makefiles and a couple of others files
sufficient to build external modules for %{name}.
%endif

%if %build_debug
%description -n %{name}-debuginfo
This package provides the %{name}'s debug information required
by some binary object tools like kgdb, perf, etc...
%endif

%prep
%if %build_srpm
%setup -q -n %{archive}
cp %{_sourcedir}/%{uname_r}-%{asm}-defconfig .config

%if %no_source
make -C %{source_path} O=$(pwd) outputmakefile
%endif

# localversion is updated here so the user can increase
# the release number anytime.
echo -n .%{build_release} >localversion

%endif

%build
make oldconfig
# Sanity check uname_r (it can be modified)
test %{uname_r} = $(make -s kernelrelease)

%if %build_srpm
make %{?_smp_mflags}
%endif

%install
if grep -q CONFIG_MODULES=y .config
then
	#
	# Don't specify parallel jobs here since it may break modules
	# installation somehow...
	#
	make -s INSTALL_MOD_PATH=%{buildroot} modules_install

	#
	# Mark all kernel modules as executable so they will be
	# stripped and their corresponding debug info files will be
	# generated if needed.
	#
	find %{buildroot} -name \*.ko -exec chmod u+x {} \;
else
	mkdir -p %{buildroot}/lib/modules/%{uname_r}
fi
mkdir -p %{buildroot}/boot

# symlinks are always created.
ln -snf %{kdevel_path} %{buildroot}/lib/modules/%{uname_r}/build
ln -snf build %{buildroot}/lib/modules/%{uname_r}/source
%ifarch %ix86
cp arch/x86/boot/bzImage %{buildroot}/boot/vmlinuz-%{uname_r}
cp System.map %{buildroot}/boot/System.map-%{uname_r}
cp .config %{buildroot}/boot/config-%{uname_r}
%endif
%ifarch x86_64
cp arch/x86/boot/bzImage %{buildroot}/boot/vmlinuz-%{uname_r}
cp System.map %{buildroot}/boot/System.map-%{uname_r}
cp .config %{buildroot}/boot/config-%{uname_r}
%endif

%if %build_devel
mkdir -p %{buildroot}%{kdevel_path}

%if %no_source
cd source
%endif

for list in %{_sourcedir}/%{uname_r}{,-%asmarch}-develfiles.list; do
	tar -cf - --files-from=$list | tar -xf - -C %{buildroot}%{kdevel_path}
done

%if %no_source
cd -
%endif

list=%{_sourcedir}/%{uname_r}-output-develfiles.list
tar -cf - --files-from=$list | tar -xf - -C %{buildroot}%{kdevel_path}

# localversion might exist when generating a rpm package, in that case
# use it.
test -f localversion && cp localversion %{buildroot}%{kdevel_path}

make -C %{buildroot}%{kdevel_path} modules_prepare
%endif

%clean
rm -rf %{buildroot}

%post
%ifarch %ix86
/sbin/installkernel %{uname_r}
%endif
%ifarch x86_64
/sbin/installkernel %{uname_r}
%endif

%postun
%ifarch %ix86
/sbin/kernel_remove_initrd %{uname_r}
%endif
%ifarch x86_64
/sbin/kernel_remove_initrd %{uname_r}
%endif

%preun
%ifarch %ix86
/sbin/installkernel -R %{uname_r}
%endif
%ifarch x86_64
/sbin/installkernel -R %{uname_r}
%endif

%files -n %{name}
%defattr (-, root, root)
/boot
%dir /lib/modules
/lib/modules/%{uname_r}

%if %build_devel
%files -n %{name}-devel
%defattr (-, root, root)
%kdevel_path
%endif

%if %build_debug
%files -n %{name}-debuginfo -f debugfiles.list
%defattr (-, root, root)
%endif

%changelog
* Tue Jan 03 2012 Franck Bui <franck.bui@mandriva.com> 2.6.39.4-5.1-desktop
  + Mandriva Release v2.6.39.4-5
  + IFWLOG netfilter: fix return value of ipt_IFWLOG_checkentry()
  + mm: fix race between mremap and removing migration entry